@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:#3b82f626;color:#60a5fa}.badge-warning{background:#f59e0b26;color:#fbbf24}.badge-danger{background:#ef444426;color:#f87171}.badge-success{background:#10b98126;color:#34d399}.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(rgba(59,130,246,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.03) 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 #3b82f60a}.login-header{text-align:center;margin-bottom:32px}.logo-icon{width:56px;height:56px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);color:#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:#3b82f614;border:1px solid rgba(59,130,246,.15);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:#3b82f680;box-shadow:0 0 0 3px #3b82f61a;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:#3b82f61f;border:1px solid rgba(59,130,246,.25);color:#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}.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:#3b82f61f;border:1px solid rgba(59,130,246,.2);color:#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:#3b82f64d}.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:#3b82f64d;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;width:32px;height:30px;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:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.2)}:root[data-theme=light] .task-card{background:var(--color-bg-secondary);border-color:#00000017}:root[data-theme=light] .task-card:hover{border-color:#3b82f64d;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:#3b82f61a;color:#2563eb}: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:#3b82f614;color:#2563eb;border-color:#3b82f640}: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}.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)}.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:#3b82f64d}.attachment-item a{color:#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:#3b82f614;border:1px solid rgba(59,130,246,.2);align-self:flex-end;margin-left:auto}.client-msg .client-comment-meta strong{color:#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:#3b82f680;box-shadow:0 0 0 2px #3b82f61a}.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:#3b82f666}: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:#3b82f61a;border-color:#3b82f640}: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:#3b82f680;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)}.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:#3b82f614;border-color:#3b82f633;color:#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:#3b82f61f;color:#60a5fa;border:1px solid rgba(59,130,246,.2)}.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:#3b82f64d;color:var(--color-text-primary)}.theme-option.active{border-color:#3b82f680;background:#3b82f614;color:#60a5fa}.theme-check{position:absolute;top:10px;right:10px;color:#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:#3b82f64d;color:var(--color-text-primary)}.view-option.active{border-color:#3b82f666;background:#3b82f614;color:#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:#3b82f666;border-color:#3b82f680}.toggle-switch input:checked+.toggle-track:after{background:#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:#3b82f633}.contact-avatar{width:36px;height:36px;border-radius:50%;background:#3b82f626;border:1px solid rgba(59,130,246,.25);color:#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:#3b82f61f;color:#60a5fa;border:1px solid rgba(59,130,246,.2)}.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:#3b82f666;color:#60a5fa;background:#3b82f60d}.add-contact-form{background:var(--color-bg-secondary);border:1px solid rgba(59,130,246,.25);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:#3b82f666}.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:#3b82f61a;color:#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}: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}.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:pointer;transition:all .15s}.kanban-card:hover{border-color:#3b82f659;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:#3b82f60f;color:#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:#3b82f659}:root[data-theme=light] .kanban-add-btn:hover{background:#3b82f612;color:#2563eb}.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:#3b82f61a;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:#3b82f626;border-color:#3b82f64d;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:#3b82f61a;border:1px solid rgba(59,130,246,.2)}.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:#3b82f626}.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:#3b82f61a;border-color:#3b82f633}.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 #3b82f633}.chat-send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #3b82f64d}.chat-send-btn:disabled{background:var(--border-color);cursor:not-allowed;box-shadow:none;transform:none}
