:root,[data-theme=dark]{--font-display:"Sora", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-sans:"Manrope", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-family:var(--font-sans);--color-bg:#08070c;--color-surface:#100f16;--color-surface-elevated:#161420;--color-surface-hover:#221f2f;--color-surface-subtle:#14121d;--color-text-main:#fff;--color-text-muted:#a59ec2;--color-text-light:#7e779c;--color-border:#ffffff1a;--color-border-hover:#a855f773;--color-border-input:#ffffff24;--color-primary:oklch(62% .26 295);--color-primary-glow:oklch(74% .22 296);--color-primary-deep:oklch(40% .24 290);--color-primary-hover:#a855f7;--color-primary-light:#a855f726;--color-primary-light-hover:#a855f73d;--color-primary-border:#a855f766;--color-accent-fuchsia:#d946ef;--color-accent-indigo:#6366f1;--color-danger:#ef4444;--color-danger-hover:#dc2626;--color-danger-light:#ef444429;--color-danger-text:#fca5a5;--color-danger-bg:#ef444429;--color-success:#10b981;--color-success-hover:#059669;--color-success-light:#10b98126;--color-success-text:#6ee7b7;--color-success-bg:#10b98126;--color-warning:#f59e0b;--color-warning-hover:#d97706;--color-warning-light:#f59e0b29;--color-warning-text:#fcd34d;--color-warning-bg:#f59e0b29;--color-info:#38bdf8;--color-info-hover:#0284c7;--color-info-light:#38bdf826;--color-info-text:#7dd3fc;--color-info-bg:#38bdf826;--color-focus-ring:#a855f773;--shadow-card:0 16px 36px -12px #0009, inset 0 1px #ffffff14;--shadow-modal:0 24px 64px #000000b8, inset 0 1px #ffffff1f;--shadow-glow:0 0 35px -5px #a855f780, inset 0 1px #ffffff59;--gradient-brand:linear-gradient(135deg, #a855f7 0%, #7c3aed 55%, #581c87 100%);--gradient-surface:linear-gradient(135deg, #ffffff0d, #ffffff04), #100f16;--header-bg:linear-gradient(135deg, #ffffff0d, #ffffff04), #100a16c7;--shimmer-bg:linear-gradient(90deg, #161420 25%, #221f2f 37%, #161420 63%);font-family:var(--font-family);color:var(--color-text-main);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}[data-theme=light]{--font-display:"Sora", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-sans:"Manrope", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-family:var(--font-sans);--color-bg:#faf8fd;--color-surface:#fff;--color-surface-elevated:#f4f0fa;--color-surface-hover:#eee8f8;--color-surface-subtle:#f3eff9;--color-text-main:#09080e;--color-text-muted:#585070;--color-text-light:#786f94;--color-border:#00000014;--color-border-hover:#9333ea59;--color-border-input:#6d28d933;--color-primary:oklch(58% .24 295);--color-primary-glow:oklch(68% .22 296);--color-primary-deep:oklch(42% .22 290);--color-primary-hover:#6d28d9;--color-primary-light:#f2ebff;--color-primary-light-hover:#e8dbfc;--color-primary-border:#d8b4fe;--color-accent-fuchsia:#c026d3;--color-accent-indigo:#4f46e5;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-danger-light:#fee2e2;--color-danger-text:#991b1b;--color-danger-bg:#fee2e2;--color-success:#059669;--color-success-hover:#047857;--color-success-light:#d1fae5;--color-success-text:#065f46;--color-success-bg:#d1fae5;--color-warning:#d97706;--color-warning-hover:#b45309;--color-warning-light:#fef3c7;--color-warning-text:#92400e;--color-warning-bg:#fef3c7;--color-info:#0284c7;--color-info-hover:#0369a1;--color-info-light:#e0f2fe;--color-info-text:#075985;--color-info-bg:#e0f2fe;--color-focus-ring:#7c3aed59;--shadow-card:0 16px 36px -12px #7c3aed14, 0 4px 12px #0000000a;--shadow-modal:0 20px 50px -15px #09080e29;--shadow-glow:0 0 30px -6px #9333ea59;--gradient-brand:linear-gradient(135deg, #7c3aed 0%, #9333ea 100%);--gradient-surface:#fff;--header-bg:#ffffffd9;--shimmer-bg:linear-gradient(90deg, #e4ddf2 25%, #f4f0fa 37%, #e4ddf2 63%)}*{box-sizing:border-box}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#a855f740;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#a855f780}::selection{color:#fff;background:#a855f74d}body{background:radial-gradient(ellipse 80% 50% at 50% -15%, #9333ea24, transparent 70%), var(--color-bg);min-width:320px;min-height:100vh;color:var(--color-text-main);margin:0;transition:background-color .25s,color .25s}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.025em}button,input,select,textarea{font:inherit;color:inherit}.shell{background:radial-gradient(circle at 50% 20%, #a855f72e 0%, transparent 60%), radial-gradient(circle at 80% 80%, #d946ef14 0%, transparent 50%), var(--color-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.card{border:1px solid var(--color-border);background:var(--gradient-surface);-webkit-backdrop-filter:blur(20px)saturate(160%);width:min(100%,420px);box-shadow:var(--shadow-card);border-radius:20px;padding:36px}.eyebrow{color:var(--color-primary);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;margin:0 0 22px;font-size:.78rem;font-weight:700}h1{letter-spacing:-.03em;font-size:1.8rem;font-weight:700;font-family:var(--font-display);margin:0 0 8px}.muted{color:var(--color-text-muted);margin:0 0 24px;line-height:1.5}form{gap:12px;display:grid}label{color:var(--color-text-main);font-size:.875rem;font-weight:600}input,select,textarea{border:1px solid var(--color-border-input);background:var(--color-surface-elevated);border-radius:10px;width:100%;min-height:44px;padding:10px 12px;transition:border-color .2s,box-shadow .2s}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--color-border-hover)}.password-field{position:relative}.password-field input{padding-right:3.25rem}.password-visibility{width:36px;min-height:36px;color:var(--color-text-muted);background:0 0;border-radius:6px;padding:0;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-visibility:hover:not(:disabled){background:var(--color-primary-light);color:var(--color-primary)}.password-visibility svg{width:19px;height:19px}textarea{resize:vertical;min-height:90px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}button{cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:650;transition:background .2s,box-shadow .2s,transform .2s,filter .2s,opacity .15s;display:inline-flex}button:disabled{cursor:not-allowed;opacity:.6}.shell form button[type=submit],.primary-button{color:#fff;background:var(--gradient-brand);box-shadow:var(--shadow-glow);border:1px solid #ffffff2e}.shell form button[type=submit]:hover:not(:disabled),.primary-button:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}.primary-button.small{min-height:34px;padding:0 12px;font-size:.85rem}.secondary,.secondary-button{color:var(--color-primary);background:var(--color-primary-light);border:1px solid var(--color-primary-border)}.secondary:hover:not(:disabled),.secondary-button:hover:not(:disabled){background:var(--color-primary-light-hover)}.danger-button{color:#fff;background:var(--color-danger)}.danger-button:hover:not(:disabled){background:var(--color-danger-hover)}.text-button{color:var(--color-primary);background:0 0;min-height:40px;padding:0 8px;font-weight:600}.text-button:hover:not(:disabled){text-decoration:underline}.cancel{color:var(--color-text-muted);background:0 0}.cancel:hover:not(:disabled){background:var(--color-surface-hover)}.status{color:var(--color-text-muted);font-weight:500}.notice{color:var(--color-danger);margin:10px 0 2px;font-size:.9rem;line-height:1.45}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.brand-logo-container{align-items:center;gap:12px;display:flex}.brand-logo{object-fit:contain;width:auto;height:32px;display:block}.login-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.login-brand-wrapper{align-items:center;gap:12px;display:flex}.login-brand-logo{object-fit:contain;width:auto;height:36px;display:block}.login-brand-wrapper .eyebrow{margin:0}.theme-toggle-button{background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text-main);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;min-height:38px;padding:0;transition:all .15s;display:inline-flex}.theme-toggle-button:hover:not(:disabled){border-color:var(--color-primary-border);color:var(--color-primary);background:var(--color-primary-light)}.theme-icon{stroke:currentColor;width:18px;height:18px}.app-layout{flex-direction:column;min-width:0;max-width:100%;min-height:100vh;display:flex;overflow-x:hidden}.app-header{background:var(--header-bg);-webkit-backdrop-filter:blur(20px)saturate(160%);border-bottom:1px solid var(--color-border);z-index:20;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:0 24px;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:28px;display:flex}.brand-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-primary);font-size:1.05rem;font-weight:700}.header-nav{align-items:center;gap:6px;display:flex}.nav-tab{color:var(--color-text-muted);background:0 0;border:1px solid #0000;border-radius:8px;min-height:38px;margin:0;padding:8px 14px;font-size:.92rem;font-weight:600}.nav-tab:hover{background:var(--color-surface-hover);color:var(--color-text-main)}.nav-tab.active{background:var(--color-primary-light);color:var(--color-text-main);border-color:var(--color-primary-border);box-shadow:0 0 18px -6px #a855f759}.header-user{align-items:center;gap:16px;display:flex}.user-info{text-align:right;flex-direction:column;font-size:.85rem;line-height:1.35;display:flex}.user-name{color:var(--color-text-main);font-weight:650}.user-meta{color:var(--color-text-muted)}.role-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:2px 7px;font-size:.725rem;font-weight:700;display:inline-block}.role-badge.admin{background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary-border)}.role-badge.collab{background:var(--color-surface-elevated);color:var(--color-text-muted);border:1px solid var(--color-border)}.signout-button{min-height:36px;margin:0;padding:0 14px;font-size:.875rem}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:28px 24px 60px}.view-panel{flex-direction:column;gap:20px;display:flex}.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.panel-subtitle{color:var(--color-text-muted);margin:4px 0 0;font-size:.95rem}.toolbar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.search-form{flex:1;align-items:center;gap:8px;max-width:480px;display:flex}.search-form input{min-height:40px}.search-form button{white-space:nowrap;min-height:40px;margin:0}.filter-group{align-items:center;gap:6px;display:flex}.filter-label{color:var(--color-text-muted);margin-right:4px;font-size:.85rem;font-weight:600}.filter-button{color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0;border-radius:6px;min-height:34px;margin:0;padding:0 12px;font-size:.85rem;font-weight:600}.filter-button:hover{background:var(--color-surface-subtle);color:var(--color-text-main)}.filter-button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.alert-banner{border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:.9rem;display:flex}.alert-banner.success{background:var(--color-success-light);border:1px solid var(--color-success);color:var(--color-success-text)}.alert-banner.error{background:var(--color-danger-light);border:1px solid var(--color-danger);color:var(--color-danger-text);flex-direction:column;align-items:flex-start}.close-alert{color:inherit;cursor:pointer;background:0 0;border:0;min-height:auto;margin:0;padding:4px;font-size:1rem}.table-container{background:var(--color-surface);border:1px solid var(--color-border);-webkit-overflow-scrolling:touch;border-radius:12px;min-width:0;max-width:100%;overflow-x:auto;box-shadow:0 2px 8px #00000005}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.925rem}.data-table th{background:var(--color-surface-subtle);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:12px 16px;font-size:.8rem;font-weight:650}.data-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:14px 16px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--color-surface-hover)}.row-archived,.row-inactive{background:var(--color-surface-subtle);opacity:.82}.client-name,.user-table-name{color:var(--color-text-main);font-weight:650}.client-notes{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:320px;margin-top:3px;font-size:.825rem;overflow:hidden}.contact-info{font-size:.875rem;line-height:1.4}.client-phone{color:var(--color-text-muted);font-size:.825rem}.self-tag{color:var(--color-primary);margin-left:6px;font-size:.8rem;font-weight:600}.status-badge{white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:.775rem;font-weight:650;display:inline-block}.status-badge.active{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success)}.status-badge.archived{background:var(--color-surface-subtle);color:var(--color-text-light);border:1px solid var(--color-border)}.text-right{text-align:right}.muted-dash{color:var(--color-text-light)}.action-buttons{justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.action-btn{border:1px solid #0000;border-radius:6px;min-height:32px;margin:0;padding:0 10px;font-size:.825rem;font-weight:600}.action-btn.edit{background:var(--color-surface-subtle);color:var(--color-text-main);border-color:var(--color-border)}.action-btn.edit:hover:not(:disabled){background:var(--color-surface-hover)}.action-btn.archive,.action-btn.danger{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger)}.action-btn.archive:hover:not(:disabled),.action-btn.danger:hover:not(:disabled){background:var(--color-danger-light)}.action-btn.restore{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success)}.action-btn.restore:hover:not(:disabled){background:var(--color-success-bg)}.action-btn.role-change{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary-border)}.action-btn.role-change:hover:not(:disabled){background:var(--color-primary-light-hover)}.pagination-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:6px 4px;display:flex}.pagination-info{color:var(--color-text-muted);font-size:.875rem}.pagination-controls{gap:8px;display:flex}.pagination-controls button{min-height:36px;padding:0 14px;font-size:.85rem}.empty-state{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty-title{color:var(--color-text-main);margin:0;font-size:1.1rem;font-weight:650}.empty-description{color:var(--color-text-muted);max-width:440px;margin:0;font-size:.95rem}.status-text{color:var(--color-text-muted);margin:0;font-weight:500}.error-text{color:var(--color-danger);margin:0;font-weight:600}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);background:#08070cb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{background:var(--color-surface);border:1px solid var(--color-border);width:min(100%,540px);max-height:90vh;box-shadow:var(--shadow-modal);border-radius:16px;padding:28px;overflow-y:auto}.modal-panel.confirm-modal{width:min(100%,440px)}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h2{letter-spacing:-.02em;margin:0;font-size:1.35rem}.close-button{color:var(--color-text-muted);background:0 0;border:0;border-radius:8px;min-width:36px;min-height:36px;margin:0;padding:0;font-size:1.1rem}.close-button:hover{background:var(--color-surface-hover);color:var(--color-text-main)}.modal-body{margin-bottom:24px;font-size:.95rem;line-height:1.5}.modal-body p{margin:0 0 10px}.muted-text{color:var(--color-text-muted);font-size:.875rem}.form-field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.inline-panel{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:12px;margin-bottom:24px;padding:24px}.panel-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}dialog.native-dialog{border:1px solid var(--color-border);background:var(--color-surface);width:min(90vw,440px);box-shadow:var(--shadow-modal);color:var(--color-text-main);border-radius:16px;margin:auto;padding:28px}dialog.native-dialog::backdrop{-webkit-backdrop-filter:blur(8px);background:#08070cb8}.dialog-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.dialog-header h2{letter-spacing:-.02em;margin:0;font-size:1.25rem}.dialog-body{margin-bottom:24px;font-size:.95rem;line-height:1.5}.dialog-body p{margin:0 0 10px}.dialog-actions{justify-content:flex-end;gap:10px;display:flex}@media (width<=640px){.app-header{padding:10px 14px}.header-brand{flex-wrap:wrap;justify-content:space-between;gap:8px;width:100%}.header-nav{flex-wrap:wrap;gap:4px}.nav-tab{min-height:34px;padding:6px 10px;font-size:.85rem}.header-user{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;gap:8px;width:100%;padding-top:10px}.user-info{overflow-wrap:break-word;word-break:break-word;text-align:left;max-width:calc(100% - 70px)}.user-meta{flex-wrap:wrap;gap:4px;font-size:.775rem;display:flex}.main-content{padding:18px 14px 40px}.toolbar{flex-direction:column;align-items:stretch}.search-form{max-width:100%}.filter-group{justify-content:flex-start;padding-bottom:2px;overflow-x:auto}.form-row{grid-template-columns:1fr}.modal-panel{padding:20px 16px}.pagination-bar{flex-direction:column;align-items:stretch}.pagination-controls{justify-content:space-between}}.demand-title{color:var(--color-text-main);font-weight:650}.priority-badge{white-space:nowrap;border:1px solid #0000;border-radius:6px;padding:3px 8px;font-size:.775rem;font-weight:650;display:inline-block}.priority-badge.normal{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary-border)}.priority-badge.low{background:var(--color-surface-elevated);color:var(--color-text-muted);border-color:var(--color-border)}.priority-badge.high{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning)}.priority-badge.urgent{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger)}.task-badge{white-space:nowrap;vertical-align:middle;border-radius:5px;margin-left:6px;padding:2px 7px;font-size:.725rem;font-weight:650;display:inline-block}.task-badge.status-blocked{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger)}.task-badge.status-paused{background:var(--color-surface-subtle);color:var(--color-text-muted);border:1px solid var(--color-border)}.task-badge.status-ready{background:var(--color-info-bg);color:var(--color-info-text);border:1px solid var(--color-info)}.task-badge.status-in_production{background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary-border)}.task-badge.status-in_review{color:#f0abfc;border:1px solid var(--color-accent-fuchsia);background:#d946ef29}[data-theme=light] .task-badge.status-in_review{color:#86198f;background:#fae8ff;border-color:#d946ef}.task-badge.status-changes_requested{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning)}.task-badge.status-completed{background:var(--color-success-light);color:var(--color-success-text);border:1px solid var(--color-success)}.status-badge.open{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning)}.status-badge.complete{background:var(--color-success-light);color:var(--color-success-text);border:1px solid var(--color-success)}.date-value{font-variant-numeric:tabular-nums}.back-row{margin-bottom:6px}.back-row .text-button{padding-left:0}.description-text{color:var(--color-text-muted);white-space:pre-wrap;margin:0 0 18px;line-height:1.55}.detail-actions{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.section-heading-row{justify-content:space-between;align-items:center;gap:12px;margin:26px 0 12px;display:flex}.section-heading{letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:700}.history-panel{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:14px;margin-bottom:8px;padding:20px 22px}.event-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.event-item{border-left:3px solid var(--color-primary);background:var(--color-surface-elevated);border-radius:8px;padding:10px 14px}.event-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.event-action{color:var(--color-text-main);font-size:.9rem;font-weight:650}.event-reason{color:var(--color-text-muted);margin:6px 0 0;font-size:.85rem;line-height:1.45}.fieldset-block{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:10px;margin:4px 0 12px;padding:14px 16px 16px}.fieldset-legend{color:var(--color-text-main);padding:0 6px;font-size:.875rem;font-weight:700}.fieldset-label{font-size:.875rem;font-weight:600}.requirement-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.requirement-input{flex:1;min-height:40px}.requirement-draft{color:var(--color-text-muted);margin:2px 0 8px;font-size:.8rem}.checkbox-label-wrapper{color:var(--color-text-main);cursor:pointer;align-items:center;gap:8px;font-size:.875rem;font-weight:500;display:inline-flex}.checkbox-label-wrapper input{width:auto;min-height:auto;margin:0}.dependency-list{gap:8px;margin-bottom:4px;display:grid}.secondary-button.small{min-height:34px;padding:0 12px;font-size:.85rem}.task-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.task-list-item{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;transition:border-color .2s,transform .2s;display:flex}.task-list-item:hover{border-color:var(--color-border-hover);transform:translateY(-1px)}.task-item-title{color:var(--color-text-main);font-weight:650;line-height:1.4}.task-item-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:8px;margin-top:4px;font-size:.85rem;display:flex}.task-detail-shell{margin-top:4px}.detail-card{background:var(--gradient-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:16px;padding:24px}.badge{white-space:nowrap;border:1px solid #0000;border-radius:6px;padding:3px 8px;font-size:.775rem;font-weight:650;display:inline-block}.badge-success{background:var(--color-success-light);color:var(--color-success-text);border-color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning)}.badge-low{background:var(--color-surface-subtle);color:var(--color-text-muted);border-color:var(--color-border)}.badge-normal{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary-border)}.badge-high{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning)}.badge-urgent{background:var(--color-danger-light);color:var(--color-danger-text);border-color:var(--color-danger)}.badge-status-completed{background:var(--color-success-light);color:var(--color-success-text);border-color:var(--color-success)}.badge-status-blocked{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger)}.badge-status-paused{background:var(--color-surface-subtle);color:var(--color-text-muted);border-color:var(--color-border)}.badge-status-ready{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info)}.badge-status-in_production{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary-border)}.badge-status-in_review{color:#f0abfc;border-color:var(--color-accent-fuchsia);background:#d946ef29}[data-theme=light] .badge-status-in_review{color:#86198f;background:#fae8ff;border-color:#d946ef}.badge-status-changes_requested{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning)}@media (width<=640px){.inline-panel{padding:16px 12px}.panel-actions{flex-direction:column-reverse;align-items:stretch}.panel-actions button{width:100%}.detail-actions{flex-direction:column;align-items:stretch}.detail-actions button{width:100%}.requirement-row{flex-wrap:wrap}.requirement-input{flex-basis:100%}.task-list-item{flex-direction:column;align-items:flex-start}.event-header{flex-direction:column;gap:4px}}.dashboard-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dashboard-updated-at{color:var(--color-text-muted);font-size:.82rem}.dashboard-sections{flex-direction:column;gap:24px;display:flex}.dashboard-section{flex-direction:column;gap:12px;display:flex}.dashboard-section-pending{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:20px}.dashboard-pending-groups{flex-direction:column;gap:20px;display:flex}.dashboard-pending-groups .dashboard-section{background:0 0;border:none;padding:0}.dashboard-count{color:var(--color-text-main);white-space:nowrap;font-size:.9rem;font-weight:600}.dashboard-limit-note{color:var(--color-text-muted);font-weight:400}.dashboard-item-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.dashboard-item{background:var(--gradient-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;transition:border-color .2s,transform .2s;display:flex}.dashboard-item:hover{border-color:var(--color-border-hover);transform:translateY(-1px)}.dashboard-item:focus-within{border-color:var(--color-primary)}.dashboard-item-main{flex-direction:column;gap:6px;min-width:0;display:flex}.dashboard-item-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dashboard-title-text{color:var(--color-text-main);font-weight:600}.dashboard-kind{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:700}.dashboard-kind.task,.dashboard-kind.demand{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary-border)}.dashboard-item-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:6px 14px;font-size:.85rem;display:flex}.dashboard-item-meta strong{color:var(--color-text-main);font-weight:600}.dashboard-item-reason{color:var(--color-danger-text);background:var(--color-danger-light);border:1px solid var(--color-danger);border-radius:8px;margin:2px 0 0;padding:8px 12px;font-size:.85rem}.dashboard-skeleton{flex-direction:column;gap:10px;margin-top:8px;display:flex}.skeleton-line{background:var(--shimmer-bg);background-size:400% 100%;border-radius:8px;height:16px;animation:1.4s infinite skeleton-shimmer}.dashboard-skeleton .skeleton-line:nth-child(2){width:80%}.dashboard-skeleton .skeleton-line:nth-child(3){width:55%}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.workload-table-wrap{overflow-x:auto}.workload-table{border-collapse:collapse;width:100%;font-size:.9rem}.workload-table th,.workload-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 12px}.workload-table th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.workload-table td.text-right,.workload-table th.text-right{text-align:right}.workload-table tr:last-child td{border-bottom:none}@media (width<=640px){.dashboard-item{flex-direction:column;align-items:stretch}.dashboard-item .action-btn{align-self:flex-start}.dashboard-section-pending{padding:16px}}.materials-view{min-width:0;max-width:100%}.materials-view .materials-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-width:0;max-width:100%;margin-bottom:20px;display:flex}.materials-view .filter-controls{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;max-width:100%;display:flex}.materials-view .filter-group{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.client-select-filter{border:1px solid var(--color-border);background:var(--color-surface);min-height:36px;color:var(--color-text-main);border-radius:8px;min-width:180px;padding:0 12px;font-size:.875rem}.material-form-panel{margin-bottom:24px}.immutable-links-box{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:8px;margin-top:8px;padding:12px 16px}.immutable-links-box .box-title{color:var(--color-text-main);margin:0 0 4px;font-size:.85rem;font-weight:650}.immutable-links-box .links-summary{color:var(--color-text-muted);margin:0 0 4px;font-size:.85rem}.conflict-actions{align-items:center;gap:10px;margin-top:10px;display:flex}.material-title-cell{flex-direction:column;gap:4px;display:flex}.material-title-text{color:var(--color-text-main);font-weight:650}.material-desc-muted{color:var(--color-text-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:320px;font-size:.8rem;line-height:1.35;display:-webkit-box;overflow:hidden}.external-link-anchor{color:var(--color-primary);word-break:break-all;align-items:center;gap:6px;font-size:.85rem;text-decoration:none;display:inline-flex}.external-link-anchor:hover{text-decoration:underline}.link-icon{flex-shrink:0;font-size:.85rem}.link-url-text{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.material-bindings-cell{flex-direction:column;gap:3px;font-size:.825rem;display:flex}.binding-client{color:var(--color-text-main);font-weight:650}.binding-demand,.binding-task{color:var(--color-text-muted);font-size:.8rem}.material-version-cell{font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-size:.825rem}.material-date-text{color:var(--color-text-muted);font-size:.825rem}.action-btn.secondary{background:var(--color-surface-subtle);color:var(--color-text-main);border:1px solid var(--color-border)}.action-btn.secondary:hover:not(:disabled){background:var(--color-surface-hover)}.action-btn.history{background:var(--color-surface-subtle);color:var(--color-text-muted);border:1px solid var(--color-border)}.action-btn.history:hover:not(:disabled){background:var(--color-surface-hover)}.native-dialog.history-dialog{border-radius:12px;width:92vw;max-width:640px;padding:24px}.history-material-name{color:var(--color-primary);word-break:break-all;font-weight:650}.event-list{flex-direction:column;gap:12px;max-height:55vh;margin:16px 0;padding:0;list-style:none;display:flex;overflow-y:auto}.event-item{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:8px;padding:12px 14px}.event-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.event-action{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-main);font-size:.85rem;font-weight:700}.event-meta{color:var(--color-text-muted);font-size:.775rem}.event-changes-diff{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;margin-top:8px;padding:8px 10px;font-size:.8rem}.change-row{align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.change-row:last-child{margin-bottom:0}.change-field{min-width:80px;color:var(--color-text-muted);font-weight:650}.change-before{color:var(--color-danger-text);word-break:break-all;text-decoration:line-through}.change-arrow{color:var(--color-text-light)}.change-after{color:var(--color-success-text);word-break:break-all;font-weight:600}.target-selector-box{flex-direction:column;gap:8px;width:100%;display:flex}.target-search-row{width:100%;display:flex}.target-search-input{border:1px solid var(--color-border);background:var(--color-surface-subtle);width:100%;color:var(--color-text-main);border-radius:6px;padding:6px 10px;font-size:.8rem}.target-search-input:focus{background:var(--color-surface);border-color:var(--color-primary);outline:none}.target-error-inline{background:var(--color-danger-light);color:var(--color-danger-text);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:.8rem;display:flex}.target-pagination-inline{justify-content:space-between;align-items:center;gap:8px;padding:4px 2px;display:flex}.target-page-text{color:var(--color-text-muted);font-size:.775rem}.client-timeline-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;min-width:0;max-width:100%;margin-bottom:24px;padding:20px;box-shadow:0 2px 8px #00000005}.timeline-panel-header{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.timeline-title-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.timeline-heading{color:var(--color-text-main);margin:0;font-size:1.1rem;font-weight:700}.timeline-client-badge{background:var(--color-primary-light);color:var(--color-primary);border-radius:6px;padding:3px 8px;font-size:.8rem;font-weight:650}.timeline-count-badge{color:var(--color-text-muted);font-size:.8rem}.timeline-header-actions{align-items:center;gap:8px;display:flex}.timeline-events-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.timeline-event-card{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:8px;padding:12px 16px;transition:background .15s;display:flex}.timeline-event-card:hover{background:var(--color-surface-subtle)}.timeline-event-meta{flex-wrap:wrap;align-items:center;gap:8px;font-size:.8rem;display:flex}.timeline-source-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:2px 7px;font-size:.75rem;font-weight:700}.timeline-source-badge.source-demand{background:var(--color-info-bg);color:var(--color-info-text)}.timeline-source-badge.source-task{background:var(--color-warning-bg);color:var(--color-warning-text)}.timeline-source-badge.source-material{background:var(--color-success-bg);color:var(--color-success-text)}.timeline-action-badge{color:var(--color-text-main);font-weight:600}.timeline-actor-name{color:var(--color-text-muted)}.timeline-timestamp{color:var(--color-text-light);margin-left:auto}.timeline-event-body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.timeline-event-title{color:var(--color-text-main);word-break:break-word;font-size:.9rem;font-weight:600}.timeline-event-actions{align-items:center;gap:6px;display:flex}.timeline-pagination{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding-top:12px;display:flex}.timeline-empty-state{text-align:center;color:var(--color-text-muted);padding:24px;font-size:.9rem}.timeline-error-banner{margin:8px 0}@media (width<=640px){html,body{overflow-x:hidden}.app-layout{min-width:0;max-width:100vw;overflow-x:hidden}.main-content{min-width:0;max-width:100%;padding:18px 12px 40px}.view-panel{min-width:0;max-width:100%}.materials-view .materials-toolbar,.materials-view .filter-controls{flex-direction:column;align-items:stretch;min-width:0;max-width:100%}.materials-view .filter-group{flex-wrap:wrap;min-width:0;max-width:100%}.materials-view .search-form{min-width:0;max-width:100%}.client-select-filter{width:100%;min-width:0}.link-url-text{max-width:140px}.native-dialog.history-dialog{width:96vw;padding:16px}}.notifications-counter{background:var(--color-danger);color:#fff;vertical-align:middle;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:8px;padding:0 6px;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.notifications-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.notification-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.notification-item.unread{background:var(--color-primary-light);border-color:var(--color-primary-border)}.notification-item-main{flex-direction:column;gap:6px;min-width:0;display:flex}.notification-item-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notification-kind{color:var(--color-text-main);align-items:center;font-size:.9rem;font-weight:700;display:inline-flex}.notification-kind.unread{color:var(--color-primary)}.notification-unread-dot{background:var(--color-primary);border-radius:50%;flex:none;width:8px;height:8px}.notification-item-meta{color:var(--color-text-main);font-size:.9rem;line-height:1.45}.notification-item-meta strong{font-weight:650}.notification-delivery{color:var(--color-text-main);font-size:.9rem}.notification-delivery strong{font-weight:650}.notification-meta-row{width:100%}.muted-notification{color:var(--color-text-muted);font-size:.82rem}.notification-actions{flex:none;align-items:center;gap:8px;display:flex}@media (width<=640px){.notification-item{flex-direction:column;align-items:stretch}.notification-actions{flex-wrap:wrap;justify-content:flex-start}}.modal-card{background:var(--color-surface);border:1px solid var(--color-border);width:min(100%,540px);max-height:90vh;box-shadow:var(--shadow-modal);border-radius:16px;padding:28px;overflow-y:auto}.modal-card.wide,.modal-panel.wide{width:min(100%,820px)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:20px 0;display:grid}.kpi-card{background:var(--gradient-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:14px;flex-direction:column;padding:18px 20px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.kpi-card:hover{border-color:var(--color-border-hover);transform:translateY(-2px)}.kpi-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.78rem;font-weight:650}.kpi-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--color-text-main);letter-spacing:-.025em;margin:6px 0 4px;font-size:1.9rem;font-weight:700}.kpi-help{color:var(--color-text-light);font-size:.78rem;line-height:1.4}.report-filters{background:var(--gradient-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:14px;margin-bottom:24px;padding:16px 20px}.report-section{border-top:1px solid var(--color-border);margin-top:32px;padding-top:24px}.category-badge{background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary-border);border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:650}.template-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:16px;display:grid}.template-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:14px;flex-direction:column;gap:8px;padding:16px;transition:transform .2s,border-color .2s;display:flex}.template-card:hover{border-color:var(--color-border-hover);transform:translateY(-2px)}.template-card-header{justify-content:space-between;align-items:center;display:flex}.template-card-title{font-family:var(--font-display);color:var(--color-text-main);margin:0;font-size:1.02rem;font-weight:700}.template-card-desc{color:var(--color-text-muted);flex:1;margin:0;font-size:.85rem;line-height:1.45}.template-card-meta{color:var(--color-text-light);border-top:1px dashed var(--color-border);align-items:center;gap:6px;padding:6px 0;font-size:.78rem;display:flex}.template-card-actions{margin-top:4px}.template-banner-info{background:var(--color-primary-light);border:1px solid var(--color-primary-border);color:var(--color-text-main);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:.88rem;display:flex}.template-tasks-section{border-top:1px solid var(--color-border);padding-top:16px}.template-task-list{flex-direction:column;gap:10px;display:flex}.template-task-preview-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.task-preview-info{flex:1;min-width:240px}.task-preview-title{align-items:center;gap:8px;margin-bottom:4px;font-size:.92rem;display:flex}.task-preview-index{background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary-border);border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700}.task-preview-meta{color:var(--color-text-muted);gap:6px;font-size:.78rem;display:flex}.task-preview-desc{color:var(--color-text-muted);margin:4px 0 0;font-size:.82rem}.task-preview-assignment select{min-width:220px;padding:6px 10px;font-size:.85rem}.template-tasks-draft-list{flex-direction:column;gap:12px;display:flex}.template-task-draft-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:10px;padding:14px}.draft-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.kpi-metric,.dashboard-kpi-value,.summary-metric-value,.report-kpi-value,.stat-value{font-family:var(--font-display);font-variant-numeric:tabular-nums}.dashboard-view-switcher{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:10px;align-items:center;gap:2px;padding:3px;display:inline-flex}.view-switch-btn{min-height:32px;color:var(--color-text-muted);background:0 0;border:1px solid #0000;border-radius:7px;gap:6px;padding:0 12px;font-size:.84rem;font-weight:650}.view-switch-btn:hover{color:var(--color-text-main);background:var(--color-surface-hover)}.view-switch-btn.active{color:#fff;background:var(--gradient-brand);box-shadow:var(--shadow-glow);border-color:#ffffff29}.dashboard-kanban-wrapper{flex-direction:column;gap:20px;display:flex}.kanban-controls-bar{background:var(--gradient-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.kanban-search-group{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:260px;display:flex}.kanban-search-input{max-width:280px;min-height:38px;font-size:.875rem}.kanban-filter-select{width:auto;min-width:175px;min-height:38px;padding:6px 12px;font-size:.85rem}.kanban-summary-pills{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kanban-stat-pill{background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:.8rem;font-weight:600;display:inline-flex}.kanban-stat-pill strong{color:var(--color-text-main);font-size:.85rem}.kanban-stat-pill.pill-danger{background:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger-text)}.kanban-stat-pill.pill-danger strong{color:var(--color-danger-text)}.kanban-stat-pill.pill-warning{background:var(--color-warning-bg);border-color:var(--color-warning);color:var(--color-warning-text)}.kanban-stat-pill.pill-warning strong{color:var(--color-warning-text)}.kanban-stat-pill.pill-urgent{background:var(--color-primary-light);border-color:var(--color-primary-border);color:var(--color-primary)}.kanban-stat-pill.pill-urgent strong{color:var(--color-primary)}.kanban-overdue-demands-bar{background:var(--color-danger-bg);border:1px solid var(--color-danger);color:var(--color-danger-text);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:.86rem;display:flex}.kanban-overdue-demands-title{align-items:center;gap:8px;display:flex}.kanban-overdue-demands-list{flex-wrap:wrap;gap:8px;display:flex}.kanban-overdue-demand-chip{background:var(--color-surface);border:1px solid var(--color-danger);min-height:30px;color:var(--color-text-main);border-radius:8px;gap:6px;padding:4px 10px;font-size:.8rem;font-weight:600}.kanban-overdue-demand-chip:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.kanban-board-grid{grid-template-columns:repeat(6,minmax(265px,1fr));align-items:start;gap:14px;padding-bottom:10px;display:grid;overflow-x:auto}.kanban-column{background:var(--color-surface);border:1px solid var(--color-border);min-height:340px;max-height:74vh;box-shadow:var(--shadow-card);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.kanban-column.col-production{border-top:3px solid var(--color-primary)}.kanban-column.col-ready{border-top:3px solid var(--color-info)}.kanban-column.col-review{border-top:3px solid var(--color-accent-fuchsia)}.kanban-column.col-changes{border-top:3px solid var(--color-warning)}.kanban-column.col-blocked{border-top:3px solid var(--color-danger)}.kanban-column.col-paused{border-top:3px solid var(--color-text-light)}.kanban-column-header{border-bottom:1px solid var(--color-border);background:var(--color-surface-subtle);padding:14px 14px 10px}.kanban-column-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.kanban-column-title-group{align-items:center;gap:8px;min-width:0;display:flex}.kanban-status-dot{background:var(--color-primary);border-radius:50%;flex-shrink:0;width:9px;height:9px}.kanban-status-dot.col-production{background:var(--color-primary);box-shadow:0 0 8px var(--color-primary)}.kanban-status-dot.col-ready{background:var(--color-info)}.kanban-status-dot.col-review{background:var(--color-accent-fuchsia)}.kanban-status-dot.col-changes{background:var(--color-warning)}.kanban-status-dot.col-blocked{background:var(--color-danger)}.kanban-status-dot.col-paused{background:var(--color-text-light)}.kanban-column-title{color:var(--color-text-main);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9rem;font-weight:700;overflow:hidden}.kanban-column-count{background:var(--color-primary-light);min-width:24px;height:22px;color:var(--color-primary);border:1px solid var(--color-primary-border);border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:.76rem;font-weight:700;display:inline-flex}.kanban-column-subtitle{color:var(--color-text-muted);margin:4px 0 0;font-size:.75rem;line-height:1.35}.kanban-column-body{flex:1;padding:12px;overflow-y:auto}.kanban-empty-slot{border:1px dashed var(--color-border);text-align:center;color:var(--color-text-light);border-radius:10px;padding:28px 12px;font-size:.82rem}.kanban-card-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.kanban-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:8px;padding:12px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.kanban-card:hover{border-color:var(--color-border-hover);transform:translateY(-2px);box-shadow:0 12px 24px -8px #00000059}.kanban-card.is-overdue{border-left:3px solid var(--color-danger)}.kanban-card.is-urgent{box-shadow:0 0 18px -6px #ef444459}.kanban-card-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.kanban-card-client{text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;font-weight:700;overflow:hidden}.kanban-card-title{color:var(--color-text-main);margin:0;font-size:.92rem;font-weight:650;line-height:1.38}.kanban-card-demand{color:var(--color-text-muted);margin:0;font-size:.78rem;line-height:1.35}.kanban-card-demand strong{color:var(--color-text-main);font-weight:600}.kanban-card-reason{background:var(--color-warning-bg);border:1px solid var(--color-warning);color:var(--color-warning-text);border-radius:6px;margin:0;padding:6px 8px;font-size:.76rem;line-height:1.35}.kanban-card-footer{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:2px;padding-top:8px;display:flex}.kanban-card-meta{color:var(--color-text-muted);flex-direction:column;gap:4px;font-size:.76rem;display:flex}.kanban-card-date.date-overdue{color:var(--color-danger-text);font-weight:600}.kanban-card-date.date-today{color:var(--color-warning-text);font-weight:600}.kanban-card-assignee{color:var(--color-text-main);align-items:center;gap:5px;font-weight:600;display:inline-flex}.assignee-avatar{background:var(--gradient-brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:.68rem;font-weight:700;display:inline-flex}.kanban-open-btn{min-height:28px;padding:0 10px;font-size:.76rem}@media (prefers-reduced-motion:reduce){.kanban-card:hover,.kpi-card:hover,.template-card:hover,.dashboard-item:hover,.task-list-item:hover,.primary-button:hover:not(:disabled),.shell form button[type=submit]:hover:not(:disabled){transform:none}.skeleton-line{animation:none}}.print-paste-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.print-paste-hint{color:var(--color-text-muted);font-size:.78rem}.comment-prints-grid,.comment-prints-draft-grid{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.comment-print-draft-item{display:inline-flex;position:relative}.comment-print-thumb-btn{background:var(--color-surface-elevated);border:1px solid var(--color-border);cursor:zoom-in;border-radius:10px;margin:0;padding:0;transition:border-color .2s,transform .2s;display:inline-flex;overflow:hidden}.comment-print-thumb-btn:hover{border-color:var(--color-primary);transform:translateY(-1px)}.comment-print-thumb{object-fit:cover;width:auto;max-width:200px;height:auto;max-height:140px;display:block}.comment-print-remove-btn{background:var(--color-danger);color:#fff;border:2px solid var(--color-surface);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:24px;min-width:24px;height:24px;min-height:24px;padding:0;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 8px #00000059}.comment-print-remove-btn:hover{filter:brightness(1.1)}.print-lightbox-card{background:var(--color-surface);border:1px solid var(--color-border);max-width:min(94vw,1200px);max-height:92vh;box-shadow:var(--shadow-modal);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.print-lightbox-header{border-bottom:1px solid var(--color-border);color:var(--color-text-main);justify-content:space-between;align-items:center;padding:12px 18px;font-weight:650;display:flex}.print-lightbox-body{background:#00000040;justify-content:center;align-items:center;padding:16px;display:flex;overflow:auto}.print-lightbox-img{border-radius:8px;width:auto;max-width:100%;height:auto;max-height:calc(92vh - 96px);display:block}
