body{margin:0;background:#f3f7f3;color:#173e34;font-family:Inter,Arial,sans-serif}.portal-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 5vw;border-bottom:1px solid #dbe4da;background:#fff}.portal-header>span{font-size:10px;letter-spacing:2px}.portal-header>a:last-child{font-size:12px;color:#486357}.portal-logo{display:flex;gap:12px;align-items:center;font-size:30px;font-weight:800;color:#164738;text-decoration:none}.portal-logo span{font-size:16px;letter-spacing:-.5px}.portal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:85vh}.portal-sidebar{padding:28px 18px;background:#123d34;color:white}.portal-sidebar h2{font-size:17px;overflow-wrap:anywhere}.portal-sidebar small{color:#b3c9bd;font-size:11px}.portal-sidebar nav{display:grid;gap:7px;margin:28px 0}.portal-sidebar button{border:0;border-radius:10px;padding:13px 14px;background:transparent;color:#c7d8ce;text-align:left;font:inherit;font-size:13px;cursor:pointer}.portal-sidebar button.active{background:#d9ecac;color:#183c2e}.portal-sidebar button:hover{background:#ffffff16}.portal-sidebar button.active:hover{background:#d9ecac}.portal-main{padding:38px clamp(18px,4vw,55px);min-width:0}.portal-main h1{font-size:34px;margin:6px 0 15px;letter-spacing:-1px}.portal-main .eyebrow{color:#36785f;font-size:10px;letter-spacing:2px;font-weight:700}.portal-main>p{color:#657668;max-width:740px;line-height:1.7}.portal-card{padding:24px;border:1px solid #d6e2d7;border-radius:18px;background:white;margin:18px 0;min-width:0}.portal-card h2{font-size:20px;margin:0 0 14px}.portal-card h3{font-size:16px}.portal-card p{font-size:13px;line-height:1.7;color:#607062}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.portal-grid .portal-card{margin:0}.portal-stat strong{display:block;font-size:32px;letter-spacing:-1px;margin:9px 0}.portal-stat small{color:#607062}.portal-main label,#portal-dialog label{display:grid;gap:8px;font-size:12px;font-weight:600;margin:14px 0}.portal-main input,.portal-main select,.portal-main textarea,#portal-dialog input,#portal-dialog select,#portal-dialog textarea{box-sizing:border-box;width:100%;min-width:0;background:#fff;border:1px solid #cddbd0;border-radius:9px;padding:12px;font:inherit;font-weight:400;color:#244f3c}.portal-main textarea{resize:vertical}.portal-main button,#portal-dialog button:not(.close),.portal-main a.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;margin:4px 5px 4px 0;border:1px solid #cbd9cc;border-radius:9px;background:#fff;color:#24503c;font:inherit;font-size:12px;text-decoration:none;cursor:pointer}.portal-main button.primary,#portal-dialog button.primary{background:#24785d;color:white;border-color:#24785d}.portal-main button:disabled{opacity:.48;cursor:not-allowed}.portal-main button:focus-visible,.portal-sidebar button:focus-visible,a:focus-visible{outline:3px solid #c1d482;outline-offset:3px}.portal-main .check,#portal-dialog .check{display:flex;align-items:flex-start;font-weight:400;line-height:1.6}.check input{width:auto!important;margin-top:4px}.portal-tag{display:inline-block;background:#edf4df;color:#456339;padding:5px 9px;border-radius:20px;font-size:10px;margin-right:5px}.portal-tag.planned{background:#eee9f7;color:#6e548b}.portal-empty{padding:26px;border:1px dashed #cbd9cc;border-radius:14px;text-align:center;color:#68816c}.portal-progress{height:8px;border-radius:10px;width:100%;accent-color:#348465}.onboarding-step{display:flex;align-items:center;gap:16px;border-bottom:1px solid #e8eee7;padding:15px 0}.onboarding-step:last-child{border:0}.onboarding-step>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#edf2e7;color:#326a4d;flex-shrink:0}.onboarding-step p{margin:3px 0}.onboarding-step button{margin-left:auto;flex-shrink:0}.portal-table-wrap{overflow-x:auto}.portal-table{width:100%;border-collapse:collapse;font-size:12px}.portal-table th,.portal-table td{text-align:left;padding:13px 10px;border-bottom:1px solid #e2e9df;vertical-align:top}.portal-table th{font-size:10px;text-transform:uppercase;color:#70816f;letter-spacing:.6px}.portal-table td code{font-size:10px;word-break:break-all}.portal-error{color:#a7452f!important;font-size:12px!important}.portal-notice{padding:14px 18px;border-radius:10px;background:#eef3df;font-size:12px;line-height:1.6;margin:18px 0}.portal-drop{position:relative;padding:30px;border:2px dashed #91b69e;border-radius:14px;background:#f6faf2;text-align:center;transition:background .2s,border .2s}.portal-drop.dragging{background:#e1f0ce;border-color:#267756}.portal-drop input[type=file]{border:0;font-size:12px;padding:8px}.portal-drop input[type=url]{background:white}.portal-document{white-space:pre-wrap;overflow-wrap:anywhere;max-height:430px;overflow:auto;padding:20px;background:#f7f8f3;font-size:13px;line-height:1.8;border:1px solid #dde5d6;border-radius:10px}.portal-auth{max-width:500px;margin:8vh auto;padding:40px;background:#fff;border:1px solid #d8e3d9;border-radius:24px;box-shadow:0 20px 60px #143b3010}.portal-auth h1{font-size:32px}.portal-auth p{font-size:14px;line-height:1.7;color:#6b7b6b}.portal-busy{opacity:.65;pointer-events:none}#portal-dialog{width:min(760px,92vw);max-height:90vh;border:1px solid #c9d9c7;border-radius:20px;padding:30px}#portal-dialog::backdrop{background:#102c2380;backdrop-filter:blur(4px)}#portal-dialog .close{position:sticky;float:right;top:0;border:0;background:white;font-size:25px;cursor:pointer}#portal-toast{position:fixed;bottom:24px;right:24px;max-width:420px;padding:18px 24px;background:#123d34;color:white;border-radius:12px;z-index:10;box-shadow:0 8px 30px #0002}.portal-inline{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.portal-inline>label{flex:1;min-width:180px}.portal-footer-note{font-size:11px;color:#6b7e6b;margin:24px 0}.portal-sidebar .logout{border-top:1px solid #ffffff20;border-radius:0;width:100%;margin-top:12px}.portal-card details{margin-top:12px}.portal-card summary{cursor:pointer;font-size:12px}.portal-main pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.portal-main .copy-link{width:100%}@media(max-width:850px){.portal-layout{grid-template-columns:1fr}.portal-sidebar{padding:18px}.portal-sidebar nav{display:flex;overflow-x:auto;margin:14px 0 0}.portal-sidebar button{white-space:nowrap;flex-shrink:0}.portal-sidebar h2{margin:0}.portal-sidebar .logout{width:auto;border:0;margin:0}.portal-main{padding:26px 18px}.portal-header{padding:18px}.portal-header>span{display:none}.portal-main h1{font-size:29px}.portal-auth{margin:30px 18px;padding:25px}.onboarding-step{flex-wrap:wrap}.onboarding-step button{margin-left:48px}.portal-grid{grid-template-columns:1fr}#portal-dialog{padding:20px}#portal-toast{left:18px;right:18px;bottom:18px}}
@media(prefers-reduced-motion:no-preference){.portal-card{animation:portal-in .35s ease both}.portal-main button{transition:transform .2s,background .2s}.portal-main button:hover{transform:translateY(-2px)}@keyframes portal-in{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
.portal-sidebar{min-width:0}.portal-sidebar nav{max-width:100%}@media(max-width:850px){.portal-layout{grid-template-columns:minmax(0,1fr)}.portal-grid{grid-template-columns:minmax(0,1fr)}.onboarding-step>div{min-width:0;flex:1}.portal-main .portal-card{overflow-wrap:anywhere}}

.portal-sidebar nav{scrollbar-width:thin;scrollbar-color:#5e7e65 transparent}
