:root{--bg: #f6f7f9;--card: #ffffff;--text: #0b1220;--text-soft: #334155;--muted: #6b7280;--border: #e8ebef;--border-strong: #d9dee5;--primary: #1f52a8;--primary-dark: #16407f;--primary-light: #3d7cc8;--primary-soft: #e9f1fc;--accent: #3d7cc8;--accent-soft: #eaf3fc;--danger: #e11d48;--sidebar-bg: #0f2d5a;--sidebar-bg-2: #17427e;--sidebar-text: #aebfda;--sidebar-hover: #21508f;--radius: 14px;--radius-sm: 9px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .06), 0 2px 4px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 28px rgba(15, 23, 42, .1);--ring: 0 0 0 3px rgba(31, 82, 168, .22)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.5}h1,h2,h3{letter-spacing:-.018em}.centered{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(1200px 600px at 50% -10%,var(--primary-soft) 0%,rgba(233,241,252,0) 60%),var(--bg)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem 1.5rem;box-shadow:var(--shadow-sm)}.card h2{margin-top:0;margin-bottom:.9rem;font-size:1.02rem;font-weight:700}.auth-card{width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:2rem}.auth-brand{display:flex;align-items:center;gap:.65rem;margin-bottom:.6rem}.auth-brand-words{display:flex;flex-direction:column;line-height:1.05}.auth-brand .brand-name{color:var(--primary-dark);font-weight:800;font-size:1.4rem;letter-spacing:-.02em}.brand-tag{color:var(--primary-light);font-weight:600;font-size:.86rem;letter-spacing:.02em}.auth-title{font-size:1.1rem;font-weight:700;margin:.2rem 0 0}.auth-card h1{margin:0 0 .25rem;font-size:1.45rem;font-weight:800}.auth-card label,.task-form label,.form-row label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:500;color:var(--text-soft);margin-top:.85rem}.switch{text-align:center;margin-top:1.25rem;font-size:.9rem}input,select,textarea{font:inherit;padding:.6rem .7rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#9aa3af}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}button{cursor:pointer;font:inherit}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.62rem 1.1rem;border:none;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-weight:600;text-decoration:none;box-shadow:0 1px 2px #1f52a859;transition:filter .15s,transform .05s,box-shadow .15s}.btn-primary:hover{filter:brightness(1.08);box-shadow:0 4px 14px #1f52a857}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.55;cursor:default;box-shadow:none}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:calc(.62rem - 1px) calc(1.1rem - 1px);border:1px solid var(--primary);border-radius:var(--radius-sm);background:#fff;font-weight:600;color:var(--primary);transition:background .15s,border-color .15s}.btn-ghost:hover{background:var(--primary-soft);border-color:var(--primary-dark)}.btn-ghost:active{transform:translateY(1px)}.btn-ghost:disabled{opacity:.55;cursor:default}.link{background:none;border:none;color:var(--primary);padding:0;font-size:inherit;font-weight:500;cursor:pointer}.link:hover{text-decoration:underline}.link.danger{color:var(--danger)}.muted{color:var(--muted)}.error{margin-top:.85rem;background:#fff1f2;color:var(--danger);border:1px solid #fecdd3;border-radius:var(--radius-sm);padding:.55rem .8rem;font-size:.88rem}.layout{display:flex;min-height:100vh}.sidebar{width:250px;flex-shrink:0;color:var(--sidebar-text);background:linear-gradient(180deg,var(--sidebar-bg-2) 0%,var(--sidebar-bg) 100%);display:flex;flex-direction:column;padding:1.35rem 1rem;position:sticky;top:0;height:100vh;border-right:1px solid rgba(255,255,255,.04)}.sidebar-brand{display:flex;align-items:center;gap:.6rem;color:#fff;padding:.1rem .5rem 1.3rem}.brand-words{display:flex;flex-direction:column;line-height:1.14}.brand-name{font-weight:800;font-size:1.12rem;letter-spacing:-.02em}.brand-sub{font-size:.71rem;font-weight:500;color:var(--sidebar-text)}.sidebar-nav{display:flex;flex-direction:column;gap:.2rem;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0 -.5rem;padding:0 .5rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff59}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-label{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#7f97bf;padding:0 .65rem .5rem}.sidebar-label.as-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;padding:.3rem .65rem .4rem;border-radius:8px;transition:color .14s,background .14s}.sidebar-label.as-toggle:hover{color:#8b97b5;background:var(--sidebar-hover)}.section-chevron{font-size:.62rem;line-height:1;opacity:.7;transition:transform .16s}.section-chevron.open{transform:rotate(90deg)}.nav-section.closed{margin-bottom:.15rem}.nav-link{display:flex;align-items:center;gap:.65rem;padding:.5rem .65rem;border-radius:10px;color:var(--sidebar-text);text-decoration:none;font-weight:500;font-size:.84rem;transition:background .14s,color .14s}.nav-link:hover{background:var(--sidebar-hover);color:#e2e8f0}.nav-link.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #1f52a859}.nav-icon{width:1.2rem;text-align:center;font-size:.92rem}.nav-section{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.55rem}.nav-group{display:flex;flex-direction:column}.nav-group-head{display:flex;align-items:center}.nav-group-head .nav-link{flex:1;min-width:0}.submenu-toggle{display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;margin-right:.1rem;padding:0;background:none;border:none;border-radius:8px;cursor:pointer;color:#7f97bf}.submenu-toggle:hover{background:var(--sidebar-hover);color:#cbd5e1}.nav-children{display:flex;flex-direction:column;gap:.15rem;margin:.15rem 0 .15rem 1.45rem;padding-left:.5rem;border-left:1px solid rgba(255,255,255,.09)}.nav-link.child{font-size:.78rem;padding:.38rem .55rem}.nav-link.child .nav-icon{font-size:.82rem}.sidebar-footer{display:flex;flex-direction:column;gap:.35rem;padding:.7rem .15rem .2rem;margin-top:.5rem;border-top:1px solid rgba(255,255,255,.07)}.sidebar-profile{display:flex;align-items:center;gap:.6rem;padding:.45rem .5rem;border-radius:10px;text-decoration:none;transition:background .14s}.sidebar-profile:hover,.sidebar-profile.active{background:var(--sidebar-hover)}.avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.avatar.lg{width:56px;height:56px;font-size:1.4rem}.sidebar-user{display:flex;flex-direction:column;line-height:1.35}.sidebar-user-name{color:#fff;font-weight:600;font-size:.9rem}.sidebar-footer-links{display:flex;flex-direction:column;gap:.1rem;margin-top:.35rem}.sidebar-footer-link{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;padding:.45rem .55rem;border-radius:8px;font-size:.85rem;font-weight:500;color:var(--sidebar-text);text-decoration:none;background:none;border:none;cursor:pointer;transition:background .14s,color .14s}.sidebar-footer-link:hover{background:var(--sidebar-hover);color:#e2e8f0}.sidebar-footer-link.active{background:var(--primary);color:#fff}.profile-head{display:flex;align-items:center;gap:1rem}.profile-name{font-size:1.15rem;font-weight:700}.success{margin-top:.85rem;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;border-radius:var(--radius-sm);padding:.55rem .8rem;font-size:.88rem}.main-area{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:.75rem;padding:.7rem 1.75rem .5rem;background:var(--bg);position:sticky;top:0;z-index:20}.topbar-title{display:none;align-items:center;gap:.4rem;font-weight:800;color:var(--primary-dark)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:.4rem}.menu-toggle{display:none;background:none;border:none;font-size:1.4rem;line-height:1;color:var(--text)}.sidebar-backdrop{display:none}.notif{position:relative}.notif-bell{position:relative;cursor:pointer;font-size:1.15rem;line-height:1;width:40px;height:40px;border-radius:11px;background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:border-color .14s,box-shadow .14s,transform .05s}.notif-bell:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.notif-bell:active{transform:translateY(1px)}.notif-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:.66rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg)}.notif-panel{position:absolute;right:0;top:calc(100% + 8px);width:360px;max-width:92vw;background:var(--card);border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--shadow-lg);z-index:60;overflow:hidden}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--border);font-weight:700;font-size:.94rem}.notif-list{max-height:60vh;overflow-y:auto}.notif-empty{padding:2.2rem 1rem;text-align:center;color:var(--muted);font-size:.9rem}.notif-item{display:flex;gap:.65rem;width:100%;text-align:left;align-items:flex-start;padding:.75rem 1rem;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--bg)}.notif-item.unread{background:var(--primary-soft)}.notif-item.unread:hover{background:#dae7f8}.notif-dot{width:8px;height:8px;border-radius:50%;margin-top:.35rem;flex-shrink:0;background:var(--primary)}.notif-item.sev-warning .notif-dot{background:#f59e0b}.notif-item.sev-critical .notif-dot{background:var(--danger)}.notif-item:not(.unread) .notif-dot{background:transparent;border:1px solid var(--border-strong)}.notif-body{display:flex;flex-direction:column;gap:.12rem;flex:1;min-width:0}.notif-title{font-weight:600;font-size:.87rem;color:var(--text)}.notif-text{font-size:.82rem;color:var(--text-soft);word-break:break-word}.notif-time{font-size:.72rem;color:var(--muted);margin-top:.1rem}.notif-x{color:var(--muted);font-size:1.15rem;line-height:1;padding:0 .15rem;border-radius:6px;flex-shrink:0}.notif-x:hover{color:var(--danger);background:var(--bg)}.act-filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.act-filters select,.act-filters input{padding:.5rem .65rem;font-size:.86rem}.act-search{flex:1;min-width:180px}.act-date{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted)}.act-date input{padding:.4rem .5rem}.rt-head-right{display:flex;align-items:center;gap:.75rem}.rt-add{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.9rem;padding-bottom:.9rem;border-bottom:1px solid var(--border)}.rt-add-row{display:flex;gap:.5rem;align-items:center}.rt-add-row select,.rt-add-row input[type=date]{padding:.45rem .6rem}.rt-empty{padding:.4rem .15rem}.rt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.rt-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .15rem;border-bottom:1px solid var(--border)}.rt-item:last-child{border-bottom:none}.rt-item.done{opacity:.55}.rt-item.done .rt-title{text-decoration:line-through}.rt-item input[type=checkbox]{flex-shrink:0;cursor:pointer}.rt-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rt-due{font-size:.8rem;color:var(--muted);white-space:nowrap}.rt-due.overdue{color:var(--danger);font-weight:600}.rt-actions{display:flex;gap:.5rem;flex-shrink:0}.act-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.act-item{display:flex;gap:.75rem;padding:.85rem .15rem;border-bottom:1px solid var(--border)}.act-item:last-child{border-bottom:none}.act-avatar{width:30px;height:30px;border-radius:50%;flex-shrink:0;font-size:.8rem;font-weight:700;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#fff;display:flex;align-items:center;justify-content:center}.act-main{flex:1;min-width:0}.act-line{display:flex;flex-wrap:wrap;gap:.35rem;align-items:baseline}.act-actor{font-weight:600;font-size:.88rem;color:var(--text)}.act-summary{font-size:.88rem;color:var(--text-soft)}.act-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.3rem;font-size:.76rem;color:var(--muted)}.act-badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:capitalize;color:#fff;background:var(--muted)}.act-badge.tone-green{background:#16a34a}.act-badge.tone-amber{background:#d97706}.act-badge.tone-red{background:var(--danger)}.act-badge.tone-slate{background:#64748b}.act-module{font-weight:500}.act-time{margin-left:auto;white-space:nowrap}.act-toggle{font-size:.76rem}.act-details{margin:.55rem 0 .15rem;padding:.55rem .7rem;background:var(--bg);border:1px solid var(--border);border-radius:9px;font-size:.8rem}.act-detail-row{display:flex;gap:.6rem;padding:.12rem 0}.act-detail-row dt{flex-shrink:0;min-width:120px;color:var(--muted);font-weight:600}.act-detail-row dd{margin:0;color:var(--text-soft);word-break:break-word}.act-more{display:flex;justify-content:center;margin-top:.9rem}.content{padding:2rem 2.5rem;max-width:1400px;width:100%;margin:0 auto}.page{display:flex;flex-direction:column;gap:1.4rem}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.page-head h1{margin:0 0 .2rem;font-size:1.6rem;font-weight:800}.page-head p{margin:0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.05rem 1.1rem;display:flex;align-items:center;gap:.7rem;box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.stat-text{min-width:0}.stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--muted)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{width:38px;height:38px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:#f1f5f9}.stat-text{display:flex;flex-direction:column;line-height:1.15}.stat-value{font-size:1.7rem;font-weight:800;letter-spacing:-.02em}.stat-label{color:var(--muted);font-size:.82rem;font-weight:500}.tone-blue:before{background:var(--primary)}.tone-blue .stat-icon{background:var(--primary-soft)}.tone-amber:before{background:#f59e0b}.tone-amber .stat-icon{background:#fef3c7}.tone-red:before{background:var(--danger)}.tone-red .stat-icon{background:#ffe4e6}.tone-green:before{background:#16a34a}.tone-green .stat-icon{background:#dcfce7}.task-form{display:flex;flex-direction:column;gap:.55rem}.task-form .title-input{font-size:1rem;font-weight:500}.form-row{display:flex;flex-wrap:wrap;gap:.85rem}.form-row label{flex:1;min-width:135px;margin-top:.5rem}.task-form .btn-primary{align-self:flex-start;margin-top:.8rem}.task-form .form-actions{display:flex;gap:.5rem;align-items:center;margin-top:.8rem}.task-form .form-actions .btn-primary{align-self:auto;margin-top:0}.task-item.editing{background:var(--primary-soft);border-color:var(--primary-light)}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9rem}.toolbar h2{margin:0}.filters{display:flex;gap:.55rem;margin-bottom:1rem;flex-wrap:wrap}.filters .search{flex:1;min-width:190px}.filters select{max-width:100%}.task-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem}.task-item{border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem;background:#fff;transition:box-shadow .15s,border-color .15s}.task-item:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.task-item.done{opacity:.6;background:#fafbfc}.task-main{display:flex;gap:.8rem;align-items:flex-start}.task-main>input[type=checkbox]{margin-top:.15rem;width:19px;height:19px;flex-shrink:0;accent-color:var(--primary);cursor:pointer}.task-body{flex:1;min-width:0}.task-title-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.task-title{font-weight:600;font-size:.98rem}.task-item.done .task-title{text-decoration:line-through}.task-desc{margin:.35rem 0;color:var(--muted);font-size:.9rem}.task-meta{display:flex;gap:1rem;font-size:.83rem;color:var(--muted);margin-top:.4rem;flex-wrap:wrap}.task-meta .overdue{color:var(--danger);font-weight:600}.task-actions{display:flex;gap:.7rem;align-items:center;font-size:.84rem}.badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:600;padding:.16rem .5rem;border-radius:7px;color:#fff;background:var(--muted);text-transform:capitalize;white-space:nowrap;letter-spacing:.01em}.badge.recur{background:#f5f3ff;color:#6d28d9}.badge.project{background:var(--primary-soft);color:var(--primary-dark);text-decoration:none;text-transform:none}.badge.project:hover{background:#d5e3f7}.badge.soon{background:#f1f5f9;color:#64748b}.priority-high{background:#fef2f2;color:#dc2626}.priority-medium{background:#fffbeb;color:#b45309}.priority-low{background:#ecfdf5;color:#047857}.badge.assignee{background:var(--primary-soft);color:var(--primary-dark);text-transform:none}.rte{border:1px solid var(--border-strong);border-radius:var(--radius);background:#fff;overflow:hidden}.rte-toolbar{display:flex;align-items:center;gap:.15rem;padding:.35rem .4rem;border-bottom:1px solid var(--border);background:#f8fafc;flex-wrap:wrap}.rte-btn{border:1px solid transparent;background:transparent;border-radius:6px;padding:.25rem .5rem;font-size:.85rem;cursor:pointer;color:var(--text);line-height:1}.rte-btn:hover{background:#eef2f7}.rte-btn.active{background:var(--primary-soft);border-color:var(--primary-light);color:var(--primary-dark)}.rte-sep{width:1px;height:18px;background:var(--border);margin:0 .2rem}.rte-content .ProseMirror{min-height:90px;padding:.6rem .75rem;outline:none;font-size:.92rem;line-height:1.5}.rte-content .ProseMirror>*+*{margin-top:.5rem}.rte-content .ProseMirror ul,.rte-content .ProseMirror ol{padding-left:1.3rem}.rte-content .ProseMirror h3{font-size:1rem;font-weight:700}.rte-content .ProseMirror a{color:var(--primary);text-decoration:underline}.rte-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--muted);float:left;height:0;pointer-events:none}.task-desc.rte-html{white-space:normal}.task-desc.rte-html ul,.task-desc.rte-html ol{padding-left:1.3rem;margin:.3rem 0}.task-desc.rte-html h3{font-size:.98rem;font-weight:700;margin:.3rem 0}.task-desc.rte-html a{color:var(--primary);text-decoration:underline}.task-desc.rte-html p{margin:.3rem 0}.task-desc.rte-html>*:first-child{margin-top:0}.subtasks{margin-top:.85rem;padding-top:.85rem;border-top:1px dashed var(--border-strong)}.subtasks ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.subtasks li{display:flex;justify-content:space-between;align-items:center}.subtasks label{display:flex;align-items:center;gap:.55rem}.subtasks input[type=checkbox]{accent-color:var(--primary);width:16px;height:16px}.subtasks .done{text-decoration:line-through;color:var(--muted)}.subtask-add{display:flex;gap:.5rem;margin-top:.7rem}.subtask-add input{flex:1}.client-line{font-size:.8rem;margin-top:.2rem}.client-stats{display:flex;gap:.8rem;margin-top:.7rem;font-size:.78rem;color:var(--muted);flex-wrap:wrap}.client-stats .won{color:#16a34a;font-weight:600}.client-stats .cl-due{color:#b45309}.region-badge{background:var(--primary-soft);color:var(--primary-dark);text-transform:none}.project-card .region-badge{margin:.35rem 0 .1rem}.clients-table-card{padding:.4rem .35rem;container-type:inline-size;overflow-x:auto}.data-table.clients-table td{font-size:.88rem}.data-table.clients-table th,.data-table.clients-table td{padding-left:.5rem;padding-right:.5rem}.data-table.clients-table th{letter-spacing:.03em}.data-table.clients-table td.cl-client{min-width:140px}.data-table.clients-table .cell-user{color:var(--text);text-decoration:none}.data-table.clients-table .cell-user:hover .cell-name{color:var(--primary)}.data-table.clients-table .cl-sub{display:block;font-size:.78rem;overflow-wrap:anywhere}.data-table.clients-table .cl-due{color:#b45309;font-weight:600}.sort-btn{display:inline-flex;align-items:center;gap:.2rem;background:none;border:none;padding:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}.sort-btn:hover,.sort-btn.active{color:var(--text)}.sort-arrow{font-size:.65rem;opacity:.45}.sort-btn.active .sort-arrow{opacity:1;color:var(--primary)}@container (max-width: 660px){.data-table.clients-table thead{display:none}.data-table.clients-table,.data-table.clients-table tbody,.data-table.clients-table tr,.data-table.clients-table td{display:block;width:100%}.data-table.clients-table tr{padding:.75rem .2rem;border-bottom:1px solid var(--border)}.data-table.clients-table tr:last-child{border-bottom:none}.data-table.clients-table td{border:none;padding:.2rem 0;display:flex;justify-content:space-between;gap:1rem;text-align:right}.data-table.clients-table td.cl-client{padding-bottom:.4rem;text-align:left}.data-table.clients-table td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:.78rem;text-align:left;flex-shrink:0}.data-table.clients-table td[data-label]>:not(.badge){min-width:0}}.linked-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.linked-list li{display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;border:1px solid var(--border);border-radius:10px}.linked-title{font-weight:600}.linked-sub{font-size:.8rem}.linked-amount{margin-left:auto;font-weight:700}.helper-chips{display:flex;gap:.5rem;flex-wrap:wrap}.helper-chip{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;background:var(--card);border:1px solid var(--border-strong);border-radius:10px;padding:.5rem .85rem;cursor:pointer;transition:border-color .14s,box-shadow .14s}.helper-chip:hover{box-shadow:var(--shadow-sm)}.helper-chip.active{border-color:var(--primary);box-shadow:var(--ring)}.helper-chip-name{font-weight:600;font-size:.92rem}.helper-chip-role{font-size:.74rem;color:var(--muted)}.attend-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.cal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.9rem}.month-nav{display:flex;align-items:center;gap:.6rem}.month-nav .btn-ghost{padding:.3rem .7rem;font-size:1.1rem;line-height:1}.month-label{font-weight:700;min-width:9.5rem;text-align:center}.brush-picker{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.brush{border:1px solid var(--border-strong);background:#fff;border-radius:999px;padding:.28rem .7rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .12s}.brush:hover{background:#f8fafc}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}.cal-weekday{text-align:center;font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-bottom:.2rem}.cal-cell{position:relative;aspect-ratio:1 / 1;border:1px solid var(--border);border-radius:9px;background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;transition:transform .08s,box-shadow .12s;padding:0}.cal-cell:not(.empty):not(.out){cursor:pointer}.cal-cell:hover:not(.empty):not(.out){box-shadow:var(--shadow-sm)}.cal-cell:active:not(.empty):not(.out){transform:scale(.96)}.cal-cell.open{z-index:45;box-shadow:var(--shadow-md)}.day-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.day-menu{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);z-index:50;background:#fff;border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow-lg);padding:.3rem;min-width:150px;display:flex;flex-direction:column;gap:.1rem;cursor:default}.day-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;padding:.4rem .55rem;border:none;background:none;border-radius:7px;cursor:pointer;font-size:.85rem;font-weight:500;color:var(--text)}.day-menu-item:hover{background:#f1f5f9}.day-menu-item.active{background:var(--primary-soft);font-weight:700}.day-menu-item.clear{color:var(--danger);border-top:1px solid var(--border);margin-top:.15rem;padding-top:.5rem}.day-menu-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cal-cell.empty{background:transparent;border:none;cursor:default}.cal-cell.today{border-color:var(--primary);border-width:2px}.cal-cell.out{background:repeating-linear-gradient(45deg,#f8fafc,#f8fafc 5px,#eef1f5 5px,#eef1f5 10px);color:#cbd5e1;cursor:not-allowed;border-style:dashed}.cal-cell.out:hover{box-shadow:none}.cal-cell.join{box-shadow:inset 0 0 0 2px var(--primary)}.cal-join-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--primary)}.cal-cell.marked .cal-day{font-weight:700}.cal-day{font-size:.9rem}.cal-status{font-size:.72rem;font-weight:700;line-height:1}.cal-cell:not(.marked) .cal-status{color:var(--muted)}.attend-summary{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem;align-items:stretch}.sum-chip{display:flex;align-items:center;gap:.4rem;border:1px solid var(--border);border-radius:999px;padding:.3rem .7rem;font-size:.82rem}.sum-dot{width:9px;height:9px;border-radius:50%}.sum-label{color:var(--text-soft)}.sum-count{font-weight:700}.sum-payable{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;padding:.35rem .8rem}.sum-payable .sum-label{font-size:.72rem;color:#047857}.sum-payable-value{font-weight:800;font-size:1.1rem;color:#047857}.salary-section{margin-top:1.1rem;padding-top:.9rem;border-top:1px dashed var(--border-strong)}.property-card{display:flex;flex-direction:column;padding:0;overflow:hidden}.property-card:hover{transform:none}.property-card-body{display:block;padding:1rem 1.1rem .8rem;text-decoration:none;color:var(--text)}.property-card-body:hover .project-name{color:var(--primary)}.property-actions{display:flex;gap:.9rem;padding:.6rem 1.1rem;border-top:1px solid var(--border);background:#fbfcfe;font-size:.85rem}.tenant-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.5rem 0}.tenant-main{display:flex;align-items:center;gap:.8rem}.tenant-name{font-weight:700;font-size:1.05rem}.tenant-contact{font-size:.85rem;margin-top:.15rem}.tenant-figures{display:flex;gap:1.5rem}.tenant-figures>div{display:flex;flex-direction:column}.tenant-figures span{font-size:.74rem}.tenant-figures strong{font-size:1.05rem}.tenant-history{margin-top:1rem;padding-top:.8rem;border-top:1px dashed var(--border-strong)}.mini-head{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 .5rem}.inline-form{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem}.inline-form input{flex:1;min-width:120px}.inline-form .btn-primary,.inline-form .btn-ghost{flex:0 0 auto}.meter-list{display:flex;flex-direction:column;gap:1rem}.meter-block{border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem;background:#fbfcfe}.meter-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem}.meter-name{font-weight:700;font-size:.98rem}.meter-rate{font-size:.82rem}.meter-del{margin-left:auto}.vault-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.space-tabs{display:inline-flex;background:#eef1f5;border-radius:9px;padding:.2rem;gap:.15rem}.space-tab{border:none;background:none;padding:.35rem .9rem;border-radius:7px;font-size:.85rem;font-weight:600;color:var(--muted);cursor:pointer}.space-tab.active{background:#fff;color:var(--text);box-shadow:var(--shadow-sm)}.vault-toolbar .search{flex:1;min-width:180px;max-width:320px}.vault-list{display:flex;flex-direction:column;gap:.7rem}.vault-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.9rem 1.1rem}.vault-main{min-width:0;flex:1}.vault-title-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.vault-title{font-weight:700}.vault-field{display:flex;align-items:center;gap:.6rem;margin-top:.4rem;font-size:.9rem}.vault-user{color:var(--text-soft)}.vault-pw{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em;color:var(--text)}.vault-url{display:inline-block;margin-top:.45rem;font-size:.82rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-actions{display:flex;gap:.7rem;flex-shrink:0;font-size:.85rem}.pw-input-row{display:flex;gap:.5rem;align-items:center}.invoice-doc{padding:1.75rem 2rem}.inv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:2px solid var(--border);padding-bottom:1rem;margin-bottom:1.25rem}.inv-brand{font-size:1.25rem;font-weight:800}.inv-title{text-align:right}.inv-title h2{margin:0;letter-spacing:.08em;color:var(--muted);font-size:1.1rem}.inv-number{font-weight:700;font-size:1.05rem;margin:.15rem 0 .35rem}.inv-meta{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.inv-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}.inv-strong{font-weight:700;font-size:1.02rem}.inv-dates{text-align:right;display:flex;flex-direction:column;gap:.3rem}.inv-dates .inv-label{display:inline-block;margin-right:.4rem}.inv-items{width:100%;border-collapse:collapse;margin-bottom:1rem}.inv-items th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);padding:.5rem .6rem}.inv-items td{padding:.6rem;border-bottom:1px solid var(--border)}.inv-items .num{text-align:right}.inv-totals{margin-left:auto;width:260px;display:flex;flex-direction:column;gap:.4rem}.inv-totals>div{display:flex;justify-content:space-between;font-size:.92rem}.inv-grand{border-top:2px solid var(--border);padding-top:.5rem;font-weight:800;font-size:1.1rem}.inv-notes{margin-top:1.25rem;padding-top:.9rem;border-top:1px dashed var(--border-strong)}@media print{.sidebar,.topbar,.no-print{display:none!important}.layout{display:block}.content{padding:0;max-width:none}.page{gap:0}.invoice-doc{border:none;box-shadow:none;padding:0}body{background:#fff}}.roadmap{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.65rem}.roadmap li{display:flex;align-items:center;gap:.9rem;padding:.8rem .9rem;border:1px solid var(--border);border-radius:12px;transition:box-shadow .15s}.roadmap li:hover{box-shadow:var(--shadow-sm)}.roadmap-icon{font-size:1.5rem;width:2rem;text-align:center}.roadmap li>div{flex:1}.roadmap li strong{display:block;font-weight:600}.roadmap li p{margin:.15rem 0 0;font-size:.85rem}.sidebar-role{color:#64748b;font-size:.74rem;font-weight:500}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th{text-align:left;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:.5rem .7rem;border-bottom:1px solid var(--border)}.data-table th.right,.data-table td.right{text-align:right}.data-table td{padding:.7rem;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table select{padding:.35rem .5rem;font-size:.85rem}.cell-user{display:flex;align-items:center;gap:.6rem}.cell-name{font-weight:600;display:flex;align-items:center;gap:.4rem}.rate-cell{display:flex;align-items:center;gap:.35rem}.rate-cell input{width:84px;padding:.35rem .5rem;font-size:.85rem}.rate-cell select{min-width:62px}.rate-preview{font-size:.76rem;margin-top:.2rem}.user-edit-row>td{background:var(--primary-soft);padding:1rem!important}.task-form.user-edit{gap:.6rem}.week-grid-wrap{display:flex;flex-direction:column;gap:.75rem}.week-nav{display:flex;align-items:center;gap:.5rem}.week-range{font-weight:600;margin-left:.35rem}.data-table.week-grid th,.data-table.week-grid td{text-align:center;padding:.5rem .4rem}.data-table.week-grid th.wg-project,.data-table.week-grid td.wg-project{text-align:left;min-width:260px}.data-table.week-grid td.wg-project select{width:100%}.data-table.week-grid th.wg-day{font-size:.78rem;line-height:1.2}.wg-cell input{width:56px;padding:.35rem .3rem;text-align:center;font-size:.85rem}.wg-total{font-variant-numeric:tabular-nums}.week-grid tfoot td{border-top:2px solid var(--border-strong);background:var(--bg)}.wg-billable{display:flex;align-items:center;gap:.3rem;font-size:.74rem;color:var(--muted);margin-top:.3rem}.wg-billable input{width:auto}.week-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem}.week-actions-right{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.cell-email{font-size:.82rem}.avatar.sm{width:30px;height:30px;font-size:.8rem}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem;background:var(--muted)}.status-dot.on{background:#16a34a}.status-dot.off{background:#cbd5e1}.row-actions{display:inline-flex;align-items:center;gap:.8rem;justify-content:flex-end;flex-wrap:wrap}.row-actions .btn-primary,.row-actions .btn-ghost{margin-top:0;align-self:center}.role-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.role-head h2{display:flex;align-items:center;gap:.45rem;font-size:1.1rem}.perm-grid{display:flex;flex-direction:column;gap:.5rem}.perm-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .65rem;border:1px solid var(--border);border-radius:10px}.perm-module{font-weight:500;display:flex;align-items:center;gap:.4rem}.segmented{display:inline-flex;border:1px solid var(--border-strong);border-radius:9px;overflow:hidden;background:#f8fafc}.seg{padding:.35rem .85rem;border:none;background:transparent;color:var(--text-soft);font-size:.82rem;font-weight:500;border-right:1px solid var(--border)}.seg:last-child{border-right:none}.seg:hover{background:#eef2f7}.seg.active{color:#fff}.seg.active.seg-none{background:#94a3b8}.seg.active.seg-view{background:var(--primary)}.seg.active.seg-full{background:#16a34a}.role-actions{margin-top:1rem;display:flex;justify-content:flex-end}.stat-value.money{font-size:1.15rem;white-space:nowrap}.stat-sub{color:#94a3b8;font-size:.72rem;margin-top:.1rem;line-height:1.25}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:.35rem 0 -.4rem}.section-head h2{margin:0;font-size:1.05rem;font-weight:700}.due-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}.due-list li{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.6rem .7rem;border:1px solid var(--border);border-radius:10px}.due-name{font-weight:600;text-decoration:none;color:var(--text)}.due-name:hover{color:var(--primary)}.due-tenant{font-size:.85rem}.due-months{display:flex;gap:.3rem;flex-wrap:wrap}.badge.due-current{background:#fef2f2;color:#dc2626}.badge.due-over{background:#fff7ed;color:#b45309}.due-amount{margin-left:auto;font-weight:700}.funnel{display:flex;flex-direction:column;gap:.55rem}.funnel-row{display:grid;grid-template-columns:110px 1fr 28px;align-items:center;gap:.7rem}.funnel-label{font-size:.85rem;font-weight:500;color:var(--text-soft)}.funnel-bar-wrap{background:#eef1f5;border-radius:6px;height:20px;overflow:hidden}.funnel-bar{height:100%;border-radius:6px;min-width:2px;transition:width .3s ease}.funnel-count{font-size:.85rem;font-weight:700;text-align:right;color:var(--muted)}.board{display:flex;gap:.85rem;overflow-x:auto;padding-bottom:.5rem;align-items:flex-start}.board-col{flex:0 0 240px;background:#f1f4f8;border:1px solid var(--border);border-radius:var(--radius);padding:.6rem}.board-col-head{display:flex;align-items:center;justify-content:space-between;padding:.6rem .4rem .5rem;border-top:3px solid var(--muted);margin:-.6rem -.6rem 0;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.board-col-title{display:flex;align-items:center;gap:.45rem;font-weight:700;font-size:.92rem}.stage-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.board-col-count{background:#fff;border:1px solid var(--border);border-radius:999px;font-size:.72rem;font-weight:700;padding:.05rem .5rem;color:var(--muted)}.board-col-sub{font-size:.78rem;color:var(--muted);font-weight:600;padding:.1rem .4rem .5rem}.board-col-body{display:flex;flex-direction:column;gap:.55rem;min-height:40px}.board-empty{text-align:center;color:#cbd5e1;padding:.5rem;font-size:.85rem}.deal-card{background:#fff;border:1px solid var(--border);border-radius:11px;padding:.7rem .75rem;box-shadow:var(--shadow-sm);transition:box-shadow .15s,transform .1s}.deal-card:hover{box-shadow:var(--shadow-md)}.deal-card.editing{padding:.85rem}.deal-title{font-weight:600;font-size:.92rem;line-height:1.3}.deal-client{font-size:.8rem;color:var(--muted);margin-top:.2rem}.deal-amount{font-weight:800;font-size:1.05rem;margin:.4rem 0 .35rem;letter-spacing:-.01em}.deal-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.4rem}.badge.type{background:var(--primary-soft);color:var(--primary-dark)}.badge.src{background:#f1f5f9;color:#475569}.deal-meta{display:flex;gap:.75rem;font-size:.78rem;color:var(--muted);margin-bottom:.5rem}.deal-foot{display:flex;flex-direction:column;gap:.4rem;border-top:1px solid var(--border);padding-top:.5rem}.stage-select{width:100%;padding:.3rem .45rem;font-size:.8rem}.deal-actions{display:flex;gap:.75rem;justify-content:flex-end;font-size:.82rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.9rem}.project-card{display:block;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;text-decoration:none;color:var(--text);box-shadow:var(--shadow-sm);transition:transform .12s,box-shadow .15s}.project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.project-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.project-name{font-weight:700;font-size:.98rem;line-height:1.3}.project-client{font-size:.82rem;margin-top:.25rem}.project-value{font-weight:800;font-size:1.1rem;margin:.45rem 0;letter-spacing:-.01em}.project-tag{font-size:.74rem;color:var(--primary);font-weight:600}.project-card.inactive{opacity:.6}.project-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .7rem;margin-top:.55rem;font-size:.78rem}.health-badge{font-size:.72rem;font-weight:700;border-radius:6px;padding:.1rem .45rem}.health-badge.overdue{color:var(--danger);background:#fff1f2;border:1px solid #fecdd3}.health-badge.atrisk{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.progress{margin-top:.3rem}.progress-bar-wrap{background:#eef1f5;border-radius:6px;height:8px;overflow:hidden}.progress-bar-wrap.big{height:12px;margin:.5rem 0 .9rem}.progress-bar{height:100%;background:linear-gradient(90deg,var(--primary-light),var(--primary));border-radius:6px;transition:width .3s ease}.progress-text{font-size:.76rem;color:var(--muted);margin-top:.3rem;display:inline-block}.status-picker{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--muted)}.ptask{background:#fff;border:1px solid var(--border);border-radius:10px;padding:.6rem .7rem;box-shadow:var(--shadow-sm)}.ptask[draggable=true]{cursor:grab}.ptask.dragging{opacity:.5}.fin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem 1.2rem}.fin-grid.pc-pl{margin-top:.8rem;padding-top:.8rem;border-top:1px dashed var(--border)}.fin-item{display:flex;flex-direction:column;gap:.15rem}.fin-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.fin-val{font-weight:700;font-size:1.02rem}.fin-val.pos{color:#16a34a}.fin-val.neg{color:var(--danger)}.ptask.done .ptask-title{text-decoration:line-through;color:var(--muted)}.ptask-main{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.ptask-title{font-weight:600;font-size:.9rem}.ptask-foot{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.ptask-due{font-size:.76rem}.ptask-foot .stage-select{flex:1}.ptask-add{display:flex;gap:.5rem;margin-top:.9rem;flex-wrap:wrap}.ptask-add input[type=text],.ptask-add input:not([type]){flex:1;min-width:160px}.ptask-add input[placeholder="Add a task…"]{flex:1;min-width:160px}@media (max-width: 820px){.sidebar{position:fixed;z-index:30;left:0;top:0;transform:translate(-100%);transition:transform .22s ease;box-shadow:2px 0 24px #00000040}.sidebar.open{transform:translate(0)}.topbar{background:var(--card);border-bottom:1px solid var(--border);padding:.55rem 1rem}.menu-toggle,.topbar-title{display:inline-flex}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#02061780;z-index:20;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.content{padding:1.15rem}.stat-grid{grid-template-columns:repeat(2,1fr)}.page-head h1{font-size:1.4rem}}.tags-field{display:block}.tags-input{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;cursor:text;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.35rem .5rem;margin-top:.25rem;background:#fff;min-height:42px}.tags-input:focus-within{border-color:var(--primary);box-shadow:var(--ring)}.tag-entry{border:none;outline:none;flex:1;min-width:120px;padding:.2rem;font-size:.88rem;box-shadow:none}.tag-entry:focus{box-shadow:none;border:none}.tag-chip{display:inline-flex;align-items:center;gap:.3rem;background:var(--primary-soft);color:var(--primary-dark);border-radius:999px;padding:.15rem .55rem;font-size:.78rem;font-weight:600;white-space:nowrap}.tag-chip.sm{font-size:.72rem;padding:.08rem .45rem}.tag-x{background:none;border:none;color:var(--primary-dark);cursor:pointer;font-size:.95rem;line-height:1;padding:0;opacity:.65}.tag-x:hover{opacity:1}.tag-row{display:flex;flex-wrap:wrap;gap:.3rem;margin:.35rem 0 .1rem}.view-switch{display:inline-flex;margin-left:auto;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:2px;gap:2px}.view-btn{background:none;border:none;cursor:pointer;font-size:.82rem;font-weight:500;color:var(--muted);padding:.35rem .7rem;border-radius:8px;transition:background .14s,color .14s}.view-btn:hover{color:var(--text-soft)}.view-btn.active{background:#fff;color:var(--text);box-shadow:var(--shadow-sm)}.tb-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:.6rem;font-size:.8rem}.tb-toolbar-note{flex:1}.tb-toolbar .int-check select{width:auto;padding:.2rem .4rem;font-size:.8rem}.tb-overdue-note{color:var(--danger);font-weight:600}.task-board{display:flex;gap:.75rem;align-items:stretch}.tb-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:12px;height:calc(100vh - 290px);min-height:320px;transition:background .12s,border-color .12s}.tb-col.collapsed{flex:0 0 44px}.tb-col.drop{border-color:var(--primary);background:var(--primary-soft)}.tb-col-head{position:sticky;top:0;z-index:1;background:var(--bg);padding:.45rem .55rem .4rem;border-top:3px solid var(--muted);border-radius:12px 12px 0 0;border-bottom:1px solid var(--border)}.tb-col-title{display:flex;align-items:center;gap:.4rem;width:100%;background:none;border:none;padding:0;font:inherit;font-weight:700;font-size:.82rem;color:inherit;cursor:pointer;text-align:left}.tb-col-count{font-size:.72rem;color:var(--muted);font-weight:600;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:0 .4rem}.tb-col-caret{margin-left:auto;color:var(--muted);font-size:.9rem}.tb-col.collapsed .tb-col-head{border-radius:12px 12px 0 0;padding:.45rem 0}.tb-col.collapsed .tb-col-title{justify-content:center}.tb-col.collapsed .tb-col-title>:not(.stage-dot){display:none}.tb-col-collapsed-label{writing-mode:vertical-rl;transform:rotate(180deg);margin:auto;font-size:.78rem;font-weight:600;color:var(--muted);white-space:nowrap}.tb-col-body{flex:1;min-height:0;overflow-y:auto;padding:.5rem .5rem .6rem;display:flex;flex-direction:column;gap:.4rem;scrollbar-width:thin}.tb-group{display:flex;flex-direction:column;gap:.4rem}.tb-group-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem;background:none;border:none;padding:.35rem .2rem .1rem;font:inherit;font-size:.74rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;text-align:left}.tb-card{position:relative;min-width:0;display:flex;gap:.45rem;align-items:flex-start;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:.5rem .55rem .5rem .45rem;box-shadow:var(--shadow-sm);cursor:grab;transition:box-shadow .12s,opacity .12s}.tb-card:hover{box-shadow:var(--shadow-md)}.tb-card:active{cursor:grabbing}.tb-card.busy{opacity:.55;pointer-events:none}.tb-card.done .tb-card-title{text-decoration:line-through;color:var(--muted)}.tb-check{flex:none;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border-strong);background:var(--card);color:transparent;font-size:.72rem;line-height:1;cursor:pointer;padding:0;margin-top:.05rem}.tb-card:hover .tb-check{color:var(--muted)}.tb-check:hover{border-color:var(--primary);color:var(--primary)}.tb-check.on{color:var(--muted);border-color:var(--border)}.tb-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.tb-card-title{display:block;font-weight:600;font-size:.84rem;line-height:1.3;overflow-wrap:anywhere}.tb-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .45rem;font-size:.74rem;color:var(--muted);min-width:0}.tb-card-meta .badge{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}.tb-card-client{font-size:.72rem;color:var(--muted);overflow-wrap:anywhere}.tb-due{white-space:nowrap}.tb-due.over{color:var(--danger);font-weight:700}.tb-due.today{color:#d97706;font-weight:700}.tb-due.soon{color:#d97706}.tb-empty{text-align:center;color:var(--border-strong);padding:.6rem;font-size:.85rem}.tb-more{align-self:center;font-size:.78rem;padding:.3rem 0}.tb-card.striped{border-left:4px solid var(--border)}.tb-card.striped.done{border-left-color:var(--border)!important}.tb-legend{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin:-.2rem 0 .6rem;font-size:.74rem;color:var(--muted)}.tb-legend-item{display:inline-flex;align-items:center;gap:.3rem}.tb-legend-swatch{width:10px;height:10px;border-radius:3px;flex:none}.tb-assignee{display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap;font-size:.72rem;color:var(--muted)}.tb-avatar{flex:none;width:17px;height:17px;border-radius:999px;background:#e2e8f0;color:#334155;display:grid;place-items:center;font-size:.58rem;font-weight:700;letter-spacing:-.02em}.tb-assignee.me .tb-avatar{background:var(--primary-soft);color:var(--primary-dark)}.compact .tb-assignee-name{display:none}.compact .tb-card-meta:has(.tb-assignee){flex-wrap:wrap}.tb-card-meta .badge.rel{color:var(--text-soft);font-size:.74rem}.tb-card-meta .badge.rel-project{background:#eef2f7;color:var(--text)}.compact .tb-card-meta .badge.rel{font-size:.72rem;max-width:170px}.tb-card-meta .rel-sep{opacity:.7}.compact .tb-card{padding:.3rem .5rem .3rem .4rem}.compact .tb-card-main{gap:.1rem}.compact .tb-card-title{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact .tb-card-meta{flex-wrap:nowrap;overflow:hidden;gap:.35rem;font-size:.7rem}.compact .tb-card-meta .badge{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;padding:0 .4rem;font-size:.66rem}.compact .tb-card-client{display:none}.compact .tb-check{width:17px;height:17px;font-size:.66rem}.task-cal{display:flex;flex-direction:column;gap:.75rem}.tc-toolbar{display:flex;align-items:center;gap:.5rem}.tc-month{font-weight:700;font-size:1.02rem;min-width:160px}.tc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.tc-weekday{text-align:center;font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding-bottom:.15rem}.tc-cell{min-height:92px;border:1px solid var(--border);border-radius:9px;background:#fff;padding:.3rem;display:flex;flex-direction:column;gap:.2rem;overflow:hidden}.tc-cell.empty{background:transparent;border-color:transparent}.tc-cell.today{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.tc-daynum{font-size:.74rem;font-weight:600;color:var(--text-soft)}.tc-cell.today .tc-daynum{color:var(--primary)}.tc-items{display:flex;flex-direction:column;gap:3px;overflow-y:auto}.tc-chip{text-align:left;border:none;cursor:pointer;font-size:.72rem;color:var(--text);background:color-mix(in srgb,var(--p) 14%,#fff);border-left:3px solid var(--p);border-radius:5px;padding:.12rem .35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-chip:hover{background:color-mix(in srgb,var(--p) 24%,#fff)}.tc-chip.done{text-decoration:line-through;opacity:.55}.tc-undated{display:flex;flex-direction:column;gap:.35rem;border-top:1px dashed var(--border-strong);padding-top:.6rem}.tc-undated .tc-items{flex-direction:row;flex-wrap:wrap}@media (max-width: 820px){.task-board{overflow-x:auto}.tb-col{flex:0 0 230px;height:calc(100vh - 240px)}.compact .tb-card-title{white-space:normal}.compact .tb-card-meta{flex-wrap:wrap}.view-switch{margin-left:0}.tc-cell{min-height:68px}.tc-chip{font-size:.68rem}}.toolbar-right{display:flex;align-items:center;gap:.75rem}.badge.hours{background:#ecfeff;color:#0e7490}.ptask-log{display:flex;gap:.4rem;margin-top:.55rem;flex-wrap:wrap}.ptask-log input{padding:.4rem .5rem;font-size:.82rem}.ptask-log input[type=number]{width:82px}.ptask-log input:nth-child(3){flex:1;min-width:120px}.ms-list{list-style:none;margin:0 0 .7rem;padding:0;display:flex;flex-direction:column}.ms-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .15rem;border-bottom:1px solid var(--border)}.ms-item:last-child{border-bottom:none}.ms-item input[type=checkbox]{width:17px;height:17px;accent-color:var(--primary);flex-shrink:0}.ms-title{flex:1;font-size:.9rem}.ms-item.done .ms-title{text-decoration:line-through;color:var(--muted)}.ms-due{font-size:.78rem;color:var(--muted);white-space:nowrap}.ms-due.overdue{color:var(--danger);font-weight:600}.ms-add{display:flex;gap:.5rem;flex-wrap:wrap}.ms-add input:first-child{flex:1;min-width:160px}.file-btn{cursor:pointer}.file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.file-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .15rem;border-bottom:1px solid var(--border)}.file-item:last-child{border-bottom:none}.file-ic{font-size:1.15rem;flex-shrink:0}.file-name{flex:1;min-width:0;text-align:left;background:none;border:none;color:var(--primary);font-weight:500;cursor:pointer;font-size:.88rem;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-name:hover{text-decoration:underline}.file-meta{font-size:.76rem;white-space:nowrap}.gantt{overflow-x:auto;padding-bottom:.4rem}.gantt-inner{min-width:640px}.gantt-head,.gantt-row{display:grid;grid-template-columns:150px 1fr;align-items:center;column-gap:.5rem}.gantt-head{border-bottom:1px solid var(--border);margin-bottom:.35rem;padding-bottom:.2rem}.gantt-head-track{position:relative;height:20px}.gantt-month{position:absolute;top:0;height:20px;font-size:.67rem;color:var(--muted);font-weight:600;border-left:1px solid var(--border);padding-left:4px;box-sizing:border-box;overflow:hidden;white-space:nowrap}.gantt-row{min-height:32px}.gantt-row.ms{margin-top:.4rem;border-top:1px dashed var(--border-strong);padding-top:.5rem}.gantt-label{font-size:.8rem;padding-right:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-soft)}.gantt-track{position:relative;height:26px;background:var(--bg);border-radius:6px}.gantt-today{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--primary);opacity:.55;z-index:1}.gantt-bar{position:absolute;top:4px;height:18px;border-radius:5px;display:flex;align-items:center;min-width:6px;box-shadow:var(--shadow-sm);overflow:hidden;z-index:2}.gantt-bar.done{opacity:.5}.gantt-bar-label{font-size:.68rem;color:#fff;padding:0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-nodate{position:absolute;left:5px;top:6px;font-size:.7rem;color:var(--muted)}.gantt-diamond{position:absolute;top:6px;width:13px;height:13px;background:var(--primary);transform:translate(-50%) rotate(45deg);border-radius:2px;box-shadow:var(--shadow-sm);z-index:2}.gantt-diamond.done{background:#16a34a}.pipeline-toolbar{display:flex;justify-content:flex-end;margin-bottom:.6rem}.deal-followup{margin-top:.4rem;font-size:.74rem;font-weight:600;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:.15rem .45rem;display:inline-block}.deal-followup.due{color:var(--danger);background:#fff1f2;border-color:#fecdd3}.deal-card.cold{border-color:#93c5fd;box-shadow:0 0 0 1px #bfdbfe inset}.deal-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem 1.4rem;margin:0}.deal-fact dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.deal-fact dd{margin:.1rem 0 0;font-weight:600}.stage-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.stage-timeline li{display:flex;align-items:center;gap:.6rem;font-size:.88rem}.stage-tl-label{font-weight:600;min-width:96px}.stage-tl-dur{margin-left:auto}.deal-meta .deal-cold{color:#2563eb;font-weight:600}.deal-nofollow{margin-top:.4rem;font-size:.72rem;font-weight:600;color:#92400e;background:#fef3c7;border:1px dashed #fcd34d;border-radius:6px;padding:.12rem .45rem;display:inline-block}.deal-card[draggable=true]{cursor:grab}.deal-card.dragging{opacity:.5}.board-col.drop-target .board-col-body{outline:2px dashed var(--primary-light);outline-offset:-4px;border-radius:10px;background:var(--primary-soft)}.deal-notes{margin-top:.75rem;padding-top:.7rem;border-top:1px dashed var(--border-strong)}.deal-notes-card .deal-notes{margin-top:0;padding-top:0;border-top:none}.deal-notes-head{font-weight:700;font-size:.82rem;margin-bottom:.5rem}.deal-note-add{display:flex;gap:.4rem;margin-bottom:.6rem}.deal-note-add input{flex:1;padding:.45rem .55rem;font-size:.85rem}.deal-notes-empty{font-size:.82rem}.deal-note-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.deal-note{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.5rem .6rem}.deal-note-body{font-size:.85rem;white-space:pre-wrap;word-break:break-word}.deal-note-meta{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:var(--muted);margin-top:.3rem}.roi-wrap{overflow-x:auto}.roi-table{width:100%;border-collapse:collapse;font-size:.86rem}.roi-table th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:.4rem .6rem;border-bottom:1px solid var(--border)}.roi-table td{padding:.55rem .6rem;border-bottom:1px solid var(--border)}.roi-table tr:last-child td{border-bottom:none}.roi-value{font-weight:600;white-space:nowrap}.roi-rate{display:flex;align-items:center;gap:.5rem;min-width:130px}.roi-bar{flex:1;height:7px;background:var(--border);border-radius:999px;overflow:hidden}.roi-bar-fill{height:100%;background:#16a34a;border-radius:999px}.cat-breakdown{display:flex;flex-direction:column;gap:.5rem}.cat-row{display:grid;grid-template-columns:130px 1fr 110px;align-items:center;gap:.7rem}.cat-name{font-size:.85rem;font-weight:600}.cat-bar{background:var(--bg);border-radius:6px;height:16px;overflow:hidden}.cat-bar-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--primary-light),var(--primary))}.cat-amt{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;font-size:.88rem}@media (max-width: 560px){.cat-row{grid-template-columns:100px 1fr 90px}}.funnel{display:flex;flex-direction:column;gap:.5rem}.funnel-row{display:grid;grid-template-columns:96px 1fr 44px 110px;align-items:center;gap:.6rem}.funnel-label{font-size:.84rem;font-weight:600}.funnel-bar{background:var(--bg);border-radius:7px;height:24px;overflow:hidden}.funnel-bar-fill{height:100%;min-width:26px;border-radius:7px;display:flex;align-items:center;justify-content:flex-end;padding-right:.4rem;transition:width .3s}.funnel-count{color:#fff;font-size:.78rem;font-weight:700}.funnel-conv{font-size:.82rem;font-weight:600;text-align:right}.funnel-days{font-size:.75rem;text-align:right}@media (max-width: 620px){.funnel-row{grid-template-columns:80px 1fr 40px}.funnel-days{display:none}}.winloss-bar{display:flex;height:34px;border-radius:8px;overflow:hidden;font-size:.8rem;font-weight:700;color:#fff}.winloss-won{background:#16a34a;display:flex;align-items:center;justify-content:center;min-width:0}.winloss-lost{background:var(--danger);display:flex;align-items:center;justify-content:center;min-width:0}.lost-reasons{margin-top:.9rem}.lost-reasons h3{font-size:.9rem;margin:0 0 .5rem}.lost-reasons ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.lost-reasons li{display:flex;align-items:center;gap:.5rem;font-size:.86rem}.tdoc{margin-top:1rem;padding-top:.9rem;border-top:1px dashed var(--border-strong)}.tdoc-head{font-weight:700;font-size:.88rem;margin-bottom:.7rem}.tdoc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.7rem}.tdoc-slot{border:1px solid var(--border);border-radius:11px;padding:.7rem;background:var(--bg);display:flex;flex-direction:column;gap:.4rem}.tdoc-slot.has{background:#fff;border-color:var(--border-strong)}.tdoc-slot-label{font-size:.78rem;font-weight:600;color:var(--text-soft)}.tdoc-photo-wrap{display:flex;justify-content:center}.tdoc-photo{width:84px;height:84px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}.tdoc-photo.ph{display:flex;align-items:center;justify-content:center;font-size:1.6rem;background:var(--primary-soft)}.tdoc-file{background:none;border:none;text-align:left;color:var(--primary);font-weight:500;font-size:.82rem;cursor:pointer;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tdoc-file:hover{text-decoration:underline}.tdoc-file-meta{font-size:.72rem;color:var(--muted)}.tdoc-actions{display:flex;gap:.7rem;margin-top:auto;font-size:.8rem}.tdoc-actions .link{cursor:pointer}.tdoc-upload{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px dashed var(--border-strong);border-radius:8px;padding:.5rem;font-size:.82rem;font-weight:500;color:var(--primary);background:#fff;transition:background .14s,border-color .14s}.tdoc-upload:hover{background:var(--primary-soft);border-color:var(--primary)}.inline-check{flex-direction:row!important;align-items:center;gap:.5rem;font-size:.9rem}.inline-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.biz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.biz-card{display:flex;flex-direction:column;gap:.3rem}.biz-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.biz-name{font-weight:700;font-size:1rem}.biz-line{font-size:.84rem;color:var(--text-soft);white-space:pre-line;margin-top:.15rem}.biz-meta{display:flex;flex-direction:column;gap:.15rem;font-size:.78rem;color:var(--muted);margin-top:.35rem}.biz-actions{display:flex;gap:.8rem;margin-top:.7rem;padding-top:.6rem;border-top:1px solid var(--border);font-size:.85rem}.inv-addr{white-space:pre-line;font-size:.84rem;margin-top:.15rem}.inv-from-meta{display:flex;flex-direction:column;gap:.1rem;font-size:.8rem;margin-top:.2rem}.inv-terms,.inv-pay{margin-top:1rem;padding-top:.7rem;border-top:1px solid var(--border)}.inv-pay-acct{font-size:.84rem;line-height:1.5}.inv-pay-country{font-weight:600;margin-bottom:.15rem}.bank-accts{margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--border)}.bank-accts-head{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:.82rem;margin-bottom:.4rem}.bank-empty{font-size:.8rem;margin:.2rem 0}.bank-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.bank-item{border:1px solid var(--border);border-radius:9px;padding:.5rem .6rem;background:var(--bg)}.bank-item-top{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.bank-country{font-weight:600;font-size:.85rem}.bank-lines{display:flex;flex-direction:column;gap:.1rem;font-size:.78rem;margin-top:.3rem}.bank-item-actions{display:flex;gap:.7rem;margin-top:.4rem;font-size:.8rem}.bank-form{margin-top:.6rem;padding:.7rem;border:1px solid var(--border-strong);border-radius:10px;background:#fff;display:flex;flex-direction:column;gap:.5rem}.cal-cell.milk-has{background:var(--primary-soft);border-color:var(--primary-light)}.milk-litres{font-size:.74rem;font-weight:700;color:var(--primary-dark);line-height:1}.cal-cell.today .milk-litres{color:var(--primary)}.milk-menu{min-width:168px;padding:.55rem;gap:.45rem}.milk-input{width:100%;padding:.4rem .5rem;font-size:.9rem;text-align:center}.milk-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem}.milk-quick button{border:1px solid var(--border-strong);background:#fff;border-radius:7px;padding:.28rem 0;font-size:.72rem;font-weight:600;color:var(--primary-dark);cursor:pointer}.milk-quick button:hover{background:var(--primary-soft);border-color:var(--primary)}.milk-menu-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.milk-set{padding:.35rem .9rem}.milk-summary{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.milk-stat{flex:1 1 130px;border:1px solid var(--border);border-radius:12px;padding:.7rem .9rem;background:var(--bg);display:flex;flex-direction:column;gap:.15rem}.milk-stat.highlight{background:var(--primary-soft);border-color:var(--primary-light)}.milk-stat-value{font-size:1.3rem;font-weight:800;letter-spacing:-.02em}.milk-stat-label{font-size:.78rem;color:var(--muted);font-weight:500}.report-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;justify-content:space-between}.report-range{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end}.report-range label{display:flex;flex-direction:column;gap:.2rem;font-size:.74rem;color:var(--muted);font-weight:500}.report-range input{padding:.45rem .55rem}.receipt-cell{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.receipt-add{cursor:pointer;white-space:nowrap}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.62rem 1.1rem;border:none;border-radius:var(--radius-sm);background:var(--danger);color:#fff;font-weight:600;box-shadow:0 1px 2px #e11d4859;transition:filter .15s,transform .05s}.btn-danger:hover{filter:brightness(1.08)}.btn-danger:active{transform:translateY(1px)}.toast-stack{position:fixed;right:1rem;bottom:1rem;z-index:200;display:flex;flex-direction:column;gap:.5rem;max-width:min(380px,calc(100vw - 2rem))}.toast{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem .8rem .7rem .75rem;background:var(--card);border:1px solid var(--border-strong);border-left-width:4px;border-radius:12px;box-shadow:var(--shadow-lg);font-size:.88rem;cursor:pointer;animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast-icon{flex:none;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:#fff;background:var(--muted);margin-top:1px}.toast-msg{flex:1;line-height:1.4;overflow-wrap:anywhere}.toast-close{background:none;border:none;color:var(--muted);font-size:1.1rem;line-height:1;padding:0 .1rem}.toast-success{border-left-color:#16a34a}.toast-success .toast-icon{background:#16a34a}.toast-error{border-left-color:var(--danger)}.toast-error .toast-icon{background:var(--danger)}.toast-info{border-left-color:var(--primary)}.toast-info .toast-icon{background:var(--primary)}.toast-warn{border-left-color:#d97706}.toast-warn .toast-icon{background:#d97706}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:190;background:#02061773;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:1rem}.confirm-dialog{background:var(--card);border-radius:16px;box-shadow:var(--shadow-lg);width:100%;max-width:420px;padding:1.25rem 1.35rem 1.1rem;animation:toast-in .16s ease-out}.confirm-dialog h3{margin:0 0 .4rem;font-size:1.05rem}.confirm-dialog p{margin:0 0 1.1rem;color:var(--text-soft);font-size:.92rem;line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:.6rem}.search-trigger{display:inline-flex;align-items:center;gap:.5rem;height:40px;padding:0 .8rem 0 .7rem;background:var(--card);border:1px solid var(--border);border-radius:11px;color:var(--muted);font-size:.86rem;box-shadow:var(--shadow-sm);transition:border-color .14s,box-shadow .14s}.search-trigger:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);color:var(--text-soft)}.search-trigger kbd{font:inherit;font-size:.7rem;font-weight:600;color:var(--muted);background:var(--bg);border:1px solid var(--border-strong);border-radius:5px;padding:.05rem .35rem;margin-left:.25rem}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;background:#02061773;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:10vh 1rem 1rem}.palette{width:100%;max-width:620px;background:var(--card);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;animation:toast-in .14s ease-out;display:flex;flex-direction:column;max-height:70vh}.palette-input{display:flex;align-items:center;gap:.6rem;padding:.35rem .9rem;border-bottom:1px solid var(--border)}.palette-input input{flex:1;border:none;outline:none;box-shadow:none;font-size:1.02rem;padding:.7rem 0;background:transparent}.palette-input input:focus{box-shadow:none;border:none}.palette-input kbd{font:inherit;font-size:.7rem;color:var(--muted);border:1px solid var(--border-strong);border-radius:5px;padding:.05rem .4rem}.palette-list{overflow-y:auto;padding:.4rem}.palette-group{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:.55rem .7rem .25rem}.palette-item{display:flex;align-items:center;gap:.7rem;width:100%;text-align:left;padding:.55rem .7rem;border:none;background:none;border-radius:10px;color:var(--text);font-size:.9rem}.palette-item.active{background:var(--primary-soft)}.palette-item .pi-icon{width:1.4rem;text-align:center;flex:none}.palette-item .pi-text{flex:1;min-width:0;display:flex;flex-direction:column}.palette-item .pi-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-item .pi-sub{font-size:.76rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-item .pi-kind{font-size:.7rem;color:var(--muted);flex:none}.palette-empty{padding:1.2rem;text-align:center;color:var(--muted);font-size:.9rem}.palette-foot{display:flex;gap:1rem;padding:.5rem .9rem;border-top:1px solid var(--border);font-size:.72rem;color:var(--muted)}.palette-foot kbd{font:inherit;font-size:.68rem;border:1px solid var(--border-strong);border-radius:4px;padding:0 .3rem}.tax-quarters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.tax-q{border:1px solid var(--border);border-radius:12px;padding:.8rem .9rem;background:var(--bg);display:flex;flex-direction:column;gap:.45rem;min-width:0}.tax-q.current{border-color:var(--primary-light);background:var(--primary-soft)}.tax-q.future{opacity:.6}.tax-q-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.tax-q-head strong{font-size:.95rem}.tax-q-head span{font-size:.72rem;color:var(--muted);white-space:nowrap}.tax-q-row{display:flex;justify-content:space-between;gap:.5rem;font-size:.82rem}.tax-q-row span:first-child{color:var(--muted)}.tax-q-row strong{font-variant-numeric:tabular-nums;white-space:nowrap}.tax-q-row.net{border-top:1px dashed var(--border-strong);padding-top:.35rem;margin-top:.15rem}.tax-fx{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end}.tax-fx label{display:flex;flex-direction:column;gap:.2rem;font-size:.72rem;color:var(--muted);font-weight:500}.tax-fx input{width:90px;padding:.4rem .5rem}.tax-note{font-size:.8rem;color:var(--muted);background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:.6rem .8rem}.tax-regime{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.tax-regime .tax-q{background:var(--card)}.due-past{color:var(--muted)}.due-soon{color:#b45309;font-weight:600}.due-overdue{color:var(--danger);font-weight:600}.pill{display:inline-block;font-size:.68rem;font-weight:700;border-radius:6px;padding:.08rem .45rem;background:var(--bg);color:var(--muted);border:1px solid var(--border)}.pill.ok{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.pill.warn{background:#fffbeb;color:#b45309;border-color:#fde68a}@media (max-width: 820px){.tax-quarters{grid-template-columns:repeat(2,minmax(0,1fr))}.tax-regime{grid-template-columns:1fr}.search-trigger .st-label,.search-trigger kbd{display:none}.search-trigger{width:40px;padding:0;justify-content:center}}.int-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.7rem .9rem;align-items:end;margin:.6rem 0 1rem;padding:.9rem;border:1px dashed var(--border-strong);border-radius:12px;background:var(--bg)}.int-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;color:var(--muted);font-weight:500}.int-form .int-key{grid-column:span 2}.int-form .row-actions{grid-column:1 / -1}.int-check{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-soft);white-space:nowrap}.int-check input[type=checkbox]{width:auto;margin:0}.int-meetings{display:flex;flex-direction:column;gap:.7rem}.int-meeting{border:1px solid var(--border);border-radius:12px;padding:.75rem .9rem;background:var(--bg)}.int-meeting summary::-webkit-details-marker{display:none}.int-meeting-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;flex-wrap:wrap}.int-items{margin:.5rem 0 0;padding-left:1.1rem;font-size:.85rem;display:flex;flex-direction:column;gap:.2rem}.int-items li.done{text-decoration:line-through;color:var(--muted)}.int-assign{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.65rem}.int-assign select{min-width:220px;flex:1}.int-summary{font:inherit;font-size:.82rem;color:var(--text-soft);background:var(--card);border:1px solid var(--border);border-radius:10px;padding:.7rem .85rem;margin:.6rem 0 0;max-height:320px;overflow:auto}.badge.src[href]{text-decoration:none}@media (max-width: 820px){.int-form .int-key{grid-column:span 1}}.mn-search{flex:none;width:min(340px,100%)}.mn-layout{display:grid;grid-template-columns:minmax(230px,300px) 1fr;gap:1rem;align-items:start}.mn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;max-height:560px;overflow:auto;padding-right:.2rem}.mn-loading{font-size:.78rem;padding:.2rem .1rem}.mn-item{display:flex;flex-direction:column;gap:.15rem;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:10px;padding:.5rem .6rem;cursor:pointer;color:inherit;font:inherit}.mn-item:hover{background:var(--bg)}.mn-item.active{background:var(--bg);border-color:var(--border-strong)}.mn-item-title{font-weight:600;font-size:.86rem;line-height:1.25}.mn-item-meta{font-size:.74rem;color:var(--muted)}.mn-item-preview{font-size:.76rem;color:var(--text-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mn-reader{border:1px solid var(--border);border-radius:12px;background:var(--bg);padding:.9rem 1rem;min-height:200px;max-height:560px;overflow:auto}.mn-summary{font-size:.86rem;line-height:1.55;color:var(--text-soft)}.mn-summary h3,.mn-summary h4,.mn-summary h5,.mn-summary h6{margin:.9rem 0 .3rem;color:var(--text);font-size:.9rem}.mn-summary h3:first-child,.mn-summary h4:first-child{margin-top:.4rem}.mn-summary p{margin:.4rem 0}.mn-summary ul,.mn-summary ol{margin:.3rem 0;padding-left:1.15rem}.mn-summary li{margin:.15rem 0}.mn-summary blockquote{margin:.4rem 0;padding-left:.7rem;border-left:3px solid var(--border-strong);color:var(--muted)}.mn-summary code{background:var(--card);border-radius:4px;padding:0 .25rem;font-size:.82em}.mn-summary hr{border:none;border-top:1px solid var(--border);margin:.7rem 0}.mn-tabs{display:flex;gap:.25rem;margin:.7rem 0 .2rem;border-bottom:1px solid var(--border)}.mn-tab{background:none;border:none;border-bottom:2px solid transparent;padding:.35rem .6rem;font:inherit;font-size:.82rem;font-weight:600;color:var(--muted);cursor:pointer;margin-bottom:-1px}.mn-tab.active{color:var(--text);border-bottom-color:var(--primary)}.mn-transcript{margin:.5rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem;font-size:.84rem}.mn-line{display:grid;grid-template-columns:52px 1fr;gap:.5rem;padding:.2rem .4rem;border-radius:6px}.mn-line.hit{background:var(--primary-soft)}.mn-line.flash{outline:2px solid var(--primary)}.mn-line-ts{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.74rem;padding-top:.15rem}.mn-line-speaker{font-weight:600;margin-right:.35rem}.mn-line .pill{margin-left:.4rem;font-size:.66rem;vertical-align:middle}.mn-item-ts{font-size:.72rem;margin-left:.35rem}.sow-block{border:1px dashed var(--border-strong);border-radius:12px;padding:.5rem .8rem;background:var(--bg)}.sow-block summary{cursor:pointer;font-weight:600;font-size:.86rem}.sow-block[open] summary{margin-bottom:.5rem}.pc-burn{display:flex;flex-direction:column;gap:.45rem;margin:.8rem 0 .2rem}.pc-burn-row{display:grid;grid-template-columns:110px 1fr auto;gap:.6rem;align-items:center;font-size:.8rem}.pc-burn-row .progress-bar-wrap{margin:0}.pc-burn-row.warn .progress-bar{background:#d97706}.pc-burn-row.over .progress-bar{background:var(--danger)}.pc-burn-row.ok .progress-bar{background:#16a34a}.pc-burn-label{font-weight:600;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.03em}.pc-burn-text{color:var(--text-soft);white-space:nowrap}.pc-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.5rem 1rem;margin-top:.8rem;font-size:.86rem}.pc-people>div{display:flex;flex-direction:column;gap:.1rem}.pc-links{margin-top:.8rem;display:flex;flex-direction:column;gap:.3rem}.pc-link{text-decoration:none}.pc-link-row{display:grid;grid-template-columns:1fr 2fr auto;gap:.4rem;margin:.3rem 0}.pc-sow{margin-top:.8rem}.pc-sow summary{cursor:pointer;font-weight:600;font-size:.86rem}.pc-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.pc-checklist li{display:flex;align-items:center;gap:.55rem;padding:.4rem .6rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);font-size:.86rem}.pc-checklist li.done .pc-check-label{color:var(--muted);text-decoration:line-through}.pc-checklist input[type=checkbox]{width:auto;margin:0}.pc-check-hint{font-size:.74rem;margin-left:auto}.pc-gate{border:2px solid var(--primary)}@media (max-width: 820px){.pc-burn-row{grid-template-columns:1fr;gap:.2rem}.pc-link-row{grid-template-columns:1fr}}.client-logo{object-fit:contain;border-radius:10px;background:var(--card);border:1px solid var(--border);padding:3px;flex:none}.client-logo-fallback{flex:none}.client-head{display:flex;align-items:center;gap:.7rem;margin-top:.3rem}.client-logo-picker{display:flex;align-items:center;gap:.9rem;padding:.6rem .7rem;border:1px dashed var(--border-strong);border-radius:12px;background:var(--bg)}.client-logo-picker .client-logo{width:64px;height:64px}.client-logo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.client-add-head{display:flex;align-items:center;gap:.8rem}.client-add-head .title-input{flex:1}.client-code{display:inline-block;flex:none;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:700;letter-spacing:.04em;line-height:1.35;padding:0 .35rem;border-radius:5px;background:#0f2d5a;color:#fff;vertical-align:middle}.client-code-input{flex:none;width:4.6rem!important;text-align:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.client-logo-drop{display:flex;flex-direction:column;align-items:center;gap:.2rem;cursor:pointer;font-size:.7rem;flex:none}.client-logo-drop .client-logo{width:56px;height:56px}.rate-input{display:flex;gap:.35rem}.rate-input select{width:84px;flex:none}.rate-input input{flex:1;min-width:0}.form-row label:has(.rate-input){min-width:190px}.form-row label.time-task-field{flex:2 1 260px}.form-row label.time-task-field select{width:100%}.lists-values{list-style:none;margin:0 0 .8rem;padding:0;display:flex;flex-direction:column;gap:.3rem}.lists-values li{display:flex;align-items:center;gap:.6rem;padding:.4rem .6rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);font-size:.88rem}.lists-values li.inactive .lists-label{color:var(--muted);text-decoration:line-through}.lists-move{display:flex;flex-direction:column;line-height:.9}.lists-move .link{font-size:.6rem;padding:0}.lists-label{font-weight:600}.lists-key{font-size:.72rem}.lists-actions{margin-left:auto}.lists-edit{display:flex;gap:.4rem;flex:1;align-items:center}.lists-edit input{flex:1}.lists-add{display:flex;gap:.5rem;max-width:420px}.lists-add input{flex:1}.mn-form{margin:.6rem 0 1rem}.mn-form .mn-form-wide{grid-column:1 / -1}.mn-form textarea{font:inherit;font-size:.84rem;line-height:1.45;resize:vertical}.ai-providers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;margin-bottom:.8rem}.ai-provider{display:flex;gap:.6rem;align-items:flex-start;padding:.7rem .8rem;border:1px solid var(--border);border-radius:12px;background:var(--bg);cursor:pointer}.ai-provider.editing{border-color:var(--primary)}.ai-provider input[type=radio]{width:auto;margin-top:.2rem}.ai-provider-body{display:flex;flex-direction:column;gap:.2rem;font-size:.86rem}.logs-filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.7rem}.logs-filters input[type=search]{flex:1;min-width:200px}.logs-filters .tag-chip{cursor:pointer;border:none;font:inherit}.logs-filters .tag-chip.active{outline:2px solid var(--primary)}.logs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.logs-line{display:grid;grid-template-columns:170px 60px 1fr;gap:.5rem;align-items:start;padding:.35rem .5rem;border-radius:8px;border:1px solid var(--border);background:var(--bg)}.logs-line.error{border-color:var(--danger)}.logs-line.warn{border-color:var(--border-strong)}.logs-ts{font-size:.74rem;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:.15rem}.logs-line .pill{justify-self:start;font-size:.66rem}.logs-msg{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto}@media (max-width: 820px){.logs-line{grid-template-columns:1fr;gap:.2rem}}.mn-generate{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem}.mn-review{list-style:none;margin:0 0 .6rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.mn-review li{display:flex;gap:.55rem;align-items:flex-start;padding:.5rem .6rem;border:1px solid var(--border);border-radius:10px;background:var(--card)}.mn-review li.done{opacity:.6}.mn-review li>input[type=checkbox]{width:auto;margin-top:.35rem}.mn-review-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.mn-review-desc{width:100%;font-size:.86rem}.mn-review-meta{display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;font-size:.76rem;color:var(--muted)}.mn-review-meta label{display:inline-flex;align-items:center;gap:.3rem}.mn-review-meta input,.mn-review-meta select{font-size:.78rem;padding:.2rem .4rem;width:auto}.mn-review-meta input[type=text],.mn-review-meta input:not([type]){width:130px}.mn-review-quote{font-size:.74rem;font-style:italic}.mn-candidates li{display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}.mn-candidates .muted{flex:1 1 100%;font-size:.74rem}@media (max-width: 820px){.mn-layout{grid-template-columns:1fr}.mn-list{max-height:260px}.mn-search{width:100%}}@media print{.tax-q{break-inside:avoid}.palette-backdrop,.toast-stack,.confirm-backdrop{display:none!important}}.task-modal{max-width:640px;max-height:calc(100vh - 2rem);overflow-y:auto}.task-modal-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.8rem}.task-modal-head h3{margin:0}.task-modal-sub{font-weight:400;font-size:.85rem}.task-modal-head-actions{display:flex;align-items:center;gap:.7rem}.tb-edit{position:absolute;top:.3rem;right:.3rem;width:20px;height:20px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:.72rem;line-height:1;cursor:pointer;padding:0;opacity:0;transition:opacity .12s}.tb-card:hover .tb-edit,.tb-edit:focus-visible{opacity:1}.tb-edit:hover{border-color:var(--primary);color:var(--primary);background:var(--card)}.tb-card .tb-card-title{padding-right:1.2rem}.tc-chip{display:flex;align-items:center;gap:.15rem;padding-right:.15rem}.tc-chip-title{flex:1;min-width:0;text-align:left;border:none;background:none;cursor:pointer;padding:0;font:inherit;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-chip-edit{flex:none;border:none;background:none;color:var(--muted);cursor:pointer;padding:0 .15rem;font-size:.7rem;line-height:1;opacity:0;transition:opacity .12s}.tc-chip:hover .tc-chip-edit,.tc-chip-edit:focus-visible{opacity:1}.tc-chip-edit:hover{color:var(--primary)}.tc-chip.done .tc-chip-title{text-decoration:line-through}.tc-chip.done{text-decoration:none}.ptask-edit{font-size:.8rem}.contact-list{list-style:none;margin:.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.6rem}.contact-card{display:flex;flex-direction:column;gap:.45rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;min-width:0}.contact-card.editing{grid-column:1 / -1;background:var(--primary-soft);border-color:var(--primary-light)}.contact-main{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.contact-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.contact-name{font-weight:600}.contact-title{font-weight:400;font-size:.84rem}.contact-reach{display:flex;flex-wrap:wrap;gap:.2rem .8rem;font-size:.84rem;overflow-wrap:anywhere}.contact-notes{font-size:.8rem}.contact-projects .badge{white-space:normal}.contact-actions{display:flex;gap:.9rem;font-size:.82rem;margin-top:auto}.contact-role{flex:none;width:auto;padding:.25rem .4rem;font-size:.8rem}.contact-role-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem}.contact-pick{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.4rem 0 .8rem}.contact-pick>select:first-child{flex:1;min-width:220px}.contact-pick .btn-primary,.contact-pick .btn-ghost{margin-top:0}.contact-form{margin-bottom:.8rem}.ct-table td{vertical-align:top}.ct-sub{font-size:.8rem}.ct-client{display:inline-flex;align-items:center;gap:.45rem;font-weight:500;color:var(--text);text-decoration:none}.ct-client:hover{color:var(--primary);text-decoration:underline}.ct-logo{width:24px;height:24px;border-radius:6px;object-fit:contain;background:#fff;border:1px solid var(--border);flex:none}.ct-logo-empty{display:inline-flex;align-items:center;justify-content:center;font-size:.75rem}.ct-projects{margin:0;align-items:center}.ct-project{white-space:normal;gap:.35rem;padding-right:.3rem}.ct-project a{color:inherit;text-decoration:none}.ct-project a:hover{text-decoration:underline}.ct-project.ct-inactive{opacity:.6}.ct-role{font-weight:500;font-size:.66rem;padding:.05rem .35rem;border-radius:5px;background:#fff;color:var(--text-soft)}.ct-x{border:none;background:none;color:var(--muted);cursor:pointer;font-size:.85rem;line-height:1;padding:0 .15rem}.ct-x:hover{color:var(--danger)}.ct-reach{display:flex;flex-direction:column;gap:.15rem;font-size:.84rem;overflow-wrap:anywhere;min-width:150px}.ct-link-row td,.ct-editing td{background:var(--primary-soft)}.ct-add-project{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.ct-add-project select{width:auto;min-width:160px}.ct-add-project .btn-primary{margin-top:0}.ct-inline-note{font-size:.84rem}.ct-edit-head{font-size:.8rem;margin-bottom:.3rem}.ct-client-pick{display:flex;flex-direction:column;max-width:360px;margin-bottom:.3rem}.badge.call{background:#fef3c7;color:#92400e;text-decoration:none;text-transform:none;white-space:nowrap}.badge.call:hover{background:#fde68a}.badge.call.presented{background:#ecfdf5;color:#047857}.call-picker .link{white-space:nowrap}.call-toolbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;flex:none}.call-toolbar select{width:auto;padding:.3rem .5rem;font-size:.82rem}.call-day{margin-top:.4rem}.call-day-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:.9rem 0 .35rem}.call-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.65rem .8rem;margin-bottom:.5rem;background:var(--card)}.call-card.live{border-color:#86efac;box-shadow:0 0 0 3px #16a34a1f}.call-card.past{background:var(--bg)}.call-card.cancelled .call-title strong{text-decoration:line-through;color:var(--muted)}.call-card.highlight{border-color:var(--primary-light);box-shadow:var(--ring)}.call-head{display:grid;grid-template-columns:5.6rem minmax(0,1fr) auto;gap:.7rem;align-items:start}.call-time{display:flex;flex-direction:column;font-size:.85rem;line-height:1.25}.call-time .muted{font-size:.76rem}.call-title{min-width:0;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.call-title>strong{overflow-wrap:anywhere}.call-sub{flex-basis:100%;font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-links{display:flex;gap:.6rem;align-items:center;white-space:nowrap}.btn-sm{padding:.25rem .65rem;font-size:.8rem;text-decoration:none}.call-project{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:.5rem 0 0 6.3rem}.call-project select{width:auto;max-width:100%;min-width:220px;padding:.3rem .5rem;font-size:.82rem}.call-reason{font-size:.74rem}.call-agenda{margin:.55rem 0 0 6.3rem;padding:.5rem .65rem;border-radius:8px;background:var(--bg);border:1px dashed var(--border-strong)}.call-card.past .call-agenda{background:var(--card)}.call-agenda-head{display:flex;justify-content:space-between;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}.call-agenda ul{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.call-agenda li{display:flex;align-items:center;gap:.45rem;font-size:.86rem;flex-wrap:wrap}.call-agenda li.presented .call-task{text-decoration:line-through;color:var(--muted)}.call-task{flex:1 1 0;min-width:0;overflow-wrap:anywhere}.call-add{margin-top:.4rem;width:100%;padding:.3rem .5rem;font-size:.82rem}.call-picker{position:relative;display:inline-block}.call-pop{position:fixed;z-index:200;max-height:320px;overflow:auto;background:var(--card);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow-lg);padding:.55rem .65rem;text-align:left;cursor:default}.call-pop-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem;font-size:.85rem}.call-pop ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.call-pop li{display:flex;flex-direction:column;padding:.2rem 0;border-bottom:1px solid var(--border)}.call-pop li:last-child{border-bottom:none}.call-pop .int-check{white-space:normal;align-items:flex-start}.call-pop-when{font-weight:600;white-space:nowrap}.call-pop-title{color:var(--text-soft);overflow-wrap:anywhere}.call-pop-proj{font-size:.74rem;margin-left:1.5rem}.call-pop p{font-size:.82rem;margin:.2rem 0}.settings-kv{display:flex;flex-direction:column;gap:.3rem;font-size:.86rem}.settings-kv .muted{display:inline-block;min-width:7.5rem}.settings-kv code{overflow-wrap:anywhere}@media (max-width: 640px){.call-head{grid-template-columns:4.6rem minmax(0,1fr)}.call-links{grid-column:1 / -1}.call-project,.call-agenda{margin-left:0}.call-project select{min-width:0;width:100%}}.work-open{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;flex:1;min-width:0}.work-open:hover .task-title{color:var(--primary)}.work-meta{display:flex;flex-wrap:wrap;gap:.35rem .9rem}.pte{max-width:720px}.pte-section{border-top:1px solid var(--border);margin-top:1.1rem;padding-top:.9rem}.pte-section h4{margin:0 0 .6rem;font-size:.92rem;display:flex;align-items:baseline;gap:.5rem}.pte-total{font-weight:500;font-size:.8rem}.pte-note{font-size:.8rem;margin:.6rem 0 0}.pte-log{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.6rem}.pte-log input[type=number]{width:90px}.pte-log input[type=date]{width:150px}.pte-log input:not([type]){flex:1;min-width:160px}.pte-log select{flex:1;min-width:200px}.pte-list{list-style:none;margin:0;padding:0}.pte-list li{display:flex;align-items:center;gap:.7rem;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.88rem}.pte-list li:last-child{border-bottom:none}.pte-hours{font-weight:700;min-width:3.2rem;color:var(--primary-dark)}.pte-main{flex:1;min-width:0;overflow-wrap:anywhere}.pte-sub{display:block;font-size:.76rem}.pte-presented{font-size:.78rem;white-space:nowrap;min-width:7.5rem}@media (max-width: 560px){.pte-log input[type=number],.pte-log input[type=date]{flex:1;width:auto}.pte-presented{min-width:0}}.fx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.8rem}.fx-item{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}.fx-item .pill{margin-left:.35rem}.fin-sub{font-size:.78rem;font-weight:500}a.stat-card.stat-link{text-decoration:none;color:inherit;cursor:pointer;transition:transform .12s,box-shadow .15s}a.stat-card.stat-link:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.mn-project-pick{margin-left:.5rem;padding:.15rem .4rem;font-size:.76rem;width:auto;max-width:220px}.cred-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.cred-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem;background:var(--bg)}.cred-head{display:flex;align-items:center;gap:.45rem;margin-bottom:.35rem;font-weight:600;font-size:.9rem}.cred-row{display:flex;align-items:center;gap:.5rem;margin-top:.3rem;flex-wrap:wrap}.cred-label{width:4.8rem;font-size:.76rem;color:var(--muted);flex-shrink:0}.cred-value{flex:1;min-width:0;font-size:.84rem;background:var(--card);border:1px solid var(--border);border-radius:6px;padding:.25rem .5rem;overflow-wrap:anywhere}.cred-btn{padding:.2rem .65rem;font-size:.78rem}.cred-show{font-size:.78rem}.cred-notes{font-size:.78rem;margin-top:.35rem;white-space:pre-wrap}.tv-title{margin:.3rem 0 .4rem;overflow-wrap:anywhere}.tv-badges{display:flex;gap:.4rem;flex-wrap:wrap}.tv-status{background:#64748b}.tv-status.tv-in_progress{background:var(--primary)}.tv-status.tv-done{background:#16a34a}.tv-notes-head{margin:1.1rem 0 .4rem;font-size:.92rem}.tv-notes{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.92rem;line-height:1.5}.tv-source{font-size:.82rem;margin:.8rem 0 0}.tv-card .pte-section{border-top:none;margin-top:0;padding-top:0}.ptask-link{color:inherit;text-decoration:none}.ptask-link:hover{color:var(--primary);text-decoration:underline}a.work-open{display:block;text-decoration:none}@media (max-width: 560px){.cred-label{width:100%}.cred-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.tb-del{position:absolute;top:.3rem;right:1.65rem;width:20px;height:20px;border-radius:6px;border:1px solid transparent;background:transparent;font-size:.7rem;line-height:1;cursor:pointer;padding:0;opacity:0;transition:opacity .12s}.tb-card:hover .tb-del,.tb-del:focus-visible{opacity:1}.tb-del:hover{border-color:var(--danger);background:#fff1f2}.tb-card .tb-card-title{padding-right:2.6rem}@media (hover: none){.tb-edit,.tb-del{opacity:1}}.lanes{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.6rem;align-items:flex-start;scroll-snap-type:x proximity}.lane{flex:0 0 250px;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);max-height:70vh;scroll-snap-align:start;transition:border-color .12s,background .12s}.lane.drop-target{border-color:var(--primary);background:var(--primary-soft)}.lane-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .45rem;padding:.6rem .75rem .5rem;border-bottom:1px solid var(--border);border-top:3px solid var(--border-strong);border-radius:var(--radius) var(--radius) 0 0}.lane-over .lane-head{border-top-color:var(--danger)}.lane-today .lane-head{border-top-color:var(--primary)}.lane-none .lane-head{border-top-color:#94a3b8}.lane-title{font-weight:700;font-size:.88rem}.lane-over .lane-title{color:var(--danger)}.lane-count{font-size:.72rem;font-weight:600;color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:999px;padding:0 .45rem}.lane-sub{width:100%;font-size:.72rem;color:var(--muted)}.lane-body{display:flex;flex-direction:column;gap:.45rem;padding:.55rem;overflow-y:auto;min-height:60px}.lane-empty{font-size:.76rem;margin:.2rem .1rem}.lane-card{border-left:3px solid var(--border-strong)}.lane-card.prio-high{border-left-color:#e11d48}.lane-card.prio-medium{border-left-color:#d97706}.lane-card.prio-low{border-left-color:#2563eb}.lane-proj{overflow-wrap:anywhere}.lane-late{color:var(--danger);font-weight:600}@media (max-width: 560px){.lane{flex-basis:82vw}}.crumbs{margin-bottom:.35rem}.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.15rem 0;font-size:.8rem;color:var(--muted)}.crumbs li{display:inline-flex;align-items:center;min-width:0}.crumbs li+li:before{content:"›";margin:0 .45rem;color:var(--border-strong);font-size:.95rem;line-height:1}.crumbs a{color:var(--text-soft);text-decoration:none;font-weight:500;border-radius:4px}.crumbs a:hover{color:var(--primary);text-decoration:underline}.crumbs .crumb-current{color:var(--muted);max-width:32ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-danger:disabled{opacity:.55;cursor:default}.task-modal .task-modal-head{position:sticky;top:-1.25rem;z-index:2;background:var(--card);margin:-1.25rem -1.35rem .8rem;padding:1rem 1.35rem .75rem;border-bottom:1px solid var(--border);flex-wrap:wrap;row-gap:.5rem}.task-modal-head-actions{flex-wrap:wrap;gap:.45rem}.att-add{margin-left:auto}.att-icon{font-size:1.1rem}.att-name{text-align:left;font-weight:600;overflow-wrap:anywhere}.att-pending{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.7rem}.att-chip{display:inline-flex;align-items:center;gap:.3rem;max-width:100%;font-size:.78rem;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.15rem .3rem .15rem .6rem;overflow-wrap:anywhere}.att-chip-x{border:none;background:none;color:var(--muted);font-size:1rem;line-height:1;cursor:pointer;padding:0 .2rem}.att-chip-x:hover{color:var(--danger)}.tv-notes-html{font-size:.92rem;line-height:1.55;overflow-wrap:anywhere}.related-hint{display:block;margin-top:.35rem;font-size:.76rem;font-weight:400;color:var(--muted)}.repeat{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .8rem .7rem;margin-top:.85rem;background:var(--bg)}.repeat-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-top:.45rem}.repeat-row:first-child{margin-top:0}.task-form .repeat-field{margin-top:0;min-width:150px;flex:0 1 auto}.repeat-every input{width:70px}.repeat-inline{display:inline-flex;align-items:center;gap:.4rem;font-weight:400;color:var(--text)}.repeat-label{font-size:.82rem;color:var(--text-soft)}.task-form .repeat-radio{flex-direction:row;align-items:center;gap:.4rem;margin-top:0;font-size:.85rem;color:var(--text);flex-wrap:wrap}.repeat-radio input[type=radio]{width:auto;margin:0}.repeat select{width:auto;max-width:100%}.weekday-picks{display:inline-flex;gap:.25rem;flex-wrap:wrap}.weekday-pick{width:2.2rem;height:2.2rem;border-radius:999px;border:1px solid var(--border-strong);background:var(--card);color:var(--text-soft);font-size:.78rem;font-weight:600;cursor:pointer}.weekday-pick.on{background:var(--primary);border-color:var(--primary);color:#fff}.repeat-preset,.repeat-presets .link{font-size:.78rem}.repeat-presets{display:inline-flex;gap:.7rem}.repeat-summary{margin:.6rem 0 0;font-size:.82rem;color:var(--primary-dark);font-weight:500}.lane-move{margin-left:auto;padding:.1rem .3rem;font-size:.72rem;width:auto;max-width:100%;border-radius:6px;color:var(--text-soft);background:var(--card)}@media (max-width: 640px){.cred-log thead{display:none}.cred-log tr,.cred-log td{display:block}.cred-log tr{padding:.5rem 0;border-bottom:1px solid var(--border)}.cred-log td{border:none;padding:.1rem 0}.cred-log td:before{content:attr(data-label) ": ";color:var(--muted);font-size:.76rem}}.comment-list{list-style:none;margin:0 0 .7rem;padding:0;display:flex;flex-direction:column;gap:.7rem}.comment{display:flex;gap:.6rem}.comment-avatar{flex:none;width:30px;height:30px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);display:grid;place-items:center;font-weight:700;font-size:.8rem}.comment-main{flex:1;min-width:0}.comment-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .5rem;font-size:.84rem}.comment-head .muted{font-size:.74rem}.comment-tools{margin-left:auto;display:inline-flex;gap:.6rem;font-size:.76rem}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;margin-top:.15rem}.mention{color:var(--primary-dark);background:var(--primary-soft);border-radius:5px;padding:0 .2rem;font-weight:600}.comment-composer{display:flex;flex-direction:column;gap:.4rem}.comment-input-wrap{position:relative}.comment-input-wrap textarea{width:100%;resize:vertical}.mention-pop{position:absolute;left:0;top:100%;z-index:5;list-style:none;margin:2px 0 0;padding:.25rem;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);min-width:200px}.mention-pop button{display:block;width:100%;text-align:left;border:none;background:none;padding:.35rem .5rem;border-radius:6px;cursor:pointer;font-size:.86rem}.mention-pop button:hover{background:var(--primary-soft)}.comment-actions{display:flex;gap:.4rem}.check-progress{height:6px;margin-bottom:.5rem}.check-list{list-style:none;margin:0 0 .5rem;padding:0}.check-list li{display:flex;align-items:center;gap:.55rem;padding:.3rem 0;border-bottom:1px solid var(--border);font-size:.9rem}.check-list li:last-child{border-bottom:none}.check-list input[type=checkbox]{width:17px;height:17px;flex:none;accent-color:var(--primary)}.check-list li.done .check-text{text-decoration:line-through;color:var(--muted)}.check-text{flex:1;min-width:0;overflow-wrap:anywhere;cursor:text}.check-edit{flex:1;padding:.2rem .4rem}.check-x{font-size:.8rem}.check-add{display:flex;gap:.4rem}.check-add input{flex:1}.check-badge{background:var(--bg);color:var(--text-soft);border:1px solid var(--border);text-transform:none}.check-badge.all{background:#dcfce7;color:#166534;border-color:#bbf7d0}.timer-slot{margin-left:auto}.timer-btn.running{font-variant-numeric:tabular-nums}.timer-pill{display:inline-flex;align-items:center;gap:.4rem;max-width:260px;background:#fff1f2;border:1px solid #fecdd3;border-radius:999px;padding:.25rem .3rem .25rem .65rem;font-size:.8rem}.timer-dot{width:8px;height:8px;border-radius:999px;background:var(--danger);animation:timer-blink 1.2s infinite;flex:none}@keyframes timer-blink{50%{opacity:.25}}.timer-pill-task{color:var(--text);text-decoration:none;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.timer-pill-task:hover{color:var(--primary)}.timer-pill-stop{border:none;background:var(--danger);color:#fff;width:22px;height:22px;border-radius:999px;font-size:.6rem;cursor:pointer;flex:none}@media (max-width: 560px){.timer-pill{max-width:150px}}.bulk-head{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.6rem}.bulk-bar{position:sticky;top:.5rem;z-index:4;flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .6rem;background:var(--primary-soft);border:1px solid var(--primary-light);border-radius:var(--radius-sm);padding:.45rem .7rem;font-size:.85rem}.bulk-bar select,.bulk-bar input{width:auto;max-width:100%;padding:.3rem .45rem;font-size:.82rem}.bulk-due{display:inline-flex;gap:.35rem;align-items:center}.task-main>input.sel-box{accent-color:var(--text-soft);width:16px;height:16px;margin-top:.2rem}.work-item.selected{border-color:var(--primary-light);background:var(--primary-soft)}.mn-next-call{display:flex;margin:.4rem 0;font-size:.82rem}.badge.rel{text-transform:none;text-decoration:none;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;border:1px solid transparent}a.badge.rel:hover{filter:brightness(.96);text-decoration:underline}.rel-project{background:var(--primary-soft);color:var(--primary-dark)}.rel-personal{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.rel-client{background:#ecfdf5;color:#047857}.rel-deal{background:#fff7ed;color:#c2410c}.rel-invoice{background:#fefce8;color:#a16207}.rel-freelancer{background:#f5f3ff;color:#6d28d9}.rel-property{background:#fdf2f8;color:#be185d}.rel-client-name{font-weight:700}.rel-sep{margin:0 .3em;opacity:.55}.badge.rel{display:inline-block;white-space:nowrap;vertical-align:middle}.tasks-filters{align-items:center;margin-bottom:.7rem}.filters-toggle{white-space:nowrap}.filters-toggle.on{background:var(--primary-soft)}.more-filters{padding:.6rem;margin-bottom:.7rem;background:var(--bg);border:1px solid var(--border);border-radius:10px;align-items:center}.more-filters select{width:auto}.scope-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem}.scope-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border);background:#fff;color:var(--text-soft);border-radius:999px;padding:.3rem .75rem;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.scope-chip:hover{border-color:var(--border-strong);color:var(--text)}.scope-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.scope-count{font-size:.72rem;font-weight:600;min-width:1.2em;text-align:center;border-radius:999px;padding:0 .35rem;background:var(--bg);color:var(--muted)}.scope-chip.active .scope-count{background:#ffffff38;color:#fff}.scope-chip.alert:not(.active) .scope-count{background:#fff1f2;color:var(--danger)}.quick-add{display:flex;align-items:center;gap:.75rem;margin-bottom:.8rem}.quick-add input{flex:1;border-style:dashed}.quick-add input:focus{border-style:solid}.quick-add .link{white-space:nowrap;font-size:.84rem}.task-list .task-item{padding:.7rem .9rem}.task-list .task-meta{margin-top:.25rem;gap:.75rem;align-items:center}.task-meta:empty{display:none}.muted-link{color:var(--muted)}.task-start{margin:0 0 .5rem;font-size:.83rem}@media (hover: hover){.task-list .task-item{position:relative}.task-item .row-actions{position:absolute;top:.6rem;right:.8rem;padding-left:.6rem;background:#fff;box-shadow:-10px 0 10px #fff;opacity:0;transition:opacity .12s}.task-item.done .row-actions{background:#fafbfc;box-shadow:-10px 0 10px #fafbfc}.task-item:hover .row-actions,.task-item .row-actions:focus-within{opacity:1}}.task-board{overflow-x:auto}.tb-col:not(.collapsed){min-width:170px}.tb-card .tb-card-title{padding-right:0}.tb-card .tb-edit,.tb-card .tb-del{background:var(--card)}.compact .tb-card-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (max-width: 640px){.tasks-filters .view-switch{width:100%;justify-content:space-between}}.task-group+.task-group{margin-top:1.1rem}.task-group-head{display:flex;align-items:center;gap:.45rem;margin:0 0 .5rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.task-group-head.over{color:var(--danger)}@media (max-width: 720px){.scope-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:-2px;padding:2px}.scope-chips::-webkit-scrollbar{display:none}.scope-chip{flex:none}}.rte-loading{min-height:120px;background:var(--bg)}.more-details{align-self:flex-start;font-size:.85rem}.row-menu{position:relative;display:inline-flex}.row-menu-btn{background:none;border:1px solid transparent;border-radius:6px;color:var(--muted);font-size:1rem;line-height:1;padding:.1rem .4rem;cursor:pointer}.row-menu-btn:hover,.row-menu.open .row-menu-btn{border-color:var(--border);color:var(--text);background:var(--bg)}.row-menu-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:170px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:.25rem;display:flex;flex-direction:column}.row-menu-item{text-align:left;background:none;border:none;border-radius:7px;padding:.45rem .6rem;font:inherit;font-size:.85rem;color:var(--text);cursor:pointer;text-decoration:none}.row-menu-item:hover{background:var(--bg)}.row-menu-item.danger{color:var(--danger)}.task-item:has(.row-menu.open) .row-actions{opacity:1}.tb-card-meta .badge.priority-high{flex:none;max-width:none}.task-group-sub{font-weight:500;text-transform:none;letter-spacing:0}.tb-col-sub{font-size:.7rem;color:var(--muted);padding-left:1.05rem;margin-top:.1rem}.tb-col{position:relative}.tb-col:not(.collapsed){min-width:150px}.tb-col-resize{position:absolute;top:0;bottom:0;right:-.5rem;width:.6rem;cursor:col-resize;z-index:2;touch-action:none}.tb-col-resize:after{content:"";position:absolute;top:10px;bottom:10px;left:50%;width:3px;transform:translate(-50%);border-radius:3px;background:transparent;transition:background .12s}.tb-col-resize:hover:after,body.col-resizing .tb-col-resize:active:after{background:var(--primary)}body.col-resizing,body.col-resizing *{cursor:col-resize!important;-webkit-user-select:none;user-select:none}.tb-full-btn{white-space:nowrap}.task-board-wrap.tb-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:var(--bg);padding:.9rem 1.1rem;display:flex;flex-direction:column}.tb-full .task-board{flex:1;min-height:0}.tb-full .tb-col{height:auto;max-height:none}.badge.notify-on{background:#ecfdf5;color:#047857}.error-text{color:var(--danger);font-size:.9rem}.notif-push-cta{display:block;width:100%;text-align:left;border:none;border-top:1px solid var(--border);background:var(--primary-soft);color:var(--primary-dark);font:inherit;font-size:.82rem;font-weight:600;padding:.6rem .85rem;cursor:pointer}.notif-push-cta:hover{background:#d5e3f7}.calls-cal{margin-top:.4rem}.calls-cal .tc-toolbar{flex-wrap:wrap}.cc-legend{display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-size:.74rem}.cc-legend span{display:inline-flex;align-items:center;gap:.3rem}.cc-dot{width:10px;height:10px;border-radius:3px;display:inline-block;border-left:3px solid var(--p);background:color-mix(in srgb,var(--p) 18%,#fff)}.cc-scroll{overflow-x:auto}.cc-scroll .tc-grid{min-width:640px}.calls-cal .tc-cell{min-height:104px;max-height:170px}.calls-cal .tc-cell.cc-out{background:var(--bg)}.calls-cal .tc-cell.cc-out .tc-daynum{color:var(--muted)}.calls-cal .cc-week .tc-cell{min-height:320px;max-height:none}.cc-chip,.cc-dot{--p: var(--primary)}.cc-chip.past,.cc-dot.past{--p: #94a3b8}.cc-chip.live{--p: #16a34a}.cc-chip.noproj:not(.past):not(.cancelled),.cc-dot.noproj{--p: #d97706}.cc-chip.rec,.cc-dot.rec{--p: #7c3aed}.cc-chip.cancelled{--p: #cbd5e1;text-decoration:line-through;color:var(--muted)}.cc-chip{display:block;width:100%;text-align:left;border:none;cursor:pointer;font:inherit;font-size:.72rem;color:var(--text);background:color-mix(in srgb,var(--p) 14%,#fff);border-left:3px solid var(--p);border-radius:5px;padding:.12rem .35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none}.cc-chip:hover{background:color-mix(in srgb,var(--p) 26%,#fff)}.cc-chip.past{color:var(--text-soft)}.cc-chip.sel{box-shadow:0 0 0 2px var(--p)}.cc-week .cc-chip{white-space:normal;overflow-wrap:anywhere;padding:.25rem .4rem}.cc-time{font-weight:600;color:var(--text-soft);margin-right:.15rem}.cc-badge{margin-left:.3rem;font-size:.66rem;font-weight:700;color:#fff;background:var(--p);border-radius:999px;padding:0 .35rem}.cc-detail{border-top:1px dashed var(--border-strong);padding-top:.6rem}.cc-detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.badge.status-in_progress{background:#d97706;text-transform:none}.badge.status-in_review{background:#7c3aed;text-transform:none}.badge.status-waiting_client{background:#0891b2;text-transform:none}.badge.status-blocked{background:#dc2626;text-transform:none}.badge.milestone{background:#fef3c7;color:#92400e}.badge.blocked-by{background:#fee2e2;color:#991b1b;text-transform:none;max-width:220px;overflow:hidden;text-overflow:ellipsis}.badge.blocked-by.cleared{background:#dcfce7;color:#166534}.badge.unblocked{background:#dcfce7;color:#166534;text-transform:none}.tv-status.tv-in_review{background:#7c3aed}.tv-status.tv-waiting_client{background:#0891b2}.tv-status.tv-blocked{background:#dc2626}.btn-ghost.on{background:var(--primary-soft);border-color:var(--primary-light);color:var(--primary-dark)}.pte-milestone{margin:.3rem 0 .2rem;font-size:.88rem}.gantt-bar.milestone{outline:2px solid #f59e0b;outline-offset:1px}.work-item.focused{box-shadow:0 0 0 2px var(--primary-light)}.work-item.archived{opacity:.7}.status-switch{margin-left:0}.saved-filters{margin-top:-.4rem;align-items:center;font-size:.84rem;gap:.5rem .8rem}.saved-filters .spacer{flex:1}.chip-filter{display:inline-flex;align-items:center;gap:.2rem;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.1rem .3rem .1rem .6rem}.chip-x{border:none;background:none;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 .2rem}.chip-x:hover{color:var(--danger)}.task-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;font-size:.84rem}.task-history li{display:flex;gap:.6rem;flex-wrap:wrap}.th-when{color:var(--muted);min-width:7.5rem}.th-who{font-weight:600}.notif-snooze{position:relative;flex-shrink:0}.notif-snooze-menu{position:absolute;right:0;top:100%;z-index:5;background:var(--card);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;min-width:130px;padding:.25rem}.notif-snooze-opt{padding:.3rem .5rem;border-radius:6px;font-size:.82rem;cursor:pointer;white-space:nowrap}.notif-snooze-opt:hover{background:var(--primary-soft)}.wl-legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.76rem;margin-bottom:.5rem}.wl-legend span{display:inline-flex;align-items:center;gap:.3rem}.wl-dot{width:12px;height:8px;border-radius:3px;display:inline-block}.wl-dot.est,.wl-bar.est{background:var(--primary)}.wl-dot.log,.wl-bar.log{background:#16a34a}.wl-dot.warn{background:#fde68a}.wl-dot.over{background:#fecaca}.wl-scroll{overflow-x:auto}.wl-table{border-collapse:collapse;width:100%;font-size:.84rem;min-width:640px}.wl-table th,.wl-table td{border:1px solid var(--border);padding:.4rem .5rem;text-align:left;vertical-align:top}.wl-table thead th{background:var(--bg);font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.wl-table thead th.cur,.wl-cell.cur{background:var(--primary-soft)}.wl-table tbody th{font-weight:600;white-space:nowrap}.wl-open{font-weight:400;font-size:.76rem}.wl-cell{min-width:96px}.wl-cell.warn{background:#fffbeb}.wl-cell.over{background:#fef2f2}.wl-bars{display:flex;flex-direction:column;gap:2px;margin-bottom:.25rem}.wl-bar{height:5px;border-radius:3px;min-width:0}.wl-nums{display:flex;gap:.35rem;align-items:baseline;font-size:.8rem}.wl-count{margin-left:auto;font-size:.72rem;background:var(--bg);border-radius:999px;padding:0 .4rem;color:var(--text-soft)}.wl-count b{color:var(--danger);margin-left:1px}.tpl .task-modal-head{margin-bottom:.6rem}.tpl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.tpl-list li{display:flex;justify-content:space-between;gap:.8rem;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .75rem;flex-wrap:wrap}.tpl-actions{display:flex;gap:.4rem;align-items:center}.tpl-new{align-items:center;flex-wrap:wrap}.tpl-new select{width:auto;max-width:100%}.tpl-items{width:100%;border-collapse:collapse;font-size:.86rem;margin:.4rem 0}.tpl-items th{text-align:left;font-size:.72rem;text-transform:uppercase;color:var(--muted);padding:.2rem .3rem}.tpl-items td{padding:.15rem .3rem}.tpl-items input,.tpl-items select{width:100%;padding:.3rem .4rem;font-size:.84rem}.tpl-items td:nth-child(3) input,.tpl-items td:nth-child(4) input{width:4.5rem}.myday{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1rem;align-items:start}.myday-side,.myday-main{display:flex;flex-direction:column;gap:1rem}.myday-h{margin:0 0 .5rem;font-size:.95rem}.myday-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;font-size:.86rem}.myday-list li{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.myday-list.compact li{justify-content:space-between;margin-top:.3rem}.myday-time{font-weight:700;min-width:4.5rem}.myday-group.over{border-left:4px solid var(--danger)}.myday-group.today{border-left:4px solid #d97706}.myday-group.stuck{border-left:4px solid #0891b2}@media (max-width: 900px){.myday{grid-template-columns:1fr}.myday-side{order:-1}}.dashboard .page-head .toolbar-right{display:flex;gap:.5rem;align-items:center}.dash-section{display:contents}.stat-card.skeleton{min-height:76px;flex-direction:column;align-items:flex-start;justify-content:center;gap:.5rem}.sk-line{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#eef1f5 25%,#f8fafc,#eef1f5 75%);background-size:200% 100%;animation:sk 1.2s infinite}.sk-line.w40{width:40%}.sk-line.w70{width:70%}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.stat-spark{margin-left:auto;align-self:flex-end;opacity:.9}.spark polyline{stroke:var(--primary)}.spark circle{fill:var(--primary)}.spark.tone-green polyline{stroke:#16a34a}.spark.tone-green circle{fill:#16a34a}.spark.tone-red polyline{stroke:#dc2626}.spark.tone-red circle{fill:#dc2626}.spark.tone-amber polyline{stroke:#d97706}.spark.tone-amber circle{fill:#d97706}.stat-delta{font-size:.7rem;margin-top:.15rem;font-weight:600}.stat-delta.good{color:#15803d}.stat-delta.bad{color:#b91c1c}.stat-delta.flat{color:var(--muted)}.section-tools{display:inline-flex;gap:.7rem;align-items:center}.today-calls{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.today-calls li{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding:.4rem .6rem;border-radius:8px;border:1px solid var(--border)}.today-calls li.past{opacity:.6}.today-calls li.live{border-color:#86efac;background:#f0fdf4}.today-calls .tc-time{font-weight:700;min-width:4.6rem}.today-calls .tc-title{font-weight:600;color:var(--text);text-decoration:none}.today-calls .tc-title:hover{color:var(--primary)}.today-calls .tc-proj{font-size:.82rem}.today-calls .btn-sm{margin-left:auto}.mywork-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.mywork-col{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .7rem}.mywork-col.over{border-left:4px solid var(--danger)}.mywork-col.today{border-left:4px solid #d97706}.mywork-col.stuck{border-left:4px solid #0891b2}.mywork-col h4{margin:0 0 .35rem;font-size:.86rem}.mywork-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem;font-size:.84rem}.mywork-col li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-table{width:100%;border-collapse:collapse;font-size:.86rem}.team-table th,.team-table td{padding:.4rem .5rem;border-bottom:1px solid var(--border);text-align:left}.team-table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.team-table td.neg{color:var(--danger);font-weight:700}.team-table td.pos{color:#15803d;font-weight:600}.team-table td.warn{color:#0891b2;font-weight:600}.actions-list li{padding:.45rem .6rem}.actions-list li.urg-0{border-color:#fecaca;background:#fff7f7}.act-icon{width:1.4rem;text-align:center}.act-group{background:var(--bg);color:var(--text-soft)}.time-week{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:start}.tw-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem;height:120px;align-items:end}.tw-day{display:flex;flex-direction:column;align-items:center;gap:.2rem;height:100%;justify-content:flex-end;font-size:.72rem}.tw-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;background:var(--bg);border-radius:6px;overflow:hidden}.tw-bar{width:100%;background:var(--primary);border-radius:6px 6px 0 0;min-height:0}.tw-day.today .tw-label{color:var(--primary);font-weight:700}.tw-val{color:var(--muted);height:1em}.tw-projects{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;font-size:.84rem}.tw-projects li{display:grid;grid-template-columns:minmax(0,1fr) 2fr auto;gap:.5rem;align-items:center}.tw-pname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-pbar{background:var(--bg);border-radius:4px;height:8px;overflow:hidden}.tw-pbar span{display:block;height:100%;background:var(--primary);border-radius:4px}.health-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.health-list li{display:grid;grid-template-columns:12px minmax(0,1.3fr) minmax(0,1fr) 2fr auto;gap:.6rem;align-items:center;font-size:.86rem}.health-dot{width:10px;height:10px;border-radius:50%;background:#16a34a}.health-dot.at_risk{background:#d97706}.health-dot.behind{background:#dc2626}.health-bars{position:relative;height:10px;background:var(--bg);border-radius:5px;overflow:visible}.hb.done{position:absolute;left:0;top:0;height:100%;background:#16a34a;border-radius:5px}.hb.elapsed{position:absolute;top:-3px;width:2px;height:16px;background:var(--text)}.health-num{white-space:nowrap;font-weight:600}.health-num .neg{color:var(--danger)}.customize-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.customize-list li{display:flex;justify-content:space-between;align-items:center;padding:.3rem .5rem;border:1px solid var(--border);border-radius:8px;font-size:.88rem}.customize-list li.hidden{opacity:.55}.customize-btns{display:flex;gap:.25rem}.dash-hidden{font-size:.8rem}@media (max-width: 760px){.time-week{grid-template-columns:1fr}.health-list li{grid-template-columns:12px 1fr auto}.health-list li .due-tenant,.health-list li .health-bars{display:none}}.cash-import{max-width:980px}.cash-import-pick{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:.4rem 0 .6rem}.cash-import-counts{display:flex;gap:.5rem 1rem;flex-wrap:wrap;font-size:.86rem;margin-bottom:.5rem}.ci-count.ok strong{color:#15803d}.ci-count.warn strong{color:#b45309}.ci-count.bad strong{color:var(--danger)}.cash-import-table{max-height:50vh;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.cash-import-table .data-table{font-size:.82rem}.cash-import-table tr.ci-duplicate td{color:var(--muted)}.cash-import-table tr.ci-error td{background:#fff7f7}.cash-import-table tr.ci-date_fix td{background:#fffbeb}.ci-status{font-weight:600}.ci-status.ok{color:#15803d}.ci-status.warn{color:#b45309}.ci-status.bad{color:var(--danger)}.cash-row{cursor:pointer}.cash-row:hover td{background:var(--primary-soft)}.icon-btn{background:none;border:none;padding:.25rem;border-radius:6px;color:var(--primary);cursor:pointer;display:inline-flex;align-items:center;line-height:0}.icon-btn:hover{background:#0000000f}.icon-btn.danger{color:var(--danger)}.cash-row .row-actions{gap:.3rem}.receipt-list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem;font-size:.86rem}.receipt-list li{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;border:1px solid var(--border);border-radius:8px;padding:.35rem .6rem}.receipt-list .amt{font-weight:700;color:#15803d;margin-left:auto}.receipt-bar{height:8px;background:var(--bg);border-radius:4px;overflow:hidden;margin:.3rem 0 .6rem}.receipt-bar span{display:block;height:100%;background:#16a34a}.receipt-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.4rem;align-items:end}.receipt-form input,.receipt-form select{width:100%;min-width:0}.receipt-form label{display:flex;flex-direction:column;font-size:.78rem;gap:.15rem}@media (max-width: 640px){.receipt-form{grid-template-columns:1fr 1fr}}.party-new{display:flex;gap:.4rem;align-items:center}.party-new input{flex:1;min-width:0}.cash-scope{margin:0 0 -.4rem;font-size:.82rem}.stat-btn{font:inherit;text-align:left;cursor:pointer;color:inherit}.cash-filters{align-items:center}.cash-filters select{width:auto;max-width:200px}.date-range{display:inline-flex;align-items:center;gap:.3rem}.date-range input{width:auto;padding:.3rem .4rem;font-size:.84rem}.tds .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;letter-spacing:.02em}.tds-stats{margin-bottom:.9rem}.tds-table tr.no-pan td:first-child{border-left:3px solid var(--danger)}.tds-issues{list-style:none;margin:.8rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem;font-size:.86rem}.tds-issues li{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:.4rem .6rem}.tds-issues li.issue-deposit,.tds-issues li.issue-return{background:#fef2f2;border-color:#fecaca}.data-table tr.short td{background:#fff7f7}.data-table td.neg,.fin-val.neg{color:var(--danger);font-weight:600}.data-table td.pos,.fin-val.pos{color:#15803d;font-weight:600}.data-table tfoot th{text-align:left;border-top:2px solid var(--border-strong);padding-top:.5rem}.tan-form{align-items:end;margin-bottom:.8rem}.tan-form label{display:flex;flex-direction:column;font-size:.8rem;gap:.2rem}@media print{.tds .page-head,.tds .filters,.tds .toolbar-right,.tds .row-actions{display:none!important}}.task-modal.pte{max-width:min(1280px,96vw);width:96vw}.pte-cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1.6rem;align-items:start}.pte-col-entry,.pte-col-info{min-width:0}.pte-col-info{border-left:1px solid var(--border);padding-left:1.4rem}.pte-col-info>.pte-section:first-child{border-top:none;margin-top:0;padding-top:0}.tv-cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1.4rem;align-items:start}.tv-col{display:flex;flex-direction:column;gap:1.4rem;min-width:0}.tv-col .fin-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.tv-col .toolbar{flex-wrap:wrap;row-gap:.5rem}.tv-col .inline-form input{min-width:150px}.tv-col .inline-form input[type=month]{min-width:170px}.tv-col .inline-form input:not([type]){min-width:180px}.tv-col .inline-form select{min-width:150px;flex:1}.tv-col>.card{margin:0}@media (max-width: 960px){.pte-cols,.tv-cols{grid-template-columns:1fr}.pte-col-info{border-left:none;padding-left:0}.pte-col-info>.pte-section:first-child{border-top:1px solid var(--border);margin-top:1.1rem;padding-top:.9rem}}.vault-kind-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}.vault-kind-option{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;text-align:left;padding:.9rem 1rem;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;font:inherit;color:var(--text);transition:border-color .14s,box-shadow .14s}.vault-kind-option:hover,.vault-kind-option:focus-visible{border-color:var(--primary);box-shadow:var(--shadow-sm);outline:none}.vault-kind-icon{font-size:1.3rem}.vault-kind-label{font-weight:700}.vault-kind-hint{font-size:.8rem}.vault-kind-switch{margin-left:0;align-self:flex-start}.tz-clocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.9rem}.tz-clock{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.1rem;border-top:4px solid var(--border-strong)}.tz-clock.tz-work{border-top-color:#16a34a}.tz-clock.tz-edge{border-top-color:#d97706}.tz-clock.tz-night{border-top-color:#475569}.tz-clock-head{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem}.tz-city{font-weight:700;font-size:.9rem;overflow-wrap:anywhere}.tz-clock-actions{display:inline-flex;gap:.45rem;flex:none}.tz-time{font-size:1.8rem;font-weight:800;letter-spacing:-.02em;line-height:1.15}.tz-sub{font-size:.8rem}.tz-part{align-self:flex-start;margin-top:.3rem;font-size:.7rem;font-weight:600;padding:.1rem .5rem;border-radius:999px;background:#f1f5f9;color:#475569}.tz-part-work{background:#dcfce7;color:#166534}.tz-part-edge{background:#fef3c7;color:#92400e}.tz-part-night{background:#e2e8f0;color:#334155}.tz-grid-at .tz-part{display:inline-block;margin:0 0 0 .4rem}.tz-add{justify-content:center;border-top-style:dashed}.tz-add select{margin-top:.4rem}.tz-field{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:var(--text-soft)}.tz-workhours{display:inline-flex;align-items:center;gap:.35rem}.tz-overlap{margin:.4rem 0 .8rem;font-size:.9rem}.tz-grid{font-size:.8rem}.tz-grid th,.tz-grid td{white-space:nowrap}.tz-grid-zone{position:sticky;left:0;background:var(--card);z-index:1}.tz-grid-h{text-align:center;padding:.3rem .15rem!important;min-width:2.4rem}.tz-grid-h.sel{background:var(--primary-soft)}.tz-cell{text-align:center;padding:.35rem .15rem!important;cursor:pointer;border-left:1px solid #fff}.tz-cell.tz-work{background:#dcfce7;color:#166534}.tz-cell.tz-edge{background:#fef3c7;color:#92400e}.tz-cell.tz-night{background:#e2e8f0;color:#475569}.tz-cell.sel{outline:2px solid var(--primary);outline-offset:-2px;font-weight:700}.tz-dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:var(--zone-color);margin-right:.4rem;vertical-align:.05rem}.tz-row>.tz-grid-zone,.tz-row>.tz-grid-at{background:color-mix(in srgb,var(--zone-color) 12%,var(--card))}.tz-row>.tz-grid-zone{box-shadow:inset 4px 0 0 var(--zone-color);padding-left:.8rem;font-weight:600;color:color-mix(in srgb,var(--zone-color) 70%,#000)}.tz-row>.tz-cell{border-bottom:2px solid color-mix(in srgb,var(--zone-color) 45%,transparent)}.tz-key{display:inline-block;padding:0 .45rem;border-radius:4px;margin-left:.3rem}.tz-key.tz-work{background:#dcfce7;color:#166534}.tz-key.tz-edge{background:#fef3c7;color:#92400e}.tz-key.tz-night{background:#e2e8f0;color:#475569}.notes-search{max-width:280px;flex:none}.notes-layout{display:grid;grid-template-columns:240px 280px minmax(0,1fr);gap:1rem;align-items:start}.notes-tree,.notes-pages{padding:.8rem;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}.notes-pane-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:.9rem}.notes-book{margin-bottom:.7rem}.notes-book-head{display:flex;justify-content:space-between;align-items:center;gap:.3rem;padding:.25rem .4rem;border-left:4px solid var(--primary);border-radius:4px;background:var(--bg)}.notes-book-name{font-weight:700;font-size:.88rem;overflow-wrap:anywhere}.notes-mini-actions{display:inline-flex;gap:.35rem;flex:none;opacity:.55;font-size:.8rem}.notes-book-head:hover .notes-mini-actions,.notes-section:hover .notes-mini-actions,.notes-mini-actions:focus-within{opacity:1}.notes-section{display:flex;align-items:center;gap:.2rem;border-radius:8px;margin-top:.15rem}.notes-section.active{background:var(--primary-soft)}.notes-section-btn{flex:1;min-width:0;display:flex;align-items:center;gap:.45rem;background:none;border:none;text-align:left;padding:.35rem .5rem;font:inherit;font-size:.86rem;cursor:pointer;color:var(--text);overflow-wrap:anywhere}.notes-section.active .notes-section-btn{font-weight:700;color:var(--primary-dark)}.notes-dot{width:8px;height:8px;border-radius:50%;flex:none}.notes-count{margin-left:auto;font-size:.74rem}.notes-page-item{display:flex;flex-direction:column;gap:.1rem;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:.5rem .55rem;cursor:pointer;font:inherit;color:var(--text);border-bottom:1px solid var(--border)}.notes-page-item:hover{background:var(--bg)}.notes-page-item.active{background:var(--primary-soft)}.notes-page-title{font-weight:600;font-size:.88rem;overflow-wrap:anywhere}.notes-page-meta{font-size:.72rem}.notes-page-snip{font-size:.76rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notes-editor{min-height:70vh}.notes-editor-head{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:.6rem}.notes-editor-head .note-title{flex:1;min-width:220px;font-size:1.3rem;font-weight:800;border:none;padding:.2rem 0;background:transparent}.notes-editor-head .note-title:focus{outline:none;border-bottom:2px solid var(--primary-light)}.notes-editor-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;font-size:.82rem}.notes-editor-actions select{max-width:180px}.notes-status.saved{color:#16a34a}.notes-status.error{color:var(--danger)}.notes-empty{text-align:center;padding:2.5rem 1rem}.note-rte{border-radius:10px}.note-rte .rte-toolbar{position:sticky;top:0;z-index:2}.note-content .ProseMirror{min-height:55vh;padding:.9rem 1.1rem;font-size:.95rem;line-height:1.6}.note-content .ProseMirror h1{font-size:1.45rem;font-weight:800}.note-content .ProseMirror h2{font-size:1.2rem;font-weight:700}.note-content .ProseMirror h3{font-size:1.02rem;font-weight:700}.note-content .ProseMirror blockquote{border-left:3px solid var(--border-strong);margin-left:0;padding-left:.8rem;color:var(--text-soft)}.note-content .ProseMirror pre{background:#0f172a;color:#e2e8f0;padding:.7rem .9rem;border-radius:8px;font-size:.85rem;overflow-x:auto}.note-content .ProseMirror code{background:#f1f5f9;padding:.05rem .3rem;border-radius:4px;font-size:.88em}.note-content .ProseMirror pre code{background:none;padding:0}.note-content .ProseMirror mark{border-radius:2px;padding:0 .1rem}.note-content .ProseMirror img{max-width:100%;height:auto;border-radius:6px}.note-content .ProseMirror img.ProseMirror-selectednode{outline:2px solid var(--primary)}.note-content .ProseMirror table{border-collapse:collapse;width:100%;table-layout:fixed;margin:.4rem 0;overflow:hidden}.note-content .ProseMirror th,.note-content .ProseMirror td{border:1px solid var(--border-strong);padding:.35rem .5rem;vertical-align:top;position:relative;min-width:3rem}.note-content .ProseMirror th{background:#f1f5f9;font-weight:700;text-align:left}.note-content .ProseMirror .selectedCell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#3b82f61f;pointer-events:none}.note-content .ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background:var(--primary-light);pointer-events:none}.note-content .ProseMirror.resize-cursor{cursor:col-resize}.note-content .ProseMirror .tableWrapper{overflow-x:auto}.note-content .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:.2rem}.note-content .ProseMirror ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:.5rem}.note-content .ProseMirror ul[data-type=taskList] li>label{flex:none;margin-top:.2rem}.note-content .ProseMirror ul[data-type=taskList] li>div{flex:1}.note-content .ProseMirror ul[data-type=taskList] li[data-checked=true]>div{color:var(--muted);text-decoration:line-through}@media (max-width: 1100px){.notes-layout{grid-template-columns:220px minmax(0,1fr)}.notes-editor{grid-column:1 / -1}}@media (max-width: 720px){.notes-layout{grid-template-columns:1fr}.notes-tree,.notes-pages{position:static;max-height:none}.notes-search{max-width:none}}.auth-card.auth-wide{max-width:480px}.auth-hint{font-size:.78rem;margin:.4rem 0 0}.auth-passkey{width:100%;justify-content:center;margin:.3rem 0 0;padding:.65rem;font-weight:600}.auth-or{text-align:center;font-size:.78rem;margin:.6rem 0 .1rem}.sec-passkeys{list-style:none;padding:0;margin:.6rem 0 0;display:grid;gap:.35rem}.sec-passkeys li{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.45rem .6rem;border:1px solid var(--border);border-radius:8px}.sec-passkeys li .muted{flex:1;font-size:.8rem;min-width:12rem}.auth-steps{margin:.6rem 0 .2rem;padding-left:1.2rem;font-size:.88rem;line-height:1.5}.auth-steps li{margin-bottom:.5rem}.auth-qr{display:block;margin:.5rem 0 .3rem;border:1px solid var(--border);border-radius:8px;padding:6px;background:#fff;image-rendering:pixelated}.auth-secret{display:inline-block;font-size:.82rem;letter-spacing:.04em;background:var(--bg);padding:.1rem .4rem;border-radius:4px;-webkit-user-select:all;user-select:all;word-break:break-all}.auth-backup{list-style:none;padding:0;margin:.6rem 0;display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem 1rem}.auth-backup code{font-size:.95rem;letter-spacing:.06em;background:var(--bg);padding:.2rem .5rem;border-radius:6px;display:inline-block}.stepup-dialog{max-width:380px}.stepup-dialog input{width:100%;font-size:1.2rem;letter-spacing:.2em;text-align:center;margin:.4rem 0 .6rem}.sec-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.sec-codes{margin-top:.7rem;max-width:420px}.sec-new-codes{margin-top:.7rem;padding:.7rem .9rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.sec-sessions{list-style:none;padding:0;margin:.6rem 0 0}.sec-sessions li{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.86rem}.sec-sessions li:last-child{border-bottom:none}.sec-device{font-weight:600;min-width:140px}.sec-sessions .link{margin-left:auto}.stepup-dialog input.stepup-password{font-size:1rem;letter-spacing:normal;text-align:left}.sec-policy-toggle{align-items:flex-start!important;gap:.55rem;font-size:.88rem;margin-top:.4rem}.sec-policy-toggle input{margin-top:.2rem;flex:none}.sec-policy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.4rem 1.2rem;margin-top:.6rem}.sec-policy-grid label{margin-top:.4rem}.sec-policy-input{display:flex;align-items:center;gap:.5rem}.sec-policy-input input{width:6.5rem}.sec-policy-hint{font-size:.74rem;font-weight:400}.user-security{padding:.4rem .2rem}.user-security-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.5rem 1.5rem;margin-top:.5rem}.user-security h4{margin:.4rem 0 .2rem;font-size:.88rem}.time-lock-note{margin:0 0 .6rem;font-size:.85rem}.ts-actions{display:flex;gap:.5rem;flex-wrap:wrap}.ts-only-missing{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;margin-left:auto}.ts-only-missing input{width:auto}.ts-summary{margin:0;font-size:.9rem}.ts-summary.warn{color:#b91c1c}.ts-grid{font-size:.82rem}.ts-grid th,.ts-grid td{white-space:nowrap}.ts-person{position:sticky;left:0;background:var(--card);z-index:1;min-width:11rem}.ts-day{text-align:center;padding:.3rem .2rem!important;min-width:2.3rem}.ts-day.weekend{color:var(--muted);background:var(--bg)}.ts-day.today{background:var(--primary-soft)}.ts-cell{text-align:center;padding:.35rem .2rem!important;font-variant-numeric:tabular-nums;border-left:1px solid #fff}.ts-cell.logged{background:#dcfce7;color:#166534}.ts-cell.low{background:#fef3c7;color:#92400e}.ts-cell.missing{background:#fee2e2;color:#b91c1c;font-weight:700}.ts-cell.weekend,.ts-cell.future{background:var(--bg)}.ts-tag{margin-left:.4rem;font-size:.68rem;font-weight:500;background:var(--bg);color:var(--muted, #6b7280);border:1px solid var(--border)}.ts-cell.editable{cursor:pointer}.ts-cell.editable:hover{outline:2px solid var(--primary);outline-offset:-2px}.tde{max-width:760px}.tde-table select,.tde-table input{width:100%;min-width:0}.tde-table .tde-hours{width:5.5rem;text-align:right}.tde-actions{white-space:nowrap;text-align:right}.tde-actions .btn-sm{margin-right:.5rem}.tde-add{margin-top:1rem;border-top:1px solid var(--border);padding-top:.75rem}.tde-add h4{margin:0 0 .5rem}.tde-add-row{display:grid;grid-template-columns:minmax(0,2fr) 6rem minmax(0,2fr) auto;gap:.5rem}@media (max-width: 640px){.tde-add-row{grid-template-columns:1fr 1fr}}.ts-total{text-align:right;font-variant-numeric:tabular-nums}.ts-missing-count{color:#b91c1c;font-weight:700}.ts-grid tfoot td{border-top:2px solid var(--border-strong);background:var(--bg);font-weight:600}.ts-key{display:inline-block;padding:0 .45rem;border-radius:4px;margin-left:.4rem}.ts-key.missing{background:#fee2e2;color:#b91c1c}.ts-key.low{background:#fef3c7;color:#92400e}.ts-key.logged{background:#dcfce7;color:#166534}.ts-cell.off,.ts-key.off{background:#e0f2fe;color:#0369a1;font-size:.72rem}.ho-today{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.ho-today h2{margin-bottom:.5rem}.ho-today p{margin:0}.ho-today-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.ho-today-list li{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.ho-next{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .9rem;border-radius:10px;background:#fffbeb;border:1px solid #fde68a;font-size:.88rem;align-self:flex-start}.ho-next .muted{font-size:.75rem}.ho-sub{font-weight:400;font-size:.82rem;margin-left:.35rem}.ho-grid .ts-cell{font-weight:700;font-size:.72rem}.ho-grid .ts-day,.ho-grid .ts-cell{min-width:1.7rem}.ho-grid .ts-person{min-width:10rem}.ho-vacation,.badge.ho-vacation{background:#dbeafe;color:#1d4ed8}.ho-sick,.badge.ho-sick{background:#fee2e2;color:#b91c1c}.ho-personal,.badge.ho-personal{background:#ede9fe;color:#6d28d9}.ho-other,.badge.ho-other{background:#e2e8f0;color:#475569}.ts-cell.ho-holiday,.ts-day.ho-holiday,.ts-key.ho-holiday{background:#fef3c7;color:#92400e}.badge.ho-badge{text-transform:none;white-space:nowrap}.ho-legend{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.78rem;margin:.75rem 0 0}.ho-legend .ts-key{margin-left:0;font-weight:700}.ho-note{max-width:22rem;white-space:normal}.ho-actions{white-space:nowrap;text-align:right}.ho-actions .link+.link{margin-left:.75rem}.ho-form{display:flex;flex-direction:column;gap:.6rem;max-width:560px}.ho-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:500}.ho-form label.ho-check{flex-direction:row;align-items:center;gap:.4rem}.ho-form label.ho-check input{width:auto}.ho-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;margin-top:.4rem}.ho-form-actions .link.danger{margin-right:auto}.ho-holidays{list-style:none;margin:0 0 .75rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.35rem 1.5rem}.ho-holidays li{display:flex;align-items:baseline;gap:.6rem;font-size:.9rem}.ho-holidays li.past{opacity:.55}.ho-holidays li .link{margin-left:auto;font-size:.8rem}.ho-holiday-date{min-width:6.5rem;font-weight:600}.ho-holiday-add{display:flex;gap:.5rem;flex-wrap:wrap}.ho-holiday-add input[type=date]{width:auto}.ho-holiday-add input:not([type=date]){flex:1;min-width:12rem}
