:root{--canvas:#f6f8f7;--surface:#fff;--ink:#14201f;--ink-2:#4b5957;--muted:#7a8886;--line:#dce3e0;--accent:#0e7c6b;--accent-ink:#0b6355;--danger:#b4322a;--radius:10px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:22px}h2{font-size:17px}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.btn{border:1px solid var(--line);background:var(--surface);height:36px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.btn:hover{border-color:#c5cfcb}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.btn-quiet{color:var(--ink-2);background:0 0;border-color:#0000}.btn-quiet:hover{background:#eef2f0;border-color:#0000}.field{gap:6px;display:grid}.field label{color:var(--ink-2);font-size:13px}.input,.select,.textarea{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;height:38px;padding:0 11px}.textarea{resize:vertical;height:auto;min-height:84px;padding:9px 11px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0e7c6b26}.hint{color:var(--muted);font-size:12.5px}.error{color:var(--danger);font-size:13.5px}.login{place-items:center;min-height:100%;padding:24px;display:grid}.login-card{gap:18px;width:100%;max-width:360px;display:grid}.wordmark{letter-spacing:-.02em;font-size:20px;font-weight:600}.wordmark span{color:var(--accent)}.login form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:14px;padding:22px;display:grid}.shell{grid-template-columns:224px 1fr;min-height:100%;display:grid}.side{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;gap:18px;padding:18px 14px;display:flex}.side nav{gap:2px;display:grid}.side nav a{color:var(--ink-2);border-radius:8px;padding:8px 10px;display:block}.side nav a:hover{background:#eef2f0;text-decoration:none}.side nav a.active{color:var(--accent-ink);background:#e6f1ee;font-weight:500}.side .who{color:var(--muted);gap:6px;margin-top:auto;font-size:13px;display:grid}.main{width:100%;max-width:1120px;padding:26px 30px}.page-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.page-head p{color:var(--muted);margin-top:4px}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.table th{color:var(--muted);background:#fafbfb;font-size:12.5px;font-weight:500}.table tr:last-child td{border-bottom:0}.table tr.row-link{cursor:pointer}.table tr.row-link:hover td{background:#f9fbfa}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.pill{border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.pill.on{color:var(--accent-ink);background:#e6f1ee;border-color:#bfe3d9}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:14px;padding:20px;display:grid}.grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.empty{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);padding:42px 20px}.empty strong{color:var(--ink);margin-bottom:4px;display:block}@media (width<=820px){.shell{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center}.side .who{margin-top:0;margin-left:auto}.main{padding:18px}.grid-2{grid-template-columns:1fr}}.range{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.range .input{width:150px;height:34px}.stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.stat-v{letter-spacing:-.02em;font-size:30px;font-weight:600;line-height:1.1}.stat-l{color:var(--ink-2);margin-top:4px}.locked{border:1px solid var(--line);background:#f3f6f5;border-radius:8px;gap:8px;padding:12px 14px;display:grid}@media (width<=820px){.stats{grid-template-columns:1fr}.table{display:block;overflow-x:auto}}.timeline{border-left:2px solid var(--line);gap:16px;margin:0;padding:0 0 0 18px;list-style:none;display:grid}.timeline li{position:relative}.timeline li:before{content:"";background:var(--line);border:2px solid var(--canvas);border-radius:50%;width:9px;height:9px;position:absolute;top:6px;left:-25px}.timeline li:first-child:before{background:var(--accent)}.timeline-when{color:var(--muted);margin-bottom:2px;font-size:12.5px}.legal{gap:18px;max-width:720px;margin:0 auto;padding:40px 24px 72px;display:grid}.legal h2{margin-top:14px}.legal p,.legal li{color:var(--ink-2)}.legal ul{gap:6px;margin:0;padding-left:20px;display:grid}.legal-foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;margin-top:8px;padding-top:16px;font-size:13px;display:flex}.co-grid{grid-template-columns:340px 1fr;align-items:start;gap:24px;display:grid}.co-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:10px;padding:20px;display:grid;position:sticky;top:20px}.co-lines{gap:8px;margin-top:6px;display:grid}.co-line{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.co-total{border-top:2px solid var(--ink);font-weight:600}.co-mount{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:420px;padding:8px}@media (width<=820px){.co-grid{grid-template-columns:1fr}.co-summary{position:static}}
