@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap";:root{--color-primary: #3b82f6;--color-primary-glow: rgba(59, 130, 246, .2);--color-bg-primary: #09090b;--color-bg-secondary: #18181b;--color-bg-tertiary: #27272a;--color-bg-hover: rgba(255, 255, 255, .05);--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, Arial, sans-serif;--color-text-primary: #fafafa;--color-text-secondary: #a1a1aa;--color-text-subtle: #71717a;--border-color: rgba(255, 255, 255, .08);--card-bg: #18181b;--sidebar-bg: #000000;--nav-rail-bg: #050505;--input-bg: rgba(255, 255, 255, .03);--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--btn-metallic-bg: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--btn-metallic-border: 1px solid rgba(255, 255, 255, .1);--btn-metallic-shadow: 0 2px 4px rgba(0, 0, 0, .2), inset 0 1px 1px rgba(255, 255, 255, .15);--btn-metallic-hover-bg: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);--btn-metallic-hover-shadow: 0 4px 8px rgba(0, 0, 0, .3), inset 0 1px 1px rgba(255, 255, 255, .2)}body{margin:0;padding:0;font-family:var(--font-family-sans);background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:background-color .3s ease,color .3s ease}*{box-sizing:border-box}:root[data-theme=light]{--color-bg-primary: #eeeef2;--color-bg-secondary: #e4e4ea;--color-bg-tertiary: #d8d8e0;--color-bg-hover: rgba(0, 0, 0, .06);--color-text-primary: #18181f;--color-text-secondary: #3a3a50;--color-text-subtle: #7070a0;--border-color: rgba(0, 0, 0, .1);--sidebar-bg: #e0e0e8;--nav-rail-bg: #dcdce4;--card-bg: #e4e4ea;--input-bg: rgba(0, 0, 0, .06);--sp-bg: #e0e0e8}.btn{padding:10px 16px;border-radius:8px;border:none;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-primary{background:var(--btn-metallic-bg);color:#fff;border:var(--btn-metallic-border);box-shadow:var(--btn-metallic-shadow);text-shadow:var(--btn-metallic-text-shadow)}.btn-primary:hover{background:var(--btn-metallic-hover-bg);transform:translateY(-1px);box-shadow:var(--btn-metallic-hover-shadow)}.btn-danger{background:#ef44441a;color:var(--color-danger)}.btn-danger:hover{background:#ef444433}.input-base{width:100%;padding:12px 16px;background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:#fff;font-size:.95rem;transition:border-color .2s}.input-base:focus{outline:none;border-color:var(--color-primary)}.badge{padding:4px 8px;border-radius:6px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.badge-info{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--metallic-link, #60a5fa)}.badge-warning{background:#f59e0b26;color:#fbbf24}.badge-danger{background:#ef444426;color:#f87171}.badge-success{background:#10b98126;color:#34d399}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-pop{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}@keyframes ui-view{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes ui-panel{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.app-modal-overlay,.client-modal-overlay,.planner-modal-overlay,.tour-overlay,.vacation-overlay,.settings-overlay{animation:ui-fade .2s ease-out both}.app-modal-box,.client-modal-content,.planner-modal{animation:ui-pop .24s cubic-bezier(.2,.8,.2,1) both}.task-details-panel{animation:ui-panel .26s cubic-bezier(.2,.8,.2,1) both}.main-dashboard,.client-dashboard-view,.settings-view,.chat-view{animation:ui-view .28s ease-out both}button,.btn,.nav-item,.bento-card,.task-card,.priority-item{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .12s ease,opacity .18s ease}button:not(:disabled):active,.btn:not(:disabled):active{transform:scale(.98)}@media(prefers-reduced-motion:reduce){.app-modal-overlay,.client-modal-overlay,.planner-modal-overlay,.tour-overlay,.vacation-overlay,.settings-overlay,.app-modal-box,.client-modal-content,.planner-modal,.task-details-panel,.main-dashboard,.client-dashboard-view,.settings-view,.chat-view{animation:none}button,.btn,.nav-item,.bento-card,.task-card,.priority-item{transition:none}}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--shadow-soft: 0 1px 2px rgba(0, 0, 0, .28), 0 10px 28px -12px rgba(0, 0, 0, .55);--shadow-pop: 0 2px 6px rgba(0, 0, 0, .35), 0 28px 70px -18px rgba(0, 0, 0, .7);--hairline: rgba(255, 255, 255, .07)}body.light-theme,:root[data-theme=light]{--shadow-soft: 0 1px 2px rgba(15, 23, 42, .06), 0 10px 28px -14px rgba(15, 23, 42, .18);--shadow-pop: 0 2px 6px rgba(15, 23, 42, .08), 0 28px 70px -20px rgba(15, 23, 42, .3);--hairline: rgba(15, 23, 42, .08)}.bento-card,.stat-card,.task-card{box-shadow:var(--shadow-soft);border-color:var(--hairline)}.bento-card:hover{box-shadow:var(--shadow-soft)}.app-modal-box,.client-modal-content,.planner-modal,.tour-card,.otl-popup{box-shadow:var(--shadow-pop);border:1px solid var(--hairline)}h1,.dashboard-title,.project-title,.settings-title,.client-dashboard-title{font-weight:300;letter-spacing:-.02em}.card-title,.bento-card-title,.sp-section-label,.settings-section-title,.status-name,.widget-row-label{text-transform:uppercase;letter-spacing:.12em;font-weight:600}.stat-value,.stat-unit,.widget-big,.widget-time,.otl-sum-main strong,.otl-sum-cell strong,.fin-ring-center strong,.otl-count-n,.status-count{font-variant-numeric:tabular-nums}.settings-content{gap:var(--space-6)}.bento-grid{gap:var(--space-5)}.sp-divider{margin:var(--space-4) 0}.btn,.btn-primary,.btn-secondary,.btn-save-config,.btn-pay-month,.btn-download{padding:7px 14px;border-radius:6px;font-size:12.5px;font-weight:500;letter-spacing:.01em;line-height:1.3}.btn-primary:hover,.btn-primary:active{transform:none;filter:none}.btn-primary-lg{width:38px;height:38px;border-radius:8px}.btn-primary-lg:hover{transform:none}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-primary);padding:20px;position:relative}.login-container:before{content:"";position:fixed;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--color-primary) 3%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-primary) 3%,transparent) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}.login-box{position:relative;z-index:1;background:var(--color-bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 0 0 1px #ffffff08,0 24px 48px #00000080,0 0 80px color-mix(in srgb,var(--color-primary) 4%,transparent)}.login-header{text-align:center;margin-bottom:32px}.logo-icon{width:56px;height:56px;background:color-mix(in srgb,var(--color-primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--metallic-link, #60a5fa);border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.login-header h1{font-size:1.35rem;font-weight:700;margin:0 0 8px;color:var(--color-text-primary);letter-spacing:-.02em}.login-header p{font-size:.82rem;color:var(--color-text-subtle);margin:0;line-height:1.5}.client-branded-box{margin:15px auto;padding:8px 16px;background:color-mix(in srgb,var(--color-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 15%,transparent);border-radius:20px;font-size:.85rem;color:#fff;display:inline-block}.login-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.78rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;color:var(--color-text-subtle);pointer-events:none}.input-wrapper .input-base{padding-left:40px}.input-base{width:100%;padding:10px 14px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:10px;color:var(--color-text-primary);font-size:.9rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;outline:none}.input-base:focus{border-color:color-mix(in srgb,var(--color-primary) 50%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 10%,transparent);background:#ffffff0d}.submit-btn{width:100%;padding:12px;font-size:.9rem;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;margin-top:4px;cursor:pointer}.back-btn{background:transparent;color:var(--color-text-subtle);font-size:.8rem;border:none;text-decoration:underline;cursor:pointer;text-align:center;font-family:inherit;margin-top:4px;transition:color .15s}.back-btn:hover{color:var(--color-text-primary)}.login-alert{padding:10px 14px;border-radius:8px;font-size:.82rem;display:flex;align-items:center;gap:10px;margin-bottom:16px}.login-alert.error{background:#ef444414;color:#f87171;border:1px solid rgba(239,68,68,.2)}.login-alert.success{background:#10b98114;color:#34d399;border:1px solid rgba(16,185,129,.2)}.login-footer{margin-top:28px;text-align:center;font-size:.68rem;color:var(--color-text-subtle);line-height:1.6}.spinner{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.portal-layout{display:flex;min-height:100vh;height:100vh;background-color:var(--color-bg-primary);overflow:hidden}.portal-sidebar{width:260px;flex-shrink:0;background-color:var(--sidebar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:0}.sidebar-header{padding:24px 20px 16px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:12px}.sidebar-header h2{font-size:.9rem;font-weight:700;margin:0;color:var(--color-text-primary);letter-spacing:.03em;text-transform:uppercase}.client-badge{background:color-mix(in srgb,var(--color-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);color:var(--metallic-link, #60a5fa);padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:600;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.client-badge-header{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--metallic-link, #60a5fa);padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.nav-title{font-size:.65rem;color:var(--color-text-subtle);font-weight:800;margin:8px 8px 6px;text-transform:uppercase;letter-spacing:.08em}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border:none;background:transparent;color:var(--color-text-secondary);border-radius:8px;cursor:pointer;text-align:left;font-size:.85rem;font-weight:500;transition:all .15s ease;width:100%}.nav-item:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.nav-item.active{background:color-mix(in srgb,var(--color-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--metallic-link, #60a5fa);font-weight:600}.notif-badge{background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:10px;margin-left:auto;box-shadow:0 2px 4px #ef444466}.empty-text{font-size:.8rem;color:var(--color-text-subtle);padding:10px 12px;display:block;font-style:italic}.sidebar-footer{border-top:1px solid var(--border-color);padding:12px;display:flex;flex-direction:column;gap:6px}.btn-logout{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:#ef444414;color:#fca5a5;border:1px solid rgba(239,68,68,.15);border-radius:8px;padding:9px 16px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-logout:hover{background:#ef44442e;color:#fff}.portal-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.content-header{padding:20px 32px;border-bottom:1px solid var(--border-color);background:var(--color-bg-primary);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0;flex-wrap:wrap}.content-header h1{font-size:1.2rem;font-weight:600;margin:0;color:var(--color-text-primary)}.stats-bar{display:flex;gap:12px}.stat-card{background:var(--color-bg-secondary);border:1px solid var(--border-color);padding:10px 18px;border-radius:10px;display:flex;flex-direction:column;gap:2px;min-width:120px}.stat-value{font-size:1.5rem;font-weight:700;color:var(--color-primary);line-height:1}.stat-label{font-size:.7rem;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.05em}.work-cost-badge{display:inline-flex;align-items:center;gap:7px;background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:10px;padding:6px 14px;font-size:.8rem;color:#6ee7b7;animation:fadeIn .4s ease}.work-cost-badge svg{color:#34d399;flex-shrink:0}.work-cost-label{color:var(--color-text-subtle);font-weight:500;white-space:nowrap}.work-cost-value{font-weight:700;font-size:.9rem;color:#34d399;white-space:nowrap}.work-cost-detail{font-size:.7rem;color:var(--color-text-subtle);white-space:nowrap}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}:root[data-theme=light] .work-cost-badge{background:#10b98112;border-color:#10b9812e;color:#059669}:root[data-theme=light] .work-cost-value{color:#059669}:root[data-theme=light] .work-cost-badge svg{color:#059669}.content-body{flex:1;overflow-y:auto;padding:28px 32px}.add-task-card{background:var(--color-bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:24px;transition:border-color .2s}.add-task-card:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,transparent)}.add-task-card h3{margin:0 0 4px;font-size:.95rem;font-weight:600;color:var(--color-text-primary)}.tasks-list h3{font-size:.75rem;font-weight:700;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px}.tasks-list{display:flex;flex-direction:column;gap:10px}.task-card{background:var(--color-bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:16px 20px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.task-card:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);box-shadow:0 4px 16px #00000040;transform:translateY(-1px)}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.task-title-row{display:flex;align-items:center;gap:10px}.task-title-row h4{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text-primary)}.status-badge{font-size:.68rem;padding:3px 9px;border-radius:20px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.status-badge.pending{background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);color:#fbbf24}.status-badge.success{background:#10b9811f;border:1px solid rgba(16,185,129,.25);color:#34d399}.task-meta{font-size:.75rem;color:var(--color-text-subtle);display:flex;align-items:center;gap:6px}.task-desc{color:var(--color-text-secondary);margin:8px 0 0;font-size:.82rem;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.task-actions{margin-top:14px;padding-top:12px;border-top:1px solid var(--border-color)}.btn-comment{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--color-text-subtle);font-size:.78rem;cursor:pointer;font-family:inherit;padding:0;transition:color .15s}.btn-comment:hover{color:var(--color-text-primary)}.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-subtle);background:var(--color-bg-secondary);border-radius:12px;border:1px dashed var(--border-color)}.empty-state svg{opacity:.3;margin-bottom:16px}.empty-state p{margin-top:12px;font-size:.95rem;color:var(--color-text-subtle)}.loader{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--color-text-subtle);font-size:.9rem}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:20px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-subtle)}.view-switcher{display:flex;gap:2px;background:var(--color-bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:3px}.view-switch-btn{display:flex;align-items:center;justify-content:center;min-width:32px;height:30px;padding:0 8px;border:none;border-radius:7px;background:transparent;color:var(--color-text-subtle);cursor:pointer;transition:all .15s}.view-switch-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.view-switch-btn.active{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--metallic-link, #60a5fa);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent)}:root[data-theme=light] .task-card{background:var(--color-bg-secondary);border-color:#00000017}:root[data-theme=light] .task-card:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);box-shadow:0 4px 16px #00000014}:root[data-theme=light] .add-task-card{background:var(--color-bg-secondary);border-color:#00000017}:root[data-theme=light] .stat-card{background:var(--color-bg-secondary);border-color:#00000017}:root[data-theme=light] .portal-sidebar{background:var(--sidebar-bg);border-right-color:#0000001a}:root[data-theme=light] .nav-item{color:var(--color-text-secondary)}:root[data-theme=light] .nav-item:hover{background:#0000000d;color:var(--color-text-primary)}:root[data-theme=light] .nav-item.active{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:color-mix(in srgb,var(--color-primary) 80%,#000)}:root[data-theme=light] .content-header{background:var(--color-bg-primary);border-bottom-color:#00000014}:root[data-theme=light] .view-switcher{background:var(--color-bg-secondary);border-color:#0000001a}:root[data-theme=light] .btn-comment{color:var(--color-text-subtle);border-color:#0000001a}:root[data-theme=light] .btn-comment:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:color-mix(in srgb,var(--color-primary) 80%,#000);border-color:color-mix(in srgb,var(--color-primary) 25%,transparent)}:root[data-theme=light] .btn-logout{color:var(--color-text-secondary);border-color:#0000001a}:root[data-theme=light] .btn-logout:hover{background:#ef444414;color:#dc2626;border-color:#ef444433}.tour-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999}.tour-card{background:var(--color-bg-primary);border:1px solid var(--border-color);border-radius:20px;width:90%;max-width:480px;padding:40px;position:relative;display:flex;flex-direction:column;align-items:center;animation:tourPop .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes tourPop{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.tour-close{position:absolute;top:20px;right:20px;background:transparent;border:none;color:var(--color-text-subtle);cursor:pointer}.tour-progress{display:flex;gap:6px;margin-bottom:30px}.tour-dot{width:24px;height:4px;background:var(--color-bg-tertiary);border-radius:2px;transition:all .3s}.tour-dot.active{background:var(--color-primary);width:32px}.tour-content{display:flex;flex-direction:column;align-items:center;text-align:center}.btn-tour-next{width:100%;padding:14px;font-size:1.1rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px}.tour-skip{margin-top:16px;background:transparent;border:none;color:var(--color-text-subtle);font-size:.85rem;cursor:pointer;text-decoration:underline}.tour-skip:hover{color:var(--color-text-primary)}:root[data-theme=light] .tour-card{background:#fff;box-shadow:0 25px 50px -12px #00000040}.features-announcement{position:fixed;bottom:30px;left:280px;z-index:1000;animation:slideUp .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.announcement-content{background:var(--color-bg-secondary);border:1px solid color-mix(in srgb,var(--color-primary) 35%,transparent);border-radius:16px;padding:16px 20px;display:flex;align-items:center;gap:16px;box-shadow:0 10px 40px #0006;max-width:450px}.sparkle-icon{color:#fcd34d;flex-shrink:0}.announcement-text h4{margin:0 0 4px;font-size:.95rem;font-weight:700;color:var(--color-text-primary)}.announcement-text p{margin:0;font-size:.82rem;color:var(--color-text-secondary);line-height:1.4}.announcement-close{background:var(--color-primary);color:#fff;border:none;padding:8px 14px;border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}.announcement-close:hover{background:color-mix(in srgb,var(--color-primary) 80%,#000);transform:scale(1.05)}:root[data-theme=light] .announcement-content{background:#fff;box-shadow:0 10px 30px #0000001a;border-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}.w-full{width:100%}.py-4{padding-top:1rem;padding-bottom:1rem}.view-switcher{align-items:center}.view-switcher-label{padding:0 8px 0 10px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-subtle)}.view-switch-btn--labeled{gap:6px;padding:0 12px;font-size:12.5px;font-weight:600;white-space:nowrap}.view-switch-btn--labeled.active{color:var(--color-text-primary);background:color-mix(in srgb,var(--color-primary) 18%,transparent)}.client-modal-overlay{position:fixed;inset:0;background:#000000a6;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.client-modal-content{background:var(--modal-bg, #1a1a1e);border:1px solid var(--border-color);border-radius:14px;width:620px;max-width:94vw;max-height:90vh;display:flex;flex-direction:column;position:relative;color:var(--color-text-primary);overflow-y:auto;box-shadow:0 24px 48px #00000059,0 0 0 1px var(--border-color);animation:scaleIn .18s cubic-bezier(.16,1,.3,1)}.client-modal-close{background:#ffffff0d;border:1px solid var(--border-color);color:var(--color-text-subtle);cursor:pointer;border-radius:8px;width:30px;height:30px;min-width:30px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;margin-left:auto}.client-modal-close:hover{background:#ffffff1a;color:var(--color-text-primary)}.client-modal-header{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.client-modal-header h2{margin:0;font-size:1.05rem;font-weight:600;color:var(--color-text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-modal-body{padding:20px 24px 24px;display:flex;flex-direction:column;gap:20px}.client-section h4{margin:0 0 10px;font-size:.72rem;color:var(--color-text-subtle);font-weight:700;text-transform:uppercase;letter-spacing:.07em}.ai-summary-section h4{color:#4ade80}.client-desc-box{background:var(--color-bg-primary);border:1px solid var(--border-color);padding:14px;border-radius:8px;font-size:.87rem;line-height:1.6;white-space:pre-wrap;color:var(--color-text-secondary);transition:all .2s}.client-desc-box:hover{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 2%,transparent)}.client-desc-edit{width:100%;background:var(--color-bg-primary);border:1px solid var(--color-primary);border-radius:8px;padding:12px;color:var(--color-text-primary);font-size:.87rem;line-height:1.6;font-family:inherit;resize:vertical;outline:none}.edit-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.priority-badge{border:none;padding:4px 10px;border-radius:6px;font-size:.72rem;font-weight:700;text-transform:uppercase;cursor:pointer;transition:all .2s}.priority-badge:hover{filter:brightness(1.2)}.priority-low{background:#4b5563;color:#fff}.priority-standard{background:var(--color-primary);color:#fff}.priority-high{background:#f59e0b;color:#fff}.priority-urgent,.priority-pilnesos{background:#ef4444;color:#fff}.priority-select{background:var(--color-bg-secondary);border:1px solid var(--color-primary);color:var(--color-text-primary);font-size:.75rem;padding:4px 8px;border-radius:6px;outline:none}.btn-xs{padding:4px 8px!important;font-size:.7rem!important}.attachments-list{display:flex;flex-direction:column;gap:6px}.attachment-item{background:var(--color-bg-primary);border:1px solid var(--border-color);padding:9px 12px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:.82rem;transition:border-color .15s}.attachment-item:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,transparent)}.attachment-item a{color:var(--metallic-link, #60a5fa);text-decoration:none;display:flex;align-items:center;gap:6px}.attachment-item a:hover{text-decoration:underline}.checklist-items{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.client-checklist-item{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--color-text-primary)}.client-checkbox{background:none;border:none;padding:0;cursor:pointer;color:var(--color-text-subtle);display:flex;align-items:center;transition:color .15s;flex-shrink:0}.client-checkbox:hover{color:var(--color-primary)}.unchecked-box{display:block;width:15px;height:15px;border:1.5px solid rgba(255,255,255,.25);border-radius:3px}.client-comment-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto;padding-right:4px}.client-comment-item{padding:12px 14px;border-radius:10px;position:relative;max-width:88%;box-sizing:border-box}.client-comment-meta{display:flex;justify-content:space-between;font-size:.7rem;margin-bottom:5px;gap:8px}.client-comment-item p{margin:0;font-size:.86rem;line-height:1.5}.admin-msg{background:var(--color-bg-secondary);border:1px solid var(--border-color);align-self:flex-start}.admin-msg .client-comment-meta strong{color:var(--color-text-subtle)}.client-msg{background:color-mix(in srgb,var(--color-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);align-self:flex-end;margin-left:auto}.client-msg .client-comment-meta strong{color:var(--metallic-link, #60a5fa)}.del-comment-btn{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--color-text-subtle);cursor:pointer;opacity:0;transition:opacity .15s;display:flex;align-items:center;padding:2px}.client-msg:hover .del-comment-btn{opacity:1}.client-add-input-group{display:flex;gap:8px}.client-add-input-group input{flex:1;background:var(--color-bg-primary);border:1px solid var(--border-color);padding:9px 12px;border-radius:8px;color:var(--color-text-primary);font-size:.87rem;font-family:inherit;outline:none;transition:border-color .2s}.client-add-input-group input:focus{border-color:color-mix(in srgb,var(--color-primary) 50%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 10%,transparent)}.btn-sm{padding:7px 12px!important;font-size:.8rem!important}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--color-text-secondary);border-radius:8px;padding:9px 16px;font-size:.85rem;cursor:pointer;font-family:inherit;font-weight:500;transition:all .15s}.btn-outline:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:#ffffff26}:root[data-theme=light]{--modal-bg: #dcdce6}:root[data-theme=light] .client-modal-overlay{background:#0000004d}:root[data-theme=light] .client-modal-content{box-shadow:0 16px 48px #0000002e,0 0 0 1px #00000014}:root[data-theme=light] .client-modal-header{border-bottom-color:#0000001a}:root[data-theme=light] .client-modal-close{background:#0000000d;border-color:#0000001f;color:var(--color-text-subtle)}:root[data-theme=light] .client-modal-close:hover{background:#0000001a;color:var(--color-text-primary)}:root[data-theme=light] .client-desc-box{background:#0000000d;border-color:#0000001a;color:var(--color-text-secondary)}:root[data-theme=light] .attachment-item{background:#0000000a;border-color:#00000017}:root[data-theme=light] .attachment-item:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,transparent)}:root[data-theme=light] .unchecked-box{border-color:#00000040}:root[data-theme=light] .admin-msg{background:#0000000d;border-color:#0000001a}:root[data-theme=light] .client-msg{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 25%,transparent)}:root[data-theme=light] .client-add-input-group input,:root[data-theme=light] .client-add-input-group textarea{background:#0000000d;border-color:#0000001f;color:var(--color-text-primary)}:root[data-theme=light] .client-add-input-group input:focus,:root[data-theme=light] .client-add-input-group textarea:focus{border-color:color-mix(in srgb,var(--color-primary) 50%,transparent);background:#0000000a}:root[data-theme=light] .btn-outline{border-color:#00000026;color:var(--color-text-secondary)}:root[data-theme=light] .btn-outline:hover{background:#00000012;border-color:#0003}:root[data-theme=light] .status-badge.success{background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.25)}:root[data-theme=light] .status-badge.pending{background:#f59e0b1a;color:#b45309;border:1px solid rgba(245,158,11,.25)}.apr{display:flex;flex-direction:column;gap:18px}.apr-group{display:flex;flex-direction:column;gap:10px}.apr-label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.6}.apr-row{display:flex;flex-wrap:wrap;gap:10px}.apr-swatch{width:32px;height:32px;padding:0;border-radius:50%;cursor:pointer;background:var(--s);border:2px solid transparent;box-shadow:inset 0 1px 1px #ffffff40,0 0 0 1px #ffffff1f;transition:transform .15s ease,box-shadow .18s ease}.apr-swatch:hover{transform:scale(1.1)}.apr-swatch.is-on{box-shadow:0 0 0 2px var(--color-bg-primary, #09090b),0 0 0 4px var(--s)}.apr-bg{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;cursor:pointer;font:inherit;font-size:13px;color:inherit;background:transparent;border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:999px;transition:border-color .18s ease,background-color .18s ease}.apr-bg:hover{border-color:var(--color-text-subtle, #71717a)}.apr-bg.is-on{border-color:var(--color-primary, #3b82f6);background:var(--color-primary-glow, rgba(59, 130, 246, .2))}.apr-bg-chip{width:18px;height:18px;border-radius:50%;background:var(--s);box-shadow:0 0 0 1px #ffffff2e}@media(prefers-reduced-motion:reduce){.apr-swatch,.apr-bg{transition:none}}.apr-bg:has(.apr-bg-chip){padding-left:8px}.settings-gear-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:9px 16px;border-radius:8px;border:1px solid var(--border-color);background:#ffffff08;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;font-size:.85rem;font-weight:500;font-family:var(--font-family-sans)}.settings-gear-btn:after{content:"Ustawienia";font-size:.85rem;font-weight:600}.settings-gear-btn:hover,.settings-gear-btn.active{background:color-mix(in srgb,var(--color-primary) 8%,transparent);border-color:color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--metallic-link, #60a5fa)}.settings-overlay{position:fixed;inset:0;z-index:400;background:transparent}.settings-panel{position:fixed;top:0;right:0;width:500px;height:100vh;background:var(--sp-bg, #0f0f11);border-left:1px solid var(--border-color);z-index:500;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:-20px 0 60px #00000080;font-family:var(--font-family-sans)}.settings-panel.open{transform:translate(0)}.sp-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border-color);flex-shrink:0}.sp-header-title{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:600;color:var(--color-text-primary)}.sp-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:none;background:transparent;color:var(--color-text-subtle);cursor:pointer;transition:all .15s}.sp-close-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sp-tabs{display:flex;gap:2px;padding:10px 12px;border-bottom:1px solid var(--border-color);flex-shrink:0;background:var(--color-bg-primary)}.sp-tab{display:flex;align-items:center;gap:5px;padding:7px 10px;border:none;background:transparent;color:var(--color-text-subtle);border-radius:8px;cursor:pointer;font-size:.78rem;font-weight:500;font-family:inherit;transition:all .15s;white-space:nowrap}.sp-tab:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sp-tab.active{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--metallic-link, #60a5fa);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent)}.sp-body{flex:1;overflow-y:auto;padding:0}.sp-section-content{padding:20px;display:flex;flex-direction:column;gap:16px}.sp-section-label{font-size:.72rem;font-weight:700;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.08em}.sp-hint{font-size:.78rem;color:var(--color-text-subtle);margin:0;line-height:1.6}.sp-divider{border:none;border-top:1px solid var(--border-color);margin:4px 0}.sp-saving{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--color-text-subtle)}.sp-loader{display:flex;justify-content:center;align-items:center;padding:32px;color:var(--color-text-subtle)}.theme-toggle-group{display:flex;gap:10px}.theme-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;border:1px solid var(--border-color);border-radius:12px;background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;font-size:.82rem;font-weight:500;font-family:inherit;position:relative;transition:all .2s}.theme-option:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);color:var(--color-text-primary)}.theme-option.active{border-color:color-mix(in srgb,var(--color-primary) 50%,transparent);background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--metallic-link, #60a5fa)}.theme-check{position:absolute;top:10px;right:10px;color:var(--metallic-link, #60a5fa)}.view-toggle-group{display:flex;flex-direction:column;gap:8px}.view-option{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border-color);border-radius:10px;background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.view-option input[type=radio]{display:none}.view-option:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);color:var(--color-text-primary)}.view-option.active{border-color:color-mix(in srgb,var(--color-primary) 40%,transparent);background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--metallic-link, #60a5fa)}.view-option>div strong{display:block;font-size:.88rem;font-weight:600;margin-bottom:2px}.view-option>div span{display:block;font-size:.73rem;color:var(--color-text-subtle)}.modules-list{display:flex;flex-direction:column;gap:8px}.module-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--color-bg-secondary);border:1px solid var(--border-color);border-radius:10px;gap:12px}.module-info{display:flex;align-items:center;gap:12px;color:var(--color-text-secondary);flex:1}.module-info svg{flex-shrink:0;color:var(--color-text-subtle)}.module-info strong{display:block;font-size:.88rem;font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.module-info span{font-size:.73rem;color:var(--color-text-subtle)}.toggle-switch{position:relative;display:flex;align-items:center;cursor:pointer;flex-shrink:0}.toggle-switch input{display:none}.toggle-track{width:40px;height:22px;background:var(--color-bg-tertiary);border-radius:11px;position:relative;transition:background .2s;border:1px solid var(--border-color)}.toggle-track:after{content:"";position:absolute;width:16px;height:16px;background:var(--color-text-subtle);border-radius:50%;top:2px;left:2px;transition:all .2s}.toggle-switch input:checked+.toggle-track{background:color-mix(in srgb,var(--color-primary) 40%,transparent);border-color:color-mix(in srgb,var(--color-primary) 50%,transparent)}.toggle-switch input:checked+.toggle-track:after{background:var(--metallic-link, #60a5fa);transform:translate(18px)}.contacts-list{display:flex;flex-direction:column;gap:8px}.contact-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--color-bg-secondary);border:1px solid var(--border-color);border-radius:10px;position:relative;transition:border-color .15s}.contact-card:hover{border-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}.contact-avatar{width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);color:var(--metallic-link, #60a5fa);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.contact-details{flex:1;min-width:0}.contact-details strong{display:block;font-size:.88rem;color:var(--color-text-primary);margin-bottom:3px}.contact-role-badge{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:20px;margin-bottom:6px}.contact-role-badge.primary{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--metallic-link, #60a5fa);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent)}.contact-role-badge.secondary{background:#a1a1aa14;color:var(--color-text-subtle);border:1px solid var(--border-color)}.contact-meta{display:flex;align-items:center;gap:5px;font-size:.75rem;color:var(--color-text-subtle);margin-top:3px}.contact-delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-text-subtle);border-radius:6px;cursor:pointer;transition:all .15s;flex-shrink:0}.contact-delete-btn:hover{background:#ef44441f;color:#f87171}.btn-add-contact{display:flex;align-items:center;gap:6px;padding:10px 14px;border:1px dashed var(--border-color);border-radius:10px;background:transparent;color:var(--color-text-subtle);font-size:.82rem;font-weight:500;font-family:inherit;cursor:pointer;width:100%;justify-content:center;transition:all .2s}.btn-add-contact:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,transparent);color:var(--metallic-link, #60a5fa);background:color-mix(in srgb,var(--color-primary) 5%,transparent)}.add-contact-form{background:var(--color-bg-secondary);border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.contact-form-header{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--color-text-primary)}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-field{display:flex;flex-direction:column;gap:5px}.form-field label{display:flex;align-items:center;gap:4px;font-size:.73rem;color:var(--color-text-subtle);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.sp-input{width:100%;background:var(--color-bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--color-text-primary);font-size:.84rem;padding:8px 10px;font-family:inherit;transition:border-color .2s}.sp-input:focus{outline:none;border-color:color-mix(in srgb,var(--color-primary) 40%,transparent)}.form-actions{display:flex;justify-content:flex-end;gap:8px}.btn-cancel{padding:8px 14px;border:1px solid var(--border-color);border-radius:8px;background:transparent;color:var(--color-text-secondary);font-size:.82rem;cursor:pointer;font-family:inherit;transition:all .15s}.btn-cancel:hover{background:var(--color-bg-hover)}.btn-submit{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;background:var(--btn-metallic-bg);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s}.btn-submit:hover{background:var(--btn-metallic-hover-bg)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.sp-alert{padding:10px 14px;border-radius:8px;font-size:.82rem;font-weight:500}.sp-alert-error{background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#f87171}.sp-alert-success{background:#10b9811a;border:1px solid rgba(16,185,129,.25);color:#34d399}.company-info-cards{display:flex;flex-direction:column;gap:8px}.info-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--color-bg-secondary);border:1px solid var(--border-color);border-radius:10px}.info-card-icon{width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--metallic-link, #60a5fa);display:flex;align-items:center;justify-content:center;flex-shrink:0}.info-card-label{display:block;font-size:.7rem;font-weight:600;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}.info-card-value{display:block;font-size:.88rem;color:var(--color-text-primary);font-weight:500}.info-card-full{align-items:flex-start}.info-readonly-notice{display:flex;align-items:center;gap:4px;font-size:.73rem;color:var(--color-text-subtle);padding:4px 0;font-style:italic}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}.status-order-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.status-order-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--color-bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:grab;transition:all .2s;-webkit-user-select:none;user-select:none}.status-order-item:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);background:color-mix(in srgb,var(--color-primary) 2%,transparent)}.status-order-item.dragging{opacity:.5;background:var(--color-bg-tertiary);cursor:grabbing}.status-order-info{display:flex;align-items:center;gap:10px}.grip-handle{color:var(--color-text-subtle);cursor:grab}.status-dot-small{width:8px;height:8px;border-radius:50%}.status-visible-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:transparent;color:var(--color-text-subtle);border-radius:6px;cursor:pointer;transition:all .15s}.status-visible-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.status-visible-btn.active{color:var(--metallic-link, #60a5fa)}.btn-restart-tour{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--color-text-secondary);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s;width:100%}.btn-restart-tour:hover{border-color:var(--metallic-link, #60a5fa);color:var(--metallic-link, #60a5fa);background:color-mix(in srgb,var(--color-primary) 5%,transparent)}:root[data-theme=light]{--sp-bg: #f8f9fa;--color-bg-primary: #f1f3f5;--color-bg-secondary: #ffffff;--color-bg-tertiary: #e9ecef;--color-bg-hover: rgba(0, 0, 0, .06);--color-text-primary: #1a1a2e;--color-text-secondary: #495057;--color-text-subtle: #868e96;--border-color: rgba(0, 0, 0, .1);--sidebar-bg: #ffffff;--card-bg: #ffffff;--input-bg: rgba(0, 0, 0, .04)}.kanban-board{display:flex;gap:14px;padding:24px 32px;overflow-x:auto;min-height:calc(100vh - 120px);align-items:flex-start}.kanban-column{flex-shrink:0;width:260px;background:var(--color-bg-secondary);border:1px solid var(--border-color);border-radius:14px;display:flex;flex-direction:column;max-height:calc(100vh - 160px);overflow:hidden;transition:all .2s ease}.kanban-column.drop-target{border-color:var(--metallic-link, #60a5fa);background:color-mix(in srgb,var(--color-primary) 5%,transparent);box-shadow:inset 0 0 10px color-mix(in srgb,var(--color-primary) 10%,transparent)}.kanban-column.column-dragging{opacity:.4;border:1px dashed var(--color-primary)}.kanban-col-header[draggable]:active{cursor:grabbing}.kanban-col-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.kanban-col-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kanban-col-title{flex:1;font-size:.8rem;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em}.kanban-col-count{background:var(--color-bg-tertiary);color:var(--color-text-subtle);font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:20px;border:1px solid var(--border-color)}.kanban-col-body{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.kanban-card{background:var(--color-bg-primary);border:1px solid var(--border-color);border-radius:10px;padding:14px;cursor:default;transition:all .15s}.kanban-card.can-drag{cursor:grab}.kanban-card.can-drag:active{cursor:grabbing}.kanban-card:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,transparent);box-shadow:0 4px 16px #0003;transform:translateY(-1px)}.kanban-card.dragging{opacity:.5;transform:rotate(1deg)}.kanban-card-title{font-size:.87rem;font-weight:600;color:var(--color-text-primary);margin-bottom:6px;line-height:1.4}.kanban-card-desc{font-size:.76rem;color:var(--color-text-subtle);margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.kanban-card-footer{display:flex;align-items:center;gap:10px;padding-top:8px;border-top:1px solid var(--border-color)}.kanban-card-meta{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--color-text-subtle)}.kanban-badge-urgent{margin-left:auto;background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.2);font-size:.65rem;font-weight:800;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.kanban-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--color-text-subtle);font-size:.78rem}.kanban-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;border:none;border-top:1px solid var(--border-color);background:transparent;color:var(--color-text-subtle);font-size:.78rem;font-weight:500;font-family:inherit;cursor:pointer;border-radius:0 0 13px 13px;transition:all .15s;flex-shrink:0}.kanban-add-btn:hover{background:color-mix(in srgb,var(--color-primary) 6%,transparent);color:var(--metallic-link, #60a5fa)}.kanban-board::-webkit-scrollbar{height:6px}.kanban-board::-webkit-scrollbar-track{background:transparent}.kanban-board::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:20px}.kanban-col-body::-webkit-scrollbar{width:4px}.kanban-col-body::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:20px}:root[data-theme=light] .kanban-card:hover{box-shadow:0 4px 12px #0000001a;border-color:color-mix(in srgb,var(--color-primary) 35%,transparent)}:root[data-theme=light] .kanban-add-btn:hover{background:color-mix(in srgb,var(--color-primary) 7%,transparent);color:color-mix(in srgb,var(--color-primary) 80%,#000)}.notifications-panel{padding:24px 32px;height:100%;overflow-y:auto;color:var(--color-text-primary)}.np-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.np-header h2{margin:0;font-size:1.25rem;font-weight:600}.btn-mark-read{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border-color);padding:6px 12px;border-radius:6px;color:var(--color-text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s}.btn-mark-read:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.np-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 0;color:var(--color-text-subtle)}.np-list{display:flex;flex-direction:column;gap:12px}.np-item{display:flex;gap:16px;background:var(--color-bg-secondary);border:1px solid var(--border-color);padding:16px;border-radius:10px;transition:all .2s}.np-item.unread{border-left:3px solid var(--color-primary);background:var(--color-bg-tertiary)}.np-item-icon{width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.np-item-content{flex:1}.np-item-content strong{display:block;font-size:.95rem;margin-bottom:4px}.np-item-content strong.clickable{cursor:pointer;color:var(--color-primary)}.np-item-content strong.clickable:hover{text-decoration:underline}.np-item-content p{margin:0 0 8px;font-size:.85rem;color:var(--color-text-secondary);line-height:1.4}.np-date{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--color-text-subtle)}.np-item-actions{display:flex;gap:8px;opacity:0;transition:opacity .2s}.np-item:hover .np-item-actions{opacity:1}.np-item-actions button{background:transparent;border:none;color:var(--color-text-subtle);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.np-item-actions button:hover{background:#ffffff1a;color:var(--color-text-primary)}.np-item-actions button.delete:hover{background:#ef44441a;color:var(--color-danger)}:root[data-theme=light] .btn-mark-read:hover{background:#0000000d}:root[data-theme=light] .np-item-actions button:hover{background:#0000000d}.client-chat-container{display:flex;height:100%;width:100%;background:var(--color-bg-primary);overflow:hidden;position:relative}.chat-sidebar{width:320px;min-width:320px;border-right:1px solid var(--border-color);display:flex;flex-direction:column;background:var(--color-bg-secondary)}.chat-sidebar-header{padding:16px 20px;border-bottom:1px solid var(--border-color)}.chat-sidebar-header h3{margin:0;font-size:1.1rem;font-weight:600}.project-tabs{display:flex;flex-direction:column;padding:10px;border-bottom:1px solid var(--border-color)}.project-tab{background:none;border:none;text-align:left;padding:10px 14px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--color-text-secondary);transition:all .2s}.project-tab:hover{background:#ffffff0d}.project-tab.active{background:var(--color-primary);color:#fff}.sidebar-search{padding:12px 16px;border-bottom:1px solid var(--border-color);position:relative}.search-icon{position:absolute;left:26px;top:50%;transform:translateY(-50%);color:var(--color-text-subtle)}.sidebar-search input{width:100%;padding:8px 10px 8px 30px;border-radius:6px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--color-text-primary);font-size:.85rem;outline:none}.thread-tabs{display:flex;gap:8px;padding:0 16px 12px;border-bottom:1px solid var(--border-color)}.thread-tab{flex:1;background:var(--input-bg);border:1px solid var(--border-color);color:var(--color-text-secondary);padding:6px;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.thread-tab:hover{background:#ffffff0d}.thread-tab.active{background:color-mix(in srgb,var(--color-primary) 15%,transparent);border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);color:var(--color-primary)}.threads-list{flex:1;overflow-y:auto;padding:10px}.threads-title{font-size:.7rem;font-weight:700;color:var(--color-text-subtle);margin-bottom:8px;padding:0 6px;letter-spacing:.05em}.thread-item{display:flex;align-items:center;padding:10px;border-radius:8px;cursor:pointer;transition:background .2s;margin-bottom:4px}.thread-item:hover{background:#ffffff08}.thread-item.active{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent)}.thread-item.unread{background:#ef44440d;border-left:3px solid #ef4444}.thread-icon{margin-right:12px;color:var(--color-text-subtle);display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--input-bg);border-radius:6px}.thread-item.active .thread-icon{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 15%,transparent)}.thread-item.unread .thread-icon{color:#ef4444;background:#ef444426}.thread-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.thread-header-row{display:flex;justify-content:space-between;align-items:center;width:100%}.unread-count-badge{background-color:#ef4444;color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px;margin-left:8px;box-shadow:0 1px 3px #ef44444d;flex-shrink:0}.thread-name{font-size:.85rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-id{color:var(--color-primary);margin-right:4px;font-size:.8rem}.thread-status{font-size:.7rem;color:var(--color-text-subtle);margin-top:2px}.chat-main{flex:1;display:flex;flex-direction:column;background:var(--color-bg-primary)}.chat-header{height:64px;min-height:64px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--color-bg-secondary)}.chat-header h2{margin:0;font-size:1.1rem}.chat-subtitle{font-size:.75rem;color:var(--color-text-subtle)}.chat-messages{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.chat-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-subtle)}.message-wrapper{display:flex;width:100%}.message-out{justify-content:flex-end}.message-in{justify-content:flex-start}.message-content{max-width:65%;display:flex;flex-direction:column}.message-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;font-size:.7rem;color:var(--color-text-subtle);padding:0 4px}.message-out .message-meta{flex-direction:row-reverse}.message-meta .time{display:flex;align-items:center;gap:3px;opacity:.6}.message-bubble{padding:12px 16px;border-radius:12px;font-size:.9rem;line-height:1.5;word-break:break-word;white-space:pre-wrap;box-shadow:0 2px 4px #0000000d}.message-in .message-bubble{background:var(--color-bg-secondary);border:1px solid var(--border-color);border-top-left-radius:4px}.message-out .message-bubble{background:var(--color-primary);color:#fff;border-top-right-radius:4px}.chat-date-separator{text-align:center;margin:16px 0;position:relative;display:flex;justify-content:center;align-items:center}.chat-date-separator:before{content:"";position:absolute;left:0;right:0;height:1px;background:var(--border-color);z-index:0}.chat-date-separator span{background:var(--color-bg-primary);padding:0 12px;color:var(--color-text-subtle);font-size:.7rem;font-weight:600;z-index:1;text-transform:uppercase;letter-spacing:.05em}.chat-input-area{padding:16px 24px;border-top:1px solid var(--border-color);background:var(--color-bg-secondary);display:flex;align-items:flex-end;gap:12px}.chat-input{flex:1;background:var(--input-bg);border:1px solid var(--border-color);border-radius:20px;padding:14px 20px;resize:none;height:50px;min-height:50px;max-height:150px;font-family:inherit;font-size:.9rem;color:var(--color-text-primary);outline:none;transition:border-color .2s}.chat-input:focus{border-color:var(--color-primary)}.chat-attach-btn{width:50px;height:50px;border-radius:50%;background:var(--input-bg);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.chat-attach-btn:hover{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}.chat-send-btn{width:50px;height:50px;border-radius:50%;background:var(--color-primary);border:none;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px color-mix(in srgb,var(--color-primary) 20%,transparent)}.chat-send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.chat-send-btn:disabled{background:var(--border-color);cursor:not-allowed;box-shadow:none;transform:none}.spot-root{position:fixed;inset:0;z-index:4000}.spot-dim{position:absolute;inset:0;background:#0000008c;animation:spot-fade .2s ease-out both}.spot-hole{position:absolute;border-radius:12px;pointer-events:none;box-shadow:0 0 0 9999px #0000008c,0 0 0 2px var(--color-primary, #3b82f6);transition:top .35s cubic-bezier(.2,.8,.2,1),left .35s cubic-bezier(.2,.8,.2,1),width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1)}.spot-bubble{position:absolute;padding:18px 18px 14px;border-radius:14px;color:var(--color-text-primary, #fafafa);background:var(--card-bg, #18181b);border:1px solid var(--border-color, rgba(255, 255, 255, .1));box-shadow:0 2px 6px #00000059,0 24px 60px -16px #0009;transition:top .35s cubic-bezier(.2,.8,.2,1),left .35s cubic-bezier(.2,.8,.2,1);animation:spot-pop .25s ease-out both}.spot-bubble h3{margin:6px 0;font-size:1.02rem;font-weight:600}.spot-bubble p{margin:0 0 14px;font-size:.88rem;line-height:1.55;color:var(--color-text-secondary, #a1a1aa)}.spot-close{position:absolute;top:10px;right:10px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;border-radius:6px;cursor:pointer;color:var(--color-text-subtle, #71717a)}.spot-close:hover{background:var(--color-bg-hover, rgba(255, 255, 255, .06));color:var(--color-text-primary, #fafafa)}.spot-progress{display:flex;gap:4px;margin-right:32px}.spot-progress span{flex:1;height:3px;border-radius:2px;background:var(--color-bg-tertiary, #27272a)}.spot-progress span.is-on{background:var(--color-primary, #3b82f6)}.spot-actions{display:flex;align-items:center;gap:10px}.spot-count{margin-left:auto;margin-right:auto;font-size:.75rem;color:var(--color-text-subtle, #71717a);font-variant-numeric:tabular-nums}.spot-btn{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 12px;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;color:inherit;background:var(--color-bg-tertiary, #27272a);border:1px solid var(--border-color, transparent);border-radius:8px}.spot-btn:disabled{opacity:.4;cursor:default}.spot-btn--primary{color:#fff;background:var(--btn-metallic-bg, var(--color-primary, #3b82f6));border:var(--btn-metallic-border, 1px solid transparent);box-shadow:var(--btn-metallic-shadow, none)}@keyframes spot-fade{0%{opacity:0}to{opacity:1}}@keyframes spot-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.spot-hole,.spot-bubble,.spot-dim{transition:none;animation:none}}.rv{--rv-ok: #1f7a4d;--rv-ok-bg: rgba(31, 122, 77, .12);--rv-warn: #b45309;--rv-warn-bg: rgba(217, 119, 6, .14);--rv-bad: #b91c1c;color:var(--color-text-primary);animation:rv-in .25s ease-out both}:root:not([data-theme=light]) .rv{--rv-ok: #6fc59a;--rv-ok-bg: rgba(111, 197, 154, .14);--rv-warn: #e0a85b;--rv-warn-bg: rgba(224, 168, 91, .14);--rv-bad: #f08b90}@keyframes rv-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rv h1{margin:2px 0;font-size:2rem;font-weight:500;letter-spacing:-.02em}.rv h3{margin:28px 0 12px;font-size:1.05rem;font-weight:600}.rv h4{margin:0;font-size:1.05rem}.rv-muted{color:var(--color-text-subtle);font-size:.85rem}.rv-eyebrow{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-subtle)}.rv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.rv-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rv-month{display:inline-flex;align-items:center;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.rv-month button,.rv-month select{height:34px;background:transparent;color:inherit;border:0;font:inherit;font-size:.85rem;padding:0 10px;cursor:pointer}.rv-month button:disabled{opacity:.35;cursor:default}.rv-export{display:inline-flex;gap:6px}.rv-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--border-color);background:transparent;color:inherit;font:inherit;font-size:.82rem;font-weight:500;text-decoration:none;cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.rv-btn:hover:not(:disabled){border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.rv-btn:disabled{opacity:.5;cursor:default}.rv-btn--primary{background:var(--btn-metallic-bg, var(--color-primary));border-color:transparent;color:#fff}.rv-btn--yes:hover:not(:disabled){border-color:var(--rv-ok);background:var(--rv-ok-bg)}.rv-btn--no:hover:not(:disabled){border-color:var(--rv-bad);background:#b91c1c1a}.rv-icon{display:inline-flex;background:none;border:0;cursor:pointer;color:inherit;padding:4px}.rv-link,.rv-link-btn{color:var(--metallic-link, var(--color-primary));font-size:.82rem;background:none;border:0;padding:0;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:4px;margin-top:6px}.rv-link-btn{margin:0 0 0 10px;text-decoration:underline}.rv-offer{display:flex;align-items:center;gap:12px;margin-top:16px;padding:10px 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--color-primary) 35%,var(--border-color));background:color-mix(in srgb,var(--color-primary) 8%,transparent);font-size:.88rem}.rv-offer span{flex:1}.rv-tabs{display:flex;gap:4px;margin:22px 0 0;border-bottom:1px solid var(--border-color);overflow-x:auto}.rv-tabs button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:none;border:0;border-bottom:2px solid transparent;color:var(--color-text-subtle);font:inherit;font-size:.9rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .18s ease,border-color .18s ease}.rv-tabs button:hover{color:var(--color-text-primary)}.rv-tabs button.is-on{color:var(--color-text-primary);border-bottom-color:var(--color-primary)}.rv-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:.7rem;display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff}.rv-badge.is-warn{background:var(--rv-warn-bg);color:var(--rv-warn)}.rv-panel{padding-top:6px;animation:rv-in .2s ease-out both}.rv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:20px}.rv-kpi{padding:18px 18px 16px;border-radius:12px;background:var(--color-bg-secondary);border:1px solid var(--border-color)}.rv-kpi-value{font-size:2rem;line-height:1.1;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.rv-kpi-label{margin-top:6px;font-size:.85rem;font-weight:500}.rv-kpi-sub{margin-top:2px;font-size:.75rem;color:var(--color-text-subtle)}.rv-banner{margin-top:14px;padding:12px 16px;border-radius:10px;font-size:.9rem;font-weight:500}.rv-banner--ok{background:var(--rv-ok-bg);color:var(--rv-ok)}.rv-banner--warn{background:var(--rv-warn-bg);color:var(--rv-warn)}.rv-banner--info{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--metallic-link, var(--color-primary))}.rv-highlights{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.rv-highlights li{display:flex;gap:14px;align-items:flex-start}.rv-num{flex:none;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);font-size:.8rem;font-weight:600}.rv-decision{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:18px;padding:18px 0;border-bottom:1px solid var(--border-color)}@media(max-width:760px){.rv-decision{grid-template-columns:1fr}}.rv-decision-title{font-weight:600;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.rv-status{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-subtle);font-weight:500}.rv-decision-reason{margin-top:6px;font-size:.9rem;line-height:1.5}.rv-buttons{display:flex;gap:8px;flex-wrap:wrap}.rv-comment{margin-top:10px;display:flex;flex-direction:column;gap:8px}.rv-comment textarea{width:100%;resize:vertical;padding:10px 12px;font:inherit;font-size:.88rem;color:inherit;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px}.rv-comment-actions{display:flex;justify-content:flex-end;gap:8px}.rv-history{list-style:none;margin:12px 0 0;padding:10px 12px;border-radius:8px;background:var(--color-bg-secondary);font-size:.82rem;display:flex;flex-direction:column;gap:6px}.rv-error{margin-top:8px;color:var(--rv-bad);font-size:.82rem}.rv-empty{padding:28px;text-align:center;color:var(--color-text-subtle);border:1px dashed var(--border-color);border-radius:12px;margin-top:12px}.rv-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0;padding:10px 14px;border:1px solid var(--border-color);border-radius:10px;background:var(--color-bg-secondary)}.rv-toolbar select{height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--border-color);background:var(--input-bg);color:inherit;font:inherit;font-size:.85rem}.rv-check{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;cursor:pointer}.rv-toggle{margin-left:auto;display:inline-flex;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.rv-toggle button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;background:none;border:0;color:var(--color-text-subtle);font:inherit;font-size:.82rem;cursor:pointer}.rv-toggle button.is-on{background:color-mix(in srgb,var(--color-primary) 16%,transparent);color:var(--color-text-primary)}.rv-card{padding:20px 22px;margin-bottom:16px;border:1px solid var(--border-color);border-radius:12px;background:var(--color-bg-secondary)}.rv-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.rv-url{font-size:.8rem;color:var(--color-text-subtle);text-decoration:none}.rv-pill{display:inline-flex;padding:4px 12px;border-radius:999px;font-size:.75rem;font-weight:500;white-space:nowrap}.rv-pill--ok{background:var(--rv-ok-bg);color:var(--rv-ok)}.rv-pill--warn{background:var(--rv-warn-bg);color:var(--rv-warn)}.rv-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 14px}@media(max-width:900px){.rv-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.rv-metric-label{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle)}.rv-metric-value{margin-top:3px;font-size:1.05rem;font-weight:600;font-variant-numeric:tabular-nums}.rv-metric-note{font-size:.74rem;min-height:1em}.rv-diff{margin-top:2px;font-size:.7rem;color:var(--color-text-subtle)}.rv-diff.is-good{color:var(--rv-ok)}.rv-diff.is-bad,.rv-tone-warn{color:var(--rv-warn)}.rv-tone-muted{color:var(--color-text-subtle)}.rv-tone-ok{color:inherit}.rv-chart{margin-top:18px;padding-top:14px;border-top:1px solid var(--border-color)}.rv-chart-title{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle);margin-bottom:8px}.rv-chart-title span{text-transform:none;letter-spacing:0;font-size:.75rem}.rv-bars{display:flex;align-items:flex-end;gap:2px}.rv-bar{flex:1;min-width:3px;border:0;padding:0;border-radius:2px 2px 0 0;cursor:pointer;opacity:.85;transition:opacity .15s ease,transform .15s ease}.rv-bar:hover,.rv-bar.is-picked{opacity:1;transform:scaleY(1.06)}.rv-bar--ok{background:var(--color-text-secondary)}.rv-bar--warn{background:#d68910}.rv-bar--bad{background:#b91c1c}.rv-bar--muted{background:var(--border-color)}.rv-bars-note{margin-top:6px;font-size:.78rem;color:var(--color-text-subtle);min-height:1.2em}.rv-incidents{margin-top:18px;padding-top:14px;border-top:1px solid var(--border-color)}.rv-incident{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:7px 0;font-size:.85rem;border-bottom:1px solid var(--border-color)}.rv-incident span:last-child{text-align:right}.rv-trend{display:flex;align-items:flex-end;gap:8px;height:150px;padding:10px 0}.rv-trend-col{flex:1;max-width:64px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.rv-trend-bar{width:100%;border-radius:4px 4px 0 0;background:var(--color-bg-tertiary)}.rv-trend-col.is-current .rv-trend-bar{background:var(--color-primary)}.rv-trend-value{font-size:.66rem;color:var(--color-text-subtle)}.rv-trend-label{font-size:.7rem;text-transform:uppercase;color:var(--color-text-subtle)}.rv-table-wrap{overflow-x:auto;border:1px solid var(--border-color);border-radius:12px}.rv-table{width:100%;border-collapse:collapse;font-size:.88rem}.rv-table th{text-align:left;padding:10px 14px;background:var(--color-bg-secondary);border-bottom:1px solid var(--border-color);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-subtle)}.rv-table th button{background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:0}.rv-table td{padding:12px 14px;border-bottom:1px solid var(--border-color)}.rv-timeline{margin-bottom:14px}.rv-timeline ul{margin:6px 0 0;padding-left:18px}@media(prefers-reduced-motion:reduce){.rv,.rv-panel{animation:none}.rv-bar{transition:none}}.rv-kpis{gap:16px;margin-top:24px}.rv-kpi{padding:22px 24px 20px;border-radius:14px}.rv-kpi-label{margin-top:10px}.rv-kpi-sub{margin-top:4px}.rv-banner{padding:14px 18px;margin-top:16px;line-height:1.5}.rv h3{margin:34px 0 14px}.rv-highlights{gap:18px}.rv-head-actions{gap:12px}.rv-tabs{margin-top:28px;gap:6px}.rv-tabs button{padding:12px 18px}.rv select,.rv-month select,.rv-toolbar select{-webkit-appearance:none;appearance:none;height:38px;padding:0 38px 0 14px;line-height:38px;font:inherit;font-size:.88rem;color:inherit;border:1px solid var(--border-color);border-radius:8px;background-color:var(--input-bg);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238e8e98' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px 14px}.rv select:focus-visible,.rv textarea:focus-visible{outline:2px solid var(--metallic-link, var(--color-primary));outline-offset:1px}.rv-month{padding:0;border-radius:10px;gap:0;background:var(--input-bg)}.rv-month select{border:0;border-radius:0;min-width:168px;background-color:transparent;height:38px}.rv-month button{height:38px;width:38px;padding:0;display:inline-flex;align-items:center;justify-content:center}.rv-btn{height:38px;padding:0 16px;gap:8px;border-radius:10px}.rv-export{gap:8px}.rv-toolbar{gap:16px 22px;padding:14px 18px;border-radius:12px;margin:22px 0}.rv-check{gap:10px;line-height:1}.rv-check input{width:16px;height:16px;margin:0;accent-color:var(--color-primary)}.rv-toggle{border-radius:10px}.rv-toggle button{height:36px;padding:0 16px;gap:8px}.rv-card{padding:26px 28px;border-radius:14px;margin-bottom:20px}.rv-card-head{margin-bottom:22px}.rv-metrics{gap:22px 18px}.rv-metric-note{margin-top:2px}.rv-chart{margin-top:24px;padding-top:20px}.rv-chart-title{margin-bottom:12px}.rv-incidents{margin-top:24px;padding-top:20px}.rv-incident{padding:10px 0}.rv-decision{padding:26px 0;gap:24px}.rv-decision-reason{margin-top:10px}.rv-buttons{gap:10px}.rv-comment{margin-top:14px;gap:12px}.rv-comment textarea{padding:14px 16px;border-radius:10px;line-height:1.5}.rv-history{padding:14px 16px;margin-top:16px;gap:8px;border-radius:10px}.rv-offer{padding:14px 18px;gap:16px;border-radius:12px}.rv-table th{padding:12px 16px}.rv-table td{padding:14px 16px}@media(max-width:760px){.rv-card{padding:20px 18px}.rv-kpi{padding:18px}.rv-month select{min-width:130px}}.rv-chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:.74rem;font-weight:600;letter-spacing:0;text-transform:none}.rv-chip--approved{background:var(--rv-ok-bg);color:var(--rv-ok)}.rv-chip--rejected{background:#b91c1c24;color:var(--rv-bad)}.rv-chip--comment{background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--metallic-link, var(--color-primary))}.rv-decision.is-answered{border-left:3px solid var(--border-color);padding-left:14px}.otl-screen{--otl-surface: var(--card-bg, #18181b);--otl-card: color-mix(in srgb, var(--otl-text) 4%, var(--otl-surface));--otl-border: var(--border-color, rgba(255, 255, 255, .08));--otl-text: var(--color-text-primary, #fafafa);--otl-text-2: var(--color-text-secondary, #a1a1aa);--otl-line: color-mix(in srgb, var(--otl-text) 16%, transparent);--otl-locked: color-mix(in srgb, var(--otl-text) 30%, transparent);display:flex;flex-direction:column;gap:18px;width:100%;max-width:none;margin:0;padding:20px 28px 48px;box-sizing:border-box;color:var(--otl-text);font-size:14px}.otl-screen *,.otl-screen *:before,.otl-screen *:after{box-sizing:border-box}.otl-screen button{font:inherit;color:inherit}.otl-screen ul,.otl-screen ol{list-style:none;margin:0;padding:0}.otl-screen p{margin:0}.otl-topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.otl-back,.otl-close{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--otl-border);background:var(--otl-card);cursor:pointer;font-size:13px;font-weight:600}.otl-close{margin-left:auto;padding:0;width:32px;justify-content:center}.otl-back:hover,.otl-close:hover{border-color:var(--otl-locked)}.otl-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:13px;color:var(--otl-text-2);min-width:0}.otl-crumb{display:inline-flex;align-items:center;min-width:0}.otl-crumb+.otl-crumb:before{content:"/";margin:0 6px;color:var(--otl-locked)}.otl-crumb--root{font-weight:700;color:var(--otl-text)}.otl-crumb button{background:none;border:0;padding:2px 0;cursor:pointer;color:var(--color-primary, #60a5fa);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:transparent}.otl-crumb button:hover{text-decoration-color:currentColor}.otl-crumb span{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.otl-crumb span[aria-current]{color:var(--otl-text);font-weight:600}.otl-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px}.otl-head-text{display:flex;flex-direction:column;gap:6px;min-width:0}.otl-head-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.otl-title{margin:0;font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.otl-head-meta{font-size:13px;color:var(--otl-text-2)}.otl-ticket{font-variant-numeric:tabular-nums;font-weight:600;color:var(--otl-text-2);white-space:nowrap}.otl-ticket--lg{font-size:15px}.otl-empty{padding:48px 16px;text-align:center;color:var(--otl-text-2);background:var(--otl-surface);border:1px solid var(--otl-border);border-radius:14px}.otl-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:var(--otl-text-2)}.otl-legend li{display:inline-flex;align-items:center;gap:8px}.otl-legend-node{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid var(--c, var(--otl-locked))}.otl-legend-rings{display:inline-flex}.otl-legend-rings .otl-ring{width:14px;height:14px;margin-left:-6px}.otl-legend-rings .otl-ring:first-child{margin-left:0}.otl-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c) 60%,transparent);font-size:11.5px;font-weight:600;white-space:nowrap;color:var(--otl-text)}.otl-chip svg{color:var(--c)}.otl-chip--icon{width:24px;height:24px;padding:0;justify-content:center}.otl-card-meta{display:flex;align-items:center;gap:12px}.otl-meta-item{display:inline-flex;align-items:center;gap:4px}.otl-attn{display:inline-flex;align-items:center;gap:6px;color:#f59e0b;font-size:11.5px;font-weight:700}.otl-attn--compact{margin-left:auto}.otl-card.is-attn{border-color:color-mix(in srgb,#f59e0b 55%,var(--otl-border));box-shadow:inset 3px 0 #f59e0b}.otl-subbar-title+.otl-attn--compact{margin-left:0}.otl-filters{display:flex;flex-wrap:wrap;gap:8px}.otl-filter{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;cursor:pointer;font-size:12.5px;font-weight:600;border-radius:999px;background:var(--otl-card);border:1px solid var(--otl-border)}.otl-filter svg{color:var(--c, currentColor)}.otl-filter b{font-weight:700;color:var(--otl-text-2)}.otl-filter:hover{border-color:var(--otl-locked)}.otl-filter.is-on{border-color:var(--c, var(--otl-text));background:color-mix(in srgb,var(--c, var(--otl-text)) 14%,transparent)}.otl-filter--attn{color:#f59e0b}.otl-filter--attn svg{color:#f59e0b}.otl-filter--attn.is-on{border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 14%,transparent)}.otl-group{margin-top:28px;padding-top:6px;border-top:1px solid var(--otl-border)}.otl-group:first-of-type{margin-top:8px}.otl-group-head{display:flex;align-items:center;gap:9px;width:calc(100% - 44px);margin:14px 0 4px 44px;padding:6px 10px;background:none;border:0;border-bottom:1px solid var(--otl-border);text-align:left;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--otl-text-2);cursor:pointer}.otl-group-head:disabled{cursor:default}.otl-group-head svg:first-child{color:var(--c)}.otl-group-count{padding:0 8px;border-radius:999px;background:var(--otl-card);border:1px solid var(--otl-border);color:var(--otl-text)}.otl-group-attn{color:#f59e0b}.otl-group-chevron{margin-left:auto;transition:transform .15s ease}.otl-group-chevron.is-open{transform:rotate(180deg)}.otl-node{display:flex;align-items:center;justify-content:center;padding:0;flex:none;border-radius:50%;border:2px solid var(--c);background:transparent;color:var(--c);transition:transform .15s ease,opacity .15s ease}button.otl-node{cursor:pointer}button.otl-node:hover{transform:scale(1.08)}.otl-node:focus-visible,.otl-node.is-selected{outline:2px solid var(--otl-text);outline-offset:4px}.otl-node--sm{width:28px;height:28px}.otl-node--md{width:40px;height:40px}.otl-node--lg{width:52px;height:52px}.otl-node--past{opacity:.42}button.otl-node--past:hover{opacity:.85}.otl-node--done{box-shadow:0 0 16px color-mix(in srgb,var(--c) 50%,transparent)}.otl-node--current{box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 22%,transparent),0 0 18px color-mix(in srgb,var(--c) 55%,transparent);animation:otl-pulse 1.8s ease-out infinite}.otl-node--future{border-style:dashed;border-color:var(--otl-locked);color:var(--otl-locked)}@keyframes otl-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--c) 60%,transparent),0 0 18px color-mix(in srgb,var(--c) 55%,transparent)}to{box-shadow:0 0 0 13px transparent,0 0 18px color-mix(in srgb,var(--c) 55%,transparent)}}@media(prefers-reduced-motion:reduce){.otl-node--current{animation:none}}.otl-node-wrap{display:flex;flex-direction:column;align-items:center;gap:15px;flex:none}.otl-node-wrap--sm{width:76px}.otl-node-wrap--md{width:92px}.otl-node-wrap--lg{width:108px}.otl-node-wrap--rings{width:auto;min-width:92px}.otl-node-label{display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.35;max-width:100%;min-height:31px}.otl-node-name{font-size:11.5px;font-weight:600;white-space:nowrap}.otl-node-sub{font-size:11px;color:var(--otl-text-2);white-space:nowrap}.otl-node-wrap--lg .otl-node-name{font-size:12.5px}.otl-node-label--past .otl-node-name,.otl-node-label--future .otl-node-name{color:var(--otl-text-2);font-weight:500}.otl-path{display:flex;align-items:flex-start}.otl-step{display:flex;flex-direction:column;align-items:center;flex:none}.otl-line-wrap{display:flex;align-items:center;flex:0 0 22px}.otl-line-wrap--sm{height:28px;flex-basis:12px}.otl-line-wrap--md{height:40px}.otl-line-wrap--lg{height:52px;flex:1 1 28px;min-width:16px}.otl-line{display:block;width:100%;border-top:2px solid var(--c)}.otl-line--past{opacity:.42}.otl-line--future{border-top-style:dashed;border-color:var(--otl-locked)}.otl-rings{display:flex;align-items:center;height:40px;padding:0 2px;background:none;border:0;cursor:pointer}.otl-ring{display:block;width:26px;height:26px;border-radius:50%;border:2px solid var(--c);opacity:.5;margin-left:-11px;transition:opacity .15s ease}.otl-ring:first-child{margin-left:0}.otl-rings:hover .otl-ring{opacity:.9}.otl-rings:focus-visible{outline:2px solid var(--otl-text);outline-offset:4px;border-radius:999px}.otl-tree{background:var(--otl-surface);border:1px solid var(--otl-border);border-radius:14px;padding:14px 10px 18px 14px;overflow-x:auto}.otl-tree-inner{min-width:720px}.otl-root{position:relative;display:flex;align-items:center;gap:12px;min-height:48px;padding-left:44px;font-size:13px;color:var(--otl-text-2)}.otl-root strong{color:var(--otl-text)}.otl-root:after{content:"";position:absolute;left:19px;top:36px;bottom:0;width:2px;background:var(--otl-line)}.otl-root-mark{position:absolute;left:7px;top:11px;width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--otl-text);color:var(--otl-surface)}.otl-branch{position:relative;padding-left:44px}.otl-branch:before{content:"";position:absolute;left:19px;top:0;bottom:0;width:2px;background:var(--otl-line)}.otl-group:last-child .otl-branch:last-of-type:before{bottom:auto;height:52px}.otl-task-row{position:relative;display:flex;align-items:center;gap:22px;min-height:96px;padding:8px 0}.otl-task-row:before{content:"";position:absolute;left:-24px;top:50%;width:24px;height:2px;background:var(--otl-line)}.otl-card{display:flex;flex-direction:column;gap:4px;width:460px;max-width:46vw;flex:none;padding:8px 14px;text-align:left;background:var(--otl-card);border:1px solid var(--otl-border);border-radius:11px;cursor:pointer}.otl-card:hover{border-color:var(--otl-locked)}.otl-card:focus-visible,.otl-subbar:focus-visible,.otl-subcard:focus-visible,.otl-d-sub:focus-visible,.otl-link:focus-visible,.otl-more:focus-visible{outline:2px solid var(--otl-text);outline-offset:2px}.otl-card-top{display:flex;align-items:center;gap:8px;font-size:11px;min-width:0}.otl-hidden-badge{padding:1px 7px;border-radius:999px;border:1px dashed var(--otl-locked);color:var(--otl-text-2);font-size:10.5px;font-weight:600;white-space:nowrap}.otl-card-title{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.otl-card-meta{font-size:11.5px;color:var(--otl-text-2)}.otl-subs{display:flex;flex-direction:column;gap:6px;padding:0 0 14px 34px}.otl-sub{position:relative}.otl-sub:before{content:"";position:absolute;left:-24px;top:18px;width:24px;height:2px;background:var(--otl-line)}.otl-sub:after{content:"";position:absolute;left:-24px;top:-6px;height:26px;width:2px;background:var(--otl-line)}.otl-sub:first-child:after{top:-24px;height:44px}.otl-sub:not(:last-child):after{height:auto;bottom:-6px}.otl-subbar{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 12px;text-align:left;background:var(--otl-card);border:1px solid var(--otl-border);border-radius:9px;cursor:pointer;font-size:13px}.otl-subbar:hover{border-color:var(--otl-locked)}.otl-subbar-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--c)}.otl-subbar-title{flex:1;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.otl-subbar-status,.otl-subbar-date{font-size:11.5px;color:var(--otl-text-2);white-space:nowrap}.otl-subbar-chevron{flex:none;color:var(--otl-text-2);transition:transform .15s ease}.otl-sub.is-open .otl-subbar-chevron{transform:rotate(180deg)}.otl-subpath{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:14px 4px 8px 10px}.otl-link{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:4px 0;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--color-primary, #60a5fa)}.otl-more{display:block;margin:8px 0 0 44px;padding:8px 14px;border-radius:8px;cursor:pointer;font-size:12.5px;font-weight:600;background:none;border:1px dashed var(--otl-locked);color:var(--otl-text-2)}.otl-more:hover{color:var(--otl-text)}.otl-project,.otl-taskview{display:flex;flex-direction:column;gap:16px}.otl-task-body{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.otl-track{flex:999 1 860px;min-width:0;background:var(--otl-surface);border:1px solid var(--otl-border);border-radius:14px;padding:22px 16px 24px}.otl-track-scroll{overflow-x:auto;padding:10px 8px 8px}.otl-track .otl-path{min-width:max-content}.otl-hang{display:flex;flex-direction:column;align-items:center;gap:8px;width:196px;margin-top:8px}.otl-hang-line{width:2px;height:18px;background:var(--otl-line)}.otl-hang-title{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--otl-text-2)}.otl-subcard{display:flex;flex-direction:column;gap:8px;width:100%;padding:10px 12px;text-align:left;cursor:pointer;background:var(--otl-card);border:1px solid var(--otl-border);border-radius:10px}.otl-subcard:hover{border-color:var(--otl-locked)}.otl-subcard-title{font-size:12.5px;font-weight:600;line-height:1.35}.otl-subcard-foot{display:flex;align-items:center;gap:8px}.otl-subcard-status{margin-left:auto;font-size:11px;color:var(--otl-text-2);white-space:nowrap}.otl-mini{display:inline-flex;align-items:center}.otl-mini-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--c);flex:none}.otl-mini-dot--past,.otl-mini-line--past{opacity:.42}.otl-mini-dot--current{box-shadow:0 0 6px var(--c)}.otl-mini-dot--future{border-style:dashed;border-color:var(--otl-locked)}.otl-mini-line{width:10px;border-top:2px solid var(--c)}.otl-mini-line--future{border-top-style:dashed;border-color:var(--otl-locked)}.otl-details{flex:1 1 320px;max-width:880px;min-width:0;display:flex;flex-direction:column;gap:16px;background:var(--otl-surface);border:1px solid var(--otl-border);border-radius:14px;padding:18px}.otl-d-head{display:flex;align-items:center;gap:14px}.otl-d-head .otl-node-wrap--lg{width:auto}.otl-d-label{font-size:18px;font-weight:700}.otl-d-state{font-size:12px;color:var(--otl-text-2);margin-top:2px}.otl-d-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.otl-d-cell{display:flex;flex-direction:column;gap:3px;padding:9px 12px;background:var(--otl-card);border:1px solid var(--otl-border);border-radius:10px}.otl-d-cell span{font-size:11px;color:var(--otl-text-2)}.otl-d-cell strong{font-size:13px}.otl-d-section-title{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--otl-text-2)}.otl-reason{padding:11px 13px;border-radius:10px;border:1px solid color-mix(in srgb,#f59e0b 50%,transparent);background:color-mix(in srgb,#f59e0b 8%,transparent)}.otl-reason .otl-d-section-title{margin-bottom:4px}.otl-reason p{font-size:13px;line-height:1.5}.otl-d-list{display:flex;flex-direction:column;gap:8px}.otl-d-sub{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;text-align:left;cursor:pointer;font-size:13px;background:var(--otl-card);border:1px solid var(--otl-border);border-radius:8px}.otl-d-sub:hover{border-color:var(--otl-locked)}.otl-d-sub-title{flex:1;min-width:0}.otl-comment{padding:10px 12px;background:var(--otl-card);border:1px solid var(--otl-border);border-radius:10px}.otl-comment--client{border-left-width:1px;border-color:color-mix(in srgb,#f59e0b 35%,var(--otl-border))}.otl-comment-head{display:flex;align-items:baseline;gap:8px;font-size:11.5px}.otl-comment-head span{margin-left:auto;color:var(--otl-text-2);white-space:nowrap}.otl-comment p{margin-top:5px;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.otl-files{display:flex;flex-wrap:wrap;gap:8px}.otl-files li{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;background:var(--otl-card);border:1px solid var(--otl-border);border-radius:8px;overflow-wrap:anywhere}.otl-changes{display:flex;flex-direction:column;gap:6px;font-size:12.5px}.otl-changes li{display:flex;gap:10px;justify-content:space-between}.otl-changes span{min-width:0;overflow-wrap:anywhere}.otl-changes time{color:var(--otl-text-2);white-space:nowrap}.otl-d-empty{font-size:13px;line-height:1.5;color:var(--otl-text-2)}@media(max-width:640px){.otl-screen{padding:14px 16px 32px}.otl-title{font-size:20px}}.otl-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;cursor:pointer;font-size:12.5px;font-weight:600;border-radius:8px;background:var(--otl-card);border:1px solid var(--otl-border)}.otl-btn:hover{border-color:var(--color-primary, #60a5fa)}.otl-btn:focus-visible{outline:2px solid var(--otl-text);outline-offset:2px}.otl-summary{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}.otl-sum-main,.otl-sum-cell{display:flex;flex-direction:column;gap:3px;padding:10px 16px;min-width:130px;background:var(--otl-surface);border:1px solid var(--otl-border);border-radius:12px}.otl-sum-main strong{font-size:22px;letter-spacing:-.02em}.otl-sum-cell strong{font-size:16px}.otl-sum-main span,.otl-sum-cell span{font-size:11px;color:var(--otl-text-2);text-transform:uppercase;letter-spacing:.05em}.otl-sum-note{align-self:center;font-size:12px;color:var(--otl-text-2)}.otl-sum-backlog{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding:0 16px;border-radius:12px;font-size:13px;font-weight:600;background:var(--otl-surface);border:1px solid var(--otl-border);color:var(--otl-text-2);cursor:pointer}.otl-sum-backlog.has-items{color:#f59e0b;border-color:color-mix(in srgb,#f59e0b 55%,var(--otl-border))}.otl-sum-backlog:disabled{cursor:default}.otl-sites{display:flex;flex-wrap:wrap;gap:4px}.otl-site{padding:0 7px;border-radius:5px;font-size:10.5px;font-weight:700;letter-spacing:.03em;line-height:18px;background:color-mix(in srgb,var(--color-primary, #60a5fa) 16%,transparent);color:var(--otl-text);border:1px solid color-mix(in srgb,var(--color-primary, #60a5fa) 40%,transparent)}.otl-badges{display:flex;gap:6px;margin-top:4px}.otl-badge{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;cursor:pointer;font-size:11.5px;font-weight:600;border-radius:999px;background:var(--otl-card);border:1px solid var(--otl-border);color:var(--otl-text-2)}.otl-badge:hover{color:var(--otl-text);border-color:var(--color-primary, #60a5fa)}.otl-details section.is-focus{animation:otl-focus 1.4s ease-out;border-radius:10px}@keyframes otl-focus{0%{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary, #60a5fa) 70%,transparent)}to{box-shadow:0 0 0 2px transparent}}@keyframes otl-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.otl-project,.otl-taskview{animation:otl-in .28s ease-out both}.otl-details{animation:otl-in .22s ease-out both}.otl-subpath,.otl-group>.otl-branch{animation:otl-in .24s ease-out both}.otl-card,.otl-subbar,.otl-d-sub,.otl-subcard,.otl-filter,.otl-btn,.otl-badge,.otl-more,.otl-back,.otl-close,.otl-sum-backlog,.otl-group-head,.otl-link{transition:border-color .18s ease,background-color .18s ease,color .18s ease,transform .12s ease,box-shadow .18s ease}.otl-card:hover,.otl-subcard:hover{transform:translateY(-1px)}.otl-card:active,.otl-subbar:active,.otl-d-sub:active,.otl-subcard:active,.otl-filter:active,.otl-btn:active,.otl-badge:active,.otl-back:active,.otl-close:active,.otl-sum-backlog:active{transform:scale(.97)}.otl-line,.otl-node,.otl-ring{transition:opacity .25s ease,transform .15s ease}@media(prefers-reduced-motion:reduce){.otl-screen *,.otl-screen *:before,.otl-screen *:after{animation:none!important;transition:none!important}}.otl-btn--primary{border-color:color-mix(in srgb,var(--color-primary, #60a5fa) 55%,var(--otl-border));color:var(--otl-text)}.otl-taskview>.otl-head{align-items:center}.otl-counts{display:inline-flex;align-items:center;gap:12px}.otl-count{position:relative;display:inline-flex;align-items:center;gap:4px;padding:2px 3px;border-radius:6px;color:var(--otl-text-2);font-size:11.5px;font-weight:500;font-variant-numeric:tabular-nums;cursor:default;transition:color .18s ease,background-color .18s ease}.otl-count[role=button]{cursor:pointer}.otl-count[role=button]:hover{color:var(--otl-text);background:color-mix(in srgb,var(--otl-text) 8%,transparent)}.otl-count:focus-visible{outline:2px solid var(--otl-text);outline-offset:1px}.otl-count.has-unread{color:var(--otl-text)}.otl-dot{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;line-height:1;box-shadow:0 0 0 2px var(--otl-card)}.otl-subbar .otl-counts{margin-left:4px}.otl-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--otl-border);margin-top:2px;padding-top:14px}.otl-actions-error{font-size:12px;color:#f87171}.otl-btn:disabled{opacity:.55;cursor:default}.otl-popup-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:otl-fade .18s ease-out both}@keyframes otl-fade{0%{opacity:0}to{opacity:1}}.otl-popup{--otl-surface: var(--card-bg, #18181b);--otl-border: var(--border-color, rgba(255, 255, 255, .1));--otl-text: var(--color-text-primary, #fafafa);--otl-text-2: var(--color-text-secondary, #a1a1aa);--otl-card: color-mix(in srgb, var(--otl-text) 5%, var(--otl-surface));--otl-locked: color-mix(in srgb, var(--otl-text) 30%, transparent);display:flex;flex-direction:column;width:min(560px,100%);max-height:min(720px,90vh);color:var(--otl-text);font-size:14px;background:var(--otl-surface);border:1px solid var(--otl-border);border-radius:16px;box-shadow:0 24px 64px #00000080;animation:otl-in .22s ease-out both}.otl-popup *,.otl-popup *:before,.otl-popup *:after{box-sizing:border-box}.otl-popup ul{list-style:none;margin:0;padding:0}.otl-popup p{margin:0}.otl-popup button{font:inherit;color:inherit}.otl-popup-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--otl-border)}.otl-popup-title{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.3}.otl-popup-title strong{font-size:14px}.otl-popup-title span{font-size:12px;color:var(--otl-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.otl-popup .otl-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:8px;border:1px solid var(--otl-border);background:var(--otl-card);cursor:pointer}.otl-popup-body{flex:1;min-height:120px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.otl-thread{display:flex;flex-direction:column;gap:10px}.otl-msg{max-width:86%;padding:9px 12px;border-radius:12px;background:var(--otl-card);border:1px solid var(--otl-border);align-self:flex-start}.otl-msg.is-own{align-self:flex-end;background:color-mix(in srgb,var(--color-primary, #60a5fa) 14%,var(--otl-surface));border-color:color-mix(in srgb,var(--color-primary, #60a5fa) 30%,var(--otl-border))}.otl-msg-head{display:flex;gap:10px;align-items:baseline;font-size:11.5px}.otl-msg-head span{margin-left:auto;color:var(--otl-text-2);white-space:nowrap}.otl-msg p{margin-top:4px;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.otl-filelist{display:flex;flex-direction:column;gap:6px}.otl-filelist li{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--otl-card);border:1px solid var(--otl-border);border-radius:10px;font-size:13px}.otl-filelist a{color:var(--otl-text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--otl-locked);min-width:0;overflow-wrap:anywhere}.otl-filelist-meta{margin-left:auto;font-size:11.5px;color:var(--otl-text-2);white-space:nowrap}.otl-popup-foot{display:flex;gap:10px;align-items:flex-end;padding:12px 16px;border-top:1px solid var(--otl-border)}.otl-popup-foot textarea{flex:1;resize:none;padding:9px 12px;font:inherit;font-size:13px;color:var(--otl-text);background:var(--otl-card);border:1px solid var(--otl-border);border-radius:10px}.otl-popup-foot textarea:focus{outline:2px solid color-mix(in srgb,var(--color-primary, #60a5fa) 60%,transparent);outline-offset:0}.otl-popup .otl-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;cursor:pointer;font-size:12.5px;font-weight:600;border-radius:9px;background:var(--otl-card);border:1px solid var(--otl-border)}.otl-popup .otl-btn--primary{border-color:color-mix(in srgb,var(--color-primary, #60a5fa) 55%,var(--otl-border))}.otl-popup .otl-btn:disabled{opacity:.5;cursor:default}.otl-popup .otl-d-empty{padding:24px 8px;text-align:center;color:var(--otl-text-2);font-size:13px}.otl-popup .otl-actions-error{font-size:12px;color:#f87171}.otl-screen--client .otl-ticket{font-size:11px;font-weight:500;opacity:.6}.otl-subs-toggle{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px 34px;padding:4px 10px;cursor:pointer;font-size:12px;font-weight:600;color:var(--otl-text-2);background:none;border:1px solid var(--otl-border);border-radius:999px;transition:color .18s ease,border-color .18s ease}.otl-subs-toggle:hover{color:var(--otl-text);border-color:var(--otl-locked)}.otl-subs-toggle svg{transition:transform .18s ease;transform:rotate(-90deg)}.otl-subs-toggle svg.is-open{transform:none}.otl-add{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding:0 20px;min-height:48px;cursor:pointer;font-size:14px;font-weight:700;color:#fff;background:var(--color-primary, #3b82f6);border:0;border-radius:12px;box-shadow:0 6px 18px color-mix(in srgb,var(--color-primary, #3b82f6) 35%,transparent);transition:filter .18s ease,transform .12s ease,box-shadow .18s ease}.otl-add:hover{filter:brightness(1.1)}.otl-add:active{transform:scale(.97)}.otl-add:focus-visible{outline:2px solid var(--otl-text);outline-offset:2px}.otl-add+.otl-sum-backlog{margin-left:0}.otl-add-form{flex-basis:100%;display:flex;gap:8px;max-width:560px;animation:otl-in .2s ease-out both}.otl-add-form input{flex:1;height:36px;padding:0 14px;font:inherit;font-size:13px;color:var(--otl-text);background:var(--otl-surface);border:1px solid var(--otl-border);border-radius:10px}.otl-add-form input:focus{outline:2px solid color-mix(in srgb,var(--color-primary, #60a5fa) 60%,transparent);outline-offset:0}.otl-card-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}.otl-card-line .otl-card-title{flex:0 1 auto;min-width:0}.otl-card-line .otl-sites{flex:none}.otl-summary .otl-add,.otl-summary .otl-sum-backlog{align-self:center;min-height:0;height:32px;border-radius:6px;font-size:12.5px}.otl-summary .otl-add{padding:0 14px;font-weight:500;color:#fff;text-shadow:var(--btn-metallic-text-shadow, 0 1px 1px rgba(0, 0, 0, .4));background:var(--btn-metallic-bg, var(--color-primary, #3b82f6));border:var(--btn-metallic-border, 1px solid rgba(255, 255, 255, .18));box-shadow:var(--btn-metallic-shadow, none)}.otl-summary .otl-sum-backlog{padding:0 12px;font-weight:500}.otl-summary .otl-add:hover{background:var(--btn-metallic-hover-bg, var(--color-primary));box-shadow:var(--btn-metallic-hover-shadow, none);filter:none}.otl-btn{height:28px;border-radius:6px;font-weight:500}.otl-popup .otl-btn{height:30px;border-radius:6px;font-weight:500}.otl-add-form input{height:32px;border-radius:6px}.otl-filter{height:28px;font-weight:500}.otl-card{gap:7px}.otl-card-top{flex-wrap:wrap;row-gap:4px}.otl-card-line .otl-card-title{flex:0 1 auto;max-width:100%}.otl-site{line-height:18px}.otl-sum-actions{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;align-self:center}.otl-sum-actions .otl-add,.otl-sum-actions .otl-sum-backlog{margin-left:0}.otl-sum-actions>.view-switcher,.otl-sum-actions>.view-switch-btn{align-self:center}.otl-sum-actions .view-switcher{display:inline-flex}.otl-open{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;cursor:pointer;color:var(--otl-text-2);border:1px solid var(--otl-border);background:transparent;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.otl-open:hover{color:var(--otl-text);border-color:var(--color-primary, #60a5fa);background:color-mix(in srgb,var(--color-primary, #60a5fa) 12%,transparent)}.otl-open:focus-visible{outline:2px solid var(--otl-text);outline-offset:2px}.otl-card-top .otl-attn--compact{margin-left:auto}.otl-card-top .otl-attn--compact+.otl-open,.otl-card-top .otl-hidden-badge+.otl-open{margin-left:8px}
