:root{--bg:#0b1220;--surface:#121b2c;--surface-2:#18243a;--line:#24334d;--ink:#eef3fa;--muted:#8fa3bf;--accent:#1e93c6;--accent-soft:#1e93c629;--bug:#e0674f;--feature:#7c6bd4;--ok:#3fae82;--warn:#d79a3a;--radius:10px;--font:"Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.55}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}.shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:22px;padding:20px 14px;display:flex}.brand{letter-spacing:-.2px;align-items:center;gap:9px;font-size:17px;font-weight:700;display:flex}.brand-mark{object-fit:contain;width:26px;height:26px;display:block}.nav{flex-direction:column;gap:2px;display:flex}.nav a{color:var(--muted);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;font-weight:500;text-decoration:none;display:flex}.nav a:hover{background:var(--surface-2);color:var(--ink)}.nav a.active{background:var(--accent-soft);color:var(--ink)}.whoami{border-top:1px solid var(--line);gap:6px;margin-top:auto;padding-top:14px;display:grid}.whoami .name{font-weight:600}.whoami .email{color:var(--muted);word-break:break-all;font-size:12px}.main{min-width:0;padding:26px 28px 56px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-head h1{letter-spacing:-.3px;margin:0;font-size:22px;font-weight:700}.page-head p{color:var(--muted);margin:4px 0 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.card-pad{padding:16px 18px}.stat-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:22px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.stat .label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.stat .value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:26px;font-weight:700}.pill{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-flex}.pill-bug{color:#f0a494;background:#e0674f26;border-color:#e0674f59}.pill-feature{color:#b3a8ef;background:#7c6bd429;border-color:#7c6bd461}.pill-role{background:var(--surface-2);color:var(--muted);border-color:var(--line)}.pill-crit{color:#f2938f;background:#e0514f2e;border-color:#e0514f66}.pill-high{color:#e8bd72;background:#d79a3a29;border-color:#d79a3a5c}.btn{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;border-radius:8px;padding:8px 14px;font-weight:600}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{filter:brightness(1.08)}.google-btn{color:#1f1f1f;background:#fff;border-color:#fff;justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.google-btn:hover:not(:disabled){filter:brightness(.96);border-color:#fff}.google-btn:disabled{opacity:.7;cursor:not-allowed}.auth-separator{color:var(--muted);align-items:center;gap:10px;margin:16px 0;font-size:12px;display:flex}.auth-separator:before,.auth-separator:after{content:"";background:var(--line);flex:1;height:1px}.btn-ghost{background:0 0}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:5px 10px;font-size:12px}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.field{gap:6px;margin-bottom:14px;display:grid}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.field input,.field textarea,.field select{background:var(--bg);border:1px solid var(--line);border-radius:8px;width:100%;padding:10px 12px}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:1px}.field textarea{resize:vertical;min-height:110px}.notice{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:8px;padding:10px 14px}.notice-error{color:#f2938f;background:#e0514f1a;border-color:#e0514f80}.board{grid-auto-columns:minmax(240px,1fr);grid-auto-flow:column;align-items:start;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.column{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;min-height:140px;display:flex}.column-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.column-head .title{letter-spacing:.02em;font-size:13px;font-weight:700}.column-head .count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.column-body{gap:9px;padding:10px;display:grid}.column.drop-target{border-color:var(--accent);background:var(--surface-2)}.ticket{background:var(--surface-2);border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:9px;gap:7px;width:100%;padding:11px 12px;display:grid}.ticket:hover{border-color:var(--accent)}.ticket.dragging{opacity:.45}.ticket .t-title{font-weight:600;line-height:1.35}.ticket .t-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.empty{color:var(--muted);text-align:center;padding:10px;font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 12px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}td.num{font-variant-numeric:tabular-nums}.auth-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{width:100%;max-width:380px}.detail-grid{grid-template-columns:minmax(0,2fr) minmax(220px,1fr);align-items:start;gap:16px;display:grid}@media (width<=860px){.shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;gap:14px;padding:12px 14px;overflow-x:auto}.nav{flex-direction:row}.whoami{display:none}.main{padding:18px 16px 48px}.detail-grid{grid-template-columns:1fr}}
