.nbell{position:relative}.nbell-btn{position:relative;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:var(--radius);padding:5px 10px;cursor:pointer;font-size:14px;line-height:1}.nbell-btn:hover{background:var(--border)}.nbell-badge{position:absolute;top:-6px;right:-7px;background:var(--red-solid);color:#fff;font-size:10px;font-weight:700;border-radius:9px;padding:1px 5px;min-width:16px;text-align:center;pointer-events:none}.nbell-drop{position:absolute;right:0;top:calc(100% + 8px);width:360px;max-width:calc(100vw - 32px);z-index:120;overflow:hidden}.nbell-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-bottom:1px solid var(--border);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.nbell-readall{background:none;border:none;color:var(--blue);font:inherit;font-size:12px;font-weight:600;cursor:pointer;text-transform:none;letter-spacing:0;padding:0}.nbell-readall:disabled{color:var(--muted);cursor:default}.nbell-readall:not(:disabled):hover{text-decoration:underline}.nbell-list{max-height:380px;overflow-y:auto}.nbell-empty{color:var(--muted);font-size:13px;text-align:center;padding:18px 12px}.nbell-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:10px 14px;font:inherit;color:var(--text);cursor:pointer}.nbell-item:last-child{border-bottom:none}.nbell-item:hover{background:var(--surface-2)}.nbell-item.unread{border-left:3px solid var(--accent);padding-left:11px}.nbell-title{font-size:13px;font-weight:600;word-break:break-word}.nbell-item.unread .nbell-title{color:var(--text)}.nbell-body{font-size:12px;color:var(--muted);word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.nbell-time{font-size:11px;color:var(--muted);margin-top:2px}.nbell-perm{display:block;width:calc(100% - 20px);margin:8px 10px 0;padding:8px 12px;font:inherit;font-size:12.5px;text-align:left;background:var(--blue-bg);color:var(--blue);border:none;border-radius:var(--radius);cursor:pointer}.nbell-perm.muted{background:var(--surface-2);color:var(--muted);cursor:default}.auth-links{margin-top:16px;display:flex;justify-content:space-between;gap:12px;font-size:13px}.auth-links a{color:var(--blue);text-decoration:none}.auth-links a:hover{text-decoration:underline}.auth-note{background:var(--blue-bg);color:var(--blue);border-radius:var(--radius);padding:9px 13px;font-size:13px;margin-bottom:14px}.auth-success{font-size:13.5px;line-height:1.55}.auth-hint{margin-top:12px;padding:9px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);font-size:12.5px;color:var(--muted)}.captcha-image{display:flex;align-items:center;gap:8px;margin-bottom:6px}.captcha-image img,.captcha-placeholder{width:160px;height:56px;border:1px solid var(--border);border-radius:8px;display:block}.captcha-placeholder{background:var(--surface-2)}.captcha-refresh{width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--muted);font-size:17px;line-height:1;cursor:pointer}.captcha-refresh:hover:not(:disabled){color:var(--blue);border-color:var(--blue)}.captcha-refresh:disabled{opacity:.6;cursor:default}.auth-wait{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--muted);padding:6px 0 2px}.auth-spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:auth-spin .8s linear infinite;flex-shrink:0}@keyframes auth-spin{to{transform:rotate(360deg)}}.ui-toasts{position:fixed;bottom:24px;right:20px;z-index:200;display:flex;flex-direction:column;gap:8px}.ui-toast{background:var(--text);color:var(--bg);padding:11px 18px;border-radius:var(--radius);font-size:13px;box-shadow:0 6px 18px #00000040;animation:ui-toast-in .25s ease;max-width:340px}.ui-toast.error{background:#b91c1c;color:#fff}@keyframes ui-toast-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:700px){.ui-toasts{left:16px;right:16px}.ui-toast{max-width:none}}.oc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.oc-head-main{min-width:0}.oc-head-main h2{margin:0 0 4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.oc-head-sub{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap}.oc-back{font-size:13px;color:var(--muted);text-decoration:none;display:inline-block;margin-bottom:8px}.oc-back:hover{color:var(--text)}.oc-sub-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:8px 14px;font-size:13px;white-space:nowrap}.oc-sub-chip b{text-transform:capitalize}.oc-sub-chip .muted{font-size:12px}.oc-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border)}.oc-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-size:13.5px;font-weight:600;padding:8px 14px;cursor:pointer;margin-bottom:-1px}.oc-tab:hover{color:var(--text)}.oc-tab.active{color:var(--text);border-bottom-color:var(--accent)}.oc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.oc-toolbar .section-h{margin:0}.oc-table-wrap{overflow-x:auto}.oc-table{width:100%;border-collapse:collapse;font-size:13.5px}.oc-table th{text-align:left;padding:10px 14px;font-size:12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.oc-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.oc-table tbody tr:last-child td{border-bottom:none}.oc-table.is-fetching{opacity:.55;transition:opacity .15s}.oc-cell-person{min-width:160px}.oc-cell-person b{display:block}.oc-cell-person .muted{font-size:12px}.oc-cell-roles{display:flex;flex-wrap:wrap;gap:4px;max-width:320px}.oc-cell-nowrap{white-space:nowrap}.oc-cell-actions{width:1%;white-space:nowrap;text-align:right}.oc-cell-name{font-weight:600}.oc-cell-notes{font-size:12.5px;color:var(--muted);max-width:260px}.oc-add-row{display:flex;align-items:flex-end;gap:10px;padding:12px 18px;border-top:1px solid var(--border);flex-wrap:wrap}.oc-add-row .field{margin:0;flex:1 1 160px;min-width:140px}.oc-add-row .field.grow{flex:2 1 220px}.oc-add-row .btn{flex:0 0 auto}.oc-empty{padding:34px 20px;text-align:center;color:var(--muted)}.oc-empty b{display:block;color:var(--text);margin-bottom:6px}.oc-roles-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-bottom:14px}.oc-check{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.oc-check input{accent-color:var(--accent);width:15px;height:15px;margin:0;cursor:pointer}.oc-field-error{color:var(--red);font-size:12px;margin:-8px 0 12px}.oc-select-field{display:flex;flex-direction:column;margin-bottom:14px}.oc-select-field label{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:5px}.oc-select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:13.5px;outline:none;cursor:pointer}.oc-select:focus{border-color:var(--blue)}.pf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px}.pf-foot{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:4px}.pf-contact-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--border)}.pf-contact-row:last-of-type{border-bottom:none}.pf-contact-kind{flex:0 0 150px;font-size:13px;font-weight:600;padding-bottom:9px}.pf-contact-row .field{margin:0;flex:1 1 180px}.pf-contact-row .oc-select-field{margin:0;flex:0 1 170px}.pf-readonly-note{font-size:12.5px;color:var(--muted);margin-top:2px}@media(max-width:700px){.oc-head{flex-direction:column;align-items:stretch}.oc-sub-chip{white-space:normal}.oc-tabs{flex-wrap:wrap}.oc-toolbar{flex-direction:column;align-items:stretch}.oc-toolbar .btn{width:100%}.oc-table th,.oc-table td{padding:8px 10px}.oc-add-row{flex-direction:column;align-items:stretch}.oc-add-row .field,.oc-add-row .field.grow{flex:1 1 auto;min-width:0;width:100%}.oc-add-row .btn{width:100%}.oc-roles-grid{grid-template-columns:1fr}.oc-select{width:100%}.oc-add-row .field input,.oc-select,.pf-grid .field input,.pf-contact-row .field input{font-size:16px}.pf-grid{grid-template-columns:1fr}.pf-contact-row{flex-direction:column;align-items:stretch}.pf-contact-kind{flex:none;padding-bottom:0}.pf-contact-row .field,.pf-contact-row .oc-select-field{flex:1 1 auto;width:100%}.pf-foot{flex-wrap:wrap}.pf-foot .btn{flex:1 1 auto}}.oc-select-field{display:flex;flex-direction:column;gap:4px;flex:1 1 160px;min-width:140px}.oc-select-field>span{font-size:12px;color:var(--muted)}.oc-select-field select,.oc-inline-select{padding:8px 10px;font-size:13px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.oc-inline-select{padding:4px 6px;font-size:12px}.ui-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c1080;display:flex;align-items:center;justify-content:center;z-index:100}.ui-modal{background:var(--surface);border-radius:12px;width:var(--ui-modal-width, 440px);max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 20px 60px #0000004d}.ui-modal-head{padding:18px 22px 0}.ui-modal-head h2{font-size:16px;margin:0}.ui-modal-head .sub{font-size:13px;color:var(--muted);margin-top:4px}.ui-modal-body{padding:16px 22px}.ui-modal-foot{padding:0 22px 20px;display:flex;gap:10px;justify-content:flex-end}.ui-modal-note{background:var(--blue-bg);color:var(--blue);border-radius:var(--radius);padding:9px 13px;font-size:12.5px;margin-bottom:14px}.ui-modal-note.warn{background:var(--red-bg);color:var(--red)}@media(max-width:700px){.ui-modal-overlay{align-items:stretch;justify-content:stretch}.ui-modal{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.ui-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto}.ui-modal-foot{margin-top:auto;flex-wrap:wrap;padding-top:12px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.ui-modal .field input,.ui-modal input,.ui-modal select,.ui-modal textarea{font-size:16px}}.dict-wrap{position:relative;display:inline-flex;flex-shrink:0}.dict-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:14px;width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.dict-btn:hover:not(:disabled){border-color:var(--blue)}.dict-btn:disabled{opacity:.6;cursor:default}.dict-btn.listening{border-color:var(--red);background:var(--red-bg);animation:dict-pulse 1.2s ease-in-out infinite}@keyframes dict-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--red) 35%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--red) 0%,transparent)}}.dict-error{position:absolute;right:0;bottom:calc(100% + 6px);white-space:nowrap;font-size:12px;color:var(--red);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px 8px;box-shadow:var(--shadow);z-index:5}.dict-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}@media(max-width:900px){.chat-input-row .dict-btn{width:42px;height:42px;font-size:16px}}.rt-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.rt-editor.disabled{opacity:.6}.rt-editor:focus-within{border-color:var(--blue)}.rt-area{min-height:96px;max-height:320px;overflow-y:auto;padding:10px 12px;font-size:13.5px;line-height:1.5;color:var(--text);outline:none;word-break:break-word}.rt-area:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.rt-area img{max-width:100%;max-height:260px;border-radius:6px;display:block;margin:6px 0}.rt-toolbar{display:flex;align-items:center;gap:10px;padding:6px 10px;border-top:1px solid var(--border);flex-wrap:wrap}.rt-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:12.5px;padding:4px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.rt-btn:hover:not(:disabled){border-color:var(--blue)}.rt-btn:disabled{opacity:.6;cursor:default}.rt-hint{font-size:11.5px;color:var(--muted)}.rt-error{font-size:12px;color:var(--red)}.desc-body img{max-width:100%;border-radius:6px;display:block;margin:8px 0}@media(max-width:700px){.rt-area{font-size:16px}}.te-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:14px;flex-wrap:wrap}.te-toolbar-group{display:flex;align-items:center;gap:8px}.te-toolbar-label{font-size:13px;color:var(--muted);white-space:nowrap}.te-toolbar-spacer{flex:1 1 auto}.te-date,.te-select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px;font-size:13.5px;outline:none}.te-select{cursor:pointer;max-width:260px}.te-date:focus,.te-select:focus{border-color:var(--blue)}.te-date{color-scheme:light}[data-theme=dark] .te-date{color-scheme:dark}.te-presets{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.te-preset{background:var(--surface-2);color:var(--muted);border:none;padding:7px 12px;font-size:12.5px;cursor:pointer}.te-preset+.te-preset{border-left:1px solid var(--border)}.te-preset:hover{color:var(--text)}.te-preset.active{background:var(--blue-bg);color:var(--blue);font-weight:600}.te-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;font-size:13px}.te-summary-total{color:var(--muted);margin-right:6px}.te-summary-total b{color:var(--text);font-variant-numeric:tabular-nums}.te-summary-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:4px 11px;font-size:12px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.te-table-wrap{overflow-x:auto}.te-table{width:100%;border-collapse:collapse;font-size:13.5px}.te-table th{text-align:left;padding:10px 14px;font-size:12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.te-table td{padding:9px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.te-table tbody tr:last-child td{border-bottom:none}.te-table.is-fetching{opacity:.55;transition:opacity .15s}.te-table tbody tr.te-row:hover{background:var(--surface-2)}.te-day-row td{background:var(--surface-2);padding:7px 14px;font-size:12.5px}.te-day-label{font-weight:700}.te-day-total{margin-left:10px;color:var(--muted);font-variant-numeric:tabular-nums}.te-table .col-task{max-width:340px}.te-task-link{display:block;color:var(--text);text-decoration:none;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.te-task-link:hover{color:var(--blue)}.te-task-num{color:var(--muted);font-weight:400}.te-table .col-user{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.te-table .col-hours{white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}.te-timer-mark{margin-left:6px;font-size:12px;opacity:.75;cursor:default}.te-table .col-desc{max-width:380px}.te-desc{display:block;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.te-desc.empty{opacity:.6}.te-table .col-menu{width:44px;text-align:right}.te-menu{position:relative;display:inline-block}.te-menu-btn{background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--muted);font-size:16px;line-height:1;padding:3px 8px;cursor:pointer}.te-menu-btn:hover,.te-menu-btn[aria-expanded=true]{background:var(--surface-2);border-color:var(--border);color:var(--text)}.te-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.te-menu-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:95;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:130px;padding:4px;display:flex;flex-direction:column}.te-menu-pop button{background:transparent;border:none;border-radius:6px;text-align:left;padding:7px 10px;font-size:13px;color:var(--text);cursor:pointer}.te-menu-pop button:hover{background:var(--surface-2)}.te-menu-pop button.danger{color:var(--red)}.te-empty{padding:34px 20px;text-align:center;color:var(--muted)}.te-empty b{display:block;color:var(--text);margin-bottom:6px}.btn.te-danger{background:var(--red-solid);color:#fff}.btn.te-danger:hover{opacity:.88}.te-form-row{display:flex;gap:12px}.te-form-row>*{flex:1 1 0;min-width:0}.field .te-select{width:100%;max-width:none}.te-textarea{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;font-size:13.5px;font-family:inherit;resize:vertical;outline:none}.te-textarea:focus{border-color:var(--blue)}@media(max-width:700px){.te-toolbar{flex-direction:column;align-items:stretch;gap:10px}.te-toolbar-group{flex-wrap:wrap}.te-toolbar-group .te-date,.te-toolbar-group .te-select{flex:1 1 auto;min-width:0;max-width:none;width:100%;font-size:16px}.te-toolbar-spacer{display:none}.te-toolbar .btn{width:100%}.te-presets{display:flex;width:100%}.te-preset{flex:1 1 0}.te-table th,.te-table td{padding:8px 10px}.te-form-row{flex-direction:column;gap:0}.te-textarea{font-size:16px}}.ct-project-hint{font-weight:400;color:var(--muted);font-size:11.5px}.ct-reporters{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:8px 10px}.ct-reporter-item{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.ct-reporter-item input[type=checkbox]{width:auto;margin:0}.badge.purple{background:var(--accent-bg);color:var(--accent)}.tasks-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px}.tasks-filters .field{margin-bottom:0;min-width:160px}.tasks-filters .tasks-search{flex:1 1 220px;min-width:200px}.tasks-filters select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:14px;outline:none;cursor:pointer}.tasks-filters select:focus{border-color:var(--blue)}.tasks-page{display:flex;flex-direction:column;min-height:0;height:calc(100dvh - 88px)}.content:has(>.tasks-page){padding-bottom:20px}.tasks-card{display:flex;flex-direction:column;flex:0 1 auto;min-height:0;overflow:hidden}.tasks-card .tasks-table-wrap{flex:0 1 auto;min-height:0;overflow:auto}.tasks-card .tasks-pager{flex:none}.tasks-filters-actions{margin-left:auto;padding-bottom:1px;display:flex;align-items:center;gap:8px}.tasks-columns{position:relative}.tasks-columns-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:260px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 30px #0000002e;padding:8px}.tasks-columns-menu .tcm-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px 8px;font-size:12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border)}.tasks-columns-menu .tcm-reset{background:none;border:none;padding:0;font:inherit;color:var(--blue);cursor:pointer}.tasks-columns-menu .tcm-reset:disabled{color:var(--muted);cursor:default}.tasks-columns-menu .tcm-list{list-style:none;margin:6px 0 0;padding:0;max-height:320px;overflow-y:auto}.tasks-columns-menu .tcm-item{display:flex;align-items:center;gap:6px;padding:2px 6px;border-radius:var(--radius)}.tasks-columns-menu .tcm-item:hover{background:var(--surface-2)}.tasks-columns-menu .tcm-label{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:4px 0;font-size:13.5px;cursor:pointer}.tasks-columns-menu .tcm-label.is-required{cursor:default;color:var(--muted)}.tasks-columns-menu .tcm-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tasks-columns-menu .tcm-move{display:flex;gap:2px}.tasks-columns-menu .tcm-move button{background:none;border:1px solid transparent;border-radius:var(--radius);color:var(--muted);cursor:pointer;font-size:12px;line-height:1;padding:4px 6px}.tasks-columns-menu .tcm-move button:hover:not(:disabled){border-color:var(--border);color:var(--text)}.tasks-columns-menu .tcm-move button:disabled{opacity:.35;cursor:default}.tasks-columns-menu .tcm-hint{padding:8px 6px 2px;font-size:11.5px;color:var(--muted)}.tasks-table-wrap{overflow-x:auto}.tasks-table{width:100%;border-collapse:collapse;font-size:13.5px}.tasks-table th{text-align:left;padding:10px 14px;font-size:12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.tasks-table thead th{position:sticky;top:0;z-index:2;background:var(--surface);border-bottom:none;box-shadow:inset 0 -1px 0 var(--border)}.tasks-table th.sortable{cursor:pointer}.tasks-table th.sortable:hover{color:var(--text)}.tasks-table th .sort-arrow{margin-left:4px;font-size:10px}.tasks-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.tasks-table tbody tr{cursor:pointer}.tasks-table tbody tr:hover{background:var(--surface-2)}.tasks-table tbody tr:last-child td{border-bottom:none}.tasks-table .cell-number{color:var(--muted);white-space:nowrap}.tasks-table .cell-title{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.tasks-table .cell-title .subtask-mark{color:var(--muted);font-weight:400;margin-right:4px}.chat-unread-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:10px;background:var(--accent);color:#fff;font-size:11px;font-weight:600;white-space:nowrap;vertical-align:middle}.tasks-table .cell-org{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.tasks-table .cell-nowrap{white-space:nowrap}.tasks-table .deadline-overdue{color:var(--red);font-weight:600}.tasks-table.is-fetching{opacity:.55;transition:opacity .15s}.tasks-empty{padding:40px 20px;text-align:center;color:var(--muted)}.tasks-empty b{display:block;color:var(--text);margin-bottom:6px}.tasks-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--border);font-size:13px;color:var(--muted);flex-wrap:wrap}.tasks-pager .pager-controls{display:flex;align-items:center;gap:8px}@media(max-width:700px){.tasks-filters{flex-direction:column;align-items:stretch;gap:8px}.tasks-filters .field,.tasks-filters .tasks-search{min-width:0;width:100%}.tasks-filters-actions{margin-left:0}.tasks-columns-menu{right:auto;left:0;width:min(280px,calc(100vw - 32px))}.tasks-filters .field select,.tasks-filters select,.tasks-filters .field input{width:100%;font-size:16px;min-height:42px}.tasks-table-wrap{overflow-x:visible}.tasks-table,.tasks-table tbody{display:block;width:100%}.tasks-table thead{display:none}.tasks-table tbody tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:12px 14px;border-bottom:1px solid var(--border)}.tasks-table tbody tr:last-child{border-bottom:none}.tasks-table td{display:block;padding:0;border-bottom:none}.tasks-table .cell-number{order:1}.tasks-table .cell-title{order:2;flex:1 1 auto;min-width:0;max-width:none;white-space:normal;overflow:visible}.tasks-table .cell-status{order:3}.tasks-table tbody tr:after{content:"";order:4;flex-basis:100%;height:0}.tasks-table .cell-customer,.tasks-table .cell-stage,.tasks-table .cell-executor,.tasks-table .cell-deadline{font-size:12.5px;color:var(--muted);white-space:normal}.tasks-table .cell-customer{order:5;max-width:none}.tasks-table .cell-stage{order:6}.tasks-table .cell-executor{order:7}.tasks-table .cell-deadline{order:8}.tasks-table .cell-stage:before,.tasks-table .cell-executor:before,.tasks-table .cell-deadline:before{content:"·";margin-right:8px;color:var(--muted)}.tasks-table.no-customer .cell-stage:before{content:none}.tasks-table .deadline-overdue{color:var(--red)}.tasks-table .cell-project,.tasks-table .cell-executor-org,.tasks-table .cell-priority,.tasks-table .cell-updated{display:none}.ui-modal.ct-modal{overflow:hidden}.ct-modal .ui-modal-foot{border-top:1px solid var(--border);padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.ct-modal .ui-modal-foot .btn{flex:1;min-height:44px}.ui-modal.ct-modal .field input,.ui-modal.ct-modal input,.ui-modal.ct-modal textarea,.ui-modal.ct-modal .field .te-select,.ui-modal.ct-modal .te-select,.ui-modal.ct-modal .te-date{width:100%;max-width:none;font-size:16px}}@media(max-width:900px){.tasks-page{height:calc(100dvh - 72px)}.content:has(>.tasks-page){padding-bottom:12px}}@media(max-width:700px){.tasks-page{height:auto}.content:has(>.tasks-page){padding-bottom:48px}.tasks-card .tasks-table-wrap{overflow:visible}}.tasks-quick-filter{display:inline-flex;align-items:center;gap:6px;align-self:flex-end;padding:9px 12px;font-size:13px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.tasks-quick-filter input{accent-color:var(--accent);margin:0;cursor:pointer}.att-card{display:flex;align-items:center;gap:8px;margin-top:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:7px 11px;font-size:12.5px}.msg .m-body .att-card:first-child{margin-top:0}.att-card .att-size{color:var(--muted);white-space:nowrap}.att-card.clickable{cursor:pointer}.att-card.clickable:hover{border-color:var(--accent)}.att-thumbs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.msg .m-body .att-thumbs:first-child{margin-top:0}.att-thumb{display:block;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;line-height:0}.att-thumb:hover{border-color:var(--accent)}.att-thumb img{display:block;max-width:min(240px,100%);max-height:180px;object-fit:cover}.att-thumb-loading{display:flex;align-items:center;justify-content:center;width:120px;height:80px;color:var(--muted);font-size:12px;line-height:normal}.att-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#000000d1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;cursor:zoom-out}.att-lightbox img{max-width:100%;max-height:calc(100% - 52px);object-fit:contain;border-radius:var(--radius);cursor:default}.att-lb-bar{display:flex;align-items:center;gap:14px;max-width:100%;background:#0000008c;border-radius:var(--radius);padding:7px 14px;color:#fff;font-size:13px;cursor:default}.att-lb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-lb-download{color:#fff;font-weight:600;text-decoration:underline}.att-lb-bar button{background:none;border:none;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:0 2px}.task-card .task-head{display:flex;align-items:flex-start;gap:12px}.task-card .task-num{font-family:JetBrains Mono,ui-monospace,monospace;font-size:14px;color:var(--muted-3);padding-top:5px;white-space:nowrap}.task-card .task-title{font-size:20px;font-weight:600;flex:1;min-width:240px;line-height:1.4}.task-card .task-title.clickable{cursor:pointer;border-radius:6px}.task-card .task-title.clickable:hover{background:var(--surface-2)}.task-card .task-title.clickable:hover:after{content:" ✏️";font-size:13px;opacity:.65}.task-card .task-title-input{width:100%;font:inherit;font-size:20px;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--accent);border-radius:6px;padding:2px 8px;box-shadow:0 0 0 3px var(--ring)}.task-card .task-title-input:focus{outline:none}.task-card .task-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 16px}.task-card .task-banner{display:flex;align-items:flex-start;gap:10px;background:var(--banner);border:1px solid var(--banner-border);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;font-size:13.5px}.task-card .task-banner svg{color:var(--orange);flex:none;margin-top:2px}.task-card .task-banner b{font-weight:500}.task-card .grid{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}.task-card .grid>div{display:flex;flex-direction:column;gap:16px;min-width:0}@media(max-width:900px){.task-card .grid{grid-template-columns:1fr}}.task-card .section-title{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-3);font-weight:500;padding:14px 20px 0}.task-card .section-title.with-action{display:flex;justify-content:space-between;align-items:center}.task-card .desc-body{font-size:14px;line-height:1.55;padding:10px 20px 16px}.task-card .desc-body p{margin:0 0 8px}.task-card .desc-body ul,.task-card .desc-body ol{margin:0 0 8px 18px}.task-card .desc-empty{padding:10px 20px 16px;color:var(--muted);font-size:13px}.task-card .stage-list{padding:4px 20px 10px}.task-card .stage{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);font-size:13.5px}.task-card .stage:last-child{border-bottom:none}.task-card .stage-dot{width:8px;height:8px;border-radius:9999px;flex:none}.task-card .stage-dot.done{background:var(--green)}.task-card .stage-dot.active{background:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.task-card .stage-dot.todo{background:var(--input-border)}.task-card .stage-dot.cancelled{background:var(--red);opacity:.5}.task-card .stage-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-card .stage.done .stage-row-name{color:var(--muted-3)}.task-card .stage.active .stage-row-name{font-weight:500}.task-card .stage.cancelled .stage-row-name{color:var(--muted-3);text-decoration:line-through}.task-card .stage-hours{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px;white-space:nowrap}.task-card .stage-list-empty{padding:6px 0 10px;font-size:13px}.task-card .actions-body{padding:12px 20px 16px;display:flex;flex-direction:column;gap:10px}.task-card .actions-body .cmd-error{margin:0}.task-card .stage-context{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.task-card .stage-ctx-name{font-size:14px;font-weight:500}.task-card .stage-meta{font-size:12.5px;color:var(--muted);display:flex;gap:6px 14px;flex-wrap:wrap}.task-card .stage-meta b{color:var(--text);font-weight:500}.task-card .side-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}.task-card .side-actions .btn{width:100%}.task-card .btn.danger-ghost{background:transparent;color:var(--red);border:1px solid var(--border);width:100%}.task-card .btn.danger-ghost:hover{background:var(--red-bg)}.task-card .handover-box{display:flex;flex-direction:column;gap:8px}.task-card .handover-box select{border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;font:inherit;font-size:13.5px;background:var(--surface);color:var(--text)}.task-card .handover-box select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.task-card .rework-box{margin-top:12px;display:flex;flex-direction:column;gap:8px}.task-card .rework-box textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;font:inherit;font-size:13.5px;background:var(--surface);color:var(--text);resize:vertical}.task-card .rework-box textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.task-card .cmd-error{margin:10px 20px 0;background:var(--red-bg);color:var(--red);border-radius:var(--radius);padding:9px 13px;font-size:13px}.task-card .stage-hint{font-size:11.5px;color:var(--muted);margin-top:8px}.task-card .chat-list{padding:16px 18px;max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.task-card .chat-empty{color:var(--muted);font-size:13px;text-align:center;padding:12px 0}.task-card .msg{max-width:78%}.task-card .msg .m-head{font-size:11.5px;color:var(--muted);margin-bottom:3px}.task-card .msg .m-body{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:8px 13px;font-size:13.5px;white-space:pre-wrap;word-break:break-word}.task-card .msg.mine{align-self:flex-end}.task-card .msg.mine .m-body{background:var(--accent-bg);border-color:transparent}.task-card .msg.sys{align-self:center;max-width:100%}.task-card .msg.sys .m-body{background:none;border:none;color:var(--muted);font-size:12px;padding:0;text-align:center}.task-card .msg.pending{opacity:.55}.task-card .mention{background:var(--accent-bg);color:var(--accent);border-radius:5px;padding:0 5px;font-weight:500;white-space:nowrap}.task-card .chat-input-row{display:flex;gap:10px;align-items:flex-end;padding:12px 18px 16px;border-top:1px solid var(--border);position:relative}.task-card .chat-input{flex:1;resize:none;border:1px solid var(--border);border-radius:18px;padding:9px 15px;font:inherit;font-size:13.5px;background:var(--surface-2);color:var(--text);max-height:120px}.task-card .chat-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.task-card .chat-hint{font-size:11px;color:var(--muted);padding:0 18px 12px}.task-card .chat-hint .mention{font-size:11px}.task-card .att-card{display:flex;align-items:center;gap:8px;margin-top:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:7px 11px;font-size:12.5px}.task-card .msg .m-body .att-card:first-child{margin-top:0}.task-card .att-card .att-size{color:var(--muted);white-space:nowrap}.task-card .att-card.clickable{cursor:pointer}.task-card .att-card.clickable:hover{border-color:var(--accent)}.task-card .chat-pending-files{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0 0}.task-card .att-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:4px 9px;font-size:12px}.task-card .att-chip.muted,.task-card .att-chip .att-size{color:var(--muted)}.task-card .att-chip button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;padding:0 2px}.task-card .att-chip button:hover{color:var(--text)}.task-card .mention-menu{position:absolute;bottom:56px;left:18px;z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 20px #0000002e;min-width:240px;overflow:hidden}.task-card .mention-menu .pm-title{font-size:11px;text-transform:uppercase;color:var(--muted);padding:9px 13px 4px}.task-card .mention-menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 13px;font-size:13px;color:var(--text);cursor:pointer}.task-card .mention-menu button.sel,.task-card .mention-menu button:hover{background:var(--accent-bg)}.task-card .mention-menu .role{color:var(--muted);font-size:11.5px;margin-left:6px}.task-card .timer-widget{padding:16px 18px}.task-card .timer-widget h3{font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:500;color:var(--muted-3);margin-bottom:10px}.task-card .timer-row{display:flex;align-items:center;gap:12px}.task-card .timer-left{min-width:0;flex:1}.task-card .timer-display{font-family:JetBrains Mono,ui-monospace,monospace;font-size:22px;font-weight:400;font-variant-numeric:tabular-nums}.task-card .timer-state{font-size:12px;margin-top:1px;color:var(--muted)}.task-card .timer-state.running{color:var(--green)}.task-card .timer-state.paused{color:var(--yellow)}.task-card .timer-actions{margin-left:auto;display:flex;gap:6px;flex:none;position:relative}.task-card .btn.icon{width:36px;padding:0;flex:none}.task-card .pause-menu{position:absolute;top:42px;right:0;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 20px #0000002e;min-width:230px;overflow:hidden}.task-card .pause-menu .pm-title{font-size:11px;text-transform:uppercase;color:var(--muted);padding:9px 13px 4px}.task-card .pause-menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:9px 13px;font-size:13px;color:var(--text);cursor:pointer}.task-card .pause-menu button:hover{background:var(--surface-2)}.task-card .side-info{padding:14px 18px;font-size:13px}.task-card .side-info h3{font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:500;color:var(--muted-3);margin-bottom:10px}.task-card .side-info dl{display:grid;grid-template-columns:108px 1fr;gap:7px 12px;margin:0}.task-card .side-info dt{color:var(--muted-3)}.task-card .side-info dd{margin:0;min-width:0;overflow-wrap:anywhere}.task-card .side-info dd.editable{cursor:pointer;border-radius:5px;padding:0 4px;margin:0 -4px}.task-card .side-info dd.editable:hover{background:var(--surface-2)}.task-card .side-info dd.editable:hover:after{content:"✏️";font-size:11px;margin-left:6px;opacity:.65}.task-card .side-info dd.editable input,.task-card .side-info dd.editable select{width:100%;border:1px solid var(--accent);border-radius:5px;padding:2px 6px;font:inherit;font-size:13px;background:var(--surface);color:var(--text);box-shadow:0 0 0 3px var(--ring)}.task-card .side-info dd.editable input:focus,.task-card .side-info dd.editable select:focus{outline:none}.task-card .people-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px}.task-card .people-role{color:var(--muted);font-size:11.5px;margin-left:auto;white-space:nowrap}.task-card .side-sub{font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:500;color:var(--muted-3);margin:10px 0 4px}.task-card .side-sub:first-of-type{margin-top:0}.task-card .people-remove{border:0;background:none;color:var(--muted);cursor:pointer;font-size:14px;line-height:1;padding:0 2px;margin-left:6px}.task-card .people-remove:hover{color:var(--danger, #c0392b)}.task-card .people-add{margin-top:6px;width:100%;font-size:12.5px}.task-card .subtask-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 8px;gap:10px}.task-card .subtask-head .section-title{padding:0}.task-card .progressbar{flex:1;max-width:180px;height:6px;border-radius:3px;background:var(--border);overflow:hidden}.task-card .progressbar>div{height:100%;background:var(--accent);border-radius:3px}.task-card .subtask-list{padding:0 10px 12px}.task-card .subtask{display:flex;align-items:flex-start;gap:10px;padding:9px 8px;border-radius:var(--radius)}.task-card .subtask:hover{background:var(--surface-2)}.task-card .subtask+.subtask{border-top:1px solid var(--border)}.task-card .st-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;margin-top:1px}.task-card .subtask.done .st-check{background:var(--green-bg);border-color:var(--green);color:var(--green)}.task-card .subtask.done .st-title{text-decoration:line-through;color:var(--muted)}.task-card .st-title{flex:1;font-size:13px;min-width:0}.task-card .st-title a{color:inherit;text-decoration:none}.task-card .st-title a:hover{color:var(--accent)}.task-card .subtask.blocked{opacity:.55}.task-card .st-dep{font-size:11.5px;color:var(--muted);font-style:italic}.task-card .st-num{color:var(--muted);font-size:12px}.task-card .side-empty{color:var(--muted);font-size:12.5px;padding:2px 0 4px}.task-card .link-row{display:flex;align-items:baseline;gap:8px;padding:5px 0;font-size:13px}.task-card .link-row a{color:var(--accent);text-decoration:none;min-width:0;overflow-wrap:anywhere}.task-card .link-row a:hover{text-decoration:underline}.task-card .link-kind{color:var(--muted);font-size:11.5px;white-space:nowrap}.tc-stop-modal .field textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;font:inherit;font-size:14px;background:var(--surface-2);color:var(--text);resize:vertical}.tc-stop-modal .field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.task-card .timer-chip{display:inline-flex;align-items:center;gap:6px;background:var(--green-bg);color:var(--green);border-radius:20px;padding:3px 12px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}@media(max-width:700px){.task-card .task-head{flex-wrap:wrap}.task-card .task-title{min-width:0;flex-basis:100%;order:3}.task-card .msg{max-width:92%}.task-card .chat-list{padding:12px;max-height:60dvh}.task-card .chat-input-row{padding:10px 12px 12px}.task-card .chat-input{min-width:0;min-height:42px;font-size:16px}.task-card .chat-input-row .btn{min-height:42px;min-width:48px}.task-card .mention-menu{left:12px;right:12px;min-width:0}.task-card .side-actions .btn,.task-card .btn.danger-ghost{min-height:44px}.task-card .rework-box textarea{font-size:16px}.task-card .handover-box select{font-size:16px;min-height:44px}.task-card .timer-actions .btn{min-height:40px}.task-card .task-title-input{font-size:17px}.task-card .side-info dd.editable input,.task-card .side-info dd.editable select{font-size:16px}}.task-card .desc-actions{display:flex;gap:8px}.task-card .desc-edit{display:flex;flex-direction:column;gap:10px}.task-card .desc-edit-actions{display:flex;gap:8px;justify-content:flex-end}.task-card .chat-unread-divider{display:flex;align-items:center;gap:10px;margin:8px 0}.task-card .chat-unread-divider:before,.task-card .chat-unread-divider:after{content:"";flex:1 1 auto;height:1px;background:var(--red);opacity:.45}.task-card .chat-unread-divider span{font-size:11.5px;font-weight:600;color:var(--red);white-space:nowrap}.task-card .timer-manual{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.task-card .timer-manual-ok{font-size:12px;color:var(--green)}.qp-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}@media(max-width:900px){.qp-summary{grid-template-columns:repeat(2,1fr)}}.qp-sum-card{padding:14px 18px}.qp-sum-card .label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700}.qp-sum-card .value{font-size:26px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}.qp-sum-card .sub{font-size:12px;color:var(--muted);margin-top:2px}.qp-sum-card.alert{border-left:4px solid var(--red)}.qp-sum-card.alert .value{color:var(--red)}.qp-sum-card.fact .value{color:var(--green);display:flex;align-items:center;gap:8px}.qp-live-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);animation:qp-pulse 1.2s infinite}@keyframes qp-pulse{50%{opacity:.3}}.qp-view-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}.qp-view-row h2{font-size:15px;font-weight:700;flex:1}.qp-hotkeys{font-size:12px;color:var(--muted)}.qp-hotkeys kbd{display:inline-block;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;background:var(--surface);padding:0 5px;font-size:11px;font-family:inherit}.section-h.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}.section-h.collapsible:hover{color:var(--text)}.section-h .sum{font-weight:600;text-transform:none;letter-spacing:0}.queue-card{display:flex;align-items:center;gap:16px;padding:14px 18px;margin-bottom:10px;border-left:4px solid transparent;cursor:pointer}.queue-card.next{border-left-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow)}.queue-card.burning{border-left-color:var(--red)}.queue-card.selected{outline:2px solid var(--blue);outline-offset:-1px}.queue-card .pos{width:34px;height:34px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:var(--muted);flex-shrink:0}.queue-card.next .pos{background:var(--accent);border-color:var(--accent);color:#fff}.q-info{flex:1;min-width:0}.q-title{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.q-title .t-link{color:var(--text);text-decoration:none}.q-title .t-link:hover{color:var(--blue)}.q-num{color:var(--muted);font-weight:600;font-size:13px}.q-title .chat-unread-badge{display:inline-block;padding:1px 7px;border-radius:10px;background:var(--accent);color:#fff;font-size:11px;font-weight:600;white-space:nowrap}.q-meta{font-size:12.5px;color:var(--muted);margin-top:4px;display:flex;gap:14px;flex-wrap:wrap}.q-meta b{color:var(--text);font-weight:600}.q-meta .deadline.hot{color:var(--red);font-weight:700}.q-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;position:relative}.next-label{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--accent)}.running-timer{display:flex;align-items:center;gap:8px;background:var(--green-bg);color:var(--green);padding:5px 12px;border-radius:20px;font-weight:700;font-variant-numeric:tabular-nums;font-size:14px}.running-timer.paused{background:var(--yellow-bg);color:var(--yellow)}.pause-wrap{position:relative}.pause-wrap .pause-menu{position:absolute;bottom:calc(100% + 6px);right:0;z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 20px #0000002e;min-width:240px;overflow:hidden}.pause-wrap .pause-menu .pm-title{font-size:11px;text-transform:uppercase;color:var(--muted);padding:9px 13px 4px}.pause-wrap .pause-menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:9px 13px;font-size:13px;color:var(--text);cursor:pointer}.pause-wrap .pause-menu button:hover{background:var(--surface-2)}.qp-page.with-timer{padding-bottom:76px}.timer-bar{position:fixed;left:216px;right:0;bottom:0;z-index:50;display:flex;align-items:center;gap:14px;padding:10px 24px;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -4px 14px #00000014}@media(max-width:700px){.timer-bar{left:0}}.timer-bar .tb-task{flex:1;min-width:0;overflow:hidden}.timer-bar .tb-title{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timer-bar .tb-title a{color:var(--text);text-decoration:none}.timer-bar .tb-title a:hover{color:var(--blue)}.timer-bar .tb-sub{font-size:12px;color:var(--muted);margin-top:1px}.timer-bar .tb-time{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--green)}.timer-bar.paused .tb-time{color:var(--yellow)}.qp-hours{margin-top:24px}.qp-hours .hrow{display:flex;gap:26px;flex-wrap:wrap}.qp-hours .hcell .hv{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.qp-hours .hcell .hl{font-size:12px;color:var(--muted)}.qp-hours .htask{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:3px 0}.qp-hours .htask .ht-title{color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.qp-hours .htask .ht-hours{font-weight:600;font-variant-numeric:tabular-nums;flex-shrink:0}.stop-saved{background:var(--green-bg);color:var(--green);border-radius:var(--radius);padding:9px 12px;font-size:12.5px;margin-bottom:12px}.stop-hours-row{display:flex;gap:12px;align-items:flex-start}.stop-hours-row>label{flex:0 0 140px}.stop-hours-hint{font-size:12px;color:var(--muted);padding-top:24px;line-height:1.5}.stop-hours-hint b{color:var(--text);font-variant-numeric:tabular-nums}.stop-desc{width:100%;resize:vertical;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px}.stop-options{display:flex;flex-direction:column;gap:4px}.stop-option{display:flex;gap:10px;align-items:flex-start;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.stop-option:hover{background:var(--surface-2)}.stop-option:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.stop-option.disabled{opacity:.55;cursor:not-allowed}.stop-option input{margin-top:3px;flex-shrink:0}.stop-option .so-label{display:block;font-size:13.5px;font-weight:600}.stop-option .so-hint{display:block;font-size:12px;color:var(--muted);margin-top:1px}.stop-subfield{margin-top:10px}.stop-storage-q{margin-bottom:12px;font-size:12.5px;color:var(--muted);background:var(--surface-2);border-radius:var(--radius);padding:9px 12px}.stop-storage-btns{display:flex;gap:8px;margin-top:8px}.qp-toasts{bottom:76px}@media(max-width:700px){.qp-summary{gap:10px;margin-bottom:14px}.qp-sum-card{padding:12px 14px}.qp-sum-card .value{font-size:22px}.qp-hotkeys{display:none}.queue-card{flex-wrap:wrap;gap:10px 12px;padding:12px 14px}.q-info{flex:1 1 200px}.q-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}.q-actions .btn{min-height:42px}.qp-page.with-timer{padding-bottom:118px}.timer-bar{flex-wrap:wrap;gap:8px 10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.timer-bar>.running-timer{order:1}.timer-bar .tb-task{order:2;flex:1 1 0;min-width:0}.timer-bar .tb-time{order:3;font-size:20px}.timer-bar:after{content:"";order:4;flex-basis:100%;height:0}.timer-bar .pause-wrap,.timer-bar>.btn{order:5;flex:1 1 auto}.timer-bar .pause-wrap{display:flex}.timer-bar .pause-wrap .btn{width:100%}.timer-bar .btn{min-height:44px}.timer-bar .tb-sub{white-space:normal}.qp-toasts{bottom:128px;align-items:flex-end}}.inv-strike .badge{text-decoration:line-through}.inv-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px}.inv-toolbar .field{margin-bottom:0;min-width:180px}.inv-toolbar select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:14px;outline:none;cursor:pointer}.inv-toolbar select:focus{border-color:var(--blue)}.inv-table-wrap{overflow-x:auto}.inv-table{width:100%;border-collapse:collapse;font-size:13.5px}.inv-table th{text-align:left;padding:10px 14px;font-size:12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.inv-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.inv-table tbody tr:last-child td{border-bottom:none}.inv-table th.num,.inv-table td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.inv-table .cell-number{color:var(--muted);white-space:nowrap}.inv-table .cell-org{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-table .cell-nowrap{white-space:nowrap}.inv-table.clickable tbody tr{cursor:pointer}.inv-table.clickable tbody tr:hover{background:var(--surface-2)}.inv-table.is-fetching{opacity:.55;transition:opacity .15s}.inv-table tfoot td{border-top:1px solid var(--border);border-bottom:none;font-weight:700}.inv-table .line-amount-input{width:120px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;font-size:13.5px;text-align:right;outline:none}.inv-table .line-amount-input:focus{border-color:var(--blue)}.inv-table .line-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;padding:4px 6px;border-radius:var(--radius)}.inv-table .line-remove:hover{color:var(--red);background:var(--red-bg)}.inv-empty{padding:32px 20px;text-align:center;color:var(--muted)}.inv-empty b{display:block;color:var(--text);margin-bottom:6px}.inv-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--border);font-size:13px;color:var(--muted);flex-wrap:wrap}.inv-pager .pager-controls{display:flex;align-items:center;gap:8px}.inv-debt-card{margin-bottom:20px}.inv-debt-empty{padding:14px 18px;color:var(--muted);font-size:13px}.inv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.inv-head .inv-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700}.inv-head .inv-actions{display:flex;gap:8px;flex-wrap:wrap}.inv-back{display:inline-block;font-size:13px;color:var(--muted);text-decoration:none;margin-bottom:10px}.inv-back:hover{color:var(--text)}.inv-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 20px;margin-bottom:16px}.inv-summary .item .k{font-size:12px;color:var(--muted);font-weight:600;margin-bottom:2px}.inv-summary .item .v{font-size:14px;font-weight:600}.inv-summary .item .v.total{font-size:17px}.inv-draft-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}.inv-draft-form .field{margin-bottom:0}.inv-draft-form .comment-field{flex:1 1 260px}.inv-payment{display:flex;align-items:center;gap:10px;background:var(--green-bg);color:var(--green);border-radius:var(--radius);padding:10px 14px;font-size:13.5px;font-weight:600;margin-bottom:16px}.inv-dirty-hint{font-size:12.5px;color:var(--yellow);background:var(--yellow-bg);border-radius:var(--radius);padding:7px 12px}.inv-modal .form-error{margin-bottom:0;margin-top:10px}.inv-mode-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;margin-bottom:8px}.inv-mode-option:hover{background:var(--surface-2)}.inv-mode-option.selected{border-color:var(--blue);background:var(--blue-bg)}.inv-mode-option input{margin-top:3px;accent-color:var(--blue)}.inv-mode-option .t{font-weight:600;font-size:13.5px}.inv-mode-option .d{font-size:12.5px;color:var(--muted);margin-top:2px}@media(max-width:700px){.inv-toolbar{flex-direction:column;align-items:stretch}.inv-toolbar .field{min-width:0;width:100%}.inv-toolbar select{width:100%;font-size:16px}.inv-head{flex-direction:column;align-items:stretch}.inv-head .inv-actions .btn{flex:1 1 auto}.inv-draft-form{flex-direction:column;align-items:stretch}.inv-draft-form .field{width:100%}.inv-table th,.inv-table td{padding:8px 10px}}.po-org-picker{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:13px;color:var(--muted)}.po-org-picker select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 12px;font-size:13.5px;outline:none;cursor:pointer}.po-org-picker select:focus{border-color:var(--blue)}.po-debt-list{display:flex;flex-direction:column}.po-debt-row{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--border)}.po-debt-row:last-child{border-bottom:none}.po-debt-name{flex:1 1 auto;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-debt-hours{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}.po-debt-amount{white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums;min-width:110px;text-align:right}.po-table-wrap{overflow-x:auto}.po-table{width:100%;border-collapse:collapse;font-size:13.5px}.po-table th{text-align:left;padding:10px 14px;font-size:12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.po-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.po-table tbody tr.po-row{cursor:pointer}.po-table tbody tr.po-row:hover{background:var(--surface-2)}.po-table tbody tr:last-child td{border-bottom:none}.po-table.is-fetching{opacity:.55;transition:opacity .15s}.po-table .cell-number{color:var(--muted);white-space:nowrap}.po-table .cell-nowrap{white-space:nowrap}.po-table .cell-amount{white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}.po-table .cell-dev{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.po-table .cell-dev.is-id{font-weight:400;color:var(--muted);font-size:12px}.po-caret{display:inline-block;margin-right:6px;color:var(--muted);font-size:11px;transition:transform .15s}.po-caret.open{transform:rotate(90deg)}.po-detail-cell{background:var(--surface-2);padding:12px 18px 14px}.po-detail-comment{font-size:12.5px;color:var(--muted);margin-bottom:8px}.po-lines-table{width:auto;min-width:320px;border-collapse:collapse;font-size:12.5px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.po-lines-table th{text-align:left;padding:6px 12px;font-size:11.5px;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}.po-lines-table td{padding:6px 12px;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;white-space:nowrap}.po-lines-table tbody tr:last-child td{border-bottom:none}.po-lines-table tfoot td{font-weight:700;border-top:1px solid var(--border);border-bottom:none}.po-empty{padding:34px 20px;text-align:center;color:var(--muted)}.po-empty b{display:block;color:var(--text);margin-bottom:6px}.po-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--border);font-size:13px;color:var(--muted);flex-wrap:wrap}.po-pager .pager-controls{display:flex;align-items:center;gap:8px}.btn.po-danger{background:var(--red-solid);color:#fff}.btn.po-danger:hover{opacity:.88}@media(max-width:700px){.po-org-picker{flex-direction:column;align-items:stretch}.po-org-picker select{width:100%;font-size:16px}.po-debt-row{flex-wrap:wrap;gap:4px 14px;padding:12px 14px}.po-debt-name{flex:1 1 100%;white-space:normal;overflow:visible;text-overflow:clip}.po-debt-amount{min-width:0;margin-left:auto}.po-table th,.po-table td{padding:8px 10px}.po-detail-cell{padding:10px 12px 12px}.po-lines-table{min-width:0;width:100%}}.pk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.pk-org-picker{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.pk-org-picker select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 12px;font-size:13.5px;outline:none;cursor:pointer}.pk-org-picker select:focus{border-color:var(--blue)}.pk-customer-card{margin-bottom:16px}.pk-customer-head{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.pk-customer-name{flex:1 1 auto;min-width:0;font-weight:600;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pk-customer-total{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.pk-customer-total .value{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--green)}.pk-customer-total .value.zero{color:var(--muted)}.pk-customer-total .label{font-size:12px;color:var(--muted)}.pk-customer-actions{display:flex;gap:8px}.pk-table-wrap{overflow-x:auto}.pk-table{width:100%;border-collapse:collapse;font-size:13.5px}.pk-table th{text-align:left;padding:10px 14px;font-size:12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.pk-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;font-variant-numeric:tabular-nums}.pk-table tbody tr:last-child td{border-bottom:none}.pk-table .cell-number{color:var(--muted)}.pk-table .cell-remaining{font-weight:600}.pk-table .cell-remaining.zero{color:var(--muted);font-weight:400}.pk-table .cell-progress{width:34%;min-width:160px}.pk-table.is-fetching{opacity:.55;transition:opacity .15s}.pk-progress{display:flex;align-items:center;gap:10px}.pk-progress-track{flex:1 1 auto;height:7px;border-radius:4px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}.pk-progress-fill{height:100%;border-radius:4px;background:var(--blue);transition:width .25s ease}.pk-progress-fill.full{background:var(--muted)}.pk-progress-label{font-size:11.5px;color:var(--muted);min-width:68px;text-align:right;white-space:nowrap}.pk-empty{padding:34px 20px;text-align:center;color:var(--muted)}.pk-empty b{display:block;color:var(--text);margin-bottom:6px}.pk-empty .pk-empty-action{margin-top:14px}.pk-field-select{margin-bottom:14px}.pk-field-select label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:5px}.pk-field-select select{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:13.5px;outline:none;cursor:pointer}.pk-field-select select:focus{border-color:var(--blue)}.pk-field-select.invalid select{border-color:var(--red)}.pk-field-select .field-error{color:var(--red);font-size:12px;margin-top:4px}@media(max-width:700px){.pk-toolbar,.pk-org-picker{flex-direction:column;align-items:stretch}.pk-org-picker select{width:100%;font-size:16px}.pk-customer-actions{width:100%}.pk-customer-actions .btn{flex:1 1 auto}.pk-table th,.pk-table td{padding:8px 10px}.pk-table .cell-progress{min-width:130px}}.mc-org-picker{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:13px;color:var(--muted)}.mc-org-picker select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 12px;font-size:13.5px;outline:none;cursor:pointer}.mc-org-picker select:focus{border-color:var(--blue)}.mc-intro{font-size:13.5px;line-height:1.55;color:var(--text)}.mc-intro p{margin:0 0 8px}.mc-intro p:last-child{margin-bottom:0}.mc-intro .mc-muted{color:var(--muted)}.mc-form{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.mc-form .field{margin-bottom:0}.mc-form input[type=month]{min-width:180px;color-scheme:light}[data-theme=dark] .mc-form input[type=month]{color-scheme:dark}.mc-hint{margin-top:10px;font-size:12.5px;border-radius:var(--radius);padding:9px 13px}.mc-hint.info{background:var(--blue-bg);color:var(--blue)}.mc-hint.warn{background:var(--orange-bg);color:var(--orange)}.mc-hint.error{background:var(--red-bg);color:var(--red)}.mc-result{margin-top:12px;background:var(--green-bg);color:var(--green);border-radius:var(--radius);padding:10px 14px;font-size:13px}.mc-result b{font-weight:700}.mc-table-wrap{overflow-x:auto}.mc-table{width:100%;border-collapse:collapse;font-size:13.5px}.mc-table th{text-align:left;padding:10px 14px;font-size:12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.mc-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap}.mc-table tbody tr:last-child td{border-bottom:none}.mc-table.is-fetching{opacity:.55;transition:opacity .15s}.mc-table .cell-month{font-weight:600}.mc-table .cell-date{color:var(--muted);font-variant-numeric:tabular-nums}.mc-table .cell-actions{text-align:right}.mc-empty{padding:34px 20px;text-align:center;color:var(--muted)}.mc-empty b{display:block;color:var(--text);margin-bottom:6px}@media(max-width:700px){.mc-org-picker{flex-direction:column;align-items:stretch}.mc-org-picker select{width:100%;font-size:16px}.mc-form{flex-direction:column;align-items:stretch}.mc-form .field{width:100%}.mc-form input[type=month]{width:100%;min-width:0;font-size:16px}.mc-form .btn{width:100%}.mc-table th,.mc-table td{padding:8px 10px}}.pl-org-picker{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:13px;color:var(--muted)}.pl-org-picker select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 12px;font-size:13.5px;outline:none;cursor:pointer}.pl-org-picker select:focus{border-color:var(--blue)}.pl-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border)}.pl-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-size:13.5px;font-weight:600;padding:8px 14px;cursor:pointer;margin-bottom:-1px}.pl-tab:hover{color:var(--text)}.pl-tab.active{color:var(--text);border-bottom-color:var(--accent)}.pl-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.pl-nav{display:flex;align-items:center;gap:8px}.pl-period{font-size:13.5px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:4px}.pl-spacer{flex:1}.pl-grid-wrap{overflow-x:auto}.pl-grid{width:100%;border-collapse:collapse;font-size:13px}.pl-grid.is-fetching{opacity:.55;transition:opacity .15s}.pl-grid th{text-align:left;padding:8px 10px;font-size:12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.pl-grid td{padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}.pl-grid th.pl-col-day{text-align:center}.pl-day-date{display:block;font-variant-numeric:tabular-nums;color:var(--text)}.pl-day-wd{display:block;font-weight:400;font-size:11px}.pl-grid th.wd .pl-day-date{color:var(--muted)}.pl-grid td.wd,.pl-grid th.wd,.pl-grid tfoot td.wd{background:var(--surface-2)}.pl-col-user{position:sticky;left:0;z-index:1;background:var(--surface);min-width:150px;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;border-right:1px solid var(--border)}.pl-col-total{text-align:right;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;border-left:1px solid var(--border)}.pl-cell{min-width:84px}.pl-grid tfoot td{border-bottom:none;border-top:1px solid var(--border);font-weight:700;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}.pl-grid tfoot td.pl-col-user{text-align:left;color:var(--text)}.pl-grid tfoot td.pl-col-total{text-align:right;color:var(--text)}.pl-chip{display:block;width:100%;text-align:left;background:var(--blue-bg);color:var(--blue);border:1px solid transparent;border-radius:var(--radius);padding:3px 8px;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;margin-bottom:4px;font-variant-numeric:tabular-nums}.pl-chip:last-child{margin-bottom:0}.pl-chip:hover{border-color:var(--blue)}.pl-chip.manual{background:var(--yellow-bg);color:var(--yellow)}.pl-chip.manual:hover{border-color:var(--yellow)}.pl-legend{margin-top:10px;font-size:12.5px;color:var(--muted)}.pl-formula{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:9px 13px;font-size:13px;font-weight:600;margin-bottom:14px}.pl-coeff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 14px}.pl-settings-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pl-settings-foot.bordered{padding:12px 18px;border-top:1px solid var(--border)}.pl-hint{font-size:12.5px;color:var(--muted)}.pl-weights{width:100%;border-collapse:collapse;font-size:13.5px}.pl-weights th{text-align:left;padding:10px 18px;font-size:12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}.pl-weights td{padding:8px 18px;border-bottom:1px solid var(--border);vertical-align:middle}.pl-w-name{font-weight:600;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-w-col{width:120px}.pl-w-actions{width:1%;white-space:nowrap;text-align:right}.pl-w-input{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;font-size:13.5px;width:100px;outline:none}.pl-w-input:focus{border-color:var(--blue)}.pl-w-input.invalid{border-color:var(--red);background:var(--red-bg)}.pl-w-add{display:flex;align-items:center;gap:10px;padding:12px 18px;flex-wrap:wrap}.pl-select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:13.5px;outline:none;cursor:pointer;min-width:200px}.pl-select:focus{border-color:var(--blue)}.pl-empty{padding:34px 20px;text-align:center;color:var(--muted)}.pl-empty b{display:block;color:var(--text);margin-bottom:6px}.pl-modal .ui-modal-head .sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-edit-grid{display:grid;grid-template-columns:110px 1fr;gap:0 14px}.pl-edit-grid .field:last-child{grid-column:1 / -1}.pl-foot-spacer{flex:1}.btn.pl-danger{background:var(--red-solid);color:#fff}.btn.pl-danger:hover{opacity:.88}.btn.pl-danger-link{color:var(--red)}@media(max-width:700px){.pl-org-picker{flex-direction:column;align-items:stretch}.pl-org-picker select{width:100%;font-size:16px}.pl-tabs{flex-wrap:wrap}.pl-toolbar{flex-direction:column;align-items:stretch}.pl-nav{justify-content:space-between}.pl-spacer{display:none}.pl-toolbar .btn{width:100%}.pl-grid-wrap{-webkit-overflow-scrolling:touch}.pl-grid th,.pl-grid td{padding:6px}.pl-col-user{min-width:110px;max-width:140px}.pl-coeff-grid{grid-template-columns:1fr}.pl-settings-foot{flex-direction:column;align-items:stretch}.pl-settings-foot .btn{width:100%}.pl-w-add{flex-direction:column;align-items:stretch}.pl-w-add .btn{width:100%}.pl-select{min-width:0;width:100%;font-size:16px}.pl-edit-grid{grid-template-columns:1fr}}.kanban-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px}.kanban-toolbar .kanban-search{flex:0 1 280px;min-width:200px}.kanban-toolbar .kanban-search .field{margin-bottom:0}.kanban-mine{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;font-size:13px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.kanban-mine input{accent-color:var(--accent);cursor:pointer;margin:0}.kanban-toolbar .kanban-total{margin-left:auto;font-size:12.5px;color:var(--muted);white-space:nowrap;padding-bottom:9px}.kanban-board{display:flex;align-items:flex-start;gap:12px;overflow-x:auto;padding-bottom:10px}.kanban-board.is-fetching{opacity:.55;transition:opacity .15s}.kanban-col{flex:0 0 244px;width:244px;min-width:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column}.kanban-col-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);font-size:12.5px;font-weight:700;color:var(--text)}.kanban-col-head .kanban-col-count{margin-left:auto;font-size:11px;font-weight:600;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:1px 7px}.kanban-col-body{display:flex;flex-direction:column;gap:8px;padding:8px;min-height:60px}.kanban-col-empty{padding:18px 8px;text-align:center;font-size:12.5px;color:var(--muted)}.kanban-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:9px 10px;cursor:pointer;text-align:left;font:inherit;color:var(--text);display:flex;flex-direction:column;gap:6px;width:100%;transition:border-color .15s}.kanban-card:hover{border-color:var(--blue)}.kanban-card:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.kanban-card-top{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.kanban-card-top .kanban-num{font-weight:600;white-space:nowrap}.kanban-prio{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kanban-prio.critical{background:var(--red)}.kanban-prio.high{background:var(--orange)}.kanban-open{margin-left:auto;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:var(--radius);padding:1px 8px;font-size:11.5px;font-weight:600;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .12s}.kanban-card:hover .kanban-open,.kanban-card:focus-visible .kanban-open{opacity:1;pointer-events:auto}.kanban-open:hover{border-color:var(--blue);color:var(--blue)}.kanban-card-title{font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kanban-card-meta{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);min-width:0}.kanban-card-meta .kanban-meta-row{display:flex;align-items:baseline;gap:5px;min-width:0}.kanban-card-meta .kanban-meta-label{flex-shrink:0;font-size:11px}.kanban-card-meta .kanban-meta-value{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-card-dates{display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--muted);flex-wrap:wrap}.kanban-card-dates .kanban-date b{font-weight:600;color:var(--text)}.kanban-card-dates .kanban-date.overdue b{color:var(--red)}.kanban-skeleton{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:9px 10px;display:flex;flex-direction:column;gap:7px}.kanban-skeleton .sk-line{height:10px;border-radius:5px;background:var(--surface-2);animation:kanban-pulse 1.2s ease-in-out infinite}[data-theme=dark] .kanban-skeleton .sk-line{background:var(--border)}.kanban-skeleton .sk-line.w40{width:40%}.kanban-skeleton .sk-line.w90{width:90%}.kanban-skeleton .sk-line.w65{width:65%}@keyframes kanban-pulse{0%,to{opacity:1}50%{opacity:.45}}.kanban-empty{padding:40px 20px;text-align:center;color:var(--muted)}.kanban-empty b{display:block;color:var(--text);margin-bottom:6px}@media(max-width:700px){.kanban-toolbar{flex-direction:column;align-items:stretch}.kanban-toolbar .kanban-search{flex:1 1 auto;min-width:0}.kanban-toolbar .kanban-search input{font-size:16px}.kanban-mine{justify-content:flex-start}.kanban-toolbar .kanban-total{margin-left:0;padding-bottom:0}.kanban-board{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.kanban-col{flex:0 0 85vw;width:85vw;scroll-snap-align:start}.kanban-open{opacity:1;pointer-events:auto}}.kanban-project select{padding:8px 12px;font-size:13px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;max-width:260px}.prt-org-picker{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:13px;color:var(--muted)}.prt-org-picker select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 12px;font-size:13.5px;outline:none;cursor:pointer}.prt-org-picker select:focus{border-color:var(--blue)}.prt-list{display:flex;flex-direction:column}.prt-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.prt-row:last-child{border-bottom:none}.prt-info{flex:1 1 320px;min-width:0}.prt-name-line{display:flex;align-items:center;gap:8px;min-width:0}.prt-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prt-meta{margin-top:5px;font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.prt-meta b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.prt-dot{opacity:.6}.prt-agr-action{border:none;background:transparent;padding:0;font:inherit;font-size:12.5px;color:var(--blue);cursor:pointer}.prt-agr-action:hover:not(:disabled){text-decoration:underline}.prt-agr-action:disabled{opacity:.55;cursor:default}.prt-tax{flex:0 1 auto;max-width:420px}.prt-tax-label{font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}.prt-seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface-2)}.prt-seg button{border:none;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;padding:7px 12px;cursor:pointer;white-space:nowrap}.prt-seg button+button{border-left:1px solid var(--border)}.prt-seg button:hover:not(.active):not(:disabled){color:var(--text)}.prt-seg button.active{background:var(--blue-bg);color:var(--blue);font-weight:600;cursor:default}.prt-seg button:disabled{opacity:.55;cursor:default}.prt-tax-hint{margin-top:6px;font-size:12px;color:var(--muted);line-height:1.45}.prt-name-link{color:var(--text);text-decoration:none}.prt-name-link:hover{color:var(--blue);text-decoration:underline}.prt-card-head{margin-bottom:16px}.prt-card-head .page-h{margin:6px 0 8px}.prt-back{font-size:13px;color:var(--muted);text-decoration:none}.prt-back:hover{color:var(--blue);text-decoration:underline}.prt-card-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prt-card-inn{margin-top:6px;font-size:12.5px;color:var(--muted)}.prt-agr{margin-bottom:16px}.prt-agr.terminated{opacity:.85}.prt-agr-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--border)}.prt-agr-title{display:flex;align-items:center;gap:8px;min-width:0}.prt-agr-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}.prt-agr-empty{padding:20px 18px;font-size:13px;color:var(--muted)}.prt-agr-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid var(--border)}.prt-agr-action.danger{color:var(--red)}.prt-agr-admins{flex:1 1 100%;padding-top:8px;border-top:1px dashed var(--border)}.prt-agr-admins-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.prt-agr-admins-title{font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.prt-agr-admins-list{margin-top:6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px}.prt-agr-admin{display:inline-flex;align-items:center;gap:6px}.prt-agr-admins-hint{margin-top:10px;font-size:12px;color:var(--muted);line-height:1.45}.prt-check-grid{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.prt-check{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.prt-agr-conclude{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;font-size:13px;color:var(--muted)}.prt-agr-note{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;font-size:12.5px;color:var(--muted)}.prt-empty{padding:34px 20px;text-align:center;color:var(--muted)}.prt-empty b{display:block;color:var(--text);margin-bottom:6px}@media(max-width:700px){.prt-org-picker{flex-direction:column;align-items:stretch}.prt-org-picker select{width:100%;font-size:16px}.prt-row{flex-direction:column;align-items:stretch;gap:10px}.prt-info{flex:1 1 auto}.prt-name{white-space:normal;overflow:visible;text-overflow:clip}.prt-tax{max-width:none}.prt-seg{display:flex;width:100%}.prt-seg button{flex:1 1 0;white-space:normal}}.pr-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.pr-org-picker select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 12px;font-size:13.5px;outline:none;cursor:pointer;max-width:280px}.pr-org-picker select:focus{border-color:var(--blue)}.pr-hint{background:var(--blue-bg);color:var(--blue);border-radius:var(--radius);padding:10px 14px;font-size:12.5px;margin-bottom:14px;line-height:1.5}.pr-loading,.pr-empty{padding:34px 20px;text-align:center;color:var(--muted)}.pr-empty b{display:block;color:var(--text);margin-bottom:6px}.pr-error-card{padding:16px 20px;color:var(--red);margin-bottom:14px}.pr-customer{margin-bottom:14px}.pr-customer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid var(--border)}.pr-customer-name{font-weight:600;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-project{padding:13px 18px;border-bottom:1px solid var(--border)}.pr-project:last-child{border-bottom:none}.pr-project.inactive{opacity:.6}.pr-project-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pr-project-title{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.pr-kind{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}.pr-kind.MONTHLY_SUPPORT{background:var(--green-bg);color:var(--green)}.pr-kind.HOURLY{background:var(--blue-bg);color:var(--blue)}.pr-kind.FIXED_PRICE{background:var(--orange-bg);color:var(--orange)}.pr-inactive-badge{font-size:11.5px;color:var(--muted)}.pr-project-actions{display:flex;align-items:center;gap:10px}.pr-rate{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.pr-terms{margin-top:10px}.pr-terms-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-bottom:6px}.pr-terms-empty{font-size:12.5px;color:var(--yellow);background:var(--yellow-bg);border-radius:var(--radius);padding:8px 12px}.pr-terms-table{width:100%;border-collapse:collapse;font-size:12.5px}.pr-terms-table th{text-align:left;font-size:11.5px;font-weight:600;color:var(--muted);padding:5px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.pr-terms-table td{padding:6px 10px;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;white-space:nowrap}.pr-terms-table tbody tr:last-child td{border-bottom:none}.pr-term-del{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--muted);cursor:pointer;font-size:12px;padding:2px 6px}.pr-term-del:hover{color:var(--red)}.pr-error{color:var(--red);font-size:12.5px;margin-top:8px}.pr-form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.pr-term-block{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px 6px;margin-bottom:14px}.pr-term-block-title{font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:10px}.pr-term-hint{font-size:11.5px;color:var(--muted);margin:2px 0 12px}.pr-field-select{margin-bottom:14px}.pr-field-select label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:5px}.pr-field-select select{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:13.5px;outline:none;cursor:pointer}.pr-field-select select:focus{border-color:var(--blue)}.pr-field-select.invalid select{border-color:var(--red)}@media(max-width:700px){.pr-toolbar{flex-direction:column;align-items:stretch}.pr-org-picker select{width:100%;max-width:none;font-size:16px}.pr-customer-head,.pr-project-head{flex-direction:column;align-items:stretch}.pr-terms-table{display:block;overflow-x:auto}.pr-form-row{grid-template-columns:1fr;gap:0}.pr-field-select select{font-size:16px}}.pr-rename{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;cursor:pointer;font-size:12px;color:var(--muted);padding:2px 4px}.pr-rename:hover{color:var(--blue)}.pr-stages{padding:10px 14px 12px;border-top:1px dashed var(--border)}.pr-stage-inactive td{opacity:.55}.pr-stage-actions{white-space:nowrap;text-align:right}.pr-stage-totals td{color:var(--muted);font-size:12px;border-top:1px dashed var(--border)}.pr-finance{border-top:1px dashed var(--border)}.pr-finance-toggle{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--text);font:inherit;font-weight:600;font-size:13px;padding:10px 14px;cursor:pointer}.pr-finance-private{font-weight:400;font-size:12px;color:var(--muted);margin-left:8px}.pr-finance-body{padding:0 14px 14px;display:flex;flex-direction:column;gap:10px}.pr-finance-label{font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.pr-finance-hint{font-size:12.5px;color:var(--muted)}.pr-finance-tax{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pr-seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface-2)}.pr-seg button{border:none;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;padding:6px 12px;cursor:pointer;white-space:nowrap}.pr-seg button+button{border-left:1px solid var(--border)}.pr-seg button.active{background:var(--blue-bg);color:var(--blue);font-weight:600;cursor:default}.pr-seg button:disabled{opacity:.55;cursor:default}.pr-finance-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pr-finance-form select,.pr-finance-form input{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;font-size:12.5px;outline:none}.pr-finance-form input[type=text]{width:110px}.pr-finance-src{font-size:11px;color:var(--muted)}.pr-finance-total{font-size:12.5px;color:var(--muted);border-top:1px dashed var(--border);padding-top:8px}.chat-page{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;align-items:stretch;height:calc(100vh - 135px);min-height:440px}.chat-page .thread-back{display:none}@media(max-width:900px){.chat-page{grid-template-columns:1fr;height:auto}}.chat-page .conv-pane{display:flex;flex-direction:column;min-height:0}.chat-page .conv-actions{display:flex;gap:8px;padding:12px 14px 10px;flex-wrap:wrap}.chat-page .conv-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 14px;gap:4px}.chat-page .conv-tabs button{background:none;border:none;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);padding:7px 8px;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:6px}.chat-page .conv-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.chat-page .conv-tabs button:hover{color:var(--text)}.chat-page .conv-search{padding:10px 14px 8px}.chat-page .conv-search input{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 12px;font:inherit;font-size:13px;outline:none}.chat-page .conv-search input:focus{border-color:var(--blue)}.chat-page .conv-list{flex:1;overflow-y:auto;padding:2px 6px 10px;min-height:0}.chat-page .conv-item{display:flex;align-items:flex-start;gap:9px;width:100%;text-align:left;background:none;border:none;cursor:pointer;font:inherit;color:var(--text);padding:9px 10px;border-radius:var(--radius)}.chat-page .conv-item:hover{background:var(--surface-2)}.chat-page .conv-item.active{background:var(--blue-bg)}.chat-page .conv-icon{width:26px;height:26px;border-radius:50%;flex-shrink:0;margin-top:1px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.chat-page .conv-item.active .conv-icon{background:var(--surface)}.chat-page .conv-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-page .conv-title-row{display:flex;align-items:baseline;gap:8px}.chat-page .conv-title{font-size:13.5px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-page .conv-time{font-size:11px;color:var(--muted);white-space:nowrap}.chat-page .conv-preview{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-page .badge-unread{background:var(--accent);color:#fff;font-size:11px;font-weight:700;border-radius:10px;padding:1px 7px;flex-shrink:0;align-self:center}.chat-page .thread,.chat-page .mentions-panel{display:flex;flex-direction:column;min-height:0}.chat-page .thread-head{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.chat-page .thread-title{font-size:15px;font-weight:700;display:flex;align-items:center;gap:6px}.chat-page .kind-mark{color:var(--muted);font-weight:700}.chat-page .thread-members{font-size:12px;color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-page .chat-list{flex:1;min-height:0;padding:16px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.chat-page .chat-empty{color:var(--muted);font-size:13px;text-align:center;padding:14px 8px}.chat-page .msg{max-width:78%}.chat-page .msg .m-head{font-size:11.5px;color:var(--muted);margin-bottom:3px}.chat-page .msg .m-body{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:8px 13px;font-size:13.5px;white-space:pre-wrap;word-break:break-word}.chat-page .msg.mine{align-self:flex-end}.chat-page .msg.mine .m-body{background:var(--blue-bg);border-color:transparent}.chat-page .msg.sys{align-self:center;max-width:100%}.chat-page .msg.sys .m-body{background:none;border:none;color:var(--muted);font-size:12px;padding:0;text-align:center}.chat-page .msg.pending{opacity:.55}.chat-page .mention{background:var(--blue-bg);color:var(--blue);border-radius:5px;padding:0 5px;font-weight:600;white-space:nowrap}.chat-page .cmd-error{margin:10px 18px 0;background:var(--red-bg);color:var(--red);border-radius:var(--radius);padding:9px 13px;font-size:13px}.chat-page .chat-input-row{display:flex;gap:10px;align-items:flex-end;padding:12px 18px 10px;border-top:1px solid var(--border);position:relative}.chat-page .chat-input{flex:1;resize:none;border:1px solid var(--border);border-radius:18px;padding:9px 15px;font:inherit;font-size:13.5px;background:var(--surface-2);color:var(--text);max-height:120px}.chat-page .chat-input:focus{outline:2px solid var(--blue);outline-offset:-1px}.chat-page .chat-hint{font-size:11px;color:var(--muted);padding:0 18px 12px}.chat-page .chat-hint .mention{font-size:11px}.chat-page .mention-menu{position:absolute;bottom:56px;left:18px;z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 20px #0000002e;min-width:240px;overflow:hidden}.chat-page .mention-menu .pm-title{font-size:11px;text-transform:uppercase;color:var(--muted);padding:9px 13px 4px}.chat-page .mention-menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 13px;font-size:13px;color:var(--text);cursor:pointer}.chat-page .mention-menu button.sel,.chat-page .mention-menu button:hover{background:var(--blue-bg)}.chat-page .thread-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);text-align:center;padding:40px 24px}.chat-page .ph-icon{font-size:34px}.chat-page .ph-title{font-size:15px;font-weight:700;color:var(--text)}.chat-page .ph-text{font-size:13px;max-width:360px}.chat-page .mentions-list{flex:1;min-height:0;overflow-y:auto;padding:10px 12px}.chat-page .mention-row{display:block;width:100%;text-align:left;background:none;font:inherit;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:10px 14px;margin-bottom:8px}.chat-page .mention-row:hover{border-color:var(--accent);background:var(--surface-2)}.chat-page .mr-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:2px}.chat-page .mr-place{font-size:12px;font-weight:600;color:var(--blue)}.chat-page .mr-time{font-size:11px;color:var(--muted);white-space:nowrap}.chat-page .mr-author{font-size:12px;color:var(--muted);margin-bottom:3px}.chat-page .mr-text{font-size:13px;word-break:break-word}.chat-page .mr-go{font-size:11.5px;color:var(--accent);font-weight:600;margin-top:5px}.chat-page .field select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:14px;outline:none}.chat-page .field select:focus{border-color:var(--blue)}.chat-page .cand-list{border:1px solid var(--border);border-radius:var(--radius);max-height:190px;overflow-y:auto;background:var(--surface-2)}.chat-page .cand-row{display:flex;align-items:center;gap:9px;padding:8px 12px;font-size:13.5px;font-weight:400;color:var(--text);cursor:pointer}.chat-page .cand-row:hover{background:var(--surface)}.chat-page .cand-row+.cand-row{border-top:1px solid var(--border)}.chat-page .cand-empty{font-size:12.5px;color:var(--muted);background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--radius);padding:10px 12px}@media(max-width:900px){.chat-page .thread-placeholder{display:none}.chat-page.m-thread{display:flex;flex-direction:column;height:calc(100dvh - 64px);min-height:320px}.chat-page.m-thread .conv-pane{display:none}.chat-page.m-thread .thread{flex:1;min-height:0}.chat-page .chat-input-row{position:sticky;bottom:0;background:var(--surface)}.chat-page .thread-back{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;margin-left:-8px;background:none;border:none;border-radius:var(--radius);color:var(--text);font-size:20px;cursor:pointer}.chat-page .thread-back:hover{background:var(--surface-2)}.chat-page .thread-head{padding:8px 12px}.chat-page.m-mentions .conv-search,.chat-page.m-mentions .conv-list{display:none}.chat-page.m-mentions .mentions-panel{min-height:50dvh}.chat-page .conv-item{min-height:44px}.chat-page .conv-tabs button{min-height:40px}.chat-page .conv-actions .btn{min-height:40px;flex:1}.chat-page .conv-search input{font-size:16px;min-height:42px}.chat-page .chat-input{font-size:16px;min-height:42px;min-width:0}.chat-page .chat-input-row .btn{min-height:42px;min-width:48px}.chat-page .chat-list{padding:12px}.chat-page .msg{max-width:92%}.chat-page .mention-menu{left:12px;right:12px;min-width:0}}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.cal-month-nav{display:flex;align-items:center;gap:8px}.cal-month-title{font-size:16px;font-weight:600;min-width:150px;text-align:center}.cal-toolbar-right{display:flex;align-items:center;gap:10px}.cal-org-picker select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 12px;font-size:13.5px;outline:none;cursor:pointer;max-width:260px}.cal-org-picker select:focus{border-color:var(--blue)}.cal-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px;font-size:12.5px;color:var(--muted)}.cal-legend-item{display:inline-flex;align-items:center;gap:6px}.cal-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;display:inline-block}.cal-dot.deadline{background:var(--red)}.cal-dot.wait{background:var(--yellow)}.cal-dot.event{background:var(--blue)}.cal-grid-card{margin-bottom:16px}.cal-grid-card.is-fetching{opacity:.6;transition:opacity .15s}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border)}.cal-weekday{padding:8px 10px;font-size:12px;font-weight:600;color:var(--muted);text-align:left;-webkit-user-select:none;user-select:none}.cal-loading{padding:40px;text-align:center;color:var(--muted)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:96px;padding:6px 6px 8px;display:flex;flex-direction:column;align-items:stretch;gap:4px;cursor:pointer;text-align:left;font:inherit;color:var(--text);min-width:0}.cal-cell:nth-child(7n){border-right:none}.cal-grid .cal-cell:nth-last-child(-n+7){border-bottom:none}.cal-cell.weekend{background:var(--surface-2)}.cal-cell.other-month .cal-cell-date{color:var(--muted);opacity:.55}.cal-cell.selected{outline:2px solid var(--blue);outline-offset:-2px;border-radius:2px}.cal-cell-date{font-size:12.5px;font-weight:600;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex:0 0 auto}.cal-cell.today .cal-cell-date{background:var(--accent);color:#fff}.cal-cell-chips{display:flex;flex-direction:column;gap:3px;min-width:0}.cal-chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;line-height:1.25;padding:2px 6px;border-radius:5px;min-width:0;max-width:100%}.cal-chip .cal-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-chip.deadline{background:var(--red-bg);color:var(--red)}.cal-chip.deadline.closed{background:var(--surface-2);color:var(--muted);text-decoration:line-through}.cal-chip.wait{background:var(--yellow-bg);color:var(--yellow)}.cal-chip.event{background:var(--blue-bg);color:var(--blue)}.cal-more{font-size:11px;color:var(--muted);padding-left:6px}.cal-day-card{margin-bottom:16px}.cal-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.cal-day-title{font-weight:600;font-size:14.5px}.cal-day-empty{padding:26px 20px;text-align:center;color:var(--muted);font-size:13.5px}.cal-day-list{display:flex;flex-direction:column}.cal-day-row{display:flex;align-items:center;gap:12px;padding:11px 18px;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border-left:none;border-right:none;border-top:none;font:inherit;cursor:pointer;text-align:left;width:100%}.cal-day-row:last-child{border-bottom:none}.cal-day-row:hover{background:var(--surface-2)}.cal-day-row-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.cal-day-row-title{font-size:13.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-day-row-title.closed{color:var(--muted);text-decoration:line-through}.cal-day-row-sub{font-size:12px;color:var(--muted)}.cal-badge.overdue{background:var(--red-bg);color:var(--red);font-size:11.5px;padding:2px 8px;border-radius:10px;white-space:nowrap}.cal-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cal-modal-foot-spacer{flex:1 1 auto}.cal-btn-danger{color:var(--red)}.cal-field-select{margin-bottom:14px}.cal-field-select label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:5px}.cal-field-select select{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:13.5px;outline:none;cursor:pointer}.cal-field-select select:focus{border-color:var(--blue)}@media(max-width:700px){.cal-toolbar{flex-direction:column;align-items:stretch}.cal-month-nav{justify-content:space-between}.cal-toolbar-right{flex-direction:column;align-items:stretch}.cal-org-picker select{width:100%;max-width:none;font-size:16px}.cal-cell{min-height:56px;padding:4px}.cal-cell-chips{flex-direction:row;flex-wrap:wrap;gap:3px}.cal-chip{padding:0;background:none!important}.cal-chip .cal-chip-text{display:none}.cal-more{font-size:10px;padding-left:0}.cal-modal-row{grid-template-columns:1fr;gap:0}}.mx-page{--mx-chart: #006dff}[data-theme=dark] .mx-page{--mx-chart: #4a86dd}.mx-page.is-fetching{opacity:.65;transition:opacity .15s}.mx-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.mx-presets{display:flex;gap:6px;flex-wrap:wrap}.mx-preset{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:13px;padding:7px 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.mx-preset:hover{border-color:var(--blue)}.mx-preset.active{background:var(--blue-bg);border-color:var(--blue);color:var(--blue);font-weight:600}.mx-org-picker select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 12px;font-size:13.5px;outline:none;cursor:pointer;max-width:280px}.mx-org-picker select:focus{border-color:var(--blue)}.mx-error{padding:16px 20px;color:var(--red);margin-bottom:16px}.mx-loading{padding:40px;text-align:center;color:var(--muted)}.mx-section{font-size:14px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:18px 0 10px}.mx-section:first-of-type{margin-top:4px}.mx-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:12px}.mx-tile{padding:14px 16px}.mx-tile-label{font-size:12.5px;color:var(--muted);margin-bottom:6px}.mx-tile-value{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15}.mx-tile-value.bad{color:var(--red)}.mx-tile-value.good{color:var(--green)}.mx-tile-sub{font-size:12px;color:var(--muted);margin-top:4px}.mx-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.mx-chart-card{padding:16px 18px;margin-bottom:12px;min-width:0}.mx-charts-row .mx-chart-card{margin-bottom:0}.mx-chart-title{font-size:13.5px;font-weight:600;margin-bottom:14px}.mx-chart-empty{color:var(--muted);font-size:13px;padding:20px 0;text-align:center}.mx-barchart-plot{display:flex;align-items:flex-end;gap:10px;height:160px;border-bottom:1px solid var(--border);padding:20px 4px 0}.mx-barchart-col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative;min-width:0}.mx-barchart-bar{width:60%;max-width:42px;background:var(--mx-chart);border-radius:4px 4px 0 0;transition:height .2s ease}.mx-barchart-value{font-size:11.5px;color:var(--text);font-variant-numeric:tabular-nums;margin-bottom:4px;white-space:nowrap}.mx-barchart-axis{display:flex;gap:10px;padding:6px 4px 0}.mx-barchart-label{flex:1 1 0;text-align:center;font-size:11.5px;color:var(--muted);white-space:nowrap}.mx-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);font-size:12px;padding:7px 11px;border-radius:6px;white-space:nowrap;box-shadow:0 4px 14px #00000040;z-index:5;pointer-events:none}.mx-hbars{display:flex;flex-direction:column;gap:9px}.mx-hbar-row{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:10px;min-width:0}.mx-hbar-label{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mx-hbar-track{height:14px;border-radius:4px;background:var(--surface-2);overflow:hidden}.mx-hbar-fill{height:100%;background:var(--mx-chart);border-radius:0 4px 4px 0;transition:width .2s ease}.mx-hbar-value{font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.mx-hbar-sub{color:var(--muted)}@media(max-width:700px){.mx-toolbar{flex-direction:column;align-items:stretch}.mx-org-picker select{width:100%;max-width:none;font-size:16px}.mx-tiles{grid-template-columns:repeat(2,1fr)}.mx-charts-row{grid-template-columns:1fr}.mx-hbar-row{grid-template-columns:100px 1fr auto}.mx-barchart-plot,.mx-barchart-axis{gap:6px}.mx-barchart-label{font-size:10px}}:root{--bg: #ffffff;--surface: #ffffff;--surface-2: #f6f8fb;--text: #111827;--muted: #5b6472;--muted-3: #7a8492;--border: #e5e8ee;--input-border: #d7dce3;--sidebar-bg: #ffffff;--sidebar-text: #5b6472;--sidebar-active: #f6f8fb;--accent: #006dff;--accent-hover: #0060e0;--accent-bg: rgba(0, 109, 255, .08);--ring: rgba(0, 109, 255, .2);--banner: #fff9f0;--banner-border: #fde3b0;--blue: #075985;--blue-bg: rgba(7, 89, 133, .08);--yellow: #a16207;--yellow-bg: rgba(161, 98, 7, .09);--red: #b91c1c;--red-bg: rgba(185, 28, 28, .07);--red-solid: #b91c1c;--green: #047857;--green-bg: rgba(4, 120, 87, .08);--orange: #92400e;--orange-bg: rgba(146, 64, 14, .08);--shadow: 0 1px 2px rgba(0, 0, 0, .05);--radius: 8px;--ease: cubic-bezier(.16, 1, .3, 1)}[data-theme=dark]{--bg: #0f1216;--surface: #161a20;--surface-2: #1d222a;--text: #e6e9ef;--muted: #99a1ad;--muted-3: #7c8493;--border: #272d37;--input-border: #333b48;--sidebar-bg: #12151a;--sidebar-text: #99a1ad;--sidebar-active: #1d222a;--accent: #3d8bff;--accent-hover: #5c9dff;--accent-bg: rgba(61, 139, 255, .14);--ring: rgba(61, 139, 255, .28);--banner: #2a2213;--banner-border: #4d3b17;--blue: #7cc0e8;--blue-bg: rgba(124, 192, 232, .12);--yellow: #e0b34c;--yellow-bg: rgba(224, 179, 76, .12);--red: #f08c8c;--red-bg: rgba(240, 140, 140, .12);--red-solid: #dc2626;--green: #57c690;--green-bg: rgba(87, 198, 144, .12);--orange: #eba064;--orange-bg: rgba(235, 160, 100, .12);--shadow: 0 1px 2px rgba(0, 0, 0, .4)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.43}code,kbd,.mono{font-family:JetBrains Mono,ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;line-height:1.33}a{color:var(--accent)}.layout{display:flex;min-height:100vh}.main{flex:1;min-width:0}.content{padding:20px 24px 60px;max-width:none}.menu-btn,.nav-close{display:none;background:none;border:none;color:inherit;font-size:20px;cursor:pointer;padding:4px 8px;line-height:1}.nav-overlay{display:none}@media(max-width:900px){.menu-btn{display:inline-flex;color:var(--text)}aside.sidebar{position:fixed;inset:0 auto 0 0;z-index:120;transform:translate(-102%);transition:transform .22s var(--ease);box-shadow:4px 0 24px #0000002e;overflow-y:auto;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}aside.sidebar.open{transform:translate(0)}.sidebar .nav-close{display:inline-flex;margin-left:auto;color:inherit}.sidebar .logo{display:flex;align-items:center}.nav-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#11182766}.content{padding:12px 12px 48px}.topbar{padding-left:8px;padding-right:10px;gap:6px}.crumbs .parent,.crumbs .sep{display:none}.crumbs{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .theme-toggle{display:none}.btn.sm{min-height:36px}}@media(max-width:480px){.content{padding:10px 8px 40px}}.sidebar{width:224px;flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-text);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;transition:width .18s var(--ease);height:100vh}.sidebar .logo{padding:12px 12px 10px;font-size:16px;font-weight:600;color:var(--text);letter-spacing:.02em;display:flex;align-items:center;gap:8px}.sidebar .logo-text span{color:var(--accent)}.sidebar .nav-collapse{background:none;border:none;color:var(--sidebar-text);font-size:16px;line-height:1;cursor:pointer;padding:5px 7px;border-radius:var(--radius);transition:background .15s var(--ease),color .15s var(--ease)}.sidebar .nav-collapse:hover{background:var(--sidebar-active);color:var(--text)}@media(min-width:901px){.sidebar.collapsed{width:56px}.sidebar.collapsed .logo{padding-left:0;padding-right:0;justify-content:center}.sidebar.collapsed .logo-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .badge-n,.sidebar.collapsed .version,.sidebar.collapsed .nav-group-label{display:none}.sidebar.collapsed .nav a{justify-content:center;gap:0;padding-left:0;padding-right:0}}.sidebar .nav{flex:1;overflow-y:auto;padding:4px 8px 8px}.sidebar .nav-group-label{font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-3);padding:0 8px;margin:14px 0 4px}.sidebar .nav-group:first-child .nav-group-label{margin-top:4px}.sidebar .nav a{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;border-radius:var(--radius);color:var(--sidebar-text);text-decoration:none;font-size:13.5px;white-space:nowrap;transition:background .15s var(--ease),color .15s var(--ease)}.sidebar .nav a:hover{background:var(--sidebar-active);color:var(--text)}.sidebar .nav a.active{background:var(--accent-bg);color:var(--accent);font-weight:500}.sidebar .nav-icon{display:inline-flex;flex:none;color:inherit}.sidebar .nav-icon svg{width:15px;height:15px}.sidebar .badge-n{margin-left:auto;background:var(--surface-2);color:var(--muted-3);font-size:11px;font-variant-numeric:tabular-nums;padding:1px 7px;border-radius:9999px}.sidebar .nav a.active .badge-n{background:var(--accent-bg);color:var(--accent)}.sidebar .badge-n.hot{background:var(--red-bg);color:var(--red)}.sidebar .version{padding:12px 16px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;color:var(--muted-3)}.topbar{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 16px;padding-top:env(safe-area-inset-top);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.topbar .crumbs{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}.topbar .crumbs .sep{color:var(--muted-3);font-weight:400}.topbar .crumbs .parent{color:var(--muted);font-weight:500}.topbar .spacer{flex:1}.theme-toggle{border:none;background:transparent;color:var(--muted);border-radius:var(--radius);padding:6px 10px;cursor:pointer;font-size:13px;transition:background .15s var(--ease),color .15s var(--ease)}.theme-toggle:hover{background:var(--surface-2);color:var(--text)}.avatar{width:28px;height:28px;border-radius:50%;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card.padded{padding:16px 18px}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:9999px;font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid color-mix(in srgb,currentColor 22%,transparent)}.badge.blue{background:var(--blue-bg);color:var(--blue)}.badge.yellow{background:var(--yellow-bg);color:var(--yellow)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.green{background:var(--green-bg);color:var(--green)}.badge.grey{background:var(--surface-2);color:var(--muted);border-color:var(--border)}.badge.orange{background:var(--orange-bg);color:var(--orange)}.badge.accent{background:var(--accent-bg);color:var(--accent)}.btn{border:none;border-radius:var(--radius);min-height:40px;padding:0 16px;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover)}.btn.secondary{background:var(--surface);color:var(--muted);border:1px solid var(--border);box-shadow:var(--shadow)}.btn.secondary:hover{background:var(--surface-2);color:var(--text)}.btn.sm{min-height:36px;padding:0 12px;font-size:13px}.btn:disabled{opacity:.6;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field label{font-size:12.5px;font-weight:500;color:var(--muted)}.field input{background:var(--surface);color:var(--text);border:1px solid var(--input-border);border-radius:var(--radius);min-height:36px;padding:0 12px;font-size:14px;font-family:inherit;outline:none;box-shadow:var(--shadow);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.field.invalid input{border-color:var(--red);background:var(--red-bg)}.field .field-error{font-size:12px;color:var(--red)}.form-error{background:var(--red-bg);color:var(--red);border-radius:var(--radius);padding:9px 13px;font-size:13px;margin-bottom:14px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px}.login-card{width:100%;max-width:380px;padding:28px 30px 26px}.login-card .logo{font-size:24px;font-weight:600;letter-spacing:.02em;margin-bottom:4px}.login-card .logo span{color:var(--accent)}.login-card .subtitle{font-size:13px;color:var(--muted);margin-bottom:20px}.login-card .btn{width:100%;justify-content:center}.login-theme-toggle{position:fixed;top:14px;right:16px}.page-h{font-size:18px;font-weight:600;line-height:1.5;margin-bottom:14px;display:flex;align-items:center;gap:10px}.section-h{font-size:10px;font-weight:500;color:var(--muted-3);text-transform:uppercase;letter-spacing:.04em;margin:24px 0 10px}.muted{color:var(--muted)}.stack{display:flex;flex-direction:column;gap:10px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.kv{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;font-size:13.5px}.kv dt{color:var(--muted)}.kv dd{font-weight:500}@media(max-width:900px){.sidebar .nav-collapse{display:none}}
