:root{
  --portal-nav:#0f1b33;
  --portal-nav-active:#1e3a66;
  --portal-canvas:#f4f6fa;
  --portal-surface:#fff;
  --portal-line:#e6e9ef;
  --portal-ink:#111827;
  --portal-muted:#6b7280;
  --portal-blue:#2f6fdb;
  --portal-blue-soft:#eaf1ff;
  --portal-green:#1fa971;
  --portal-green-soft:#e7f6ef;
  --portal-amber:#d98a00;
  --portal-amber-soft:#fff4de;
  --portal-red:#d93b3b;
  --portal-radius:12px;
  --portal-control-radius:8px;
  --portal-shadow:0 1px 3px rgba(16,24,40,.06);
  --canvas:var(--portal-canvas);
  --paper:var(--portal-surface);
  --ink:var(--portal-ink);
  --muted:var(--portal-muted);
  --line:var(--portal-line);
  --soft:#f8f9fb;
  --shadow:var(--portal-shadow);
}
html,body{background:var(--portal-canvas);color:var(--portal-ink)}
body{background:var(--portal-canvas)}
.topbar{height:72px;background:var(--portal-nav);box-shadow:none;border-bottom:1px solid #263c60}
.topbar-inner{max-width:1180px}.brand-logo{width:42px;height:42px;border:0;border-radius:11px;background:#fff}
.brand b{font-size:15px}.brand small{color:#9fb0ca}
main{width:min(1180px,calc(100% - 32px));margin:30px auto}
.card,.hero{border:1px solid var(--portal-line);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow);background:var(--portal-surface)}
.auth-card{max-width:500px;padding:28px;margin-top:6vh}
.eyebrow{color:var(--portal-blue)}
h1{color:var(--portal-ink);font-size:clamp(25px,4vw,32px)}
h2{color:var(--portal-ink)}
p,small{color:var(--portal-muted)}
input,select,textarea{border-color:#d3d8e1;border-radius:var(--portal-control-radius);background:#fff}
input:focus,select:focus,textarea:focus{border-color:#8eb1ef;box-shadow:0 0 0 3px rgba(47,111,219,.13)}
.primary-button,.opportunity-tabs button.active{background:var(--portal-blue);box-shadow:none}
.primary-button:hover{background:#285fb9;box-shadow:0 5px 14px rgba(47,111,219,.2)}
.secondary-button{border-color:#cbdaf4;background:var(--portal-blue-soft);color:#2458ad}
.text-button{color:var(--portal-blue)}
.hero{padding:22px 24px;border-color:#cbdaf4;background:linear-gradient(120deg,#17365f,#285aa3)}
.hero:after{display:none}.hero .eyebrow{color:#cfe0ff}.hero p{color:#dbe7f8}
.tabs,.portal-tabs,.portal-secondary-menu{border-color:var(--portal-line);border-radius:var(--portal-radius);background:#fff;box-shadow:var(--portal-shadow)}
.tabs button{border-radius:var(--portal-control-radius);background:#f1f3f7;color:var(--portal-muted)}
.tabs button.active{background:var(--portal-nav-active);box-shadow:none;color:#fff}
.purchase-dashboard{padding:20px}.dashboard-stats{gap:12px}.dashboard-stats article,.dashboard-stats .curve-stat{border-color:var(--portal-line);border-radius:10px;background:#f8f9fb}
.product,.ean-panel,fieldset{border-color:var(--portal-line);border-radius:10px;background:#f8f9fb}
.purchase-table-wrap,.table-wrap{max-width:100%;overflow:auto;border-color:var(--portal-line);border-radius:10px;scrollbar-gutter:stable}
.purchase-table-wrap thead,.supplier-purchase-table th,.quotation-card th{background:#f8f9fb;color:var(--portal-muted);box-shadow:none}
.supplier-purchase-table td,.quotation-card td{border-bottom-color:var(--portal-line)}
.section-icon{background:var(--portal-blue-soft);color:var(--portal-blue)}
.badge,.supplier-status.active{background:var(--portal-green-soft);color:#11734c}
.error{color:var(--portal-red)}
@media(max-width:700px){
  .topbar-inner{padding:0 14px}main{width:min(100% - 24px,1180px);margin:18px auto}.auth-card{padding:22px 18px}
  .card,.hero{border-radius:11px}.hero{padding:20px}.purchase-dashboard{padding:15px}.section-head{align-items:flex-start;flex-direction:column}
}
