.app-body{min-height:100vh;background:radial-gradient(circle at 50% 0,#12324655,transparent 45%),var(--bg)}.app-header{width:min(1180px,calc(100% - 48px));margin:auto;min-height:88px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--border)}.app-header form{margin:0}.app-nav{display:flex;align-items:center;gap:18px;margin-left:auto}.app-nav a,.table-wrap a{color:#c4eaf3;text-decoration:none}.app-nav a:hover,.table-wrap a:hover{text-decoration:underline}.app-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);padding:9px 15px;cursor:pointer;text-decoration:none;font:inherit}.app-main{width:min(1180px,calc(100% - 48px));margin:auto;padding:58px 0 80px}.app-shell h1,.page-head h1,.form-card>h1{font-size:clamp(2rem,5vw,3rem);margin:5px 0 12px}.app-shell{max-width:100%}.license-banner{margin:26px 0;padding:16px 18px;border:1px solid #2d647a;background:#113142;border-radius:8px;color:#c4eaf3}.license-banner.warning{border-color:#7a5930;background:#342817;color:#f2d9ac}.dashboard-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:28px}.dashboard-grid article,.detail-grid article{padding:24px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.dashboard-grid strong{display:block;font-size:2.2rem;color:var(--accent)}.dashboard-grid span{font-size:.86rem;color:var(--muted)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-head p{margin:0}.page-actions{display:flex;align-items:center;gap:10px;margin-top:24px}.filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) 190px 170px auto;gap:10px;margin:0 0 20px}.filter-bar input,.filter-bar select,.form-grid input,.form-grid select,.form-grid textarea,.form-card textarea{width:100%;border:1px solid #3a4a5c;border-radius:7px;background:#0b1520;color:var(--text);padding:10px 12px;font:inherit}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:10px}.table-wrap table{width:100%;min-width:720px;border-collapse:collapse;background:var(--surface)}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--border)}th{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}tbody tr:last-child td{border-bottom:0}.status{display:inline-block;padding:4px 8px;border:1px solid #2d647a;border-radius:999px;background:#113142;color:#c4eaf3;font-size:.82rem;white-space:nowrap}.form-card{max-width:820px;padding:30px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.form-card h2,.detail-grid h2,.section-block h2{font-size:1.2rem;margin:0 0 12px}.form-card form{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label,.form-card label{display:grid;gap:7px;color:#c9d5e1;font-size:.88rem}.full{grid-column:1/-1}.check-field{display:flex!important;align-items:center;gap:8px}.check-field input{width:auto}.validation{color:#ffb1a8;font-size:.8rem}.validation:empty{display:none}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-grid p{white-space:pre-wrap;margin:0}.section-block{margin-top:32px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.work-grid .form-card{max-width:none}.timeline{display:grid;gap:0;list-style:none;padding:0}.timeline li{display:grid;gap:3px;padding:15px 0;border-bottom:1px solid var(--border)}.timeline span,.dates{color:var(--muted)}.timeline p{margin:4px 0 0;color:var(--text)}.auth-card{width:min(520px,100%);margin:auto;padding:36px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.auth-form{display:grid;gap:8px;margin-top:28px}.auth-form label{font-size:.86rem;color:#c9d5e1;margin-top:8px}.auth-form input:not([type=checkbox]){width:100%;min-height:46px;border:1px solid #3a4a5c;border-radius:7px;background:#0b1520;color:var(--text);padding:10px 12px;font:inherit}.auth-foot{font-size:.84rem;margin-top:24px}@media(max-width:900px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.app-header{flex-wrap:wrap;padding:18px 0}.app-nav{order:3;width:100%;overflow-x:auto;margin:0}.filter-bar{grid-template-columns:1fr 1fr}.work-grid{grid-template-columns:1fr}}@media(max-width:600px){.app-header,.app-main{width:calc(100% - 32px)}.app-main{padding-top:36px}.app-header .wordmark{font-size:1.55rem}.app-nav{gap:14px;font-size:.88rem}.page-head{align-items:flex-start;flex-direction:column}.page-head .button{width:100%}.filter-bar,.form-grid,.detail-grid{grid-template-columns:1fr}.full{grid-column:auto}.dashboard-grid{grid-template-columns:1fr 1fr}.form-card,.auth-card{padding:22px 18px}.page-actions{flex-wrap:wrap}}

.license-banner a{color:inherit;font-weight:700}.subscription-page{max-width:900px}.subscription-page>h1{font-size:clamp(2rem,5vw,3rem);margin:5px 0 24px}.subscription-status,.subscription-actions{padding:28px;border:1px solid var(--border);border-radius:10px;background:var(--surface);margin-top:18px}.subscription-status h2,.subscription-actions h2{margin:14px 0 8px}.subscription-status p,.subscription-actions p{color:var(--muted)}.plan-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.plan-actions form{margin:0}@media(max-width:600px){.subscription-status,.subscription-actions{padding:22px 18px}.plan-actions,.plan-actions form,.plan-actions .button{width:100%}}

.app-body button:not(:disabled),.app-body .button[href]{cursor:pointer}
.app-body .button:not(:disabled):hover,.app-body .app-link:not(:disabled):hover,.app-body .link-button:not(:disabled):hover{background:#174055;border-color:#5eafc4;color:#f4fbff}
.app-body .button:focus-visible,.app-body .app-link:focus-visible,.app-body .link-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.app-body button:disabled,.app-body .button:disabled{cursor:not-allowed;opacity:.55}

.onboarding-card{margin:26px 0 30px;padding:26px;border:1px solid #2d647a;border-radius:12px;background:linear-gradient(135deg,#10293a,#101b29)}.onboarding-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.onboarding-head h2{margin:5px 0 7px;font-size:clamp(1.35rem,3vw,1.9rem)}.onboarding-head p{margin:0}.onboarding-head>strong{flex:0 0 auto;padding:8px 12px;border:1px solid #397d92;border-radius:999px;color:var(--accent)}.onboarding-list{display:grid;gap:9px;margin:22px 0 0;padding:0;list-style:none}.onboarding-list li{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--border);border-radius:9px;background:#0b1622}.onboarding-list li>span{display:grid;width:32px;height:32px;place-items:center;border:1px solid #397d92;border-radius:50%;color:var(--accent);font-weight:800}.onboarding-list li strong,.onboarding-list li small{display:block}.onboarding-list li small{margin-top:3px;color:var(--muted)}.onboarding-list li>a{color:#9eeafb;font-weight:700;text-decoration:none}.onboarding-list li>a:hover{text-decoration:underline}.onboarding-list li.is-complete{opacity:.72}.onboarding-list li.is-complete>span{background:#174b3a;border-color:#3f9d75;color:#d9ffec}
@media(max-width:600px){.onboarding-card{padding:22px 16px}.onboarding-head{align-items:flex-start}.onboarding-list li{grid-template-columns:38px 1fr}.onboarding-list li>a{grid-column:2}}

.dashboard-grid>a{display:block;padding:24px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);text-decoration:none;cursor:pointer;transition:border-color .18s ease,transform .18s ease,background .18s ease}.dashboard-grid>a:hover{border-color:var(--accent);background:#102838;transform:translateY(-2px)}.dashboard-grid>a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 28px}.summary-grid article{padding:22px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.summary-grid strong,.summary-grid span{display:block}.summary-grid strong{font-size:1.65rem;color:var(--accent)}.summary-grid span{margin-top:5px;color:var(--muted);font-size:.86rem}.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.section-title-row h2{margin:4px 0 0}.empty-state{padding:24px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);background:#0b152080}.history-table table{min-width:1320px}.history-problem{max-width:280px;white-space:normal}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:16px}.pagination a{display:inline-flex;padding:8px 12px;border:1px solid var(--border);border-radius:7px;color:var(--text);text-decoration:none}.pagination a:hover{border-color:var(--accent)}
@media(max-width:900px){.summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.summary-grid{grid-template-columns:1fr 1fr}.summary-grid article{padding:18px 14px}.summary-grid strong{font-size:1.25rem}.section-title-row{align-items:flex-start;flex-direction:column}.section-title-row .app-link{width:100%}.history-table{margin-inline:-16px;width:calc(100% + 32px);border-left:0;border-right:0;border-radius:0}}

/* Local, deterministic dashboard atmosphere slot; gradient is the missing-asset fallback. */
.dashboard-visual{position:relative;width:100%;aspect-ratio:4/1;max-height:320px;min-height:176px;margin:0 0 28px;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:linear-gradient(120deg,#0b1520,#123246 54%,#163e50)}
.dashboard-visual>picture,.dashboard-visual>picture>img{position:absolute;inset:0;width:100%;height:100%}
.dashboard-visual>picture>img{object-fit:cover;object-position:center}
.dashboard-visual::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(3,13,20,.42),rgba(3,13,20,.06) 62%,rgba(7,28,38,.3))}
@media(max-width:900px){.dashboard-visual{min-height:136px}}
@media(max-width:600px){.dashboard-visual{display:none}}

.login-experience{display:grid;grid-template-columns:minmax(360px,520px) minmax(0,1fr);align-items:center;gap:32px;width:min(1100px,100%);margin:auto}
.login-experience .auth-card{width:100%;margin:0}
.login-atmosphere{position:relative;min-height:176px;aspect-ratio:4/1;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:linear-gradient(120deg,#0b1520,#123246 54%,#163e50)}
.login-atmosphere>picture,.login-atmosphere>picture>img{position:absolute;inset:0;width:100%;height:100%}
.login-atmosphere>picture>img{object-fit:cover;object-position:center}
.login-atmosphere::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(3,13,20,.48),rgba(3,13,20,.08) 62%,rgba(7,28,38,.34))}
@media(max-width:900px){.login-experience{grid-template-columns:1fr;max-width:620px}.login-atmosphere{min-height:136px}}
@media(max-width:600px){.login-atmosphere{display:none}}
.app-body.is-read-only form[method="post"]:not(.logout-form){display:none}.readonly-banner{margin-top:0}.readonly-banner a{color:#fff;font-weight:800}

.register-experience{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start;gap:28px;width:min(1120px,100%);margin:auto}.register-card{width:100%;max-width:none;margin:0;padding:clamp(26px,4vw,42px)}.register-form{gap:18px}.register-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.register-fields .field{display:grid;align-content:start;gap:6px;min-width:0}.register-fields .full{grid-column:1/-1}.register-fields label,.partner-field>label{margin:0}.register-fields input,.register-fields select,.partner-field input{width:100%;min-width:0;min-height:46px;border:1px solid #3a4a5c;border-radius:7px;background:#0b1520;color:var(--text);padding:10px 12px;font:inherit}.password-field{position:relative}.password-field input{padding-right:76px}.password-toggle{position:absolute;right:5px;top:5px;bottom:5px;padding:0 11px;border:1px solid #345063;border-radius:6px;background:#132635;color:#bfeaf4;cursor:pointer}.password-toggle:hover{background:#194158}.partner-field{padding:14px 16px;border:1px solid var(--border);border-radius:9px;background:#0b152080}.partner-field summary,.legal-copy summary{cursor:pointer;color:#dce7f0;font-weight:650}.partner-field summary span{float:right;color:var(--muted);font-size:.75rem;font-weight:500}.partner-field[open] summary{margin-bottom:14px}.partner-field>label{display:block;margin-bottom:6px}.consent-list{display:grid;gap:7px;padding:4px 0}.consent-list .check-field{align-items:flex-start;margin-top:4px}.consent-list .check-field input{margin-top:5px;flex:0 0 auto}.consent-list strong{color:#d8edf4}.optional-consent small{color:var(--accent)}.legal-copy{margin:-2px 0 4px 25px;font-size:.76rem}.legal-copy summary{color:#91cbd9;font-weight:500}.legal-copy p{margin:7px 0 0;line-height:1.65}.register-submit{width:100%;margin-top:2px}.register-value{position:sticky;top:28px;overflow:hidden;padding:clamp(28px,4vw,44px);border:1px solid #2c5b70;border-radius:14px;background:radial-gradient(circle at 90% 5%,#1a607850,transparent 38%),linear-gradient(145deg,#102b3a,#0d1824 70%)}.register-value::after{content:"";position:absolute;width:230px;height:230px;right:-110px;bottom:-110px;border:1px solid #286076;border-radius:50%;box-shadow:0 0 0 26px #1b4d601e,0 0 0 54px #1b4d6012;pointer-events:none}.register-badge{display:inline-flex;padding:7px 10px;border:1px solid #397d92;border-radius:999px;color:var(--accent);font-size:.68rem;font-weight:750;letter-spacing:.1em}.register-value h2{margin:28px 0 2px;font-size:clamp(2.3rem,5vw,3.8rem)}.register-value h2 span{color:var(--accent)}.register-product{color:#d9eaf3;font-weight:700}.register-value>p:not(.register-product){margin-top:20px}.register-value ul{display:grid;gap:11px;margin:28px 0;padding:0;list-style:none}.register-value li{position:relative;padding-left:25px;color:#d2e0e9}.register-value li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}.register-assurance{position:relative;z-index:1;display:grid;gap:3px;margin-top:28px;padding-top:20px;border-top:1px solid #315064}.register-assurance strong{color:#fff}.register-assurance span{color:var(--muted);font-size:.8rem}.auth-result h1{margin:6px 0 14px}.auth-result-actions{display:flex;align-items:stretch;gap:12px;margin-top:24px}.auth-result-actions form{display:flex;margin:0}.auth-result-actions .button{margin:0;text-align:center}.auth-result .license-banner{margin:22px 0 0}
@media(max-width:900px){.register-experience{grid-template-columns:1fr;max-width:680px}.register-value{position:relative;top:auto}.register-value ul{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.register-experience{gap:18px}.register-card{padding:24px 18px}.register-fields{grid-template-columns:1fr}.register-fields .full{grid-column:auto}.register-value{padding:26px 20px}.register-value ul{grid-template-columns:1fr}.partner-field summary span{float:none;margin-left:7px}.consent-list{font-size:.88rem}.auth-result-actions,.auth-result-actions form,.auth-result-actions .button{width:100%}.auth-result-actions{flex-direction:column}}
.registration-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
