:root{--ink: #111827;--muted: #6b7280;--line: #eceff3;--surface: #ffffff;--canvas: #f6f7f9;--accent: #111827;--accent-soft: #eef2f6;--teal: #0f766e;--danger: #b42318;--success: #0f7a56;--shadow: 0 1px 2px rgba(17, 24, 39, .04), 0 12px 32px rgba(17, 24, 39, .05);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}app-root{display:block;min-height:100vh;overflow-x:hidden}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.65rem,2.4vw,2.1rem);font-weight:600;letter-spacing:-.04em;line-height:1.15;margin-bottom:.4rem}h2{font-size:1.05rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.85rem}h3{font-size:.95rem;font-weight:600;margin-bottom:.55rem}.intro,.hint{color:var(--muted);line-height:1.55}.eyebrow{color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.sr-only{clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.app-shell{display:flex;min-height:100vh}.app-sidebar{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;flex:0 0 15.25rem;padding:1.15rem .9rem 1.2rem}.app-content{flex:1;min-width:0}.app-toolbar{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffdb;border-bottom:1px solid var(--line);display:flex;gap:1rem;min-height:4rem;padding:.7rem max(1.25rem,calc((100% - 72rem)/2))}.brand-lockup,.auth-brand{align-items:center;color:inherit;display:flex;gap:.75rem;text-decoration:none}.app-sidebar .brand-lockup{margin:0 0 1.5rem}.brand-lockup{margin-right:auto}.sidebar-nav{display:flex;flex:1;flex-direction:column;gap:.15rem}.nav-label{color:var(--muted);font-size:.66rem;font-weight:650;letter-spacing:.14em;margin:1.05rem .7rem .3rem;text-transform:uppercase}.sidebar-nav .nav-label:first-child{margin-top:0}.sidebar-nav a{border-radius:.75rem;color:var(--muted);font-size:.9rem;font-weight:550;padding:.52rem .7rem;text-decoration:none}.sidebar-nav a.active,.sidebar-nav a:hover{background:var(--accent-soft);color:var(--ink)}.sidebar-foot{border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.75rem;margin-top:auto;padding-top:1rem}.sidebar-identity{align-items:center;color:inherit;display:flex;gap:.5rem;text-decoration:none}.sidebar-logout{width:100%}.brand-lockup strong,.auth-brand strong{display:block;font-size:.92rem;font-weight:650}.brand-lockup small,.auth-brand small{color:var(--muted);display:block;font-size:.72rem;margin-top:.1rem}.brand-mark{align-items:center;background:var(--ink);border-radius:.8rem;color:#fff;display:inline-flex;font-size:.72rem;font-weight:700;height:2rem;justify-content:center;letter-spacing:-.03em;width:2rem}.toolbar-identity{align-items:center;color:inherit;display:flex;gap:.6rem;text-decoration:none}.identity-name{color:var(--muted);font-size:.85rem}.role-chip,.privacy-badge{background:var(--accent-soft);border-radius:999px;color:var(--ink);font-size:.68rem;font-weight:650;letter-spacing:.04em;padding:.28rem .62rem}.button,button{background:var(--accent-soft);border:0;border-radius:999px;color:var(--ink);cursor:pointer;font:inherit;font-weight:600;min-height:2.6rem;padding:.55rem 1.05rem}.button:disabled,button:disabled{cursor:not-allowed;opacity:.45}.button-primary{background:var(--ink);color:#fff}.button-primary:hover:not(:disabled){background:#000}.button-secondary{background:transparent;border:1px solid var(--line)}.button-danger{background:#fff;border:1px solid #f0d7d4;color:var(--danger)}.operator-shell{margin:0 auto;max-width:72rem;padding:2.75rem 1.25rem 5rem}.page-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.75rem}.privacy-badge{margin-top:.35rem;white-space:nowrap}.wizard{background:var(--surface);border:1px solid var(--line);border-radius:1.4rem;box-shadow:var(--shadow);margin-bottom:1.5rem;padding:1.35rem 1.5rem 1.2rem}.wizard ol{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:0;position:relative}.wizard ol:before{background:var(--line);content:"";height:1px;left:16%;position:absolute;right:16%;top:.9rem;z-index:0}.wizard li{align-items:center;color:var(--muted);display:flex;flex-direction:column;font-size:.78rem;font-weight:550;gap:.7rem;letter-spacing:-.01em;position:relative;text-align:center;z-index:1}.step-number{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:50%;color:var(--muted);display:flex;font-size:.72rem;font-weight:650;height:1.8rem;justify-content:center;width:1.8rem}.wizard li.active{color:var(--ink)}.wizard li.active .step-number{background:var(--ink);border-color:var(--ink);box-shadow:0 0 0 6px #1118270f;color:#fff}.wizard li.complete{color:var(--ink)}.wizard li.complete .step-number{background:var(--accent-soft);border-color:transparent;color:var(--ink)}.card{background:var(--surface);border:1px solid var(--line);border-radius:1.4rem;box-shadow:var(--shadow);padding:1.6rem 1.6rem 1.7rem}.stage-panel{margin:0 auto 1.15rem;max-width:72rem}.stage-active{border-color:transparent;box-shadow:var(--shadow),0 0 0 1px #11182714}.section-kicker{color:var(--muted);font-size:.7rem;font-weight:650;letter-spacing:.12em;margin:0 0 .45rem;text-transform:uppercase}label{color:var(--ink);display:block;font-size:.8rem;font-weight:600;margin:1.05rem 0 .4rem}input,textarea{background:#fbfcfd;border:1px solid var(--line);border-radius:.9rem;color:var(--ink);display:block;font:inherit;min-height:2.85rem;padding:.65rem .85rem;width:100%}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:#64748b;outline:2px solid #334155;outline-offset:-2px}input:hover:not(:disabled),textarea:hover:not(:disabled),select:hover:not(:disabled){border-color:#cbd5e1}input:disabled,textarea:disabled,select:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}textarea{line-height:1.5;min-height:7rem;resize:vertical}input[type=file]{background:#fafbfc;border-style:dashed;color:var(--muted);padding:.85rem}.selector-fields{display:grid;gap:.75rem 1rem;grid-template-columns:minmax(9rem,14rem) 7rem;margin-top:.15rem;max-width:23rem}.selector-fields label{margin-top:.85rem}.selector-fields input{min-height:2.4rem;padding:.5rem .7rem}.card>button,.email-package button{margin-top:1.15rem}.counts{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));margin:1.15rem 0}.counts div{background:#f8fafb;border-radius:1rem;padding:.95rem 1rem}.counts dt{color:var(--muted);font-size:.74rem;font-weight:550}.counts dd{font-size:1.35rem;font-weight:650;letter-spacing:-.03em;margin:.25rem 0 0}.operational-summary{margin-top:.85rem}.technical-details{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:1rem}.technical-details summary{color:var(--ink);cursor:pointer;font-weight:600;list-style-position:inside;padding:.25rem 0}.technical-details[open] summary{margin-bottom:.8rem}table{border-collapse:collapse;margin-top:1rem;width:100%}th,td{border-bottom:1px solid var(--line);padding:.75rem .4rem;text-align:left}th{color:var(--muted);font-size:.7rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase}td{font-size:.9rem}.status-chip{background:var(--accent-soft);border-radius:999px;display:inline-block;font-size:.68rem;font-weight:650;padding:.22rem .55rem}.status-would-send{background:#eaf7f1;color:var(--success)}.status-blocked{background:#fff6e8;color:#92400e}.status-failed{background:#fff1f0;color:var(--danger)}.pdf-selections li{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:.6rem 0}.pdf-selections ul{padding-left:1.2rem}.warning{color:#92400e;font-weight:600}.status,.privacy-notice{color:var(--success);font-weight:600}.email-package{margin-top:0;padding-top:0}.email-status{border-radius:1rem;margin-top:1rem;padding:.9rem 1rem}.email-status-success{background:#f3fbf7;color:var(--success)}.email-status-error{background:#fff6f5;color:var(--danger)}.email-package table{font-size:.9rem}.pdf-viewer{border:1px solid var(--line);border-radius:1rem;display:block;height:75vh;min-height:32rem;width:100%}.confirmation-panel{background:#f8fafb;border-radius:1.1rem;margin-top:1.1rem;padding:1.1rem 1.15rem}.confirmation-actions{display:flex;flex-wrap:wrap;gap:.7rem}.send-progress{margin-top:.85rem}.send-progress p{color:var(--muted);font-size:.9rem;margin:0 0 .45rem}.work-overlay{align-items:center;background:#0f172a6b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:40}.work-overlay-card{align-items:center;background:var(--surface);border:1px solid rgba(255,255,255,.7);border-radius:1.5rem;box-shadow:0 24px 60px #0f172a38;display:flex;flex-direction:column;gap:1.05rem;max-width:24rem;padding:2rem 1.75rem 1.85rem;text-align:center;width:min(24rem,100%)}.work-overlay-card p{color:var(--ink);font-size:1.02rem;font-weight:600;letter-spacing:-.02em;line-height:1.4;margin:0}.work-spinner{animation:work-spin .8s linear infinite;border:3px solid var(--accent-soft);border-radius:50%;border-top-color:var(--teal);display:block;height:2.6rem;width:2.6rem}@keyframes work-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.work-spinner{animation:none;border-top-color:var(--teal);opacity:.85}}.auth-page{align-items:center;background:linear-gradient(#02061794,#0f172ab8),radial-gradient(70rem 28rem at 12% 8%,rgba(242,107,29,.55),transparent 52%),radial-gradient(46rem 26rem at 92% 88%,rgba(191,27,40,.62),transparent 48%),#0b1220;display:flex;justify-content:center;min-height:100vh;padding:1.5rem}.auth-stage{max-width:28rem;width:100%}.auth-hero{color:#fff;margin:0 0 2.2rem;text-align:center}.auth-logo{align-items:center;background:#fff;border-radius:1rem;box-shadow:0 12px 28px #bf1b2838;color:#bf1b28;display:flex;font-size:.95rem;font-weight:800;height:4rem;justify-content:center;letter-spacing:-.04em;margin:0 auto 1.4rem;width:4rem}.auth-hero h1{color:#fff;font-size:1.85rem;font-weight:600;letter-spacing:-.03em;margin:0}.auth-hero p{color:#e2e8f0;font-size:.9rem;margin:.55rem 0 0}.login-help{margin:1rem 0 0;text-align:center}.login-help a{color:#bf1b28;font-size:.875rem;font-weight:600;text-decoration:none}.login-card .status{color:var(--success);font-weight:600}.login-card{background:#f2f2f2;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 24px 48px #00000024;padding:1.7rem 1.7rem 1.85rem;width:100%}.auth-page label{color:#334155;font-size:.875rem;font-weight:550;margin-top:1.15rem}.auth-page label:first-of-type{margin-top:0}.auth-page input{background:#fff;border:1px solid #cbd5e1;border-radius:.75rem;min-height:2.9rem;padding:.75rem 1rem}.auth-page input:focus,.auth-page input:focus-visible{border-color:#f26b1d;box-shadow:0 0 0 4px #f26b1d33;outline:none}.auth-page .error{background:#fff1f2;border:1px solid #fecdd3;border-radius:.75rem;color:#be123c;font-size:.875rem;font-weight:550;margin:0 0 1.1rem;padding:.75rem 1rem}.auth-page .button-primary{background:#bf1b28;border-radius:.75rem;margin-top:1.7rem;width:100%}.auth-page .button-primary:hover:not(:disabled){background:#f22e3e}.auth-legal{color:#cbd5e1;font-size:.78rem;margin:1.4rem 0 0;text-align:center}.field-error,.error{color:var(--danger)}.error{font-weight:600}.profile-shell .card{margin-bottom:1.15rem}.profile-shell form .button-primary{margin-top:1.15rem}.password-field{position:relative}.password-field input{padding-right:3rem}.password-toggle{align-items:center;background:transparent;border:0;border-radius:.7rem;color:var(--muted);display:inline-flex;height:2.4rem;justify-content:center;min-height:0;padding:0;position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:2.4rem}.password-toggle svg{display:block;height:1.15rem;width:1.15rem}.password-toggle:hover{color:var(--ink)}.permission-shell{min-height:calc(100vh - 4rem);padding:3rem 1.25rem}.permission-card{margin:0 auto;max-width:72rem}.catalog-shell{max-width:78rem}.catalog-tabs{background:var(--surface);border:1px solid var(--line);border-radius:1rem;display:flex;gap:.35rem;margin-bottom:1.15rem;padding:.35rem}.catalog-tabs button{background:transparent;border-radius:.75rem;color:var(--muted);flex:1;min-height:2.8rem}.catalog-tabs button.active{background:var(--ink);color:#fff}.catalog-panel{margin-bottom:1.15rem}.panel-heading{align-items:center;display:flex;justify-content:space-between}.result-count{color:var(--muted);font-size:.8rem}.filter-grid,.form-grid{display:grid;gap:.85rem 1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid{align-items:end;grid-template-columns:minmax(9rem,.8fr) minmax(13rem,1.5fr) minmax(8rem,.75fr) minmax(6rem,.5fr) minmax(8rem,.8fr)}.filter-grid label,.form-grid label{margin-top:.6rem}.filter-action{margin-bottom:0}select{background:#fbfcfd;border:1px solid var(--line);border-radius:.9rem;color:var(--ink);display:block;font:inherit;min-height:2.85rem;padding:.65rem .85rem;width:100%}.wide-field{grid-column:1 / -1}.table-wrap{overflow-x:auto}.table-wrap table{min-width:62rem}.email-cell{max-width:16rem;overflow-wrap:anywhere;white-space:normal}.category-chip{background:#eef2f6;border-radius:999px;display:inline-block;font-size:.72rem;font-weight:650;padding:.25rem .6rem}.status-inactive{background:#f1f1f1;color:var(--muted)}.status-warning{background:#fff6e8;color:#92400e;margin:.2rem}.action-cell{white-space:normal}.action-cell .button{margin:.15rem .3rem .15rem 0}.form-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.confirmation-panel .button,.catalog-panel form .button{margin-top:1.1rem}.confirmation-panel .counts{margin-bottom:1rem}.confirmation-copy{font-weight:600;margin-bottom:0}.issue-list{background:snow;border-radius:.8rem;color:var(--danger);font-size:.83rem;margin:1rem 0;max-height:10rem;overflow:auto;padding:.75rem 1rem .75rem 2rem}.issue-list li{margin:.25rem 0}.loading-message,.empty-state{color:var(--muted);margin:1.4rem 0 .2rem}.catalog-pagination-footer{align-items:center;border-top:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;margin-top:1.25rem;min-height:4.6rem;padding-top:1.1rem}.pagination-summary{color:var(--muted);font-size:.82rem;margin:0}.catalog-pagination{margin-left:auto}.pagination-desktop,.pagination-mobile{align-items:center;display:flex;gap:.3rem}.pagination-icon,.pagination-page{align-items:center;background:transparent;border:1px solid transparent;border-radius:.65rem;color:var(--muted);display:inline-flex;font-size:.95rem;height:2.75rem;justify-content:center;min-height:2.75rem;padding:0;width:2.75rem}.pagination-icon{font-size:1.35rem}.pagination-icon:hover:not(:disabled),.pagination-page:hover:not(:disabled){background:var(--accent-soft);color:var(--ink)}.pagination-page.active{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:700}.pagination-ellipsis{align-items:center;color:var(--muted);display:inline-flex;height:2.5rem;justify-content:center;width:1.45rem}.pagination-mobile{display:none}small{color:var(--muted);display:block;font-size:.75rem;font-weight:400;margin-top:.35rem}.drawer-layer{inset:0;position:fixed;z-index:50}.drawer-backdrop{background:#0f172a7a;inset:0;position:absolute}.edit-drawer{background:var(--surface);box-shadow:-20px 0 48px #0f172a2e;display:flex;flex-direction:column;height:100dvh;max-width:31rem;position:absolute;right:0;top:0;width:min(31rem,100%)}.drawer-header{align-items:flex-start;background:#fcfdfd;border-bottom:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;padding:1.75rem 1.6rem 1.35rem}.drawer-header h2{font-size:1.35rem;letter-spacing:-.03em;margin:0}.drawer-record{color:var(--muted);font-size:.82rem;margin:.35rem 0 0}.drawer-close{background:transparent;border:1px solid #dbe2e8;border-radius:.7rem;color:var(--muted);font-size:1.5rem;line-height:1;min-height:2.5rem;padding:.25rem .7rem}.drawer-close:hover:not(:disabled){background:var(--accent-soft);color:var(--ink)}.drawer-form{display:flex;flex:1;flex-direction:column;min-height:0}.drawer-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:1.35rem 1.6rem 2rem}.drawer-intro{color:var(--muted);font-size:.9rem;line-height:1.55;margin-bottom:1.25rem}.drawer-readonly{align-items:center;background:#f4f7f9;border:1px solid #e6ebef;border-radius:.8rem;display:flex;justify-content:space-between;margin:0 0 1.5rem;padding:.85rem 1rem}.drawer-readonly span{color:var(--muted);font-size:.78rem;font-weight:600}.drawer-readonly strong{font-size:.85rem}.drawer-fields{display:grid;gap:.1rem}.drawer-fields label{margin:.85rem 0 0}.drawer-fields label:first-child{margin-top:0}.drawer-fields input,.drawer-fields textarea{margin-top:.45rem}.drawer-fields small{line-height:1.4}.drawer-footer{background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -8px 20px #0f172a0a;display:flex;gap:.7rem;justify-content:flex-end;padding:1rem 1.6rem}.deactivation-layer{align-items:center;background:#0f172a8a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:70}.deactivation-dialog{background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:1.35rem;box-shadow:0 24px 70px #0f172a40;display:grid;gap:1rem;grid-template-columns:auto minmax(0,1fr);max-width:32rem;padding:1.5rem;width:100%}.deactivation-icon{align-items:center;background:#fff6e8;border:1px solid #f4dfb8;border-radius:50%;color:#92400e;display:flex;font-size:1rem;font-weight:750;height:2.4rem;justify-content:center;width:2.4rem}.deactivation-heading{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between}.deactivation-content h2{font-size:1.25rem;margin-bottom:.55rem}.deactivation-content p:not(.section-kicker){color:var(--muted);line-height:1.55;margin-bottom:0}.deactivation-close{background:transparent;border:1px solid #dbe2e8;border-radius:.7rem;color:var(--muted);font-size:1.35rem;line-height:1;min-height:2.35rem;padding:.2rem .6rem}.deactivation-actions{display:flex;flex-wrap:wrap;gap:.7rem;grid-column:1 / -1;justify-content:flex-end}.deactivation-confirm{background:#fff;border-color:#e8bdb8}.deactivation-confirm:hover:not(:disabled){background:#fff5f4}.deactivation-error{background:#fff5f4;border:1px solid #f0d0cc;border-radius:.7rem;color:var(--danger)!important;font-weight:600;margin-top:.9rem!important;padding:.65rem .75rem}@media(max-width:600px){.edit-drawer{max-width:none;width:100%}.drawer-footer{justify-content:stretch}.drawer-footer .button{flex:1}}@media(max-width:420px){.deactivation-dialog{grid-template-columns:1fr;padding:1.25rem}.deactivation-icon{margin-bottom:-.15rem}.deactivation-actions{display:grid;grid-template-columns:1fr}.deactivation-actions .button{width:100%}}@media(max-width:840px){.auth-page{padding:1.15rem}.login-card{padding:1.35rem}.app-shell{flex-direction:column}.app-sidebar{border-bottom:1px solid var(--line);border-right:0;flex-basis:auto}.sidebar-nav{flex-direction:row;flex-wrap:wrap}.nav-label{display:none}.sidebar-foot{align-items:center;flex-direction:row}.sidebar-logout{width:auto}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.app-toolbar{align-items:flex-start;flex-wrap:wrap}.brand-lockup{flex-basis:100%}.toolbar-identity{margin-right:auto}.operator-shell{padding:1.4rem .85rem 3rem}.page-heading{flex-direction:column;margin-bottom:1.25rem}.wizard{padding:1.1rem .9rem}.wizard li{font-size:.72rem}.card{padding:1.15rem}.pdf-selections li{align-items:flex-start;flex-direction:column}.pdf-viewer{height:72vh;min-height:24rem}table{display:block;overflow-x:auto;white-space:nowrap}.catalog-tabs{flex-direction:column}.filter-grid,.form-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}.filter-action{width:100%}.panel-heading{align-items:flex-start;flex-direction:column;gap:.35rem}.catalog-pagination-footer{align-items:stretch;flex-direction:column;gap:.7rem}.catalog-pagination{margin-left:0}.pagination-desktop{display:none}.pagination-mobile{display:flex;justify-content:space-between}.pagination-mobile .button{min-height:2.75rem;min-width:5.8rem}}@media(max-width:380px){.wizard li{font-size:.64rem}.wizard ol:before{left:12%;right:12%}.operator-shell h1{font-size:1.45rem}}app-root .app-shell{display:flex}app-root header{display:flex}app-login .login-card{width:100%}app-statement .card{display:block}app-statement progress{display:block;width:100%}app-statement .selector-fields{display:grid}app-statement table{border-collapse:collapse}app-statement .counts{display:grid}app-statement .pdf-viewer{display:block}app-statement .pdf-selections li{display:flex}app-statement .privacy-notice{font-weight:600}app-permission .card{display:block}app-profile .card{display:block}app-recover .login-card{width:100%}app-reset-password .login-card{width:100%}
