:root{--accent:#1d5c63;--accent-hover:#174b51;--accent-soft:#e6efee;--deep:#123c41;--gold:#f2c14e;--ink:#1d2a33;--muted:#55636a;--line:#dde2dd;--paper:#f6f4ee;--surface:#fff;--marker:#fbe7b0;--bad:#a1261a;--radius:12px;--shadow:0 1px 2px #123c410f, 0 4px 14px #123c410f;color:var(--ink);background:var(--paper);font:16px/1.5 system-ui,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}h1{letter-spacing:-.01em;margin:0 0 .75rem;font-size:1.625rem;line-height:1.25}p{margin:0 0 1rem}a{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button,a,summary{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.shell{flex-direction:column;min-height:100dvh;display:flex}.demo-marker{background:var(--marker);text-align:center;margin:0;padding:.375rem 1rem;font-size:.8125rem;font-weight:600}.topbar{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:.75rem;padding:.625rem 1rem;display:flex}.brand{color:var(--deep);border-radius:8px;margin-right:auto;text-decoration:none}.logo{align-items:center;gap:.625rem;display:inline-flex}.logo-mark{flex:none;display:block}.logo-text{flex-direction:column;line-height:1.1;display:flex}.logo-name{letter-spacing:-.01em;font-size:1.0625rem;font-weight:800}.logo-sub{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600}.who{color:var(--muted);align-items:center;gap:.5rem;font-size:.875rem;display:none}.avatar{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:2.25rem;height:2.25rem;font-size:.8125rem;font-weight:700;display:inline-grid}.signout{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;padding:0 .875rem;font-size:.9375rem}.signout:hover{border-color:var(--accent);color:var(--accent)}.tabbar{z-index:10;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #123c410f}.tabbar a{min-height:56px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:.125rem;font-size:.8125rem;font-weight:600;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--accent)}.tabbar a[aria-current=page] .icon{stroke-width:2.5px}.shell.has-tabbar{padding-bottom:calc(57px + env(safe-area-inset-bottom))}.subnav{background:var(--surface);border-bottom:1px solid var(--line);gap:.25rem;padding:0 .5rem;display:flex;overflow-x:auto}.subnav a{min-height:48px;color:var(--muted);border-bottom:3px solid #0000;flex:none;align-items:center;gap:.375rem;padding:0 .75rem;font-weight:600;text-decoration:none;display:inline-flex}.subnav a:hover{color:var(--ink)}.subnav a[aria-current=page]{border-bottom-color:var(--accent);color:var(--accent)}.update-notice{border-bottom:1px solid var(--line);background:#fff4d6;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.content{flex:1;width:100%;max-width:40rem;margin:0 auto;padding:1.5rem 1rem}.muted{color:var(--muted)}.eyebrow{color:var(--muted);margin:0 0 .25rem;font-size:.9375rem}.actions{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.button{border:2px solid var(--accent);background:var(--accent);color:#fff;min-height:48px;font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.125rem;font-weight:700;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}.button.secondary{background:var(--surface);color:var(--accent)}.button.secondary:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.button.light{color:var(--deep);background:#fff;border-color:#fff}.button.light:hover:not(:disabled){border-color:var(--gold);background:#fff8e6}.offline-label{border-bottom:1px solid var(--line);color:var(--ink);text-align:center;background:#fff;margin:0;padding:.5rem 1rem;font-size:.875rem}.details{grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0 0 1rem;display:grid}.details dt{color:var(--muted)}.details dd{overflow-wrap:anywhere;margin:0}.install-help{width:100%;max-width:40rem;margin:0 auto;padding:0 1rem 1rem}.install-help p{border:1px solid var(--line);background:#fff;border-radius:8px;margin:0;padding:.75rem 1rem}.footer{background:var(--deep);color:#d6e4e2;padding:1.5rem 1rem 1rem;font-size:.875rem}.footer p{margin:0 0 .25rem}.footer-company,.footer-meta{max-width:48rem;margin:0 auto}.footer-name{color:#fff;align-items:center;gap:.5rem;font-size:1rem;display:flex}.footer-meta{border-top:1px solid #ffffff2e;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;margin-top:1rem;padding-top:.75rem;display:flex}.hero{background:var(--deep);color:#fff;border-radius:16px;margin:0 0 1.5rem;padding:1.5rem 1.25rem}.hero h1{margin:1rem 0 .25rem;font-size:1.75rem}.hero-tagline{color:#d6e4e2;font-size:1.0625rem}.promises{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.promises li{align-items:center;gap:.625rem;display:flex}.promises .icon{color:var(--gold);flex:none}.role-cards{flex-direction:column;gap:.75rem;margin:0 0 1.5rem;display:flex}.role-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;min-height:72px;box-shadow:var(--shadow);color:var(--ink);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:.875rem;padding:.75rem 1rem;display:flex}.role-card:hover{border-color:var(--accent)}.role-card>span:nth-child(2){flex-direction:column;flex:1;display:flex}.role-card .muted{font-size:.875rem}.role-card.staff .avatar{background:#2f5f8a}.role-card.owner .avatar{background:#8a5a00}.chevron{color:var(--muted);font-size:1.5rem}.contact{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.contact li{align-items:flex-start;gap:.625rem;display:flex}.contact .icon{color:var(--accent);flex:none;margin-top:.125rem}.summary{background:var(--deep);color:#fff;border-radius:16px;flex-direction:column;align-items:flex-start;gap:.25rem;margin:0 0 1rem;padding:1.25rem;display:flex}.summary.late{background:#8a1f14}.summary-label{color:#f7d98b;text-transform:uppercase;letter-spacing:.06em;font-size:.8125rem;font-weight:700}.summary.late .summary-label{color:#ffd9d3}.summary-amount{font-variant-numeric:tabular-nums;font-size:2rem;line-height:1.2}.summary .button{margin-top:.75rem}h2{margin:0 0 .75rem;font-size:1.125rem}h1 .badge{vertical-align:middle;margin-left:.25rem}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);margin:0 0 1rem;padding:1.125rem}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.card-head h2{margin:0}.start-guide ol{padding-left:1.25rem}.start-guide li{margin-bottom:.25rem}.badge{white-space:nowrap;border-radius:999px;padding:.125rem .5rem;font-size:.8125rem;font-weight:600;display:inline-block}.badge.good{color:#17572f;background:#dcefe3}.badge.warn{color:#5c4300;background:#fbe7b0}.badge.bad{color:#8a1f14;background:#f7d9d6}.badge.info{color:#1b4a72;background:#dbe8f3}.badge.plain{color:var(--ink);background:#ebece8}.notice{background:#dbe8f3;border-radius:8px;margin:0 0 1rem;padding:.75rem 1rem}.notice.bad{background:#f7d9d6}.notice.good{background:#dcefe3}.error{color:#a1261a}ul.error{padding-left:1.25rem}.list{margin:0;padding:0;list-style:none}.list li{border-top:1px solid var(--line)}.list li:first-child{border-top:0}.list a,.list.plain li{min-height:44px;color:inherit;justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem 0;text-decoration:none;display:flex}.list a:hover strong{color:var(--accent)}.empty{margin:0}.big{font-size:1.25rem}.details.cost{grid-template-columns:minmax(8rem,max-content) 1fr}.table-wrap{overflow-x:auto}table{font-variant-numeric:tabular-nums;border-collapse:collapse;width:100%;font-size:.9375rem}th{color:var(--muted);font-size:.8125rem;font-weight:600}th,td{border-bottom:1px solid var(--line);text-align:left;padding:.5rem}td:nth-child(3),th:nth-child(3){text-align:right}tr.late td{color:#a1261a}details{margin:.5rem 0}summary{min-height:44px;color:var(--accent);cursor:pointer;align-items:center;display:flex}.form{flex-direction:column;gap:1rem;display:flex}.form label{flex-direction:column;gap:.25rem;font-weight:600;display:flex}.form label span{font-size:.875rem;font-weight:400}input,select,textarea{min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #6f7b7f;border-radius:8px;padding:.5rem .75rem}input[type=file]{background:0 0;border:0;padding:.5rem 0}input[aria-invalid=true]{border-color:#a1261a}fieldset{border:0;flex-direction:column;gap:.5rem;margin:0;padding:0;display:flex}legend{margin-bottom:.5rem;font-weight:600}.form .choice{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;flex-direction:row;align-items:flex-start;gap:.75rem;padding:.75rem;font-weight:400}.form .choice:hover{border-color:var(--accent)}.form .choice.chosen{border:2px solid var(--accent);background:var(--accent-soft)}.form .choice span{font-size:1rem}.form .choice .muted{font-size:.875rem}.check,.form .check{flex-direction:row;align-items:flex-start;gap:.75rem;font-weight:400;display:flex}.form .check span{font-size:1rem}.choice input,.check input{flex:none;width:1.25rem;height:1.25rem;min-height:auto;margin-top:.125rem}.button:disabled{opacity:.5;cursor:not-allowed}.button.small{min-height:36px;padding:.25rem .75rem;font-size:.875rem}.button.danger{background:#a1261a;border-color:#a1261a}.row-actions{gap:.5rem;margin-top:.5rem;display:flex}.steps{gap:.25rem;margin:0 0 1rem;padding:0;font-size:.8125rem;list-style:none;display:flex}.steps li{border-top:4px solid var(--line);color:var(--muted);flex:1;padding-top:.375rem}.steps li.done{border-color:var(--accent);color:var(--ink);font-weight:600}.tiles{grid-template-columns:repeat(2,1fr);gap:.75rem;margin:0 0 1rem;display:grid}.tile{border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:.125rem;padding:.875rem;font-size:.8125rem;display:flex}.tile.bad{border-top-color:var(--bad)}.tile-label{color:var(--muted);align-items:center;gap:.375rem;font-weight:600;display:flex}.tile-label .icon{color:var(--accent)}.tile.bad .tile-label .icon{color:var(--bad)}.tile strong{font-variant-numeric:tabular-nums;font-size:1.25rem}.tile.bad strong{color:#a1261a}.bars{flex-direction:column;gap:.5rem;font-size:.875rem;display:flex}.bar-row{grid-template-columns:6.5rem 1fr auto;align-items:center;gap:.5rem;display:grid}.bar{background:#ebece8;border-radius:999px;height:.75rem;overflow:hidden}.bar span{background:#a1261a;height:100%;display:block}.chips{flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;display:flex}.chip{border:1px solid var(--accent);min-height:44px;color:var(--accent);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:0 .875rem}.chip:hover{background:var(--accent-soft)}.chip.on{background:var(--accent);color:#fff}.list .badge{flex:none}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent)}@media (width>=30rem){.who{display:inline-flex}}@media (width>=40rem){.tiles{grid-template-columns:repeat(4,1fr)}.content{max-width:48rem}.role-cards{grid-template-columns:repeat(3,1fr);display:grid}.role-card{flex-direction:column;align-items:flex-start}.role-card .chevron{display:none}.promises{flex-flow:wrap;gap:.5rem 1.5rem}}@media (width>=48rem){.tabbar{box-shadow:none;border:0;gap:.25rem;padding:0;display:flex;position:static}.tabbar a{border-radius:8px;flex-direction:row;gap:.375rem;min-height:44px;padding:0 .75rem;font-size:.9375rem}.tabbar a[aria-current=page]{background:var(--accent-soft)}.shell.has-tabbar{padding-bottom:0}}@media (width<=29.99rem){.subnav{gap:0;padding:0 .25rem}.subnav a{padding:0 .5rem;font-size:.9375rem}.subnav .icon{display:none}}
