.portal-shell{max-width:1220px;margin:0 auto;padding:52px 28px 76px;min-height:72vh}.portal-shell *{box-sizing:border-box}.portal-shell [hidden]{display:none!important}.portal-loading{min-height:420px;display:grid;place-content:center;text-align:center;color:var(--ts)}.portal-spinner{width:34px;height:34px;margin:auto;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:portal-spin .8s linear infinite}@keyframes portal-spin{to{transform:rotate(360deg)}}
.portal-login{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;min-height:560px}.portal-kicker{font:500 11px/1.2 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}.portal-intro h1,.portal-dash-head h1{font-size:clamp(34px,5vw,58px);line-height:1.04;letter-spacing:-.035em;max-width:690px;margin:0 0 20px}.portal-intro>p:not(.portal-kicker){font-size:18px;line-height:1.65;color:var(--ts);max-width:640px}.portal-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.portal-trust span,.portal-status{border:1px solid var(--line);background:var(--card);border-radius:99px;padding:7px 11px;font-size:11px;color:var(--ts)}
.portal-login-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.12)}.portal-lock{width:46px;height:46px;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-content:center;font:600 13px 'DM Mono',monospace;margin-bottom:24px}.portal-login-card h2{font-size:25px;margin-bottom:8px}.portal-login-card>p{color:var(--ts);font-size:14px}.portal-login-card label,.portal-request label{display:block;font-size:12px;font-weight:600;color:var(--ts);margin:17px 0}.portal-login-card input,.portal-request input,.portal-request textarea,.portal-search{width:100%;margin-top:7px;background:var(--navy2);color:var(--tp);border:1px solid var(--line);border-radius:9px;padding:12px 13px;font:inherit}.portal-login-card input:focus,.portal-request input:focus,.portal-request textarea:focus,.portal-search:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);border-color:var(--accent)}.portal-button{border:0;border-radius:9px;padding:12px 18px;font:600 13px 'DM Sans',sans-serif;cursor:pointer}.portal-button-primary{background:var(--accent);color:#fff;width:100%}.portal-button:disabled{opacity:.55;cursor:wait}.portal-button-quiet{background:var(--card);color:var(--tp);border:1px solid var(--line)}.portal-help{font-size:12px!important;margin:18px 0 0}.portal-help a,.portal-manager a{color:var(--accent)}
.portal-alert{padding:11px 13px;border-radius:8px;font-size:13px;margin:14px 0}.portal-alert-error{background:rgba(190,45,45,.12);border:1px solid rgba(220,70,70,.35);color:#df7777}.portal-alert-success{background:rgba(25,145,94,.13);border:1px solid rgba(25,145,94,.35);color:#49b783}
.portal-dash-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;border-bottom:1px solid var(--line);padding-bottom:25px}.portal-dash-head h1{font-size:clamp(30px,4vw,44px);margin-bottom:8px}.portal-dash-head p:last-child{color:var(--ts);margin:0}.portal-head-actions{display:flex;gap:10px;align-items:center}.portal-status{color:#49b783;border-color:rgba(73,183,131,.3)}.portal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:22px 0}.portal-stats article{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px}.portal-stats span{display:block;color:var(--ts);font-size:11px;margin-bottom:9px}.portal-stats strong{font-size:22px}
.portal-layout{display:grid;grid-template-columns:218px 1fr;gap:26px}.portal-sidebar{display:flex;flex-direction:column;gap:6px}.portal-tab{border:1px solid transparent;background:none;color:var(--ts);border-radius:8px;text-align:left;padding:11px 13px;font:500 13px inherit;cursor:pointer}.portal-tab:hover,.portal-tab.active{background:var(--card);border-color:var(--line);color:var(--tp)}.portal-manager{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:15px;margin-top:16px}.portal-manager span,.portal-manager strong,.portal-manager a{display:block;font-size:11px;margin-bottom:6px}.portal-manager span{color:var(--ts)}.portal-panel{display:none;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:25px;min-height:430px}.portal-panel.active{display:block}.portal-panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:19px}.portal-panel h2{font-size:23px;margin:0}.portal-panel-head>span{font-size:11px;color:var(--ts)}.portal-search{max-width:260px;margin:0}
.portal-notes{display:grid;gap:10px}.portal-note{border-left:3px solid var(--accent);background:var(--navy2);padding:13px 15px;border-radius:0 9px 9px 0}.portal-note strong{display:block;font-size:13px;margin-bottom:4px}.portal-note span{font-size:12px;color:var(--ts)}.portal-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:24px}.portal-quick button{background:var(--navy2);color:var(--tp);border:1px solid var(--line);border-radius:10px;padding:16px;text-align:left;cursor:pointer}.portal-quick strong,.portal-quick span{display:block}.portal-quick strong{font-size:13px;margin-bottom:6px}.portal-quick span{font-size:11px;color:var(--ts);line-height:1.4}.portal-table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:680px}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;font:500 10px 'DM Mono',monospace;color:var(--ts);padding:11px;border-bottom:1px solid var(--line)}td{font-size:12.5px;padding:13px 11px;border-bottom:1px solid var(--line);vertical-align:middle}.portal-badge{display:inline-block;padding:4px 8px;border-radius:99px;background:var(--navy2);border:1px solid var(--line);font-size:10px}.portal-row-add{border:1px solid var(--line);background:transparent;color:var(--accent);border-radius:7px;padding:6px 9px;cursor:pointer}.portal-empty{padding:35px;text-align:center;color:var(--ts);font-size:13px}.portal-docs{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.portal-doc{display:flex;justify-content:space-between;gap:15px;padding:15px;background:var(--navy2);border:1px solid var(--line);border-radius:10px}.portal-doc strong,.portal-doc span{display:block}.portal-doc strong{font-size:13px}.portal-doc span{font-size:11px;color:var(--ts);margin-top:4px}.portal-doc a{color:var(--accent);font-size:12px;white-space:nowrap}
.portal-order-items{list-style:none;margin:0;padding:0;min-width:260px}.portal-order-items li{display:flex;justify-content:space-between;gap:18px;padding:4px 0;border-bottom:1px solid var(--line);font-size:11px}.portal-order-items li:last-child{border-bottom:0}.portal-order-items strong{white-space:nowrap;font-weight:500;color:var(--ts)}.portal-order-items strong em{display:inline-block;margin-left:8px;padding-left:8px;border-left:1px solid var(--line);font-style:normal;color:var(--blue)}.portal-invoice-label{display:block;margin-bottom:3px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.portal-invoice-number{display:block;color:var(--blue);font-size:15px}.portal-invoice-number+small{display:block;margin-top:4px;color:var(--muted);font-size:11px;white-space:nowrap}
.portal-price-note{display:block;margin-top:6px;color:var(--ts);font-size:12px}.portal-content td small{display:block;margin-top:4px;color:var(--ts);font-size:10px}.portal-account-price{color:var(--accent);font-size:14px;white-space:nowrap}.portal-quote-price{font-size:12px}.portal-request{max-width:680px}.portal-request-items{display:grid;gap:9px}.portal-request-item{display:grid;grid-template-columns:1fr 120px 38px;gap:8px;align-items:end}.portal-request-item label{margin:0}.portal-request-remove{height:42px;border:1px solid var(--line);background:transparent;color:var(--ts);border-radius:8px;cursor:pointer}.portal-add{border:0;background:none;color:var(--accent);padding:12px 0;cursor:pointer;font-weight:600}.portal-request .portal-button{width:auto;min-width:180px}.portal-fine,.portal-ruo{font-size:11px;color:var(--ts)}.portal-ruo{border-top:1px solid var(--line);padding-top:18px;margin-top:28px}
@media(max-width:900px){.portal-login{grid-template-columns:1fr;gap:35px}.portal-layout{grid-template-columns:1fr}.portal-sidebar{display:grid;grid-template-columns:repeat(3,1fr)}.portal-manager{display:none}.portal-stats{grid-template-columns:repeat(2,1fr)}.portal-quick{grid-template-columns:1fr}.portal-docs{grid-template-columns:1fr}}@media(max-width:600px){.portal-shell{padding:34px 15px 55px}.portal-login-card{padding:24px}.portal-dash-head{align-items:flex-start;flex-direction:column}.portal-sidebar{display:flex;overflow:auto;flex-direction:row;padding-bottom:4px}.portal-tab{white-space:nowrap}.portal-stats{grid-template-columns:1fr 1fr}.portal-panel{padding:18px}.portal-panel-head{align-items:flex-start;flex-direction:column}.portal-search{max-width:none}.portal-request-item{grid-template-columns:1fr 85px 38px}.portal-head-actions{width:100%;justify-content:space-between}}
