:root{--bg: #0d0f13;--surface: #14171e;--surface-2: #1b1f28;--border: #262c38;--text: #e7eaf0;--muted: #9099ab;--accent: #5aa9ff;--brand: #2fb6a8;--good: #3ecf8e;--warn: #f0b132;--bad: #f2555a;--radius: 8px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,.button{font:inherit;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#07101d;font-weight:600}button.danger{border-color:var(--bad);color:var(--bad)}input,select,textarea{font:inherit;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.layout{display:grid;grid-template-columns:216px 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:18px 14px}.sidebar h1{font-size:15px;margin:0 0 6px;letter-spacing:-.01em;display:flex}.sidebar .org{color:var(--muted);font-size:12px;margin-bottom:18px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{padding:7px 10px;border-radius:6px;color:var(--text);font-size:13px;display:flex;justify-content:space-between;align-items:center}.sidebar nav a.active{background:var(--surface-2);color:var(--accent)}.sidebar nav a:hover{text-decoration:none;background:var(--surface-2)}.sidebar footer{margin-top:24px;font-size:12px;color:var(--muted)}main{padding:24px 28px 64px;max-width:1180px}.page-head{display:flex;align-items:baseline;gap:12px;margin-bottom:18px;flex-wrap:wrap}.page-head h2{margin:0;font-size:20px;letter-spacing:-.01em}.page-head .spacer{flex:1}.subtitle{color:var(--muted);font-size:13px;margin:-8px 0 18px;max-width:70ch}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.card h3{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:6px 10px;border-bottom:1px solid var(--border)}td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-2)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}.badge.good{color:var(--good);border-color:#3ecf8e66}.badge.warn{color:var(--warn);border-color:#f0b13266}.badge.bad{color:var(--bad);border-color:#f2555a66}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.empty{color:var(--muted);padding:18px 2px;font-size:13px}.error{background:#f2555a1f;border:1px solid rgba(242,85,90,.4);color:#ffc9cb;border-radius:var(--radius);padding:10px 12px;margin-bottom:14px;font-size:13px}.notice{background:#5aa9ff1a;border:1px solid rgba(90,169,255,.35);border-radius:var(--radius);padding:10px 12px;margin-bottom:14px;font-size:13px}.form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.form-row label{font-size:12px;color:var(--muted);min-width:110px}.stat{font-size:26px;font-weight:600;letter-spacing:-.02em}.stat-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.column{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.column.done{border-color:#3ecf8e4d}.column ul{list-style:none;margin:0;padding:0}.column li{display:flex;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:6px;background:var(--surface-2);margin-bottom:5px}.column li time{color:var(--muted);font-size:12px}.signin{max-width:340px;margin:14vh auto}.signin .card{padding:22px}.signin h1{font-size:19px;margin:0 0 6px}.signin p{color:var(--muted);font-size:13px;margin-top:0}.signin input{width:100%;margin-bottom:10px}.signin button.google{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#1f1f1f;border-color:#dadce0;font-weight:500}.signin button.google:hover:not(:disabled){background:#f6f7f9;border-color:#c9cdd2}.signin .divider{display:flex;align-items:center;gap:10px;margin:14px 0 12px;color:var(--muted);font-size:12px}.signin .divider:before,.signin .divider:after{content:"";flex:1;height:1px;background:var(--border)}.signin button{width:100%}.graph{display:flex;flex-direction:column;gap:8px}.graph-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.type-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;font-size:13px}.type-chip.entry{border-color:#5aa9ff80}.arrow{color:var(--muted)}
