:root{--page:#f5f7fa;--card:#fff;--border:#c4c4d0;--header:#0b1d32;--menu-active:#0d3b66;--primary:#1565c0;--primary-hover:#0f55a4;--heading:#0b1d32;--text:#2d3436;--muted:#57606f;--divider:#e7e8eb;--review:#fbae40;--danger:#8b2232;--positive:#1e6b3a;--radius:12px;--radius-small:8px;--font-heading:"Outfit", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--page);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}h1,h2{font-family:var(--font-heading);color:var(--heading);margin:0;font-weight:600;line-height:1.2}h1{font-size:30px}h2{font-size:19px}p{margin:0}a{color:var(--primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.muted{color:var(--muted)}.btn{border-radius:var(--radius-small);min-height:44px;font:600 15px/1.2 var(--font-body);white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{border-color:var(--border);color:var(--heading);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--page)}.btn-danger{background:var(--danger);color:#fff}.btn-on-dark{color:#fff;background:0 0;border-color:#fff6}.btn-on-dark:hover{background:#ffffff14}.btn-block{width:100%}.link-button{min-height:44px;color:var(--primary);font:500 15px var(--font-body);cursor:pointer;background:0 0;border:0;padding:0 4px;text-decoration:underline}.button-stack{gap:12px;display:grid}.field{gap:6px;margin:0 0 18px;display:grid}.field label,.field legend{color:var(--heading);font-size:15px;font-weight:600}input[type=text],input[type=email],input[type=password],select{border:1px solid var(--border);border-radius:var(--radius-small);width:100%;min-height:44px;color:var(--text);font:16px var(--font-body);background:#fff;padding:0 12px}input:focus,select:focus{border-color:var(--primary);outline-offset:0;outline:2px solid #1565c040}.hint{color:var(--muted);font-size:14px}.mono{font-family:var(--font-mono);letter-spacing:.02em}.choices{border:0;gap:8px;min-width:0;padding:0}.choices legend{margin-bottom:6px;padding:0}.choice{border:1px solid var(--border);border-radius:var(--radius-small);cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;padding:10px 12px;display:flex}.choice:has(input:checked){border-color:var(--primary);background:#f2f7fd}.choice input{width:18px;height:18px;accent-color:var(--primary);flex:none;margin:3px 0 0}.choice strong{color:var(--heading)}.password-row{gap:8px;display:flex}.password-row input{flex:1;min-width:0}.notice{border-radius:var(--radius-small);border:1px solid;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:12px 16px;font-size:15px;display:flex}.notice p{flex:240px}.notice-error{color:var(--danger);background:#fbf0f2;border-color:#e5b9c1}.notice-success{color:var(--positive);background:#eef7f1;border-color:#b9dcc6}.notice-info{color:var(--menu-active);background:#eef4fb;border-color:#bcd3ee}.banner{max-width:1200px;margin:0 auto;padding:8px 16px 0}.loading{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;display:flex}.loading-slow{flex-basis:100%;font-size:14px}.spinner{border:2px solid var(--divider);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.full-page{place-items:center;min-height:100vh;padding:16px;display:grid}.crash{place-items:center;min-height:60vh;padding:16px;display:grid}.crash-card{justify-items:start;gap:16px;max-width:480px;padding:28px;display:grid}.auth-page{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.auth-card{width:100%;max-width:420px;padding:32px 28px 24px}.eyebrow{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:600}.auth-card h1{margin-bottom:20px;font-size:28px}.auth-card .lead{color:var(--muted);margin:-8px 0 20px}.auth-note{color:var(--muted);text-align:center;margin-top:16px;font-size:14px}.topbar{z-index:10;background:var(--header);color:#fff;position:sticky;top:0}.topbar :focus-visible{outline-color:#fff}.topbar-inner{align-items:center;gap:28px;max-width:1200px;min-height:64px;margin:0 auto;padding:0 24px;display:flex}.brand{font-family:var(--font-heading);font-size:20px;font-weight:600}.menu{flex:1;justify-content:space-between;align-items:center;gap:16px;display:flex}.menu nav{gap:4px;display:flex}.menu-link{border-radius:var(--radius-small);color:#ffffffd9;align-items:center;min-height:44px;padding:0 14px;font-weight:500;text-decoration:none;display:inline-flex}.menu-link:hover{color:#fff;background:#ffffff14}.menu-link.active{background:var(--menu-active);color:#fff}.menu-user{align-items:center;gap:12px;display:flex}.user-name{color:#ffffffd9;font-size:15px}.menu-button{display:none}.page{max-width:1200px;margin:0 auto;padding:28px 24px 56px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.subtitle{color:var(--muted);margin-top:6px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.tile{padding:20px 24px}.tile-main{box-shadow:inset 4px 0 0 var(--primary)}.tile-label{color:var(--muted);font-size:15px;font-weight:500}.tile-value{font-family:var(--font-heading);color:var(--heading);font-variant-numeric:tabular-nums;margin-top:4px;font-size:38px;font-weight:600;line-height:1.15}.footnote{color:var(--muted);margin-top:10px;font-size:14px}.cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;margin-top:16px;display:grid}.panel{padding:18px 24px 8px}.panel-head{justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin-bottom:4px;display:flex}.lines{margin:0;padding:0;list-style:none}.line{border-bottom:1px solid var(--divider);padding:12px 0}.line:last-child,.review-line:last-child{border-bottom:0}.line-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.amount,.count{color:var(--heading);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.bar{background:var(--divider);border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.bar span{background:var(--primary);border-radius:3px;height:100%;display:block}.review-line{border-bottom:1px solid var(--divider);align-items:center;gap:12px;min-height:44px;padding:10px 0;display:flex}.dot{background:var(--review);border-radius:50%;flex:none;width:10px;height:10px}.review-text{flex:1;min-width:0}.count-pill{min-width:32px;height:28px;color:var(--heading);background:#fef1dc;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:14px;font-weight:600;display:inline-flex}.empty{color:var(--muted);padding:12px 0 16px}.status-area{scroll-margin-top:88px}.reveal{border-color:var(--primary);margin:0 0 16px;padding:20px 24px}.reveal>*+*{margin-top:10px}.reveal-row{gap:8px;display:flex}input.reveal-box{min-width:0;min-height:48px;font-family:var(--font-mono);letter-spacing:.04em;flex:1;font-size:18px}.table-card{overflow:hidden}.people-table{border-collapse:collapse;width:100%}.people-table th{border-bottom:1px solid var(--divider);color:var(--muted);text-align:left;background:#fafbfc;padding:12px 16px;font-size:13px;font-weight:600}.people-table td{border-bottom:1px solid var(--divider);vertical-align:middle;height:60px;padding:8px 16px}.people-table tbody tr:last-child td{border-bottom:0}.people-table select{width:auto;min-width:128px}.email-cell{overflow-wrap:anywhere}.actions{flex-wrap:wrap;gap:8px;display:flex}.confirm{gap:8px;max-width:360px;font-size:15px;display:grid}.access{align-items:center;gap:6px;font-weight:500;display:inline-flex}.access:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.access-on{color:var(--positive)}.access-off{color:var(--muted)}.add-panel{max-width:560px;margin-top:24px;padding:20px 24px 24px}.add-panel h2{margin-bottom:16px}@media (width<=1023px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cards>:last-child{grid-column:1/-1}}@media (width<=899px){.table-card{background:0 0;border:0}.people-table thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.people-table,.people-table tbody,.people-table tr,.people-table td{width:100%;display:block}.people-table tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);margin-bottom:12px;padding:4px 16px}.people-table td{justify-content:space-between;align-items:center;gap:12px;height:auto;min-height:48px;padding:8px 0;display:flex}.people-table td:before{content:attr(data-label);color:var(--muted);flex:none;font-size:13px;font-weight:600}.people-table td:empty{display:none}.people-table tbody tr:last-child td{border-bottom:1px solid var(--divider)}.people-table tr td:last-child{border-bottom:0;display:block}.people-table tr td:last-child:before{margin-bottom:8px;display:block}.people-table .email-cell{text-align:right}}@media (width<=699px){h1{font-size:26px}.topbar-inner{flex-wrap:wrap;justify-content:space-between;gap:0;padding:0 16px}.menu-button{border-radius:var(--radius-small);color:#fff;min-height:44px;font:600 15px var(--font-body);cursor:pointer;background:0 0;border:1px solid #fff6;align-items:center;padding:0 16px;display:inline-flex}.menu{flex-direction:column;flex-basis:100%;align-items:stretch;gap:8px;padding:4px 0 16px;display:none}.menu.open{display:flex}.menu nav{flex-direction:column}.menu-user{border-top:1px solid #ffffff26;flex-direction:column;align-items:stretch;padding-top:12px}.user-name{padding:0 14px}.page{padding:20px 16px 48px}.page-head .btn{width:100%}.tiles,.cards{grid-template-columns:1fr}.tile{padding:16px 20px}.tile-value{font-size:32px}.panel,.add-panel,.reveal{padding-left:18px;padding-right:18px}.auth-card{padding:28px 20px 20px}}
