:root{color:#13221d;font-synthesis:none;text-rendering:optimizelegibility;--canvas:#f3f6f4;--surface:#fff;--surface-soft:#eaf2ee;--ink:#13221d;--muted:#506159;--border:#cbd8d1;--brand:#0b5d43;--brand-deep:#073f2f;--notice:#fff8e6;--notice-border:#b47b08;--focus:#005fcc;background:#f3f6f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{background:linear-gradient(180deg, #e8f0ec 0, var(--canvas) 22rem), var(--canvas);min-width:320px;min-height:100vh;color:var(--ink);margin:0}button,a{font:inherit}button{background:var(--brand-deep);color:#fff;cursor:pointer;border:0;border-radius:.45rem;padding:.75rem 1rem;font-weight:750}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip-link{z-index:10;background:var(--ink);color:#fff;border-radius:.35rem;padding:.7rem 1rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.authenticated-shell{grid-template-columns:17rem minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--brand-deep);color:#fff;flex-direction:column;padding:1.5rem;display:flex}.brand-block{align-items:center;gap:.75rem;display:flex}.brand-block .brand-mark{color:var(--brand-deep);background:#fff}.brand-block span,.brand-block strong{display:block}.brand-block span{opacity:.78;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.side-navigation{gap:.35rem;margin-top:3rem;display:grid}.side-navigation a{color:#dbece5;border-radius:.45rem;padding:.75rem .85rem;font-weight:700;text-decoration:none}.side-navigation a:hover,.side-navigation a.active{color:#fff;background:#ffffff1f}.sidebar-note{color:#bcd6cc;margin-top:auto;padding-top:2rem;font-size:.78rem;line-height:1.5}.shell-workspace{min-width:0}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:1.5rem;min-height:7.5rem;padding:1.5rem 2rem;display:flex}.topbar h1{margin:.25rem 0 0;font-size:clamp(1.65rem,3vw,2.4rem)}.breadcrumb{color:var(--muted);margin:0;font-size:.8rem}.user-area{text-align:right;align-items:center;gap:1rem;display:flex}.user-area strong,.user-area span{display:block}.user-area span{color:var(--muted);margin-top:.2rem;font-size:.8rem}.route-content{width:min(78rem,100% - 4rem);margin:2rem auto 4rem}.management-page{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;padding:1.5rem;box-shadow:0 .4rem 1.4rem #13221d12}.secondary-button{border:1px solid var(--border);color:var(--brand-deep);background:#fff}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.form-grid .admin-form{align-content:start}.follow-up-note{color:var(--muted);margin:1.5rem 0 0;font-size:.85rem}.inline-alert{border-radius:.45rem;padding:.8rem 1rem}.inline-alert.error{color:#742819;background:#fff0ed;border:1px solid #a54232}.shell-workspace>.inline-alert{margin:1rem 2rem 0}.auth-page,.standalone-state{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card,.state-card{border:1px solid var(--border);background:var(--surface);border-radius:.8rem;width:min(100%,30rem);padding:clamp(1.5rem,5vw,3rem);box-shadow:0 1rem 3rem #13221d1f}.auth-card h1,.state-card h1{margin:.9rem 0;font-size:clamp(2rem,6vw,3.25rem)}.auth-card>p:not(.stage-label),.state-card p{color:var(--muted);line-height:1.55}.auth-card .brand-mark,.state-card .brand-mark{margin-bottom:1.25rem}.stacked-form{gap:1rem;margin-top:1.5rem;display:grid}.stacked-form label{color:var(--muted);gap:.4rem;font-size:.875rem;font-weight:700;display:grid}.stacked-form input{border:1px solid var(--border);width:100%;color:var(--ink);font:inherit;border-radius:.4rem;padding:.75rem}.text-button{color:var(--brand-deep);background:0 0}.dashboard-page{gap:2rem;display:grid}.welcome-card{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;padding:clamp(1.5rem,4vw,2.5rem)}.welcome-card h2{margin:.55rem 0;font-size:clamp(1.75rem,4vw,3rem)}.welcome-card p:last-child{color:var(--muted);margin:0}.quick-link-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;display:grid}.quick-link-grid a{border:1px solid var(--border);background:var(--surface);min-height:8rem;color:var(--ink);border-radius:.65rem;align-content:space-between;padding:1.25rem;font-weight:800;text-decoration:none;display:grid}.quick-link-grid a span{color:var(--brand);font-size:.85rem}.empty-message,.state-page{border:1px solid var(--border);background:var(--surface);border-radius:.65rem;padding:1.5rem}.inbox-page{gap:1.5rem;display:grid}.section-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.section-heading h2,.section-heading p{margin:.35rem 0 0}.section-heading>div>p:last-child{color:var(--muted)}.policy-summary{background:var(--surface-soft);color:var(--brand-deep);white-space:nowrap;border-radius:999px;padding:.55rem .75rem;font-size:.8rem;font-weight:750}.upload-form{gap:1rem;display:grid}.drop-zone{border:2px dashed var(--border);text-align:center;background:#f8fbf9;border-radius:.7rem;align-content:center;place-items:center;gap:.45rem;min-height:12rem;padding:2rem;display:grid}.drop-zone.is-dragging{border-color:var(--brand);background:var(--surface-soft)}.drop-zone span{color:var(--muted);font-size:.9rem}.drop-zone input{max-width:100%;margin-top:.65rem}.selected-files,.upload-results ul,.inbox-list ul{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.selected-files li,.upload-results li,.inbox-list li{border:1px solid var(--border);border-radius:.5rem;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.selected-files small,.inbox-list span,.inbox-list time,.upload-results span{color:var(--muted);font-size:.8rem}.inbox-list{gap:.8rem;display:grid}.inbox-list h3,.upload-results h3,.policy-form h3{margin:0}.inbox-list li>div{gap:.25rem;display:grid}.upload-results{gap:.8rem;display:grid}.upload-results li{flex-direction:column;align-items:flex-start}.upload-results li.success{border-left:.35rem solid var(--brand)}.upload-results li.failure{border-left:.35rem solid #a54232}.policy-form{border:1px solid var(--border);background:var(--surface-soft);border-radius:.65rem;grid-template-columns:minmax(12rem,1fr) repeat(2,minmax(10rem,.6fr)) auto;align-items:end;gap:1rem;padding:1.1rem;display:grid}.policy-form label{color:var(--muted);gap:.35rem;font-size:.82rem;font-weight:700;display:grid}.policy-form input{border:1px solid var(--border);width:100%;font:inherit;border-radius:.4rem;padding:.65rem}.policy-form>p{grid-column:1/-1;margin:0}.site-header{align-items:center;gap:.875rem;width:min(72rem,100% - 3rem);margin:0 auto;padding:1.5rem 0;display:flex}.module-badge{border:1px solid var(--border);background:var(--surface);color:var(--brand-deep);border-radius:999px;margin-left:auto;padding:.4rem .7rem;font-size:.8rem;font-weight:800}.brand-mark{background:var(--brand-deep);color:#fff;letter-spacing:.08em;border-radius:.65rem;flex:none;place-items:center;width:2.75rem;height:2.75rem;font-size:.875rem;font-weight:800;display:grid}.institution-label,.product-name,.stage-label,.section-kicker,.site-footer p{margin:0}.institution-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.product-name{margin-top:.15rem;font-size:1rem;font-weight:750}.main-content{width:min(72rem,100% - 3rem);margin:2.75rem auto 4rem}.intro{max-width:48rem}.stage-label,.section-kicker{color:var(--brand);letter-spacing:.09em;text-transform:uppercase;font-size:.8rem;font-weight:800}h1,h2,h3{color:var(--ink);line-height:1.15}h1{letter-spacing:-.045em;max-width:44rem;margin:.75rem 0 1rem;font-size:clamp(2.25rem,5.5vw,4.5rem)}.intro-copy{max-width:42rem;color:var(--muted);margin:0;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.65}.demo-notice{border:1px solid var(--notice-border);background:var(--notice);border-left-width:.35rem;border-radius:.55rem;align-items:flex-start;gap:.9rem;max-width:52rem;margin-top:2.5rem;padding:1.1rem 1.25rem;display:flex}.notice-icon{color:#fff;background:#805600;border-radius:50%;flex:none;place-items:center;width:1.75rem;height:1.75rem;font-family:Georgia,serif;font-size:1rem;font-weight:700;display:grid}.demo-notice h2{margin:0 0 .3rem;font-size:1rem}.demo-notice p{color:#513a09;margin:0;line-height:1.55}.principles{margin-top:5rem}.organization-panel{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;margin-top:4rem;padding:1.5rem;box-shadow:0 .4rem 1.4rem #13221d12}.panel-tabs{flex-wrap:wrap;gap:.55rem;margin-top:3rem;display:flex}.panel-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--brand-deep)}.panel-tabs button[aria-pressed=true]{border-color:var(--brand-deep);background:var(--brand-deep);color:#fff}.compact{font-size:1rem}.scope-summary{border:1px solid var(--border);background:var(--surface-soft);color:var(--muted);border-radius:.5rem;gap:.4rem;margin-top:1.5rem;padding:1rem;display:grid}.admin-form{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:grid}.admin-form h3{grid-column:1/-1;margin:0}.admin-form label{color:var(--muted);gap:.4rem;font-size:.875rem;font-weight:700;display:grid}.admin-form input,.admin-form select{border:1px solid var(--border);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:.4rem;padding:.7rem}.admin-form button{align-self:end}.organization-form{align-items:start}.field-help{max-width:38rem;color:var(--muted);font-size:.78rem;font-weight:500;line-height:1.45}.form-feedback{border-radius:.45rem;margin:1.25rem 0 0;padding:.8rem 1rem}.form-feedback.success{color:#235638;background:#eef8f1;border:1px solid #5d8b70}.form-feedback.error{color:#742819;background:#fff0ed;border:1px solid #a54232}.row-action{justify-self:end;padding:.45rem .7rem;font-size:.8rem}.row-actions{flex-wrap:wrap;justify-content:flex-end;justify-self:end;gap:.45rem;display:flex}.user-list li{grid-template-columns:minmax(10rem,1.2fr) minmax(9rem,1fr) 8rem minmax(12rem,auto)}.membership-form{grid-column:1/-1}.membership-form .organization-state{border-top:0;grid-column:1/-1;margin-top:0;padding-top:0}.membership-options{border:1px solid var(--border);border-radius:.5rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:.65rem;margin:0;padding:1rem;display:grid}.membership-options legend{color:var(--ink);padding:0 .35rem;font-weight:750}.admin-form .membership-option{border:1px solid var(--border);background:var(--surface-soft);color:var(--ink);border-radius:.4rem;align-items:flex-start;gap:.6rem;padding:.7rem;font-weight:600;line-height:1.4;display:flex}.admin-form .membership-option input{width:auto;margin-top:.2rem}.membership-warning{color:#8a3b2d;grid-column:1/-1}.membership-actions{flex-wrap:wrap;align-self:end;gap:.6rem;display:flex}.invitation-result{background:#f2fbf6;border:1px solid #8fc7ad;border-radius:.6rem;gap:.75rem;margin-top:1rem;padding:1rem;display:grid}.invitation-result h3,.invitation-result p{margin:0}.invitation-result label{color:var(--muted);gap:.4rem;font-size:.875rem;font-weight:700;display:grid}.invitation-result input{border:1px solid var(--border);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:.4rem;padding:.7rem}.user-search{flex-wrap:wrap;align-items:end;gap:.65rem;margin-top:1.5rem;display:flex}.user-search label{width:100%;color:var(--muted);font-size:.875rem;font-weight:700}.user-search input{border:1px solid var(--border);color:var(--ink);font:inherit;background:#fff;border-radius:.4rem;flex:18rem;padding:.7rem}.user-history{border:1px solid var(--border);background:var(--surface-soft);border-radius:.6rem;margin-top:1.5rem;padding:1rem}.history-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.history-heading h3{margin:0}.history-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.history-list li{border:1px solid var(--border);background:var(--surface);border-radius:.45rem;grid-template-columns:minmax(14rem,1fr) minmax(10rem,auto) minmax(12rem,1fr);gap:.75rem;padding:.75rem;display:grid}.history-list span{color:var(--muted);font-size:.875rem}.role-list li{grid-template-columns:minmax(11rem,1fr) minmax(10rem,1fr) 7rem minmax(10rem,auto)}.role-management-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.role-editor,.permission-selector{grid-column:1/-1}.permission-selector .organization-state{border-top:0;margin-top:0;padding-top:0}.permission-options{border:1px solid var(--border);border-radius:.5rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.6rem;margin:0;padding:1rem;display:grid}.permission-options legend{color:var(--ink);padding:0 .35rem;font-weight:750}.admin-form .permission-option{border:1px solid var(--border);background:var(--surface-soft);color:var(--ink);border-radius:.4rem;align-items:flex-start;gap:.55rem;padding:.65rem;font-weight:600;display:flex}.admin-form .permission-option input,.admin-form .toggle-field input{width:auto;margin-top:.2rem}.permission-option span{gap:.2rem;display:grid}.permission-option small{color:var(--muted);font-weight:500}.admin-form .toggle-field{align-self:end;align-items:center;display:flex}.protected-role-note{grid-column:1/-1}.role-assignment-form{align-content:start}.role-assignment-form .organization-state{border-top:0;grid-column:1/-1;margin-top:0;padding-top:0}.assignment-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.login-form{border:1px solid var(--border);background:var(--surface);border-radius:.6rem;flex-wrap:wrap;align-items:end;gap:.75rem;margin-top:1.5rem;padding:1rem;display:flex}.login-form label{color:var(--muted);flex:12rem;gap:.35rem;font-size:.85rem;font-weight:700;display:grid}.login-form input{border:1px solid var(--border);font:inherit;border-radius:.4rem;padding:.7rem}.action-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.organization-state{border-top:1px solid var(--border);color:var(--muted);margin-top:1.5rem;padding-top:1.25rem}.organization-state p{margin:0}.organization-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.organization-list li{border:1px solid var(--border);color:var(--ink);border-radius:.5rem;grid-template-columns:8rem minmax(12rem,1fr) 8rem 5rem;align-items:center;gap:.75rem;padding:.85rem;display:grid}.unit-kind{color:var(--muted);font-size:.85rem}.active,.inactive{font-size:.85rem;font-weight:750}.active{color:var(--brand)}.inactive{color:#8a3b2d}.section-heading h2{letter-spacing:-.025em;margin:.55rem 0 0;font-size:clamp(1.6rem,3vw,2.25rem)}.principle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.75rem 0 0;padding:0;list-style:none;display:grid}.principle-card{border:1px solid var(--border);background:var(--surface);border-radius:.7rem;min-height:12rem;padding:1.4rem;box-shadow:0 .4rem 1.4rem #13221d12}.principle-card:before{background:var(--brand);content:"";border-radius:999px;width:2.5rem;height:.3rem;margin-bottom:1.5rem;display:block}.principle-card h3{margin:0;font-size:1.1rem}.principle-card p{color:var(--muted);margin:.65rem 0 0;line-height:1.6}.site-footer{border-top:1px solid var(--border);width:min(72rem,100% - 3rem);color:var(--muted);justify-content:space-between;gap:1rem;margin:auto auto 0;padding:1.5rem 0 2rem;font-size:.875rem;display:flex}@media (width<=48rem){.section-heading{flex-direction:column}.policy-summary{white-space:normal}.policy-form{grid-template-columns:1fr}.policy-form>p{grid-column:auto}.authenticated-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.side-navigation{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.5rem}.sidebar-note{display:none}.topbar{flex-direction:column;align-items:flex-start;padding:1rem}.user-area{text-align:left;justify-content:space-between;width:100%}.route-content{width:min(100% - 2rem,78rem)}.form-grid{grid-template-columns:1fr}.site-header,.main-content,.site-footer{width:min(100% - 2rem,72rem)}.main-content{margin-top:1.75rem}.principles{margin-top:3.5rem}.principle-grid{grid-template-columns:1fr}.action-heading{flex-direction:column;align-items:stretch}.organization-list li{grid-template-columns:1fr 1fr}.history-list li,.role-management-grid,.assignment-fields{grid-template-columns:1fr}.principle-card{min-height:auto}.site-footer{flex-direction:column}}@media (prefers-contrast:more){:root{--muted:#2f3e37;--border:#65766d}.principle-card,.demo-notice{border-width:2px}}
