/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"JetBrains Mono", monospace;--radius-sm:4px;--radius-md:8px;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-heading:"Inter", sans-serif;--font-body:"Inter", sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.columns-2{columns:2}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--bg-primary:#0f172a;--bg-secondary:#1a2332;--bg-tertiary:#1e293b;--bg-card:#1e293b;--bg-card-hover:#273549;--bg-surface:#1e293b;--bg-input:#1a2332;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--accent:#2563eb;--accent-dim:#2563eb1f;--accent-hover:#1d4ed8;--accent-amber:#f59e0b;--accent-amber-dim:#f59e0b1f;--accent-green:#10b981;--accent-green-dim:#10b9811f;--accent-red:#ef4444;--accent-red-dim:#ef44441f;--accent-purple:#8b5cf6;--accent-purple-dim:#8b5cf61f;--border-default:#334155;--border-light:#475569;--shadow-card:none;--shadow-card-hover:none;--radius-sm:4px;--radius-md:8px;--radius-lg:8px;--font-heading:"Inter", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--theme-transition:background .3s ease, color .3s ease, border-color .3s ease}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--bg-tertiary:#e2e8f0;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-surface:#fff;--bg-input:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--accent:#2563eb;--accent-dim:#2563eb14;--accent-hover:#1d4ed8;--accent-amber:#d97706;--accent-amber-dim:#d9770614;--accent-green:#059669;--accent-green-dim:#05966914;--accent-red:#dc2626;--accent-red-dim:#dc262614;--accent-purple:#7c3aed;--accent-purple-dim:#7c3aed14;--border-default:#e2e8f0;--border-light:#cbd5e1;--shadow-card:0 1px 3px #00000014;--shadow-card-hover:0 2px 8px #0000001f}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-primary);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:var(--theme-transition);margin:0;padding:0;font-size:14px;line-height:1.5}body{overflow:hidden auto}#login-page{background:var(--bg-primary);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}#app{flex-direction:column;width:100vw;height:100dvh;display:flex}.app-container{flex-direction:column;width:100%;height:100vh;display:flex}.login-container{width:100%;max-width:400px}.login-brand{text-align:center;margin-bottom:32px}.login-brand .logo-icon{width:56px;height:56px;color:var(--accent);border:2px solid var(--accent);border-radius:var(--radius-sm);justify-content:center;align-items:center;margin:0 auto 14px;font-size:44px;display:flex}.login-brand .logo-icon:after{content:"⚙";animation:6s linear infinite logo-spin;display:inline-block}@media (prefers-reduced-motion:reduce){.login-brand .logo-icon:after{animation:none}}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-brand h1{font-family:var(--font-heading);letter-spacing:-.5px;color:var(--text-primary);font-size:24px;font-weight:700}.login-brand h1 .ff-bold{color:var(--accent);font-weight:800}.login-brand h1 .ff-light{color:var(--text-secondary);font-weight:300}.login-brand .tagline{color:var(--text-muted);font-size:12px;font-family:var(--font-mono);margin-top:4px}.login-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:28px}.login-card h2{font-family:var(--font-heading);margin-bottom:4px;font-size:16px;font-weight:600}.login-card .subtitle{color:var(--text-muted);margin-bottom:20px;font-size:12px}.form-group{margin-bottom:14px}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;font-size:11px;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-body);padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.form-group textarea{resize:vertical;min-height:120px;font-family:var(--font-body)}.btn{border-radius:var(--radius-sm);font-family:var(--font-heading);cursor:pointer;border:1px solid #0000;align-items:center;gap:7px;padding:9px 18px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-danger{background:var(--accent-red-dim);color:var(--accent-red);border-color:var(--accent-red-dim)}.btn-danger:hover{background:#ef444433}.btn-sm{padding:5px 10px;font-size:12px}.btn-block{justify-content:center;width:100%}.btn-icon{padding:6px 10px;font-size:16px}.login-btn{margin-top:4px}[data-lucide]{stroke-width:2px;vertical-align:middle;width:14px;height:14px}.settings-tabs{border-bottom:2px solid var(--border-default);gap:0;margin-bottom:20px;display:flex}.settings-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.settings-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.settings-tab:hover{color:var(--text)}.settings-tab-panel{display:none}.settings-tab-panel.active{display:block}.role-select{margin-bottom:18px}.demo-hint{color:var(--text-muted);margin-top:16px;font-size:11px}.topbar{background:var(--bg-card);border-bottom:1px solid var(--border-default);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex}.topbar-left{align-items:center;gap:10px;display:flex}.topbar-brand{font-family:var(--font-heading);letter-spacing:-.5px;color:var(--text-primary);font-size:16px;font-weight:700}.topbar-brand .ff-bold{color:var(--accent);font-weight:800}.topbar-brand .ff-light{font-weight:300}.menu-toggle{border:1px solid var(--border-default);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.menu-toggle:hover{border-color:var(--accent);color:var(--accent)}.topbar-right{align-items:center;gap:8px;display:flex}.theme-toggle-btn{border:1px solid var(--border-default);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:22px;transition:all .15s;display:flex}.theme-toggle-btn:hover{border-color:var(--accent);color:var(--accent)}[data-theme=dark] .theme-icon-light,[data-theme=light] .theme-icon-dark{display:none}.lang-toggle{background:var(--bg-tertiary);border-radius:var(--radius-sm);gap:1px;padding:2px;display:flex}.lang-btn{color:var(--text-muted);font-family:var(--font-heading);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:3px 8px;font-size:11px;font-weight:600;transition:all .15s}.lang-btn.active{background:var(--accent);color:#fff}.lang-btn:hover:not(.active){color:var(--text-primary)}.user-menu{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:default;align-items:center;gap:7px;padding:3px 8px 3px 3px;font-size:12px;display:flex}.user-menu .avatar{color:#fff;width:26px;height:26px;font-size:10px;font-weight:700;font-family:var(--font-heading);border-radius:50%;justify-content:center;align-items:center;display:flex}.user-menu .user-role-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-family:var(--font-mono)}.logout-btn{border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);font-size:11px;font-family:var(--font-heading);cursor:pointer;text-align:center;white-space:nowrap;background:0 0;min-width:120px;padding:4px 10px;font-weight:600;transition:all .15s}.logout-btn:hover{border-color:var(--accent-red);color:var(--accent-red)}.app-layout{flex:1;display:flex;overflow:hidden}.sidebar{background:var(--bg-card);border-right:1px solid var(--border-default);flex-shrink:0;width:250px;padding:12px 0;transition:width .25s,padding .25s,border .25s;overflow-y:auto}.sidebar.collapsed{border-right:none;width:0;padding:0;overflow:hidden}.sidebar-section{margin-bottom:16px;padding:0 12px}.sidebar-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-size:10px;font-weight:700;font-family:var(--font-mono);margin-bottom:6px;padding:0 4px}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;margin-bottom:1px;padding:7px 10px;font-size:13px;font-weight:500;transition:all .1s;display:flex}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.nav-item .nav-icon{text-align:center;flex-shrink:0;width:18px;font-size:15px}.nav-project{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:7px;margin-bottom:1px;padding:5px 10px;font-size:12px;transition:all .1s;display:flex}.nav-project:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-project.active{background:var(--bg-tertiary);color:var(--accent);font-weight:600}.nav-project .project-dot{cursor:pointer;border-radius:50%;flex-shrink:0;width:10px;height:10px;position:relative}.nav-project .project-dot:after{content:attr(title);white-space:nowrap;font-size:9px;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.3px;background:var(--bg-card);border:1px solid var(--border-default);color:var(--text-primary);opacity:0;pointer-events:none;z-index:10;border-radius:3px;padding:2px 6px;transition:opacity .15s;position:absolute;top:-3px;left:16px}.nav-project .project-dot:hover:after{opacity:1}.status-active{background:#06b6d4}.status-planning{background:#f59e0b}.status-review{background:#d946ef}.status-done{background:#10b981}.status-on_hold{background:#6b7280}.nav-company{color:var(--text-primary);align-items:center;gap:7px;margin-top:4px;margin-bottom:1px;padding:5px 10px;font-size:11px;font-weight:600;display:flex}.nav-company .fas{text-align:center;flex-shrink:0;width:14px;font-size:12px}.company-projects{padding-left:8px}.main-content{background:var(--bg-primary);flex:1;padding:20px 24px;overflow-y:auto}.project-detail .main-content{padding:8px 24px}.page-header{margin-bottom:12px}.page-header h1{font-family:var(--font-heading);letter-spacing:-.5px;color:var(--text-primary);font-size:22px;font-weight:700}.page-header .page-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.app-footer{background:var(--bg-card);border-top:1px solid var(--border-default);text-align:center;color:var(--text-muted);font-size:10px;font-family:var(--font-mono);letter-spacing:.3px;flex-shrink:0;padding:6px 16px}.app-footer a{color:var(--accent);font-weight:500}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:20px;display:grid}.metric-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-card);text-align:center;padding:14px 16px;transition:all .15s}.metric-card:hover{box-shadow:var(--shadow-card-hover)}.metric-card .metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700;font-family:var(--font-mono);margin-bottom:4px}.metric-card .metric-value{font-family:var(--font-heading);color:var(--text-primary);font-size:24px;font-weight:700}.metric-card .metric-sub{color:var(--text-secondary);margin-top:2px;font-size:11px}.metric-warn .metric-value{color:var(--accent-amber)}.metric-success .metric-value{color:var(--accent-green)}.metric-danger .metric-value{color:var(--accent-red)}.company-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-card);text-align:center;flex-direction:column;padding:14px 16px;transition:all .15s;display:flex}.company-card:hover{box-shadow:var(--shadow-card-hover)}.company-card .metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700;font-family:var(--font-mono);margin-bottom:4px}.company-card .metric-value{font-family:var(--font-heading);color:var(--text-primary);font-size:24px;font-weight:700}.company-card .metric-sub{color:var(--text-secondary);margin-top:2px;font-size:11px}.company-card .company-card-footer{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px;display:flex}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px 10px;display:grid}.company-filter{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.cf-pill{border:2px solid var(--border-default);background:var(--bg-card);color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font-mono);border-radius:20px;padding:4px 12px;transition:all .15s}.cf-pill:hover{border-color:var(--text-muted);color:var(--text-primary)}.cf-pill.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.cf-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.project-card.project-card-hidden{display:none}.portfolio-section{margin-bottom:24px}.portfolio-section h2{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.3px;margin-bottom:12px;font-size:18px;font-weight:600}.project-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-card);flex-direction:column;transition:all .15s;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--accent)}.card-cover{align-items:flex-end;height:90px;padding:12px;display:flex;position:relative;overflow:hidden}.card-cover:before{content:"";background-image:var(--cover);background-size:cover;background-position:var(--cover-pos,center);position:absolute;inset:0;transform:scale(1)}.card-cover:hover:before{animation:8s ease-in-out infinite alternate ken-burns}@keyframes ken-burns{to{transform:scale(1.15)}}.project-cover{border-radius:var(--radius-md);align-items:flex-end;width:100%;height:220px;margin-bottom:20px;padding:20px;display:flex;position:relative;overflow:hidden}.project-cover:before{content:"";background-image:var(--cover);background-size:cover;background-position:var(--cover-pos,center);z-index:0;transition:transform 2.5s;position:absolute;inset:0}.project-cover{cursor:grab}.project-cover.dragging{cursor:grabbing}.project-cover:hover:before{transform:scale(1.1)}.card-cover>*,.project-cover>*{z-index:1;position:relative}.card-cover .card-status-badge{text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:7px;font-weight:700;font-family:var(--font-mono);background:#00000073;border-radius:3px;padding:2px 6px;position:absolute;top:10px;right:10px}.card-cover .card-company-badge{color:#fff;font-size:10px;font-weight:700;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;border-radius:3px;max-width:50%;padding:3px 8px;position:absolute;top:10px;left:10px;overflow:hidden}.card-cover .card-title{font-family:var(--font-heading);letter-spacing:-.3px;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;border-radius:3px;padding:1px 8px;font-size:12px;font-weight:550}.card-body{flex-direction:column;flex:1;padding:14px;display:flex}.card-body .card-meta{gap:14px;margin-bottom:10px;display:flex}.card-meta-item{color:var(--text-muted);flex-direction:column;align-items:center;font-size:10px;display:flex}.card-meta-item .meta-value{font-family:var(--font-heading);color:var(--text-primary);font-size:18px;font-weight:700}.card-meta-item .meta-label{text-transform:uppercase;letter-spacing:.3px;font-size:9px;font-family:var(--font-mono)}.card-body .card-footer{border-top:1px solid var(--border-default);justify-content:space-between;align-items:center;min-height:43px;margin-top:auto;padding-top:10px;display:flex}.card-due{color:var(--text-muted);font-size:10px;font-family:var(--font-mono)}.card-due.overdue{color:var(--accent-red)}.avatar-stack{display:flex}.avatar-stack .avatar-sm{color:#fff;width:32px;height:32px;font-size:11px;font-weight:700;font-family:var(--font-heading);border-radius:50%;justify-content:center;align-items:center;margin-left:-6px;display:flex;box-shadow:0 2px 6px #0000001f}.avatar-stack .avatar-sm:first-child{margin-left:0}.people-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.filter-group{flex-direction:column;gap:4px;display:flex}.filter-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:10px;font-weight:600}.filter-select{background:var(--bg-input,var(--bg-card));color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;min-width:160px;padding:6px 32px 6px 12px;font-family:inherit;font-size:13px}.filter-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim);outline:none}.people-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;display:grid}.person-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-card);gap:14px;padding:16px;transition:all .15s;display:flex}.person-card:hover{box-shadow:var(--shadow-card-hover)}.person-avatar{color:#fff;width:42px;height:42px;font-size:14px;font-weight:700;font-family:var(--font-heading);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.person-details{flex:1;min-width:0}.person-name{font-family:var(--font-heading);color:var(--text-primary);font-size:15px;font-weight:600}.person-role-text{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-family:var(--font-mono);margin-bottom:10px}.person-metrics{gap:18px;margin-bottom:10px;display:flex}.person-metric{flex-direction:column;display:flex}.person-metric .met-value{font-family:var(--font-heading);font-size:16px;font-weight:700}.person-metric .met-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:9px;font-family:var(--font-mono)}.capacity-bar{background:var(--bg-tertiary);border-radius:2px;height:4px;margin-top:3px;overflow:hidden}.capacity-fill{border-radius:2px;height:100%;transition:width .3s}.capacity-fill.low{background:var(--accent-green)}.capacity-fill.medium{background:var(--accent-amber)}.capacity-fill.high{background:var(--accent-red)}.person-projects{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.person-project-tag{background:var(--bg-tertiary);color:var(--text-muted);font-size:10px;font-family:var(--font-mono);border-radius:3px;padding:2px 7px}.role-labels-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-top:24px;padding:20px}.role-labels-card h2{margin-bottom:4px;font-size:16px;font-weight:700}.role-labels-form{flex-direction:column;gap:12px;margin-top:14px;display:flex}.role-label-field{flex-direction:column;gap:4px;display:flex}.role-label-field label{color:var(--text-muted);font-size:12px;font-weight:600}.role-label-field .form-input{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);max-width:360px;color:var(--text-primary);padding:8px 10px;font-size:13px}.role-label-field .form-input:focus{border-color:var(--accent);outline:none}.settings-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);max-width:520px;box-shadow:var(--shadow-card);padding:24px}.settings-card h2{border-bottom:1px solid var(--border-default);margin-bottom:14px;padding-bottom:10px;font-size:16px;font-weight:700}.settings-card form{flex-direction:column;gap:14px;display:flex}.settings-card .form-select{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;max-width:300px;padding:8px 12px;font-size:13px}.settings-card .form-select:focus{border-color:var(--accent);outline:none}.settings-card .btn{align-self:flex-start}.form-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);max-width:640px;box-shadow:var(--shadow-card);padding:24px}.alert{border-radius:var(--radius-sm);margin-bottom:12px;padding:10px 14px;font-size:13px;font-weight:600}.alert-success{background:var(--accent-green-dim);border:1px solid var(--accent-green);color:var(--accent-green)}.alert-danger{background:var(--accent-red-dim);border:1px solid var(--accent-red);color:var(--accent-red)}.people-tabs{border-bottom:2px solid var(--border-default);gap:2px;margin-bottom:16px;display:flex}.ptab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:6px 16px;font-size:13px;font-weight:600;transition:all .15s}.ptab:hover{color:var(--text-primary)}.ptab.active{color:var(--accent);border-bottom-color:var(--accent)}.people-panel{display:none}.people-panel.active{display:block}.role-lang-inputs{gap:12px;display:flex}.role-lang-col{flex-direction:column;flex:1;gap:4px;max-width:360px;display:flex}.role-lang-label{color:var(--text-muted);font-size:10px;font-weight:700;font-family:var(--font-mono)}.port-color-dot{border:1px solid #ffffff26;border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.clients-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;display:grid}.client-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-card);cursor:pointer;padding:16px;transition:all .15s}.client-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--accent)}.client-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.client-avatar{color:#fff;background:var(--accent-purple);width:38px;height:38px;font-size:13px;font-weight:700;font-family:var(--font-heading);border-radius:50%;justify-content:center;align-items:center;display:flex}.client-name{font-family:var(--font-heading);font-size:16px;font-weight:600}.client-company{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.client-stats{gap:20px;margin-bottom:14px;display:flex}.client-stat .stat-value{font-family:var(--font-heading);font-size:18px;font-weight:700}.client-stat .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:9px;font-family:var(--font-mono)}.client-projects-list{gap:6px;display:flex}.client-project-tag{background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:10px;font-family:var(--font-mono);padding:3px 8px;transition:all .1s}.client-project-tag:hover{background:var(--accent-dim);color:var(--accent)}.reports-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:12px;display:grid}.report-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:16px;transition:border-color .2s,box-shadow .2s}.report-card.glass{-webkit-backdrop-filter:blur(12px);background:#ffffff08;border:1px solid #94a3b81f;box-shadow:0 4px 24px #00000014,0 1px 4px #0000000a}[data-theme=dark] .report-card.glass{background:#0f172a59;border-color:#94a3b814;box-shadow:0 4px 24px #00000040,0 1px 4px #0000001f}.chart-wrap{min-height:200px;position:relative}.chart-wrap canvas{width:100%!important}.chart-wrap-donut{max-height:265px;margin:0 auto}.chart-wrap-donut canvas{max-height:265px!important}.report-card h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.3px;color:var(--text-primary);margin-bottom:14px;font-size:13px;font-weight:700}.bar-chart{align-items:flex-end;gap:3px;height:100px;padding:0 3px;display:flex}.bar-item{flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.bar-value{color:var(--text-muted);font-size:9px;font-weight:600;font-family:var(--font-mono)}.bar{background:var(--accent);border-radius:2px 2px 0 0;width:100%;max-width:36px;transition:height .3s}.bar.alt{background:var(--accent-amber)}.bar-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:9px;font-family:var(--font-mono)}.blockers-list{flex-direction:column;gap:6px;display:flex}.blocker-item{background:var(--bg-tertiary);border-radius:var(--radius-sm);border-left:3px solid var(--accent-red);gap:8px;padding:8px 10px;font-size:12px;display:flex}.blocker-reason{color:var(--text-primary);flex:1}.blocker-meta{color:var(--text-muted);margin-top:3px;font-size:10px}#block-reason{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:12px;font-family:var(--font-mono);padding:8px}#block-reason:focus{border-color:var(--accent);outline:none}.spec-list{flex-direction:column;gap:6px;display:flex}.spec-item{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 14px;transition:all .1s;display:flex}.spec-item:hover{border-color:var(--border-light)}.spec-item .spec-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.spec-status-dot.done{background:var(--accent-green)}.spec-status-dot.in_progress{background:var(--accent-amber)}.spec-status-dot.review,.spec-status-dot.spec_ready{background:var(--accent)}.spec-status-dot.backlog{background:var(--text-muted)}.spec-item .spec-item-title{color:var(--text-primary);flex:1;font-size:12px;font-weight:500}.spec-item .spec-item-priority{text-transform:uppercase;letter-spacing:.3px;font-size:9px;font-weight:700;font-family:var(--font-mono)}.spec-item .spec-item-source{color:var(--text-muted);background:var(--bg-tertiary);font-size:9px;font-family:var(--font-mono);border-radius:3px;padding:1px 6px}.user-profile-link{color:inherit;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.user-profile-link:hover{color:var(--accent);text-decoration:none}.avatar-img{object-fit:cover;background:#fff;border-radius:50%;flex-shrink:0;width:28px;height:28px;box-shadow:0 2px 6px #0000001f}.profile-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);max-width:520px;box-shadow:var(--shadow-card);padding:24px}.profile-photo-section{align-items:center;gap:16px;margin-bottom:20px;display:flex}.profile-avatar{background:var(--bg-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;min-width:80px;height:80px;min-height:80px;display:flex;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-avatar .avatar-initials{color:var(--text-muted);font-size:28px;font-weight:700;font-family:var(--font-heading)}.photo-hint{color:var(--text-muted);margin-top:4px;font-size:10px}.profile-fields{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.profile-fields .form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600;font-family:var(--font-mono);margin-bottom:4px;display:block}.profile-fields .form-group input[type=text],.profile-fields .form-group input[type=email],.profile-fields .form-group input[type=number],.profile-fields .form-group input[type=date],.profile-fields .form-group select{width:100%;font-size:14px;font-family:var(--font-body);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);padding:8px 10px}[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{filter:invert()}.form-group-inline{align-items:center;gap:8px;display:flex}.form-group-inline label{cursor:pointer;align-items:center;gap:8px;display:flex!important}.form-group-inline input[type=checkbox]{cursor:pointer;width:18px;height:18px}.field-error{color:var(--accent-red);margin-top:4px;font-size:11px}.error-code{color:var(--accent);letter-spacing:-2px;margin-bottom:8px;font-size:64px;font-weight:800;line-height:1.1}.error-message{color:var(--text-muted);margin-bottom:24px;font-size:13px;line-height:1.5}.login-subtitle{color:var(--text-secondary);margin-bottom:16px;font-size:14px}@media (max-width:767px){.error-code{font-size:48px}}.profile-actions{align-items:center;gap:10px;display:flex}.text-center{text-align:center}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}.flex{display:flex}.items-center{align-items:center}.gap-8{gap:8px}.project-card-inactive{opacity:.5;filter:grayscale(50%);pointer-events:none}.form-row-2cols{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-actions{gap:8px;margin-top:20px;display:flex}.form-checkbox-group{border:1px solid var(--border-default);border-radius:var(--radius-md);max-height:200px;padding:8px 12px;overflow-y:auto}.form-checkbox-group label{cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.form-checkbox-group input[type=checkbox]{width:auto;margin:0}.gap-12{gap:12px}.success-banner{background:var(--accent-green-dim);border:1px solid var(--accent-green);color:var(--accent-green);border-radius:var(--radius-sm);text-align:center;margin-bottom:16px;padding:10px 14px;font-size:13px;font-weight:600}.kanban-board{gap:10px;min-height:calc(100vh - 340px);padding-bottom:12px;display:flex;overflow-x:auto}.kanban-column{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);flex-direction:column;flex:1;min-width:270px;display:flex}.kanban-column-header{border-bottom:1px solid var(--border-default);grid-template-columns:auto 1fr auto;align-items:center;gap:6px;min-height:40px;padding:10px 12px;display:grid}.kanban-column-title{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.3px;color:var(--text-primary);grid-area:1/1;font-size:12px;font-weight:700}.kanban-column-count{text-align:right;color:var(--text-muted);background:var(--bg-card);font-size:11px;font-weight:600;font-family:var(--font-mono);border-radius:8px;grid-area:1/3;padding:1px 7px}.kanban-cards{flex-direction:column;gap:6px;padding:8px;display:flex}.kanban-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;min-height:96px;padding:18px 10px 10px;transition:all .15s}.kanban-card:hover{border-color:var(--accent);box-shadow:var(--shadow-card-hover)}.kanban-card .card-priority{text-transform:uppercase;letter-spacing:.5px;font-size:8px;font-weight:700;font-family:var(--font-mono);border-radius:3px;padding:2px 6px}.card-badges-right{align-items:center;gap:4px;margin-bottom:4px;margin-left:auto;display:inline-flex}.priority-critical{background:var(--accent-red-dim);color:var(--accent-red)}.priority-high{background:var(--accent-amber-dim);color:var(--accent-amber)}.priority-medium{background:var(--accent-dim);color:var(--accent)}.priority-low{background:var(--bg-tertiary);color:var(--text-muted)}.kanban-card .spec-type-badge{text-transform:uppercase;letter-spacing:.5px;font-size:8px;font-weight:700;font-family:var(--font-mono);border-radius:3px;padding:2px 6px;display:inline-block}.type-feature{color:#38bdf8;background:#38bdf826}.type-bug{color:#ef4444;background:#ef444426}.type-chore{color:#a855f7;background:#a855f726}.type-research{color:#22c55e;background:#22c55e26}.type-docs{color:#94a3b8;background:#94a3b826}.type-improvement{color:#fbbf24;background:#fbbf2426}.type-epic{color:#f97316;background:#f9731633}.kanban-card .card-title-text{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:500;line-height:1.3;overflow:hidden}.card-header-row{align-items:baseline;gap:6px;height:18px;margin-bottom:4px;display:flex}.card-header-row .card-id{flex-shrink:0}.card-meta-row{align-items:center;gap:4px;height:18px;margin-bottom:4px;display:flex}.card-meta-row .card-badges-right{gap:4px;margin-left:auto;display:flex}.kanban-card .card-footer-row{color:var(--text-muted);align-items:center;gap:4px;height:32px;margin-top:4px;font-size:10px;display:flex}.kanban-card .card-points{background:var(--bg-tertiary);font-size:9px;font-weight:600;font-family:var(--font-mono);border-radius:3px;padding:1px 6px}.kanban-card .avatar-img{width:32px;height:32px;margin-bottom:8px;margin-right:8px}.card-slot{flex-shrink:0;justify-content:flex-start;align-items:center;font-size:9px;display:inline-flex}.card-slot-attach{min-width:28px;color:var(--text-muted);gap:2px}.card-slot-size{background:var(--bg-tertiary);min-width:40px;font-weight:600;font-family:var(--font-mono);border-radius:3px;padding:1px 6px}.card-slot-blocked{min-width:56px}.card-slot-lock{justify-content:center;min-width:16px}.card-slot-avatar{justify-content:center;min-width:24px;margin-left:auto}.kanban-attachments{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.kanban-attachment{background:var(--bg-tertiary);color:var(--text-muted);font-size:9px;font-family:var(--font-mono);border-radius:3px;align-items:center;gap:3px;padding:2px 6px;display:inline-flex}.badge-blocked{color:var(--accent-red);background:var(--accent-red-dim);font-size:9px;font-family:var(--font-mono);border-radius:3px;align-items:center;gap:3px;padding:2px 6px;font-weight:600;display:inline-flex}.card-id{font-family:var(--font-mono);color:var(--text-muted);opacity:.7;font-size:9px}.kanban-card-ghost{opacity:.4;background:var(--accent-dim)}.kanban-card-drag{opacity:.8;transform:rotate(2deg);box-shadow:0 4px 12px #0000004d}.kanban-card-locked{opacity:.7;pointer-events:auto;cursor:default}.kanban-card-locked .card-lock-icon{color:var(--accent-amber);margin-left:auto;font-size:20px}.btn-approve{background:var(--accent-green-dim,#34d39926);color:var(--accent-green,#34d399);border:1px solid var(--accent-green,#34d399);cursor:pointer;border-radius:8px;padding:6px 16px;font-size:12px;font-weight:600;transition:all .2s}.btn-approve:hover{background:var(--accent-green,#34d399);color:#fff}.wip-badge{font-size:11px;font-weight:600;font-family:var(--font-sans);white-space:nowrap;vertical-align:middle;border-radius:12px;grid-area:1/2;justify-self:center;align-items:center;gap:6px;padding:3px 10px;transition:all .2s;display:inline-flex}.wip-badge-label{text-transform:uppercase;letter-spacing:.04em;opacity:.85;font-size:10px;font-weight:700}.wip-badge-ratio{font-family:var(--font-mono);font-size:9px;font-weight:600}.wip-badge-green{color:#34d399;background:#34d39926}.wip-badge-amber{color:#f59e0b;background:#fbbf2426}.wip-badge-orange{color:#f97316;background:#f9731626}.wip-badge-red{color:#f87171;background:#f8717126}.wip-banner{background:var(--accent-red-dim);color:var(--accent-red);text-align:center;font-size:10px;font-weight:600;font-family:var(--font-mono);padding:4px 8px}.modal-logs{max-width:560px;max-height:70vh}.logs-header{margin-bottom:12px}.logs-list{background:var(--border-default);flex-direction:column;gap:1px;font-size:11px;display:flex}.log-entry{background:var(--bg-card);border-left:3px solid #0000;flex-direction:column;gap:3px;padding:8px 12px;font-size:11px;display:flex}.log-entry.log-moved{border-left-color:var(--accent)}.log-entry.log-field-position{border-left-color:var(--accent-amber)}.log-entry.log-field-blocker{border-left-color:var(--accent-red)}.log-entry.log-updated:not(.log-field-position):not(.log-field-blocker){border-left-color:var(--accent-green)}.log-meta{color:var(--text-muted);font-size:10px;font-family:var(--font-mono);justify-content:space-between;display:flex}.log-user{color:var(--text-secondary);font-weight:600}.log-action{color:var(--text-primary);line-height:1.4}.log-values{font-family:var(--font-mono);align-items:center;gap:6px;margin-top:2px;padding-left:8px;font-size:10px;display:flex}.log-arrow{color:var(--text-muted);font-size:12px}.log-old{color:var(--accent-red);opacity:.7;text-decoration:line-through}.log-new{color:var(--accent-green)}.logs-empty{text-align:center;color:var(--text-muted);padding:24px;font-size:12px}.logs-pagination{border-top:1px solid var(--border-default);justify-content:center;align-items:center;gap:12px;padding:10px;display:flex}.logs-pg-info{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.empty-state{text-align:center;color:var(--text-muted);padding:40px}.empty-state .empty-icon{margin-bottom:6px;font-size:32px}.section-title{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.3px;color:var(--text-primary);margin-top:20px;margin-bottom:10px;font-size:14px;font-weight:700}.section-title:first-child{margin-top:0}.back-link{color:var(--text-muted);cursor:pointer;font-size:11px;font-family:var(--font-mono);align-items:center;gap:5px;margin-bottom:14px;transition:color .1s;display:inline-flex}.back-link:hover{color:var(--accent)}.project-detail .back-link{text-align:right;margin-bottom:8px;display:block}.role-badge{text-transform:uppercase;letter-spacing:.5px;font-size:8px;font-weight:700;font-family:var(--font-mono);border-radius:3px;padding:1px 7px}.role-admin{background:var(--accent-amber-dim);color:var(--accent-amber)}.role-pe{background:var(--accent-dim);color:var(--accent)}.role-dev{background:var(--accent-green-dim);color:var(--accent-green)}.role-client{background:var(--accent-purple-dim);color:var(--accent-purple)}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);flex-direction:column;width:90%;max-width:620px;max-height:85vh;animation:.15s slideUp;display:flex;box-shadow:0 8px 32px #0006}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.modal-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:flex-start;padding:16px 20px;display:flex}.modal-header h3{font-family:var(--font-heading);color:var(--text-primary);padding-right:16px;font-size:16px;font-weight:600}.modal-close{border:1px solid var(--border-default);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:all .1s;display:flex}.modal-close:hover{border-color:var(--accent-red);color:var(--accent-red)}.modal-body{flex:1;padding:20px;overflow-y:auto}.modal-body .spec-id{font-family:var(--font-mono);color:var(--text-muted);margin-bottom:12px;font-size:10px}.modal-body .spec-description{color:var(--text-secondary);white-space:pre-wrap;margin-bottom:16px;font-size:13px;line-height:1.6}.modal-meta-item{color:var(--text-muted);font-size:11px}.modal-meta-item strong{color:var(--text-primary);font-weight:600}.modal-body .spec-meta-row{flex-wrap:wrap;gap:12px 16px;margin-bottom:14px;display:flex}.modal-body .spec-meta-row .modal-meta-item{flex:0 0 calc(33.333% - 11px);align-items:center;gap:4px;min-width:0;display:flex}.modal-body .meta-label{white-space:nowrap;flex-shrink:0}.ac-list{border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:14px;overflow:hidden}.ac-list-header{border-bottom:1px solid var(--border-default);background:var(--bg-tertiary);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.ac-list-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);font-size:11px;font-weight:600}.ac-counter{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-card);border-radius:8px;padding:1px 7px;font-size:10px}.ac-list-scroll{padding:4px 12px}.ac-list-item{color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:8px;padding:5px 6px;font-size:12px;transition:background .1s;display:flex}.ac-list-item:hover{background:var(--bg-card-hover)}.ac-list-item .ac-check{color:var(--text-muted);flex-shrink:0;margin-top:1px;font-size:12px}.ac-list-item .ac-text{flex:1;line-height:1.4}.ac-list-item.ac-done .ac-check{color:var(--accent-green)}.ac-list-item.ac-done .ac-text{color:var(--text-muted);text-decoration:line-through}.ac-delete-btn{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;margin-left:4px;padding:0 4px;font-size:14px;line-height:1;transition:opacity .15s}.ac-list-item:hover .ac-delete-btn{opacity:.6}.ac-delete-btn:hover{color:var(--accent-red);opacity:1!important}.ac-add-row{border-top:1px solid var(--border-default);gap:4px;margin-top:8px;padding-top:8px;display:flex}.ac-add-input{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:12px;font-family:var(--font-mono);flex:1;padding:4px 8px}.ac-add-input:focus{border-color:var(--accent);outline:none}.ac-add-input::placeholder{color:var(--text-muted);font-size:11px}.ac-add-btn{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);width:28px;height:28px;color:var(--text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:all .15s;display:flex}.ac-add-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.ac-edit-input{border:1px solid var(--accent);background:var(--bg-primary);color:var(--text-primary);font-size:12px;font-family:var(--font-mono);border-radius:3px;outline:none;flex:1;padding:2px 6px}.inline-edit-title{border-radius:4px;outline:none;margin:-2px -6px;padding:2px 6px;transition:background .15s}.inline-edit-title:hover{background:var(--bg-tertiary)}.inline-edit-title:focus{background:var(--bg-primary);box-shadow:0 0 0 1px var(--accent)}.spec-description-wrap{position:relative}.spec-description{cursor:pointer;border-radius:4px;min-height:24px;margin:-4px -6px;padding:4px 6px;transition:background .15s}.spec-description:hover{background:var(--bg-tertiary)}.spec-description-editor textarea{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-primary);width:100%;min-height:120px;color:var(--text-primary);font-size:13px;font-family:var(--font-mono);resize:vertical;outline:none;padding:8px}.ac-textarea{font-family:var(--font-mono)!important;font-size:12px!important;line-height:1.7!important}.form-hint{color:var(--text-muted);margin-top:4px;font-size:10px;font-style:italic;display:block}.modal-attachments{border-top:1px solid var(--border-default);margin-top:14px;padding-top:14px}.attach-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;margin-top:6px;display:grid}.attach-thumb{aspect-ratio:1;background:var(--bg-tertiary);border:1px solid var(--border-default);cursor:pointer;border-radius:6px;transition:transform .15s;position:relative;overflow:hidden}.attach-thumb:hover{transform:scale(1.05)}.attach-file-chip{background:var(--bg-tertiary);color:var(--text-muted);border:1px solid var(--border-default);border-radius:6px;align-items:center;gap:4px;padding:6px 8px;font-size:11px;display:flex}.attach-file-chip i{color:var(--text-secondary);font-size:14px}.modal-footer{border-top:1px solid var(--border-default);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.project-cover .project-cover-info{z-index:1;flex-direction:column;gap:6px;display:flex}.project-cover .project-cover-title{font-family:var(--font-heading);color:#fff;letter-spacing:-.5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border-radius:4px;align-self:flex-start;margin:0;padding:6px 14px;font-size:22px;font-weight:700}.project-cover .project-cover-subtitle{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;border-radius:3px;align-self:flex-start;margin:0;padding:3px 10px;font-size:12px}.project-cover .project-cover-badge{text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:10px;font-weight:700;font-family:var(--font-mono);background:#00000080;border-radius:3px;padding:3px 10px;position:absolute;top:14px;right:14px}.status-select{text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:10px;font-weight:700;font-family:var(--font-mono);cursor:pointer;background:#0009;border:1px solid #fff3;border-radius:3px;outline:none;padding:2px 6px}.cover-edit-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;font-size:10px;font-weight:600;font-family:var(--font-heading);letter-spacing:.3px;background:#0000008c;border:1px solid #ffffff26;border-radius:3px;padding:4px 10px;transition:all .15s;display:none;position:absolute;bottom:12px;right:14px}.project-cover:hover .cover-edit-btn{display:block}.cover-edit-btn:hover{background:var(--accent);border-color:var(--accent)}.cover-toggle-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;z-index:2;opacity:0;background:#00000073;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;transition:all .2s;display:flex;position:absolute;top:10px;left:14px}.project-cover:hover .cover-toggle-btn{opacity:1}.cover-toggle-btn:hover{background:var(--accent);border-color:var(--accent)}.project-cover.cover-collapsed{align-items:center;height:52px;margin-bottom:8px;padding:6px 14px}.project-cover.cover-collapsed:hover:before{transform:none}.project-cover.cover-collapsed{cursor:default}.project-cover.cover-collapsed .cover-toggle-btn{opacity:1;flex-shrink:0;order:-1;margin-right:10px;position:static}.project-cover.cover-collapsed .project-cover-info{flex-direction:row;flex:1;align-items:center;gap:12px;min-width:0}.project-cover.cover-collapsed .project-cover-title{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap;text-overflow:ellipsis;background:#00000073;border-radius:4px;padding:4px 10px;font-size:15px;line-height:15px;overflow:hidden}.project-cover.cover-collapsed .project-cover-subtitle{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap;text-overflow:ellipsis;background:#00000059;border-radius:3px;padding:4px 10px;font-size:12px;line-height:15px;overflow:hidden}.project-cover.cover-collapsed .cover-edit-btn,.project-cover.cover-collapsed .project-cover-badge,.project-cover.cover-collapsed .attention-load-widget{display:none}.attention-load-widget{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-sm);background:#000000a6;border:1px solid #ffffff1f;min-width:160px;padding:8px 12px;position:absolute;top:12px;left:12px}.attention-load-label{text-transform:uppercase;letter-spacing:.6px;color:#ffffff8c;margin-bottom:2px;font-size:9px;font-weight:700}.attention-load-value{font-family:var(--font-mono);color:#fff;font-size:20px;font-weight:700;line-height:1.1}.attention-load-bar{background:#ffffff26;border-radius:2px;height:4px;margin-top:5px;overflow:hidden}.attention-load-fill{border-radius:2px;height:100%;transition:width .4s}.attention-load-focused{background:#10b981}.attention-load-busy{background:#f59e0b}.attention-load-high_load{background:#f97316}.attention-load-overloaded{background:#ef4444}.attention-load-state{text-transform:uppercase;letter-spacing:.4px;margin-top:3px;font-size:9px;font-weight:600}.attention-load-state-focused{color:#10b981}.attention-load-state-busy{color:#f59e0b}.attention-load-state-high_load{color:#f97316}.attention-load-state-overloaded{color:#ef4444}.modal-card.modal-cover{width:720px;max-width:92vw;max-height:82vh}.cover-preview{border-radius:var(--radius-sm);background:var(--bg-tertiary);height:120px;margin:0 20px 10px;overflow:hidden}.cover-preview-img{background-position:50%;background-size:cover;width:100%;height:100%;transition:background-image .2s}.cover-categories{flex-wrap:wrap;gap:6px;padding:0 20px 12px;display:flex}.cover-cat{background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;font-size:10px;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.3px;border:1px solid #0000;border-radius:12px;padding:3px 10px;transition:all .1s}.cover-cat:hover{color:var(--text-primary);background:var(--bg-card-hover)}.cover-cat.active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.cover-grid{grid-template-columns:repeat(5,1fr);gap:8px;max-height:320px;padding:0 20px 16px;display:grid;overflow-y:auto}.cover-option{aspect-ratio:2;border-radius:var(--radius-sm);cursor:pointer;background-position:50%;background-size:cover;border:2px solid #0000;transition:all .12s}.cover-option:hover{border-color:var(--text-muted);opacity:.85}.cover-option.selected{border-color:var(--accent)}.raw-spec-section{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary);margin-bottom:14px;padding:16px}.spec-editor{max-width:720px}.spec-editor .form-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.file-upload-area{border:2px dashed var(--border-default);border-radius:var(--radius-sm);text-align:center;cursor:pointer;margin-bottom:14px;padding:16px;transition:all .15s}.file-upload-area:hover{border-color:var(--accent);background:var(--accent-dim)}.file-upload-area .upload-icon{margin-bottom:4px;font-size:20px}.file-upload-area .upload-text{color:var(--text-muted);font-size:12px}.file-upload-area .upload-hint{color:var(--text-muted);font-size:10px;font-family:var(--font-mono);margin-top:2px}.file-list{flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.file-chip{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:11px;font-family:var(--font-mono);align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.file-chip .remove-file{cursor:pointer;color:var(--text-muted);font-size:13px;line-height:1}.file-chip .remove-file:hover{color:var(--accent-red)}.voice-recorder{align-items:center;gap:8px;margin-bottom:14px;display:flex}.voice-btn{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-heading);cursor:pointer;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.voice-btn:hover{border-color:var(--accent-red);color:var(--accent-red)}.voice-btn.recording{border-color:var(--accent-red);color:var(--accent-red);background:var(--accent-red-dim);animation:1.5s infinite pulse}@keyframes pulse{50%{opacity:.5}}.voice-status{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.ai-preview{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-top:14px;padding:16px}.ai-preview-header{font-family:var(--font-heading);color:var(--accent-purple);text-transform:uppercase;letter-spacing:.3px;margin-bottom:10px;font-size:13px;font-weight:600}.ai-preview-content{color:var(--text-secondary);white-space:pre-wrap;font-size:13px;line-height:1.6}.success-message{background:var(--accent-green-dim);border-radius:var(--radius-md);color:var(--accent-green);border:1px solid #10b98140;margin-top:14px;padding:12px 16px;font-size:12px;font-weight:500}.spec-toolbar{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;display:flex}.spec-toolbar-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spec-toolbar-right{align-items:center;gap:8px;display:flex}.spec-attach-btn{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;transition:all .15s;display:flex}.spec-attach-btn:hover{border-color:var(--accent);color:var(--accent)}.spec-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.spec-textarea-lg{width:100%;min-height:360px;font-family:var(--font-mono);background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);resize:vertical;padding:16px;font-size:14px;line-height:1.7}.spec-textarea-lg:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim);outline:none}.char-counter{text-align:right;font-size:11px;font-family:var(--font-mono);color:var(--text-muted);margin-top:4px;transition:color .2s}.spec-action-row{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);align-items:center;gap:12px;margin-top:16px;margin-bottom:16px;padding:12px 14px;display:flex}.spec-convert-btn{padding:8px 18px;font-size:13px;font-weight:600}.spec-convert-status{font-size:12px;font-weight:500}.spec-preview{background:var(--bg-tertiary);border:1px solid var(--accent-dim);border-radius:var(--radius-sm);margin-bottom:16px;padding:18px;animation:.3s specPreviewIn}@keyframes specPreviewIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.spec-desc-preview{width:100%;min-height:320px;font-family:var(--font-mono);background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);resize:vertical;padding:14px;font-size:13px;line-height:1.6}.story-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);margin-bottom:10px;padding:14px}.story-card-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.story-card-number{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:11px;font-weight:700;font-family:var(--font-mono)}.story-card-title{width:100%;margin-bottom:8px;padding:6px 10px;font-size:14px;font-weight:600;display:block}.story-card-desc{border:1px solid var(--border-default);width:100%;min-height:100px;font-family:var(--font-mono);resize:vertical;margin-bottom:6px;padding:8px 10px;font-size:12px}.story-card-ac-list{flex-direction:column;gap:3px;margin-top:4px;display:flex}.story-card-ac{font-size:11px;font-family:var(--font-mono);color:var(--text-secondary);padding:2px 0}.story-card select{padding:3px 8px;font-size:11px}.card-epic-label{color:var(--text-muted);background:var(--accent-dim);text-overflow:ellipsis;white-space:nowrap;background:var(--bg-tertiary);text-transform:uppercase;letter-spacing:.03em;border-radius:3px;max-width:150px;margin-right:4px;padding:1px 5px;font-size:9px;font-weight:600;overflow:hidden}.inline-select{width:auto;min-width:80px;font-size:11px;font-family:var(--font-sans);background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-default);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%236B7280' d='M2 3l3 3 3-3'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;border-radius:4px;padding:2px 24px 2px 6px;transition:border-color .2s}.inline-select:hover{border-color:var(--accent)}.inline-select:focus{border-color:var(--accent);outline:none}.inline-saved{box-shadow:0 0 0 1px var(--accent-green-dim,#34d3994d);border-color:var(--accent-green,#34d399)!important}.card-epic-label-detail{color:var(--accent-purple,#a78bfa);background:var(--accent-purple-dim,#a78bfa1f);text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:2px 9px;font-size:10px;font-weight:600;display:inline-block}.spec-bottom-bar{border-top:1px solid var(--border-default);justify-content:space-between;align-items:flex-end;gap:16px;margin-top:8px;padding-top:16px;display:flex}.spec-submit-btn{padding:10px 28px;font-size:14px;font-weight:700}.raw-spec-section .raw-label{text-transform:uppercase;letter-spacing:.5px;color:var(--accent-amber);font-size:10px;font-weight:700;font-family:var(--font-mono);margin-bottom:8px}.raw-spec-section textarea{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);width:100%;min-height:140px;color:var(--text-primary);font-family:var(--font-body);resize:vertical;padding:12px;font-size:13px;line-height:1.7}.raw-spec-section textarea:focus{border-color:var(--accent-amber);box-shadow:0 0 0 3px var(--accent-amber-dim);outline:none}.convert-row{align-items:center;gap:8px;margin-bottom:14px;display:flex}.tab-nav{border-bottom:2px solid var(--border-default);gap:4px;margin:20px 0 16px;padding-bottom:0;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--text-primary)}.tab-btn.tab-active{color:var(--accent);border-bottom-color:var(--accent)}.project-selector{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.project-selector .filter-group{flex-direction:column;gap:4px;display:flex}.project-selector-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:600}.project-selector select{background:var(--bg-input,var(--bg-card));color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;width:220px;min-width:220px;max-width:220px;padding:6px 32px 6px 12px;font-family:inherit;font-size:13px}.project-selector select:focus{border-color:var(--accent);outline:none}.niko-widget{z-index:1000;font-family:Inter,sans-serif;position:fixed;bottom:32px;right:24px}.niko-toggle{background:var(--bg-card);border:1px solid var(--border-default);width:56px;height:56px;color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:24px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 12px #00000026}.niko-toggle:hover{transform:scale(1.08);box-shadow:0 4px 20px #00000040}.niko-panel{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);opacity:0;visibility:hidden;width:280px;transition:opacity .28s,transform .28s,visibility .28s;position:absolute;bottom:64px;right:0;overflow:hidden;transform:translateY(12px);box-shadow:0 4px 24px #0003}.niko-expanded .niko-panel{opacity:1;visibility:visible;transform:translateY(0)}.niko-toggle{transition:opacity .2s,transform .2s}.niko-expanded .niko-toggle{opacity:.6;transform:scale(.92)}.niko-expanded .niko-toggle:hover{opacity:1;transform:scale(1.05)}.niko-header{border-bottom:1px solid var(--border-default);color:var(--text-primary);justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.niko-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:18px;line-height:1}.niko-close:hover{color:var(--accent-red)}.niko-missed-banner{background:var(--bg-warning,#fef3c7);color:var(--text-warning,#92400e);border-bottom:1px solid var(--border-default);align-items:center;gap:8px;padding:8px 16px;font-size:11px;font-weight:500;display:flex}[data-theme=dark] .niko-missed-banner{color:#fbbf24;background:#fbbf241a}.niko-missed-banner i{flex-shrink:0;font-size:12px}.niko-picker{justify-content:center;gap:8px;padding:16px 16px 8px;display:flex}.niko-mood-btn{background:var(--bg-tertiary);cursor:pointer;width:40px;height:40px;color:var(--text-secondary);border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;font-size:20px;transition:all .12s;display:flex}.niko-mood-btn:hover{background:var(--bg-card);border-color:var(--accent);transform:scale(1.12)}.niko-mood-btn.niko-selected{border-color:var(--accent);background:var(--accent-dim)}.niko-mood-btn.niko-mood-dim{opacity:.25;transition:all .25s;transform:scale(.8)}.niko-mood-btn.niko-mood-pop{border-color:var(--accent);background:var(--accent-dim);animation:.5s cubic-bezier(.34,1.56,.64,1) nikoPop}@keyframes nikoPop{0%{transform:scale(1)}35%{transform:scale(2.2)}65%{transform:scale(.85)}to{transform:scale(1)}}.niko-note{box-sizing:border-box;border:none;border-top:1px solid var(--border-default);width:100%;color:var(--text-primary);resize:none;background:0 0;outline:none;margin:8px 0 0;padding:8px 16px;font-family:inherit;font-size:12px}.niko-note::placeholder{color:var(--text-muted)}.niko-save-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;width:calc(100% - 32px);margin:8px 16px 0;padding:8px;font-size:13px;font-weight:600;transition:opacity .15s;display:block}.niko-save-btn:hover{opacity:.85}.niko-feedback{padding:6px 16px 0;font-size:12px}.niko-done{color:var(--accent-green)}.niko-recent{padding:0 16px 12px}.niko-recent-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px;font-size:10px;font-weight:600}.niko-avatars{gap:4px;display:flex}.niko-avatar{background:var(--accent-dim);width:28px;height:28px;color:var(--accent);cursor:default;border-radius:50%;justify-content:center;align-items:center;font-size:9px;font-weight:600;display:flex;overflow:hidden}.niko-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.niko-bubble{background:var(--accent-dim);border:1px solid var(--accent);color:var(--accent);text-align:center;border-radius:10px;margin:12px 16px 0;padding:10px 14px;font-size:13px;font-weight:500;animation:.35s ease-out nikoBubbleIn;position:relative}.niko-bubble:after{content:"";border-left:8px solid #0000;border-right:8px solid #0000;border-top:8px solid var(--accent);width:0;height:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}@keyframes nikoBubbleIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.attention-filters{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.attention-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.attention-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:14px;transition:border-color .2s,box-shadow .2s}.attention-card:hover{border-color:var(--accent-dim);box-shadow:var(--shadow-elevated)}.attention-card-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.attention-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.attention-card-name{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.2}.attention-card-value{font-family:var(--font-mono);color:var(--text-primary);font-size:24px;font-weight:700;line-height:1.1}.attention-card-bar{background:var(--bg-tertiary);border-radius:3px;height:5px;margin-top:6px;overflow:hidden}.attention-card-fill{border-radius:3px;height:100%;transition:width .4s}.attention-card-fill.attention-card-focused{background:#10b981}.attention-card-fill.attention-card-busy{background:#f59e0b}.attention-card-fill.attention-card-high_load{background:#f97316}.attention-card-fill.attention-card-overloaded{background:#ef4444}.attention-card-state{text-transform:uppercase;letter-spacing:.3px;margin-top:4px;font-size:10px;font-weight:600}.attention-card-state-focused{color:#10b981}.attention-card-state-busy{color:#f59e0b}.attention-card-state-high_load{color:#f97316}.attention-card-state-overloaded{color:#ef4444}.theme-toggle-btn [data-lucide],.niko-mood-btn [data-lucide]{width:22px;height:22px}.niko-toggle [data-lucide]{width:28px;height:28px}.niko-skeleton{animation:1.5s ease-in-out infinite nikoSkeletonPulse}@keyframes nikoSkeletonPulse{0%,to{opacity:.4}50%{opacity:.15}}.niko-skeleton-line{background:var(--text-muted);border-radius:6px;height:12px}.niko-skeleton-line:first-child{width:40%;margin:12px 16px 8px}.niko-skeleton-line:nth-child(2){width:75%;margin:8px 16px}.niko-skeleton-line:nth-child(3){width:55%;margin:8px 16px}.niko-skeleton-line:nth-child(4){width:85%;margin:8px 16px 16px}.niko-skeleton-circle{background:var(--text-muted);border-radius:50%;width:40px;height:40px;animation:1.5s ease-in-out infinite nikoSkeletonPulse}.tag-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:24px;display:grid}.tag-card{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);overflow:hidden}.tag-card-inactive{opacity:.5}.tag-color-band{width:100%;height:8px}.tag-card-body{padding:8px}.tag-card-row1{align-items:center;gap:4px;margin-bottom:4px;display:flex;overflow:hidden}.tag-card-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.tag-badge-system{background:var(--accent-dim);color:var(--accent);font-size:8px;font-family:var(--font-mono);border-radius:3px;flex-shrink:0;padding:1px 4px;font-weight:600}.tag-badge-inactive{background:var(--bg-tertiary);color:var(--text-muted);font-size:8px;font-family:var(--font-mono);border-radius:3px;flex-shrink:0;padding:1px 4px}.tag-card-row2{align-items:center;gap:8px;font-size:11px;display:flex}.tag-card-color{border-radius:3px;flex-shrink:0;width:16px;height:16px}.tag-card-count{color:var(--text-muted);flex:1;min-width:0}.tag-card-actions{flex-shrink:0;gap:4px;display:flex}.tag-card-actions .btn{padding:2px 6px;font-size:10px;line-height:1.4}.tag-create-card{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);margin-bottom:24px;padding:20px}.tag-create-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.tag-create-header h2{margin:0;font-size:15px;font-weight:700}.tag-create-form{flex-direction:column;gap:14px;display:flex}.tc-name-row{flex-direction:column;gap:4px;display:flex}.tc-name-row label{color:var(--text-muted);font-size:12px;font-weight:600}.tc-name-row .form-input{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);max-width:320px;padding:8px 10px;font-size:13px}.tc-name-row .form-input:focus{border-color:var(--accent);outline:none}.tag-create-form>label{color:var(--text-muted);font-size:12px;font-weight:600}.tag-tabs{border-bottom:2px solid var(--border-default);gap:2px;margin-bottom:12px;display:flex}.tag-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s}.tag-tab:hover{color:var(--text-primary)}.tag-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tag-tab-panel{display:none}.tag-tab-panel.active{display:block}.tag-list-section{margin-top:8px}.tag-list-section h2{margin-bottom:12px;font-size:15px;font-weight:700}.tag-palette{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.tag-palette-color{cursor:pointer;align-items:center;gap:8px;padding:4px 0;display:inline-flex;position:relative}.tag-color-swatch{aspect-ratio:1;box-sizing:border-box;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:28px;height:28px;transition:border-color .15s;position:relative}.tag-color-label{color:var(--text-primary);white-space:nowrap;font-size:12px}.tag-palette-color:hover .tag-color-swatch{border-color:var(--text-muted)}.tag-palette-color:has(input:checked) .tag-color-swatch{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-card)}.tag-palette-custom{margin-top:8px}#toggle-custom-color{padding:3px 10px;font-size:11px}#custom-color-panel{border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:12px;padding:12px;display:flex}.color-picker-area{flex-direction:column;gap:6px;display:flex}#hue-bar{cursor:crosshair;border:1px solid var(--border-default);border-radius:4px;width:200px;height:16px}#color-field{cursor:crosshair;border:1px solid var(--border-default);border-radius:4px;width:200px;height:150px}.color-sliders{flex-direction:column;gap:6px;min-width:180px;display:flex}.color-sliders label{font-size:11px;font-family:var(--font-mono);align-items:center;gap:6px;display:flex}.color-sliders input[type=range]{flex:1;height:4px}.color-sliders span{text-align:right;width:28px}.color-preview{flex-direction:column;align-items:center;gap:6px;display:flex}#preview-hex{font-size:12px;font-family:var(--font-mono);color:var(--text-muted)}#color-in-use-warning{color:var(--danger,#ef4444);font-size:10px}#use-custom-color{padding:4px 12px;font-size:11px}.nav-item-sm{justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex;padding:4px 10px!important}.nav-item-sm .nav-icon{font-size:12px}.kanban-card{position:relative;overflow:hidden}.card-tag-band{height:8px;position:absolute;top:0;left:0;right:0}.tag-color-dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:4px;display:inline-block}.tag-palette-custom-color .tag-color-swatch{border:2px solid var(--border-light)}.tag-palette-custom-color:hover .tag-color-swatch{border-color:var(--accent)}.tag-color-swatch{position:relative}.tag-color-check{color:#fff;text-shadow:0 0 2px #00000080;pointer-events:none;font-size:14px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tag-card-toast{position:relative}.toast-error{background:var(--danger-bg,#fef2f2);color:var(--danger,#dc2626);border-radius:var(--radius-sm) var(--radius-sm) 0 0;border:1px solid var(--danger-border,#fecaca);z-index:10;border-bottom:none;padding:8px 12px;font-size:12px;line-height:1.4;animation:.3s ease-out toast-slide-in;position:absolute;top:-44px;left:0;right:0}.toast-fade-out{opacity:0;transition:opacity .5s ease-out}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.tag-palette-custom-color:hover{border-color:var(--accent)}.btn-create-tag{margin-top:12px;padding:6px 16px;font-size:12px}.btn-create-tag:disabled{opacity:.5;cursor:not-allowed}.tag-selector{flex:1;min-width:0;position:relative}.tag-selector-display{border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;width:100%;min-width:100px;padding:2px 8px;font-size:12px;display:flex;position:relative}.tag-selector-display:hover{border-color:var(--accent)}.tag-chevron{color:var(--text-muted);margin-left:4px;font-size:10px;position:absolute;right:8px}.tag-badge{color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap;border-radius:12px;min-width:auto;max-width:100%;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block;overflow:hidden}.tag-badge-patron{color:#fff;text-shadow:0 1px 2px #00000080;position:relative}.tag-badge-patron:before{content:"";border-radius:inherit;z-index:-1;pointer-events:none;background:#0000004d;position:absolute;inset:0}.tag-badge-none{background:var(--bg-tertiary);color:var(--text-muted)}.tag-placeholder{color:var(--text-muted);font-size:12px}.tag-dropdown{z-index:100;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);max-height:200px;box-shadow:var(--shadow-card-hover);flex-direction:column;margin-top:2px;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.tag-option{cursor:pointer;justify-content:center;align-items:center;padding:6px 8px;display:flex}.tag-option:hover{background:var(--bg-tertiary)}.tag-option-selected{background:var(--accent-dim)}.tag-color-used{opacity:.4;cursor:not-allowed}.tag-color-used input{pointer-events:none}.tag-color-check{color:#fff;text-shadow:0 0 2px #00000080;font-size:14px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (max-width:767px){.tag-grid{grid-template-columns:repeat(2,1fr)}.mobile-kanban-card{position:relative;overflow:hidden}.mobile-kanban-card .card-tag-band{height:8px;position:absolute;top:0;left:0;right:0}}.detail-tag-band{border-radius:var(--radius-sm) var(--radius-sm) 0 0;height:8px;margin:-16px -16px 12px}.tag-patterns-section{margin-top:16px}.tag-patterns-section h3{margin-bottom:8px;font-size:14px}.tag-pattern-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;display:grid}.tag-pattern-swatch{cursor:pointer;border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:4px;padding:4px;display:flex;position:relative}.tag-pattern-swatch.tag-color-used{opacity:.4;cursor:not-allowed}.tag-pattern-swatch.tag-color-used .tag-color-check{opacity:1!important}.tag-pattern-swatch.tag-color-used .pattern-name{opacity:1}.pattern-preview{border:1px solid var(--border-default);border-radius:3px;width:60px;height:8px}.pattern-name{color:var(--text-muted);text-align:center;font-size:9px;line-height:1.2}.patron-caramelo{background:repeating-linear-gradient(45deg,#ff4d4d,#ff4d4d 6px,#fff 6px 12px)}.patron-hazard{background:repeating-linear-gradient(-45deg,#ffb300,#ffb300 6px,#212121 6px 12px)}.patron-lunares{background-color:#e3f2fd;background-image:radial-gradient(#1e88e5 25%,#0000 25%);background-size:6px 6px}.patron-gingham{background-color:#fff;background-image:linear-gradient(90deg,#4caf5033 50%,#0000 50%),linear-gradient(#4caf5033 50%,#0000 50%);background-size:8px 8px}.patron-rejilla-tech{background-color:#1e293b;background-image:linear-gradient(#38bdf8cc 2px,#0000 2px),linear-gradient(90deg,#38bdf8cc 2px,#0000 2px);background-size:8px 8px}.patron-lineas-finas{background-color:#ab47bc;background-image:repeating-linear-gradient(45deg,#ffffff40,#ffffff40 2px,#0000 2px 8px)}.patron-codigo-barras{background:repeating-linear-gradient(90deg,#06b6d4,#06b6d4 3px,#fff 3px 6px)}.patron-ladrillos{background-color:#f43f5e;background-image:linear-gradient(90deg,#0000 50%,#ffffff4d 50%),linear-gradient(#0000 50%,#ffffff4d 50%);background-size:12px 6px}.patron-ondas-sutiles{background-color:#059669;background-image:radial-gradient(circle at 50% 100%,#0000 50%,#ffffff40 55%);background-size:8px 6px}.patron-checkerboard{background-color:#e2e8f0;background-image:linear-gradient(45deg,#64748b 25%,#0000 25% 75%,#64748b 75%),linear-gradient(45deg,#64748b 25%,#0000 25% 75%,#64748b 75%);background-position:0 0,4px 4px;background-size:8px 8px}.patron-lineas-horizontales{background:repeating-linear-gradient(0deg,#0f172a,#0f172a 2px,#fff 2px 4px)}.patron-diagonales-oro{background-color:#eab308;background-image:repeating-linear-gradient(115deg,#00000026,#00000026 3px,#0000 3px 8px)}.patron-mesh{background-color:#7c3aed;background-image:linear-gradient(45deg,#fff3 25%,#0000 25% 75%,#fff3 75%),linear-gradient(-45deg,#fff3 25%,#0000 25% 75%,#fff3 75%);background-size:8px 8px}.patron-diamantes{background-color:#ea580c;background-image:linear-gradient(135deg,#ffffff4d 25%,#0000 25%),linear-gradient(225deg,#ffffff4d 25%,#0000 25%),linear-gradient(45deg,#ffffff4d 25%,#0000 25%),linear-gradient(315deg,#ffffff4d 25%,#0000 25%);background-position:4px 0,4px 0,0 0,0 0;background-size:8px 8px}.patron-espiga{background-color:#475569;background-image:linear-gradient(45deg,#ffffff26 25%,#0000 25%),linear-gradient(-45deg,#ffffff26 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff26 75%),linear-gradient(-45deg,#0000 75%,#ffffff26 75%);background-size:12px 12px}.patron-zigzag{background-color:#b91c1c;background-image:linear-gradient(135deg,#fff3 25%,#0000 25%),linear-gradient(225deg,#fff3 25%,#0000 25%);background-size:6px 6px}.patron-diagonales-cian{background:repeating-linear-gradient(-45deg,#0891b2,#0891b2 4px,#ecfeff 4px 8px)}.patron-glitch{background:linear-gradient(90deg,#10b981 10%,#3b82f6 10% 30%,#f43f5e 30% 40%,#000 40% 70%,#6366f1 70% 85%,#ffeb3b 85%) 0 0/50px 100%}.patron-puntos-estelares{background-color:#030712;background-image:radial-gradient(#fff 15%,#0000 15%),radial-gradient(#fff 15%,#0000 15%);background-position:0 0,4px 4px;background-size:8px 8px}.patron-bloques-asimetricos{background-color:#4f46e5;background-image:linear-gradient(90deg,#fff3 25%,#0000 25% 50%,#00000026 50% 75%,#0000 75%);background-size:16px 100%}@keyframes pattern-diagonal{0%{background-position:0 0}to{background-position:48px 48px}}@keyframes pattern-horizontal{0%{background-position:0 0}to{background-position:48px 0}}.animate-diagonal{animation:2s linear infinite pattern-diagonal}.animate-horizontal{animation:2s linear infinite pattern-horizontal}.wip-robot{--scale-val:.6;--wip-color:gray;transform-origin:bottom;width:120px;transform:translateX(calc(var(--wip-x,10vw) - 60px)) translateY(calc(var(--wip-y,5vh) * -1)) scale(calc(var(--wip-flip,1) * var(--scale-val)), var(--scale-val));will-change:transform;z-index:20;flex-direction:column;align-items:center;display:flex;position:fixed;bottom:0;left:0}.wip-bubble-wrapper{transform:translateX(calc(var(--wip-x,10vw) - 50%)) translateY(calc(var(--wip-y,100px) * -1 - 110px));opacity:0;pointer-events:none;z-index:21;transition:opacity .3s ease-in-out;display:inline-flex;position:fixed;bottom:0;left:0}.wip-bubble-wrapper.visible{opacity:1}.wip-speech-bubble{color:#000;font-size:12px;font-weight:500;font-family:var(--font-sans);white-space:normal;overflow-wrap:break-word;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background-color:#fff;border:2px solid #000;max-width:140px;padding:10px 18px;line-height:1.35;position:relative;box-shadow:3px 3px #000}.wip-speech-bubble:after{content:"";background-color:#fff;border-bottom:2px solid #000;border-right:2px solid #000;width:12px;height:12px;margin-left:-6px;position:absolute;bottom:-10px;left:50%;transform:rotate(45deg)}.wip-block{background-color:var(--wip-color);box-sizing:border-box}.wip-black{box-sizing:border-box;background-color:#000}.wip-antenna{width:10px;height:20px;position:relative}.wip-antenna:before{content:"";background-color:#000;width:10px;height:10px;position:absolute;top:-10px;left:0}.wip-head{width:100px;height:60px;position:relative}.wip-eye{transform-origin:bottom;width:20px;height:20px;animation:3.5s infinite wip-blink;position:absolute;top:20px}.wip-eye-left{left:20px}.wip-eye-right{right:20px}.wip-middle{align-items:flex-start;width:140px;margin-top:10px;display:flex}.wip-torso{z-index:0;width:80px;height:50px;position:relative}.wip-arm{filter:brightness(1.25);z-index:1;width:20px;height:40px;position:relative}.wip-legs{justify-content:space-between;width:80px;display:flex}.wip-leg{opacity:.7;width:30px;height:20px}@keyframes wip-blink{0%,48%,52%,to{transform:scaleY(1)}50%{transform:scaleY(.1)}}@keyframes wip-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.wip-top{flex-direction:column;align-items:center;animation:2.5s ease-in-out infinite wip-breathe;display:flex}@keyframes wip-leg-swing-1{0%,to{transform:translate(0)}50%{transform:translate(4px,-8px)}}@keyframes wip-leg-swing-2{0%,to{transform:translate(4px,-8px)}50%{transform:translate(0)}}@keyframes wip-arm-walk-1{0%,to{transform:translate(-2px,-8px)rotate(5deg)}50%{transform:translate(2px,8px)rotate(-5deg)}}@keyframes wip-arm-walk-2{0%,to{transform:translate(2px,8px)rotate(-5deg)}50%{transform:translate(-2px,-8px)rotate(5deg)}}@keyframes wip-arm-stretch-l{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(-25px,-20px)rotate(-15deg)}}@keyframes wip-arm-stretch-r{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(25px,-20px)rotate(15deg)}}.wip-robot.walking .wip-top{animation:none}.wip-robot.walking .wip-leg-left{animation:.3s linear infinite wip-leg-swing-1}.wip-robot.walking .wip-leg-right{animation:.3s linear infinite wip-leg-swing-2}.wip-robot.walking .wip-arm-left{animation:.3s linear infinite wip-arm-walk-1}.wip-robot.walking .wip-arm-right{animation:.3s linear infinite wip-arm-walk-2}.wip-robot.stretching .wip-top{animation:none}.wip-robot.stretching .wip-leg{transform:scaleY(1.1)}.wip-robot.stretching .wip-arm-left{animation:.2s linear infinite wip-arm-stretch-l}.wip-robot.stretching .wip-arm-right{animation:.2s linear infinite wip-arm-stretch-r}@keyframes wip-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wip-robot.spinning .wip-top{animation:.5s ease-in-out wip-spin}@keyframes wip-wave{0%,to{transform:rotate(0)translateY(0)}20%{transform:rotate(-70deg)translateY(-15px)}40%{transform:rotate(-40deg)translateY(-10px)}60%{transform:rotate(-70deg)translateY(-15px)}80%{transform:rotate(-40deg)translateY(-10px)}}.wip-robot.waving .wip-arm-right{animation:1.2s ease-in-out 2 wip-wave}@keyframes wip-dance-arms{0%,to{transform:rotate(0)}25%{transform:rotate(-90deg)translateY(-15px)}75%{transform:rotate(90deg)translateY(-10px)}}@keyframes wip-dance-tilt{0%,to{transform:rotate(0)}50%{transform:rotate(8deg)}}.wip-robot.dancing .wip-arm-left,.wip-robot.dancing .wip-arm-right{animation:.6s ease-in-out 3 wip-dance-arms}.wip-robot.dancing .wip-top{animation:.4s ease-in-out 4 wip-dance-tilt}.wip-robot.moonwalking .wip-leg-left{animation:.3s linear infinite wip-leg-swing-2}.wip-robot.moonwalking .wip-leg-right{animation:.3s linear infinite wip-leg-swing-1}.wip-robot.skedaddling .wip-leg-left{animation:.15s linear infinite wip-leg-swing-1}.wip-robot.skedaddling .wip-leg-right{animation:.15s linear infinite wip-leg-swing-2}@keyframes wip-think-tilt{0%,to{transform:rotate(0)}50%{transform:rotate(7deg)}}.wip-robot.thinking .wip-top{animation:.8s ease-in-out 4 wip-think-tilt}@keyframes wip-celebrate{0%{transform:rotate(0)}20%{transform:rotate(-20deg)translateY(-30px)}40%{transform:rotate(10deg)translateY(-10px)}60%{transform:rotate(-15deg)translateY(-40px)}80%{transform:rotate(5deg)translateY(-15px)}to{transform:rotate(0)translateY(0)}}.wip-robot.celebrating .wip-top{animation:1.5s ease-in-out wip-celebrate}.wip-pattern-caramelo .wip-block{background:repeating-linear-gradient(45deg,#ff4d4d,#ff4d4d 6px,#fff 6px 12px)}.wip-pattern-hazard .wip-block{background:repeating-linear-gradient(-45deg,#ffb300,#ffb300 6px,#212121 6px 12px)}.wip-pattern-lunares .wip-block{background-color:#e3f2fd;background-image:radial-gradient(#1e88e5 25%,#0000 25%);background-size:calc(6px / var(--scale-val)) calc(6px / var(--scale-val))}.wip-pattern-gingham .wip-block{background-color:#fff;background-image:linear-gradient(90deg,#4caf5033 50%,#0000 50%),linear-gradient(#4caf5033 50%,#0000 50%);background-size:calc(8px / var(--scale-val)) calc(8px / var(--scale-val))}.wip-pattern-rejilla-tech .wip-block{background-color:#1e293b;background-image:linear-gradient(#38bdf8cc 2px,#0000 2px),linear-gradient(90deg,#38bdf8cc 2px,#0000 2px);background-size:calc(8px / var(--scale-val)) calc(8px / var(--scale-val))}.wip-pattern-lineas-finas .wip-block{background-color:#ab47bc;background-image:repeating-linear-gradient(45deg,#ffffff40,#ffffff40 2px,#0000 2px 8px)}.wip-pattern-codigo-barras .wip-block{background:repeating-linear-gradient(90deg,#06b6d4,#06b6d4 3px,#fff 3px 6px)}.wip-pattern-ladrillos .wip-block{background-color:#f43f5e;background-image:linear-gradient(90deg,#0000 50%,#ffffff4d 50%),linear-gradient(#0000 50%,#ffffff4d 50%);background-size:calc(12px / var(--scale-val)) calc(6px / var(--scale-val))}.wip-pattern-ondas-sutiles .wip-block{background-color:#059669;background-image:radial-gradient(circle at 50% 100%,#0000 50%,#ffffff40 55%);background-size:calc(8px / var(--scale-val)) calc(6px / var(--scale-val))}.wip-pattern-checkerboard .wip-block{background-color:#e2e8f0;background-image:linear-gradient(45deg,#64748b 25%,#0000 25% 75%,#64748b 75%),linear-gradient(45deg,#64748b 25%,#0000 25% 75%,#64748b 75%);background-size:calc(8px / var(--scale-val)) calc(8px / var(--scale-val));background-position:0 0, calc(4px / var(--scale-val)) calc(4px / var(--scale-val))}.wip-pattern-lineas-horizontales .wip-block{background:repeating-linear-gradient(0deg,#0f172a,#0f172a 2px,#fff 2px 4px)}.wip-pattern-diagonales-oro .wip-block{background-color:#eab308;background-image:repeating-linear-gradient(115deg,#00000026,#00000026 3px,#0000 3px 8px)}.wip-pattern-mesh .wip-block{background-color:#7c3aed;background-image:linear-gradient(45deg,#fff3 25%,#0000 25% 75%,#fff3 75%),linear-gradient(-45deg,#fff3 25%,#0000 25% 75%,#fff3 75%);background-size:calc(8px / var(--scale-val)) calc(8px / var(--scale-val))}.wip-pattern-diamantes .wip-block{background-color:#ea580c;background-image:linear-gradient(135deg,#ffffff4d 25%,#0000 25%),linear-gradient(225deg,#ffffff4d 25%,#0000 25%),linear-gradient(45deg,#ffffff4d 25%,#0000 25%),linear-gradient(315deg,#ffffff4d 25%,#0000 25%);background-size:calc(8px / var(--scale-val)) calc(8px / var(--scale-val));background-position:calc(4px / var(--scale-val)) 0, calc(4px / var(--scale-val)) 0, 0 0, 0 0}.wip-pattern-espiga .wip-block{background-color:#475569;background-image:linear-gradient(45deg,#ffffff26 25%,#0000 25%),linear-gradient(-45deg,#ffffff26 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff26 75%),linear-gradient(-45deg,#0000 75%,#ffffff26 75%);background-size:calc(12px / var(--scale-val)) calc(12px / var(--scale-val))}.wip-pattern-zigzag .wip-block{background-color:#b91c1c;background-image:linear-gradient(135deg,#fff3 25%,#0000 25%),linear-gradient(225deg,#fff3 25%,#0000 25%);background-size:calc(6px / var(--scale-val)) calc(6px / var(--scale-val))}.wip-pattern-diagonales-cian .wip-block{background:repeating-linear-gradient(-45deg,#0891b2,#0891b2 4px,#ecfeff 4px 8px)}.wip-pattern-glitch .wip-block{background:linear-gradient(90deg,#10b981 10%,#3b82f6 10% 30%,#f43f5e 30% 40%,#000 40% 70%,#6366f1 70% 85%,#ffeb3b 85%);background-size:calc(50px / var(--scale-val)) 100%}.wip-pattern-puntos-estelares .wip-block{background-color:#030712;background-image:radial-gradient(#fff 15%,#0000 15%),radial-gradient(#fff 15%,#0000 15%);background-size:calc(8px / var(--scale-val)) calc(8px / var(--scale-val));background-position:0 0, calc(4px / var(--scale-val)) calc(4px / var(--scale-val))}.wip-pattern-bloques-asimetricos .wip-block{background-color:#4f46e5;background-image:linear-gradient(90deg,#fff3 25%,#0000 25% 50%,#00000026 50% 75%,#0000 75%);background-size:calc(16px / var(--scale-val)) 100%}.wip-confetti{z-index:22;pointer-events:none;border-radius:1px;animation:2s ease-out forwards wip-confetti-burst;position:fixed}@keyframes wip-confetti-burst{0%{opacity:1;transform:translate(0)scale(1)}60%{opacity:.8}to{transform:translate(var(--bx), var(--by)) scale(0);opacity:0}}.desktop-only{display:block}.mobile-only{display:none}@media (max-width:767px){.desktop-only{display:none!important}.mobile-only{display:block}#app{padding-bottom:env(safe-area-inset-bottom)}.sidebar{z-index:1100;background:var(--bg-card);border-right:1px solid var(--border-default);-webkit-overflow-scrolling:touch;width:270px;max-width:80vw;height:100dvh;padding:12px 0;transition:transform .25s cubic-bezier(.4,0,.2,1);display:none;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:4px 0 24px #0000004d}.sidebar.open{display:block;transform:translate(0)}.sidebar-backdrop{z-index:1099;opacity:0;background:#0006;transition:opacity .25s;display:none;position:fixed;inset:0}.sidebar-backdrop.open{opacity:1;display:block}.topbar{padding:8px 12px}.topbar-right{gap:4px}.user-name,.role-badge{display:none!important}.user-menu{gap:4px;padding:2px 4px 2px 2px}.logout-btn{min-width:100px;padding:4px 8px;font-size:10px}.app-layout{flex-direction:column;overflow:visible}.main-content{-webkit-overflow-scrolling:touch;flex:1;max-width:100%;min-height:0;padding:12px 12px 80px;overflow-y:auto}.metrics-grid{grid-template-columns:repeat(4,1fr);gap:6px;padding:0}.metric-card{padding:6px 8px}.metric-card .metric-value{font-size:16px}.metric-card .metric-label{letter-spacing:.3px;margin-bottom:2px;font-size:9px}.metric-sub{display:none}.project-cover{height:120px;padding:20px 16px}.project-cover .project-cover-title{font-size:16px}.project-cover .project-cover-subtitle{font-size:11px}.cover-edit-btn{display:none}.back-link{margin-bottom:8px;padding:0}.project-cover.cover-collapsed{height:44px;padding:4px 10px}.project-cover.cover-collapsed .project-cover-title{font-size:13px}.project-cover.cover-collapsed .project-cover-subtitle{font-size:10px}.project-detail .main-content{padding:4px 12px 80px}.project-detail .back-link{margin-bottom:6px}.project-cover .attention-load-widget{display:none}#mobile-kanban-container .attention-load-widget{background:var(--bg-card);border:1px solid var(--border-default);border-radius:12px;margin-bottom:12px;padding:12px 14px;position:static}.attention-load-label{font-size:11px}.attention-load-value{font-size:13px}.spec-convert-btn{justify-content:center;width:100%;padding:10px 20px;font-size:14px;display:flex}.stacked-sections{flex-direction:column;gap:12px;display:flex}.stacked-section{background:var(--bg-card);border:1px solid var(--border-default);border-radius:12px;transition:box-shadow .2s;overflow:hidden}.stacked-section-expanded{box-shadow:0 2px 8px #00000026}.stacked-section-header{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;min-height:44px;padding:14px;display:flex}.stacked-section-header:active{background:var(--bg-card-hover)}.stacked-section-status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.stacked-section-status-dot.status-backlog{background:var(--text-muted)}.stacked-section-status-dot.status-spec_ready{background:var(--accent)}.stacked-section-status-dot.status-in_progress{background:var(--accent-amber)}.stacked-section-status-dot.status-review{background:var(--accent-purple)}.stacked-section-status-dot.status-done{background:var(--accent-green)}.stacked-section-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:600;overflow:hidden}.stacked-section-count{color:var(--text-muted);background:var(--bg-tertiary);text-align:center;border-radius:10px;min-width:22px;padding:2px 8px;font-size:12px;font-weight:600}.stacked-section-chevron{color:var(--text-muted);text-align:center;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;transition:transform .2s;display:flex}.stacked-section-expanded .stacked-section-chevron i{transform:rotate(180deg)}.stacked-section-cards{max-height:0;transition:max-height .25s;overflow:hidden}.stacked-section-expanded .stacked-section-cards{-webkit-overflow-scrolling:touch;max-height:60vh;padding:0 12px 10px;overflow-y:auto}.stacked-section-loading,.stacked-section-empty{text-align:center;color:var(--text-muted);padding:24px 16px;font-size:13px}.mobile-kanban-card{background:var(--bg-secondary);border:1px solid var(--border-default);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:16px;flex-direction:column;gap:4px;min-height:88px;margin-bottom:6px;padding:16px;transition:transform .12s,box-shadow .12s;display:flex}.mobile-kanban-card:active{transform:scale(.985);box-shadow:0 1px 3px #0000001a}.mobile-kanban-card.kanban-card-locked{border-left:3px solid var(--accent-amber)}.mobile-kanban-card.swiping{touch-action:none;z-index:10;box-shadow:0 4px 12px #0000004d;transition:none!important}.mobile-card-top{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mobile-card-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:500;line-height:1.4;display:-webkit-box;overflow:hidden}.mobile-card-meta{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.mobile-avatar-initials{background:var(--accent);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:3px 6px;font-size:10px;font-weight:700;display:flex}.mobile-kanban-card .spec-type-badge,.mobile-kanban-card .card-slot-size{font-family:var(--font-sans)}.mobile-avatar{border:2px solid var(--bg-card);border-radius:50%;width:36px;height:36px}.bottom-sheet-overlay{z-index:1000;background:#0006;animation:.2s bs-fade-in;display:none;position:fixed;inset:0}@keyframes bs-fade-in{0%{opacity:0}to{opacity:1}}.bottom-sheet{background:var(--bg-card);z-index:1001;border-radius:20px 20px 0 0;flex-direction:column;height:75%;transition:height .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -4px 20px #00000040}.bottom-sheet.expanded{height:90%}.bottom-sheet-handle{cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;width:100%;padding:8px 0 4px;display:flex}.bottom-sheet-handle:before{content:"";background:var(--border-light);border-radius:2px;width:36px;height:4px}.bottom-sheet-handle:active{cursor:grabbing}.bottom-sheet-body{-webkit-overflow-scrolling:touch;flex:1;padding:0 16px 24px;overflow-y:auto}.bottom-sheet-body .spec-meta-row{grid-template-columns:1fr 1fr;gap:6px 8px;display:grid}.bottom-sheet-body .modal-meta-item{align-items:center;gap:4px;min-height:auto;font-size:12px;display:flex}.bottom-sheet-body .meta-label{flex-shrink:0;align-items:center;gap:2px;width:52px;display:flex}.bottom-sheet-body .meta-label i{text-align:center;flex-shrink:0;width:12px;font-size:11px}.bottom-sheet-body .meta-label strong{white-space:nowrap;font-size:10px}.bottom-sheet-body .modal-meta-item .inline-select,.bottom-sheet-body .modal-meta-item .meta-label+:not(.meta-label){flex:1;min-width:0}.bottom-sheet-body .inline-select{box-sizing:border-box;flex:1;width:auto;min-width:0;min-height:38px;padding:4px 6px;font-size:12px}.bottom-sheet-body .spec-description{max-height:35vh;margin-bottom:12px;font-size:14px;line-height:1.5;overflow-y:auto}.bottom-sheet-body h3{font-size:18px}.bottom-sheet-body .card-priority{padding:2px 6px;font-size:11px}.bottom-sheet-body .ac-list-title{font-size:13px}.bottom-sheet-body .ac-list-item{min-height:44px;padding:10px 6px;font-size:14px}.bottom-sheet-body .ac-check{min-width:24px;font-size:17px}.bottom-sheet-body .btn{min-height:38px;padding:6px 12px;font-size:12px}.bottom-sheet-body .ac-list-scroll{max-height:25vh!important}.bottom-sheet-body .ac-list{margin-top:16px}.bottom-nav{background:var(--bg-card);border-top:1px solid var(--border-default);z-index:900;height:56px;padding-bottom:env(safe-area-inset-bottom);justify-content:center;align-items:center;gap:48px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -1px 6px #00000014}.bottom-nav-tab{height:100%;color:var(--text-muted);font-size:12px;font-family:var(--font-body);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-width:44px;padding:0 16px;transition:color .15s;display:flex}.bottom-nav-tab i{margin-bottom:1px;font-size:18px}.bottom-nav-tab.active{color:var(--accent)}.bottom-nav-tab:active{opacity:.7}.fab{background:var(--accent);color:#fff;-webkit-tap-highlight-color:transparent;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;text-decoration:none;box-shadow:0 4px 16px #2563eb59;display:flex!important}.fab i{justify-content:center;align-items:center;width:1em;height:1em;font-size:24px;display:inline-flex}.fab:active{transform:scale(.9)}.fab-container{bottom:calc(68px + env(safe-area-inset-bottom));z-index:950;flex-direction:column;align-items:flex-start;display:flex;position:fixed;left:16px}.niko-widget{bottom:68px;right:16px}.fab-actions{flex-direction:column;gap:8px;margin-bottom:8px;display:none}.fab-actions.open{display:flex}.fab-action{background:var(--bg-secondary);border:1px solid var(--border-default);cursor:pointer;color:var(--text-primary);-webkit-tap-highlight-color:transparent;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;text-decoration:none;transition:transform .15s;display:flex;box-shadow:0 2px 8px #00000026}.fab-action:active{transform:scale(.95)}.fab-action-icon{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}#fab-full-spec .fab-action-icon{background:var(--accent);color:#fff}.fab-action .fab-action-icon{background:var(--accent-green);color:#fff}.fab-action-label{white-space:nowrap}.mobile-my-work .stacked-section{margin-bottom:6px}.modal-card{max-width:90vw}.login-container{max-width:340px}.login-brand{margin-bottom:16px}.login-brand .logo-icon{width:44px;height:44px;margin-bottom:8px;font-size:26px}.login-brand h1{font-size:18px}.login-brand .tagline{margin-top:2px;font-size:9px}.login-card{max-height:calc(100vh - 90px);padding:14px;overflow-y:auto}.login-card h2{margin-bottom:2px;font-size:14px}.login-card .subtitle{font-size:11px}.form-group select{padding:8px 10px;font-size:13px}#role-filter,#person-select{min-height:44px}.tab-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{white-space:nowrap;flex-shrink:0;padding:6px 12px;font-size:12px}.card-move-arrows{flex-direction:column;flex-shrink:0;gap:4px;margin-left:auto;display:flex}.card-move-btn{background:var(--bg-tertiary);border:1px solid var(--border-default);width:48px;height:48px;color:var(--text-muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;transition:transform .1s,background .1s,color .1s;display:flex}.card-move-btn:active{background:var(--accent);color:#fff;transform:scale(.85)}.card-move-btn.hidden-btn{visibility:hidden;pointer-events:none}#mobile-kanban-container{-webkit-user-select:none;user-select:none}}@media (min-width:768px){.mobile-only{display:none!important}}@media (max-width:768px){.sidebar{width:200px}.main-content{padding:16px}.project-detail .main-content{padding:6px 16px}.cards-grid{grid-template-columns:1fr}.kanban-column{flex:1;min-width:230px}.spec-editor .form-row,.reports-grid{grid-template-columns:1fr}.login-brand .logo-icon{width:48px;height:48px;font-size:36px}}[data-theme=light]{--color-bg-primary:#f8fafc;--color-bg-secondary:#f1f5f9;--color-bg-tertiary:#e2e8f0;--color-bg-card:#fff;--color-bg-card-hover:#f8fafc;--color-bg-surface:#fff;--color-bg-input:#fff;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-accent:#2563eb;--color-accent-dim:#2563eb14;--color-accent-hover:#1d4ed8;--color-accent-amber:#d97706;--color-accent-amber-dim:#d9770614;--color-accent-green:#059669;--color-accent-green-dim:#05966914;--color-accent-red:#dc2626;--color-accent-red-dim:#dc262614;--color-accent-purple:#7c3aed;--color-accent-purple-dim:#7c3aed14;--color-border-default:#e2e8f0;--color-border-light:#cbd5e1;--shadow-card:0 1px 3px #00000014;--shadow-card-hover:0 2px 8px #0000001f}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}