.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-link-button{color:var(--lime);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px 2px;text-decoration:underline}.app-main{background:var(--paper);min-height:60vh;color:var(--ink)}.app-page,.app-admin,.app-plain{max-width:1180px;margin:0 auto;padding:24px 16px 64px}.app-page-body,.app-admin-body{margin-top:20px}.app-admin{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:28px;display:grid}.app-admin-body{min-width:0;margin-top:0}@media (max-width:860px){.app-admin{grid-template-columns:minmax(0,1fr);gap:16px}}.portal-nav{background:var(--paper);border-bottom:1px solid var(--line)}.portal-nav-inner{scrollbar-width:none;align-items:stretch;gap:32px;max-width:1180px;margin:0 auto;padding:0 16px;display:flex;position:relative;overflow-x:auto}.portal-nav-inner::-webkit-scrollbar{display:none}.portal-tabs{white-space:nowrap;gap:28px;font-size:14px;display:flex}.portal-tabs a{min-height:52px;color:var(--muted);border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;transition:color .15s,border-color .15s;display:flex}.portal-tabs a:hover,.portal-tabs a:focus-visible{color:var(--ink);border-bottom-color:var(--line)}.portal-tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--green);font-weight:600}.portal-nav-staff{align-items:center;gap:20px;margin-left:auto;padding-left:32px;display:flex;position:relative}.portal-nav-staff:before{content:"";border-left:1px solid var(--line);position:absolute;top:14px;bottom:14px;left:0}.portal-nav-staff .portal-tabs{align-self:stretch}.portal-nav-staff-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px}@media (max-width:760px){.portal-nav-inner{gap:24px}.portal-tabs{gap:22px}.portal-nav-staff{padding-left:24px}}.portal-nav+.app-page{padding-top:36px}.app-sidenav{flex-direction:column;gap:2px;font-size:14px;display:flex}@media (max-width:860px){.app-sidenav{flex-flow:wrap}}.app-sidenav a{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:7px 11px}.app-sidenav a:hover,.app-sidenav a:focus-visible{background:var(--sage)}.app-sidenav a[aria-current=page]{background:var(--green);border-color:var(--green);color:var(--paper);font-weight:600}.app-readonly{margin-top:12px;display:inline-block}.app-panel{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:20px;padding:22px}.app-not-found{max-width:560px;margin:40px auto}.app-page-header{margin-bottom:20px}.app-page-header p{color:var(--muted);max-width:62ch}.app-main h1,.door-shell h1{font-family:var(--font-display), system-ui, sans-serif;margin:0 0 10px;font-size:clamp(25px,4vw,33px);line-height:1.15}.app-main h2{font-family:var(--font-display), system-ui, sans-serif;margin:26px 0 10px;font-size:21px}.app-main h3{margin:0 0 6px;font-size:17px}.app-main p{margin:0 0 12px;line-height:1.6}.app-button{border:1px solid var(--green);background:var(--green);min-height:44px;color:var(--paper);font:inherit;cursor:pointer;text-align:center;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-weight:600;display:inline-flex}.app-button:hover,.app-button:focus-visible{background:var(--green-dark);border-color:var(--green-dark)}.app-button[disabled]{opacity:.6;cursor:not-allowed}.app-button-secondary{color:var(--green);background:#fff}.app-button-secondary:hover,.app-button-secondary:focus-visible{background:var(--sage);color:var(--green-dark)}.app-button-danger{background:#8f2b22;border-color:#8f2b22}.app-button-danger:hover,.app-button-danger:focus-visible{background:#75221b;border-color:#75221b}.app-actions{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.app-notice{border:1px solid var(--line);background:#fff;border-left-width:5px;border-radius:10px;margin:0 0 18px;padding:14px 16px}.app-notice-title{margin:0 0 4px;font-weight:700}.app-notice-body p:last-child{margin-bottom:0}.app-notice-info{border-left-color:var(--green);background:var(--sage)}.app-notice-success{background:#eaf3ec;border-left-color:#1f6d43}.app-notice-warning{background:#fbf3e0;border-left-color:#8a6100}.app-notice-error{background:#fbeceb;border-left-color:#8f2b22}.app-pill{border:1px solid var(--line);color:var(--ink);white-space:nowrap;background:#fff;border-radius:999px;padding:3px 11px;font-size:13px;font-weight:600;display:inline-block}.app-pill-good{color:#14562f;background:#eaf3ec;border-color:#b9d6c3}.app-pill-bad{color:#7c241c;background:#fbeceb;border-color:#e3bdb9}.app-pill-neutral{background:var(--sage);border-color:var(--line);color:#3d4c44}.app-table-wrap{margin:0 0 22px}.app-table-tools{justify-content:flex-end;margin-bottom:8px;display:flex}.app-csv-link{text-underline-offset:3px;color:var(--green);font-size:14px;text-decoration:underline}.app-table{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;font-size:15px;overflow:hidden}.app-table th,.app-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:11px 14px}.app-table thead th{background:var(--sage);letter-spacing:.04em;text-transform:uppercase;font-size:13px}.app-table tbody tr:last-child td{border-bottom:0}@media (max-width:640px){.app-table,.app-table tbody,.app-table tr,.app-table td{width:100%;display:block}.app-table thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-table tr{border-bottom:1px solid var(--line);padding:8px 0}.app-table td{border-bottom:0;justify-content:space-between;gap:12px;padding:5px 14px;display:flex}.app-table td:before{content:attr(data-label);color:var(--muted);flex:0 0 40%;font-size:13px}}.app-empty{border:1px dashed var(--line);text-align:center;background:#fff;border-radius:12px;padding:26px 20px}.app-empty-title{margin:0 0 6px;font-weight:600}.app-empty-body{color:var(--muted)}.app-field{max-width:34rem;margin:0 0 18px}.app-field label{margin-bottom:5px;font-weight:600;display:block}.app-field-help{color:var(--muted);margin:0 0 6px;font-size:14px}.app-field-message{color:#7c241c;margin:6px 0 0;font-size:14px;font-weight:600}.app-field input,.app-field select,.app-field textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:10px 12px}.app-field textarea{min-height:120px}.app-field input:focus-visible,.app-field select:focus-visible,.app-field textarea:focus-visible{outline:3px solid var(--green);outline-offset:1px}.app-field-error input,.app-field-error select,.app-field-error textarea{border-color:#8f2b22}.app-steps{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.app-step{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px}.app-step-number{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:13px}.app-step-title{font-family:var(--font-display), system-ui, sans-serif;margin:0 0 6px;font-size:19px}.app-step-state{margin:0 0 8px;font-weight:700}.app-step-done{background:#f2f8f4;border-color:#b9d6c3}.app-step-done .app-step-state{color:#14562f}.app-step-blocked,.app-step-later{background:#fbfaf5}.app-step-blocked .app-step-state,.app-step-later .app-step-state{color:var(--muted)}.app-step-body{color:var(--muted);margin-bottom:12px}.app-money{font-variant-numeric:tabular-nums}.door-main,.door-shell{--door-bg:#000;--door-panel:#1c1c1e;--door-panel-hi:#2c2c2e;--door-line:#38383a;--door-text:#f5f5f7;--door-muted:#a1a1a6;--door-go:#30d158;background:var(--door-bg);min-height:100vh}.door-shell{color:var(--door-text);font-size:19px}.door-bar{z-index:5;-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--door-line);background:#000c;justify-content:space-between;align-items:center;gap:12px;padding:6px 16px;display:flex;position:sticky;top:0}.door-wordmark{color:var(--door-text);letter-spacing:-.01em;align-items:center;gap:10px;font-size:17px;font-weight:600;display:flex}.door-crest{width:auto;height:32px}.door-signout{min-height:44px;color:var(--door-go);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:17px}.door-signout:hover{text-decoration:underline}.door-body{padding:24px 16px 40px}.door-shell a{color:var(--door-go)}@media (prefers-reduced-motion:reduce){.app-main *,.door-shell *{transition-duration:.001ms!important;animation-duration:.001ms!important}}
