:root{--font-ui: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--bg: #090f1f;--bg-elevated: #101a30;--surface: #13203b;--surface-2: #0f1830;--text: #e8eefc;--muted: #9daaca;--primary: #46b7d8;--primary-strong: #2ea8cb;--danger: #ff7c89;--danger-soft: #3a1a26;--border: #223354;--shadow: 0 20px 40px rgba(0, 0, 0, .28);--topbar-bg: rgba(10, 17, 34, .84);--chip-bg: rgba(70, 183, 216, .18);--overlay: rgba(5, 10, 20, .66);--state-bg: rgba(16, 26, 48, .72);--table-row: #182745;--page-glow-1: rgba(40, 120, 255, .2);--page-glow-2: rgba(58, 198, 172, .16);--text-secondary: var(--muted);--border-color: var(--border);--text-primary: var(--text);--bg-app: var(--bg);--bg-card: var(--surface);--bg-input: var(--surface-2);--primary-hover: var(--primary-strong);font-family:var(--font-ui);color:var(--text);background:var(--bg);line-height:1.4;font-weight:400}:root[data-theme=light]{--bg: #eff4ff;--bg-elevated: #ffffff;--surface: #ffffff;--surface-2: #f8fbff;--text: #18253d;--muted: #5a6881;--primary: #0c83ad;--primary-strong: #096c8f;--danger: #be2e48;--danger-soft: #ffe8ed;--border: #d6e0f1;--shadow: 0 16px 30px rgba(18, 35, 62, .08);--topbar-bg: rgba(255, 255, 255, .86);--chip-bg: #e6f6fd;--overlay: rgba(18, 28, 44, .36);--state-bg: #ffffff;--table-row: #edf2fb;--page-glow-1: rgba(56, 126, 255, .14);--page-glow-2: rgba(17, 194, 160, .11)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-ui);background:radial-gradient(circle at 0% 0%,var(--page-glow-1),transparent 45%),radial-gradient(circle at 100% 20%,var(--page-glow-2),transparent 38%),linear-gradient(160deg,var(--bg),var(--bg-elevated));color:var(--text);transition:background .25s ease,color .25s ease}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.screen-center{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-screen{background:radial-gradient(circle at 20% 10%,var(--page-glow-1),transparent 40%),radial-gradient(circle at 80% 90%,var(--page-glow-2),transparent 42%),linear-gradient(165deg,var(--bg),var(--bg-elevated))}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--topbar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.75rem 1rem;border-bottom:1px solid var(--border)}.topbar-left{display:flex;align-items:center;gap:1rem}.brand{font-weight:700}.nav-links{display:flex;gap:1rem}.nav-links a{color:var(--muted)}.nav-links a.active{color:var(--text);font-weight:600}.user-actions{display:flex;align-items:center;gap:.75rem}.overdue-trigger{white-space:nowrap}.user-name{font-size:.9rem;color:var(--muted)}.content{max-width:1200px;margin:0 auto;padding:1rem;display:grid;gap:1rem}.page-title{font-size:1.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1rem;box-shadow:var(--shadow)}.login-card{width:min(420px,100%);display:grid;gap:1rem}label{display:grid;gap:.4rem;font-size:.9rem}input,select,textarea,button{font:inherit}input,select,textarea{border:1px solid var(--border);border-radius:10px;padding:.6rem .75rem;background:var(--surface-2);color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid rgba(70,183,216,.45);outline-offset:1px}textarea{resize:vertical}.btn{border:1px solid transparent;border-radius:10px;padding:.55rem .85rem;background:var(--primary);color:#fff;cursor:pointer;transition:transform .16s ease,background .2s ease}.btn:hover{background:var(--primary-strong);transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn.secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn.danger{background:var(--danger-soft);border-color:var(--border);color:var(--danger)}.btn.small{font-size:.82rem;padding:.4rem .62rem}.theme-toggle{display:inline-flex;align-items:center;gap:.35rem}.theme-label{color:var(--muted);font-size:.85rem}.inline-btn{margin-top:.75rem;width:fit-content}.btn-inline{width:fit-content;padding:.35rem .6rem;font-size:.8rem}.form-error{color:var(--danger);font-size:.9rem}.state-block{background:var(--state-bg);border:1px dashed var(--border);border-radius:12px;padding:1rem;text-align:center;color:var(--muted)}.state-block.error{color:var(--danger)}.welcome-card{display:grid;gap:.5rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.summary-item{display:grid;gap:.35rem}.summary-item span{color:var(--muted);font-size:.85rem}.summary-item strong{font-size:1.4rem}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.recent-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.recent-item{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:10px;padding:.75rem}.recent-item p,.recent-item small{color:var(--muted)}.controls{display:grid;gap:.75rem}.controls-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.toggle-group{display:flex;gap:.5rem}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.kanban-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:.75rem;align-items:start}.kanban-column{display:grid;gap:.75rem;min-height:220px}.column-header{display:flex;align-items:center;justify-content:space-between}.column-body{display:grid;gap:.6rem}.task-card{border:1px solid var(--border);border-radius:10px;padding:.7rem;display:grid;gap:.5rem;background:var(--surface-2)}.task-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.task-user-chip{background:var(--chip-bg);color:var(--text-primary);border-radius:4px;font-size:.7rem;white-space:nowrap;padding:2px 6px}.task-preview{font-size:.9rem;color:var(--text-secondary);margin-bottom:.25rem}.task-deadline{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.8rem}.task-link{color:var(--primary);cursor:pointer;margin-left:4px;font-size:.8rem}.task-footer{display:grid;gap:.45rem;margin-top:auto;padding-top:.5rem;border-top:1px solid var(--border-color)}.task-status-select{width:100%;font-size:.85rem;padding:4px}.task-card-buttons{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.task-card p,.task-card small,tbody td p{color:var(--muted)}.task-card p,tbody td p{word-break:break-word}.task-actions{display:flex;gap:.5rem}.task-actions.row{flex-wrap:wrap}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}thead th{text-align:left;font-size:.85rem;color:var(--muted);border-bottom:1px solid var(--border);padding:.6rem}tbody td{border-bottom:1px solid var(--table-row);padding:.6rem;vertical-align:top}tbody td p{color:var(--muted);margin-top:.2rem}.badge{border-radius:999px;padding:.3rem .55rem;font-size:.78rem;font-weight:600}.overdue-badge{background:#4a1b2a;color:#ffb7c4}.overdue-text{color:var(--danger);font-size:.78rem;margin-top:.2rem}.badge-created{background:#1a3458;color:#89c8ff}.badge-in_progress{background:#3a2f17;color:#ffd36f}.badge-in_validation{background:#2f2852;color:#b8b1ff}.badge-finished{background:#1c3f2e;color:#8ce6b4}:root[data-theme=light] .badge-created{background:#ebf5ff;color:#205eaa}:root[data-theme=light] .badge-in_progress{background:#fff7e7;color:#9c6500}:root[data-theme=light] .badge-in_validation{background:#edf2ff;color:#5343a0}:root[data-theme=light] .badge-finished{background:#e9f8ee;color:#15733f}:root[data-theme=light] .overdue-badge{background:#ffe8ed;color:#be2e48}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-items:center;padding:1rem}.modal-card{width:min(520px,100%);border-radius:14px;background:var(--surface);border:1px solid var(--border);padding:1rem;display:grid;gap:.8rem}.description-modal{width:min(680px,100%)}.details-modal{gap:1rem}.task-details-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:.9rem}.description-content{color:var(--muted);max-height:min(55vh,420px);overflow-y:auto;white-space:pre-wrap;word-break:break-word;border:1px solid var(--border);border-radius:10px;padding:.8rem}.comments-section{display:grid;gap:.6rem}.comments-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.comments-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.comment-item{border:1px solid var(--border);border-radius:10px;background:var(--surface-2);padding:.65rem .7rem;display:grid;gap:.35rem}.comment-item p{white-space:pre-wrap;word-break:break-word}.comment-item small{color:var(--muted)}.comment-form textarea{min-height:90px}.form-grid{display:grid;gap:.75rem}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem}.overdue-modal{width:min(740px,100%)}.overdue-summary{color:var(--muted)}.overdue-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.overdue-item{border:1px solid var(--border);border-radius:10px;background:var(--surface-2);padding:.7rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.overdue-item div{display:grid;gap:.2rem}.overdue-item small{color:var(--muted)}@media (max-width: 1024px){.kanban-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (max-width: 720px){.topbar{flex-wrap:wrap}.topbar-left,.user-actions{width:100%;justify-content:space-between}.overdue-trigger{order:-1}.theme-label{display:none}.kanban-grid{grid-template-columns:1fr}.recent-item{flex-direction:column;align-items:flex-start;gap:.5rem}.task-details-meta,.overdue-item{flex-direction:column;align-items:flex-start}}
