﻿:root{
  --bg:#F7F4EF;
  --panel:#ffffff;
  --ink:#15140F;
  --muted:#625F5E;
  --line:rgba(146,142,141,.26);
  --line-strong:rgba(146,142,141,.42);
  --accent:#F28915;
  --accent-2:#F28915;
  --dark:#15140F;
  --ok:#1f8f56;
  --warn:#b7791f;
  --danger:#b42318;
  --radius:8px;
  --font:Calibri,"Segoe UI",Arial,sans-serif;
  --display:"Microsoft Yi Baiti",Calibri,"Segoe UI",Arial,sans-serif;
  --mono:"Microsoft Yi Baiti",Calibri,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}
button,a{touch-action:manipulation}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:54px;width:auto}
.brand span{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.login__section-label{font-family:var(--mono);font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}
.portal-nav{position:fixed;top:18px;right:24px;z-index:20;display:flex;gap:8px;align-items:center}
.portal-nav a{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:999px;color:var(--ink);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:10px 13px;box-shadow:0 10px 28px rgba(17,24,39,.06)}
.portal-nav a[aria-current="page"]{background:var(--dark);border-color:var(--dark);color:#fff}

.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);background:var(--panel)}
.login__visual{padding:44px;display:flex;flex-direction:column;justify-content:space-between;background:
  linear-gradient(120deg,rgba(179,86,9,.16),transparent 38%),
  radial-gradient(circle at 80% 18%,rgba(233,121,19,.18),transparent 34%),
  var(--bg)}
.login__copy{max-width:760px}
.login__copy h1,.support h1{font-family:var(--display);font-size:clamp(48px,8vw,104px);line-height:.92;font-weight:400;margin:0 0 24px}
.login__copy p,.support p,.hero-card p{font-size:17px;line-height:1.65;color:var(--muted);max-width:720px}
.login__metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);max-width:720px}
.login__metrics div{background:rgba(255,255,255,.72);padding:22px}
.login__metrics strong{font-family:var(--display);font-size:38px;display:block;line-height:1}
.login__metrics span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.login__form{padding:48px;display:flex;flex-direction:column;justify-content:center;gap:20px;border-left:1px solid var(--line)}
.login__form h2{font-family:var(--display);font-size:46px;line-height:1;margin:0 0 10px}
label{display:flex;flex-direction:column;gap:8px}
label span{font-family:var(--mono);font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}
input,select{border:1px solid var(--line-strong);background:#fff;color:var(--ink);padding:14px 16px;border-radius:var(--radius);outline:none}
input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(179,86,9,.12)}
.login__form button,.hero-card button,.support a{border:0;background:var(--accent);color:#fff;border-radius:var(--radius);padding:15px 18px;font-weight:800;cursor:pointer;text-decoration:none;text-align:center}
.ghost{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line-strong)!important}
.login__hint{font-size:13px;line-height:1.55;color:var(--muted);margin:0}
.login__error{display:none;color:var(--danger);font-size:13px}
.login__error.is-visible{display:block}

