@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Sans:wght@400;500;600&display=swap";:root{font-family:IBM Plex Sans,sans-serif;color:#13223a;background:#f6f7fb;--ink: #13223a;--ink-soft: #44526b;--surface: rgba(255, 255, 255, .9);--surface-strong: #ffffff;--line: #d8dfec;--brand: #0e6ba8;--brand-strong: #0b4f7d;--alert: #9b1c31}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 8% 10%,rgba(14,107,168,.2),transparent 35%),radial-gradient(circle at 90% 15%,rgba(255,129,66,.25),transparent 35%),linear-gradient(145deg,#f8fbff,#eef1f8 50%,#f5f4f9);color:var(--ink)}h1,h2,h3{font-family:Space Grotesk,sans-serif;margin:0}a{color:var(--brand-strong)}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1fr minmax(300px,460px);align-items:stretch}.auth-brand{padding:clamp(1.8rem,4vw,4rem);display:grid;align-content:center;gap:.8rem}.auth-brand p{max-width:40ch;color:var(--ink-soft)}.auth-card{margin:clamp(1rem,3vw,2.4rem);background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 36px #0e25441f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:clamp(1.2rem,3vw,2rem);display:grid;gap:.65rem;align-content:center}.auth-card input{border:1px solid #cfd7e5;border-radius:10px;padding:.72rem .8rem;font-size:.97rem}.auth-card input:focus{outline:2px solid rgba(14,107,168,.3);border-color:var(--brand)}.form-error{color:var(--alert);margin:.2rem 0 0}.form-notice{margin:.2rem 0 0;color:#0b4f7d;background:#1893da1f;border:1px solid rgba(24,147,218,.35);border-radius:10px;padding:.55rem .7rem}.solid-btn,.ghost-btn{border:0;border-radius:11px;padding:.74rem .9rem;font-weight:600;cursor:pointer}.solid-btn{background:linear-gradient(120deg,var(--brand),#1893da);color:#fff}.solid-btn:disabled{opacity:.72;cursor:wait}.small-copy{margin:.3rem 0 0;font-size:.93rem;color:var(--ink-soft)}.shell{min-height:100vh;display:grid;grid-template-columns:minmax(220px,260px) 1fr}.rail{background:#0d1b2a;color:#d9e8f7;padding:1.4rem;display:grid;gap:1rem;align-content:start}.rail-subtitle{margin:0;color:#94b2cf}.rail a{color:#f0f8ff;text-decoration:none;font-weight:500}.ghost-btn{margin-top:1rem;background:#ffffff17;color:#ecf5ff}.panel{padding:1.1rem}.panel-header{background:var(--surface-strong);border:1px solid var(--line);border-radius:14px;padding:1rem 1.2rem;margin-bottom:.9rem}.panel-header p{margin:.35rem 0 0;color:var(--ink-soft)}.task-placeholder{background:var(--surface-strong);border:1px solid var(--line);border-radius:14px;padding:1.1rem}.tasks-screen{display:grid;gap:.9rem}.tasks-toolbar{display:grid;gap:.7rem;align-items:end}.task-filters{background:var(--surface-strong);border:1px solid var(--line);border-radius:14px;padding:.8rem;display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.task-filters label,.task-modal-form label{display:grid;gap:.35rem;font-size:.9rem;color:var(--ink-soft)}.task-filters input,.task-filters select,.task-modal-form input,.task-modal-form select,.task-modal-form textarea{border:1px solid #cfd7e5;border-radius:10px;padding:.62rem .72rem;font-size:.95rem;font-family:inherit}.search-label{min-width:220px}.dark-ghost-btn{margin:0;color:var(--ink);background:#eef3fb;border:1px solid #d3dced}.danger-btn{margin:0;border:1px solid rgba(155,28,49,.28);color:var(--alert);background:#fff2f4}.success-copy{margin:0;color:#0a6b43;font-weight:600}.tasks-refreshing{margin:0;color:var(--ink-soft);font-size:.9rem}.tasks-state{background:var(--surface-strong);border:1px dashed #b5c3dd;border-radius:14px;padding:1.2rem;color:var(--ink-soft);display:grid;gap:.7rem}.task-card-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.task-card{background:var(--surface-strong);border:1px solid var(--line);border-radius:14px;padding:.9rem;display:grid;gap:.6rem}.task-card-head{display:flex;justify-content:space-between;align-items:start;gap:.7rem}.task-card-head h3{font-size:1.02rem}.task-description{margin:0;color:var(--ink-soft);min-height:2.5em}.task-meta{margin:0;font-size:.86rem;color:#667895}.task-badges{display:inline-flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.badge{font-size:.77rem;border-radius:999px;padding:.2rem .55rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700}.status-todo{background:#e9f0ff;color:#315ca8}.status-in_progress{background:#fff3de;color:#895700}.status-done{background:#e4f9f0;color:#0d6c43}.priority-low{background:#edf4fb;color:#235d8a}.priority-medium{background:#f0eafe;color:#5c31b4}.priority-high{background:#ffe7ec;color:#9b1c31}.task-actions{display:flex;flex-wrap:wrap;gap:.45rem}.task-card .task-actions>button{min-width:4.8rem;display:inline-flex;align-items:center;justify-content:center}@keyframes skeleton-pulse{0%{opacity:.55}50%{opacity:1}to{opacity:.55}}.skeleton{background:linear-gradient(90deg,#e6ebf3,#eef2f8,#e6ebf3);border-radius:6px;animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-line{height:.85rem}.skeleton-title{width:60%;height:1rem}.skeleton-badge{width:3.2rem;height:1.05rem;border-radius:999px;flex-shrink:0}.skeleton-badges{display:inline-flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.skeleton-desc-1{width:95%}.skeleton-desc-2{width:70%}.skeleton-meta{width:45%;height:.7rem}.skeleton-action{width:4.2rem;height:1.8rem;border-radius:8px}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-spinner{display:inline-block;width:.75em;height:.75em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btn-spin .7s linear infinite;vertical-align:middle;margin-left:.35em;opacity:.8}.task-card-skeleton{pointer-events:none}.pager-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--ink-soft)}.pager-controls{display:flex;gap:.5rem}.modal-shell{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a14287a;display:grid;place-items:center;padding:1rem;z-index:20}.modal-card{width:min(100%,560px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 44px #0c1b3042;padding:1rem;display:grid;gap:.8rem}.task-modal-form{display:grid;gap:.8rem}.modal-grid{display:grid;gap:.7rem;grid-template-columns:repeat(2,minmax(0,1fr))}.ghost-link{display:inline-block;margin-top:.6rem}@media (max-width: 900px){.auth-wrap,.shell{grid-template-columns:1fr}.rail{border-bottom:1px solid rgba(255,255,255,.1)}.tasks-toolbar,.task-filters,.modal-grid{grid-template-columns:1fr}.pager-row{flex-direction:column;align-items:flex-start}}
