*{box-sizing:border-box;margin:0;padding:0}:root{--sf-navy:#001639;--sf-dark-blue:#032d60;--sf-blue:#0176d3;--sf-light-blue:#1b96ff;--sf-cloud:#00a1e0;--sf-success:#2e844a;--sf-warning:#dd7a01;--sf-error:#ea001e;--sf-purple:#9050e9;--bg-primary:#001639;--bg-secondary:#032d60;--bg-card:#ffffff0a;--bg-card-hover:#ffffff12;--border:#ffffff1a;--border-accent:#0176d34d;--text-primary:#fff;--text-secondary:#ffffffb3;--text-muted:#fff6;--color-new:#1b96ff;--color-backlog:#dd7a01;--color-active:#2e844a;--color-review:#9050e9;--color-waiting:#dd7a01;--color-closed:#ffffff40;--color-other:#ffffff26}body{background:linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);color:var(--text-primary);background-attachment:fixed;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:var(--sf-light-blue);text-decoration:none}a:hover{text-decoration:underline}.app{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#001639f2;flex-shrink:0;width:200px;padding:16px 0;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar h1{color:var(--text-primary);border-bottom:1px solid var(--border);letter-spacing:.5px;margin-bottom:8px;padding:0 16px 12px;font-size:14px;font-weight:700}.sidebar nav a{color:var(--text-secondary);border-left:3px solid #0000;padding:7px 16px;font-size:12px;transition:all .15s;display:block}.sidebar nav a:hover,.sidebar nav a.active{color:var(--text-primary);border-left-color:var(--sf-light-blue);background:#0176d31f;text-decoration:none}.main{flex:1;min-width:0;max-width:1200px;margin-left:200px;padding:24px}.app.fullscreen .sidebar{display:none}.app.fullscreen .main{max-width:none;margin-left:0;padding:32px 48px}.app.fullscreen .present-toggle{z-index:200;position:fixed;top:12px;right:12px}.present-toggle{z-index:200;color:var(--sf-light-blue);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.3px;background:#0176d333;border:1px solid #0176d34d;border-radius:6px;padding:6px 14px;font-size:11px;font-weight:500;transition:all .15s;position:fixed;bottom:16px;right:16px}.present-toggle:hover{background:#0176d359}.cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:20px;display:grid}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:14px 16px;transition:border-color .2s}.card:hover{border-color:var(--border-accent)}.card .label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px;font-size:10px}.card .value{color:var(--text-primary);font-size:24px;font-weight:700}.card .value.small{font-size:18px}.section{background:var(--bg-card);border:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:8px;margin-bottom:20px;padding:20px}.section h2{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;font-size:13px;font-weight:600}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar select,.toolbar input,.toolbar button{border:1px solid var(--border);color:var(--text-primary);background:#00163999;border-radius:6px;padding:5px 10px;font-size:12px}.toolbar select:focus,.toolbar input:focus{border-color:var(--sf-light-blue);outline:none}.toolbar button{color:var(--sf-light-blue);cursor:pointer;background:#0176d333;border-color:#0176d34d;font-weight:500}.toolbar button:hover{background:#0176d359}.toolbar button.secondary{border-color:var(--border);color:var(--text-secondary);background:#ffffff0f}.toolbar button.secondary:hover{background:#ffffff1a}.toolbar label{color:var(--text-secondary);font-size:11px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-bottom:1px solid #ffffff26;padding:8px 12px;font-size:10px;font-weight:500}td{vertical-align:top;color:var(--text-secondary);border-bottom:1px solid #ffffff0d;padding:7px 12px}tr:hover td{background:#ffffff08}td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-primary)}td.compact,th.compact{white-space:nowrap;width:1%;padding-right:16px}td.wide{word-break:break-word}table.resizable th{resize:horizontal;overflow:hidden}table.resizable{table-layout:auto}.tag{border-radius:12px;margin:1px 3px 1px 0;padding:2px 8px;font-size:10px;font-weight:500;display:inline-block}.tag.status-new{color:var(--sf-light-blue);background:#1b96ff26}.tag.status-backlog{color:var(--sf-warning);background:#dd7a0126}.tag.status-active{color:#3fb950;background:#2e844a26}.tag.status-review{color:var(--sf-purple);background:#9050e926}.tag.status-waiting{color:var(--sf-warning);background:#dd7a0126}.tag.status-closed{color:var(--text-muted);background:#ffffff0f}.tag.status-other{color:var(--text-muted);background:#ffffff0a}.tag.theme{color:var(--sf-light-blue);background:#1b96ff1a;border:1px solid #1b96ff33}.pill-group{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.pill{cursor:pointer;border:1px solid var(--border);color:var(--text-secondary);background:0 0;border-radius:16px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;transition:all .15s;display:inline-flex}.pill:hover{border-color:var(--sf-light-blue);color:var(--text-primary)}.pill.active{color:var(--sf-light-blue);background:#0176d333;border-color:#0176d366}.pill .count{opacity:.7;font-size:10px}.loading,.error-msg{text-align:center;color:var(--text-muted);padding:40px}.error-msg{color:var(--sf-error)}.pagination{color:var(--text-secondary);align-items:center;gap:8px;margin-top:12px;font-size:12px;display:flex}.pagination button{border:1px solid var(--border);color:var(--text-primary);cursor:pointer;background:#ffffff0f;border-radius:6px;padding:4px 12px;font-size:11px}.pagination button:disabled{opacity:.3;cursor:default}.pagination button:not(:disabled):hover{background:#ffffff1a}@media (width<=900px){.sidebar{display:none}.main{margin-left:0}}.recharts-cartesian-grid line{stroke:#ffffff0f}.recharts-text{fill:var(--text-muted)}
