.dash{background:var(--paper-alt);grid-template-columns:1fr;min-height:100vh;display:grid}@media (width>=52rem){.dash{grid-template-columns:15rem minmax(0,1fr)}}.dash__nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:1.5rem;padding:1.5rem 1.25rem;display:flex}@media (width>=52rem){.dash__nav{border-bottom:0;border-right:1px solid var(--line);height:100vh;position:sticky;top:0}}.dash__brand{font-family:var(--font-serif);font-size:var(--step-1);font-weight:600;text-decoration:none}.dash__nav nav ul{flex-wrap:wrap;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}@media (width>=52rem){.dash__nav nav ul{flex-direction:column}}.dash__nav nav a{font-size:var(--step--1);color:var(--ink-soft);border-radius:8px;padding:.5rem .75rem;text-decoration:none;display:block}.dash__nav nav a:hover{background:var(--paper-alt);color:var(--ink)}.dash__nav nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:600}.dash__user{border-top:1px solid var(--line);align-items:center;gap:.6rem;margin-top:auto;padding-top:1rem;display:flex}.dash__user img{border-radius:50%;flex:none}.dash__user-name{font-size:var(--step--1);margin:0;font-weight:600}.dash__user-role{font-size:var(--step--1);color:var(--ink-faint);margin:0}.dash__signout{border:1px solid var(--line);width:100%;color:var(--ink-soft);font:inherit;font-size:var(--step--1);cursor:pointer;background:0 0;border-radius:8px;padding:.5rem}.dash__signout:hover{border-color:var(--accent);color:var(--accent)}.dash__main{min-width:0;padding:clamp(1.5rem,4vw,3rem)}.dash__head{margin-bottom:2rem}.dash__head h1{font-size:var(--step-3);margin-bottom:.25rem}.dash__head p{color:var(--ink-soft);margin:0}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.25rem,3vw,1.75rem)}.panel+.panel{margin-top:1.5rem}.panel__title{font-family:var(--font-sans);font-size:var(--step-0);margin:0 0 1rem;font-weight:600}.stat-row{grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.25rem}.stat__label{font-size:var(--step--1);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.07em;font-family:var(--font-mono);margin:0 0 .35rem}.stat__value{font-family:var(--font-serif);font-size:var(--step-2);margin:0;line-height:1.1}.badge{font-size:var(--step--1);border:1px solid;border-radius:999px;padding:.15em .65em;font-weight:600;display:inline-block}.badge--active{color:#1a7f37}.badge--warn{color:#b35900}.badge--none{color:var(--ink-faint)}.alert{font-size:var(--step--1);border:1px solid;border-radius:8px;margin-bottom:1.5rem;padding:.85rem 1rem}.alert--error{color:#a3222b;background:#fdf2f3;border-color:#e6b8bc}.alert--ok{color:#1a7f37;background:#f2fbf5;border-color:#b6dfc2}@media (prefers-color-scheme:dark){.alert--error{color:#ef9aa2;background:#2a1a1c}.alert--ok{color:#86d29d;background:#16261b}}.field{gap:.35rem;margin-bottom:1rem;display:grid}.field label{font-size:var(--step--1);font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);font:inherit;font-size:var(--step--1);border-radius:8px;padding:.6rem .75rem}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--accent)}.field textarea{min-height:12rem;font-family:var(--font-mono);resize:vertical}.field__hint{font-size:var(--step--1);color:var(--ink-faint);margin:0}.table{border-collapse:collapse;width:100%;font-size:var(--step--1)}.table :is(th,td){text-align:left;border-bottom:1px solid var(--line);padding:.6rem .75rem}.table th{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-weight:500}.table-scroll{padding-bottom:2px;overflow-x:auto}.table td{vertical-align:top}.table code{color:var(--ink-faint);font-size:.85em}.table--wide{min-width:52rem}.table--wide :is(th,td){white-space:nowrap}.table--wide td.cell-wrap{white-space:normal;min-width:15rem}.table--wide td.cell-num{text-align:right;font-variant-numeric:tabular-nums}.cell-sub{font-size:var(--step--1);color:var(--ink-faint);margin-top:.15rem;display:block}.table--checks td:first-child{width:13rem}.table--checks td:nth-child(2){width:6.5rem}.plans{grid-template-columns:repeat(auto-fit,minmax(min(17rem,100%),1fr));gap:1.25rem;display:grid}.plan{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.plan--featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.plan--current{background:var(--accent-soft)}.plan__price{font-family:var(--font-serif);font-size:var(--step-3);margin:0;line-height:1}.plan__price span{font-size:var(--step--1);color:var(--ink-faint);font-family:var(--font-sans)}.plan__features{font-size:var(--step--1);color:var(--ink-soft);gap:.3rem;margin:.5rem 0 1rem;padding:0;list-style:none;display:grid}.plan__features li:before{content:"— ";color:var(--accent)}.plan__actions{gap:.5rem;margin-top:auto;display:grid}.plan__actions button{cursor:pointer;width:100%;font:inherit}.plan__actions button:disabled{opacity:.5;cursor:not-allowed}.login{background:var(--paper-alt);place-items:center;min-height:100vh;padding:2rem 1.25rem;display:grid}.login__card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:24rem;padding:clamp(1.5rem,4vw,2.25rem)}.login__brand{font-family:var(--font-serif);font-size:var(--step-1);margin-bottom:1.5rem;font-weight:600;text-decoration:none;display:block}
