:root{--accent-h: 230;--accent-s: .12;--accent-l: .52;--accent: oklch(var(--accent-l) var(--accent-s) var(--accent-h));--accent-soft: oklch(.96 .015 var(--accent-h));--accent-ink: oklch(.22 .06 var(--accent-h));--bg: oklch(.985 .002 150);--bg-elev: #ffffff;--bg-sunken: oklch(.965 .003 150);--panel: #ffffff;--line: oklch(.92 .004 150);--line-strong: oklch(.86 .005 150);--ink: oklch(.22 .01 150);--ink-2: oklch(.42 .01 150);--ink-3: oklch(.58 .008 150);--ink-4: oklch(.72 .006 150);--ok: oklch(.55 .11 150);--warn: oklch(.72 .14 75);--danger: oklch(.58 .17 28);--info: oklch(.58 .1 230);--row-h: 40px;--pad-x: 20px;--pad-y: 14px;--gap: 14px;--radius: 8px;--radius-sm: 6px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--shadow-sm: 0 1px 2px rgba(20,25,22,.04);--shadow-md: 0 4px 16px rgba(20,25,22,.06), 0 1px 2px rgba(20,25,22,.04);--shadow-lg: 0 20px 40px rgba(20,25,22,.14), 0 2px 6px rgba(20,25,22,.06)}body[data-density=compact]{--row-h: 34px;--pad-x: 14px;--pad-y: 10px;--gap: 10px}body[data-theme=dark]{--bg: oklch(.18 .008 150);--bg-elev: oklch(.22 .008 150);--bg-sunken: oklch(.15 .008 150);--panel: oklch(.22 .008 150);--line: oklch(.28 .008 150);--line-strong: oklch(.35 .01 150);--ink: oklch(.95 .003 150);--ink-2: oklch(.78 .005 150);--ink-3: oklch(.62 .006 150);--ink-4: oklch(.48 .008 150);--accent: oklch(.72 .13 var(--accent-h));--accent-soft: oklch(.28 .04 var(--accent-h));--accent-ink: oklch(.88 .08 var(--accent-h));--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.35), 0 1px 2px rgba(0,0,0,.2);--shadow-lg: 0 20px 40px rgba(0,0,0,.5)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}a{color:inherit;text-decoration:none}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.mono{font-family:var(--font-mono);font-feature-settings:"tnum"}#root{height:100%}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:10px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}.app-layout{display:flex;height:100vh;overflow:hidden;background:var(--bg)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px}.field-input{width:100%;background:var(--bg-elev);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 12px;height:36px;color:var(--ink);font-size:13px;outline:none;transition:border-color .12s}.field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px oklch(from var(--accent) l c h / .15)}.field-input::placeholder{color:var(--ink-4)}select.field-input{cursor:pointer}textarea.field-input{height:auto;padding:10px 12px;resize:vertical}.toast-container{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:6px;pointer-events:none}.toast{padding:10px 16px;border-radius:var(--radius-sm);font-size:13px;background:var(--panel);border:1px solid var(--line-strong);box-shadow:var(--shadow-md);min-width:220px;animation:toastIn .18s ease-out;pointer-events:auto}.toast.success{border-left:3px solid var(--ok)}.toast.error{border-left:3px solid var(--danger)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:500;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-box{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:100%;max-width:520px;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto;animation:fadeUp .2s ease-out}.drop-zone{border:2px dashed var(--line-strong);border-radius:var(--radius);padding:32px 20px;text-align:center;cursor:pointer;transition:all .15s;color:var(--ink-3)}.drop-zone:hover,.drop-zone.dragging{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.nav-link{transition:background .12s,color .12s}.nav-link:hover{background:var(--bg-sunken)!important;color:var(--ink)!important}.trow:hover td{background:var(--bg-sunken)}.trow-actions{opacity:0;transition:opacity .12s}.trow:hover .trow-actions{opacity:1}.proj-card{transition:border-color .12s,box-shadow .12s,transform .12s}.proj-card:hover{border-color:var(--line-strong)!important;box-shadow:var(--shadow-md)!important;transform:translateY(-1px)}.proj-card-bar{opacity:0;transition:opacity .15s}.proj-card:hover .proj-card-bar{opacity:1}.btn-secondary:hover{background:var(--bg-sunken)!important}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost:hover{background:var(--bg-sunken)!important;color:var(--ink)!important}@keyframes toastIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}
