*,*:before,*:after{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100%;font-family:var(--zs-font);background:var(--z-bg);color:var(--z-ink);-webkit-font-smoothing:antialiased}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;padding:8px 12px;color:var(--z-surface);background:var(--z-ink);border-radius:8px;z-index:10}.nav{display:flex;flex-direction:column;gap:24px;padding:24px 16px;color:var(--z-surface);background:var(--z-ink)}.nav .wordmark{font-size:1.125rem;font-weight:600;letter-spacing:.01em}.nav ul{list-style:none;margin:0;padding:0}.nav a{display:block;padding:8px 12px;border-left:3px solid transparent;border-radius:6px;color:var(--z-surface);text-decoration:none}.nav a[aria-current=page]{color:var(--z-accent);border-left-color:var(--z-accent)}.nav a:focus-visible{outline:2px solid var(--z-accent);outline-offset:2px}.nav .nav-footer{margin-top:auto;font-size:.8125rem;opacity:.85}.main{padding:48px 32px}.card{max-width:640px;padding:32px;border:1px solid var(--z-border);border-radius:12px;color:var(--z-ink);background:var(--z-surface)}.card h1{margin:0 0 12px;font-size:1.75rem;font-weight:600}.card p{margin:0 0 16px;line-height:1.5}.card>:last-child{margin-bottom:0}.card a{color:var(--z-accent-text)}.card .error{font-weight:600}.muted{opacity:.7}button{font:inherit;padding:10px 18px;border-radius:8px;cursor:pointer}button.primary{border:1px solid var(--z-ink);color:var(--z-surface);background:var(--z-ink)}button.secondary{border:1px solid var(--z-accent-text);color:var(--z-accent-text);background:var(--z-surface)}button:focus-visible{outline:2px solid var(--z-accent-text);outline-offset:2px}@media(max-width:720px){.shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.nav{flex-direction:row;align-items:center;padding:12px 16px}.nav .nav-footer{margin:0 0 0 auto}.main{padding:24px 16px}}.card.wide{max-width:1040px}.summary{font-size:1.125rem}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:0 0 24px}.facts dt{font-size:.8125rem;opacity:.7}.facts dd{margin:4px 0 0}table{width:100%;border-collapse:collapse}caption{text-align:left;padding-bottom:12px}th,td{padding:10px 8px;text-align:left;vertical-align:top;border-bottom:1px solid var(--z-border)}th{font-weight:600}.timeline{list-style:none;margin:0;padding:0}.timeline li{padding:16px 0;border-bottom:1px solid var(--z-border)}.timeline p{margin:0 0 6px}.timeline .act{font-weight:600}.spend{margin:0 0 16px}.spend-label{display:flex;justify-content:space-between;gap:16px;margin-bottom:6px}.meter{height:8px;border:1px solid var(--z-border);border-radius:4px;background:var(--z-bg)}.meter-fill{height:100%;border-radius:3px;background:var(--z-accent-text)}.group-title{margin:24px 0 4px;font-size:1rem;font-weight:600}.actions button{min-height:44px}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 16px;align-items:end;margin:0 0 16px}.filters .actions{margin:0}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.875rem}.field input{font:inherit;padding:8px 10px;border:1px solid var(--z-border);border-radius:8px;color:var(--z-ink);background:var(--z-surface)}.field input:focus-visible{outline:2px solid var(--z-accent-text);outline-offset:1px}.confirm{padding:12px 16px;border:1px solid var(--z-border);border-radius:8px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.person-field{display:flex;flex-direction:column;gap:6px;margin:0 0 12px;font-weight:600}.person-field .field-help{margin:0;font-weight:400}.areas>.field-help{margin:0 0 12px}.person-field .error{font-weight:600}.person-field input,.person-field select,.people-table select{font:inherit;font-weight:400;min-height:40px;padding:8px 10px;border:1px solid var(--z-border);border-radius:8px;color:var(--z-ink);background:var(--z-surface)}.person-field input:focus-visible,.person-field select:focus-visible,.people-table select:focus-visible,.people-table input:focus-visible{outline:2px solid var(--z-accent-text);outline-offset:2px}.invite{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 16px;align-items:end}.areas{margin:0;padding:0;border:0}.check{display:block;margin:0 0 4px}.person-confirm{margin:0 0 24px;padding:16px 20px;border:1px solid var(--z-accent-text);border-radius:8px}.person-confirm h2:focus{outline:none}.notice{font-weight:600}.interrupt{max-width:1040px;margin:0 0 24px;padding:16px 20px;border:2px solid var(--z-accent-text);border-radius:12px;color:var(--z-ink);background:var(--z-surface)}.interrupt .group-title{margin-top:0}.interrupt ul{list-style:none;margin:0;padding:0}.interrupt p{margin:0 0 8px}.interrupt a{color:var(--z-accent-text)}.session{display:flex;flex-direction:column}.session .actions{display:flex;flex-wrap:wrap;gap:8px}.current-step,.plan{margin:0 0 24px}.steps li[aria-current=step] .act{color:var(--z-accent-text)}.plan ul{margin:0;padding-left:20px}@media(max-width:720px){.session .actions button,.current-step .actions button,.plan+.actions button{width:100%}.card{padding:20px 16px}}.stages,.deals{list-style:none;margin:0;padding:0}.stages>li{padding:4px 0 12px;border-bottom:1px solid var(--z-border)}.deals li{padding:4px 0}.deals .act{font-weight:600}.score-parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 16px;margin:8px 0}.score-parts ul{margin:0;padding-left:20px}details summary{cursor:pointer;color:var(--z-accent-text)}details summary:focus-visible{outline:2px solid var(--z-accent-text);outline-offset:2px}.filtered{margin:24px 0 0;padding:12px 16px;border:1px solid var(--z-border);border-radius:8px}.corrections{margin:24px 0;padding:16px 20px;border:1px solid var(--z-border);border-radius:8px}.prose-text{white-space:pre-line}.example-badge{display:inline-block;margin-left:4px;padding:0 6px;border:1px solid var(--z-accent-text);border-radius:4px;color:var(--z-accent-text);background:var(--z-surface);font-size:.75rem;font-weight:600;line-height:1.5;vertical-align:middle}
