:root{--ink: #0e3237;--ink-soft: #36595e;--mint: #bee3d6;--mint-mid: #4a9880;--line: #d8e5e2;--canvas: #f5f8f7;--white: #ffffff;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Onest", "Avenir Next", system-ui, sans-serif;--sidebar-w: 256px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased}svg{display:block}button{font-family:inherit}.portal-login{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--canvas);position:relative;overflow:hidden}.portal-login-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 40% at 80% 10%,rgba(190,227,214,.35) 0%,transparent 60%),radial-gradient(ellipse 50% 50% at 10% 90%,rgba(14,50,55,.06) 0%,transparent 60%);pointer-events:none}.portal-login-card{position:relative;width:min(480px,100%);max-height:calc(100svh - 48px);overflow-y:auto;background:var(--white);border:1px solid var(--line);border-radius:24px;padding:48px 44px;box-shadow:0 24px 80px #0e32371a,0 4px 16px #0e32370f}.portal-login-brand{display:flex;align-items:center;gap:12px;margin-bottom:32px}.portal-login-brand-name{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.portal-mark{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--mint);color:var(--ink);border-radius:12px;flex-shrink:0}.portal-mark svg{width:22px;height:22px}.portal-login-card h1{font-family:var(--serif);font-size:2.6rem;font-weight:500;letter-spacing:-.025em;line-height:1.05;color:var(--ink);margin-bottom:10px}.portal-muted{font-size:.9rem;color:var(--ink-soft);line-height:1.65}.portal-login-card form{display:grid;gap:20px;margin-top:32px}.portal-login-card label{display:grid;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#4a7a72}.portal-login-card input{font:inherit;font-size:1rem;border:0;border-bottom:1.5px solid #9ebbb3;border-radius:0;background:transparent;padding:10px 0 12px;color:var(--ink);transition:border-color .15s;outline:none}.portal-login-card input:focus{border-color:var(--ink);box-shadow:0 2px 0 var(--ink)}.portal-login-card .portal-primary{width:100%;padding:16px;background:var(--ink);color:var(--white);border:0;border-radius:10px;font-size:.88rem;font-weight:700;font-family:inherit;letter-spacing:.01em;cursor:pointer;transition:background .18s,transform .12s}.portal-login-card .portal-primary:hover{background:#1a5260}.portal-login-card .portal-primary:active{transform:scale(.98)}.portal-login-card .portal-primary:disabled{opacity:.6;cursor:not-allowed}.portal-error{color:#b94040;background:#fdf2f2;border:1px solid #f0cece;border-radius:8px;padding:11px 14px;font-size:.82rem}.portal-demo-picker{border:1px solid var(--line);background:var(--canvas);border-radius:14px;padding:16px;display:grid;gap:10px}.portal-demo-heading{display:flex;justify-content:space-between;align-items:center;color:var(--ink);font-size:.82rem}.portal-demo-heading span{font-size:.72rem;color:var(--ink-soft)}.portal-demo-picker label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#4a7a72}.portal-demo-picker input{font:inherit;font-size:.9rem;border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:var(--white);color:var(--ink);outline:none;width:100%}.portal-demo-picker input:focus{border-color:var(--mint-mid)}.portal-demo-options{max-height:180px;overflow-y:auto;background:var(--white);border:1px solid var(--line);border-radius:10px}.portal-demo-options button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:var(--ink);cursor:pointer;transition:background .12s}.portal-demo-options button:last-child{border-bottom:0}.portal-demo-options button:hover,.portal-demo-options button.selected{background:#e8f4f0}.portal-demo-options button strong{display:block;font-size:.82rem}.portal-demo-options button small{display:block;font-size:.72rem;color:var(--ink-soft);margin-top:2px}.portal-demo-options p{font-size:.78rem;color:var(--ink-soft);padding:10px 14px}.portal-demo-selected{font-size:.78rem;color:var(--mint-mid)}@media (max-width: 520px){.portal-login-card{padding:32px 24px;border-radius:18px}.portal-login-card h1{font-size:2rem}}.portal-shell{min-height:100vh;display:flex;font-family:var(--sans);background:var(--canvas);color:var(--ink)}.portal-sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--ink);color:#ffffffd9;padding:28px 16px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.portal-brand{display:flex;align-items:center;gap:12px;font-size:.82rem;line-height:1.2;color:#fff9;margin:0 8px 52px}.portal-brand strong{display:block;font-size:1rem;color:#fff;letter-spacing:-.02em}.portal-brand-mark{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--mint);color:var(--ink);border-radius:11px;flex-shrink:0}.portal-brand-mark svg{width:20px;height:20px}.portal-sidebar nav{display:grid;gap:4px}.portal-sidebar nav button{display:flex;align-items:center;gap:13px;width:100%;border:0;background:transparent;color:#ffffff8c;border-radius:10px;padding:12px 14px;font-size:.88rem;font-weight:500;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s,color .15s}.portal-sidebar nav button:hover{background:#ffffff14;color:#ffffffe6}.portal-sidebar nav button.active{background:#bee3d626;color:var(--mint)}.portal-nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-nav-icon svg{width:18px;height:18px}.portal-nav-label{white-space:nowrap;overflow:hidden}.portal-sidebar-foot{margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.portal-account{display:flex;align-items:center;gap:10px;min-width:0}.portal-account>div:last-child{min-width:0}.portal-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--mint);color:var(--ink);font-weight:800;font-size:.9rem;flex-shrink:0}.portal-account strong{display:block;font-size:.8rem;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.portal-account small{display:block;font-size:.7rem;color:#fff6;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.portal-switch{display:block;width:100%;margin-top:14px;padding:9px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:transparent;color:#ffffff80;font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;text-align:center;transition:background .15s,color .15s}.portal-switch:hover{background:#ffffff14;color:#fffc}.portal-content{flex:1;min-width:0}.portal-topbar{height:68px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px}.portal-breadcrumb{font-size:.8rem;color:var(--ink-soft)}.portal-breadcrumb span{margin:0 8px;color:var(--line)}.portal-top-actions{display:flex;align-items:center;gap:8px}.portal-icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--ink-soft);cursor:pointer;transition:background .15s}.portal-icon-btn:hover{background:var(--canvas)}.portal-icon-btn svg{width:20px;height:20px}.portal-icon-btn i{position:absolute;width:7px;height:7px;background:#e05050;border-radius:50%;top:8px;right:8px;border:1.5px solid #fff}.portal-user-button{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:0;border-radius:50%;background:var(--canvas);color:var(--ink);cursor:pointer;transition:background .15s}.portal-user-button:hover{background:var(--mint)}.portal-user-button svg{width:18px;height:18px}.portal-hero{max-width:1280px;margin:0 auto;padding:44px 40px 24px;display:flex;justify-content:space-between;align-items:center;min-height:180px}.portal-kicker{text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:700;color:var(--mint-mid);margin-bottom:10px}.portal-hero h1,.portal-page-section h1{font-family:var(--serif);font-size:2.6rem;font-weight:500;letter-spacing:-.03em;line-height:1.05;color:var(--ink)}.portal-hero p:not(.portal-kicker){font-size:.95rem;color:var(--ink-soft);margin-top:12px;max-width:380px;line-height:1.6}.portal-building{position:relative;width:320px;height:130px;overflow:hidden;flex-shrink:0}.portal-building-body{position:absolute;right:28px;bottom:10px;width:160px;height:80px;background:#f7f0e8;border:4px solid #d4bfb0;border-bottom-width:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px 13px}.portal-building-body:before{content:"";position:absolute;left:30px;top:-32px;border-left:48px solid transparent;border-right:48px solid transparent;border-bottom:32px solid #d7c5ba}.portal-building-body span{background:#9ec8ce;border:3px solid #fff}.portal-cloud{position:absolute;background:#dceff2;border-radius:999px;width:110px;height:28px}.cloud-one{right:0;top:22px}.cloud-two{left:52px;top:42px;width:80px}.portal-trees{position:absolute;right:218px;bottom:8px;width:26px;height:74px;border-radius:30px 30px 4px 4px;background:#8ec5b8;box-shadow:36px 20px 0 -3px #6caeae,64px 12px 0 -5px #9acdbb}.portal-metrics{max-width:1280px;margin:0 auto;padding:0 40px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric{display:flex;align-items:center;gap:16px;text-align:left;border:1px solid transparent;border-radius:16px;padding:20px;cursor:pointer;min-height:100px;color:var(--ink);transition:transform .2s,box-shadow .2s;font-family:inherit}.metric:hover{transform:translateY(-2px);box-shadow:0 12px 32px #0e323714}.metric-mint{background:#eef9f5;border-color:#c8e9de}.metric-gold{background:#fdf8ef;border-color:#f0e0b8}.metric-blue{background:#eef5ff;border-color:#c8daf7}.metric-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:#ffffffb3;color:var(--mint-mid);flex-shrink:0}.metric-gold .metric-icon{color:#c0862a}.metric-blue .metric-icon{color:#3a6bbd}.metric-icon svg{width:22px;height:22px}.metric>span:nth-child(2){display:grid;gap:3px;min-width:0;flex:1}.metric small{font-size:.7rem;color:var(--ink-soft)}.metric strong{font-size:1rem;font-weight:600;line-height:1.2}.metric em{font-style:normal;font-size:.72rem;color:var(--ink-soft)}.metric b{display:flex;align-items:center;justify-content:center;margin-left:auto;color:var(--ink-soft);flex-shrink:0}.portal-panels{max-width:1280px;margin:0 auto;padding:0 40px 56px;display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.portal-panel{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 4px 20px #0e32370a}.panel-heading,.portal-page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.panel-heading>div{min-width:0}.panel-heading h2{font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}.panel-heading>button{display:flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--mint-mid);font-size:.78rem;font-weight:700;font-family:inherit;cursor:pointer;flex-shrink:0}.portal-cta{display:inline-flex!important;align-items:center;gap:6px;border:0!important;background:var(--ink)!important;color:#fff!important;border-radius:9px;padding:10px 14px;font-size:.78rem;font-weight:700;font-family:inherit;cursor:pointer;flex-shrink:0;transition:background .15s}.portal-cta:hover{background:#1a5260!important}.portal-list{display:grid}.portal-list-row{display:grid;grid-template-columns:1.2fr 1fr 1.5fr .8fr;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--canvas);font-size:.82rem}.portal-list-row strong{font-weight:600;color:var(--ink)}.portal-list-row span,.portal-list-row small{color:var(--ink-soft)}.portal-list-row em{font-style:normal;color:var(--ink-soft);text-align:right;font-size:.75rem}.urgency-row{grid-template-columns:auto 1fr 1.2fr auto}.status-pill{display:inline-flex!important;border-radius:999px;padding:5px 10px;font-size:.7rem;font-weight:700;width:max-content;letter-spacing:.02em}.status-open{background:#fff3e0;color:#c0762a}.status-progress{background:#eaf2ff;color:#2563ba}.portal-empty{font-size:.82rem;color:var(--ink-soft);padding:12px 0}.portal-page-section{max-width:1280px;margin:0 auto;padding:44px 40px 56px}.portal-page-section h1{font-family:var(--serif);font-size:2.2rem}.portal-page-title{align-items:flex-end}.portal-page-section>.portal-panel{margin-top:20px}.portal-page-section>.portal-panel h2{margin-bottom:16px;font-size:1rem;font-weight:600;color:var(--ink)}.portal-page-section>.portal-history{margin-top:16px}.portal-urgency-form{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.portal-urgency-form label{display:grid;gap:7px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#4a7a72}.portal-urgency-form textarea{grid-column:1/-1;min-height:88px}.portal-urgency-form button{justify-self:start}.portal-urgency-form input,.portal-urgency-form select,.portal-urgency-form textarea{font:inherit;font-size:.9rem;border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--ink);background:var(--white);outline:none;transition:border-color .15s}.portal-urgency-form input:focus,.portal-urgency-form select:focus,.portal-urgency-form textarea:focus{border-color:var(--mint-mid)}.portal-primary{border:0;background:var(--ink);color:#fff;border-radius:9px;padding:12px 18px;font-size:.84rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s}.portal-primary:hover{background:#1a5260}.portal-primary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 980px){:root{--sidebar-w: 72px}.portal-brand span:not(.portal-brand-mark),.portal-nav-label{display:none}.portal-sidebar nav button{justify-content:center;padding:14px}.portal-account>div:last-child,.portal-switch{display:none}.portal-avatar{margin:0 auto}.portal-topbar,.portal-hero,.portal-metrics,.portal-panels,.portal-page-section{padding-left:24px;padding-right:24px}.portal-hero{align-items:flex-start}.portal-building{transform:scale(.75);transform-origin:right center}.portal-panels{grid-template-columns:1fr}}@media (max-width: 650px){.portal-hero{flex-direction:column;gap:24px}.portal-hero h1{font-size:2rem}.portal-building{width:100%}.portal-metrics{grid-template-columns:1fr}.portal-panels,.portal-topbar{padding-left:16px;padding-right:16px}.portal-list-row{grid-template-columns:1fr 1fr}.portal-list-row small,.portal-list-row em{text-align:left}.portal-urgency-form{grid-template-columns:1fr}}
