:root{--bg-main: hsl(210, 33%, 99%);--bg-panel: hsl(0, 0%, 100%);--bg-surface: hsl(210, 20%, 96%);--bg-surface-hover: hsl(210, 20%, 92%);--text-primary: hsl(222, 47%, 11%);--text-secondary: hsl(215, 16%, 47%);--text-tertiary: hsl(215, 20%, 65%);--border-light: hsl(214, 32%, 91%);--border-focus: hsl(215, 14%, 80%);--accent-blue: #345C32;--accent-blue-hover: #2a4d29;--accent-pearl-aqua: #75dbcd;--accent-tea-green: #c9dbba;--accent-vanilla-custard: #dcdba8;--accent-soft-apricot: #f5cda7;--accent-tangerine-dream: #faa381;--priority-high: hsl(348, 83%, 60%);--priority-medium: hsl(28, 90%, 55%);--priority-low: hsl(152, 69%, 41%);--priority-none: hsl(215, 20%, 65%);--success-green: hsl(152, 69%, 41%);--danger-red: hsl(348, 83%, 60%);--danger-bg: hsl(0, 86%, 97%);--danger-border: hsl(0, 92%, 82%);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .5);--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-heading: "Outfit", system-ui, -apple-system, sans-serif;--font-mono: monospace;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .04);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .06), 0 2px 4px -2px rgb(0 0 0 / .06);--shadow-lg: 0 12px 24px -4px rgb(0 0 0 / .08), 0 4px 8px -4px rgb(0 0 0 / .08);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 999px}[data-theme=dark]{--bg-main: hsl(222, 47%, 5%);--bg-panel: hsl(222, 47%, 8%);--bg-surface: hsl(222, 47%, 12%);--bg-surface-hover: hsl(222, 47%, 16%);--text-primary: hsl(0, 0%, 98%);--text-secondary: hsl(215, 20%, 65%);--text-tertiary: hsl(215, 16%, 47%);--border-light: hsl(222, 15%, 20%);--border-focus: hsl(222, 15%, 30%);--accent-blue: #5a9a56;--accent-blue-hover: #6aad65;--danger-bg: hsl(0, 45%, 16%);--danger-border: hsl(0, 55%, 38%);--glass-bg: rgba(15, 23, 42, .7);--glass-border: rgba(255, 255, 255, .05);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5), 0 2px 4px -2px rgb(0 0 0 / .5);--shadow-lg: 0 12px 24px -4px rgb(0 0 0 / .6), 0 4px 8px -4px rgb(0 0 0 / .6)}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-body);overflow-x:hidden;height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,.system-font{font-family:var(--font-heading);font-weight:600;letter-spacing:-.03em;text-transform:none}.system-announcement{background:var(--bg-panel);border:1px solid var(--accent-blue);box-shadow:var(--shadow-sm);border-radius:var(--radius-md);color:var(--accent-blue);font-weight:500;font-size:.95rem;animation:none}.task-input::placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.system-announcement.error{border-color:var(--danger-red);background:var(--danger-bg);color:var(--danger-red)}.system-announcement.success{border-color:var(--success-green);background:#ecfdf5;color:var(--success-green)}.task-card{border-radius:var(--radius-md)!important;transition:all .2s cubic-bezier(.16,1,.3,1)!important}.task-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);z-index:10}.droppable-cell{transition:background-color .15s ease-in-out}.droppable-cell:hover{background-color:var(--bg-surface)}.glass-modal{background:var(--glass-bg)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border)!important;box-shadow:var(--shadow-lg)!important;border-radius:var(--radius-lg)!important}.btn-primary{background:var(--accent-blue);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-md);font-family:var(--font-body);font-weight:500;cursor:pointer;transition:background-color .2s;text-transform:none;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-blue-hover);box-shadow:none}.btn-danger{background:#fff;color:var(--danger-red);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:8px 16px;font-family:var(--font-body);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-danger:hover{background:#fef2f2;border-color:var(--danger-red)}.btn-success{background:var(--success-green);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-md);font-family:var(--font-body);font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.btn-success:hover{background:#059669;box-shadow:none}.btn-outline{background:#fff;color:var(--text-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:8px 16px;font-weight:500;cursor:pointer;transition:all .2s}.btn-outline:hover{background:var(--bg-surface);color:var(--text-primary)}.icon-btn{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn:hover{background:var(--bg-surface);color:var(--text-secondary)}.icon-btn.danger:hover{background:#fef2f2;color:var(--danger-red)}.icon-btn.success:hover{background:#ecfdf5;color:var(--success-green)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}input,textarea,select{background:var(--bg-panel);border:1px solid var(--border-light);color:var(--text-primary);padding:10px 12px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;transition:all .2s;box-shadow:var(--shadow-sm)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f61a}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}.app-container{display:grid;height:100vh;overflow:hidden}.safe-room{background-color:var(--bg-surface);border-right:1px solid var(--border-light);padding:24px;display:flex;flex-direction:column}.gauntlet-floor{display:flex;flex-direction:column;padding:24px;overflow-y:auto;background-color:var(--bg-panel)}.task-card{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform .1s,box-shadow .1s}.task-card:hover{box-shadow:var(--shadow-md)}.mobile-bottom-nav{display:none}.mobile-nav-btn{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;color:var(--text-tertiary);font-size:.75rem;font-weight:500;cursor:pointer;transition:color .2s,transform .2s;padding:8px}.mobile-nav-btn.active{color:var(--accent-blue);transform:scale(1.05)}@media(max-width:900px){.app-container{grid-template-columns:1fr!important;grid-template-rows:1fr auto!important}.app-container.mobile-tab-schedule>.panel-inbox,.app-container.mobile-tab-schedule>.panel-focus,.app-container.mobile-tab-inbox>.panel-schedule,.app-container.mobile-tab-inbox>.panel-focus,.app-container.mobile-tab-focus>.panel-inbox,.app-container.mobile-tab-focus>.panel-schedule{display:none!important}.app-container>.safe-room,.app-container>.gauntlet-floor{width:100%!important;min-width:100%!important;max-width:100%!important;border:none!important;resize:none!important}.mobile-bottom-nav{display:flex;justify-content:space-around;align-items:center;background:var(--bg-panel);border-top:1px solid var(--border-light);padding:6px 0;padding-bottom:max(16px,env(safe-area-inset-bottom));z-index:1000}}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4,.markdown-preview h5,.markdown-preview h6{margin-top:1.2em;margin-bottom:.5em;color:var(--text-primary)}.markdown-preview h1{font-size:1.5em}.markdown-preview h2{font-size:1.3em}.markdown-preview p{margin-bottom:1em}.markdown-preview ul,.markdown-preview ol{margin-left:1.5em;margin-bottom:1em}.markdown-preview li{margin-bottom:.25em}.markdown-preview blockquote{border-left:4px solid var(--accent-blue);padding-left:1em;color:var(--text-secondary);background:var(--bg-surface);margin-bottom:1em;padding-top:.5em;padding-bottom:.5em;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.markdown-preview code{background:var(--bg-surface-hover);padding:.2em .4em;border-radius:3px;font-family:var(--font-mono);font-size:.85em;color:var(--text-primary)}.markdown-preview pre{background:var(--bg-panel);border:1px solid var(--border-light);padding:1em;border-radius:var(--radius-md);overflow-x:auto;margin-bottom:1em}.markdown-preview pre code{background:none;padding:0;color:inherit}.markdown-preview a{color:var(--accent-blue);text-decoration:none}.markdown-preview a:hover{text-decoration:underline}.ql-editor{min-height:220px;max-height:400px;font-family:var(--font-body);font-size:.95rem;color:var(--text-primary)}.modal-overlay{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:5000;padding:16px}.modal-content{background:var(--bg-panel);padding:32px;border-radius:var(--radius-lg);width:400px;max-width:100%;box-shadow:var(--shadow-lg);border:1px solid var(--border-light);max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-title{margin:0;font-size:1.4rem;font-family:var(--font-heading);letter-spacing:-.03em;color:var(--text-primary)}.gcal-event{transition:opacity .2s ease,transform .1s ease;cursor:pointer}.gcal-event:hover{opacity:.85;transform:scale(.98)}@media(max-width:600px){input,textarea,select{font-size:16px!important}.icon-btn{min-height:44px;min-width:44px}.modal-content,.modal-content.large{padding:20px!important}}@keyframes focusPulse{0%,to{opacity:.3;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}.parse-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);background:var(--bg-surface);border:1px solid var(--border-light);color:var(--text-secondary);font-weight:500;white-space:nowrap}.syntax-code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.72rem;background:var(--bg-panel);border:1px solid var(--border-light);border-radius:4px;padding:1px 6px;color:var(--text-primary);white-space:nowrap;justify-self:start}@keyframes quickCreatePop{0%{opacity:0;transform:scale(.92) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.quick-create-card{animation:quickCreatePop .16s cubic-bezier(.16,1,.3,1);transform-origin:top left}@keyframes saveStatusSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.save-status-spin{animation:saveStatusSpin 1s linear infinite}
