:root{--navy:#102b40;--teal:#087f78;--ink:#213b4b;--muted:#617684;--line:#dce5e9;--bg:#f4f7f9;--white:#fff;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
.topbar,.topbar nav{flex-wrap:wrap}.table-wrap{overflow-x:auto}.panel h2{overflow-wrap:anywhere}
*{box-sizing:border-box}body{margin:0}a{color:var(--teal);text-underline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.9rem,3vw,2.5rem);letter-spacing:-1px}h2{font-size:1.4rem;letter-spacing:-.4px}p{line-height:1.65}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #38bdb2;outline-offset:4px}.brand{display:inline-flex;align-items:center;font-size:1.45rem;font-weight:750;text-decoration:none;color:var(--navy);letter-spacing:-.6px}.brand>span:last-child{color:var(--teal)}.brand-mark{display:grid;place-items:center;background:var(--teal);color:white!important;border-radius:12px;width:38px;height:38px;margin-right:10px;font-size:1.5rem}.brand.light{color:white}.brand.light>span:last-child{color:#69d6c9}.eyebrow{font-size:.7rem;font-weight:750;letter-spacing:2px;color:var(--teal);display:block;margin-bottom:16px}.eyebrow.small{margin-bottom:10px;font-size:.65rem}.muted,.optional{color:var(--muted)}.optional{font-weight:400;font-size:.8rem}.auth-shell{display:grid;grid-template-columns:1.05fr 1fr;max-width:1120px;min-height:640px;margin:7vh auto 32px;background:white;border-radius:22px;overflow:hidden;box-shadow:0 16px 60px #102b4010}.auth-story{background:radial-gradient(ellipse at 100% 100%,#12615e,transparent 65%),var(--navy);color:white;padding:48px;display:flex;flex-direction:column;justify-content:space-between;gap:64px}.auth-story h1{font-size:clamp(2.1rem,3.6vw,3.2rem);line-height:1.18;max-width:450px}.auth-story p{color:#c0d3dc;font-size:1.05rem}.auth-story .eyebrow{color:#71d4c7}.story-foot{color:#9bbbc8;font-size:.8rem}.auth-form{padding:75px 55px;align-self:center}.auth-form h2{font-size:1.9rem}.stack{display:flex;flex-direction:column;gap:20px}.stack.compact-form{gap:14px}.stack>h2,.stack>p{margin-bottom:0}label{display:flex;flex-direction:column;gap:9px;font-size:.88rem;font-weight:600}input,select{width:100%;min-height:46px;border:1px solid #ccd9df;border-radius:8px;padding:11px 13px;background:white;color:var(--ink)}input:focus,select:focus{outline:2px solid #087f7830;border-color:var(--teal)}input:disabled,select:disabled{background:#f4f7f9}.checkbox{display:flex;flex-direction:row;align-items:center;font-weight:400}.checkbox input{width:17px;min-height:17px;accent-color:var(--teal)}.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;background:var(--teal);color:white;border:1px solid transparent;border-radius:8px;padding:13px 20px;font-weight:650;font-size:.9rem;text-decoration:none;cursor:pointer;min-height:46px}.button:hover{background:#056960}.button.secondary{border-color:var(--line);background:white;color:var(--ink)}.button.small{padding:8px 14px;min-height:36px}.signup-link{text-align:center;font-size:.85rem;margin:25px 0 0}.signup-link a{font-weight:650}.footer{text-align:center;color:var(--muted);font-size:.75rem;margin:30px 20px}.page{max-width:1120px;margin:44px auto;padding:0 24px}.page.narrow{max-width:800px}.page-heading{margin:30px 0}.page-heading h1{margin-bottom:10px}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:30px;box-shadow:0 4px 16px #102b4003;min-width:0}.grid{display:grid;gap:24px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px max(24px,calc((100vw - 1072px)/2));background:white;border-bottom:1px solid var(--line);gap:24px}.topbar nav{display:flex;align-items:center;gap:24px}.topbar nav>a{font-size:.9rem;text-decoration:none;color:var(--ink);white-space:nowrap}.topbar form{margin:0}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-weight:700;margin-bottom:20px}hr{border:0;border-top:1px solid var(--line);width:100%}.center{text-align:center}.notice{padding:16px 20px;border-radius:9px;background:#e0f3ec;border:1px solid #b2dfce;color:#14634f}dl{margin-bottom:25px}dt{color:var(--muted);font-size:.8rem;margin-top:20px}dd{margin:5px 0;overflow-wrap:anywhere}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.88rem}caption{text-align:left;font-weight:650;margin-bottom:20px}th{color:var(--muted);font-size:.75rem;font-weight:650}td,th{padding:15px 12px;border-bottom:1px solid var(--line)}td{overflow-wrap:anywhere}.badge{display:inline-block;padding:5px 9px;border-radius:5px;background:#eef4f6;font-size:.75rem}.section-gap{margin-top:28px}.dashboard-shell{max-width:1320px;margin:32px auto;padding:0 24px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px}.sidebar{background:var(--navy);border-radius:20px;padding:24px 18px;display:flex;flex-direction:column;gap:28px;box-shadow:0 18px 40px rgba(16,43,64,.12)}.sidebar-brand-wrap{padding:6px 8px}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.nav-link{display:block;padding:12px 14px;border-radius:10px;color:#d9edf4;text-decoration:none;font-weight:600;transition:all .2s ease}.nav-link:hover,.nav-link.active{background:rgba(105,214,201,.12);color:white}.sidebar-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:18px 16px}.sidebar-card h3{color:white;margin:8px 0}.sidebar-card p{margin:0;color:#d3e3ea}.dashboard-page{margin:0;padding:0;max-width:none}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:0}.header-chip{background:white;border:1px solid var(--line);border-radius:999px;padding:10px 16px;color:var(--muted);font-size:.85rem}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.stat-card{background:white;border:1px solid var(--line);border-radius:16px;padding:22px 20px;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 20px rgba(16,43,64,.04)}.stat-card.accent{background:linear-gradient(135deg,#0a7d7c,#0d9b96);color:white}.stat-card.accent .stat-label,.stat-card.accent small{color:rgba(255,255,255,.82)}.stat-label{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.stat-card strong{font-size:2rem;letter-spacing:-1px}.stat-card small{font-size:.8rem}.dashboard-panels{margin-top:24px}.check-list{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:14px}.check-list li{display:flex;align-items:center;gap:10px;color:var(--ink)}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.ok{background:#0e9b73}.dot.warn{background:#d7792d}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.profile-badge{background:#eaf8f5;color:#0d7e73;border:1px solid #bee5df}.permission-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.permission-list li{display:flex;align-items:center;gap:10px;color:var(--ink)}.roadmap{display:flex;flex-direction:column;gap:18px;margin-top:16px}.roadmap-item{display:flex;gap:18px;align-items:flex-start;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:#f8fbfc}.roadmap-item span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:white;font-weight:700;font-size:.82rem}.roadmap-item.done span{background:#0e9b73}.roadmap-item.active span{background:#087f78}.roadmap-item p{margin:8px 0 0;color:var(--muted);font-size:.9rem}@media(max-width:900px){.auth-shell{margin:24px;min-height:580px}.auth-story{padding:32px}.auth-form{padding:40px 30px}.topbar{padding:18px 24px}.topbar nav{gap:14px}.dashboard-shell{grid-template-columns:1fr}.sidebar{padding:18px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.auth-shell{display:block;margin:16px;border-radius:14px}.auth-story{padding:24px;gap:24px}.auth-story h1{font-size:1.8rem}.auth-story p,.story-foot{display:none}.auth-story .eyebrow{margin-bottom:10px;font-size:.6rem}.auth-form{padding:32px 24px}.grid.two{grid-template-columns:1fr}.page{margin:26px auto;padding:0 16px}.panel{padding:22px}.topbar{align-items:flex-start;flex-direction:column;padding:16px;gap:18px}.topbar nav{width:100%;justify-content:space-between;gap:10px}.topbar nav>a{font-size:.8rem}.brand{font-size:1.3rem}h1{font-size:1.85rem}.dashboard-header{flex-direction:column;align-items:flex-start}.stats-grid{grid-template-columns:1fr}}
/* Official brand artwork, shared by public and authenticated pages. */
.brand-logo{display:block;flex-shrink:0;width:180px;max-width:100%;line-height:0;border-radius:12px;overflow:hidden;background:#fff}
.brand-logo img{display:block;width:100%;height:auto;object-fit:contain}
.topbar>.brand-logo{width:140px}
.auth-story>.brand-logo{width:260px;align-self:flex-start}
.sidebar-brand-wrap .brand-logo{width:100%;max-width:190px;margin:0 auto}
@media(max-width:650px){.topbar>.brand-logo{width:120px}.auth-story>.brand-logo{width:190px}.page>.brand-logo{width:160px}.sidebar-brand-wrap .brand-logo{max-width:150px}}

/* Shared account layout. */
.dashboard-shell>.sidebar{align-self:start;position:sticky;top:24px;max-height:calc(100dvh - 48px);overflow-y:auto}
.dashboard-shell>.page{width:100%;max-width:none;margin:0;padding:0;min-width:0}
@media(max-width:900px){.dashboard-shell>.sidebar{position:static;max-height:none}.sidebar-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.dashboard-shell{padding:0 16px;margin:16px auto;gap:16px}}

.report-tabs{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;align-items:end}
dialog{width:min(960px,94vw);max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:20px;padding:32px;color:var(--ink)}dialog::backdrop{background:#102b40aa;backdrop-filter:blur(3px)}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plan-grid .panel{padding:22px;display:flex;flex-direction:column}.plan-grid form{margin-top:auto}.featured-plan{border:2px solid var(--teal);background:#f0faf8}.quick-actions{display:flex;flex-wrap:wrap;gap:12px}button:disabled{opacity:.65;cursor:default}@media(max-width:650px){.plan-grid{grid-template-columns:1fr}dialog{padding:20px}}
.dashboard-page .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.header-chip{overflow-wrap:anywhere;max-width:100%}
.dashboard-panels{grid-template-columns:minmax(0,1fr)}
@media(max-width:900px){.dashboard-page .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.dashboard-page .stats-grid{grid-template-columns:1fr}.quick-actions>.button{width:100%}}
@media print {
  @page { size: A4; margin: 15mm; }
  body { background: white; color: black; }
  .sidebar, .footer, dialog, .report-export { display: none !important; }
  .dashboard-shell { display: block; margin: 0; padding: 0; max-width: none; }
  .report-page .stats-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .report-page .panel, .report-page .stat-card { box-shadow: none; break-inside: avoid; }
  .report-page .table-scroll { overflow: visible; }
  .report-page thead { display: table-header-group; }
  .report-page tr { break-inside: avoid; }
}

.button.danger{background:#a52a35;color:white}.button.danger:hover{background:#84222a}

/* Business profile shares the account palette and responsive grid. */
.profile-completion{display:flex;flex-direction:column;gap:12px}.profile-completion h2,.profile-completion p{margin:0}progress{width:100%;height:12px;border:0;border-radius:20px;overflow:hidden;accent-color:var(--teal)}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--teal)}progress::-moz-progress-bar{background:var(--teal)}.profile-steps{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.profile-steps a{padding:10px 14px;border:1px solid var(--line);border-radius:24px;background:white;text-decoration:none;font-size:.85rem}.profile-section{margin:16px 0;scroll-margin-top:24px}.profile-section summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;font-weight:700;font-size:1.1rem}.profile-section summary .muted{font-size:.8rem;font-weight:400}.profile-section[open]>summary{margin-bottom:20px}.profile-group{margin-top:24px}.profile-row{padding:20px;border:1px solid var(--line);background:#f8fbfc;border-radius:12px}.profile-row>[data-remove-row]{margin-top:16px}.profile-group>[data-add-row]{margin-top:16px}.profile-save{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.profile-save [data-save-status]{font-size:.85rem;max-width:100%;overflow-wrap:anywhere}.profile-page textarea{font:inherit;width:100%;border:1px solid #ccd9df;border-radius:8px;padding:11px 13px;color:var(--ink);resize:vertical}.profile-page textarea:focus{outline:2px solid #087f7830;border-color:var(--teal)}.tag-field{display:flex;flex-direction:column;gap:10px}.tag-field>.button{align-self:start}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.profile-tag{display:inline-flex;gap:8px;align-items:center;background:#eaf8f5;color:#0d7e73;border:1px solid #bee5df;border-radius:20px;padding:5px 10px;font-size:.85rem;overflow-wrap:anywhere;max-width:100%}.profile-tag button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:1.1rem;min-width:24px}.profile-page input:disabled,.profile-page textarea:disabled{background:#f4f7f9}@media(max-width:650px){.profile-row{padding:14px}.profile-section summary{align-items:flex-start;flex-direction:column;gap:8px}.profile-save .button{width:100%}}
.uf-filter{position:relative;display:flex;flex-direction:column;gap:9px}.uf-filter legend{font-size:.88rem;margin-bottom:9px}.uf-select{position:relative}.uf-select summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;border:1px solid #ccd9df;border-radius:4px;padding:8px 12px;background:white;cursor:pointer;font-size:.88rem;font-weight:400;list-style:none}.uf-select summary::-webkit-details-marker{display:none}.uf-select summary:focus-visible{outline:2px solid var(--teal)}.uf-arrow{color:#999}.uf-select[open] .uf-arrow{transform:rotate(180deg)}.uf-options{position:absolute;top:100%;left:0;right:0;z-index:10;max-height:240px;overflow-y:auto;background:white;border:1px solid #ccd9df;box-shadow:0 6px 12px #102b4015;display:flex;flex-direction:column}.uf-option{display:flex;flex-direction:row;align-items:center;gap:10px;padding:9px 10px;min-height:40px;font-weight:400;cursor:pointer}.uf-option:hover{background:#d0d3d7}.uf-option:has(input:checked){background:#2671e8;color:white;order:-1}.uf-option input{width:23px;height:23px;min-height:23px;padding:0;margin:0;flex-shrink:0;accent-color:#2671e8}.uf-chip{display:inline-flex;align-items:center;gap:6px}.uf-chip button{border:0;background:transparent;color:#777;cursor:pointer;padding:0 4px;font-size:1rem}.uf-filter small{font-size:.75rem}
.sidebar-favsystem-logo{display:block;width:100%;max-width:210px;height:auto;align-self:center;flex-shrink:0}
