.portal-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-soft);padding:40px 16px}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:6px;width:100%;max-width:420px;padding:40px 36px 32px;box-shadow:0 6px 24px #0000000f}.auth-mark{font-family:var(--serif);font-size:11px;font-weight:500;letter-spacing:6px;color:var(--gold-bright);text-transform:uppercase;text-align:center;margin-bottom:14px}.auth-title{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:1px;color:var(--gold-deep);text-align:center;margin-bottom:6px}.auth-sub{font-size:12px;color:var(--gold);text-align:center;margin-bottom:28px;line-height:1.6}.auth-form .field{margin-bottom:16px}.auth-form label{display:block;font-size:12px;font-weight:500;color:var(--gold-deep);margin-bottom:6px;letter-spacing:.5px}.auth-form input{width:100%;padding:10px 13px;border:1px solid var(--border);border-radius:3px;font-size:14px;font-family:var(--sans);color:var(--gold-deep);background:var(--bg);outline:none;transition:border-color .2s,box-shadow .2s}.auth-form input:focus{border-color:var(--border-hov);box-shadow:0 0 0 3px #b899681f}.auth-btn{display:block;width:100%;padding:12px;background:var(--gold-deep);color:#fff;border:0;border-radius:3px;font-size:14px;font-weight:500;font-family:var(--sans);letter-spacing:1px;cursor:pointer;transition:background .2s,opacity .2s;margin-top:8px}.auth-btn:hover{opacity:.9}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:12.5px;padding:9px 12px;border-radius:3px;margin-bottom:16px;line-height:1.5}.auth-help{background:var(--bg-soft);border:1px solid var(--border);color:var(--gold);font-size:11.5px;padding:10px 13px;border-radius:3px;margin-top:18px;line-height:1.6}.auth-help b{color:var(--gold-deep)}.auth-foot{margin-top:22px;text-align:center;font-size:11px;color:var(--text-mute);letter-spacing:1px;font-family:var(--serif)}.portal-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:var(--bg-soft)}.portal-sidebar{background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:32px 0 24px}.portal-brand{padding:0 24px 28px;border-bottom:1px solid var(--border);margin-bottom:18px}.portal-brand-mark{font-family:var(--serif);font-size:10px;letter-spacing:5px;color:var(--gold-bright);text-transform:uppercase;margin-bottom:8px}.portal-brand-name{font-family:var(--serif);font-size:16px;font-weight:500;color:var(--gold-deep);letter-spacing:1px;line-height:1.3}.portal-brand-sub{font-size:11px;color:var(--text-mute);margin-top:4px;letter-spacing:1px}.portal-nav{flex:1;display:flex;flex-direction:column;padding:0 12px}.portal-nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:4px;color:var(--gold-deep);font-size:13px;font-weight:400;text-decoration:none;margin-bottom:2px;transition:background .15s}.portal-nav-item:hover{background:var(--card-hov)}.portal-nav-item.active{background:var(--card-hov);color:var(--gold-deep);font-weight:500;border-left:2px solid var(--gold-bright);padding-left:12px}.portal-nav-icon{font-family:var(--serif);font-size:12px;color:var(--gold-bright);width:18px;letter-spacing:0}.portal-foot{padding:16px 24px 0;border-top:1px solid var(--border);margin-top:16px}.portal-biz{margin-bottom:12px}.portal-biz-label{font-size:10px;letter-spacing:2px;color:var(--text-mute);text-transform:uppercase;font-family:var(--serif);margin-bottom:4px}.portal-biz-num{font-size:13px;color:var(--gold-deep);font-family:var(--sans);letter-spacing:1px}.portal-logout{width:100%;padding:8px 12px;background:var(--bg-soft);color:var(--gold-deep);border:1px solid var(--border);border-radius:3px;font-size:12px;font-family:var(--sans);cursor:pointer;transition:background .2s}.portal-logout:hover{background:var(--card-hov)}.portal-main{padding:36px 40px 60px;max-width:1080px;width:100%}@media (max-width: 720px){.portal-layout{grid-template-columns:1fr}.portal-sidebar{border-right:0;border-bottom:1px solid var(--border);padding:24px 0 20px}.portal-foot{padding-top:12px}.portal-main{padding:24px 20px 40px}}.dash-head{margin-bottom:28px}.dash-greet{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--gold-deep);letter-spacing:1px;margin-bottom:6px}.dash-sub{font-size:12.5px;color:var(--gold);letter-spacing:.5px}.dash-section-label{font-family:var(--serif);font-size:11px;letter-spacing:4px;color:var(--text-mute);text-transform:uppercase;margin:28px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border)}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.dash-card{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:20px 22px 18px;transition:all .2s}.dash-card:hover{border-color:var(--border-hov);transform:translateY(-1px);box-shadow:0 4px 12px #b8996814}.dash-card.muted{background:var(--bg-soft);opacity:.85}.dash-card-label{font-family:var(--serif);font-size:11px;letter-spacing:3px;color:var(--text-mute);text-transform:uppercase;margin-bottom:8px}.dash-card-value{font-family:var(--serif);font-size:28px;font-weight:500;color:var(--gold-deep);margin-bottom:4px}.dash-card-value.placeholder{color:var(--gold-soft);font-size:14px;font-weight:300;font-family:var(--sans);letter-spacing:0;margin-top:4px}.dash-card-meta{font-size:11.5px;color:var(--gold);letter-spacing:.5px}.dash-card a{color:inherit;text-decoration:none;display:block}.dash-empty{background:var(--card);border:1px dashed var(--border);border-radius:4px;padding:36px 20px;text-align:center;color:var(--gold);font-size:12.5px;line-height:1.7;letter-spacing:.3px}.dash-empty b{color:var(--gold-deep)}
