:root{color:#18231f;font-synthesis:none;text-rendering:optimizelegibility;background:#eef4f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.page-shell{background:radial-gradient(circle at 15% 12%,#ffffffeb 0 11rem,#0000 28rem),linear-gradient(145deg,#eef4f0 0%,#dbe8e1 100%);place-items:center;min-height:100vh;padding:32px 20px;display:grid}.login-card{background:#fffffff0;border:1px solid #19372f1f;border-radius:24px;width:min(100%,440px);padding:40px;box-shadow:0 24px 60px #19372f1f}.brand-mark{color:#fff;letter-spacing:.08em;background:#19372f;border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:15px;font-weight:750;display:grid}.brand-mark.small{border-radius:11px;width:38px;height:38px;font-size:12px}.eyebrow,.step{color:#4f6c62;letter-spacing:.16em;margin:24px 0 8px;font-size:12px;font-weight:750}.step{color:#277056;margin-top:0}h1{color:#19372f;margin:0;font-size:clamp(28px,6vw,36px);line-height:1.2}h2{color:#19372f;margin:0 0 20px;font-size:22px}h3{color:#19372f;margin:0 0 16px}.lead{color:#50615b;margin:16px 0 28px;font-size:15px;line-height:1.75}.login-form,.form-grid,.field{gap:10px;display:grid}.form-grid{gap:16px}label,legend{color:#263c34;font-size:14px;font-weight:700}input,select,textarea{color:#18231f;background:#fff;border:1px solid #9aafa7;border-radius:10px;width:100%;min-height:48px;padding:11px 14px}textarea{resize:vertical;line-height:1.6}input::placeholder{color:#788b84}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #216b5540}button,a.button{color:#fff;cursor:pointer;background:#19372f;border:0;border-radius:10px;justify-content:center;align-items:center;min-height:48px;margin-top:8px;padding:0 18px;font-weight:750;text-decoration:none;display:inline-flex}button:hover,a.button:hover{background:#245043}button:disabled{cursor:not-allowed;opacity:.46}button.secondary,a.button.secondary{color:#19372f;background:#fff;border:1px solid #9aafa7}button.secondary:hover,a.button.secondary:hover{background:#eef4f0}button.danger{background:#8a2f2f}button.danger:hover{background:#6f2424}button.compact,a.button.compact{min-height:38px;margin:0;padding:0 13px;font-size:13px}.status{color:#667973;min-height:21px;margin:18px 0 0;font-size:13px;line-height:1.6}.auth-tabs{grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 20px;display:grid}.auth-tabs button{min-height:40px;margin:0;padding:0 8px;font-size:12px}.owner-warning{color:#70480e;background:#fff6df;border:1px solid #e2bd76;border-radius:10px;padding:12px 14px;line-height:1.6}.loading{color:#50615b;font-weight:700}.app-shell{background:#eef4f0;min-height:100vh}.app-header{background:#ffffffeb;border-bottom:1px solid #19372f1f;justify-content:space-between;align-items:center;min-height:70px;padding:12px max(20px,50% - 590px);display:flex}.brand{color:#19372f;align-items:center;gap:12px;font-weight:800;text-decoration:none;display:flex}.workspace{width:min(100% - 40px,1180px);margin:0 auto;padding:48px 0 72px}.workspace-heading{justify-content:space-between;align-items:end;gap:32px;display:flex}.workspace-heading .eyebrow{margin-top:0}.compact-field{min-width:min(100%,260px)}.notice{color:#3e6155;min-height:24px;margin:18px 0;font-size:14px}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.panel{background:#fff;border:1px solid #19372f1f;border-radius:18px;min-width:0;padding:28px;box-shadow:0 12px 34px #19372f12}.panel.narrow{width:min(100%,560px)}.full-panel{grid-column:1/-1}.panel-heading-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.panel-heading-row h2{margin-bottom:0}.badge.warning{color:#805313;background:#fff0ce}.sync-note,.period-note{color:#667973;margin:10px 0 0;font-size:13px;line-height:1.6}.warning-text{color:#805313}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 0;display:grid}.metric-grid div{background:#f2f7f4;border-radius:12px;padding:16px}.metric-grid dt{color:#667973;font-size:12px;font-weight:700}.metric-grid dd{color:#19372f;margin:6px 0 0;font-size:24px;font-weight:800}.data-table-wrap{border:1px solid #dce6e1;border-radius:12px;margin-top:22px;overflow-x:auto}.data-table-wrap:focus-visible{outline-offset:2px;outline:3px solid #216b5540}table{border-collapse:collapse;text-align:left;width:100%;min-width:720px}th,td{white-space:nowrap;border-bottom:1px solid #e5ece8;padding:13px 14px;font-size:13px}thead th{color:#536760;background:#f7faf8;font-size:12px}tbody tr:last-child>*{border-bottom:0}code{color:#245d49;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.inset{border-top:1px solid #dce6e1;margin-top:22px;padding-top:22px}.item-list{margin:0;padding:0;list-style:none;display:grid}.item-list li{overflow-wrap:anywhere;border-bottom:1px solid #e5ece8;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.item-list small{color:#697c75}.badge{color:#245d49;background:#e1f0e9;border-radius:999px;flex:none;padding:4px 8px;font-size:12px;font-weight:750}.badge.muted{color:#5d6c67;background:#edf0ef}fieldset{border:1px solid #c4d2cc;border-radius:10px;flex-wrap:wrap;gap:12px 20px;margin:0;padding:12px 14px 14px;display:flex}.check{align-items:center;gap:8px;font-weight:600;display:inline-flex}.check input{accent-color:#216b55;width:20px;min-height:20px;margin:0}.invite-form{grid-template-columns:minmax(220px,1fr) auto auto;align-items:end}.invite-form button{margin:0}.invitation-result{overflow-wrap:anywhere;background:#f1faf6;border:1px solid #9ec9b7;border-radius:14px;margin-top:24px;padding:22px}.invitation-result p{color:#536760;margin:14px 0 6px;font-size:13px;font-weight:700}.invitation-result a{color:#175d47}.invitation-result strong{color:#19372f;letter-spacing:.08em;font-size:clamp(20px,5vw,28px);display:block}.invitation-result small{color:#536760;margin-top:16px;line-height:1.6;display:block}.invitation-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.invitation-create-form button{align-self:end}.action-row{flex-wrap:wrap;gap:8px;display:flex}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.empty{color:#667973;line-height:1.7}.back-button{margin-bottom:24px}.participant-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.participant-heading .eyebrow{margin-top:0}.participant-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0 22px;display:grid}.participant-meta div{background:#fff;border-radius:12px;min-width:0;padding:16px}.participant-meta dt{color:#667973;font-size:12px;font-weight:700}.participant-meta dd{overflow-wrap:anywhere;color:#19372f;margin:6px 0 0;font-weight:750}.detail-panel+.detail-panel{margin-top:22px}.ratio-graph{margin:0;overflow-x:auto}.ratio-graph:focus-visible{outline-offset:2px;outline:3px solid #216b5540}.ratio-graph svg{width:100%;min-width:620px;display:block}.graph-grid{stroke:#dce6e1;stroke-width:1px}.graph-label{fill:#667973;font-size:12px}.graph-line{fill:none;stroke:#2c96c7;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.graph-point{fill:#2c96c7;stroke:#fff;stroke-width:2px}.graph-empty{text-align:center;padding:64px 16px}.ratio-value{min-width:3.4em;font-weight:800;display:inline-block}.ratio-value.low,.ratio-value.high{color:#2c96c7}.ratio-value.unavailable{color:#667973}@media (width<=760px){.workspace{width:min(100% - 28px,1180px);padding-top:32px}.workspace-heading{flex-direction:column;align-items:stretch;gap:4px}.compact-field{width:100%}.panel-grid,.invite-form,.invitation-create-form,.filter-grid{grid-template-columns:1fr}.invite-form button{margin-top:8px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.participant-heading{flex-direction:column;align-items:flex-start}.participant-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.page-shell{padding:20px 14px}.login-card{border-radius:18px;padding:28px 22px}.app-header{padding:12px 14px}.brand>span:last-child{font-size:14px}.panel{border-radius:14px;padding:22px 18px}.item-list li,.panel-heading-row{flex-direction:column;align-items:flex-start}.participant-meta,.auth-tabs{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