.portal{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:var(--panel);border-right:1px solid var(--line);padding:26px 20px;display:flex;flex-direction:column;gap:30px}
.brand--compact img{height:42px}
.side-nav{display:flex;flex-direction:column;gap:8px}
.side-nav button,.logout{border:0;background:transparent;text-align:left;border-radius:var(--radius);padding:13px 14px;color:var(--muted);cursor:pointer;font-weight:700}
.side-nav button.is-active,.side-nav button:hover{background:#f7ede2;color:var(--accent)}
.side-links{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:18px}
.side-links a{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.side-links a:hover{color:var(--accent)}
.logout{margin-top:auto;color:var(--danger)}
.workspace{min-width:0;padding:30px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}
.topbar h2{font-family:var(--display);font-size:42px;margin:0;line-height:1}
.client{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:10px 16px;text-align:right}
.client span{display:block;font-size:11px;color:var(--muted)}
.client strong{font-size:14px}
.view{display:none}
.view.is-active{display:block}

.hero-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:30px;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:28px;align-items:center;box-shadow:0 16px 40px rgba(17,24,39,.05)}
.hero-card h1{font-family:var(--display);font-size:56px;line-height:1;margin:0}
.hero-card__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.status-grid div{background:#fafafa;padding:18px}
.status-grid span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}
.status-grid strong{font-size:24px}

.cards,.project-list,.doc-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.card,.project-card,.doc-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-width:0}
.card h3,.project-card h3,.doc-card h3{font-family:var(--display);font-size:28px;line-height:1.05;margin:8px 0}
.card p,.project-card p,.doc-card p{font-size:14px;line-height:1.55;color:var(--muted)}
.tag{display:inline-flex;border-radius:999px;padding:5px 9px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:#f4f4f5;color:var(--muted)}
.tag.ok{background:#e8f5ee;color:var(--ok)}
.tag.warn{background:#fff6df;color:var(--warn)}
.tools{display:flex;gap:12px;margin-bottom:18px}
.tools input{flex:1}

.project-card{display:flex;flex-direction:column;gap:10px}
.project-card__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.project-card button,.doc-card a{border:1px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:var(--radius);padding:10px 12px;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}

.viewer-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px}
.viewer-panel,.viewer-frame{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.viewer-panel{padding:22px}
.quick{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.quick button{border:1px solid var(--line-strong);background:#fff;border-radius:999px;padding:8px 10px;font-family:var(--mono);font-size:10px;cursor:pointer}
.viewer-info{border-top:1px solid var(--line);padding-top:18px}
.viewer-info h3{font-family:var(--display);font-size:32px;margin:0 0 8px}
.viewer-toolbar{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--dark);color:#fff}
.viewer-toolbar span{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.viewer-toolbar a{color:#fff;font-size:13px}
iframe{width:100%;height:min(70vh,760px);min-height:520px;border:0;background:#111}

.doc-card{display:flex;flex-direction:column}
.doc-card a{align-self:flex-start;margin-top:auto}
.support{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:34px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.footer{background:var(--dark);color:#F4F1EB;padding:56px 40px 32px;--fg-muted:#C4C0BF;--footer-line:rgba(244,241,235,0.08);position:relative;overflow:hidden}
.footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent) 30%,var(--accent) 70%,transparent)}
.footer__row{display:grid;grid-template-columns:1.2fr 2fr;gap:64px;max-width:1180px;margin:0 auto 48px}
.footer__brand{display:flex;flex-direction:column;gap:16px}
.footer__brand img{height:72px;width:auto;max-width:260px;object-fit:contain;object-position:left center}
.footer__brand-tag{font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:#C4C0BF;text-transform:uppercase;margin-top:4px}
.footer__brand-quote{font-family:var(--display);font-size:24px;font-weight:400;color:#F4F1EB;line-height:1.2;font-style:italic;margin-top:16px;max-width:280px}
.footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.footer__col{display:flex;flex-direction:column;gap:12px;font-size:14px}
.footer__col h4{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#C4C0BF;margin:0 0 16px;font-weight:600}
.footer__col a,.footer__col span{color:#C4C0BF;text-decoration:none;transition:color 200ms;display:inline-flex;align-items:center;gap:8px}
.footer__col a:hover{color:var(--accent-2)}
.footer__base{display:flex;justify-content:space-between;padding-top:28px;border-top:1px solid var(--footer-line);max-width:1180px;margin:0 auto;flex-wrap:wrap;gap:16px;font-size:13px;color:#A8A29A;align-items:center}
.footer__powered{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#A8A29A}
.footer__powered span{color:var(--accent-2)}

@media (max-width:1040px){
  .login{grid-template-columns:1fr}
  .login__form{border-left:0;border-top:1px solid var(--line)}
  .portal{grid-template-columns:1fr}
  .sidebar{position:static;height:auto;flex-direction:row;align-items:center;overflow:auto}
  .side-nav{flex-direction:row;min-width:max-content}
  .side-links{display:none}
  .logout{margin-top:0;margin-left:auto}
  .hero-card,.viewer-layout{grid-template-columns:1fr}
  .cards,.project-list,.doc-list{grid-template-columns:1fr 1fr}
  .footer__row{grid-template-columns:1fr}
  .footer__cols{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .portal-nav{position:static;padding:12px;background:#fff;border-bottom:1px solid var(--line);overflow:auto}
  .portal-nav a{box-shadow:none;white-space:nowrap}
  .login__visual,.login__form,.workspace{padding:22px}
  .login__metrics{grid-template-columns:1fr}
  .sidebar{padding:16px}
  .brand--compact span{display:none}
  .topbar,.support{align-items:flex-start;flex-direction:column}
  .client{text-align:left;border-radius:var(--radius)}
  .cards,.project-list,.doc-list{grid-template-columns:1fr}
  .tools{flex-direction:column}
  .hero-card h1,.login__copy h1,.support h1{font-size:44px}
  iframe{min-height:420px}
  .footer{padding:40px 16px 24px}
  .footer__cols{grid-template-columns:1fr}
  .footer__base{flex-direction:column;align-items:flex-start}
  .footer__brand img{max-width:220px;width:100%}
}
