/* ============================================
   RYDO DYGNOSTIX — Partner & Admin Portal styles
   Uses the same brand tokens as the main site
   ============================================ */
:root{
  --teal: #168A9E;
  --teal-deep: #0A4F61;
  --teal-pale: #E4F2F3;
  --green: #6FBE44;
  --green-deep: #4D8F2C;
  --ink: #1E2A2E;
  --ink-soft: #5C6C70;
  --bg: #F6FAF9;
  --card: #FFFFFF;
  --line: #DCE9E8;
  --danger: #C84B3A;
  --font-display: "Sora", "Inter", sans-serif;
  --font-body: "Inter", sans-serif;
  --radius: 14px;
  --shadow: 0 8px 24px -8px rgba(10, 79, 97, 0.16);
}
*{box-sizing:border-box;}
body{margin:0; font-family:var(--font-body); color:var(--ink); background:var(--bg); line-height:1.6;}
h1,h2,h3{font-family:var(--font-display); margin:0 0 .4em; font-weight:600;}
a{color:var(--teal);}

.p-topbar{
  background:var(--teal-deep); color:#fff; padding:14px 20px;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
}
.p-topbar a, .p-topbar button{color:#fff; text-decoration:none;}
.p-topbar .brand{font-family:var(--font-display); font-weight:700; font-size:1.1rem;}
.p-topbar nav{display:flex; gap:16px; align-items:center; font-size:.92rem;}

.p-wrap{max-width:980px; margin:0 auto; padding:28px 20px 60px;}
.p-wrap.narrow{max-width:420px;}

.p-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px; margin-bottom:18px; box-shadow:var(--shadow);}

.p-wrap label{display:block; font-size:.85rem; font-weight:600; margin:14px 0 6px;}
.p-wrap input, .p-wrap select, .p-wrap textarea{
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:8px;
  font-size:1rem; font-family:var(--font-body); background:#fff;
}
.p-wrap input:focus, .p-wrap select:focus, .p-wrap textarea:focus{outline:2px solid var(--teal); outline-offset:1px;}

.p-wrap button.primary{
  margin-top:18px; background:var(--teal); color:#fff; border:none; padding:12px 18px;
  border-radius:8px; font-size:1rem; font-weight:600; cursor:pointer; width:100%;
}
.p-wrap button.primary:hover{background:var(--teal-deep);}
.p-wrap button.ghost{background:transparent; border:1px solid var(--line); padding:8px 14px; border-radius:8px; cursor:pointer; font-weight:600; font-size:.85rem; color:var(--ink);}

.p-msg{padding:10px 12px; border-radius:8px; font-size:.9rem; margin-top:12px;}
.p-msg.error{background:#fbeae7; color:var(--danger); border:1px solid #f0c8bd;}
.p-msg.success{background:#eaf5e3; color:var(--green-deep); border:1px solid #cbe8b8;}

.p-table{width:100%; border-collapse:collapse; font-size:.9rem;}
.p-table th, .p-table td{text-align:left; padding:9px 10px; border-bottom:1px solid var(--line);}
.p-table th{font-family:var(--font-display); font-size:.78rem; text-transform:uppercase; letter-spacing:.03em; color:var(--ink-soft);}
.p-table tr:hover td{background:var(--teal-pale);}

.p-stat-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; margin-bottom:20px;}
.p-stat{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:16px;}
.p-stat .num{font-family:var(--font-display); font-size:1.7rem; font-weight:700; color:var(--teal-deep);}
.p-stat .label{font-size:.78rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.03em;}

.p-tag{display:inline-block; padding:2px 9px; border-radius:99px; font-size:.72rem; font-weight:600; text-transform:uppercase; background:var(--teal-pale); color:var(--teal-deep);}

.p-footer{text-align:center; color:var(--ink-soft); font-size:.8rem; margin-top:30px;}

@media (max-width:560px){
  .p-topbar{padding:12px 14px;}
  .p-wrap{padding:20px 14px 50px;}
}
