[hidden]{display:none!important}
:root{
  --navy:#071923;--navy2:#0b2633;--steel:#768b9a;--paper:#f4f6f7;--white:#fff;
  --accent:#d79a2b;--ink:#10232d;--muted:#6d7d86;--line:#d7e0e4;--green:#2d8a65;--red:#b04d4d;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif;background:var(--paper);color:var(--ink)}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}

.portal-header{
  height:82px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;
  background:var(--navy);color:white;border-bottom:1px solid rgba(255,255,255,.08)
}
.brand,.side-brand{display:flex;align-items:center;gap:12px}
.brand img,.side-brand img{width:44px;height:44px;object-fit:contain}
.brand span,.side-brand span{display:flex;flex-direction:column}
.brand strong,.side-brand strong{font-family:"Barlow Condensed";letter-spacing:.05em}
.brand small,.side-brand small{color:#9eb0ba;font-size:10px;margin-top:3px}
.back{font-size:12px;color:#cbd6db}

.auth-shell{
  min-height:calc(100vh - 82px);display:grid;grid-template-columns:1fr 1fr;gap:8vw;
  padding:80px clamp(20px,8vw,130px);align-items:center;
  background:
    radial-gradient(circle at 12% 18%,rgba(118,139,154,.12),transparent 22%),
    linear-gradient(135deg,#eef2f4,#f8f9fa)
}
.intro{max-width:650px}
.kicker{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--accent);margin-bottom:18px}
.intro h1,.dash-top h1{font-family:"Barlow Condensed";text-transform:uppercase;line-height:.93;margin:0}
.intro h1{font-size:clamp(58px,7vw,96px)}
.intro>p{font-size:17px;line-height:1.8;color:#596b75;max-width:570px}
.feature-list{margin-top:38px;border-top:1px solid #cbd5da}
.feature-list div{display:grid;grid-template-columns:50px 1fr;padding:16px 0;border-bottom:1px solid #cbd5da}
.feature-list b{font-family:"Barlow Condensed";font-size:20px;color:var(--steel)}
.feature-list span{font-size:13px;font-weight:600}

.auth-card{background:white;border:1px solid #d8e0e4;padding:34px;box-shadow:0 24px 70px rgba(18,41,54,.08)}
.tabs{display:flex;border-bottom:1px solid #d8e0e4;margin-bottom:28px}
.tab{flex:1;border:0;background:none;padding:14px 8px;cursor:pointer;color:#7c8a91;font-weight:600}
.tab.active{color:var(--ink);border-bottom:2px solid var(--accent)}
.pane{display:none}.pane.active{display:block}
.pane h2{font-family:"Barlow Condensed";text-transform:uppercase;font-size:38px;margin:0 0 5px}
.muted{color:var(--muted);font-size:13px}
form{display:grid;gap:15px}
label{display:grid;gap:7px;font-size:12px;font-weight:600;color:#40525c}
input,textarea,select{
  width:100%;border:1px solid #cbd5da;background:#fff;padding:13px 14px;outline:none;color:#172b35
}
input:focus,textarea:focus,select:focus{border-color:var(--steel)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.primary{
  border:0;background:var(--accent);color:#0c1820;padding:14px 18px;font-size:12px;font-weight:800;
  text-transform:uppercase;letter-spacing:.07em;cursor:pointer
}
.message{font-size:13px;line-height:1.5;margin-top:12px}
.message.ok{color:var(--green)}.message.error{color:var(--red)}

.dashboard-body{display:grid;grid-template-columns:250px 1fr;min-height:100vh;background:#edf1f3}
.sidebar{background:var(--navy);color:white;padding:26px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.side-brand{padding:4px 8px 30px}
.sidebar nav{display:grid;gap:7px}
.side-link{
  text-align:left;border:0;background:transparent;color:#9fb0b9;padding:12px 13px;cursor:pointer;border-left:2px solid transparent
}
.side-link.active,.side-link:hover{background:rgba(255,255,255,.05);color:white;border-left-color:var(--accent)}
.logout{margin-top:auto;border:1px solid rgba(255,255,255,.18);background:transparent;color:#dbe4e8;padding:11px;cursor:pointer}
.linklike{text-align:center;font-size:12px}
.dash-main{padding:42px clamp(22px,4vw,64px)}
.dash-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:34px}
.dash-top h1{font-size:52px}
.status-chip{
  background:#dfece6;color:#2d6f55;padding:9px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em
}
.status-chip.warning{background:#fff3d7;color:#8f6821}
.dash-view{display:none}.dash-view.active{display:block}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
.metric{background:white;border:1px solid #d7e0e4;padding:22px}
.metric span{display:block;color:#6d7d86;font-size:12px}
.metric strong{display:block;font-family:"Barlow Condensed";font-size:54px;margin-top:12px}
.panel{background:white;border:1px solid #d7e0e4;padding:24px}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.panel-head h2{font-family:"Barlow Condensed";font-size:30px;text-transform:uppercase;margin:0}
.text-btn{border:0;background:none;color:#587181;cursor:pointer}
.quote-row,.request-row,.client-row{
  display:grid;grid-template-columns:1.2fr 2fr 1fr 1fr auto;gap:16px;align-items:center;
  padding:16px 0;border-top:1px solid #e3e9ec;font-size:13px
}
.quote-row strong,.request-row strong,.client-row strong{font-family:"Barlow Condensed";font-size:20px}
.badge{display:inline-flex;width:max-content;padding:6px 9px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:#eef2f4;color:#536872}
.badge.accepted{background:#e0eee8;color:#2d7658}.badge.pending{background:#fff1d1;color:#8a641e}
.badge.rejected{background:#f3dfdf;color:#9a4848}.badge.expired{background:#e6e8ea;color:#666}
.row-actions{display:flex;gap:8px;justify-content:flex-end}
.small-btn{border:1px solid #cad5da;background:#fff;padding:8px 10px;font-size:11px;cursor:pointer}
.small-btn.approve{background:#e1eee8;border-color:#c6dfd2;color:#2b7055}
.small-btn.reject{background:#f5e5e5;border-color:#e6c9c9;color:#944646}

.message-thread{height:420px;overflow:auto;border:1px solid #dbe3e7;background:#f7f9fa;padding:16px;display:flex;flex-direction:column;gap:12px}
.bubble{max-width:72%;padding:11px 13px;font-size:13px;line-height:1.5}
.bubble.client{align-self:flex-end;background:#dce5ea}.bubble.admin{align-self:flex-start;background:#fff;border:1px solid #d7e0e4}
.bubble small{display:block;margin-top:5px;color:#7c8b93;font-size:10px}
.message-compose{grid-template-columns:1fr auto;margin-top:12px;align-items:end}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.account-item{border-top:1px solid #e0e6e9;padding-top:12px}
.account-item span{display:block;font-size:11px;color:#7a8990;text-transform:uppercase;letter-spacing:.06em}
.account-item strong{display:block;margin-top:6px}

.admin-form{grid-template-columns:1.2fr 1fr 1.2fr 1fr .8fr auto;margin-bottom:24px}
.admin-thread{margin-top:14px}

@media(max-width:900px){
  .auth-shell{grid-template-columns:1fr;padding-top:50px}
  .dashboard-body{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto}
  .sidebar nav{grid-template-columns:repeat(2,1fr)}
  .logout{margin-top:18px}
  .metric-grid{grid-template-columns:1fr}
  .admin-form{grid-template-columns:1fr}
  .quote-row,.request-row,.client-row{grid-template-columns:1fr}
}
@media(max-width:600px){
  .portal-header{height:72px}
  .brand strong{font-size:14px}.brand small{display:none}
  .back{font-size:11px}
  .auth-card{padding:24px}
  .two,.account-grid{grid-template-columns:1fr}
  .dash-top{flex-direction:column}
  .message-compose{grid-template-columns:1fr}
}

.text-action{border:0;background:none;padding:0;margin-top:4px;color:#587181;font-size:12px;cursor:pointer}
.single-auth{grid-template-columns:minmax(280px,560px);justify-content:center}
.quote-form{grid-template-columns:1.15fr 1fr 1.2fr 1fr .8fr 1.15fr auto}
@media(max-width:1100px){.quote-form{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.quote-form{grid-template-columns:1fr}}
