:root{--red: #fe4344;--red-dark: #d92f30;--red-tint: #fff0f0;--ink: #1a1a1e;--text-muted: #6b7280;--bg: #ffffff;--panel: #ffffff;--panel-alt: #fafafa;--border: #e8e8ea;--green: #1f9d55;--green-bg: #eafaf0;--amber: #d98a1f;--amber-bg: #fdf3e2;--slate: #9ca3af;--slate-bg: #f1f2f4;--radius: 14px;--pill: 999px;--mono: "JetBrains Mono", ui-monospace, monospace;--sans: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);background:var(--bg);color:var(--ink)}.app{min-height:100vh;display:flex;flex-direction:column}.header{padding:24px 32px 20px}.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.logo-mark{height:40px;display:block}.header-top-right{display:flex;align-items:center;gap:16px}.lang-switch{display:flex;gap:2px;align-items:center;font-family:var(--mono);font-size:13px;background:var(--panel-alt);border-radius:var(--pill);padding:3px}.lang-switch button{border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:5px 12px;border-radius:var(--pill);font-family:var(--mono);font-size:13px}.lang-switch button.active{background:var(--red);color:#fff}.account{font-size:13px;color:var(--text-muted);display:flex;align-items:center;gap:8px}.account button{border:1px solid var(--border);background:#fff;border-radius:var(--pill);padding:5px 14px;cursor:pointer;font-size:12px}.header-title{text-align:center}.header h1{font-size:36px;font-weight:800;color:var(--red);margin:0 0 12px;letter-spacing:-.02em}.header p{max-width:640px;margin:0 auto;color:var(--text-muted);line-height:1.55;font-size:15px}.filters{margin:24px 32px 0;background:var(--panel-alt);border:1px solid var(--border);border-radius:var(--radius);padding:28px 32px}.filter-group{margin-bottom:22px}.filter-group:last-child{margin-bottom:0}.filter-label{display:flex;align-items:center;justify-content:center;gap:6px;font-weight:700;font-size:14px;color:var(--ink);margin-bottom:14px}.chip-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.chip{border:1px solid var(--border);background:#fff;border-radius:var(--pill);padding:7px 16px;font-size:13px;font-weight:500;cursor:pointer;color:var(--ink);display:inline-flex;align-items:center;gap:6px;transition:filter .15s ease,transform .1s ease,background .15s ease}.chip:hover{filter:brightness(.98);border-color:#d7d7d9}.chip:active{transform:scale(.98)}.chip.active{background:var(--red);border-color:var(--red-dark);color:#fff;font-weight:700}.chip.focus-chip.active{color:#fff}.chip-row select.filter-select{border:1px solid var(--border);background:#fff;border-radius:var(--pill);padding:7px 14px;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;font-family:var(--sans)}.chip-row select.filter-select:hover{border-color:#d7d7d9}.quarter-focus{margin:24px 32px 0;background:var(--red-tint);border:1px solid #ffd4d4;border-radius:var(--radius);padding:20px 26px;display:flex;gap:14px;position:relative}.quarter-focus .icon{font-size:18px;line-height:1.4}.quarter-focus-body{flex:1;padding-right:30px}.quarter-focus h3{margin:0 0 6px;font-size:15px;color:var(--red-dark)}.quarter-focus p{margin:0;font-size:14px;line-height:1.6;color:#7a2626}.quarter-focus-empty{font-style:italic;color:#b06a6a}.quarter-focus-edit{position:absolute;top:16px;right:16px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid #ffd4d4;background:#fff;border-radius:var(--pill);color:var(--red-dark);cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease}.quarter-focus:hover .quarter-focus-edit,.quarter-focus-edit:focus-visible{opacity:1}.quarter-focus-edit:hover{background:var(--red-tint)}.quarter-focus-textarea{width:100%;min-height:90px;border:1px solid #ffd4d4;border-radius:8px;padding:10px 12px;margin-top:2px;font-family:var(--sans);font-size:14px;color:#7a2626;background:#fff;resize:vertical}.quarter-focus-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}@media (max-width: 720px){.quarter-focus-edit{opacity:1}}.toolbar{margin:20px 32px 0;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.btn{border:none;border-radius:var(--pill);padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--red-dark)}.btn-secondary{background:#fff;border:1px solid var(--border);color:var(--ink)}.btn-secondary:hover{border-color:#d7d7d9;background:var(--panel-alt)}.btn-danger{background:transparent;color:#c0362c;border:1px solid #f0c7c2}.grid{margin:24px 32px 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px;flex:1}@media (max-width: 1100px){.grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 720px){.grid{grid-template-columns:1fr;gap:20px}.filters,.quarter-focus,.toolbar,.grid{margin-left:16px;margin-right:16px}.filters{padding:20px}.header{padding:20px 16px 16px}.header-top{flex-wrap:wrap;gap:12px}.header h1{font-size:28px}.header p{font-size:14px}.toolbar{justify-content:stretch}.toolbar .btn{flex:1;text-align:center}.footer{flex-direction:column;align-items:center;text-align:center}.footer .stats,.status-group{justify-content:center}}@media (max-width: 480px){.card{padding:16px 18px}.card-fields{grid-template-columns:1fr}.chip{padding:6px 12px;font-size:12px}.icon-picker{grid-template-columns:repeat(auto-fill,minmax(34px,1fr))}.modal{padding:20px}}.card{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--slate);border-radius:var(--radius);padding:20px 22px;display:flex;flex-direction:column;gap:12px;position:relative}.card[data-status=done]{border-left-color:var(--green)}.card[data-status=doing]{border-left-color:var(--amber)}.card-top{display:flex;justify-content:space-between;align-items:center}.focus-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 12px;border-radius:var(--pill);color:#fff;font-family:var(--mono);text-transform:lowercase}.card-quarter{font-size:12px;color:var(--text-muted);font-family:var(--mono)}.card h4{margin:0;font-size:17px;font-weight:700;color:var(--ink)}.card p.desc{margin:0;font-size:13.5px;color:var(--text-muted);line-height:1.5;flex:1}.card-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:4px}.field label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:4px;font-weight:600}.field select{width:100%;padding:7px 8px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:#fff;color:var(--ink);font-family:var(--sans)}.card-delete{position:absolute;top:14px;right:14px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:13px;opacity:0;transition:opacity .15s ease}.card:hover .card-delete{opacity:1}.no-results{grid-column:1 / -1;text-align:center;color:var(--text-muted);padding:60px 0;font-size:14px}.footer{margin-top:auto;border-top:1px solid var(--border);padding:16px 32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--text-muted)}.footer .stats{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.footer .stats>span{display:inline-flex;align-items:center;height:30px}.status-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.footer .stats b{color:var(--ink)}.stat-btn{display:inline-flex;align-items:center;height:30px;border:1px solid var(--border);background:#fff;border-radius:var(--pill);padding:0 14px;font-size:13px;color:var(--text-muted);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.stat-btn:hover{border-color:#d7d7d9}.stat-btn.active{background:var(--red);border-color:var(--red-dark);color:#fff}.stat-btn.active b{color:#fff}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141673;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal{background:#fff;border-radius:16px;padding:28px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto}.modal h2{margin:0 0 18px;font-size:19px;color:var(--ink)}.modal .field{margin-bottom:16px}.modal label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink)}.modal input[type=text],.modal textarea,.modal select,.modal input[type=color]{width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:var(--sans)}.modal textarea{resize:vertical;min-height:70px}.field-hint{margin:6px 0 0;font-size:12px;color:var(--text-muted);font-weight:400}.icon-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.icon-option{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border:1px solid var(--border);background:#fff;border-radius:10px;color:var(--text-muted);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.icon-option:hover{border-color:#d7d7d9;background:var(--panel-alt)}.icon-option.active{border-color:var(--red);background:var(--red-tint);color:var(--red)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.modal-error{color:#c0362c;font-size:13px;margin-bottom:12px}.signin-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px}.signin-screen .logo-mark{height:48px;margin-bottom:8px}.signin-screen h1{color:var(--red);font-size:26px;margin:0}.signin-screen p{color:var(--text-muted);max-width:360px;margin:0}.signin-btn{margin-top:8px;background:var(--red);color:#fff;border:none;padding:12px 24px;border-radius:var(--pill);font-weight:600;cursor:pointer;font-size:14px}.signin-btn:hover{background:var(--red-dark)}
