:root{
  --green:#0b7a46;--green2:#0aa45c;--ink:#132238;--muted:#68778b;--line:#d9e2e7;
  --soft:#f5f8f7;--danger:#c83333;--white:#fff;--shadow:0 10px 30px rgba(20,32,51,.055)
}
*{box-sizing:border-box}html{background:#eef3f1}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#f8fbfa,#eef3f1)}button,input,textarea,select{font:inherit}.app-shell{max-width:760px;margin:0 auto;min-height:100vh;background:#fff;box-shadow:0 0 50px rgba(15,45,30,.08)}
.topbar{position:sticky;top:0;z-index:50;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-bottom:1px solid #eef1f2;background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}.top-title{font-weight:820;font-size:19px;letter-spacing:-.01em}.top-actions{display:flex;align-items:center;gap:8px}.dadata-state{font-size:11px;color:var(--muted);white-space:nowrap}.dadata-state.ok{color:var(--green)}.dadata-state.off{color:#a46d18}
.view{display:none}.view.active{display:block}.hero{padding:26px 20px 10px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--green);margin:0 0 6px}.hero h1,.success-view h1{margin:0;font-size:30px;line-height:1.05}.muted{color:var(--muted);margin:8px 0 0;line-height:1.45}.save-state{font-size:12px;color:var(--green);background:#edf9f2;border-radius:99px;padding:7px 10px;white-space:nowrap}
.card{margin:12px 16px;padding:18px;border:1px solid #e2e8ea;border-radius:18px;background:#fff;box-shadow:var(--shadow)}.section-head{display:flex;gap:12px;align-items:center;margin-bottom:17px}.section-head h2{margin:0 0 2px;font-size:20px}.section-head p{margin:0;font-size:13px;color:var(--muted)}.step{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#e6f6ed;color:var(--green);font-weight:800;flex:0 0 auto}
.grid{display:grid;gap:12px}.grid.two{grid-template-columns:1fr 1fr}.grid.compact{grid-template-columns:.75fr 1.25fr}label{display:block;font-size:13.5px;color:#40516a;margin-bottom:13px;font-weight:600}label b,legend b,.question-row b{color:#e02b2b}input,textarea,select{width:100%;margin-top:7px;border:1px solid #cbd6dd;background:#fff;color:var(--ink);border-radius:11px;padding:12px 13px;outline:none;min-height:46px;font-size:16px;font-weight:450;line-height:1.25;transition:.15s}textarea{resize:vertical;min-height:78px}input:focus,textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(11,122,70,.10)}input[readonly]{background:#f4f7f6;color:#526274}input.invalid,textarea.invalid,select.invalid{border-color:var(--danger);background:#fff8f8}.optional{float:right;color:#8d99a7;font-size:11px;font-weight:500}
.choice-field{border:0;margin:0 0 12px;padding:0}.choice-field legend{font-size:13.5px;font-weight:600;color:#40516a;margin-bottom:7px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#f0f4f3;border:1px solid #e2e8e6;border-radius:12px;padding:4px}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented label{margin:0;border-radius:8px;padding:10px 12px;text-align:center;color:#445365;cursor:pointer;font-weight:750;transition:.15s}.segmented input:checked+label{background:var(--green);color:#fff;box-shadow:0 2px 8px rgba(11,122,70,.18)}.question-row{display:grid;grid-template-columns:minmax(0,1fr) 172px;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0f1;font-size:13.5px;line-height:1.4}.question-row:last-child{border-bottom:0}
.check-row{display:flex;align-items:center;gap:10px;cursor:pointer;margin:6px 0 12px;color:var(--ink);font-weight:600}.check-row input{position:absolute;opacity:0;width:0;height:0}.check-ui{width:24px;height:24px;border-radius:7px;border:1px solid #cbd6dc;display:grid;place-items:center;color:transparent;font-weight:900;flex:0 0 auto}.check-row input:checked+.check-ui{background:var(--green);border-color:var(--green);color:#fff}
.info{margin-top:15px;border-radius:12px;padding:12px 14px;background:#eef7ff;color:#47617a;font-size:12px;line-height:1.45}.field-hint{margin:-6px 0 12px;font-size:11.5px;color:#7a8796;line-height:1.35}.staff-card{background:#fbfcfc}.staff-card summary{font-weight:750;cursor:pointer}.detail-body{margin-top:16px}.micro{font-size:11px;color:var(--muted);margin:0}
.suggest-wrap{position:relative}.suggest-list{position:absolute;z-index:45;left:0;right:0;top:calc(100% - 10px);max-height:245px;overflow:auto;border:1px solid #d4dde2;border-radius:12px;background:#fff;box-shadow:0 16px 34px rgba(24,40,55,.16);padding:5px}.suggest-item{display:block;width:100%;border:0;background:#fff;text-align:left;padding:11px 12px;border-radius:9px;color:#1d2d42;cursor:pointer;line-height:1.3}.suggest-item:hover,.suggest-item:focus{background:#eef8f3;outline:none}.suggest-item strong{display:block;font-size:13.5px;font-weight:700}.suggest-item small{display:block;margin-top:3px;color:#738093;font-size:11.5px}.suggest-empty{padding:12px;color:#7b8794;font-size:12px}.suggest-loading{padding:10px 12px;color:#617185;font-size:12px}
.sticky-action{position:sticky;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(255,255,255,0),#fff 25%);z-index:30}.primary,.secondary,.ghost,.buttonlike{border:0;border-radius:13px;padding:14px 18px;min-height:48px;font-weight:800;cursor:pointer;text-decoration:none;text-align:center}.primary{width:100%;display:flex;align-items:center;justify-content:center;gap:14px;background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;box-shadow:0 8px 20px rgba(11,122,70,.18)}.secondary{background:#edf5f1;color:var(--green)}.ghost{background:#f3f6f7;color:#314052}.ghost.small{padding:8px 12px;min-height:auto;font-size:12px}.arrow{font-size:20px}.validation-summary{margin:12px 16px;padding:13px 15px;border:1px solid #f1bcbc;background:#fff5f5;color:#8a2626;border-radius:12px;font-size:13px}
.success-view{padding:70px 22px 30px;text-align:center}.success-icon{width:96px;height:96px;border-radius:50%;margin:0 auto 24px;display:grid;place-items:center;background:#ddf6e8;color:var(--green);font-weight:900;font-size:54px}.success-view h1{font-size:31px}.doc-card{margin:28px auto 18px;max-width:420px;border:1px solid #e2e8ea;border-radius:16px;padding:16px;display:flex;gap:14px;align-items:center;text-align:left}.doc-card strong,.doc-card span{display:block}.doc-card span{color:var(--muted);font-size:13px;margin-top:4px}.pdf-icon{width:48px;height:54px;border-radius:10px;background:#e93b3b;color:#fff;display:grid;place-items:center;font-weight:900;font-size:12px}.success-actions{display:grid;gap:10px;max-width:420px;margin:0 auto}.buttonlike{display:block}.success-actions .ghost{width:100%}
@media(max-width:620px){.grid.two,.grid.compact{grid-template-columns:1fr}.question-row{grid-template-columns:1fr}.question-row .segmented{width:100%}.hero h1,.success-view h1{font-size:27px}.card{margin-left:10px;margin-right:10px;padding:16px}.hero{padding-left:16px;padding-right:16px}.dadata-state{display:none}.topbar{padding-left:14px;padding-right:14px}.suggest-list{position:relative;top:-7px;margin-bottom:7px;max-height:220px}}
@media(min-width:760px){.app-shell{margin-top:20px;margin-bottom:20px;min-height:calc(100vh - 40px);border-radius:24px;overflow:hidden}.topbar{border-radius:24px 24px 0 0}}

[hidden]{display:none!important}
.grid>*{min-width:0}input{min-width:0}
.segmented{position:relative}.segmented label{min-height:42px;display:flex;align-items:center;justify-content:center}
.segmented input:focus-visible+label{outline:3px solid #244ea3;outline-offset:2px}
.segmented.invalid{border-color:var(--danger)}
.field-error{display:block;color:var(--danger);font-size:12px;font-weight:500;line-height:1.4;margin:5px 0}
.segmented .field-error{grid-column:1/-1}
input,textarea,.segmented{scroll-margin-top:90px}
.address-choice{margin-bottom:18px}
button:disabled{opacity:.65;cursor:wait}
@media(max-width:620px){.hero{flex-wrap:wrap}.save-state{font-size:11px}.segmented label{min-height:44px}.sticky-action{position:static;background:#fff}}

.auth-shell{max-width:460px;margin:8vh auto;padding:28px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.auth-shell h1,.account-shell h1{font-size:27px;margin:8px 0}
.auth-shell form{margin-top:26px}.login-help{margin-top:24px;font-size:13px;color:var(--muted);line-height:1.5}
.account-shell{max-width:760px;margin:24px auto}.account-shell.wide{max-width:920px}
.account-header{padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.account-header nav{display:flex;align-items:center;gap:16px}a{color:var(--green)}
.event-row{padding:12px 0;border-bottom:1px solid var(--line)}.event-row strong,.event-row span{display:block}.event-row span{font-size:12px;color:var(--muted);margin-top:5px}
.user-row{padding:14px 0;border-bottom:1px solid var(--line)}.user-row summary{cursor:pointer;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.reset-form{padding-top:18px;margin-top:18px;border-top:1px dashed var(--line)}
#message{color:var(--danger)}.loading-account{max-width:760px;margin:40px auto;padding:20px}
.version{color:var(--muted);font-size:11px}.demo-hint{padding:8px 18px}
.staff-card input[readonly]{font-size:15px}.topbar a{white-space:nowrap}
@media(max-width:620px){.auth-shell{margin:20px 12px;padding:22px}.account-shell{margin:18px 0}.account-header nav{gap:8px}.topbar{flex-wrap:wrap;gap:7px}.top-actions{margin-left:auto;flex-wrap:wrap}.top-title{font-size:17px}.topbar .ghost.small{font-size:11px;padding:8px}.account-shell h1{overflow-wrap:anywhere}}

/* Account entry and one-time access codes. */
.login-tabs {display:flex;gap:8px;margin:20px 0;}
.login-tabs button {flex:1;}
.access-code {display:block;font-size:clamp(22px,5vw,32px);letter-spacing:2px;font-weight:700;color:var(--green,#0b7a46);overflow-wrap:anywhere;user-select:all;margin:16px 0;}
.user-row > button {margin:0 16px 8px;width:calc(100% - 32px);}
.user-row > .micro {margin:0 16px 16px;}
[hidden] {display:none !important;}

.hero > .micro {max-width:300px;line-height:1.5;}
