:root{color-scheme:light;--green:#0f7042;--green-2:#168c55;--mint:#63c2a3;--green-soft:#e9f6ef;--text:#17231c;--muted:#56635b;--border:#dbe4de;--bg:#f3f6f4;--danger:#a12018;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;line-height:1.5}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}input,button{max-width:100%;min-width:0}button:focus-visible,input:focus-visible{outline:3px solid var(--green-2);outline-offset:3px}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{line-height:1.12}h1{font-size:clamp(2rem,4vw,3.75rem);letter-spacing:-.035em;font-weight:650;margin:.75rem 0}h2{font-size:clamp(1.7rem,3vw,2.15rem);letter-spacing:-.025em;margin:.5rem 0 .75rem}h3{font-size:1.125rem}p{margin:0 0 1rem}.layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);min-height:100vh;min-height:100svh}.brand-panel{background:linear-gradient(145deg,#095a33,var(--green-2));color:#fff;padding:clamp(2rem,5vw,4.75rem);display:flex;flex-direction:column;justify-content:space-between;gap:3rem;min-width:0}.official-logo{display:block;width:min(100%,19rem);height:auto}.brand-copy{font-size:1.125rem;max-width:26rem}.brand-footer{font-size:.875rem;margin:0}.eyebrow{font-size:.875rem;letter-spacing:.09em;font-weight:700;margin:0 0 .75rem}.workspace{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:clamp(1.25rem,5vw,4.5rem);padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}.surface{width:100%;max-width:31rem;min-width:0}.mobile-brand{display:none}.muted{color:var(--muted)}.intro{margin-bottom:1.75rem}form{display:grid;grid-template-columns:minmax(0,1fr);gap:.625rem}label{font-size:.9375rem;font-weight:650;margin-top:.5rem}input{display:block;width:100%;min-height:3.25rem;border:1px solid #aebfb3;border-radius:.75rem;padding:.8rem .9rem;font-size:1rem;background:#fff;color:var(--text)}input[readonly]{background:#edf1ee}.password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.5rem;min-width:0}.reveal{border:1px solid var(--border);border-radius:.75rem;padding:.5rem .75rem;background:#fff;color:var(--green);font-size:.875rem;min-height:3rem}.primary,.secondary{display:block;width:100%;min-height:3.125rem;border:1px solid var(--green);border-radius:.8rem;padding:.75rem 1rem;font-weight:650;text-align:center}.primary{background:var(--green);color:#fff}.primary:hover{background:#095a33}.secondary{background:#fff;color:var(--green)}form>.primary{margin-top:1rem}.text-button{min-height:2.75rem;padding:.5rem 0;background:none;border:0;color:var(--green);font-weight:650;text-align:left;text-decoration:underline;text-underline-offset:3px}.footnote,.field-help{font-size:.875rem;color:var(--muted)}.footnote{margin-top:1.5rem}.field-help{margin:0}.message{border:1px solid #afd5bc;background:var(--green-soft);padding:1rem;border-radius:.75rem}.message.error{border-color:#ecc4bd;background:#fff3f1;color:var(--danger)}#retry{margin-bottom:1rem}.identity{margin:1.5rem 0}.identity p{font-weight:600;margin:.75rem 0;overflow-wrap:anywhere}.role{display:inline-block;max-width:100%;border-radius:2rem;background:var(--green-soft);color:var(--green);padding:.375rem .8rem;font-weight:650;font-size:.875rem}.notice{padding:1.125rem;border:1px solid var(--border);border-radius:1rem;background:#fff;margin:1.5rem 0}.notice p{color:var(--muted);margin:.5rem 0 0}.actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem}.owner-section{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border)}.owner-section ul{list-style:none;padding:0;margin:.5rem 0}.owner-section li{padding:.875rem 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.owner-section li span{display:block;font-size:.875rem;color:var(--muted)}
@media(max-width:800px){.layout{grid-template-columns:minmax(0,1fr)}.brand-panel{display:none}.workspace{justify-content:flex-start;padding-top:max(1.5rem,env(safe-area-inset-top));padding-left:max(1.25rem,env(safe-area-inset-left));padding-right:max(1.25rem,env(safe-area-inset-right))}.mobile-brand{display:flex;align-items:center;gap:.75rem;width:100%;max-width:31rem;margin-bottom:2.5rem}.mobile-brand img{flex:0 0 3rem}.mobile-brand strong,.mobile-brand span{display:block}.mobile-brand span{font-size:.875rem;color:var(--muted)}.surface{padding-bottom:1rem}}
@media(max-width:360px){.actions{grid-template-columns:minmax(0,1fr)}.reveal{padding:.5rem}.workspace{padding-inline:1rem}}
@media(orientation:landscape) and (max-height:600px){.workspace{justify-content:flex-start;padding-block:1.5rem}.mobile-brand{margin-bottom:1.25rem}.brand-panel{padding:1.5rem;gap:1.5rem}.official-logo{max-width:12rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* ProtechMobile layout 1.1 */
a.primary,a.secondary{text-decoration:none}
a.primary:focus-visible,a.secondary:focus-visible{outline:3px solid var(--green-2);outline-offset:3px}
#account-view>.primary{margin-bottom:1rem}
.actions{gap:1rem;margin-top:1rem}
form{gap:.75rem}
.password-row{gap:.75rem}
#change-view>.text-button{margin-top:1rem}
@media(max-width:420px){.actions{grid-template-columns:minmax(0,1fr)}}

/* ProtechMobile layout 1.2 */
a.primary,a.secondary{text-decoration:none}
a.primary:focus-visible,a.secondary:focus-visible{outline:3px solid var(--green-2);outline-offset:3px}
#account-view>.primary{margin-bottom:1rem}
.actions{gap:1rem;margin-top:1rem}
form{gap:.75rem}
.password-row{gap:.75rem}
#change-view>.text-button{margin-top:1rem}
@media(max-width:420px){.actions{grid-template-columns:minmax(0,1fr)}}

:root{--green:#318C76;--green-2:#24715F;--mint:#62B79D;--green-soft:#E8F6F1;--text:#172033;--muted:#667085;--border:#E2E8E6;--bg:#F8FAFB;color:var(--text);background:var(--bg)}
.primary{background:var(--mint);border-color:var(--mint);border-radius:8px;color:#172033}
.primary:hover{background:var(--green);border-color:var(--green);color:#fff}
.secondary{color:var(--green);border-color:var(--mint);border-radius:8px}
input{min-width:0;font-size:16px}

.brand-panel{background:#62B79D}
.notice{border-color:#DCE7E3;border-radius:18px}
.mobile-brand{background:#E8F6F1;padding:1rem;border-radius:14px}
