@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap";:root{--c-blue-50: #eaf1ff;--c-blue-100: #d6e4ff;--c-blue-500: #2563eb;--c-blue-600: #1d4fd8;--c-blue-700: #1742b3;--c-gray-50: #f5f7fb;--c-gray-100: #eef1f6;--c-gray-200: #e3e8f0;--c-gray-300: #c4cedf;--c-gray-400: #94a0b4;--c-gray-500: #6a7589;--c-gray-700: #2c3648;--c-gray-900: #141a26;--c-amber-50: #fff8e1;--c-amber-100: #ffe082;--c-amber-500: #f59e0b;--c-amber-700: #b45309;--c-green-50: #ecfdf5;--c-green-100: #d1fae5;--c-green-500: #10b981;--c-green-700: #047857;--c-red-50: #fef2f2;--c-red-100: #fee2e2;--c-red-500: #ef4444;--c-red-700: #b91c1c;--bg-app: #eef2f7;--bg-surface: #ffffff;--bg-soft: var(--c-gray-50);--bg-overlay: rgba(15,23,42,.45);--text-strong: var(--c-gray-900);--text-main: var(--c-gray-700);--text-soft: var(--c-gray-500);--text-muted: var(--c-gray-400);--text-inverse: #ffffff;--line-main: var(--c-gray-200);--line-soft: var(--c-gray-100);--line-strong: var(--c-gray-300);--brand: var(--c-blue-500);--brand-hover: var(--c-blue-600);--brand-active: var(--c-blue-700);--brand-soft: var(--c-blue-50);--brand-border: var(--c-blue-100);--success: var(--c-green-500);--success-soft: var(--c-green-50);--success-border:var(--c-green-100);--warning: var(--c-amber-500);--warning-soft: var(--c-amber-50);--warning-border:var(--c-amber-100);--danger: var(--c-red-500);--danger-soft: var(--c-red-50);--danger-border: var(--c-red-100);--info: var(--c-blue-500);--info-soft: var(--c-blue-50);--info-border: var(--c-blue-100);--sb-bg: #1c1917;--sb-bg-soft: #292524;--sb-text: #d6d3d1;--sb-text-hover: #fafaf9;--sb-active-bg: rgba(255,255,255,.05);--sb-hover-bg: rgba(255,255,255,.03);--sb-section: #a8a29e;--sb-border: rgba(250,250,249,.06);--c-pending: var(--c-gray-300);--c-progress: var(--warning);--c-done: var(--success);--c-blocked: var(--danger);--focus-ring: 0 0 0 3px rgba(37,99,235,.22);--radius-xl: 14px;--radius-lg: 10px;--radius-md: 7px;--radius-sm: 4px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(15,23,42,.05);--shadow-card: 0 1px 2px rgba(15,23,42,.04), 0 2px 8px rgba(15,23,42,.06);--shadow-card-hover: 0 2px 4px rgba(15,23,42,.06), 0 8px 20px rgba(15,23,42,.08);--shadow-modal: 0 10px 40px rgba(15,23,42,.18), 0 2px 8px rgba(15,23,42,.08);--shadow-pop: 0 4px 16px rgba(15,23,42,.1), 0 1px 3px rgba(15,23,42,.06);--t-fast: .14s ease;--t-med: .22s ease;--t-slow: .36s ease;--ease-out-quart: cubic-bezier(.165, .84, .44, 1);--ease-out-expo: cubic-bezier(.19, 1, .22, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--motion-fast: .18s var(--ease-out-quart);--motion-med: .32s var(--ease-out-quart);--motion-slow: .56s var(--ease-out-expo);--motion-stagger: 60ms;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, Monaco, monospace;--font-display: "Instrument Serif", Georgia, "Times New Roman", serif;--text-2xs: 10.5px;--text-xs: 12px;--text-sm: 13.5px;--text-md: 16px;--text-lg: 19px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 44px;--text-4xl: 56px;--tracking-tight: -.02em;--tracking-snug: -.01em;--tracking-normal: 0em;--tracking-wide: .04em;--tracking-uppercase: .1em;--canvas: #fafaf9;--surface: #ffffff;--surface-raised: #ffffff;--surface-sunken: #f5f5f4;--surface-inset: #fafaf9;--line-warm: #e7e5e4;--line-warm-soft: #f1f1ef;--line-warm-strong:#d6d3d1;--ink-strong: #0c0a09;--ink: #1c1917;--ink-muted: #57534e;--ink-faint: #a8a29e;--ink-ghost: #d6d3d1;--accent-tint: rgba(37,99,235,.08);--accent-line: rgba(37,99,235,.18);--shadow-hairline: 0 0 0 1px var(--line-warm);--shadow-raised: 0 0 0 1px var(--line-warm-soft), 0 1px 1px rgba(28,25,23,.02), 0 4px 12px rgba(28,25,23,.04);--shadow-overlay: 0 0 0 1px var(--line-warm-soft), 0 2px 4px rgba(28,25,23,.03), 0 8px 24px rgba(28,25,23,.08), 0 24px 48px rgba(28,25,23,.1);--focus-glow: 0 0 0 3px var(--accent-tint), 0 0 0 1px var(--brand)}body{font-family:var(--font-sans)}[data-theme=dark]{--bg-app: #0b1220;--bg-surface: #131a2a;--bg-soft: #1a2335;--bg-overlay: rgba(2,6,15,.65);--text-strong: #f3f6fb;--text-main: #d6dce8;--text-soft: #99a3b8;--text-muted: #6c768c;--text-inverse: #0b1220;--line-main: #243049;--line-soft: #1c2438;--line-strong: #324063;--brand: #4f8bff;--brand-hover: #6a9eff;--brand-active: #84afff;--brand-soft: rgba(79,139,255,.12);--brand-border: rgba(79,139,255,.28);--success-soft: rgba(16,185,129,.12);--success-border:rgba(16,185,129,.28);--warning-soft: rgba(245,158,11,.12);--warning-border:rgba(245,158,11,.28);--danger-soft: rgba(239,68,68,.12);--danger-border: rgba(239,68,68,.28);--info-soft: rgba(79,139,255,.12);--info-border: rgba(79,139,255,.28);--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-card: 0 1px 2px rgba(0,0,0,.3), 0 4px 10px rgba(0,0,0,.35);--shadow-card-hover: 0 2px 4px rgba(0,0,0,.35), 0 10px 24px rgba(0,0,0,.45);--shadow-modal: 0 16px 50px rgba(0,0,0,.55), 0 4px 12px rgba(0,0,0,.4);--shadow-pop: 0 4px 16px rgba(0,0,0,.4), 0 1px 3px rgba(0,0,0,.3);--focus-ring: 0 0 0 3px rgba(79,139,255,.3);--canvas: #0c0a09;--surface: #1c1917;--surface-raised: #292524;--surface-sunken: #1c1917;--surface-inset: #0c0a09;--line-warm: #292524;--line-warm-soft: #1c1917;--line-warm-strong:#44403c;--ink-strong: #fafaf9;--ink: #f5f5f4;--ink-muted: #a8a29e;--ink-faint: #78716c;--ink-ghost: #44403c;--accent-tint: rgba(79,139,255,.12);--accent-line: rgba(79,139,255,.28);--shadow-hairline: 0 0 0 1px var(--line-warm);--shadow-raised: 0 0 0 1px var(--line-warm-soft), 0 4px 12px rgba(0,0,0,.4);--shadow-overlay: 0 0 0 1px var(--line-warm-soft), 0 16px 36px rgba(0,0,0,.55), 0 4px 8px rgba(0,0,0,.3);color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;height:100%;min-height:100vh;overflow-x:hidden}body{font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:13.5px;line-height:1.5;color:var(--text-main);background:var(--bg-app);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{border:0;background:none}input,select,textarea{width:100%;background:var(--bg-surface);color:var(--text-strong);border:1.5px solid var(--line-main);border-radius:var(--radius-md);padding:7px 10px;outline:none;transition:border-color .14s,box-shadow .14s}input:hover,select:hover,textarea:hover{border-color:#c4cedf}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0073ea21}textarea{resize:vertical}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237180a0' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.btn,.btn-primary,.btn-secondary,.btn-danger,.btn-ghost{--_btn-pad-y: 8px;--_btn-pad-x: 14px;--_btn-font: 12.5px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:var(--_btn-pad-y) var(--_btn-pad-x);border-radius:var(--radius-md);border:1.5px solid transparent;cursor:pointer;font-size:var(--_btn-font);font-weight:600;letter-spacing:.1px;line-height:1.2;white-space:nowrap;transition:background .14s var(--ease-out-quart),border-color .14s var(--ease-out-quart),color .14s var(--ease-out-quart),box-shadow .14s var(--ease-out-quart),transform .1s var(--ease-out-quart);-webkit-user-select:none;user-select:none}.btn:active,.btn-primary:active,.btn-secondary:active,.btn-danger:active,.btn-ghost:active{transform:scale(.96);transition-duration:.06s}.btn:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible,.btn-ghost:focus-visible{outline:none;box-shadow:var(--focus-glow)}.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-ghost:disabled,.btn.is-loading,.btn-primary.is-loading,.btn-secondary.is-loading,.btn-danger.is-loading{opacity:.55;cursor:not-allowed;pointer-events:none;transform:none}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 1px 2px #2563eb2e}.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover);box-shadow:0 2px 6px #2563eb47}.btn-secondary{background:var(--bg-surface);color:var(--text-main);border-color:var(--line-main)}.btn-secondary:hover{background:var(--bg-soft);border-color:var(--line-strong);color:var(--text-strong)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger);box-shadow:0 1px 2px #ef44442e}.btn-danger:hover{background:var(--c-red-700);border-color:var(--c-red-700);box-shadow:0 2px 6px #ef444447}.btn-ghost{background:transparent;color:var(--text-soft);border-color:transparent}.btn-ghost:hover{background:var(--bg-soft);color:var(--text-strong)}.btn-finish{--_btn-pad-y: 8px;--_btn-pad-x: 14px;--_btn-font: 12.5px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:var(--_btn-pad-y) var(--_btn-pad-x);border-radius:var(--radius-md);border:1px solid #10b981;background:#10b9811a;color:#047857;cursor:pointer;font-family:var(--font-sans);font-size:var(--_btn-font);font-weight:600;letter-spacing:-.005em;line-height:1.2;white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),box-shadow var(--t-fast),transform .08s ease;-webkit-user-select:none;user-select:none}.btn-finish:hover:not(:disabled){background:#10b981;border-color:#10b981;color:#fff;box-shadow:0 2px 6px #10b98147}.btn-finish:active:not(:disabled){transform:scale(.98)}.btn-finish:focus-visible{outline:none;box-shadow:0 0 0 3px #10b9814d}.btn-finish:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-finish svg{flex:0 0 auto}[data-theme=dark] .btn-finish{background:#10b98124;color:#6ee7b7;border-color:#10b98180}[data-theme=dark] .btn-finish:hover:not(:disabled){background:#10b981;color:#fafaf9;border-color:#10b981}@media(max-width:720px){.btn,.btn-primary,.btn-secondary,.btn-danger,.btn-ghost,.btn-finish{min-height:40px;padding-block:9px}.small-btn{min-height:32px;padding-block:6px}.ghost-btn{min-height:36px;padding:8px 14px}.ghost-icon{width:36px;height:36px}}.btn-sm{--_btn-pad-y: 5px;--_btn-pad-x: 10px;--_btn-font: 11.5px;border-radius:var(--radius-sm)}.btn-lg{--_btn-pad-y: 11px;--_btn-pad-x: 18px;--_btn-font: 13.5px;border-radius:var(--radius-lg)}.btn-block,.full-btn{width:100%}.btn-icon{--_btn-pad-x: 0;width:34px;height:34px;flex:0 0 auto}.btn-icon.btn-sm{width:28px;height:28px}.btn-icon.btn-lg{width:42px;height:42px}.small-btn{--_btn-pad-y: 4px;--_btn-pad-x: 9px;--_btn-font: 11.5px}.quick-btn{height:34px;padding-inline:13px}.btn-spinner-inline{width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.ghost-btn,.ghost-icon{background:var(--bg-surface);border:1.5px solid var(--line-main);color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast);font-size:12.5px}.ghost-btn:hover,.ghost-icon:hover{background:var(--bg-soft);border-color:var(--line-strong);color:var(--text-strong)}.ghost-btn:focus-visible,.ghost-icon:focus-visible{outline:none;box-shadow:var(--focus-ring);border-color:var(--brand)}.ghost-btn{padding:6px 11px}.ghost-icon{width:32px;height:32px;font-size:17px;display:inline-flex;align-items:center;justify-content:center}.btn-spinner{display:inline-block;width:13px;height:13px;margin-right:8px;vertical-align:-2px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:btn-spinner-rotate .65s linear infinite}@keyframes btn-spinner-rotate{to{transform:rotate(360deg)}}button:disabled{opacity:.65;cursor:not-allowed}.card,.team-card,.kpi-card,.day-task-card{background:var(--bg-surface);border:1.5px solid var(--line-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast),background var(--t-fast)}@media(hover:hover){.card-hover:hover,.team-card:hover,.day-task-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}}.card-flat{background:var(--bg-surface);border:1.5px solid var(--line-main);border-radius:var(--radius-lg)}.month-label{min-width:120px;text-align:center;text-transform:capitalize;font-weight:700;font-size:13.5px;color:var(--text-strong)}.task-form{display:flex;flex-direction:column;padding:0}.form-section{padding:22px 24px;border-bottom:1px solid var(--line-warm-soft)}.form-section:last-of-type{border-bottom:0}.form-section-header{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);margin-bottom:14px}.form-section-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px}.form-row{display:flex;flex-direction:column;gap:5px}.form-row.full{grid-column:1 / -1}.form-row label{font-family:var(--font-sans);font-size:11.5px;color:var(--ink-muted);font-weight:600;letter-spacing:-.005em;text-transform:none}.chips-wrap{display:flex;flex-wrap:wrap;gap:6px}.time-presets{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.chip{width:auto;border-radius:999px;padding:5px 12px;border:1px solid var(--line-warm);background:var(--surface);color:var(--ink-muted);cursor:pointer;font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:-.005em;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.chip:hover{background:var(--surface-sunken);border-color:var(--line-warm-strong);color:var(--ink-strong)}.chip-active{background:var(--ink-strong);color:var(--surface);border-color:var(--ink-strong)}.chip-active:hover{background:var(--ink);color:var(--surface);border-color:var(--ink)}.inline-action{display:flex;gap:6px}.inline-action input{flex:1}.hidden-input{display:none}.attachments-box{border:1px solid var(--line-warm);border-radius:8px;padding:12px;background:var(--surface-sunken)}.attachments-actions{margin-bottom:10px}.attachments-empty{color:var(--ink-muted);font-size:12px;letter-spacing:-.005em}.attachments-list{display:flex;flex-direction:column;gap:6px}.attachment-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line-warm);border-radius:6px;background:var(--surface);padding:8px 11px;transition:border-color var(--t-fast)}.attachment-item:hover{border-color:var(--line-warm-strong)}.attachment-name{font-size:12.5px;color:var(--ink-strong);font-weight:600;letter-spacing:-.005em}.attachment-meta{margin-top:2px;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);letter-spacing:.02em}.client-field{display:flex;gap:8px;align-items:stretch;position:relative}.client-field>select,.client-field>.client-combobox{flex:1;min-width:0}.client-combobox{position:relative}.client-combobox-trigger{display:flex;align-items:center;gap:8px;width:100%;height:38px;padding:0 10px 0 12px;background:var(--surface);border:1px solid var(--line-warm);border-radius:6px;font-family:var(--font-sans);font-size:14px;color:var(--ink-strong);cursor:pointer;text-align:left;letter-spacing:-.005em;transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}.client-combobox-trigger:hover:not(:disabled){border-color:var(--line-warm-strong)}.client-combobox-trigger:focus-visible,.client-combobox-trigger.is-open{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--accent-tint)}.client-combobox-trigger.has-error{border-color:#dc2626}.client-combobox-trigger:disabled{background:var(--surface-sunken);color:var(--ink-muted);cursor:not-allowed}.client-combobox-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.client-combobox-placeholder{flex:1;min-width:0;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.client-combobox-clear{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:var(--ink-faint);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.client-combobox-clear:hover{background:var(--surface-sunken);color:var(--ink-strong)}.client-combobox-chevron{flex:0 0 auto;color:var(--ink-faint);transition:transform .2s ease,color var(--t-fast)}.client-combobox.is-open .client-combobox-chevron{transform:rotate(180deg);color:var(--brand)}.client-combobox-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:var(--surface);border:1px solid var(--line-warm);border-radius:8px;box-shadow:var(--shadow-overlay);overflow:hidden;display:flex;flex-direction:column;max-height:380px;animation:combobox-pop .14s cubic-bezier(.22,1,.36,1)}@keyframes combobox-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.client-combobox-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line-warm-soft);color:var(--ink-faint);flex:0 0 auto}.client-combobox-search svg{flex:0 0 auto}.client-combobox-search input{flex:1;min-width:0;border:0;outline:0;padding:0;background:transparent;font-size:16px;font-family:var(--font-sans);color:var(--ink-strong);letter-spacing:-.005em}.client-combobox-search input::placeholder{color:var(--ink-faint)}.client-combobox-count{flex:0 0 auto;font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);letter-spacing:.02em;font-variant-numeric:tabular-nums;padding:2px 6px;background:var(--surface-sunken);border-radius:4px}@media(min-width:720px){.client-combobox-search input{font-size:14px}}.client-combobox-list{list-style:none;margin:0;padding:4px 0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line-warm-strong) transparent}.client-combobox-list::-webkit-scrollbar{width:6px}.client-combobox-list::-webkit-scrollbar-thumb{background:var(--line-warm-strong);border-radius:3px}.client-combobox-option{display:flex;flex-direction:column;gap:2px;padding:8px 14px;cursor:pointer;transition:background var(--t-fast);border-left:2px solid transparent}.client-combobox-option.is-highlight{background:var(--accent-tint)}.client-combobox-option.is-selected{border-left-color:var(--brand)}.client-combobox-option.is-selected.is-highlight{background:var(--accent-tint)}.client-combobox-option-name{font-size:13.5px;font-weight:500;color:var(--ink-strong);letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-combobox-option.is-selected .client-combobox-option-name{font-weight:600}.client-combobox-option-meta{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-combobox-empty{padding:24px 14px;text-align:center;color:var(--ink-faint);font-size:12.5px;font-style:italic}.client-field-toggle{flex-shrink:0;padding:0 14px;border:1px solid var(--line-warm);border-radius:6px;background:var(--surface);color:var(--ink-muted);font-family:var(--font-sans);font-size:12.5px;font-weight:600;cursor:pointer;letter-spacing:-.005em;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast);white-space:nowrap}.client-field-toggle:hover{border-color:var(--line-warm-strong);color:var(--ink-strong);background:var(--surface-sunken)}.client-field-toggle[aria-expanded=true]{background:var(--surface-sunken);border-color:var(--line-warm-soft);color:var(--ink-faint)}.client-new-inline{display:flex;gap:8px;margin-top:8px;align-items:stretch}.client-new-inline input{flex:1;min-width:0}.form-section-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.task-location-cta{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--brand);background:var(--brand);color:#fff;border-radius:5px;font-size:11.5px;font-weight:600;text-decoration:none;letter-spacing:-.005em;text-transform:none;transition:background var(--t-fast),border-color var(--t-fast),transform 80ms ease;font-family:var(--font-sans)}.task-location-cta:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:#fff}.task-location-cta:active{transform:scale(.97)}.task-location-cta svg{flex:0 0 auto}.form-actions{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 24px;border-top:1px solid var(--line-warm-soft);background:var(--surface)}.form-actions-spacer{flex:1 1 auto;min-width:8px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.field-error{font-size:11.5px;color:#991b1b;margin-top:4px;line-height:1.4;letter-spacing:-.005em}input.has-error,select.has-error,textarea.has-error{border-color:#dc2626!important}.task-conflict{display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:14px 16px;background:#f59e0b0f;border:1px solid rgba(245,158,11,.28);border-left:3px solid #f59e0b;border-radius:8px;animation:fade-up .18s ease}.task-conflict-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:#92520b;margin-top:1px}.task-conflict-icon svg{width:18px;height:18px}.task-conflict-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.task-conflict-headline{display:flex;flex-direction:column;gap:2px}.task-conflict-headline strong{font-family:var(--font-sans);font-size:13px;font-weight:600;color:#7c3a07;letter-spacing:-.005em}.task-conflict-sub{font-size:12px;color:#92520b;line-height:1.45}.task-conflict-list{list-style:none;margin:2px 0 0;padding:8px 0 0;display:flex;flex-direction:column;gap:4px;border-top:1px solid rgba(245,158,11,.2)}.task-conflict-item{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:baseline;padding:2px 0;font-size:12px;color:var(--ink);letter-spacing:-.005em}.task-conflict-time{font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:#7c3a07;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.task-conflict-name{font-weight:500;color:var(--ink-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-conflict-techs{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);letter-spacing:.02em;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.task-conflict-more{font-family:var(--font-mono);font-size:11px;color:#92520b;font-weight:600;letter-spacing:.04em;padding-top:2px}@keyframes fade-up{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:540px){.task-conflict-item{grid-template-columns:52px 1fr;grid-template-rows:auto auto}.task-conflict-techs{grid-column:2;grid-row:2;text-align:left;max-width:100%}}[data-theme=dark] .task-conflict{background:#f59e0b14;border-color:#f59e0b52}[data-theme=dark] .task-conflict-headline strong{color:#fde68a}[data-theme=dark] .task-conflict-sub{color:#fcd34d}[data-theme=dark] .task-conflict-time{color:#fde68a}[data-theme=dark] .task-conflict-icon,[data-theme=dark] .task-conflict-more{color:#fcd34d}@media(max-width:720px){.task-form input,.task-form select,.task-form textarea,.form-row input,.form-row select,.form-row textarea,.task-form input[type=date],.task-form input[type=time]{font-size:16px}.chip{padding:8px 14px;font-size:13px}.chips-wrap{gap:8px}.time-presets{gap:8px;margin-top:8px}.form-section-header{flex-wrap:wrap;gap:8px}.task-location-cta{padding:8px 14px;font-size:13px}}[data-theme=dark] .task-conflict-list{border-top-color:#f59e0b38}.table-wrapper{width:100%;height:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line-warm-strong) transparent}.tasks-table{width:100%;border-collapse:separate;border-spacing:0;min-width:960px;font-variant-numeric:tabular-nums}.tasks-table thead th{position:sticky;top:0;z-index:2;background:var(--surface-sunken);color:var(--ink-faint);font-family:var(--font-mono);font-size:10px;font-weight:600;text-align:left;padding:11px 14px;border-bottom:1px solid var(--line-warm);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;-webkit-user-select:none;user-select:none;box-shadow:0 1px 0 var(--line-warm)}.tasks-table tbody td{padding:10px 14px;border-bottom:1px solid var(--line-warm-soft);color:var(--ink);font-size:12.5px;white-space:nowrap}.tasks-table tbody tr:nth-child(2n) td{background:var(--surface-sunken)}.tasks-table tbody tr{cursor:pointer;position:relative;transition:background var(--t-fast)}.tasks-table tbody tr td:first-child{border-left:3px solid transparent;font-weight:600;color:var(--ink-strong);letter-spacing:-.005em}.tasks-table tbody tr:has(.mini-status.no-iniciado) td:first-child{border-left-color:var(--ink-faint)}.tasks-table tbody tr:has(.mini-status.en-curso) td:first-child{border-left-color:#f59e0b}.tasks-table tbody tr:has(.mini-status.listo) td:first-child{border-left-color:#10b981}.tasks-table tbody tr:has(.mini-status.bloqueado) td:first-child{border-left-color:#dc2626}.tasks-table tbody tr:hover td,.tasks-table tbody tr:nth-child(2n):hover td{background:var(--accent-tint)}.tasks-table tbody tr:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.tasks-table--compact thead th{padding:8px 11px;font-size:9.5px}.tasks-table--compact tbody td{padding:7px 11px;font-size:12px}.table-empty{text-align:center;color:var(--ink-faint);padding:36px!important;font-size:13px}.tasks-table--selectable .th-select,.tasks-table--selectable .td-select{width:36px;padding:0 0 0 14px}.tasks-table--selectable thead th.th-select{background:var(--surface-sunken)}.tasks-table--selectable tbody tr.is-selected td,.tasks-table--selectable tbody tr.is-selected:nth-child(2n) td{background:var(--accent-tint)}.tasks-table--selectable tbody tr.is-selected:hover td{background:#2563eb21}.row-check{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;padding:8px 6px;margin:0}.row-check input{position:absolute;opacity:0;pointer-events:none;width:0;height:0;margin:0}.row-check-box{display:inline-block;width:16px;height:16px;border-radius:4px;border:1.5px solid var(--line-warm-strong);background:var(--surface);position:relative;transition:border-color var(--t-fast),background var(--t-fast);flex:0 0 auto}.row-check:hover .row-check-box{border-color:var(--brand)}.row-check input:focus-visible+.row-check-box{outline:none;box-shadow:0 0 0 3px var(--accent-tint);border-color:var(--brand)}.row-check input:checked+.row-check-box{background:var(--brand);border-color:var(--brand)}.row-check input:checked+.row-check-box:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.row-check input:indeterminate+.row-check-box{background:var(--brand);border-color:var(--brand)}.row-check input:indeterminate+.row-check-box:after{content:"";position:absolute;left:3px;top:6px;width:8px;height:2px;background:#fff;border-radius:1px}.bulk-bar{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:14px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--line-warm);box-shadow:0 1px 0 var(--line-warm-soft);animation:bulk-bar-in .16s ease-out}@keyframes bulk-bar-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.bulk-bar-count{display:inline-flex;align-items:baseline;gap:6px;flex:0 0 auto}.bulk-bar-count-num{font-family:var(--font-mono);font-size:17px;font-weight:600;color:var(--ink-strong);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.bulk-bar-count-label{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint)}.bulk-bar-divider{width:1px;height:22px;background:var(--line-warm);flex:0 0 auto}.bulk-bar-actions{display:flex;align-items:center;gap:10px;flex:1 1 auto;flex-wrap:wrap}.bulk-bar-action{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.bulk-bar-action-label{font-family:var(--font-mono);font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint)}.bulk-bar-select{width:auto;min-width:0;font-family:var(--font-sans);font-size:12.5px;font-weight:500;padding:5px 26px 5px 10px;border:1px solid var(--line-warm);background:var(--surface);color:var(--ink-strong);border-radius:6px;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast)}.bulk-bar-select:hover{border-color:var(--line-warm-strong);background:var(--surface-sunken)}.bulk-bar-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--accent-tint)}.bulk-bar-btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:12.5px;font-weight:600;padding:5px 11px;border:1px solid var(--line-warm);background:var(--surface);color:var(--ink-strong);border-radius:6px;cursor:pointer;letter-spacing:-.005em;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.bulk-bar-btn:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--line-warm-strong)}.bulk-bar-btn:disabled{opacity:.55;cursor:not-allowed}.bulk-bar-btn-primary{background:var(--ink-strong);color:var(--surface);border-color:var(--ink-strong)}.bulk-bar-btn-primary:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--surface)}.bulk-bar-btn-danger{border-color:#dc26264d;color:#991b1b;background:#dc26260f}.bulk-bar-btn-danger:hover:not(:disabled){background:#dc26261f;border-color:#dc262673;color:#7f1d1d}.bulk-bar-action-date,.bulk-bar-date-pop{display:inline-flex;align-items:center;gap:6px}.bulk-bar-date-pop input[type=date]{width:auto;font-family:var(--font-mono);font-size:12px;padding:5px 8px;border:1px solid var(--line-warm);background:var(--surface);color:var(--ink-strong);border-radius:6px}.bulk-bar-date-pop input[type=date]:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--accent-tint)}.bulk-bar-clear{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;background:transparent;border:1px solid transparent;color:var(--ink-faint);cursor:pointer;flex:0 0 auto;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.bulk-bar-clear:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink-strong);border-color:var(--line-warm)}.bulk-bar-clear:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-tint);border-color:var(--brand)}@media(max-width:760px){.bulk-bar{flex-wrap:wrap;gap:10px}.bulk-bar-divider{display:none}.bulk-bar-actions{width:100%;gap:8px}}.mini-status,.mini-priority{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;white-space:nowrap;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:1px solid transparent}.mini-status.no-iniciado{background:var(--surface-sunken);color:var(--ink-muted);border-color:var(--line-warm)}.mini-status.en-curso{background:#f59e0b1a;color:#92520b;border-color:#f59e0b38}.mini-status.listo{background:#10b9811a;color:#047857;border-color:#10b98138}.mini-status.bloqueado{background:#dc26261a;color:#991b1b;border-color:#dc262638}.mini-priority.priority-low{background:var(--surface-sunken);color:var(--ink-faint);border-color:var(--line-warm-soft)}.mini-priority.priority-medium{background:var(--surface-sunken);color:var(--ink-muted);border-color:var(--line-warm)}.mini-priority.priority-high{background:#f59e0b1a;color:#92520b;border-color:#f59e0b38}.mini-priority.priority-urgent{background:#dc26261a;color:#991b1b;border-color:#dc262638}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh;min-height:100dvh}.main-shell{display:flex;flex-direction:column;min-width:0;min-height:100vh;min-height:100dvh;animation:fade-up .24s ease;background:var(--canvas);position:relative;isolation:isolate}.main-shell:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at center,var(--ink-ghost) 1px,transparent 1.6px);background-size:28px 28px;opacity:.35;pointer-events:none;z-index:-1;-webkit-mask-image:radial-gradient(ellipse 100% 100% at center,rgba(0,0,0,.7) 0%,transparent 80%);mask-image:radial-gradient(ellipse 100% 100% at center,rgba(0,0,0,.7) 0%,transparent 80%)}[data-theme=dark] .main-shell:before{opacity:.18}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(240px,22vw,300px);grid-auto-rows:minmax(0,1fr);gap:10px;padding:12px 14px 14px;flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#b8c8e0 var(--bg-app)}.integrated-layout{align-items:stretch}.main-panel{min-width:0;min-height:0;overflow:auto;background:var(--bg-surface);border:1.5px solid var(--line-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);scrollbar-width:thin;scrollbar-color:#cdd5e8 #f3f5fb}.top-aligned-panel{align-self:stretch}.full-width-panel{grid-column:1 / -1}.clients-main-panel{overflow:auto}@media(max-width:1280px){.topbar{padding:10px 14px 0}.top-title-row{flex-wrap:wrap;gap:8px;margin-bottom:8px}.search-input{min-width:0}}@media(max-width:1180px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.content-grid{padding:10px 12px 12px}}@media(max-width:1100px){.content-grid{grid-template-columns:1fr;grid-auto-rows:auto}.stacked-controls-panel{position:static;height:auto}.right-panel{grid-template-rows:auto}.day-panel{overflow:visible}.day-task-list{max-height:min(44vh,400px)}}@media(max-width:900px){.app-shell{grid-template-columns:minmax(0,1fr)}.topbar-burger{display:inline-flex}.sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;z-index:100;transform:translate(-100%);transition:transform .24s cubic-bezier(.32,.72,0,1);box-shadow:0 0 0 transparent}.sidebar.is-open{transform:translate(0);box-shadow:8px 0 30px #00000059}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:90;background:var(--bg-overlay);opacity:0;pointer-events:none;transition:opacity .24s ease}.sidebar-backdrop.is-open{opacity:1;pointer-events:auto}.sidebar-close{display:inline-flex}.top-header-counters{gap:4px}.stat-pill{padding:4px 8px 4px 7px}.stat-pill .stat-label{display:none}.top-title-row h1{font-size:16px}.top-title-row p{font-size:11px}}@media(max-width:480px){.top-title-row p{display:none}}@media(max-width:720px){.topbar{padding:12px 14px 0}.content-grid{padding:10px 10px 14px;gap:10px}}@media(max-width:480px){.topbar{padding:10px 10px 0}.content-grid{padding:8px 8px 12px;gap:8px}}.sidebar-backdrop{display:none}.sidebar{background:var(--sb-bg);display:flex;flex-direction:column;border-right:1px solid var(--sb-border);position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(250,250,249,.16) transparent;box-shadow:inset -1px 0 #fafaf908}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#fafaf929;border-radius:3px}.sidebar-close{display:none;margin-left:auto;width:32px;height:32px;border-radius:var(--radius-md);align-items:center;justify-content:center;color:var(--sb-text);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.sidebar-close:hover{background:var(--sb-hover-bg);color:var(--sb-text-hover)}.sidebar-brand{display:flex;align-items:center;gap:8px;padding:18px 14px 16px;border-bottom:1px solid var(--sb-border);flex:0 0 auto}.sidebar-brand-glyph{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sidebar-brand-wordmark{display:inline-flex;align-items:center;flex:0 1 auto;min-width:0}.sidebar-nav{display:flex;flex-direction:column;gap:1px;padding:10px 8px;flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:none;position:relative}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-active-indicator{position:absolute;left:0;top:0;width:2px;background:var(--brand);border-radius:0 2px 2px 0;opacity:0;transition:transform .42s var(--ease-out-expo),height .42s var(--ease-out-expo),opacity .18s ease;pointer-events:none;box-shadow:0 0 12px #7c8cff4d}.sidebar-active-indicator.is-ready{opacity:1}@media(prefers-reduced-motion:reduce){.sidebar-active-indicator{transition:opacity .18s ease}}.nav-section-label{font-family:var(--font-mono);font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--sb-section);padding:14px 10px 6px;-webkit-user-select:none;user-select:none}.nav-section-label:first-child{padding-top:4px}.nav-item{display:flex;align-items:center;gap:10px;text-align:left;padding:8px 10px;border-radius:var(--radius-md);color:var(--sb-text);cursor:pointer;font-size:13px;font-weight:500;transition:background var(--t-fast),color var(--t-fast);position:relative;width:100%}.nav-item:hover:not(:disabled){background:var(--sb-hover-bg);color:var(--sb-text-hover)}.nav-item.active{background:var(--sb-active-bg);color:var(--sb-text-hover);font-weight:600}.nav-item:focus-visible{outline:none;box-shadow:inset 0 0 0 1.5px var(--brand)}.nav-item:disabled,.nav-soon{opacity:.35;cursor:default;pointer-events:none}.nav-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;font-size:17px;width:18px;height:18px;color:inherit;opacity:.78;transition:opacity var(--t-fast)}.nav-item:hover:not(:disabled) .nav-icon,.nav-item.active .nav-icon{opacity:1}.nav-label{flex:1;min-width:0}.nav-badge{flex:0 0 auto;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums;background:#7c8cff2e;color:#c4cdff;padding:1px 6px;border-radius:999px;min-width:18px;text-align:center;line-height:1.4}.nav-badge-critical{background:#dc262638;color:#fca5a5}.sidebar-footer{flex:0 0 auto;padding:10px 8px 12px;border-top:1px solid var(--sb-border)}.sidebar-user{display:flex;align-items:center;min-width:0;gap:8px;padding:6px;border-radius:var(--radius-md);transition:background var(--t-fast)}.sidebar-user:hover{background:var(--sb-hover-bg)}.user-avatar{width:28px;height:28px;border-radius:999px;border:1px solid rgba(250,250,249,.18);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:0 0 auto;letter-spacing:.3px;text-shadow:0 1px 1px rgba(0,0,0,.18)}.user-info{min-width:0;flex:1 1 0}.user-name{font-size:12.5px;font-weight:600;color:var(--sb-text-hover);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--sb-section);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;text-transform:uppercase}.logout-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);color:var(--sb-text);font-size:15px;cursor:pointer;flex:0 0 auto;transition:background var(--t-fast),color var(--t-fast)}.logout-btn:hover{background:#fafaf914;color:var(--sb-text-hover)}.logout-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #7c8cff99}@media(max-width:900px){.sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;height:100dvh;z-index:100;transform:translate(-100%);transition:transform .24s cubic-bezier(.32,.72,0,1);box-shadow:0 0 0 transparent}.sidebar.is-open{transform:translate(0);box-shadow:8px 0 30px #00000073}.day-task-list{max-height:min(50vh,400px)}}.topbar{background:#ffffffc7;backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--line-warm);padding:14px 22px 0;flex:0 0 auto;position:sticky;top:0;z-index:50}[data-theme=dark] .topbar{background:#1c1917c7}@supports not (backdrop-filter: blur(1px)){.topbar{background:var(--surface)}}.compact-topbar{padding-bottom:0}.top-title-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;flex-wrap:wrap}.top-title-block{min-width:0}.top-title-row h1{margin:0;font-family:var(--font-sans);font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--ink-strong)}.top-title-row p{margin:3px 0 0;color:var(--ink-muted);font-size:12.5px;font-weight:400;letter-spacing:-.005em}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.top-header-counters{display:inline-flex;align-items:stretch;gap:0;background:var(--surface, var(--bg-surface));border:1px solid var(--line-warm, var(--line-main));border-radius:8px;overflow:hidden;flex-wrap:nowrap}.theme-toggle{width:34px;height:34px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-faint);background:var(--surface);border:1px solid var(--line-warm);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform var(--t-fast);flex:0 0 auto}.theme-toggle:hover{background:var(--surface-sunken);border-color:var(--line-warm-strong);color:var(--ink-strong)}.theme-toggle:active{transform:scale(.94)}.theme-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring);border-color:var(--brand)}.theme-toggle svg{display:block}.stat-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:0;border-right:1px solid var(--line-warm, var(--line-main));border-radius:0;background:transparent;cursor:pointer;transition:background .15s ease;white-space:nowrap;font-family:inherit;position:relative}.stat-pill:last-child{border-right:0}.stat-pill:hover{background:var(--surface-sunken, var(--bg-soft))}.stat-pill:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--brand)}.stat-dot{width:7px;height:7px;border-radius:999px;flex:0 0 auto;position:relative}.stat-pill strong{font-family:var(--font-mono, ui-monospace, monospace);font-size:14px;font-weight:600;color:var(--ink-strong, var(--text-strong));line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-label{font-size:11.5px;font-weight:500;color:var(--ink-muted, var(--text-soft));letter-spacing:-.005em;transition:color .15s ease}.stat-pill:hover .stat-label{color:var(--ink-strong, var(--text-strong))}.stat-total .stat-dot{background:var(--ink-faint, #9399b0)}.stat-pending .stat-dot{background:var(--c-pending)}.stat-progress .stat-dot{background:var(--c-progress);box-shadow:0 0 0 3px #f59e0b29}.stat-done .stat-dot{background:var(--c-done);box-shadow:0 0 0 3px #10b98124}@media(max-width:720px){.stat-pill{padding:7px 10px}.stat-pill .stat-label{display:none}}@media(max-width:540px){.top-header-counters{display:none}}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 0 8px;border-top:1px solid var(--line-warm-soft);row-gap:6px}.toolbar-installations{align-items:center}.toolbar-top-row{margin-top:0}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.quick-actions{margin-left:auto;gap:6px}.quick-btn{height:34px;padding-inline:13px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:12.5px}.toolbar-search-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1 1 500px;min-width:0}.inline-view-tabs{display:flex;align-items:center;gap:0;background:var(--surface-sunken);border:1px solid var(--line-warm);border-radius:8px;padding:2px;flex:0 0 auto}.view-tab{display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:5px 12px;border:0;background:transparent;color:var(--ink-muted);cursor:pointer;font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:-.005em;transition:background var(--t-fast),color var(--t-fast)}.view-tab:hover{color:var(--ink-strong)}.view-tab.active{background:var(--surface);color:var(--ink-strong);font-weight:600;box-shadow:0 0 0 1px var(--line-warm),0 1px 2px #1c19170a}.view-tab-svg{width:14px;height:14px;flex:0 0 auto;color:currentColor}.search-wrapper{position:relative;flex:1 1 260px;min-width:200px}.search-wrapper:before{content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='9' cy='9' r='6' stroke='%2378716c' stroke-width='1.8'/%3E%3Cpath d='M13.5 13.5L17 17' stroke='%2378716c' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:14px 14px;pointer-events:none;opacity:.85}.search-input{height:34px;padding:0 12px 0 30px;background:var(--surface);border:1px solid var(--line-warm);border-radius:6px;font-family:var(--font-sans);font-size:12.5px;color:var(--ink-strong);width:100%;letter-spacing:-.005em;transition:border-color .14s,box-shadow .14s}.search-input:hover{border-color:var(--line-warm-strong)}.search-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--accent-tint)}.topbar-section-select-wrap{display:none}@media(max-width:900px){.top-title-block{display:none}.topbar-section-select-wrap{position:relative;display:inline-flex;align-items:center;gap:8px;flex:1;min-width:0;height:38px;padding:0 12px;background:var(--surface);border:1px solid var(--line-warm);border-radius:8px;color:var(--ink-strong);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast)}.topbar-section-select-wrap:hover{border-color:var(--line-warm-strong);background:var(--surface-sunken)}.topbar-section-select-wrap:focus-within{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--accent-tint)}.topbar-section-select-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--ink-strong);letter-spacing:-.01em}.topbar-section-select-chevron{flex:0 0 auto;color:var(--ink-faint);transition:transform .2s ease}.topbar-section-select-wrap:focus-within .topbar-section-select-chevron{transform:rotate(180deg);color:var(--brand)}.topbar-section-select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;margin:0;padding:0;background:transparent;appearance:none;-webkit-appearance:none;font-size:16px}}@media(max-width:720px){.toolbar.toolbar-installations{gap:10px;padding:10px 0;align-items:stretch}.toolbar-search-tabs{flex:1 1 100%;flex-wrap:wrap;gap:8px}.inline-view-tabs{flex:0 0 auto}.search-wrapper{flex:1 1 100%;min-width:0}.search-input{height:40px;font-size:16px}.toolbar-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.toolbar-filter-select{width:100%;height:40px;font-size:14px}.toolbar-right.quick-actions{width:100%;margin-left:0;display:grid;grid-template-columns:auto 1fr;gap:8px}.quick-btn{height:40px;padding-inline:16px;font-size:13px}.toolbar-right.quick-actions .btn-primary{grid-column:2}}@media(max-width:420px){.toolbar-filters{grid-template-columns:1fr}}.topbar-burger{display:none;width:36px;height:36px;border-radius:var(--radius-md);align-items:center;justify-content:center;color:var(--ink-muted);background:transparent;border:1px solid transparent;cursor:pointer;flex:0 0 auto;margin-right:4px;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.topbar-burger:hover{background:var(--surface-sunken);border-color:var(--line-warm);color:var(--ink-strong)}.topbar-burger:focus-visible{outline:none;box-shadow:var(--focus-ring);border-color:var(--brand)}.main-panel:has(>.calendar-topbar){display:flex;flex-direction:column}.calendar-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line-warm);background:var(--surface);flex:0 0 auto}.calendar-topbar-spacer{min-height:1px}.calendar-topbar-controls{display:flex;align-items:center;gap:8px;margin-left:auto}.month-label{font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--ink-strong);letter-spacing:.02em;font-variant-numeric:tabular-nums;text-transform:lowercase;margin-left:4px;white-space:nowrap}.calendar-mode-tabs{display:inline-flex;background:var(--surface-sunken);border:1px solid var(--line-warm);border-radius:8px;padding:2px;gap:0}.calendar-mode-tab{appearance:none;border:0;background:transparent;padding:5px 14px;border-radius:6px;font-family:var(--font-sans);font-size:12px;font-weight:600;color:var(--ink-muted);cursor:pointer;transition:background var(--t-fast),color var(--t-fast);letter-spacing:-.005em}.calendar-mode-tab:hover{color:var(--ink-strong)}.calendar-mode-tab.active{background:var(--surface);color:var(--ink-strong);box-shadow:0 0 0 1px var(--line-warm),0 1px 2px #1c19170a}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line-warm);background:var(--surface-sunken)}.calendar-weekdays div{padding:8px 6px;border-right:1px solid var(--line-warm-soft);text-align:center;color:var(--ink-faint);font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.calendar-weekdays .wd-short{display:none}.calendar-weekdays div:last-child,.calendar-weekdays div:nth-last-child(2){color:#b45309}.calendar-weekdays div:last-child{border-right:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));flex:1;min-height:0;isolation:isolate}.calendar-cell{min-height:clamp(56px,8vh,82px);border-right:1px solid var(--line-warm-soft);border-bottom:1px solid var(--line-warm-soft);padding:6px 7px;text-align:left;cursor:pointer;position:relative;overflow:visible;background:var(--surface);transition:background var(--t-fast)}.calendar-grid .calendar-cell:nth-child(7n-1),.calendar-grid .calendar-cell:nth-child(7n){background:var(--surface-sunken)}.calendar-grid .calendar-cell:nth-child(7n){border-right:0}@media(hover:hover){.calendar-cell:hover{background:var(--accent-tint)!important;z-index:30}.calendar-cell:has(.task-pill:hover){z-index:40}}.calendar-cell.outside{background:var(--surface-inset)!important}.calendar-cell.outside .cell-day{color:var(--ink-ghost)}.calendar-cell.outside .task-pill{opacity:.55}.calendar-cell.selected{box-shadow:inset 0 0 0 2px var(--brand);z-index:25}.cell-header{display:flex;justify-content:flex-end;align-items:flex-start;min-height:20px;margin-bottom:4px}.cell-day{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.cell-day.today{width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--brand);font-size:10.5px;font-weight:700;letter-spacing:-.02em}.cell-tasks{display:flex;flex-direction:column;gap:3px}.task-pill{width:100%;border-radius:5px;padding:4px 7px 4px 10px;font-size:11px;font-weight:500;line-height:1.35;position:relative;cursor:pointer;transition:filter var(--t-fast),transform var(--t-fast),background var(--t-fast);overflow:visible;border-left:3px solid transparent;color:var(--ink-strong)}@media(hover:hover){.task-pill:hover{filter:none;transform:translateY(-1px);z-index:40;box-shadow:0 2px 6px #1c191714}}.task-pill.is-dragging{opacity:.55;transform:scale(.97);cursor:grabbing;filter:saturate(.9)}.task-pill.is-touch-dragging{opacity:.92;transform:scale(1.04);box-shadow:0 8px 20px #1c19172e;outline:2px solid var(--brand);outline-offset:2px;z-index:60}.calendar-cell.drop-target-active,.week-column.drop-target-active{background:var(--accent-tint)!important;outline:2px dashed var(--brand);outline-offset:-3px;z-index:30}.task-pill-content{display:flex;align-items:center;gap:5px;min-width:0}.task-type-icon{flex:0 0 auto;font-size:10px;line-height:1}.task-pill-text{color:inherit;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;font-weight:500}.task-pill-time{flex:0 0 auto;font-family:var(--font-mono);font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-muted);letter-spacing:-.01em;padding:0;background:transparent;border-radius:0}.task-pill.status-pending{background:var(--surface-sunken);border-left-color:var(--ink-faint)}.task-pill.status-pending:hover{background:var(--line-warm-soft)}.task-pill.status-progress{background:#f59e0b14;border-left-color:#f59e0b}.task-pill.status-progress:hover{background:#f59e0b24}.task-pill.status-done{background:#10b98114;border-left-color:#10b981}.task-pill.status-done:hover{background:#10b98124}.task-pill.status-blocked{background:#dc262614;border-left-color:#dc2626}.task-pill.status-blocked:hover{background:#dc262624}.task-pill.priority-high{box-shadow:inset 0 2px #f59e0b}.task-pill.priority-urgent{box-shadow:inset 0 2px #dc2626}.task-pill.priority-high:hover{box-shadow:inset 0 2px #f59e0b,0 2px 6px #1c191714}.task-pill.priority-urgent:hover{box-shadow:inset 0 2px #dc2626,0 2px 6px #1c191714}.task-tooltip{position:absolute;top:calc(100% + 6px);left:0;min-width:200px;max-width:256px;padding:10px 12px;border-radius:7px;background:#1c1917;color:#f5f5f4;font-size:11.5px;line-height:1.55;box-shadow:0 0 0 1px #fafaf90a,0 12px 28px #1c19172e;opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity var(--t-fast),transform var(--t-fast),visibility var(--t-fast);z-index:25;pointer-events:none}.task-tooltip strong{color:#fafaf9;font-weight:600;margin-right:4px}.task-tooltip>div:first-child{font-family:var(--font-sans);font-size:12.5px;margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid rgba(250,250,249,.08)}.task-tooltip>div:first-child strong{margin:0}.task-tooltip:before{content:"";position:absolute;top:-5px;left:12px;width:10px;height:10px;background:#1c1917;transform:rotate(45deg)}@media(hover:hover){.task-pill:hover .task-tooltip{opacity:1;visibility:visible;transform:translateY(0)}}.more-label{margin-top:2px;font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);font-weight:600;letter-spacing:.02em;padding-left:10px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));flex:1;min-height:0;overflow:hidden;isolation:isolate}.week-column{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line-warm-soft);background:var(--surface)}.week-column:last-child{border-right:0}.week-column:nth-last-child(1),.week-column:nth-last-child(2){background:var(--surface-sunken)}.week-column.today{background:var(--accent-tint)}.week-column.selected{box-shadow:inset 0 0 0 2px var(--brand)}.week-column-header{appearance:none;border:0;background:transparent;padding:12px 8px 10px;display:flex;flex-direction:column;align-items:center;gap:4px;border-bottom:1px solid var(--line-warm);cursor:pointer;transition:background var(--t-fast)}.week-column-header:hover{background:var(--accent-tint)}.week-column-dow{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint)}.week-column:nth-last-child(1) .week-column-dow,.week-column:nth-last-child(2) .week-column-dow{color:#b45309}.week-column-num{font-family:var(--font-mono);font-size:22px;font-weight:600;color:var(--ink-strong);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.week-column-num.today{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;font-size:14px;letter-spacing:-.02em}.week-column-body{flex:1;min-height:0;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:5px;scrollbar-width:thin;scrollbar-color:var(--ink-ghost) transparent}.week-column-body .task-pill{padding:6px 9px 6px 11px;font-size:11.5px;line-height:1.4}.week-column-body .task-pill-text{font-size:11.5px;white-space:normal}.week-empty{font-family:var(--font-mono);color:var(--ink-ghost);font-size:14px;text-align:center;padding-top:10px}.calendar-day-mode{grid-column:1 / -1}.content-grid:has(.calendar-day-mode){grid-template-columns:minmax(0,1fr)}.content-grid:has(.calendar-day-mode) .right-panel{display:none}.day-view{flex:1;min-height:0;padding:22px 24px 28px;overflow:auto}.day-view-summary{display:flex;align-items:baseline;gap:10px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line-warm-soft)}.day-view-count{font-family:var(--font-mono);font-size:32px;font-weight:600;color:var(--ink-strong);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.day-view-count-label{font-size:13px;color:var(--ink-muted);letter-spacing:-.005em}.day-view-list{display:flex;flex-direction:column;gap:10px}.day-view-card{text-align:left;background:var(--surface);border:1px solid var(--line-warm);border-radius:10px;padding:14px 16px;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast);display:flex;flex-direction:column;gap:12px}@media(hover:hover){.day-view-card:hover{border-color:var(--line-warm-strong);background:var(--surface-sunken);transform:translateY(-1px)}}.day-view-card-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.day-view-card-title{font-size:14.5px;font-weight:600;color:var(--ink-strong);flex:1;min-width:0;letter-spacing:-.01em}.day-view-card-time{font-family:var(--font-mono);font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-strong);padding:2px 8px;border-radius:5px;background:var(--surface-sunken);border:1px solid var(--line-warm-soft);letter-spacing:-.01em}.day-view-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px 18px;font-size:12.5px;color:var(--ink-strong)}.day-view-card-label{font-family:var(--font-mono);font-size:9.5px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.12em;font-weight:600;margin-bottom:3px}.day-view-card-row{font-size:12.5px;color:var(--ink-strong)}.day-view-card-notes{font-size:12.5px;color:var(--ink-muted);background:var(--surface-sunken);padding:10px 12px;border-radius:6px;border-left:3px solid var(--line-warm-strong);white-space:pre-wrap;line-height:1.55}@media(max-width:720px){.calendar-topbar{flex-wrap:wrap;padding:10px 12px;gap:10px}.calendar-topbar-controls{margin-left:0;width:100%;justify-content:space-between}.calendar-mode-tab{padding:9px 16px;font-size:13px}.calendar-topbar-controls .ghost-icon{width:40px;height:40px;font-size:22px;line-height:1}.calendar-topbar-controls .ghost-btn{height:40px;padding:0 14px;font-size:13px}.month-label{font-size:13px;flex:1;text-align:center}.calendar-weekdays div{padding:8px 2px;font-size:11px;letter-spacing:.04em}.calendar-weekdays .wd-full{display:none}.calendar-weekdays .wd-short{display:inline}.calendar-cell{padding:4px 4px 3px;min-height:56px}.cell-header{min-height:16px;margin-bottom:2px}.cell-day{font-size:10px}.cell-day.today{width:18px;height:18px;font-size:9.5px}.cell-tasks{gap:2px}.task-pill{padding:3px 5px 3px 7px;font-size:10px;border-left-width:2px}.task-pill-text{font-size:10px}.task-pill-time{font-size:9px}.more-label{font-size:9.5px;padding-left:4px}.week-grid{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.week-grid::-webkit-scrollbar{display:none}.week-column{flex:0 0 auto;width:60vw;min-width:200px;max-width:280px;scroll-snap-align:start;border-right:1px solid var(--line-warm-soft)}.week-column-header{padding:14px 8px 12px}.week-column-num{font-size:26px}.week-column-num.today{width:34px;height:34px;font-size:15px}.week-column-body{padding:10px;gap:6px}.week-column-body .task-pill{padding:8px 10px 8px 12px;font-size:12px}.day-view{padding:16px 14px 22px}.day-view-summary{margin-bottom:14px;padding-bottom:10px}.day-view-count{font-size:28px}.day-view-card{padding:12px 13px;gap:10px}.day-view-card-grid{grid-template-columns:1fr 1fr;gap:8px 14px}.day-view-card-title{font-size:13.5px;line-height:1.3}}@media(max-width:400px){.calendar-cell{min-height:48px;padding:3px 3px 2px}.calendar-weekdays div{font-size:8.5px;padding:5px 1px}.task-pill{padding:2px 4px 2px 6px;font-size:9.5px}}.modal-overlay{position:fixed;inset:0;background:#1c191773;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000}.task-modal,.counter-modal{width:min(880px,100%);max-height:92vh;overflow:auto;background:var(--surface);border-radius:14px;border:1px solid var(--line-warm);box-shadow:var(--shadow-overlay);padding:0;animation:modal-pop .36s var(--ease-out-expo);scrollbar-width:thin;scrollbar-color:var(--line-warm-strong) transparent}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.counter-modal{width:min(740px,100%);max-height:88vh}.modal-header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px 18px;border-bottom:1px solid var(--line-warm-soft);background:var(--surface)}.modal-header-main{display:flex;align-items:flex-start;gap:14px;min-width:0;flex:1}.modal-header h2{margin:0;font-size:17px;font-weight:600;color:var(--ink-strong);letter-spacing:-.01em}.modal-header p{margin:4px 0 0;font-size:12.5px;color:var(--ink-muted);line-height:1.5}.task-type-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--line-warm);background:var(--surface-sunken);color:var(--ink-muted);white-space:nowrap;flex:0 0 auto;margin-top:4px}.task-type-tag.task-type-incidencia{background:#dc262614;border-color:#dc262638;color:#991b1b}.task-type-tag.task-type-instalacion-proyecto{background:#2563eb14;border-color:#2563eb38;color:#1e40af}.task-type-tag.task-type-ampliacion{background:#10b98114;border-color:#10b98138;color:#047857}.task-type-tag.task-type-mantenimiento-preventivo{background:#f59e0b14;border-color:#f59e0b38;color:#92520b}.task-type-tag.task-type-preventa{background:#a358d014;border-color:#a358d038;color:#6b21a8}.task-type-tag.task-type-captura{background:#0ea5a414;border-color:#0ea5a438;color:#115e59}.task-type-tag.task-type-visita{background:var(--surface-sunken);border-color:var(--line-warm);color:var(--ink-muted)}.icon-close{width:32px;height:32px;border-radius:6px;background:transparent;color:var(--ink-faint);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:background var(--t-fast),color var(--t-fast)}.icon-close:hover{background:var(--surface-sunken);color:var(--ink-strong)}.counter-filters{display:flex;flex-direction:column;gap:10px;padding:14px 24px 4px;border-bottom:1px solid var(--line-warm-soft);margin-bottom:14px}.counter-filter-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.counter-filter-controls{align-items:flex-end}.counter-filter-control{display:flex;flex-direction:column;gap:4px;flex:1 1 200px;min-width:0}.counter-filter-label{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint)}.counter-filter-select{width:100%;height:38px;padding:0 28px 0 12px;font-family:var(--font-sans);font-size:14px;background:var(--surface);border:1px solid var(--line-warm);border-radius:6px;color:var(--ink-strong);cursor:pointer;letter-spacing:-.005em;transition:border-color var(--t-fast),background var(--t-fast)}.counter-filter-select:hover{border-color:var(--line-warm-strong)}.counter-filter-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--accent-tint)}.counter-filter-clear{flex:0 0 auto}@media(max-width:540px){.counter-filters{padding:12px 16px 4px}.counter-filter-controls{flex-direction:column;align-items:stretch}.counter-filter-clear{align-self:flex-end}}.counter-modal-search{padding:0 24px 14px;border-bottom:1px solid var(--line-warm-soft);margin-bottom:14px}.counter-modal-list{display:flex;flex-direction:column;gap:12px;padding:0 24px 20px}.counter-date-group{display:flex;flex-direction:column;gap:8px}.counter-date-heading{position:sticky;top:0;z-index:1;border:1px solid var(--line-warm);border-radius:6px;background:var(--surface-sunken);color:var(--ink-faint);font-family:var(--font-mono);font-weight:600;font-size:10.5px;padding:5px 10px;text-transform:uppercase;letter-spacing:.1em}.counter-date-items{display:flex;flex-direction:column;gap:6px}.counter-task-card{width:100%;text-align:left;background:var(--surface);color:var(--ink-strong);border:1px solid var(--line-warm);border-radius:8px;padding:12px 14px;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),padding-left var(--t-fast)}.counter-task-card:hover{background:var(--surface-sunken);border-color:var(--line-warm-strong);padding-left:17px}.counter-task-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.counter-task-meta{color:var(--ink-muted);font-size:12px;margin-top:3px}.toolbar-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.toolbar-filter-select{width:auto;min-width:0;height:32px;padding:0 26px 0 10px;font-family:var(--font-sans);font-size:12px;font-weight:500;background:var(--surface);border:1px solid var(--line-warm);border-radius:6px;color:var(--ink-strong);cursor:pointer;letter-spacing:-.005em;transition:border-color var(--t-fast),background var(--t-fast)}.toolbar-filter-select:hover{border-color:var(--line-warm-strong);background:var(--surface-sunken)}.toolbar-filter-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--accent-tint)}select.toolbar-filter-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2378716c' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;appearance:none}@media(max-width:640px){.modal-overlay{padding:8px}.task-modal,.counter-modal,.templates-modal{border-radius:12px;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}.form-section{padding:16px 16px 18px}.form-section-grid{grid-template-columns:1fr;gap:12px}.form-actions{padding:12px 16px;gap:8px}.form-actions-spacer{min-width:0}.modal-header{padding:16px 16px 14px}.modal-header-main{gap:10px;flex-wrap:wrap}.task-type-tag{font-size:10px;padding:3px 8px}.icon-close{width:36px;height:36px}}@media(max-width:540px){.confirm-dialog{padding:18px 18px 14px;border-radius:10px}.confirm-dialog-actions{flex-wrap:wrap}.confirm-dialog-actions .btn,.confirm-dialog-actions .btn-primary,.confirm-dialog-actions .btn-secondary,.confirm-dialog-actions .btn-danger{flex:1 1 auto}.shortcuts-help-header,.shortcuts-help-body,.shortcuts-help-footer{padding-inline:18px}}.confirm-dialog{background:var(--surface);border:1px solid var(--line-warm);border-radius:12px;box-shadow:var(--shadow-overlay);padding:22px 24px 18px;max-width:min(440px,calc(100vw - 32px));width:100%;animation:confirm-in .18s ease-out}.confirm-dialog-title{margin:0 0 8px;font-family:var(--font-sans);font-size:16px;font-weight:700;color:var(--ink-strong);letter-spacing:-.01em}.confirm-dialog-message{margin:0 0 20px;font-size:13.5px;line-height:1.55;color:var(--ink-muted);white-space:pre-line;letter-spacing:-.005em}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.confirm-dialog--danger .confirm-dialog-title{color:#991b1b}@keyframes confirm-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.shortcuts-help{background:var(--surface);border:1px solid var(--line-warm);border-radius:12px;box-shadow:var(--shadow-overlay);max-width:520px;width:calc(100% - 32px);max-height:90vh;overflow-y:auto;animation:confirm-in .18s ease-out}.shortcuts-help-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px;border-bottom:1px solid var(--line-warm-soft)}.shortcuts-help-header h3{margin:0;font-family:var(--font-sans);font-size:15px;font-weight:700;color:var(--ink-strong);letter-spacing:-.01em}.shortcuts-help-body{padding:16px 24px 6px;display:grid;gap:18px}.shortcuts-group h4{margin:0 0 10px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);font-weight:600}.shortcuts-group ul{list-style:none;margin:0;padding:0}.shortcuts-group li{display:flex;align-items:center;gap:14px;padding:6px 0;font-size:13px;color:var(--ink)}.shortcuts-keys{flex:0 0 130px;display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.shortcuts-plus{font-family:var(--font-mono);color:var(--ink-faint);font-size:11px;margin:0 2px}.shortcuts-help kbd{display:inline-block;min-width:22px;padding:2px 7px;background:var(--surface-sunken);border:1px solid var(--line-warm);border-bottom-width:2px;border-radius:4px;font-family:var(--font-mono);font-size:11px;line-height:1.3;text-align:center;color:var(--ink-strong);letter-spacing:.02em}.shortcuts-desc{color:var(--ink-muted);letter-spacing:-.005em}.shortcuts-help-footer{padding:12px 24px 20px;border-top:1px solid var(--line-warm-soft);margin-top:8px}.shortcuts-help-footer p{margin:0;font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);letter-spacing:.02em}.prefs-toggle{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:6px 0}.prefs-toggle input[type=checkbox]{margin-top:4px;width:18px;height:18px;cursor:pointer;accent-color:var(--brand);flex:0 0 auto}.prefs-toggle>span{display:flex;flex-direction:column;gap:3px}.prefs-toggle strong{font-size:13.5px;font-weight:600;color:var(--ink-strong);letter-spacing:-.005em}.prefs-toggle small{font-size:11.5px;color:var(--ink-muted);line-height:1.45}.reminder-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.reminder-when{display:flex;gap:10px;align-items:center}.reminder-when input[type=date],.reminder-when input[type=time]{flex:1}.reminder-card{position:relative;display:flex;align-items:stretch;padding:0;gap:0}.reminder-card .reminder-main{flex:1;text-align:left;background:transparent;border:0;padding:10px 38px 10px 12px;cursor:pointer;color:inherit;font:inherit;transition:background var(--t-fast)}.reminder-card .reminder-main:hover{background:var(--surface-sunken)}.reminder-card.is-past .day-task-top strong{color:#991b1b}.reminder-when-pill{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-muted);background:var(--surface-sunken);border:1px solid var(--line-warm);padding:2px 8px;border-radius:999px;white-space:nowrap;letter-spacing:.02em}.reminder-card.is-past .reminder-when-pill{color:#991b1b;border-color:#dc262638;background:#dc262614}.reminder-body{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reminder-dismiss{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:5px;background:transparent;border:0;color:var(--ink-faint);font-size:18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--t-fast),color var(--t-fast)}.reminder-dismiss:hover{background:var(--surface-sunken);color:var(--ink-strong)}.right-panel{display:flex;flex-direction:column;min-height:0;height:100%}.stacked-controls-panel{position:static;height:100%}.day-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;flex:1}.panel-block,.clients-create-card,.clients-list-card{background:var(--surface);border:1px solid var(--line-warm);border-radius:10px;box-shadow:none}.panel-block{padding:16px 18px 14px}.panel-block-header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line-warm-soft)}.panel-block-header h2{margin:0;font-family:var(--font-sans);font-size:13px;font-weight:700;color:var(--ink-strong);letter-spacing:-.01em;text-transform:none}.panel-block-header span{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);letter-spacing:.04em}.empty-state{border:1.5px dashed var(--line-main);border-radius:var(--radius-md);padding:18px;color:var(--text-soft);text-align:center;background:var(--bg-soft);font-size:12.5px}.day-task-list{display:flex;flex-direction:column;gap:7px;flex:1 1 auto;min-height:0;max-height:min(40vh,380px);overflow-y:auto;overflow-x:hidden;padding-right:2px;scrollbar-width:thin;scrollbar-color:#c6d3ee #eef3ff}.day-task-card{width:100%;text-align:left;background:var(--surface);border:1px solid var(--line-warm);border-radius:8px;padding:10px 12px;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast),padding-left var(--t-fast)}.day-task-card:hover{background:var(--surface-sunken);border-color:var(--line-warm-strong);padding-left:14px}.day-task-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.day-task-top strong{color:var(--ink-strong);font-size:13px;font-weight:600;letter-spacing:-.005em}.day-task-meta{color:var(--ink-muted);font-size:11.5px;margin-top:2px}.inicio-view,.mitrabajo-view{padding:28px 24px 32px;display:flex;flex-direction:column;gap:20px}.inicio-header h2,.mitrabajo-header h2{margin:0;font-family:var(--font-sans);font-size:22px;font-weight:700;color:var(--ink-strong);letter-spacing:-.02em}.inicio-header p,.mitrabajo-header p{margin:4px 0 0;color:var(--ink-muted);font-size:13px;letter-spacing:-.005em}.kpi-row{display:flex;gap:10px;flex-wrap:wrap}.kpi-card{flex:1 1 110px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;border-top:3px solid transparent}.kpi-pending{border-top-color:var(--c-pending)}.kpi-progress{border-top-color:var(--c-progress)}.kpi-blocked{border-top-color:var(--c-blocked)}.kpi-today{border-top-color:var(--brand)}.kpi-rate{border-top-color:var(--c-done)}.kpi-num{font-size:28px;font-weight:800;color:var(--text-strong);line-height:1}.kpi-label{font-size:11px;font-weight:600;color:var(--text-soft);text-transform:uppercase;letter-spacing:.4px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dashboard-full{grid-column:1 / -1}.tech-load-list{display:flex;flex-direction:column;gap:9px}.tech-load-row{display:flex;align-items:center;gap:8px}.tech-avatar-sm{width:26px;height:26px;font-size:10px;font-weight:700;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tech-load-name{font-size:12.5px;font-weight:600;color:var(--text-strong);min-width:68px}.tech-load-bar-wrap{flex:1;height:6px;background:var(--line-soft);border-radius:99px;overflow:hidden}.tech-load-bar{height:100%;background:var(--c-progress);border-radius:99px;transition:width .35s ease;min-width:4px}.tech-load-nums{font-size:11.5px;color:var(--text-soft);min-width:38px;text-align:right}.mt-alert-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--surface);border:1px solid var(--line-warm);border-left:3px solid #dc2626;border-radius:10px;color:var(--ink-strong);font-size:13.5px;font-weight:500;letter-spacing:-.005em}.mt-alert-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#dc2626}.day-task-warn{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.warn-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#dc262614;color:#991b1b;border:1px solid rgba(220,38,38,.22);border-radius:999px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.warn-chip svg{width:12px;height:12px}.mt-vehicles-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px;font-size:12px;color:var(--ink-muted)}.mt-vehicles-label{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.mt-vehicle-chip{background:var(--surface-sunken);color:var(--ink-strong);border:1px solid var(--line-warm);border-radius:999px;padding:2px 9px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:-.01em}.incomplete-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.kpi-card{flex:1 1 140px}}.clients-view{padding:16px 18px}.clients-header{margin-bottom:14px}.clients-header h2{margin:0;font-size:18px;font-weight:700;color:var(--text-strong)}.clients-header p{margin:3px 0 0;color:var(--text-soft);font-size:12.5px}.clients-create-card,.clients-list-card{padding:13px}.clients-create-card{margin-bottom:10px}.clients-list{display:flex;flex-direction:column;gap:7px}.client-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;background:var(--surface);border:1px solid var(--line-warm);border-radius:8px;padding:12px 14px;transition:background var(--t-fast),border-color var(--t-fast)}.client-row:hover{background:var(--surface-sunken);border-color:var(--line-warm-strong)}.client-main{flex:1;min-width:0}.client-name{color:var(--ink-strong);font-weight:600;font-size:14px;letter-spacing:-.005em}.client-meta{margin-top:4px;color:var(--ink-faint);font-size:11.5px;display:inline-flex;flex-wrap:wrap;gap:5px;align-items:center}.client-meta-sep{color:var(--ink-ghost)}.client-cif{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-muted)}.client-fiscal-line{font-family:var(--font-mono);letter-spacing:.02em}.client-actions{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}.clients-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.clients-search{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.clients-search input{width:280px;height:36px;padding:0 12px;background:var(--surface);border:1px solid var(--line-warm);border-radius:6px;font-family:var(--font-sans);font-size:12.5px;color:var(--ink-strong);letter-spacing:-.005em;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.clients-search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--accent-tint)}.clients-search-count{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);letter-spacing:.02em;white-space:nowrap}.client-edit-grid{display:grid;grid-template-columns:1fr 200px;gap:8px;width:100%}.client-edit-grid input{font-size:12.5px;padding:7px 10px;background:var(--surface);border:1px solid var(--line-warm);border-radius:6px;color:var(--ink-strong);font-family:inherit;letter-spacing:-.005em}.client-edit-grid input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--accent-tint)}.client-edit-name{font-weight:600}.client-edit-cif{font-family:var(--font-mono);letter-spacing:.02em}.client-edit-address{grid-column:1 / -1}@media(max-width:720px){.client-edit-grid{grid-template-columns:1fr 1fr}.client-edit-name{grid-column:1 / -1}.clients-search input{width:100%}}.technicians-view{padding:16px 18px}.tech-header{margin-bottom:14px}.tech-header h2{margin:0;font-size:18px;font-weight:700;color:var(--text-strong)}.tech-header p{margin:3px 0 0;color:var(--text-soft);font-size:12.5px}.tech-create-card{margin-bottom:16px}.tech-create-form{display:flex;gap:8px;align-items:flex-end;max-width:420px}.tech-create-form input{flex:1}.tech-create-form .btn-primary{white-space:nowrap;flex-shrink:0}.tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.tech-card{background:var(--bg-surface);border:1.5px solid var(--line-main);border-radius:var(--radius-lg);padding:14px;display:flex;flex-direction:column;gap:12px;transition:border-color .12s,box-shadow .12s}.tech-card:hover{border-color:#adc8f8;box-shadow:0 2px 10px #0f1e4617}.tech-card-top{display:flex;align-items:flex-start;gap:10px}.tech-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13.5px;font-weight:700;flex-shrink:0;box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--line-warm);letter-spacing:.3px;text-shadow:0 1px 1px rgba(0,0,0,.16)}.tech-info{min-width:0;display:flex;align-items:center}.tech-name{font-weight:600;font-size:14px;color:var(--ink-strong)}.tech-edit-fields{flex:1;display:flex;flex-direction:column;gap:5px}.tech-edit-fields input{padding:5px 8px;font-size:12.5px}.tech-stats{display:flex;gap:0;border:1px solid var(--line-warm);border-radius:8px;overflow:hidden;background:var(--surface)}.tech-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px 6px 8px;border-right:1px solid var(--line-warm);transition:background var(--t-fast)}.tech-stat:last-child{border-right:0}.tech-stat:hover{background:var(--surface-sunken)}.tech-stat-num{font-family:var(--font-mono);font-size:19px;font-weight:600;color:var(--ink-strong);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tech-stat-label{font-family:var(--font-mono);font-size:9.5px;color:var(--ink-faint);margin-top:5px;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.tech-card-actions{display:flex;gap:6px}.users-form-grid{display:grid;grid-template-columns:1.3fr 1.3fr 1fr .9fr auto;gap:8px;align-items:center}.users-form-grid input,.users-form-grid select{padding:8px 10px;border-radius:var(--radius-md);border:1.5px solid var(--line-main);background:var(--bg-surface);font-size:14px;font-family:inherit}.users-form-grid input:focus,.users-form-grid select:focus{outline:2px solid var(--accent, #3b82f6);outline-offset:-1px}@media(max-width:900px){.users-form-grid{grid-template-columns:1fr}}.users-edit-row{display:flex;gap:8px;align-items:center;width:100%}.users-edit-row input{flex:1}.users-self-tag{font-size:12px;color:var(--text-muted, #6b7280);font-weight:500}.users-no-permissions{background:#fff8e1;border:1px solid #ffe082;color:#7a5c00;border-radius:10px;padding:12px 16px;margin:0 0 16px;font-size:14px;line-height:1.5}.users-no-permissions .role-badge{margin:0 2px;vertical-align:middle}.role-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;border:1px solid transparent}.role-admin{background:#dc262614;color:#991b1b;border-color:#dc262638}.role-supervisor{background:#2563eb14;color:#1e40af;border-color:#2563eb38}.role-tecnico{background:#10b98114;color:#047857;border-color:#10b98138}.users-reset-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;background:var(--bg-surface-alt, rgba(0,0,0,.03));border-radius:var(--radius-md, 8px)}.users-reset-row input{flex:1 1 220px;min-width:180px}.users-reset-row .field-error{flex-basis:100%}.users-form-errors{margin:10px 0 0;padding:8px 12px;list-style:none;background:rgba(var(--c-blocked-rgb, 239, 68, 68),.08);border-left:3px solid var(--c-blocked);border-radius:var(--radius-md, 8px);font-size:12.5px;color:var(--c-blocked)}.users-form-errors li+li{margin-top:3px}.team-view .clients-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.team-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.team-form-grid .team-form-submit{grid-column:1 / -1;justify-self:end}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;padding:12px}.team-card{background:var(--surface);border:1px solid var(--line-warm);border-radius:10px;box-shadow:none;padding:16px 16px 14px;display:flex;flex-direction:column;gap:14px;transition:border-color var(--t-fast),background var(--t-fast)}.team-card:hover{border-color:var(--line-warm-strong);background:var(--surface)}.team-card-top{display:flex;gap:12px;align-items:flex-start}.team-info{flex:1;min-width:0}.team-name{font-weight:600;font-size:14.5px;color:var(--ink-strong);letter-spacing:-.01em;margin-bottom:2px}.team-email{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-faint);letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-meta-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}.team-specialty{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--surface-sunken);color:var(--ink-muted);border:1px solid var(--line-warm);font-weight:600}.team-phone{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-muted);letter-spacing:-.01em;margin-top:6px}.team-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px;flex:1}.team-edit-fields input,.team-edit-fields select{font-size:12.5px;padding:6px 8px}.team-card-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:760px){.team-form-grid,.team-edit-fields{grid-template-columns:1fr}}.informes-view{display:flex;flex-direction:column;gap:20px;padding:24px 24px 32px}.informes-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0}.informes-header h2{margin:0 0 4px;font-size:22px;font-weight:700;color:var(--ink-strong);letter-spacing:-.02em}.informes-header p{margin:0;font-size:13px;color:var(--ink-muted);letter-spacing:-.005em}.informes-header-actions{display:flex;gap:8px}.informes-filters{background:var(--surface);border:1px solid var(--line-warm);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:14px}.informes-range-presets{display:flex;flex-wrap:wrap;gap:6px}.range-chip{padding:5px 12px;border-radius:999px;border:1px solid var(--line-warm);background:var(--surface);color:var(--ink-muted);font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:-.005em;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.range-chip:hover{border-color:var(--line-warm-strong);color:var(--ink-strong);background:var(--surface-sunken)}.range-chip.active{background:var(--ink-strong);border-color:var(--ink-strong);color:var(--surface)}.informes-filters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.informes-filters-grid label{display:flex;flex-direction:column;gap:5px;font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint)}.informes-filters-grid input,.informes-filters-grid select{font-family:var(--font-sans);font-size:13px;padding:7px 10px;border-radius:6px;border:1px solid var(--line-warm);background:var(--surface);color:var(--ink-strong)}.informes-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0;background:var(--surface);border:1px solid var(--line-warm);border-radius:10px;overflow:hidden}.informes-kpis .kpi-card{flex:1 1 auto;background:var(--surface);border:0;border-right:1px solid var(--line-warm);border-top:0;border-radius:0;padding:16px 18px 14px;display:flex;flex-direction:column;gap:6px;box-shadow:none;transition:background var(--t-fast)}.informes-kpis .kpi-card:last-child{border-right:0}.informes-kpis .kpi-card:hover{background:var(--surface-sunken)}.informes-kpis .kpi-num{font-family:var(--font-mono);font-size:28px;font-weight:600;color:var(--ink-strong);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.informes-kpis .kpi-label{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin-top:2px}.informes-kpis .kpi-blocked .kpi-num{color:#dc2626}.informes-kpis .kpi-progress .kpi-num{color:#d97706}.informes-kpis .kpi-rate .kpi-num{color:#047857}.informes-kpis .kpi-urgent .kpi-num{color:#dc2626}.informes-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.informes-charts .panel-block.dashboard-full{grid-column:1 / -1}.chart-wrap{width:100%;padding:8px 4px 4px}.informes-table-panel .table-wrapper{max-height:520px;overflow:auto}.informes-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--t-fast),color var(--t-fast)}.informes-table thead th.sortable:hover{background:var(--surface-sunken);color:var(--ink-strong)}.informes-table thead th.sortable.active{color:var(--brand)}.informes-table .sort-arrow{font-size:10px;margin-left:4px;color:var(--brand);font-family:var(--font-mono)}.informes-empty{padding:32px 24px}.informes-loading{display:flex;flex-direction:column;gap:24px;padding:48px 32px;max-width:720px;margin:32px auto 0}.informes-loading-eyebrow{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.18em;color:var(--ink-faint)}.informes-loading-skeleton{display:flex;flex-direction:column;gap:14px;width:100%}.informes-loading-bar{height:12px;border-radius:4px;background:linear-gradient(90deg,var(--surface-sunken) 0%,var(--line-warm) 50%,var(--surface-sunken) 100%);background-size:240% 100%;animation:informes-loading-shimmer 1.6s ease-in-out infinite}.informes-loading-bar-1{width:70%}.informes-loading-bar-2{width:92%}.informes-loading-bar-3{width:56%}@keyframes informes-loading-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(max-width:760px){.informes-header{flex-direction:column;align-items:stretch}.informes-header-actions{justify-content:flex-end}}.inicio-view-v2{padding:24px 32px 40px;max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:22px;font-family:var(--font-sans);color:var(--ink)}@keyframes inicio-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.inicio-view-v2>*{animation:inicio-rise .56s var(--ease-out-expo) backwards}.inicio-view-v2>*:nth-child(1){animation-delay:0ms}.inicio-view-v2>*:nth-child(2){animation-delay:60ms}.inicio-view-v2>*:nth-child(3){animation-delay:.12s}.inicio-view-v2>*:nth-child(4){animation-delay:.18s}.inicio-view-v2>*:nth-child(5){animation-delay:.24s}.inicio-view-v2>*:nth-child(6){animation-delay:.3s}.kpi-tiles .kpi-tile{animation:inicio-rise .48s var(--ease-out-expo) backwards}.kpi-tiles .kpi-tile:nth-child(1){animation-delay:.1s}.kpi-tiles .kpi-tile:nth-child(2){animation-delay:.16s}.kpi-tiles .kpi-tile:nth-child(3){animation-delay:.22s}.kpi-tiles .kpi-tile:nth-child(4){animation-delay:.28s}.kpi-tiles .kpi-tile:nth-child(5){animation-delay:.34s}.inicio-list li,.tech-rank li{animation:inicio-rise .36s var(--ease-out-quart) backwards}.inicio-list li:nth-child(1){animation-delay:.48s}.inicio-list li:nth-child(2){animation-delay:.51s}.inicio-list li:nth-child(3){animation-delay:.54s}.inicio-list li:nth-child(4){animation-delay:.57s}.inicio-list li:nth-child(5){animation-delay:.6s}.inicio-list li:nth-child(n+6){animation-delay:.63s}.tech-rank li:nth-child(1){animation-delay:.48s}.tech-rank li:nth-child(2){animation-delay:.51s}.tech-rank li:nth-child(3){animation-delay:.54s}.tech-rank li:nth-child(4){animation-delay:.57s}.tech-rank li:nth-child(5){animation-delay:.6s}.tech-rank li:nth-child(n+6){animation-delay:.63s}@media(prefers-reduced-motion:reduce){.inicio-view-v2>*,.kpi-tiles .kpi-tile,.inicio-list li,.tech-rank li{animation:none!important}}@media(max-width:720px){.inicio-view-v2{padding:18px 14px 28px;gap:16px}}.inicio-statusbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0 14px;border-bottom:1px solid var(--line-warm);font-family:var(--font-mono);font-size:12px;color:var(--ink-muted);flex-wrap:wrap;letter-spacing:-.005em}.inicio-statusbar-left,.inicio-statusbar-right{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.inicio-statusbar-pulse{width:7px;height:7px;border-radius:50%;background:#10b981;flex:0 0 auto;position:relative;box-shadow:0 0 #10b98173;animation:statusbar-pulse 2.4s cubic-bezier(.4,0,.6,1) infinite}@keyframes statusbar-pulse{0%{box-shadow:0 0 #10b98173}60%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}.inicio-statusbar-clock{font-weight:600;font-size:13px;color:var(--ink-strong);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.inicio-statusbar-date{letter-spacing:.04em;color:var(--ink-muted)}.inicio-statusbar-week{letter-spacing:.02em;color:var(--ink-faint)}.inicio-statusbar-sep{color:var(--ink-ghost);font-weight:400}.inicio-statusbar-stat{display:inline-flex;align-items:baseline;gap:4px;letter-spacing:-.005em}.inicio-statusbar-stat.is-warn .inicio-statusbar-num{color:#dc2626}.inicio-statusbar-num{font-weight:600;font-size:13px;color:var(--ink-strong);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.inicio-statusbar-stat-label{font-size:11px;color:var(--ink-faint);text-transform:lowercase;letter-spacing:.02em}@media(max-width:720px){.inicio-statusbar{font-size:11px;gap:8px}.inicio-statusbar-clock,.inicio-statusbar-num{font-size:12px}}.kpi-tiles{display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border:1px solid var(--line-warm);border-radius:10px;overflow:hidden}@media(max-width:1080px){.kpi-tiles{grid-template-columns:repeat(3,1fr)}.kpi-tiles .kpi-tile:nth-child(3n){border-right:0}.kpi-tiles .kpi-tile{border-bottom:1px solid var(--line-warm)}.kpi-tiles .kpi-tile:nth-last-child(-n+2){border-bottom:0}}@media(max-width:600px){.kpi-tiles{grid-template-columns:repeat(2,1fr)}.kpi-tiles .kpi-tile:nth-child(3n){border-right:1px solid var(--line-warm)}.kpi-tiles .kpi-tile:nth-child(2n){border-right:0}.kpi-tiles .kpi-tile{border-bottom:1px solid var(--line-warm)}.kpi-tiles .kpi-tile:nth-last-child(-n+1),.kpi-tiles .kpi-tile:nth-last-child(-n+2){border-bottom:1px solid var(--line-warm)}.kpi-tiles .kpi-tile:last-child{border-right:0;border-bottom:0}}.kpi-tile{padding:20px 22px 18px;border-right:1px solid var(--line-warm);display:flex;flex-direction:column;gap:10px;position:relative;transition:background .15s ease;min-height:132px}.kpi-tile:last-child{border-right:0}.kpi-tile:hover{background:var(--surface-sunken)}.kpi-tile-label{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.12em;color:var(--ink-faint)}.kpi-tile-value{font-family:var(--font-mono);font-size:42px;font-weight:600;letter-spacing:-.02em;color:var(--ink-strong);line-height:1;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:3px}.kpi-tile-value-warn{color:#dc2626}.kpi-tile-value-unit{font-size:22px;font-weight:500;color:var(--ink-faint)}.kpi-tile-meta{font-family:var(--font-sans);font-size:12px;color:var(--ink-muted);display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;letter-spacing:-.005em}.kpi-tile-meta-sep{color:var(--ink-ghost)}.kpi-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex:0 0 auto}.kpi-dot-pending{background:var(--ink-faint)}.kpi-dot-progress{background:#f59e0b}.kpi-dot-blocked{background:#dc2626}.kpi-dot.is-live{animation:pulse-halo 2.4s cubic-bezier(.4,0,.6,1) infinite}.kpi-dot-progress.is-live{box-shadow:0 0 0 3px #f59e0b2e}.kpi-dot-blocked.is-live{box-shadow:0 0 0 3px #dc26262e}@keyframes pulse-halo{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.kpi-tile-progress-flat{height:3px;background:var(--surface-sunken);border-radius:2px;overflow:hidden;margin-top:-2px}.kpi-tile-progress-flat .kpi-tile-progress-bar{height:100%;background:var(--ink-strong);border-radius:2px;transition:width .7s cubic-bezier(.4,0,.2,1)}.inicio-alert{display:flex;align-items:center;gap:16px;padding:14px 18px;background:var(--surface);border:1px solid var(--line-warm);border-left:3px solid #dc2626;border-radius:10px}.inicio-alert-mark{width:8px;height:8px;background:#dc2626;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 3px #dc26262e;animation:pulse-halo 2.4s cubic-bezier(.4,0,.6,1) infinite}.inicio-alert-body{flex:0 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}.inicio-alert-body strong{font-size:13.5px;color:var(--ink-strong);font-weight:600;letter-spacing:-.005em}.inicio-alert-body span{font-size:12.5px;color:var(--ink-muted)}.inicio-alert-tasks{margin-left:auto;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.inicio-alert-task{background:#dc26260f;border:1px solid rgba(220,38,38,.18);color:#991b1b;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .15s ease}.inicio-alert-task:hover{background:#dc26261f}.inicio-alert-more{font-family:var(--font-mono);font-size:11.5px;color:#991b1b;font-weight:600}@media(max-width:720px){.inicio-alert{flex-wrap:wrap}.inicio-alert-tasks{margin-left:0;width:100%;margin-top:4px}}.inicio-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:880px){.inicio-grid{grid-template-columns:1fr}}.inicio-panel{background:var(--surface);border:1px solid var(--line-warm);border-radius:10px;padding:18px 20px 14px}.inicio-panel-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line-warm-soft)}.inicio-panel-header h2{font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:-.01em;color:var(--ink-strong);margin:0}.inicio-panel-header span{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);letter-spacing:.04em}.inicio-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.inicio-list li+li .inicio-list-item{border-top:1px solid var(--line-warm-soft)}.inicio-list-item{width:100%;display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:center;padding:9px 4px;background:transparent;border:0;border-radius:6px;cursor:pointer;text-align:left;font-family:inherit;transition:background .15s ease,padding-left .15s ease}.inicio-list-item:hover{background:var(--surface-sunken);padding-left:10px}.inicio-list-when{display:flex;flex-direction:column;gap:1px;min-width:0}.inicio-list-when-day{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--ink-strong);letter-spacing:-.01em;font-variant-numeric:tabular-nums;text-transform:lowercase}.inicio-list-when-time{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.inicio-list-main{display:flex;flex-direction:column;gap:2px;min-width:0}.inicio-list-title{font-size:13.5px;font-weight:600;color:var(--ink-strong);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em}.inicio-list-sub{font-size:11.5px;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;gap:5px;align-items:center}.inicio-list-sep{color:var(--ink-ghost)}.inicio-list-status{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.inicio-list-status.status-no-iniciado{background:var(--ink-faint)}.inicio-list-status.status-en-curso{background:#f59e0b}.inicio-list-status.status-listo{background:#10b981}.inicio-list-status.status-bloqueado{background:#dc2626;box-shadow:0 0 0 3px #dc262629}.inicio-list-priority{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--surface-sunken);color:var(--ink-muted);border:1px solid var(--line-warm);flex:0 0 auto}.inicio-list-priority.priority-high{background:#f59e0b1a;color:#92520b;border-color:#f59e0b38}.inicio-list-priority.priority-urgent{background:#dc26261a;color:#991b1b;border-color:#dc262638}.tech-rank{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.tech-rank li{display:grid;grid-template-columns:28px 32px 1fr 100px 60px;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-warm-soft);transition:padding-left .15s ease}.tech-rank li:last-child{border-bottom:0}.tech-rank li:hover{padding-left:4px}.tech-rank-num{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--ink-faint);text-align:center;font-variant-numeric:tabular-nums}.tech-rank-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700;letter-spacing:.3px;flex:0 0 auto;text-shadow:0 1px 1px rgba(0,0,0,.16)}.tech-rank-info{display:flex;flex-direction:column;gap:1px;min-width:0}.tech-rank-info strong{font-size:13.5px;color:var(--ink-strong);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em}.tech-rank-info span{font-size:11px;color:var(--ink-faint);font-family:var(--font-mono)}.tech-rank-bar{height:4px;background:var(--surface-sunken);border-radius:2px;overflow:hidden}.tech-rank-bar-fill{height:100%;background:var(--ink-strong);border-radius:2px;transition:width .6s cubic-bezier(.4,0,.2,1)}.tech-rank-value{font-family:var(--font-mono);font-size:12px;text-align:right;letter-spacing:-.01em;font-variant-numeric:tabular-nums;display:inline-flex;justify-content:flex-end;gap:2px}.tech-rank-value-active{color:#d97706;font-weight:600}.tech-rank-value-sep{color:var(--ink-ghost)}.tech-rank-value-total{color:var(--ink-muted)}@media(max-width:720px){.tech-rank li{grid-template-columns:28px 32px 1fr auto;grid-template-rows:auto auto;gap:6px 12px}.tech-rank-bar{grid-column:1 / -1;grid-row:2}}.login-shell{position:relative;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:32px 20px;background:var(--canvas);font-family:var(--font-sans);color:var(--ink);overflow:hidden;isolation:isolate}.login-bg-dots{position:absolute;inset:0;background-image:radial-gradient(circle at center,var(--ink-ghost) 1px,transparent 1.6px);background-size:24px 24px;pointer-events:none;z-index:0;opacity:.5;-webkit-mask-image:radial-gradient(ellipse at center,black 0%,transparent 75%);mask-image:radial-gradient(ellipse at center,black 0%,transparent 75%)}.login-bg-glow{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);width:720px;height:720px;background:radial-gradient(circle,rgba(37,99,235,.08) 0%,transparent 60%);pointer-events:none;z-index:0}[data-theme=dark] .login-bg-glow{background:radial-gradient(circle,rgba(84,112,255,.12) 0%,transparent 60%)}.login-theme-toggle{position:absolute;top:20px;right:20px;width:32px;height:32px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--line-warm);color:var(--ink-muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;z-index:2}.login-theme-toggle:hover{background:var(--surface-sunken);color:var(--ink-strong);border-color:var(--line-warm-strong)}.login-theme-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-tint);border-color:var(--brand)}.login-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line-warm);border-radius:14px;padding:40px 40px 32px;box-shadow:0 1px 3px #1c19170a,0 8px 24px #1c19170f}[data-theme=dark] .login-card{background:var(--surface);box-shadow:0 1px 3px #0000004d,0 12px 32px #0006}@media(max-width:480px){.login-card{padding:32px 24px 24px}}.login-brand-lockup{display:flex;align-items:center;gap:10px;margin-bottom:32px}.login-brand-wordmark{color:var(--ink-strong);display:inline-flex}[data-theme=dark] .login-brand-wordmark{color:var(--ink-strong)}.login-title{font-family:var(--font-sans);font-weight:700;font-size:24px;line-height:1.2;letter-spacing:-.02em;color:var(--ink-strong);margin:0 0 6px}.login-subtitle{font-size:13.5px;color:var(--ink-muted);margin:0 0 28px;line-height:1.55}.login-form{display:flex;flex-direction:column}.login-field{margin-bottom:14px}.login-field-label{display:block;font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:-.005em;color:var(--ink);margin-bottom:6px}.login-field input{width:100%;background:var(--surface);border:1px solid var(--line-warm);border-radius:6px;padding:10px 12px;font-size:14px;font-family:var(--font-sans);color:var(--ink-strong);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}[data-theme=dark] .login-field input{background:var(--surface-sunken)}.login-field input::placeholder{color:var(--ink-faint)}.login-field input:hover{border-color:var(--line-warm-strong)}.login-field input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--accent-tint)}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-wrap input{padding-right:38px}.login-input-action{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--ink-faint);cursor:pointer;transition:background .15s ease,color .15s ease}.login-input-action:hover{background:var(--surface-sunken);color:var(--ink-strong)}.login-error{display:flex;align-items:center;gap:8px;background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger);border-radius:6px;padding:9px 12px;font-size:13px;font-weight:500;margin-top:4px;margin-bottom:12px;animation:fade-up .15s ease}.login-error svg{flex:0 0 auto}.login-submit{width:100%;margin-top:8px;background:#0e2a59;color:#fff;border:0;border-radius:6px;padding:12px 16px;font-family:var(--font-sans);font-weight:600;font-size:14px;letter-spacing:-.01em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.login-submit:hover:not(:disabled){background:#112e60;box-shadow:0 4px 14px #0e2a5940}.login-submit:active:not(:disabled){transform:translateY(1px)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-submit svg{transition:transform .2s cubic-bezier(.4,0,.2,1)}.login-submit:hover:not(:disabled) svg{transform:translate(3px)}.login-submit-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}[data-theme=dark] .login-submit{background:#1d4ed8}[data-theme=dark] .login-submit:hover:not(:disabled){background:#2563eb}.login-meta{margin-top:24px;padding-top:20px;border-top:1px solid var(--line-warm-soft);font-size:12px;color:var(--ink-faint);line-height:1.5;text-align:center}.login-meta a{color:var(--ink-muted);text-decoration:none;font-weight:500;transition:color .15s ease}.login-meta a:hover{color:var(--brand);text-decoration:underline;text-underline-offset:2px}.login-footer{position:relative;z-index:1;margin-top:24px;font-size:11.5px;color:var(--ink-faint);letter-spacing:.02em;text-align:center}.toast-stack{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:min(380px,calc(100vw - 48px))}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:10px;background:var(--surface);box-shadow:var(--shadow-overlay);border:1px solid var(--line-warm);border-left-width:3px;font-size:13.5px;color:var(--ink);cursor:pointer;animation:toast-in .22s ease-out;letter-spacing:-.005em}.toast-icon{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:12.5px;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.18)}.toast-message{flex:1;line-height:1.5;word-break:break-word;color:var(--ink)}.toast-close{flex-shrink:0;background:none;border:0;padding:0;width:22px;height:22px;font-size:18px;line-height:1;color:var(--ink-faint);cursor:pointer;border-radius:4px;transition:background .12s,color .12s}.toast-close:hover{color:var(--ink-strong);background:var(--surface-sunken)}.toast--success{border-left-color:#10b981}.toast--success .toast-icon{background:#10b981}.toast--error{border-left-color:#dc2626}.toast--error .toast-icon{background:#dc2626}.toast--info{border-left-color:var(--brand)}.toast--info .toast-icon{background:var(--brand)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.notif-stack{position:fixed;top:16px;right:16px;z-index:1100;display:flex;flex-direction:column;gap:10px;width:380px;max-width:calc(100vw - 32px);pointer-events:none}.notif-card{pointer-events:auto;position:relative;display:grid;grid-template-columns:3px 38px 1fr auto;align-items:flex-start;gap:12px;padding:14px 14px 14px 0;background:var(--surface);border:1px solid var(--line-warm);border-radius:12px;box-shadow:0 0 0 1px var(--line-warm-soft),0 2px 4px #1c19170a,0 12px 24px #1c19171a,0 24px 48px #1c191714;transform:translate(0);opacity:1;transition:transform .42s var(--ease-out-quart),opacity .32s ease-out,box-shadow .24s ease}.notif-card.is-entering{transform:translate(28px);opacity:0}@media(hover:hover){.notif-card:hover{box-shadow:0 0 0 1px var(--line-warm),0 4px 8px #1c19170f,0 16px 32px #1c191724,0 32px 64px #1c19171a}}.notif-accent{align-self:stretch;width:3px;background:var(--notif-accent, var(--brand));border-radius:10px 0 0 10px}.notif-icon{width:36px;height:36px;margin-top:2px;border-radius:50%;display:grid;place-items:center;background:var(--notif-soft, var(--accent-tint));color:var(--notif-accent, var(--brand));flex:0 0 auto;border:1px solid var(--line-warm-soft)}.notif-body{min-width:0;display:flex;flex-direction:column;gap:4px;padding-right:4px}.notif-meta{display:flex;gap:6px;align-items:baseline;font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--notif-accent, var(--brand))}.notif-when{color:var(--ink-faint);font-weight:500;letter-spacing:.04em;text-transform:lowercase}.notif-title{font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--ink-strong);line-height:1.35;letter-spacing:-.005em}.notif-text{font-size:12.5px;color:var(--ink-muted);line-height:1.45}.notif-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.notif-btn{font-family:var(--font-sans);font-size:12px;font-weight:600;padding:6px 12px;border-radius:6px;border:1px solid transparent;cursor:pointer;letter-spacing:-.005em;transition:background .12s,border-color .12s,color .12s}.notif-btn-primary{background:var(--notif-accent, var(--brand));color:#fff}.notif-btn-primary:hover{filter:brightness(1.06)}.notif-btn-ghost{background:transparent;color:var(--ink-muted);border-color:var(--line-warm)}.notif-btn-ghost:hover{background:var(--surface-sunken);border-color:var(--line-warm-strong);color:var(--ink-strong)}.notif-close{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;background:transparent;border:none;color:var(--ink-faint);cursor:pointer;transition:background .12s,color .12s}.notif-close:hover{background:var(--surface-sunken);color:var(--ink-strong)}@media(max-width:640px){.notif-stack{top:8px;right:8px;left:8px;width:auto}}.task-activity{margin:14px 24px 24px;padding:16px 18px 18px;background:var(--surface-sunken);border:1px solid var(--line-warm);border-radius:10px}.task-activity-header{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line-warm-soft)}.task-activity-header h3{margin:0;font-family:var(--font-sans);font-size:13px;font-weight:700;color:var(--ink-strong);letter-spacing:-.01em}.task-activity-status{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);letter-spacing:.04em}.task-activity-empty,.task-activity-error{font-size:12.5px;color:var(--ink-muted);padding:10px 4px}.task-activity-error{color:#991b1b}.task-activity-list{list-style:none;margin:0;padding:0;position:relative}.task-activity-list:before{content:"";position:absolute;left:11px;top:12px;bottom:12px;width:2px;background:var(--line-warm);border-radius:1px}.activity-item{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:6px 0 12px;position:relative}.activity-dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:2px solid var(--line-warm-strong);color:var(--ink-faint);z-index:1;flex:0 0 auto}.activity-dot-created{background:#10b9811a;border-color:#10b98166;color:#047857}.activity-dot-updated{background:var(--accent-tint);border-color:var(--accent-line);color:var(--brand)}.activity-dot-deleted{background:#dc26261a;border-color:#dc262666;color:#991b1b}.activity-body{min-width:0;padding-top:1px}.activity-meta{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:3px}.activity-actor{font-size:12.5px;font-weight:600;color:var(--ink-strong);letter-spacing:-.005em}.activity-time{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);cursor:help;letter-spacing:.02em}.activity-detail{font-size:12.5px;color:var(--ink);line-height:1.5}.activity-summary{color:var(--ink-muted)}.activity-changes{list-style:none;margin:5px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}.activity-changes li{font-size:12.5px;color:var(--ink)}.activity-from{color:var(--ink-faint);text-decoration:line-through;text-decoration-color:var(--ink-ghost);margin-right:2px}.activity-arrow{font-family:var(--font-mono);color:var(--ink-ghost);margin:0 6px;font-weight:600}.activity-to{color:var(--ink-strong);font-weight:500}.task-comments{margin:18px 24px 0;padding:16px 18px;background:var(--surface);border:1px solid var(--line-warm);border-radius:10px}.task-comments-header{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line-warm-soft)}.task-comments-header h3{margin:0;font-family:var(--font-sans);font-size:13px;font-weight:700;color:var(--ink-strong);letter-spacing:-.01em}.task-comments-status{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);letter-spacing:.04em}.task-comments-empty,.task-comments-error{font-size:12.5px;color:var(--ink-muted);padding:14px 4px;text-align:center}.task-comments-error{color:#991b1b;text-align:left}.comments-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:14px;max-height:360px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line-warm-strong) transparent}.comments-list::-webkit-scrollbar{width:6px}.comments-list::-webkit-scrollbar-thumb{background:var(--line-warm-strong);border-radius:3px}.comment-item{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:flex-start}.comment-avatar{width:32px;height:32px;border-radius:50%;background:var(--surface-sunken);border:1px solid var(--line-warm);color:var(--ink-strong);display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:.3px;flex:0 0 auto}.comment-own .comment-avatar{background:var(--brand);border-color:var(--brand);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.16)}.comment-bubble{min-width:0;background:var(--surface-sunken);border:1px solid var(--line-warm-soft);border-radius:8px;padding:10px 12px}.comment-own .comment-bubble{background:var(--accent-tint);border-color:var(--accent-line)}.comment-meta{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:5px}.comment-author{font-size:12.5px;font-weight:600;color:var(--ink-strong);letter-spacing:-.005em}.comment-time{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);cursor:help;letter-spacing:.02em}.comment-edited{font-family:var(--font-mono);font-size:10px;color:var(--ink-ghost);letter-spacing:.04em;text-transform:lowercase}.comment-actions{margin-left:auto;display:flex;gap:4px}.comment-action-btn{background:transparent;border:0;padding:2px 6px;font-size:11px;color:var(--ink-faint);cursor:pointer;border-radius:4px;transition:background .12s,color .12s}.comment-action-btn:hover{background:var(--line-warm-soft);color:var(--ink-strong)}.comment-action-danger:hover{background:#dc262614;color:#991b1b}.comment-body{font-size:13px;line-height:1.5;color:var(--ink);white-space:pre-wrap;word-break:break-word}.comment-edit textarea{width:100%;font-size:13px;font-family:inherit;line-height:1.5;padding:8px 10px;background:var(--surface);border:1px solid var(--brand);border-radius:6px;resize:vertical;color:var(--ink-strong)}.comment-edit-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:7px}.comment-edit-actions .btn-primary,.comment-edit-actions .btn-secondary{font-size:12px;padding:5px 11px}.comment-form{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--line-warm-soft)}.comment-form textarea{width:100%;font-size:13px;font-family:inherit;line-height:1.5;padding:9px 11px;background:var(--surface);border:1px solid var(--line-warm);border-radius:6px;resize:vertical;color:var(--ink-strong);transition:border-color .14s,box-shadow .14s}.comment-form textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--accent-tint)}.comment-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.comment-form-hint{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);letter-spacing:.02em}.comment-form-actions .btn-primary{font-size:12.5px;padding:6px 14px;flex:0 0 auto}.client-detail-modal{max-height:88vh;overflow-y:auto}.client-fiscal{margin:18px 24px 6px;padding:14px 16px;background:var(--surface-sunken);border:1px solid var(--line-warm);border-radius:8px;display:flex;flex-direction:column;gap:8px}.client-fiscal-row{display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:baseline}.client-fiscal-label{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint)}.client-fiscal-value{font-family:var(--font-mono);font-size:12.5px;color:var(--ink-strong);letter-spacing:-.005em;word-break:break-word}@media(max-width:540px){.client-fiscal-row{grid-template-columns:1fr;gap:2px}}.client-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:18px 24px 14px;background:var(--surface);border:1px solid var(--line-warm);border-radius:10px;overflow:hidden}.client-stat{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px 12px;background:var(--surface);border-right:1px solid var(--line-warm);transition:background .15s ease}.client-stat:last-child{border-right:0}.client-stat:hover{background:var(--surface-sunken)}.client-stat strong{font-family:var(--font-mono);font-size:26px;font-weight:600;color:var(--ink-strong);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.client-stat span{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.client-breakdown{display:flex;flex-direction:column;gap:10px;padding:4px 24px 18px;border-bottom:1px solid var(--line-warm-soft)}.client-breakdown-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.client-breakdown-label{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;margin-right:6px;min-width:64px}.client-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;background:var(--surface);border:1px solid var(--line-warm);border-radius:999px;font-family:var(--font-sans);font-size:11.5px;color:var(--ink);font-weight:500;letter-spacing:-.005em}.client-chip-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.client-history{padding:18px 24px 24px}.client-history-group{margin-bottom:22px}.client-history-group:last-child{margin-bottom:0}.client-history-month{font-family:var(--font-mono);font-size:10.5px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.12em;padding:0 0 8px;margin-bottom:8px;border-bottom:1px solid var(--line-warm-soft)}.client-history-count{color:var(--ink-ghost);font-weight:500;letter-spacing:.04em;margin-left:6px}.client-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.client-history-item{width:100%;text-align:left;background:transparent;border:0;border-radius:6px;padding:9px 10px;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:background .15s ease,padding-left .15s ease;font-family:inherit}.client-history-item+.client-history-item{border-top:1px solid var(--line-warm-soft)}.client-history-item:hover{background:var(--surface-sunken);padding-left:14px}.client-history-item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.client-history-item-main{display:flex;align-items:center;gap:8px;min-width:0}.client-history-status{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.client-history-title{font-size:13px;font-weight:600;color:var(--ink-strong);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.005em}.client-history-type{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--ink-muted);background:var(--surface-sunken);border:1px solid var(--line-warm);padding:1px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em;flex:0 0 auto}.client-history-meta{display:flex;flex-wrap:wrap;gap:5px;font-size:11.5px;color:var(--ink-muted);padding-left:16px}@media(max-width:540px){.client-stats{grid-template-columns:repeat(2,1fr)}.client-stats .client-stat:nth-child(2n){border-right:0}.client-stats .client-stat:nth-child(-n+2){border-bottom:1px solid var(--line-warm)}.client-stat strong{font-size:22px}}.cmd-overlay{position:fixed;inset:0;z-index:1200;background:#1c191773;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding:80px 16px 16px;animation:cmd-fade .16s ease-out}@keyframes cmd-fade{0%{opacity:0}to{opacity:1}}.cmd-palette{width:100%;max-width:640px;background:var(--surface);border-radius:12px;box-shadow:var(--shadow-overlay);border:1px solid var(--line-warm);overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 96px);animation:cmd-pop .18s cubic-bezier(.22,1,.36,1)}@keyframes cmd-pop{0%{transform:translateY(-8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.cmd-input-wrap{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line-warm)}.cmd-search-icon{color:var(--ink-faint);flex:0 0 auto}.cmd-input{flex:1;border:0;outline:0;background:transparent;padding:0;font-size:16px;color:var(--ink-strong);font-family:var(--font-sans);line-height:1.4;letter-spacing:-.01em;border-radius:0;width:auto}.cmd-input::placeholder{color:var(--ink-faint);font-weight:400}.cmd-input-kbd{flex:0 0 auto;font-family:var(--font-mono);font-size:10.5px;font-weight:600;padding:3px 7px;background:var(--surface-sunken);border:1px solid var(--line-warm);border-radius:5px;color:var(--ink-faint);letter-spacing:.04em}.cmd-results{flex:1;overflow-y:auto;padding:8px 0 10px;scrollbar-width:thin;scrollbar-color:var(--line-warm-strong) transparent}.cmd-results::-webkit-scrollbar{width:6px}.cmd-results::-webkit-scrollbar-thumb{background:var(--line-warm-strong);border-radius:3px}.cmd-group+.cmd-group{margin-top:6px}.cmd-group-title{font-family:var(--font-mono);font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);padding:10px 18px 6px}.cmd-list{list-style:none;margin:0;padding:0}.cmd-item{display:flex;align-items:center;gap:12px;padding:9px 18px;cursor:pointer;transition:background .08s;position:relative}.cmd-item.is-selected{background:var(--accent-tint)}.cmd-item.is-selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--brand)}.cmd-item-icon{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;background:var(--surface-sunken);border:1px solid var(--line-warm-soft);font-size:14px;flex:0 0 auto;color:var(--ink-muted)}.cmd-item.is-selected .cmd-item-icon{background:var(--surface);border-color:var(--accent-line);color:var(--brand)}.cmd-item-icon-task{background:var(--accent-tint);border-color:var(--accent-line);color:var(--brand)}.cmd-item-icon-client{background:#10b98114;border-color:#10b98138;color:#047857}.cmd-item-icon-tech{background:#f59e0b14;border-color:#f59e0b38;color:#92520b}.cmd-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cmd-item-label{font-size:13.5px;font-weight:500;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em}.cmd-item-sub{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.cmd-item-kbd{font-family:var(--font-mono);font-size:10.5px;font-weight:600;padding:2px 6px;background:var(--surface);border:1px solid var(--line-warm);border-radius:4px;color:var(--ink-muted);flex:0 0 auto;letter-spacing:.02em}.cmd-empty{padding:40px 18px;text-align:center;color:var(--ink-faint);font-size:13px}.cmd-footer{display:flex;align-items:center;gap:16px;padding:10px 18px;border-top:1px solid var(--line-warm-soft);background:var(--surface-sunken);font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);flex:0 0 auto;letter-spacing:.02em}.cmd-footer kbd{display:inline-block;font-family:var(--font-mono);font-size:10px;font-weight:600;padding:1px 5px;background:var(--surface);border:1px solid var(--line-warm);border-radius:3px;color:var(--ink-strong);margin-right:2px}.topbar-cmd-btn{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 10px 0 12px;border-radius:6px;background:var(--surface);border:1px solid var(--line-warm);color:var(--ink-muted);font-family:var(--font-sans);font-size:12.5px;font-weight:500;letter-spacing:-.005em;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.topbar-cmd-btn:hover{background:var(--surface-sunken);border-color:var(--line-warm-strong);color:var(--ink-strong)}.topbar-cmd-btn-kbd{display:inline-flex;align-items:center;gap:1px;font-family:var(--font-mono);font-size:10px;font-weight:600;padding:2px 5px;background:var(--surface-sunken);border:1px solid var(--line-warm);border-radius:4px;color:var(--ink-faint);letter-spacing:.04em}@media(max-width:720px){.topbar-cmd-btn-text,.topbar-cmd-btn-kbd{display:none}.topbar-cmd-btn{width:32px;padding:0;justify-content:center}}[data-theme=dark] .cmd-overlay{background:#000000a6}[data-theme=dark] .cmd-item.is-selected{background:var(--accent-tint)}.templates-modal{max-height:90vh;overflow-y:auto}.templates-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;border-bottom:1px solid var(--line-warm-soft)}.templates-count{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);letter-spacing:.04em}.templates-list{list-style:none;margin:0;padding:12px 20px 20px;display:flex;flex-direction:column;gap:8px}.template-row{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--surface);border:1px solid var(--line-warm);border-radius:8px;transition:border-color .12s,background .12s}.template-row:hover{border-color:var(--line-warm-strong);background:var(--surface-sunken)}.template-main{flex:1;min-width:0}.template-name{font-weight:600;font-size:13.5px;color:var(--ink-strong);margin-bottom:5px;letter-spacing:-.005em}.template-meta{display:flex;flex-wrap:wrap;gap:5px}.template-chip{display:inline-flex;font-family:var(--font-mono);font-size:10px;padding:2px 8px;border-radius:999px;background:var(--surface-sunken);color:var(--ink-muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line-warm)}.template-actions{display:flex;gap:6px;flex:0 0 auto}.templates-form{display:flex;flex-direction:column}.task-template-loader{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:14px 24px 0;background:var(--surface-sunken);border:1px solid var(--line-warm);border-radius:8px;font-size:13px}.task-template-loader-label{display:inline-flex;align-items:center;gap:6px;color:var(--ink-strong);font-weight:600;flex:0 0 auto;letter-spacing:-.005em}.task-template-loader-label-icon{font-size:14px;opacity:.8}.task-template-loader select{flex:1;min-width:0;height:32px;padding:0 28px 0 10px;font-size:12.5px;background-color:var(--surface);border:1px solid var(--line-warm);border-radius:6px;color:var(--ink-strong)}.task-template-loader-manage{flex:0 0 auto;font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);background:transparent;border:0;cursor:pointer;padding:4px 8px;border-radius:4px;letter-spacing:.02em;transition:background .12s,color .12s}.task-template-loader-manage:hover{background:var(--surface);color:var(--ink-strong);text-decoration:underline}@media(max-width:540px){.task-template-loader{flex-wrap:wrap}.task-template-loader-label{flex:1 1 100%}}[data-theme=dark] .template-row{background:var(--surface);border-color:var(--line-warm)}[data-theme=dark] .template-row:hover{background:var(--surface-sunken);border-color:var(--line-warm-strong)}.empty-state-v2{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:44px 24px;gap:4px;color:var(--ink-muted)}.empty-state-v2--compact{padding:22px 14px;gap:2px}.empty-state-icon{width:80px;height:80px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-sunken);border:1px solid var(--line-warm-soft);color:var(--ink-faint);margin-bottom:14px;position:relative}.empty-state-icon svg{width:64px;height:64px}.empty-state-icon:after{content:"";position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,var(--accent-tint) 0%,transparent 70%);z-index:-1;pointer-events:none}.empty-state-v2--compact .empty-state-icon{width:52px;height:52px;margin-bottom:8px}.empty-state-v2--compact .empty-state-icon svg{width:40px;height:40px}.empty-state-v2--compact .empty-state-icon:after{inset:-4px}.empty-state-eyebrow{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:2px}.empty-state-title{font-size:15px;font-weight:600;color:var(--ink-strong);letter-spacing:-.01em;margin-top:2px}.empty-state-v2--compact .empty-state-title{font-size:13.5px}.empty-state-desc{font-size:13px;color:var(--ink-muted);max-width:340px;line-height:1.55;margin-top:4px}.empty-state-v2--compact .empty-state-desc{font-size:12px;max-width:280px;line-height:1.45}.empty-state-v2 button{margin-top:14px}.empty-state-v2--compact button{margin-top:10px}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--canvas);color:var(--ink-muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner{width:32px;height:32px;border:2px solid var(--line-warm);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}.skeleton-shell{min-height:100vh}@keyframes sk-shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.sk{display:block;background:linear-gradient(90deg,#1c19170a,#1c191717,#1c19170a);background-size:400px 100%;animation:sk-shimmer 1.4s ease-in-out infinite;border-radius:6px}.skeleton-sidebar{width:220px;min-width:220px;padding:16px 12px;background:var(--sb-bg);display:flex;flex-direction:column;gap:10px}.skeleton-sidebar .sk{background:linear-gradient(90deg,#fafaf90f,#fafaf924,#fafaf90f);background-size:400px 100%}.sk-logo{height:36px;margin-bottom:16px}.sk-nav-item{height:32px}.skeleton-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-bottom:1px solid var(--line-warm);background:var(--surface)}.skeleton-topbar-left{display:flex;flex-direction:column;gap:8px}.skeleton-topbar-right{display:flex;align-items:center;gap:10px}.sk-title{width:160px;height:16px}.sk-subtitle{width:220px;height:10px}.sk-chip{width:90px;height:28px;border-radius:14px}.sk-btn{width:120px;height:34px;border-radius:8px}.skeleton-content{display:grid;grid-template-columns:1fr 320px;gap:16px;padding:16px 20px;background:var(--canvas)}.skeleton-calendar{background:var(--surface);border-radius:10px;padding:16px;border:1px solid var(--line-warm)}.skeleton-calendar-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.sk-btn-sm{width:30px;height:30px;border-radius:6px}.sk-label{flex:1;height:20px;max-width:200px}.skeleton-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.sk-cell{height:68px;border-radius:6px}.skeleton-side{background:var(--surface);border-radius:10px;padding:16px;border:1px solid var(--line-warm);display:flex;flex-direction:column;gap:10px}.sk-panel-title{width:70%;height:18px;margin-bottom:6px}.sk-row{height:48px}.sk-row.short{width:60%}@media(max-width:900px){.skeleton-content{grid-template-columns:1fr}.skeleton-sidebar{display:none}}[data-theme=dark] .calendar-cell{background:var(--bg-surface)}[data-theme=dark] .calendar-cell:hover{background:var(--brand-soft)!important}[data-theme=dark] .calendar-cell.outside{background:var(--bg-soft)!important}[data-theme=dark] .calendar-cell.today{background:#4f8bff2e!important}[data-theme=dark] .week-column:nth-last-child(2){background:var(--bg-soft)}[data-theme=dark] .week-column.today{background:#4f8bff24}[data-theme=dark] .week-column-header{background:var(--bg-soft)}[data-theme=dark] .week-column-header:hover{background:var(--brand-soft)}[data-theme=dark] .tasks-table{background:var(--bg-surface)}[data-theme=dark] .tasks-table thead th{background:var(--bg-soft);color:var(--text-soft);box-shadow:0 1px 0 var(--line-main)}[data-theme=dark] .tasks-table tbody tr:nth-child(2n) td{background:#94a0b40d}[data-theme=dark] .tasks-table tbody tr:hover td,[data-theme=dark] .tasks-table tbody tr:nth-child(2n):hover td{background:var(--brand-soft)}[data-theme=dark] .tasks-table td{border-color:var(--line-soft)}[data-theme=dark] .day-task-card{background:var(--bg-surface);border-color:var(--line-main)}[data-theme=dark] .day-task-card:hover{background:var(--brand-soft);border-color:var(--brand-border)}[data-theme=dark] .mini-status.no-iniciado{background:#94a0b429;color:var(--text-main)}[data-theme=dark] .mini-status.en-curso{background:var(--warning-soft);color:var(--warning)}[data-theme=dark] .mini-status.listo{background:var(--success-soft);color:var(--success)}[data-theme=dark] .mini-status.bloqueado{background:var(--danger-soft);color:var(--danger)}[data-theme=dark] .mini-priority.priority-low{background:#94a0b429;color:var(--text-soft)}[data-theme=dark] .mini-priority.priority-medium,[data-theme=dark] .mini-priority.priority-high{background:var(--info-soft);color:var(--brand)}[data-theme=dark] .mini-priority.priority-urgent,[data-theme=dark] .role-admin{background:var(--danger-soft);color:var(--danger)}[data-theme=dark] .role-supervisor{background:var(--info-soft);color:var(--brand)}[data-theme=dark] .role-tecnico{background:var(--success-soft);color:var(--success)}[data-theme=dark] .icon-close:hover{background:var(--danger-soft);color:var(--danger)}[data-theme=dark] .users-no-permissions{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning)}[data-theme=dark] .kpi-card.kpi-urgent{background:linear-gradient(135deg,#ef44441a,#ef444433)}[data-theme=dark] .kpi-card.kpi-total{background:linear-gradient(135deg,#4f8bff1a,#4f8bff33)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background-color:var(--bg-soft);border-color:var(--line-main);color:var(--text-strong)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--text-muted)}[data-theme=dark] input:hover,[data-theme=dark] select:hover,[data-theme=dark] textarea:hover{border-color:var(--line-strong)}[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a8b1c5' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}[data-theme=dark] select.toolbar-filter-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23a8b1c5' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}[data-theme=dark] .task-type-tag{background:var(--bg-soft);border-color:var(--line-main);color:var(--text-main)}[data-theme=dark] .task-type-tag.task-type-incidencia{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}[data-theme=dark] .task-type-tag.task-type-instalacion-proyecto{background:var(--info-soft);border-color:var(--brand-border);color:var(--brand)}[data-theme=dark] .task-type-tag.task-type-ampliacion{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}[data-theme=dark] .task-type-tag.task-type-mantenimiento-preventivo{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning)}[data-theme=dark] .task-type-tag.task-type-captura{background:#2dd4bf24;border-color:#2dd4bf52;color:#99f6e4}[data-theme=dark] .task-type-tag.task-type-visita{background:#94a0b424;border-color:#94a0b44d;color:var(--text-main)}[data-theme=dark] .modal-header,[data-theme=dark] .form-actions{background:var(--bg-surface)}[data-theme=dark] .calendar-grid .calendar-cell:nth-child(7n-1),[data-theme=dark] .calendar-grid .calendar-cell:nth-child(7n){background:#ffffff04}[data-theme=dark] .calendar-weekdays{background:var(--bg-soft)}[data-theme=dark] .calendar-weekdays div{border-color:var(--line-soft)}[data-theme=dark] .calendar-weekdays div:last-child,[data-theme=dark] .calendar-weekdays div:nth-last-child(2),[data-theme=dark] .week-column:nth-last-child(2) .week-column-dow{color:var(--c-amber-100)}[data-theme=dark] .calendar-mode-tabs{background:var(--bg-soft);border:1px solid var(--line-soft)}[data-theme=dark] .calendar-mode-tab.active{background:var(--bg-surface);color:var(--brand);box-shadow:0 1px 3px #0006}[data-theme=dark] .day-view-card-notes{background:var(--bg-soft);border-left-color:var(--brand);color:var(--text-main)}[data-theme=dark] .week-column:last-child{background:var(--bg-soft)}[data-theme=dark] .day-task-list,[data-theme=dark] .week-column-body{scrollbar-color:rgba(168,177,197,.35) transparent}[data-theme=dark] .week-empty{color:var(--text-muted)}[data-theme=dark] .mt-alert-banner{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}[data-theme=dark] .warn-chip{background:var(--danger-soft);color:var(--danger)}[data-theme=dark] .team-specialty,[data-theme=dark] .mt-vehicle-chip{background:var(--brand-soft);color:var(--brand)}[data-theme=dark] .task-type-tag.task-type-preventa{background:#a855f724;border-color:#a855f752;color:#d8b4fe}[data-theme=dark] .empty-state{background:var(--bg-soft);border-color:var(--line-main);color:var(--text-main)}[data-theme=dark] .informes-filters,[data-theme=dark] .informes-filters-grid input,[data-theme=dark] .informes-filters-grid select{background:var(--bg-surface);border-color:var(--line-main);color:var(--text-strong)}[data-theme=dark] .informes-filters-grid label{color:var(--text-soft)}[data-theme=dark] .range-chip{background:var(--bg-soft);border-color:var(--line-main);color:var(--text-main)}[data-theme=dark] .range-chip:hover{border-color:var(--line-strong)}[data-theme=dark] .range-chip.active{background:var(--brand);border-color:var(--brand);color:#fff}[data-theme=dark] .login-page,[data-theme=dark] .login-card{background:var(--bg-surface);color:var(--text-main)}[data-theme=dark] .content-grid{scrollbar-color:rgba(148,160,180,.3) var(--bg-app)}[data-theme=dark] .comment-bubble{background:var(--bg-soft);border-color:var(--line-main)}[data-theme=dark] .comment-own .comment-bubble{background:var(--brand-soft);border-color:var(--brand-border)}[data-theme=dark] .comment-edit textarea{border-color:var(--brand)}[data-theme=dark] .client-stat{background:var(--bg-soft);border-color:var(--line-main)}[data-theme=dark] .client-chip{background:var(--bg-surface);border-color:var(--line-main);color:var(--text-main)}[data-theme=dark] .client-history-item:hover{background:var(--brand-soft);border-color:var(--brand-border)}[data-theme=dark] .client-history-type{background:var(--brand-soft);color:var(--brand)}[data-theme=dark] .calendar-cell.drop-target-active,[data-theme=dark] .week-column.drop-target-active{background:#4f8bff2e!important;outline-color:var(--brand)}
