:root{--bg-app: #fbfaf8;--bg-surface: #ffffff;--bg-surface-subtle: #f5f3ef;--bg-surface-elevated: #ffffff;--bg-card: #ffffff;--bg-card-hover: #ffffff;--border-subtle: #eae7e1;--border-hover: #d7d3cb;--border-focus: #18181b;--primary: #18181b;--primary-hover: #27272a;--primary-glow: rgba(24, 24, 27, .08);--accent-sky: #0284c7;--accent-indigo: #4f46e5;--accent-amber: #d97706;--accent-emerald: #16a34a;--accent-rose: #dc2626;--pill-urgent-bg: #fef2f2;--pill-urgent-text: #b91c1c;--pill-urgent-border: #fecaca;--pill-high-bg: #fffbeb;--pill-high-text: #b45309;--pill-high-border: #fde68a;--pill-medium-bg: #f1f5f9;--pill-medium-text: #475569;--pill-medium-border: #e2e8f0;--pill-low-bg: #f8fafc;--pill-low-text: #64748b;--pill-low-border: #e2e8f0;--text-main: #18181b;--text-muted: #5e5d59;--text-dim: #94918a;--font-heading: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--shadow-xs: 0 1px 2px rgba(28, 25, 23, .03);--shadow-sm: 0 1px 3px rgba(28, 25, 23, .04), 0 2px 6px rgba(28, 25, 23, .02);--shadow-md: 0 4px 12px rgba(28, 25, 23, .05), 0 1px 3px rgba(28, 25, 23, .03);--shadow-lg: 0 20px 40px -10px rgba(28, 25, 23, .12), 0 2px 8px rgba(28, 25, 23, .04);--shadow-card-hover: 0 8px 24px -2px rgba(28, 25, 23, .07), 0 2px 6px rgba(28, 25, 23, .03);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 9999px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-app);color:var(--text-main);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 10% 0%,rgba(242,237,226,.5) 0%,transparent 40%),radial-gradient(circle at 90% 10%,rgba(235,240,245,.4) 0%,transparent 45%);pointer-events:none;z-index:0}.app-container{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1}.navbar{display:flex;align-items:center;justify-content:space-between;padding:.85rem 2.25rem;background:#fbfaf8e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:40;transition:border-color .2s ease}.nav-left{display:flex;align-items:center;gap:1.5rem}.brand{display:flex;align-items:center;gap:.65rem;font-family:var(--font-heading);font-weight:700;font-size:1.15rem;color:var(--text-main);text-decoration:none;letter-spacing:-.025em}.brand-icon{width:30px;height:30px;background:var(--primary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 1px 3px #0000001a}.team-selector{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--border-subtle);padding:.42rem .85rem;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-size:.85rem;font-weight:500;color:var(--text-main);box-shadow:var(--shadow-xs)}.team-selector:hover{border-color:var(--border-hover);background:#fdfdfc}.team-selector:focus{outline:none;border-color:var(--border-focus)}.nav-right{display:flex;align-items:center;gap:.85rem}.cloud-pill{display:flex;align-items:center;gap:.5rem;padding:.38rem .8rem;border-radius:var(--radius-full);font-size:.75rem;font-family:var(--font-mono);font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid var(--border-subtle);background:#fff;box-shadow:var(--shadow-xs)}.cloud-pill.local{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.cloud-pill.local:hover{background:#dcfce7;border-color:#86efac}.cloud-pill.postgres{background:#f0f9ff;color:#0369a1;border-color:#bae6fd}.cloud-pill.postgres:hover{background:#e0f2fe}.cloud-indicator-dot{width:7px;height:7px;border-radius:50%;background-color:currentColor;animation:pulseGlow 2.5s infinite}@keyframes pulseGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.board-header{display:flex;align-items:center;justify-content:space-between;padding:1.75rem 2.25rem 1.25rem;flex-wrap:wrap;gap:1.25rem}.board-title-group h1{font-family:var(--font-heading);font-size:1.55rem;font-weight:700;letter-spacing:-.03em;color:var(--text-main)}.board-description{font-size:.875rem;color:var(--text-muted);margin-top:.25rem;line-height:1.5}.board-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.46rem .85rem;color:var(--text-main);width:220px;box-shadow:var(--shadow-xs);transition:all .2s ease}.search-box:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus)}.search-box input{background:transparent;border:none;outline:none;color:var(--text-main);font-size:.85rem;font-family:var(--font-body);width:100%}.search-box input::placeholder{color:var(--text-dim)}.filter-select{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.46rem .85rem;color:var(--text-muted);font-family:var(--font-body);font-size:.85rem;outline:none;cursor:pointer;box-shadow:var(--shadow-xs);transition:all .2s ease}.filter-select:hover{border-color:var(--border-hover);color:var(--text-main)}.filter-select:focus{border-color:var(--border-focus)}.btn-primary{display:flex;align-items:center;gap:.45rem;background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:var(--radius-md);padding:.48rem .95rem;font-size:.85rem;font-weight:600;font-family:var(--font-heading);cursor:pointer;transition:all .18s ease;box-shadow:var(--shadow-xs)}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-secondary{display:flex;align-items:center;gap:.45rem;background:#fff;color:var(--text-main);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.46rem .85rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .18s ease;box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:#fdfdfc;border-color:var(--border-hover)}.kanban-board{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;padding:0 2.25rem 2.25rem;overflow-x:auto;align-items:flex-start;min-height:calc(100vh - 190px)}@media (max-width: 1100px){.kanban-board{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.kanban-board{grid-template-columns:1fr;padding:0 1.25rem 1.5rem}}.kanban-column{background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1rem;display:flex;flex-direction:column;gap:.75rem;min-height:480px;transition:border-color .2s ease,background-color .2s ease}.column-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.6rem;border-bottom:1px solid rgba(0,0,0,.04)}.column-title-wrap{display:flex;align-items:center;gap:.5rem}.column-dot{width:7px;height:7px;border-radius:50%}.column-dot.todo{background-color:var(--accent-sky)}.column-dot.in_progress{background-color:var(--accent-indigo)}.column-dot.review{background-color:var(--accent-amber)}.column-dot.done{background-color:var(--accent-emerald)}.column-name{font-family:var(--font-heading);font-weight:600;font-size:.88rem;color:var(--text-main);letter-spacing:-.01em}.task-count{font-family:var(--font-mono);font-size:.72rem;background:#eae7e0;padding:.15rem .5rem;border-radius:var(--radius-full);color:var(--text-muted);font-weight:500}.column-tasks{display:flex;flex-direction:column;gap:.75rem;flex:1}.task-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:.55rem;position:relative;box-shadow:var(--shadow-sm)}.task-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.task-top-meta{display:flex;align-items:center;justify-content:space-between}.priority-pill{font-family:var(--font-mono);font-size:.68rem;font-weight:600;text-transform:uppercase;padding:.18rem .48rem;border-radius:4px;letter-spacing:.03em}.priority-pill.urgent{background:var(--pill-urgent-bg);color:var(--pill-urgent-text);border:1px solid var(--pill-urgent-border)}.priority-pill.high{background:var(--pill-high-bg);color:var(--pill-high-text);border:1px solid var(--pill-high-border)}.priority-pill.medium{background:var(--pill-medium-bg);color:var(--pill-medium-text);border:1px solid var(--pill-medium-border)}.priority-pill.low{background:var(--pill-low-bg);color:var(--pill-low-text);border:1px solid var(--pill-low-border)}.task-title{font-size:.92rem;font-weight:600;color:var(--text-main);line-height:1.4;letter-spacing:-.015em}.task-description{font-size:.8rem;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-bottom-meta{display:flex;align-items:center;justify-content:space-between;margin-top:.25rem;padding-top:.55rem;border-top:1px solid rgba(0,0,0,.05)}.due-badge{display:flex;align-items:center;gap:.35rem;font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted)}.due-badge.urgent-due{color:#b91c1c;background:#fef2f2;padding:2px 6px;border-radius:4px;border:1px solid #fee2e2;font-weight:600}.avatar{width:24px;height:24px;border-radius:50%;background:#f1f0ec;border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600;color:var(--text-main);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.quick-move-wrap{display:flex;align-items:center;gap:.25rem}.btn-move-step{background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-dim);padding:2px 4px;cursor:pointer;transition:all .15s ease}.btn-move-step:hover{color:var(--text-main);background:#f1f0ec;border-color:var(--border-subtle)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c191759;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:100%;max-width:520px;padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem;box-shadow:var(--shadow-lg);animation:slideUp .2s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--text-main)}.close-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:4px;border-radius:4px;transition:color .15s ease}.close-btn:hover{color:var(--text-main)}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group label{font-size:.8rem;font-weight:500;color:var(--text-muted)}.form-input,.form-textarea,.form-select{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.6rem .8rem;color:var(--text-main);font-family:var(--font-body);font-size:.88rem;outline:none;transition:all .2s ease}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;margin-top:.5rem}.cloud-drawer{position:fixed;top:0;right:0;width:440px;max-width:90vw;height:100vh;background:#fff;border-left:1px solid var(--border-subtle);padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem;z-index:110;overflow-y:auto;box-shadow:-10px 0 35px #1c191714;animation:slideFromRight .25s cubic-bezier(.16,1,.3,1)}@keyframes slideFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}.sre-metric-card{background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;gap:.4rem}.metric-label{font-size:.72rem;font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.metric-val{font-size:1.15rem;font-family:var(--font-mono);font-weight:700;color:var(--text-main)}.budget-bar-track{width:100%;height:6px;background:#eae7e0;border-radius:var(--radius-full);overflow:hidden;margin-top:.4rem}.budget-bar-fill{height:100%;background:var(--accent-emerald);border-radius:var(--radius-full)}.reminder-result-box{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.75rem;font-family:var(--font-mono);font-size:.75rem;max-height:180px;overflow-y:auto;color:var(--text-main);line-height:1.5}
