:root{--ikn-onyx: #0A0B0E;--ikn-graphite: #12141A;--ikn-carbon: #1A1D25;--ikn-steel: #262A33;--ikn-fog: #3A3F4B;--ikn-mute: #4A5160;--ikn-ash: #7A8290;--ikn-silver: #B4BAC4;--ikn-mist: #D8DCE2;--ikn-cloud: #E9EBEF;--ikn-paper: #FAF9F6;--ikn-ivory: #F4F1EA;--ikn-white: #FFFFFF;--ikn-signal: #EF1A2D;--ikn-signal-bright: #FF2F42;--ikn-signal-deep: #C81222;--ikn-signal-ink: #A50E1B;--ikn-success: #276B4F;--ikn-success-alt: #5A9B7E;--ikn-warning: #7E5E0F;--ikn-warning-alt: #D4A84A;--ikn-danger: #B3373A;--ikn-danger-alt: #E06B6E;--ikn-info: #3D6A96;--ikn-info-alt: #7FA8CE;--ikn-font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--ikn-font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--ikn-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-md: 17px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 44px;--text-display: clamp(32px, 4.5vw, 48px);--text-h1: clamp(28px, 3.2vw, 40px);--text-h2: clamp(22px, 2.6vw, 28px);--text-h3: 20px;--text-h4: 18px;--lh-tight: 1.15;--lh-snug: 1.35;--lh-normal: 1.55;--lh-loose: 1.7;--ls-tight: -.02em;--ls-normal: 0;--ls-wide: .04em;--ls-wider: .1em;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--s-10:128px;--s-11:160px;--r-xs: 2px;--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-xl: 12px;--r-2xl: 16px;--r-full: 999px;--r-icon: 22.5%;--ease: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--dur-fast: .15s;--dur-base: .25s;--dur-slow: .4s;--container: 1280px;--container-narrow: 960px;--container-wide: 1600px;--page-gutter: 24px;--topbar-h: 56px;--sidebar-w: 248px;--sidebar-w-collapsed: 60px;--z-base: 0;--z-sticky: 100;--z-drawer: 200;--z-modal: 300;--z-toast: 400;--z-tooltip: 500}:root,[data-theme=light]{color-scheme:light;--bg: var(--ikn-ivory);--surface: var(--ikn-paper);--surface-raised: var(--ikn-white);--surface-sunken: #EDEAE2;--surface-hover: rgba(10, 11, 14, .04);--surface-active: rgba(10, 11, 14, .08);--border: rgba(10, 11, 14, .1);--border-strong: rgba(10, 11, 14, .18);--border-subtle: rgba(10, 11, 14, .06);--text: var(--ikn-onyx);--text-secondary: var(--ikn-steel);--text-muted: var(--ikn-mute);--text-faint: var(--ikn-ash);--text-inverse: var(--ikn-ivory);--brand: var(--ikn-signal);--brand-hover: var(--ikn-signal-deep);--brand-text: var(--ikn-signal-ink);--brand-on: var(--ikn-white);--brand-wash: rgba(239, 26, 45, .08);--brand-line: rgba(239, 26, 45, .28);--success: var(--ikn-success);--success-wash: rgba(46, 125, 91, .1);--warning: var(--ikn-warning);--warning-wash: rgba(154, 116, 21, .1);--danger: var(--ikn-danger);--danger-wash: rgba(179, 55, 58, .1);--info: var(--ikn-info);--info-wash: rgba(61, 106, 150, .1);--focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--brand);--shadow-sm: 0 1px 2px rgba(10, 11, 14, .06);--shadow-md: 0 4px 12px rgba(10, 11, 14, .08);--shadow-lg: 0 16px 40px rgba(10, 11, 14, .12);--scrim: rgba(10, 11, 14, .45)}[data-theme=dark]{color-scheme:dark;--bg: var(--ikn-onyx);--surface: var(--ikn-graphite);--surface-raised: var(--ikn-carbon);--surface-sunken: #07080A;--surface-hover: rgba(244, 241, 234, .05);--surface-active: rgba(244, 241, 234, .09);--border: rgba(244, 241, 234, .1);--border-strong: rgba(244, 241, 234, .2);--border-subtle: rgba(244, 241, 234, .05);--text: var(--ikn-ivory);--text-secondary: var(--ikn-silver);--text-muted: var(--ikn-ash);--text-faint: #6B7383;--text-inverse: var(--ikn-onyx);--brand: var(--ikn-signal);--brand-hover: var(--ikn-signal-bright);--brand-text: var(--ikn-signal-bright);--brand-on: var(--ikn-white);--brand-wash: rgba(239, 26, 45, .14);--brand-line: rgba(239, 26, 45, .36);--success: var(--ikn-success-alt);--success-wash: rgba(90, 155, 126, .14);--warning: var(--ikn-warning-alt);--warning-wash: rgba(212, 168, 74, .14);--danger: var(--ikn-danger-alt);--danger-wash: rgba(224, 107, 110, .14);--info: var(--ikn-info-alt);--info-wash: rgba(127, 168, 206, .14);--focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--ikn-signal-bright);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 14px rgba(0, 0, 0, .55);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .65);--scrim: rgba(0, 0, 0, .65)}@media(prefers-color-scheme:dark){[data-theme=auto]{color-scheme:dark;--bg: var(--ikn-onyx);--surface: var(--ikn-graphite);--surface-raised: var(--ikn-carbon);--surface-sunken: #07080A;--surface-hover: rgba(244, 241, 234, .05);--surface-active: rgba(244, 241, 234, .09);--border: rgba(244, 241, 234, .1);--border-strong: rgba(244, 241, 234, .2);--border-subtle: rgba(244, 241, 234, .05);--text: var(--ikn-ivory);--text-secondary: var(--ikn-silver);--text-muted: var(--ikn-ash);--text-faint: #6B7383;--text-inverse: var(--ikn-onyx);--brand-hover: var(--ikn-signal-bright);--brand-text: var(--ikn-signal-bright);--brand-wash: rgba(239, 26, 45, .14);--brand-line: rgba(239, 26, 45, .36);--success: var(--ikn-success-alt);--warning: var(--ikn-warning-alt);--danger: var(--ikn-danger-alt);--info: var(--ikn-info-alt);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 14px rgba(0, 0, 0, .55);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .65);--scrim: rgba(0, 0, 0, .65)}}:root{--hue-ikotool: #EF1A2D;--hue-ikodash: #3E7BFA;--hue-ikoadmin: #17ADB4;--hue-ikolead: #E29524;--hue-ikodrive: #1FAE7C;--hue-ikobackup: #C63A9E;--hue-ikodata: #7C5CFF;--hue-ikochat: #A8C81B;--hue-ikoma: #E8622A;--hue-ikoauth: #1FC96E;--hue-ikoflow: #5E7398;--hue-ikofold: #8A7B5C;--hue-ikocard: #2F6FA3;--hue-ikoads: #B8462F}:root,[data-theme=light]{--ink-ikotool:#D70F21;--ink-ikodash:#145EF9;--ink-ikoadmin:#10777B;--ink-ikolead:#966114;--ink-ikodrive:#167B58;--ink-ikobackup:#B93593;--ink-ikodata:#6C48FF;--ink-ikochat:#60730F;--ink-ikoma:#BB4514;--ink-ikoauth:#137C44;--ink-ikoflow:#596D90;--ink-ikofold:#786B50;--ink-ikocard:#3070A5;--ink-ikoads:#B9462F}[data-theme=dark]{--ink-ikotool:#F79099;--ink-ikodash:#87ADFC;--ink-ikoadmin:#17ADB4;--ink-ikolead:#E29524;--ink-ikodrive:#23C58C;--ink-ikobackup:#CA48A5;--ink-ikodata:#B3A0FF;--ink-ikochat:#A8C81B;--ink-ikoma:#F09873;--ink-ikoauth:#1FC96E;--ink-ikoflow:#677CA1;--ink-ikofold:#B8AC95;--ink-ikocard:#82B3DB;--ink-ikoads:#E29C8E}@media(prefers-color-scheme:dark){[data-theme=auto]{--ink-ikotool:#F79099;--ink-ikodash:#87ADFC;--ink-ikoadmin:#17ADB4;--ink-ikolead:#E29524;--ink-ikodrive:#23C58C;--ink-ikobackup:#CA48A5;--ink-ikodata:#B3A0FF;--ink-ikochat:#A8C81B;--ink-ikoma:#F09873;--ink-ikoauth:#1FC96E;--ink-ikoflow:#677CA1;--ink-ikofold:#B8AC95;--ink-ikocard:#82B3DB;--ink-ikoads:#E29C8E}}[data-product=ikotool]{--product: var(--hue-ikotool);--product-ink: var(--ink-ikotool);--product-name: "IKOTOOL"}[data-product=ikodash]{--product: var(--hue-ikodash);--product-ink: var(--ink-ikodash);--product-name: "IKODASH"}[data-product=ikodrive]{--product: var(--hue-ikodrive);--product-ink: var(--ink-ikodrive);--product-name: "IKODRIVE"}[data-product=ikobackup]{--product: var(--hue-ikobackup);--product-ink: var(--ink-ikobackup);--product-name: "IKOBACKUP"}[data-product=ikodata]{--product: var(--hue-ikodata);--product-ink: var(--ink-ikodata);--product-name: "IKODATA"}[data-product=ikochat]{--product: var(--hue-ikochat);--product-ink: var(--ink-ikochat);--product-name: "IKOCHAT"}[data-product=ikoma]{--product: var(--hue-ikoma);--product-ink: var(--ink-ikoma);--product-name: "IKOMA"}[data-product=ikoauth]{--product: var(--hue-ikoauth);--product-ink: var(--ink-ikoauth);--product-name: "IKOAUTH"}[data-product=ikoflow]{--product: var(--hue-ikoflow);--product-ink: var(--ink-ikoflow);--product-name: "IKOFLOW"}[data-product=ikolead]{--product: var(--hue-ikolead);--product-ink: var(--ink-ikolead);--product-name: "IKOLEAD"}[data-product=ikofold]{--product: var(--hue-ikofold);--product-ink: var(--ink-ikofold);--product-name: "IKOFOLD"}[data-product=ikocard]{--product: var(--hue-ikocard);--product-ink: var(--ink-ikocard);--product-name: "IKOCARD"}[data-product=ikoads]{--product: var(--hue-ikoads);--product-ink: var(--ink-ikoads);--product-name: "IKOADS"}[data-product=ikoadmin]{--product: var(--hue-ikoadmin);--product-ink: var(--ink-ikoadmin);--product-name: "IKOADMIN"}[data-product=ikotool-check]{--product: var(--hue-ikotool);--product-ink: var(--ink-ikotool);--product-name: "IKOTOOL Check"}[data-product=ikotool-schema]{--product: var(--hue-ikotool);--product-ink: var(--ink-ikotool);--product-name: "IKOTOOL Schema"}[data-product=ikotool-goal]{--product: var(--hue-ikotool);--product-ink: var(--ink-ikotool);--product-name: "IKOTOOL Goal"}[data-product=ikotool-redesign]{--product: var(--hue-ikotool);--product-ink: var(--ink-ikotool);--product-name: "IKOTOOL Redesign"}[data-product=ikodash-infra]{--product: var(--hue-ikodash);--product-ink: var(--ink-ikodash);--product-name: "IKODASH Infra"}[data-product=ikodash-client]{--product: var(--hue-ikodash);--product-ink: var(--ink-ikodash);--product-name: "IKODASH Client"}[data-product=ikodash-finance]{--product: var(--hue-ikodash);--product-ink: var(--ink-ikodash);--product-name: "IKODASH Finance"}:root{--grad-ikoadmin: linear-gradient(135deg, #7BEBE0 0%, #17ADB4 48%, #0A5E76 100%);--grad-ikoads: linear-gradient(135deg, #F7AE8C 0%, #D2603C 48%, #8A2B26 100%);--grad-ikoauth: linear-gradient(135deg, #8FF9B8 0%, #1FC96E 48%, #075E36 100%);--grad-ikobackup: linear-gradient(135deg, #F7A0DA 0%, #C63A9E 48%, #711763 100%);--grad-ikocard: linear-gradient(135deg, #8ECAF0 0%, #2E77B8 48%, #123F68 100%);--grad-ikochat: linear-gradient(135deg, #E6F87F 0%, #A8C81B 48%, #4F6B06 100%);--grad-ikodash: linear-gradient(135deg, #7FB2FF 0%, #3A63EE 48%, #1E2FA8 100%);--grad-ikodata: linear-gradient(135deg, #BBA3FF 0%, #7A4BEE 48%, #3F1BA8 100%);--grad-ikodrive: linear-gradient(135deg, #67E3B0 0%, #17A97C 48%, #07634F 100%);--grad-ikoflow: linear-gradient(135deg, #A9BAD6 0%, #5E7398 48%, #2E3C58 100%);--grad-ikofold: linear-gradient(135deg, #E3D2AE 0%, #A08760 48%, #5E4A32 100%);--grad-ikolead: linear-gradient(135deg, #FFD08A 0%, #E29524 48%, #9A5510 100%);--grad-ikoma: linear-gradient(135deg, #FFB07A 0%, #F2653A 48%, #B32B36 100%);--grad-ikotool: linear-gradient(135deg, #FF7A6B 0%, #F0294A 48%, #A50E2E 100%)}:root{--grad-sheen: linear-gradient(140deg, rgba(255,255,255,.38) 0%, rgba(255,255,255,0) 55%)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--ikn-font-sans);font-size:var(--text-base);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease)}h1,h2,h3,h4{font-family:var(--ikn-font-display);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin:0}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}h4{font-size:var(--text-h4)}code,kbd,pre,samp,.ikn-mono{font-family:var(--ikn-font-mono)}.ikn-eyebrow{font-family:var(--ikn-font-mono);font-size:var(--text-xs);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-muted)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--bg-2: var(--surface);--text-soft: var(--text-secondary);--accent: var(--brand);--accent-hover: var(--brand-hover);--accent-text: var(--brand-text);--accent-soft: var(--brand-wash);--accent-line: var(--brand-line);--danger-soft: var(--danger-wash);--state-focus: var(--brand);--state-active: var(--info);--state-paused: var(--warning);--state-done: var(--success);--state-archived: var(--text-faint);--todo-state-todo: var(--text-muted);--todo-state-doing: var(--info);--todo-state-done: var(--success);--todo-state-cancelled: var(--text-faint);--shadow: var(--shadow-md);--shadow-hover: var(--shadow-lg);--radius: var(--r-2xl)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--ikn-font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}.muted{color:var(--text-muted);font-size:13px}.muted.center{text-align:center;padding:60px 0}.form-error{color:var(--danger);font-size:13px;margin:8px 0}.field-hint{color:var(--text-muted);font-size:12px;margin:4px 0 0}.btn{border:1px solid var(--border);background:var(--bg-2);color:var(--text);padding:8px 14px;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s;white-space:nowrap;font-family:inherit}.btn:hover{border-color:var(--border-strong);background:var(--bg)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--brand-on);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.secondary{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-text)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-soft)}.btn.ghost:hover{background:var(--bg);border-color:var(--border)}.btn.sm{padding:5px 10px;font-size:12px}.btn.wide{width:100%;justify-content:center}.btn.icon{padding:8px}.btn svg{width:16px;height:16px}.app-header{position:sticky;top:0;z-index:50;background:var(--bg-2);border-bottom:1px solid var(--border);padding:12px 20px;display:flex;align-items:center;gap:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.logo{display:flex;align-items:center;gap:10px;white-space:nowrap}.logo-produit{flex-shrink:0;color:var(--text)}.scope-switch{display:inline-flex;padding:3px;gap:2px;background:var(--bg);border:1px solid var(--border);border-radius:10px}.scope-btn{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:var(--text-soft);font-family:inherit;font-size:13px;font-weight:500;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .15s}.scope-btn svg{width:15px;height:15px}.scope-btn:hover{color:var(--text)}.scope-btn.active{background:var(--bg-2);color:var(--accent);box-shadow:var(--shadow)}.search{flex:1;max-width:420px;position:relative}.search input{width:100%;padding:10px 14px 10px 38px;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-muted)}.header-actions{display:flex;gap:8px;align-items:center;margin-left:auto}.avatar{display:grid;place-items:center;border-radius:50%;overflow:hidden;background:var(--accent-soft);color:var(--accent);font-weight:700;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:32px;height:32px;font-size:12px}.avatar-lg{width:72px;height:72px;font-size:22px}.avatar-btn{border:1px solid var(--border);cursor:pointer;padding:0}.avatar-btn:hover{border-color:var(--accent)}.user-menu{position:relative}.user-menu-panel{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-hover);padding:6px;z-index:60}.user-menu-head{padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:6px;display:flex;flex-direction:column;gap:2px}.user-menu-head strong{font-size:13.5px}.user-menu-head span{font-size:12px;color:var(--text-muted)}.user-menu-panel button{display:flex;align-items:center;gap:9px;width:100%;border:none;background:none;font-family:inherit;font-size:13px;color:var(--text);padding:8px 10px;border-radius:8px;cursor:pointer;text-align:left}.user-menu-panel button:hover{background:var(--bg)}.user-menu-panel button.danger{color:var(--danger)}.user-menu-panel button svg{width:15px;height:15px}main{padding:24px 20px 100px;max-width:1400px;margin:0 auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.empty{text-align:center;padding:80px 20px;color:var(--text-muted)}.empty svg{width:80px;height:80px;opacity:.4;margin-bottom:16px}.empty h2{margin:0 0 6px;font-size:18px;color:var(--text-soft)}.empty p{margin:0;font-size:14px}.card,.card-detail-panel{--text-muted: var(--text-secondary)}.card{--card-border-w: 1px;--progress-radius: calc(var(--radius) - var(--card-border-w));background:var(--card-bg, var(--bg-2));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 14px 8px;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s,border-color .15s;position:relative}.card:hover{box-shadow:var(--shadow-hover)}.card.is-dragging{opacity:.5}.card.drag-over{border-color:var(--accent);border-style:dashed}.card.status-focus{--card-border-w: 2.5px;border:2.5px solid var(--accent);box-shadow:0 0 0 4px var(--accent-soft),var(--shadow)}.card.status-focus:hover{box-shadow:0 0 0 4px var(--accent-soft),var(--shadow-hover)}.card.status-paused{border-style:dashed;border-color:var(--border-strong);opacity:.85}.card.status-done{opacity:.72}.card.status-done .card-title{text-decoration:line-through;text-decoration-color:var(--text-muted)}.card.status-done .progress-bar-fill{background:var(--state-done)}.card.status-archived{opacity:.55;filter:grayscale(.7)}.card.status-archived:hover{opacity:.85;filter:grayscale(.3)}.status-badge{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;display:none;align-items:center;justify-content:center;color:var(--brand-on);box-shadow:var(--shadow-sm);pointer-events:none}.status-badge svg{width:13px;height:13px}.card.status-focus .status-badge{display:flex;background:var(--state-focus)}.card.status-paused .status-badge{display:flex;background:var(--state-paused)}.card.status-done .status-badge{display:flex;background:var(--state-done)}.card.status-archived .status-badge{display:flex;background:var(--state-archived)}.card:hover .status-badge{opacity:0;transition:opacity .15s}.card-header{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.card-title{flex:1;font-weight:600;font-size:15px;line-height:1.3;background:transparent;border:none;outline:none;color:inherit;font-family:inherit;padding:4px 0;resize:none;overflow:hidden;width:100%;min-width:0}.card-title::placeholder{color:var(--text-muted)}.drag-handle{cursor:grab;color:var(--text-muted);padding:4px;border-radius:6px;opacity:0;transition:opacity .15s,background .15s;flex-shrink:0}.card:hover .drag-handle{opacity:.7}.drag-handle:hover{opacity:1!important;background:var(--surface-hover)}.drag-handle:active{cursor:grabbing}.notes-indicator{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);cursor:pointer;flex-shrink:0;padding-top:6px}.notes-indicator svg{width:12px;height:12px;opacity:.7}.todos,.detail-todos{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}.todo{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 0;border-radius:6px;transition:background .12s}.todo:hover{background:var(--surface-hover)}.todo-text{flex:1;background:transparent;border:none;outline:none;color:inherit;font-family:inherit;font-size:13.5px;padding:2px 0;min-width:0}.todo-delete{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px 4px;border-radius:4px;opacity:0;transition:opacity .15s,color .15s}.todo:hover .todo-delete{opacity:1}.todo-delete:hover{color:var(--danger)}.todo-delete svg{width:14px;height:14px;display:block}.add-todo{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 0;color:var(--text-muted)}.add-todo svg{width:16px;height:16px;flex-shrink:0}.add-todo input{flex:1;background:transparent;border:none;outline:none;color:inherit;font-family:inherit;font-size:13.5px;padding:2px 0;min-width:0}.add-todo input::placeholder{color:var(--text-muted)}.card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding-top:8px;border-top:1px solid var(--border);min-height:32px}.card-progress{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.card-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.card:hover .card-actions{opacity:1}.card-actions button{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:6px;border-radius:6px;display:grid;place-items:center;transition:background .15s,color .15s}.card-actions button:hover{background:var(--surface-hover);color:var(--text)}.card-actions button.delete:hover{color:var(--danger)}.card-actions svg{width:15px;height:15px}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;align-items:center}.filter-bar .label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-right:4px}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-2);color:var(--text-soft);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.chip:hover{border-color:var(--border-strong)}.chip.active{background:var(--text);color:var(--bg-2);border-color:var(--text)}.chip .chip-dot{width:8px;height:8px;border-radius:50%;background:var(--state-color, var(--text-muted))}.chip .chip-count{font-variant-numeric:tabular-nums;opacity:.7;font-size:11px}.chip.active .chip-count{opacity:.85}.status-picker,.color-picker{position:absolute;bottom:44px;left:8px;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:6px;box-shadow:var(--shadow-hover);z-index:5}.status-picker{display:flex;flex-direction:column;gap:2px;min-width:170px}.status-option{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text);transition:background .12s}.status-option:hover{background:var(--bg)}.status-option.selected{background:var(--accent-soft);color:var(--accent);font-weight:600}.status-option .status-icon{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:var(--brand-on);flex-shrink:0}.status-option .status-icon svg{width:11px;height:11px}.color-picker{display:flex;flex-wrap:wrap;gap:4px;max-width:200px}.color-swatch{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border-strong);cursor:pointer;transition:transform .1s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:var(--accent);border-width:2.5px}.progress-bar{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--progress-radius, 0);overflow:hidden;pointer-events:none}.progress-bar:before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:color-mix(in srgb,var(--text) 12%,transparent)}.progress-bar-fill{position:absolute;left:0;bottom:0;height:3px;background:var(--accent);transition:width .25s ease}.fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--accent);color:var(--brand-on);border:none;box-shadow:var(--shadow-md);cursor:pointer;display:grid;place-items:center;z-index:40;transition:transform .15s,box-shadow .15s}.fab:hover{transform:scale(1.04);box-shadow:var(--shadow-lg)}.fab svg{width:24px;height:24px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(20px);background:var(--text);color:var(--text-inverse);padding:10px 18px;border-radius:10px;font-size:13px;max-width:min(90vw,620px);text-align:center;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:200}.toast.show{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.toast{display:flex;align-items:center;gap:14px;justify-content:center}.toast-action{background:none;border:1px solid color-mix(in srgb,var(--text-inverse) 35%,transparent);color:var(--text-inverse);font-family:inherit;font-size:12.5px;font-weight:600;padding:4px 12px;border-radius:999px;cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s}.toast-action:hover{background:color-mix(in srgb,var(--text-inverse) 14%,transparent);border-color:color-mix(in srgb,var(--text-inverse) 60%,transparent)}.todo.armed{background:var(--danger-soft)}.todo.armed .todo-text{color:var(--text-soft)}.todo-delete.armed{opacity:1;background:var(--danger);color:var(--brand-on);font-size:11px;font-weight:600;font-family:inherit;padding:3px 9px;border-radius:999px;white-space:nowrap}.todo-delete.armed:hover{color:var(--brand-on);filter:brightness(1.08)}.todo-cancel{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px 4px;border-radius:4px;flex-shrink:0}.todo-cancel:hover{color:var(--text)}.todo-cancel svg{width:14px;height:14px;display:block}.card-actions.visible{opacity:1}.card-actions button.delete.armed{background:var(--danger);color:var(--brand-on);font-size:11px;font-weight:600;font-family:inherit;padding:4px 10px;border-radius:999px;white-space:nowrap}.card-actions button.delete.armed:hover{background:var(--danger);color:var(--brand-on);filter:brightness(1.08)}.card-actions button.delete-cancel{font-size:11px;font-weight:500;font-family:inherit;color:var(--text-soft);padding:4px 8px;white-space:nowrap}.card-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px 16px}.card-detail-overlay.open{display:flex}.card-detail-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card-detail-panel{position:relative;z-index:1;width:100%;max-width:720px;max-height:min(88vh,900px);overflow:hidden;display:flex;flex-direction:column;background:var(--card-bg, var(--bg-2));border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-hover)}.card-detail-header{display:flex;align-items:flex-start;gap:12px;padding:20px 20px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.card-detail-title{flex:1;font-weight:700;font-size:22px;line-height:1.3;background:transparent;border:none;outline:none;color:inherit;font-family:inherit;padding:4px 0;min-width:0;resize:none;overflow:hidden}.card-detail-title::placeholder{color:var(--text-muted)}.detail-state-badge{color:var(--brand-on);font-size:11px;font-weight:600;padding:4px 9px;border-radius:999px;flex-shrink:0;margin-top:6px}.card-detail-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:6px;border-radius:8px;display:grid;place-items:center;transition:background .15s,color .15s;flex-shrink:0}.card-detail-close:hover{background:var(--surface-hover);color:var(--text)}.card-detail-close svg{width:20px;height:20px}.card-detail-body{flex:1;overflow-y:auto;padding:16px 20px 20px;display:flex;flex-direction:column;gap:20px}.detail-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 8px}.detail-notes-tabs{display:flex;gap:4px;margin-bottom:8px}.detail-notes-tab{background:none;border:1px solid var(--border);color:var(--text-soft);padding:5px 12px;border-radius:8px;font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s}.detail-notes-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.detail-notes-editor textarea{width:100%;min-height:160px;resize:vertical;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:13px;line-height:1.55;outline:none;transition:border-color .15s,box-shadow .15s}.detail-notes-editor textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.detail-notes-preview{min-height:120px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg);font-size:14px;line-height:1.6;color:var(--text)}.detail-notes-empty{color:var(--text-muted);font-style:italic}.detail-notes-preview h1,.detail-notes-preview h2,.detail-notes-preview h3{margin:.6em 0 .35em;line-height:1.25}.detail-notes-preview h1{font-size:1.4em}.detail-notes-preview h2{font-size:1.2em}.detail-notes-preview h3{font-size:1.05em}.detail-notes-preview p{margin:.5em 0}.detail-notes-preview ul,.detail-notes-preview ol{margin:.5em 0;padding-left:1.4em}.detail-notes-preview code{background:var(--surface-sunken);padding:.15em .35em;border-radius:4px;font-size:.9em}.detail-notes-preview pre{background:var(--surface-sunken);padding:10px 12px;border-radius:8px;overflow-x:auto;margin:.6em 0}.detail-notes-preview pre code{background:none;padding:0}.detail-notes-preview blockquote{margin:.6em 0;padding-left:12px;border-left:3px solid var(--border-strong);color:var(--text-soft)}.detail-notes-preview a{color:var(--accent)}.card-detail-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 20px 14px;border-top:1px solid var(--border);flex-shrink:0;position:relative}.boot-screen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-muted)}.boot-screen>svg{color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-card{width:100%;max-width:480px;max-height:min(88vh,900px);overflow-y:auto;background:var(--bg-2);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-hover);padding:20px 22px 22px}.modal-card-wide{max-width:840px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-header h2{margin:0;font-size:18px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--text-soft)}.auth-form input,.transfer-scope-picker select{padding:9px 12px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text);font-family:inherit;font-size:14px;outline:none}.auth-form input:focus,.transfer-scope-picker select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.profile-avatar-block{display:flex;gap:16px;align-items:center;margin-bottom:18px}.profile-avatar-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.profile-avatar-actions .field-hint{flex-basis:100%}.settings-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border)}.settings-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-soft);font-family:inherit;font-size:13.5px;font-weight:500;padding:8px 14px;cursor:pointer;transition:all .15s}.settings-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.team-members-block{margin-top:22px;border-top:1px solid var(--border);padding-top:16px}.team-members-block h3{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.team-members-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.team-members-list li{display:flex;align-items:center;gap:10px}.team-member-info{display:flex;flex-direction:column;flex:1;min-width:0}.team-member-name{font-size:13.5px;font-weight:500}.team-member-email{font-size:12px;color:var(--text-muted)}.badge{font-size:11px;padding:3px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600}.transfer-block{display:flex;flex-direction:column;gap:14px}.transfer-export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.transfer-export-card{border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;background:var(--bg)}.transfer-export-card h3{margin:0;font-size:14px}.transfer-export-card p{margin:0;flex:1}.transfer-scope-picker{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--text-soft);max-width:320px}.transfer-scope-picker.inline{flex-direction:row;align-items:center;gap:8px;max-width:none}.import-summary{display:flex;flex-direction:column;gap:10px;border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--bg)}.import-summary-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.import-file{font-size:13px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-warning{margin:0;font-size:12.5px;color:var(--warning);background:var(--warning-wash);border:1px solid color-mix(in srgb,var(--warning) 35%,transparent);border-radius:8px;padding:8px 10px}.import-chips{display:flex;flex-wrap:wrap;gap:6px}.import-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.import-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto}.import-row{border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;background:var(--bg-2)}.import-row.tone-new{border-left-color:var(--state-done)}.import-row.tone-identical{border-left-color:var(--border-strong);opacity:.75}.import-row.tone-conflict{border-left-color:var(--danger)}.import-row.tone-similar{border-left-color:var(--state-paused)}.import-row-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.import-badge{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px;color:var(--brand-on);background:var(--text-muted)}.import-badge.tone-new{background:var(--state-done)}.import-badge.tone-identical{background:var(--state-archived)}.import-badge.tone-conflict{background:var(--danger)}.import-badge.tone-similar{background:var(--state-paused)}.import-title{font-size:14px;font-weight:600;flex:1;min-width:0}.import-meta{font-size:11.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.import-diff{margin:0;font-size:12.5px;color:var(--text-soft);line-height:1.5}.import-actions{display:flex;flex-wrap:wrap;gap:6px}.import-choice{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;cursor:pointer;color:var(--text-soft);transition:all .15s}.import-choice input{display:none}.import-choice:hover{border-color:var(--border-strong)}.import-choice.active{background:var(--accent);border-color:var(--accent);color:var(--brand-on);font-weight:600}.import-result h3{margin:0 0 8px;font-size:15px}.import-result ul{margin:0;padding-left:18px;font-size:13.5px;color:var(--text-soft);line-height:1.7}.todo-state{display:inline-flex;flex-shrink:0}.todo-state-btn{display:grid;place-items:center;width:20px;height:20px;padding:0;border:none;background:none;border-radius:50%;cursor:pointer;color:var(--todo-state-color, var(--text-muted));transition:background .15s,transform .1s}.todo-state-btn{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.todo-state-btn:hover{background:var(--surface-hover)}.todo-state-btn:active{transform:scale(.92)}.todo-state-btn svg{display:block}.todo-state-menu{position:fixed;z-index:160;min-width:150px;display:flex;flex-direction:column;gap:1px;padding:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-hover)}.todo-state-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;background:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:13px;color:var(--text);text-align:left}.todo-state-option svg{color:var(--todo-state-color, var(--text-muted));flex-shrink:0}.todo-state-option:hover{background:var(--surface-hover)}.todo-state-option.selected{background:var(--accent-soft);color:var(--accent);font-weight:500}.todo.todo-done .todo-text{text-decoration:line-through;color:var(--text-muted)}.todo.todo-cancelled .todo-text{text-decoration:line-through;color:var(--text-faint);font-style:italic}.todo.todo-doing .todo-text{font-weight:500}.quarter-picker{position:relative;display:inline-flex;flex-shrink:0}.quarter-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:1px solid var(--border);border-radius:999px;background:var(--bg-2);color:var(--text-soft);font-family:inherit;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;transition:all .15s}.quarter-chip svg{flex-shrink:0;opacity:.7}.quarter-chip:hover{border-color:var(--border-strong);color:var(--text)}.quarter-chip.is-current{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.quarter-chip.set{color:var(--text)}.quarter-chip.compact{padding:1px 6px;font-size:10.5px}.quarter-chip.compact svg{width:11px;height:11px}.quarter-chip.unset{opacity:0;border-style:dashed;color:var(--text-muted)}.todo:hover .quarter-chip.unset,.quarter-chip.unset:focus-visible,.todo:focus-within .quarter-chip.unset{opacity:1}.quarter-panel{position:absolute;top:calc(100% + 5px);right:0;z-index:45;width:172px;padding:8px;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-hover)}.quarter-panel.drop-up{top:auto;bottom:calc(100% + 5px)}.quarter-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.quarter-panel-head strong{font-size:13px;font-variant-numeric:tabular-nums}.quarter-panel-head button{display:grid;place-items:center;width:22px;height:22px;border:none;background:none;border-radius:6px;cursor:pointer;color:var(--text-muted)}.quarter-panel-head button:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.quarter-panel-head button:disabled{opacity:.35;cursor:not-allowed}.quarter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.quarter-option{padding:8px 0;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all .12s}.quarter-option:hover{border-color:var(--border-strong)}.quarter-option.current{border-color:var(--accent-line);color:var(--accent)}.quarter-option.selected{background:var(--accent);border-color:var(--accent);color:var(--brand-on)}.quarter-clear{width:100%;margin-top:6px;padding:6px 0;border:none;background:none;border-radius:6px;color:var(--text-muted);font-family:inherit;font-size:12px;cursor:pointer}.quarter-clear:hover{background:var(--surface-hover);color:var(--text)}.card-span,.detail-span{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.card-span{margin-left:auto;padding-left:10px}.card:hover .card-span{opacity:0;transition:opacity .15s}.detail-span{margin-left:10px;font-weight:400;text-transform:none;letter-spacing:0}.view-switch{display:inline-flex;padding:3px;gap:2px;background:var(--bg);border:1px solid var(--border);border-radius:10px}.view-btn{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:var(--text-soft);font-family:inherit;font-size:13px;font-weight:500;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .15s}.view-btn svg{width:15px;height:15px}.view-btn:hover{color:var(--text)}.view-btn.active{background:var(--bg-2);color:var(--accent);box-shadow:var(--shadow)}.timeline-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px}.timeline-range{font-family:var(--ikn-font-display);font-size:15px;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;min-width:168px;text-align:center;white-space:nowrap}.timeline-alert{display:inline-flex;align-items:center;padding:4px 10px;border:1px solid var(--warning);border-radius:999px;background:transparent;color:var(--warning);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}.timeline-alert:hover{background:var(--warning);color:var(--bg)}.timeline-note{margin-left:6px;font-size:12px;color:var(--text-muted)}.btn.subtle{border-color:transparent;background:transparent;color:var(--text-muted);padding:6px 10px}.btn.subtle:hover{background:var(--surface-hover);color:var(--text);border-color:transparent}.timeline-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:start}.timeline-col{display:flex;flex-direction:column;min-height:140px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);transition:border-color .15s,background .15s}.timeline-col.is-current{border-color:var(--accent-line);box-shadow:var(--shadow)}.timeline-col.is-past .timeline-col-head{opacity:.7}.timeline-col.is-none{border-style:dashed;background:transparent}.timeline-col.drop-over{border-color:var(--accent);background:var(--accent-soft)}.timeline-col-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--border)}.timeline-col-title{font-family:var(--ikn-font-display);font-size:14px;font-weight:var(--fw-semibold);color:var(--text)}.timeline-col-year{margin-left:5px;font-family:var(--ikn-font-sans);font-size:11px;font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums}.timeline-col-title em{margin-left:6px;font-style:normal;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.timeline-col-count{margin-left:auto;font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.timeline-col-late{flex-basis:100%;font-size:11px;color:var(--warning)}.timeline-col-body{display:flex;flex-direction:column;gap:8px;padding:10px}.timeline-col-empty{margin:6px 0;text-align:center;color:var(--text-faint);font-size:13px}.timeline-group{border-radius:10px;background:var(--card-bg, var(--bg));border:1px solid var(--border);padding:8px}.timeline-group-title{display:block;width:100%;padding:0 0 6px;border:none;background:none;color:var(--text);font-family:inherit;font-size:12px;font-weight:600;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-group-title:hover{color:var(--accent)}.timeline-item{display:flex;align-items:flex-start;gap:6px;padding:4px 5px;border-radius:6px;cursor:grab;font-size:12.5px;line-height:1.4}.timeline-item:hover{background:var(--surface-hover)}.timeline-item.is-dragging{opacity:.4}.timeline-item-state{margin-top:-1px;flex-shrink:0}.timeline-item-text{min-width:0;overflow-wrap:anywhere}.timeline-item.todo-done .timeline-item-text{text-decoration:line-through;color:var(--text-muted)}.timeline-item.todo-cancelled .timeline-item-text{text-decoration:line-through;color:var(--text-faint);font-style:italic}.timeline-item.is-late{box-shadow:inset 2px 0 0 var(--warning)}@media(max-width:980px){.logo-text,.scope-btn span,.view-btn span{display:none}.timeline-columns{grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);grid-template-columns:none;overflow-x:auto;padding-bottom:8px}.header-actions .btn span{display:none}}@media(max-width:640px){.app-header{flex-wrap:wrap;gap:10px;padding:10px 12px}.search{order:3;flex-basis:100%;max-width:none}main{padding:16px 12px 100px}.grid{grid-template-columns:1fr}.modal-card{padding:16px}}.auth-page{min-height:100svh;flex:1;width:100%;display:grid;place-items:center;padding:2rem;box-sizing:border-box;background:radial-gradient(60rem 30rem at 50% -10%,var(--brand-wash),transparent 70%),var(--bg)}.auth-panel{width:min(28rem,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);padding:2rem;box-shadow:var(--shadow-lg);display:grid;gap:1.1rem;text-align:left}.auth-brand{display:flex;align-items:center;gap:.85rem;color:var(--text)}.auth-brand h1{margin:0;font-size:var(--text-2xl);color:var(--text)}.auth-brand .ikn-eyebrow{margin:0 0 .15rem}.auth-lead{margin:0;color:var(--text-secondary)}.auth-error{display:flex;gap:.45rem;align-items:flex-start;margin:0;padding:.6rem .75rem;border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:var(--r-lg);background:var(--danger-wash);color:var(--danger);font-size:var(--text-sm)}.auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.7rem 1rem;border:none;border-radius:var(--r-lg);background:var(--brand);color:var(--brand-on);font:inherit;font-weight:var(--fw-semibold);cursor:pointer;text-decoration:none;transition:background var(--dur-fast) var(--ease)}.auth-btn:hover:not(:disabled){background:var(--brand-hover)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-note{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.auth-foot{margin:0;text-align:center;font-family:var(--ikn-font-mono);font-size:var(--text-xs);color:var(--text-faint)}.ikn-lockup{display:inline-flex;align-items:baseline;gap:.3rem;font-family:var(--ikn-font-display);font-weight:var(--fw-semibold);letter-spacing:-.02em;line-height:1.15;white-space:nowrap}.ikn-lockup-famille{color:var(--text-muted)}.ikn-lockup-famille:after{content:" /";color:var(--text-faint)}.ikn-lockup-nom{color:var(--text)}.logo-equipe{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.logo-equipe:before{content:"·";margin-right:.4rem;color:var(--text-faint)}
