@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap";html,body,#root{margin:0;padding:0;height:100vh;width:100vw;overflow:hidden;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:#0d0f15;color:#eef1f7}button{font-family:inherit}button:focus{outline:none}button:focus-visible{outline:2px solid rgba(124,116,255,.5);outline-offset:2px}a{color:inherit;text-decoration:none}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--primary-color);padding:20px;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-100%;left:-100%;width:300%;height:300%;background:linear-gradient(135deg,transparent 30%,rgba(255,255,255,.15) 50%,transparent 70%);animation:shimmer 8s ease-in-out infinite;pointer-events:none}.login-container.rocket-active:before{animation:none;opacity:0}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%)}to{transform:translate(100%) translateY(100%)}}.login-card{background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;box-shadow:0 8px 32px #0000001a,inset 0 1px #fff3,inset 0 -1px #ffffff1a;padding:40px;width:100%;max-width:400px;position:relative;z-index:1}.login-header{text-align:center;margin-bottom:30px}.login-header h1{color:#ffffffe6;font-size:28px;font-weight:700;margin:0 0 8px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.login-header p{color:#ffffffb3;font-size:16px;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group label{color:#fffc;font-weight:600;font-size:14px;margin-bottom:8px}.form-group input{padding:12px 16px;border:1px solid rgba(255,255,255,.3);border-radius:12px;font-size:16px;transition:all .3s ease;background:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#ffffff1a}.form-group input::placeholder{color:#292828}.form-group input:focus{outline:none;border-color:#fff9;box-shadow:0 0 0 3px #ffffff1a,0 0 20px #fff3;background:#ffffff26}.form-group input.error{border-color:#1e293bcc;box-shadow:0 0 0 3px #1e293b1a,0 0 20px #1e293b33}.field-error{color:#1e293be6;font-size:12px;margin-top:4px;text-shadow:0 1px 2px rgba(0,0,0,.1)}.error-message{color:#1e293be6;font-size:14px;margin-top:4px;background:#1e293b1a;padding:12px 16px;border-radius:8px;border:1px solid rgba(30,41,59,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.error-banner{background-color:#fed7d7;color:#c53030;padding:12px 16px;border-radius:8px;font-size:14px;border:1px solid #feb2b2}.submit-btn{background:#1e293bcc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:14px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px;position:relative;overflow:hidden}.submit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #1e293b66,0 0 20px #ffffff1a;background:#1e293be6}.submit-btn:hover:not(:disabled):before{left:100%}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;background:#1e293b66}.login-footer{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);text-align:center}.login-footer p{color:var(--ink-3);font-size:14px;margin:0}.login-footer strong{color:var(--ink)}.rocket-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;transition:all 1s cubic-bezier(.25,.46,.45,.94)}.rocket-gif{width:350px;height:200px;filter:drop-shadow(0 0 20px rgba(255,255,255,.3));animation:rocketPulse 2s ease-in-out infinite;transform:rotate(35deg)}.rocket-flying{top:-20%;left:120%;transform:translate(-50%,-50%)}.rocket-flying .rocket-gif{animation:rocketFly 1s ease-out forwards}@keyframes rocketPulse{0%,to{transform:rotate(20deg);filter:drop-shadow(0 0 20px rgba(255,255,255,.3))}50%{transform:rotate(20deg);filter:drop-shadow(0 0 30px rgba(255,255,255,.5))}}@keyframes rocketFly{0%{transform:rotate(20deg);filter:drop-shadow(0 0 20px rgba(255,255,255,.3))}30%{transform:rotate(15deg);filter:drop-shadow(0 0 40px rgba(255,255,255,.6))}70%{transform:rotate(5deg);filter:drop-shadow(0 0 60px rgba(255,255,255,.8))}to{transform:rotate(0);filter:drop-shadow(0 0 80px rgba(255,255,255,1))}}@media(max-width:480px){.login-container{padding:10px}.login-card{padding:30px 20px}.login-header h1{font-size:24px}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--surface);border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:800px;width:90vw;max-height:90vh;overflow:hidden;animation:modalSlideIn .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#1e293b 0% 100%);color:#fff}.modal-header h3{margin:0;font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.modal-icon{font-size:20px}.modal-close{background:#fff3;color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;font-weight:700;transition:background .2s ease}.modal-close:hover{background:#ffffff4d}.modal-body{padding:24px;max-height:60vh;overflow-y:auto}.product-info{background:#f7fafc;padding:16px;border-radius:12px;margin-bottom:20px;border-left:4px solid #1e293b}.product-info h4{margin:0 0 8px;font-size:16px;color:var(--ink)}.product-id{color:var(--ink-3);font-size:14px;font-weight:500}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;padding:32px;text-align:center}.loading-spinner{font-size:24px;animation:spin 1s linear infinite;margin-bottom:12px}.error-state{color:#e53e3e}.error-icon{font-size:24px;margin-bottom:12px}.retry-btn{margin-top:12px;padding:8px 16px;background:#e53e3e;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s ease}.retry-btn:hover{background:#c53030}.empty-state{color:var(--ink-3)}.empty-icon{font-size:48px;margin-bottom:16px}.branch-products-list{display:flex;flex-direction:column;gap:16px}.branch-product-item{background:#f7fafc;border:1px solid var(--line);border-radius:12px;padding:20px;transition:all .2s ease}.branch-product-item:hover{border-color:var(--ink);box-shadow:0 4px 6px #1e293b1a}.branch-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.branch-name{font-size:16px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px}.branch-icon{color:var(--ink)}.branch-id{font-size:12px;color:var(--ink-3);background:var(--line);padding:4px 8px;border-radius:6px}.product-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:center}.product-prices{display:flex;flex-direction:column;gap:8px}.price-item{display:flex;justify-content:space-between;align-items:center}.price-label{font-size:12px;color:var(--ink-3);font-weight:500}.price-value{font-weight:600;font-size:14px}.price-value.dealer{color:#e53e3e}.price-value.selling{color:var(--ink)}.stock-info{display:flex;justify-content:center}.stock-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-align:center;min-width:100px}.stock-badge.out-of-stock{background:#fed7d7;color:#c53030}.stock-badge.low{background:#ffeaa7;color:#d63031}.stock-badge.medium{background:#fdcb6e;color:#e17055}.stock-badge.high{background:#c6f6d5;color:var(--ink)}.profit-margin{display:flex;flex-direction:column;align-items:center;gap:4px}.margin-label{font-size:12px;color:var(--ink-3);font-weight:500}.margin-value{font-weight:600;font-size:14px;padding:4px 8px;border-radius:6px}.margin-value.high-margin{background:#c6f6d5;color:var(--ink)}.margin-value.normal-margin{background:var(--line);color:var(--ink-2)}.modal-footer{padding:16px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;background:#f7fafc}.modal-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.modal-btn.secondary{background:var(--line);color:var(--ink-2);border:1px solid var(--line)}.modal-btn.secondary:hover{background:var(--line);border-color:#cbd5e0}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:768px){.product-details{grid-template-columns:1fr;gap:12px}.branch-info{flex-direction:column;align-items:flex-start;gap:8px}.modal-content{width:95vw;margin:20px}}.table-container{width:100%;margin:20px 0;box-shadow:0 2px 8px #0000001a;border-radius:12px;overflow:hidden;background:var(--surface)}.table-wrapper{overflow-x:auto}.product-table{width:100%;border-collapse:collapse;font-size:14px;min-width:1400px}.product-table thead{background:linear-gradient(135deg,#1e293b 0% 100%);color:#fff}.product-table th{padding:10px 12px;text-align:left;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #1e293b}.product-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease;position:relative}.product-table th.sortable:hover{background-color:#ffffff1a}.product-table tbody tr{border-bottom:1px solid var(--line);transition:background-color .2s ease}.product-table tbody tr:hover{background-color:#f7fafc}.product-table tbody tr.low-stock{background-color:#fff5f5;border-left:4px solid #e53e3e}.product-table tbody tr.low-stock:hover{background-color:#fed7d7}.product-table td{padding:8px 12px;vertical-align:middle;color:var(--ink)}.product-name{min-width:200px}.product-info .name{font-weight:600;color:var(--ink);display:block;margin-bottom:4px}.product-info .id{font-size:12px;color:var(--ink-3);font-family:Monaco,Menlo,monospace}.categories{display:flex;flex-wrap:wrap;gap:4px;min-width:120px}.category-tag{background-color:var(--line);color:var(--ink-2);padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.barcode{min-width:140px}.barcode-info{display:flex;flex-direction:column;gap:4px}.barcode-main{background-color:#f7fafc;padding:4px 8px;border-radius:4px;font-size:12px;color:var(--ink);border:1px solid var(--line);font-family:Monaco,Menlo,monospace;font-weight:600}.barcode-additional{display:flex;flex-direction:column;gap:2px}.barcode-additional code{background-color:var(--line);padding:2px 6px;border-radius:3px;font-size:10px;color:var(--ink-2);border:1px solid var(--line);font-family:Monaco,Menlo,monospace}.no-barcode{color:#a0aec0;font-size:12px;font-style:italic}.sheet{min-width:100px}.sheet-name{background-color:var(--surface-2);color:var(--ink);padding:4px 8px;border-radius:8px;font-size:12px;font-weight:500;border:1px solid #f1f5f9;display:inline-block}.price{font-weight:600;font-family:Monaco,Menlo,monospace;text-align:right;min-width:120px}.dealer-price{color:#e53e3e}.selling-price{color:var(--ink)}.profit-margin{text-align:center;font-weight:600;min-width:100px;vertical-align:middle;display:flex;align-items:center;justify-content:center;height:100%}.high-margin{color:var(--ink);background-color:#f0fff4;padding:4px 8px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.normal-margin{color:#d69e2e;display:inline-flex;align-items:center;justify-content:center}.stock{text-align:center;min-width:80px}.stock-badge{padding:6px 12px;border-radius:20px;font-weight:600;font-size:12px}.stock-badge.low{background-color:#fed7d7;color:#c53030}.stock-badge.medium{background-color:#feebc8;color:var(--ink)}.stock-badge.high{background-color:#c6f6d5;color:var(--ink)}.cell-id{min-width:100px}.cell-id code{background-color:#f7fafc;padding:4px 8px;border-radius:4px;font-size:12px;color:var(--ink-2);border:1px solid var(--line)}.date{color:var(--ink-3);font-size:12px;min-width:140px}.table-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--ink-3)}.loading-spinner{width:40px;height:40px;border:3px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.no-products{text-align:center;padding:60px 20px;color:var(--ink-3);font-size:16px}@media(max-width:1024px){.table-container{margin:20px -20px;border-radius:0}.product-table{font-size:13px}.product-table th,.product-table td{padding:12px 8px}}@media(max-width:768px){.table-wrapper{padding:0 20px}.product-table{font-size:12px;min-width:1000px}.product-table th,.product-table td{padding:10px 6px}.categories{min-width:100px}.category-tag{font-size:10px;padding:2px 6px}}.product-stats{margin:20px 0}.product-stats .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.product-stats .stat-card{background:var(--surface);border-radius:12px;padding:24px;display:flex;align-items:center;box-shadow:0 2px 8px #0000001a;border:1px solid var(--line);transition:transform .2s ease,box-shadow .2s ease;min-height:100px}.product-stats .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.product-stats .stat-icon{font-size:32px;margin-right:16px;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:12px;background:linear-gradient(135deg,#1e293b 0% 100%);padding:10px}.product-stats .stat-info{flex:1;min-width:0;overflow:hidden}.product-stats .stat-value{font-size:22px;font-weight:700;color:var(--ink);margin-bottom:4px;font-family:Monaco,Menlo,monospace;word-break:break-all;line-height:1.2;overflow-wrap:break-word}.product-stats .stat-value.profit{color:var(--ink)}.product-stats .stat-value.margin{color:#d69e2e}.product-stats .stat-label{font-size:14px;color:var(--ink-3);font-weight:500;line-height:1.3;word-wrap:break-word}@media(max-width:1024px){.product-stats .stats-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}}@media(max-width:768px){.product-stats .stats-grid{grid-template-columns:1fr;gap:12px}.product-stats .stat-card{padding:20px;min-height:90px}.product-stats .stat-icon{font-size:24px;width:48px;height:48px;margin-right:12px}.product-stats .stat-value{font-size:18px;line-height:1.3}.product-stats .stat-label{font-size:12px}}@media(max-width:480px){.product-stats .stats-grid{margin:0 -20px;grid-template-columns:1fr}.product-stats .stat-card{border-radius:0;margin:0 20px 12px;padding:16px;min-height:80px}.product-stats .stat-icon{font-size:20px;width:40px;height:40px;margin-right:10px}.product-stats .stat-value{font-size:16px;line-height:1.4}.product-stats .stat-label{font-size:11px;line-height:1.2}}.product-filters{background:var(--surface);padding:20px;border-radius:12px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a}.filters-row{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.search-container{flex:1;min-width:300px}.search-box{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:var(--ink-3);font-size:16px}.search-input{width:100%;padding:12px 12px 12px 40px;border:2px solid var(--line);border-radius:8px;font-size:16px;transition:all .2s ease;background-color:var(--surface)}.search-input::placeholder{color:#a0aec0}.clear-search{position:absolute;right:12px;background:none;border:none;color:var(--ink-3);cursor:pointer;font-size:16px;padding:4px;transition:color .2s ease}.clear-search:hover{color:#e53e3e}.filter-group{display:flex;flex-direction:column;min-width:120px}.filter-group label{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:4px}.filter-select{padding:10px 12px;border:2px solid var(--line);border-radius:8px;font-size:14px;background-color:var(--surface);color:var(--ink);cursor:pointer;transition:all .2s ease}.filter-select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #1e293b1a}.refresh-btn{background:linear-gradient(135deg,#1e293b 0% 100%);color:#fff;border:none;border-radius:8px;padding:12px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;height:fit-content}.refresh-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #1e293b4d}.refresh-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.refresh-btn.loading{animation:pulse 1.5s ease-in-out infinite}.refresh-btn.loading:before{content:"";animation:spin 1s linear infinite}.column-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:12px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;height:fit-content;white-space:nowrap}.column-btn:hover{background:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #1e293b4d}.column-selector-container{position:relative;display:inline-block;width:100%}.column-selector-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:2px solid var(--line);border-radius:8px;font-size:14px;background-color:var(--surface);color:var(--ink);cursor:pointer;transition:all .2s ease;text-align:left;height:42px;box-sizing:border-box}.column-selector-btn:hover{border-color:#cbd5e0}.column-selector-btn:focus,.column-selector-btn.active{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #1e293b1a}.dropdown-arrow{font-size:10px;color:var(--ink-3);transition:all .2s ease;font-weight:700;margin-left:8px;min-width:12px;display:flex;align-items:center;justify-content:center}.column-selector-btn.active .dropdown-arrow{transform:rotate(180deg)}.column-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:2px solid var(--line);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:16px;z-index:1000;margin-top:4px}.column-dropdown-header{font-weight:600;font-size:14px;color:var(--ink);margin-bottom:8px;display:flex;align-items:center;gap:8px}.auto-save-note{font-size:11px;color:var(--ink);font-weight:400}.column-controls{display:flex;gap:8px;margin-bottom:12px}.column-control-btn{border:none;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.show-all-btn{background:var(--accent);color:#fff}.show-all-btn:hover{background:var(--accent)}.reset-btn{background:#f56565;color:#fff}.reset-btn:hover{background:#e53e3e}.column-checkboxes{display:flex;flex-direction:column;gap:8px}.column-checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--ink);transition:background-color .2s ease;border-radius:4px;padding:6px 8px}.column-checkbox-label:hover{background-color:#f7fafc}.column-checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--ink)}.filter-btn{border:none;border-radius:8px;padding:12px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;height:fit-content;white-space:nowrap}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@media(max-width:1024px){.filters-row{gap:12px}.search-container{min-width:250px}.filter-group{min-width:100px}}@media(max-width:768px){.product-filters{padding:16px;margin:0 -20px 20px;border-radius:0}.filters-row{flex-direction:column;gap:16px}.search-container{min-width:auto;width:100%}.filter-group{width:100%;min-width:auto}.refresh-btn{width:100%;justify-content:center}}@media(max-width:480px){.product-filters{padding:12px;margin:0 -20px 16px}.search-input{font-size:16px}}.branch-selector{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;background:linear-gradient(135deg,#1e293b 0% 100%);border-radius:10px;box-shadow:0 4px 6px #1e293b1a}.branch-selector.loading{justify-content:center;color:#fff;font-weight:500}.branch-selector.error{background:linear-gradient(135deg,#e53e3e,#c53030);color:#fff;justify-content:center}.branch-selector-label{display:flex;align-items:center;gap:8px;color:#fff;font-weight:600;font-size:14px;margin:0;cursor:pointer}.branch-icon{font-size:16px}.branch-selector-select{padding:8px 12px;border:2px solid rgba(255,255,255,.2);border-radius:6px;background:#ffffffe6;color:var(--ink);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:150px}.branch-selector-select:hover{background:var(--surface);border-color:#fff6;transform:translateY(-1px)}.branch-selector-select:focus{outline:none;background:var(--surface);border-color:#fff9;box-shadow:0 0 0 3px #ffffff1a}.loading-spinner{font-size:16px;animation:spin 1s linear infinite}.error-icon{font-size:16px}.product-search{margin-bottom:14px}.product-search__field{display:flex;align-items:center;gap:9px;height:var(--control-h);background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:0 10px 0 12px;color:var(--ink-3);transition:border-color .15s ease,box-shadow .15s ease}.product-search__field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.product-search__lead{color:var(--ink-3);flex:0 0 auto}.product-search__input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--ink);font-family:inherit;font-size:14px}.product-search__input::placeholder{color:var(--ink-3)}.product-search__input:disabled{cursor:not-allowed}.product-search__clear{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--ink-3);cursor:pointer;transition:background-color .15s ease,color .15s ease}.product-search__clear:hover{background:var(--surface-3);color:var(--ink)}.product-search__list{margin-top:10px;max-height:min(340px,46vh);overflow-y:auto;border:1px solid var(--line);border-radius:11px;background:var(--surface);scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.product-search__list::-webkit-scrollbar{width:8px}.product-search__list::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.product-search__row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:9px 12px;border-bottom:1px solid var(--line);cursor:pointer;transition:background-color .15s ease}.product-search__row:last-child{border-bottom:0}.product-search__row.is-active{background:var(--accent-wash);box-shadow:inset 0 0 0 1px var(--accent-ring)}.product-search__row.is-out{opacity:.5;cursor:not-allowed}.product-search__row-main{min-width:0;flex:1}.product-search__name{font-weight:600;font-size:13.5px;color:var(--ink);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-search__meta{margin-top:3px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3);font-family:IBM Plex Mono,monospace}.product-search__cat{font-family:inherit}.product-search__row-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.product-search__price{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap}.product-search__pills{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.product-search__footer{padding:10px 12px;text-align:center;font-size:11.5px;color:var(--ink-3);border-top:1px solid var(--line)}.product-search__empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:30px 18px}.product-search__empty-title{font-size:14px;font-weight:600;color:var(--ink-2)}.product-search__empty-hint{font-size:12.5px;color:var(--ink-3);max-width:240px;line-height:1.4}.product-search__skeletons{display:flex;flex-direction:column}.product-search__skel-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:9px 12px;border-bottom:1px solid var(--line)}.product-search__skel-row:last-child{border-bottom:0}.product-search__skel-line{height:12px;width:60%;border-radius:6px}.product-search__skel-pill{height:16px;width:54px;border-radius:6px;flex:0 0 auto}.pos-cart{display:flex;flex-direction:column}.pos-cart__head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:12px}.pos-cart__title{display:flex;align-items:center;gap:8px;margin:0;min-width:0;font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.pos-cart__empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:36px 18px}.pos-cart__empty-ic{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:var(--accent-wash);color:var(--accent-2);margin-bottom:6px}.pos-cart__empty-title{font-size:15px;font-weight:600;color:var(--ink)}.pos-cart__empty-hint{font-size:12.5px;color:var(--ink-3);max-width:240px;line-height:1.45}.pos-cart__list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;max-height:44vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.pos-cart__list::-webkit-scrollbar{width:8px}.pos-cart__list::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.pos-cart__item{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:box-shadow .15s ease,border-color .15s ease}.pos-cart__item.is-flagged{border-color:var(--red);box-shadow:0 0 0 3px var(--red-wash)}.pos-cart__line-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.pos-cart__item-name{min-width:0;font-weight:600;font-size:13.5px;color:var(--ink);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos-cart__line-total{flex:0 0 auto;font-size:13.5px;font-weight:700;color:var(--ink)}.pos-cart__line-total.is-syncing{animation:pos-pulse 1s ease-in-out infinite}.pos-cart__line-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-3)}.pos-cart__stock-note{color:var(--ink-2)}.pos-cart__line-controls{display:flex;align-items:center;justify-content:space-between;gap:10px}.pos-cart__stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.pos-cart__step{position:relative;width:40px;height:40px;display:grid;place-items:center;border:0;background:transparent;color:var(--ink);cursor:pointer;touch-action:manipulation;transition:background-color .15s ease,color .15s ease}.pos-cart__step:first-child{border-radius:9px 0 0 9px}.pos-cart__step:last-child{border-radius:0 9px 9px 0}.pos-cart__step:after{content:"";position:absolute;inset:-2px}.pos-cart__step:hover:not(:disabled){background:var(--surface-3)}.pos-cart__step:disabled{color:var(--line-2);cursor:not-allowed}.pos-cart__qty{width:48px;height:40px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font-size:14px;font-weight:600;color:var(--ink);background:var(--surface);outline:none}.pos-cart__qty:focus{background:var(--surface-2)}.pos-cart__icon-btn{width:40px;height:40px;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.pos-cart__icon-btn:active{transform:scale(.96)}.pos-cart__icon-btn--danger{background:var(--red-wash);color:var(--red)}.pos-cart__icon-btn--danger:hover{border-color:var(--red)}.pos-cart__undo{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);animation:pos-rise .18s ease}.pos-cart__undo-text{flex:1;min-width:0;font-size:12.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos-cart__undo-x{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--ink-3);cursor:pointer;transition:background-color .15s ease,color .15s ease}.pos-cart__undo-x:hover{background:var(--surface-3);color:var(--ink)}.pos-cart__summary{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:12px;background:var(--surface)}.pos-cart__sum-count{font-size:12px;color:var(--ink-3);margin-bottom:10px}.pos-cart__sum-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.pos-cart__sum-label{font-size:13px;font-weight:600;color:var(--ink-2)}.pos-cart__sum-value{font-size:14px;font-weight:600;color:var(--ink)}.pos-cart__discount{width:130px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;text-align:right;font-size:14px;color:var(--ink);background:var(--surface-2);outline:none;transition:border-color .15s ease,box-shadow .15s ease,color .15s ease}.pos-cart__discount::placeholder{color:var(--ink-3)}.pos-cart__discount:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.pos-cart__discount.has-value{color:var(--green-text);font-weight:600}.pos-cart__discount[aria-invalid=true]{border-color:var(--red)}.pos-cart__discount[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--red-wash)}.pos-cart__discount-help{font-size:11.5px;color:var(--red);text-align:right;margin:-4px 0 10px}.pos-cart__sum-row--total{margin-bottom:0;padding-top:12px;margin-top:2px;border-top:1px dashed var(--line)}.pos-cart__payable{font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.pos-cart__banner{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:12px;border:1px solid var(--line);border-radius:10px;animation:pos-rise .18s ease}.pos-cart__banner-ic{flex:0 0 auto}.pos-cart__banner-text{flex:1;min-width:0;font-size:12.5px;line-height:1.4}.pos-cart__banner--error{background:var(--red-wash);border-color:transparent;color:var(--red)}.pos-cart__banner--warn{background:var(--amber-wash);border-color:transparent;color:var(--amber)}.pos-cart__banner--success{background:var(--green-wash);border-color:transparent;color:var(--green)}.pos-cart__banner-x{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:inherit;opacity:.75;cursor:pointer;transition:opacity .15s ease}.pos-cart__banner-x:hover{opacity:1}.pos-cart__checkout{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:12px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;background:var(--green-text);color:var(--surface);transition:filter .15s ease,transform .1s ease,box-shadow .15s ease,opacity .15s ease}.pos-cart__checkout:hover:not(:disabled){filter:brightness(1.06)}.pos-cart__checkout:active:not(:disabled){transform:scale(.98)}.pos-cart__checkout:focus-visible{outline:none;box-shadow:0 0 0 3px var(--green-wash)}.pos-cart__checkout:disabled{opacity:.6;cursor:not-allowed}.pos-cart__spin{animation:pos-spin .8s linear infinite}.pos-cart__viewonly{text-align:center;padding:12px 0;font-size:12.5px;color:var(--ink-3)}@keyframes pos-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pos-spin{to{transform:rotate(360deg)}}@keyframes pos-rise{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.product-card{background:var(--surface);border-radius:12px;box-shadow:0 4px 6px #1e293b1a;padding:24px;margin-bottom:20px;border:1px solid #e1e5e9;transition:all .3s ease}.product-card:hover{box-shadow:0 8px 25px #1e293b26;transform:translateY(-2px)}.product-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #f0f2f5}.product-name{margin:0 16px 0 0;font-size:1.5rem;font-weight:600;color:var(--ink);line-height:1.3;flex:1}.product-status{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.status-badge{padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-badge.inactive{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.featured-badge{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7;padding:4px 8px;border-radius:12px;font-size:.7rem;font-weight:500}.product-info{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f8f9fa}.info-row:last-child{border-bottom:none}.info-row--stock-amount{justify-content:flex-end}.info-row--stock-amount .value{max-width:100%}.label{font-weight:500;color:#6c757d;font-size:.9rem}.value{font-weight:600;color:var(--ink);text-align:right;max-width:60%}.value.description{font-weight:400;color:#495057;font-style:italic}.pricing-section,.stock-section,.profit-section,.dates-section{grid-column:span 1}.pricing-section .info-row,.stock-section .info-row,.profit-section .info-row,.dates-section .info-row{border-bottom:1px solid #f8f9fa}.cost-price{color:#dc3545}.dealer-price{color:#fd7e14}.retail-price{color:#28a745}.margin{color:#17a2b8}.profit{color:#28a745}.product-card-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:2px solid #f0f2f5}.btn{padding:10px 20px;border:none;border-radius:8px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:100px}.btn-view{background-color:var(--accent);color:#fff}.btn-view:hover{background-color:var(--accent);transform:translateY(-1px)}.btn-edit{background-color:#17a2b8;color:#fff}.btn-edit:hover{background-color:#138496;transform:translateY(-1px)}.btn-delete{background-color:#dc3545;color:#fff}.btn-delete:hover{background-color:#c82333;transform:translateY(-1px)}@media(max-width:768px){.product-card{padding:16px}.product-info{grid-template-columns:1fr;gap:16px}.product-card-header{flex-direction:column;align-items:flex-start;gap:12px}.product-status{align-items:flex-start}.product-card-actions{flex-direction:column;gap:8px}.btn{width:100%}}@media(max-width:480px){.product-card{padding:12px}.product-name{font-size:1.3rem}.info-row{flex-direction:column;align-items:flex-start;gap:4px}.value{text-align:left;max-width:100%}}.location-widget{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column;align-items:center;gap:8px}.location-widget.jumping{animation:jump .6s ease-in-out infinite}@keyframes jump{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.cashbox-fab{position:fixed;bottom:24px;right:92px;z-index:1000;width:56px;height:56px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000047;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.cashbox-fab:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000061;filter:brightness(1.06)}.cashbox-fab:active{transform:translateY(0)}.location-button{width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,#1e293b 0% 100%);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #1e293b4d;transition:all .3s ease;position:relative;overflow:hidden}.location-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #1e293b66;background:linear-gradient(135deg,#1e293b 0% 100%)}.location-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #1e293b4d}.location-button:disabled{cursor:not-allowed;opacity:.7}.location-button.sent{background:linear-gradient(135deg,#1e293b 0% 100%);box-shadow:0 4px 12px #1e293b4d}.location-button.sent:hover{background:linear-gradient(135deg,#1e293b 0% 100%);box-shadow:0 6px 16px #1e293b66}.location-button.loading{background:linear-gradient(135deg,#1e293b 0% 100%);box-shadow:0 4px 12px #1e293b4d}.location-button.denied{background:linear-gradient(135deg,#1e293b 0% 100%);box-shadow:0 4px 12px #1e293b4d;cursor:pointer}.location-button.denied:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1e293b66;background:linear-gradient(135deg,#1e293b 0% 100%)}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.location-error{background:#fee2e2;color:#dc2626;padding:8px 12px;border-radius:8px;font-size:12px;font-weight:500;max-width:200px;text-align:center;box-shadow:0 2px 8px #dc262633;border:1px solid #fecaca;animation:slideIn .3s ease}.location-error.timeout-error{background:var(--surface-2);color:var(--ink);border:1px solid #f1f5f9;box-shadow:0 2px 8px #1e293b33}.retry-hint{margin-top:4px;font-size:10px;color:var(--ink);font-style:italic}.permission-hint{margin-top:6px;font-size:10px;color:var(--ink);background:var(--surface-2);padding:6px 8px;border-radius:4px;border:1px solid #1e293b;text-align:left;line-height:1.3}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.permission-indicator{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;border:2px solid white;box-shadow:0 2px 4px #0003}.permission-indicator.granted,.permission-indicator.denied,.permission-indicator.prompt{background:var(--accent)}@media(max-width:768px){.location-widget{bottom:16px;right:16px}.location-button,.cashbox-fab{width:48px;height:48px}.cashbox-fab{bottom:16px;right:76px}.location-error{font-size:11px;max-width:160px;padding:6px 10px}}.import-list{background:var(--surface);border-radius:12px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.filters-section{padding:20px;border-bottom:1px solid var(--line);background:var(--surface-2)}.search-box{margin-bottom:16px}.search-input{width:100%;padding:12px 16px;border:1px solid var(--line);border-radius:8px;font-size:14px;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #1e293b1a}.filter-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.status-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filter-label{font-weight:500;color:var(--ink-2);margin-right:8px}.status-filter-btn{padding:6px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink-2);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.status-filter-btn:hover{background:#f3f4f6;border-color:var(--ink-3)}.status-filter-btn.active{background:var(--accent);color:#fff;border-color:var(--ink)}.sort-controls{display:flex;align-items:center;gap:8px}.sort-select{padding:6px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink-2);font-size:12px;cursor:pointer}.sort-order-btn{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink-2);font-size:14px;cursor:pointer;transition:all .2s ease}.sort-order-btn:hover{background:#f3f4f6;border-color:var(--ink-3)}.imports-table-container{overflow-x:auto}.imports-table{width:100%;border-collapse:collapse}.imports-table th{background:var(--surface-2);padding:12px 16px;text-align:left;font-weight:600;color:var(--ink-2);border-bottom:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.imports-table th:hover{background:var(--surface-2)}.imports-table td{padding:16px;border-bottom:1px solid #f1f5f9;vertical-align:top}.imports-table tbody tr:hover{background:var(--surface-2)}.imports-table tbody tr.overdue-row{background:#fef2f2;border-left:4px solid #ef4444}.imports-table tbody tr.overdue-row:hover{background:#fee2e2}.empty-state{text-align:center;padding:40px 20px}.empty-message h3{margin:0 0 8px;color:var(--ink-3);font-size:18px}.empty-message p{margin:0;color:var(--ink-3);font-size:14px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--ink-3)}.loading-spinner{width:32px;height:32px;border:3px solid var(--line);border-top:3px solid #1e293b;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container{text-align:center;padding:40px 20px}.error-message{color:#ef4444;margin-bottom:16px;font-size:14px}.import-number-cell{font-family:Monaco,Menlo,monospace;font-size:13px}.import-number{display:flex;flex-direction:column;gap:4px}.overdue-badge{background:#ef4444;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:500;align-self:flex-start}.import-name-cell{min-width:200px}.import-info{display:flex;flex-direction:column;gap:4px}.import-name{font-weight:500;color:#1f2937;font-size:14px}.import-description{color:var(--ink-3);font-size:12px;line-height:1.4}.status-cell{text-align:center}.status-badge{display:inline-block;padding:4px 8px;border-radius:6px;color:#fff;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.supplier-cell{min-width:150px}.supplier-info{display:flex;flex-direction:column;gap:2px}.supplier-name{font-weight:500;color:#1f2937;font-size:14px}.supplier-code{color:var(--ink-3);font-size:11px}.date-cell{min-width:120px}.date-info{display:flex;flex-direction:column;gap:2px}.expected-date{font-weight:500;color:#1f2937;font-size:13px}.actual-date{color:var(--ink-3);font-size:11px}.items-cell{text-align:center}.items-info{display:flex;flex-direction:column;gap:2px}.items-count{font-weight:500;color:#1f2937;font-size:13px}.items-quantity{color:var(--ink-3);font-size:11px}.cost-cell{text-align:right;min-width:120px}.cost-info{display:flex;flex-direction:column;gap:2px;align-items:flex-end}.total-cost{font-weight:500;color:#1f2937;font-size:13px}.local-cost{color:var(--ink-3);font-size:11px}.actions-cell{text-align:center;min-width:120px}.btn{padding:6px 8px;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px}.btn-view{background:#f3f4f6;color:var(--ink-2)}.btn-view:hover{background:var(--line)}.btn-primary{background:var(--accent);color:#fff;padding:8px 16px;font-size:14px;font-weight:500}@media(max-width:768px){.filter-controls{flex-direction:column;align-items:stretch}.status-filters,.sort-controls{justify-content:center}.imports-table{font-size:12px}.imports-table th,.imports-table td{padding:8px 12px}.action-buttons{flex-direction:column;gap:2px}.btn{min-width:24px;height:24px;font-size:10px}}.import-form{background:var(--surface);border-radius:12px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.form{padding:0}.form-sections{max-height:70vh;overflow-y:auto;padding:0 24px}.form-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #f1f5f9}.form-section:last-child{border-bottom:none;margin-bottom:0}.section-title{margin:0 0 20px;font-size:18px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.section-title:before{content:"";width:4px;height:20px;background:var(--accent);border-radius:2px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1 / -1}.form-group.checkbox-group{flex-direction:row;align-items:center;gap:12px}.form-label{font-size:14px;font-weight:500;color:var(--ink-2);display:flex;align-items:center;gap:4px}.form-label.required:after{content:"*";color:#ef4444;font-weight:600}.form-input,.form-select,.form-textarea{padding:12px 16px;border:1px solid var(--line);border-radius:8px;font-size:14px;color:#1f2937;background:var(--surface);transition:all .2s ease;font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #1e293b1a}.form-input.error,.form-select.error,.form-textarea.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-input::placeholder,.form-textarea::placeholder{color:var(--ink-3)}.form-textarea{resize:vertical;min-height:80px}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px;color:var(--ink-2);-webkit-user-select:none;user-select:none}.checkbox-input{width:18px;height:18px;accent-color:var(--ink);cursor:pointer}.checkbox-text{font-weight:500}.error-message{font-size:12px;color:#ef4444;margin-top:4px;display:flex;align-items:center;gap:4px}.error-message:before{content:"⚠️";font-size:10px}.form-actions{padding:24px;background:var(--surface-2);border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:12px}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:120px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:disabled:hover{transform:none;box-shadow:none}.btn-secondary{background:var(--surface);color:var(--ink-2);border:1px solid var(--line)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-3);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-primary:hover:not(:disabled){background:var(--accent);transform:translateY(-1px);box-shadow:0 4px 8px #1e293b4d}@media(max-width:768px){.form-sections{padding:0 16px;max-height:60vh}.form-grid{grid-template-columns:1fr;gap:16px}.form-section{margin-bottom:24px;padding-bottom:16px}.section-title{font-size:16px;margin-bottom:16px}.form-actions{padding:16px;flex-direction:column}.btn{width:100%;min-width:auto}}@media(max-width:480px){.form-sections{padding:0 12px}.form-input,.form-select,.form-textarea{padding:10px 12px;font-size:13px}.form-label{font-size:13px}.btn{padding:10px 16px;font-size:13px}}.form-input:focus,.form-select:focus,.form-textarea:focus{position:relative;z-index:1}.form-sections::-webkit-scrollbar{width:6px}.form-sections::-webkit-scrollbar-track{background:var(--surface-2);border-radius:3px}.form-sections::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}.form-sections::-webkit-scrollbar-thumb:hover{background:#94a3b8}.import-details{background:var(--surface);border-radius:12px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.details-header{padding:24px;border-bottom:1px solid var(--line);background:var(--surface-2);display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.header-info{flex:1}.import-title{margin:0 0 12px;font-size:24px;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:12px}.overdue-badge{background:#ef4444;color:#fff;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500}.import-meta{display:flex;align-items:center;gap:16px}.import-number{font-family:Monaco,Menlo,monospace;font-size:14px;color:var(--ink-3);background:#f3f4f6;padding:4px 8px;border-radius:4px}.import-status{display:flex;align-items:center}.status-badge{display:inline-block;padding:6px 12px;border-radius:6px;color:#fff;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.header-actions{display:flex;gap:12px;flex-wrap:wrap}.details-tabs{display:flex;border-bottom:1px solid var(--line);background:var(--surface)}.tab-button{padding:16px 24px;border:none;background:none;color:var(--ink-3);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent;position:relative}.tab-button:hover{color:var(--ink-2);background:var(--surface-2)}.tab-button.active{color:var(--ink);border-bottom-color:var(--ink);background:var(--surface-2)}.details-content{padding:24px;max-height:60vh;overflow-y:auto}.overview-content{display:flex;flex-direction:column;gap:32px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.info-section{background:var(--surface-2);padding:20px;border-radius:8px;border:1px solid var(--line)}.info-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#1f2937;border-bottom:1px solid var(--line);padding-bottom:8px}.info-item{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:16px}.info-item:last-child{margin-bottom:0}.info-label{font-size:13px;font-weight:500;color:var(--ink-3);min-width:120px;flex-shrink:0}.info-value{font-size:14px;color:#1f2937;text-align:right;word-break:break-word}.notes-section{background:var(--surface-2);padding:20px;border-radius:8px;border:1px solid var(--line)}.notes-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#1f2937;border-bottom:1px solid var(--line);padding-bottom:8px}.note-item{margin-bottom:16px}.note-item:last-child{margin-bottom:0}.note-label{font-size:13px;font-weight:500;color:var(--ink-3);display:block;margin-bottom:8px}.note-content{margin:0;font-size:14px;color:#1f2937;line-height:1.5;background:var(--surface);padding:12px;border-radius:6px;border:1px solid var(--line)}.items-content{display:flex;flex-direction:column;gap:20px}.items-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line)}.items-header h4{margin:0;font-size:18px;font-weight:600;color:#1f2937}.empty-items{text-align:center;padding:40px 20px;color:var(--ink-3)}.empty-items p{margin:0 0 16px;font-size:16px}.items-table-container{overflow-x:auto}.items-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.items-table th{background:var(--surface-2);padding:12px 16px;text-align:left;font-weight:600;color:var(--ink-2);border-bottom:1px solid var(--line);font-size:13px}.items-table td{padding:16px;border-bottom:1px solid #f1f5f9;vertical-align:top}.items-table tbody tr:hover{background:var(--surface-2)}.items-table tbody tr:last-child td{border-bottom:none}.item-info{min-width:200px}.item-name{font-weight:500;color:#1f2937;font-size:14px;margin-bottom:4px}.item-sku{color:var(--ink-3);font-size:12px;font-family:Monaco,Menlo,monospace}.item-brand{color:var(--ink-3);font-size:12px;margin-top:2px}.item-quantity{text-align:center;min-width:100px}.item-unit-cost{color:var(--ink-3);font-size:11px;margin-top:4px}.item-cost{text-align:right;font-weight:500;color:#1f2937;min-width:100px}.item-quality{text-align:center;min-width:120px}.quality-badge{display:inline-block;padding:4px 8px;border-radius:4px;color:#fff;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.quality-badge.pending{background:#6b7280}.quality-grade{color:var(--ink-3);font-size:11px}.item-location{font-size:12px;color:var(--ink-3);min-width:120px}.item-actions{text-align:center;min-width:100px}.action-buttons{display:flex;gap:4px;justify-content:center;flex-wrap:wrap}.quality-content{display:flex;flex-direction:column;gap:24px}.quality-overview{background:var(--surface-2);padding:20px;border-radius:8px;border:1px solid var(--line)}.quality-overview h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#1f2937;border-bottom:1px solid var(--line);padding-bottom:8px}.quality-status,.quality-date{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.quality-status:last-child,.quality-date:last-child{margin-bottom:0}.quality-label{font-size:13px;font-weight:500;color:var(--ink-3)}.quality-value{font-size:14px;color:#1f2937;font-weight:500}.quality-value.completed,.quality-value.pending{color:var(--ink)}.quality-notes{margin-top:16px}.quality-notes .quality-label{display:block;margin-bottom:8px}.quality-content{margin:0;font-size:14px;color:#1f2937;line-height:1.5;background:var(--surface);padding:12px;border-radius:6px;border:1px solid var(--line)}.quality-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.stat-item{background:var(--surface-2);padding:16px;border-radius:8px;border:1px solid var(--line);text-align:center}.stat-label{display:block;font-size:12px;color:var(--ink-3);margin-bottom:4px}.stat-value{display:block;font-size:20px;font-weight:600;color:#1f2937}.documents-content h4{margin:0 0 20px;font-size:16px;font-weight:600;color:#1f2937}.documents-list{display:flex;flex-direction:column;gap:16px}.document-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--surface-2);border-radius:8px;border:1px solid var(--line)}.document-label{font-size:14px;font-weight:500;color:var(--ink-2)}.document-value{font-size:14px;color:#1f2937;font-family:Monaco,Menlo,monospace}.no-documents{text-align:center;color:var(--ink-3);font-style:italic;padding:40px 20px}.history-content h4{margin:0 0 20px;font-size:16px;font-weight:600;color:#1f2937}.history-timeline{position:relative;padding-left:20px}.history-timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--line)}.history-item{position:relative;margin-bottom:20px;padding-left:20px}.history-item:before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;background:var(--accent);border-radius:50%;border:2px solid white;box-shadow:0 0 0 2px var(--line)}.history-item:last-child{margin-bottom:0}.history-date{font-size:12px;color:var(--ink-3);margin-bottom:4px}.history-action{font-size:14px;color:#1f2937;font-weight:500}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}.btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent)}.btn-edit{background:var(--surface-2);color:var(--ink)}.btn-edit:hover{background:var(--surface-2)}.btn-approve{background:var(--surface-2);color:var(--ink)}.btn-approve:hover{background:var(--surface-2)}.btn-in-progress{background:var(--surface-2);color:var(--ink)}.btn-in-progress:hover{background:var(--surface-2)}.btn-quality{background:var(--surface-2);color:var(--ink)}.btn-quality:hover{background:var(--surface-2)}.btn-complete{background:var(--surface-2);color:var(--ink)}.btn-complete:hover{background:var(--surface-2)}.btn-cancel{background:#fee2e2;color:#dc2626}.btn-cancel:hover{background:#fecaca}.btn-delete{background:#fee2e2;color:#dc2626}.btn-delete:hover{background:#fecaca}@media(max-width:768px){.details-header{flex-direction:column;align-items:stretch;gap:16px}.header-actions{justify-content:stretch}.header-actions .btn{flex:1;min-width:0}.details-tabs{overflow-x:auto;flex-wrap:nowrap}.tab-button{white-space:nowrap;padding:12px 16px;font-size:13px}.details-content{padding:16px;max-height:50vh}.info-grid{grid-template-columns:1fr;gap:16px}.info-section{padding:16px}.items-header{flex-direction:column;align-items:stretch;gap:12px}.items-table{font-size:12px}.items-table th,.items-table td{padding:8px 12px}.action-buttons{flex-direction:column;gap:2px}.btn{padding:6px 12px;font-size:12px}}@media(max-width:480px){.import-title{font-size:20px}.import-meta{flex-direction:column;align-items:flex-start;gap:8px}.details-content,.info-section{padding:12px}.items-table th,.items-table td{padding:6px 8px}}.details-content::-webkit-scrollbar{width:6px}.details-content::-webkit-scrollbar-track{background:var(--surface-2);border-radius:3px}.details-content::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}.details-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.excel-import-modal-overlay{position:fixed;inset:0;background:#0f172a73;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.excel-import-modal{background:var(--surface);border-radius:12px;box-shadow:0 20px 50px #0003;max-width:900px;width:100%;max-height:min(90vh,900px);display:flex;flex-direction:column}.excel-import-modal__header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.excel-import-modal__header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--ink)}.excel-import-modal__close{background:none;border:none;font-size:1.75rem;line-height:1;color:var(--ink-3);cursor:pointer;padding:4px 8px;border-radius:6px}.excel-import-modal__close:hover{background:var(--surface-2);color:var(--ink)}.excel-import-modal__body{padding:24px;overflow-y:auto}.excel-import-modal__form{display:flex;flex-direction:column;gap:16px}.excel-import-modal__label{display:flex;flex-direction:column;gap:8px;font-size:.875rem;font-weight:500;color:var(--ink-2)}.excel-import-modal__select,.excel-import-modal__file{padding:10px 12px;border:1px solid var(--line-2);border-radius:8px;font-size:.9375rem}.excel-import-modal__file-name{margin:0;font-size:.875rem;color:var(--ink-3)}.excel-import-modal__error{background:#fef2f2;color:#b91c1c;padding:12px;border-radius:8px;font-size:.875rem}.excel-import-modal__warn{background:#fffbeb;color:#b45309;padding:12px;border-radius:8px;font-size:.875rem;margin-bottom:16px}.excel-import-modal__actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.excel-import-modal__summary{background:var(--surface-2);border-radius:8px;padding:16px;margin-bottom:20px;font-size:.875rem;color:var(--ink-2)}.excel-import-modal__summary p{margin:0 0 8px}.excel-import-modal__summary p:last-child{margin-bottom:0}.excel-import-modal__rows-title{margin:0 0 12px;font-size:1rem;font-weight:600;color:var(--ink)}.excel-import-modal__muted{color:var(--ink-3);font-size:.875rem;margin:0 0 16px}.excel-import-modal__table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;margin-bottom:20px;max-height:360px;overflow-y:auto}.excel-import-modal__table{width:100%;border-collapse:collapse;font-size:.8125rem}.excel-import-modal__table th,.excel-import-modal__table td{padding:10px 12px;text-align:left;border-bottom:1px solid #f1f5f9}.excel-import-modal__table th{background:var(--surface-2);font-weight:600;color:var(--ink-2);position:sticky;top:0}.excel-import-modal__table tbody tr:hover{background:var(--surface-2)}.excel-import-modal .btn{padding:10px 18px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;border:none}.excel-import-modal .btn-primary{background:var(--accent);color:#fff}.excel-import-modal .btn-primary:hover:not(:disabled){background:#334155}.excel-import-modal .btn-primary:disabled{opacity:.6;cursor:not-allowed}.excel-import-modal .btn-secondary{background:var(--surface-2);color:var(--ink-2)}.excel-import-modal .btn-secondary:hover{background:var(--line)}.excel-imports-list .filters-section{background:var(--surface);padding:20px;border-radius:12px;margin:0 24px 20px;border:1px solid var(--line)}.excel-imports-list .search-box{margin-bottom:16px}.excel-imports-list .search-input{width:100%;padding:12px 16px;border:1px solid var(--line-2);border-radius:8px;font-size:14px}.excel-imports-list__branch-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.excel-imports-list__branch-label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500;color:var(--ink-2);min-width:220px}.excel-imports-list .filter-select{padding:10px 12px;border-radius:8px;border:1px solid var(--line-2);font-size:14px}.excel-imports-list .loading-container,.excel-imports-list .error-container{text-align:center;padding:48px 24px}.excel-imports-list .loading-spinner{width:40px;height:40px;border:3px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:excel-imports-spin .8s linear infinite;margin:0 auto 16px}@keyframes excel-imports-spin{to{transform:rotate(360deg)}}.excel-imports-list .imports-table-container{margin:0 24px 24px;background:var(--surface);border-radius:12px;border:1px solid var(--line);overflow-x:auto}.excel-imports-table{width:100%;border-collapse:collapse;font-size:13px}.excel-imports-table th,.excel-imports-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #f1f5f9}.excel-imports-table th{background:var(--surface-2);font-weight:600;color:var(--ink-2);white-space:nowrap}.excel-imports-file-cell{max-width:220px;word-break:break-word}.excel-imports-created-by-cell{max-width:160px;word-break:break-word;font-size:12px;color:var(--ink-2)}.excel-import-row--warn{background:#fffbeb}.excel-imports-table .status-badge{display:inline-block;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent;letter-spacing:.2px}.excel-imports-table .status-badge--done{background:#16a34a;color:#fff;border-color:#15803d;box-shadow:inset 0 -1px #0000001f}.excel-imports-table .status-badge--pending{background:#0369a1;color:#fff;border-color:#075985;box-shadow:inset 0 -1px #0000001f}.excel-imports-err-hint{font-size:11px;color:#b45309;margin-top:4px}.excel-imports-list .btn{padding:8px 14px;border-radius:8px;border:none;font-size:13px;font-weight:500;cursor:pointer}.excel-imports-list .btn-view{background:var(--accent);color:#fff}.excel-imports-list .btn-view:hover{background:#334155}.excel-imports-list .btn-secondary{background:var(--surface-2);color:var(--ink-2)}.excel-imports-list .btn-secondary:hover{background:var(--line)}.excel-imports-list .btn-primary{background:var(--accent);color:#fff}.excel-imports-rows-overlay{position:fixed;inset:0;background:#0f172a73;z-index:900;display:flex;align-items:center;justify-content:center;padding:16px}.excel-imports-rows-modal{background:var(--surface);border-radius:12px;max-width:900px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #0003}.excel-imports-rows-modal__head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.excel-imports-rows-modal__head h2{margin:0;font-size:1.1rem;color:var(--ink)}.excel-imports-rows-modal__close{background:none;border:none;font-size:1.5rem;color:var(--ink-3);cursor:pointer;line-height:1;padding:4px 8px;border-radius:6px}.excel-imports-rows-modal__close:hover{background:var(--surface-2)}.excel-imports-rows-modal__body{padding:16px 20px;overflow:hidden;display:flex;flex-direction:column;min-height:120px}.excel-imports-rows-scroll{overflow:auto;max-height:min(60vh,480px);border:1px solid var(--line);border-radius:8px}.excel-imports-rows-table{width:100%;border-collapse:collapse;font-size:12px}.excel-imports-rows-table th,.excel-imports-rows-table td{padding:8px 10px;text-align:left;border-bottom:1px solid #f1f5f9}.excel-imports-rows-table th{background:var(--surface-2);position:sticky;top:0;font-weight:600;color:var(--ink-3)}.excel-imports-muted{color:var(--ink-3);margin:0}.excel-imports-rows-err{color:#b91c1c;margin:0}.excel-imports-actions{display:flex;gap:8px;flex-wrap:wrap}.excel-imports-list .btn-apply{background:#0f766e;color:#fff}.excel-imports-list .btn-apply:hover:not(:disabled){background:#115e59}.excel-imports-list .btn-apply:disabled{opacity:.7;cursor:not-allowed}.excel-imports-apply-error{margin:0 24px 16px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;font-size:13px}.excel-imports-apply-modal{max-width:460px}.excel-imports-apply-modal__choices{display:flex;gap:12px;margin-top:16px}.excel-imports-apply-modal__choices .btn{flex:1;padding:12px 16px}.chat-modal{max-width:680px;width:100%}.chat-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.chat-head-ic{width:40px;height:40px;border-radius:12px;flex:0 0 auto;color:#fff;display:grid;place-items:center;background:linear-gradient(140deg,var(--accent-2),var(--accent));box-shadow:var(--glow-soft)}.chat-head-info{flex:1;min-width:0}.chat-head-title{font-size:15.5px;font-weight:700;letter-spacing:-.01em;line-height:1.2}.chat-head-online{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-2);margin-top:2px}.chat-head-online .chat-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);flex:0 0 auto}.chat-head-online.connecting .chat-dot{background:var(--amber);box-shadow:none}.chat-avastack{display:flex;align-items:center;flex:0 0 auto}.chat-avastack .chat-ava{margin-left:-8px;box-shadow:0 0 0 2px var(--surface)}.chat-avastack .chat-ava:first-child{margin-left:0}.chat-ava{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-size:10.5px;font-weight:700;color:#fff;overflow:hidden;flex:0 0 auto;-webkit-user-select:none;user-select:none}.chat-ava img{width:100%;height:100%;object-fit:cover;display:block}.chat-ava.more{background:var(--surface-3);color:var(--ink-2);font-family:IBM Plex Mono,monospace;font-size:10px}.chat-ava.lg{width:32px;height:32px;border-radius:10px;font-size:11.5px}.chat-topics{display:flex;gap:6px;overflow-x:auto;padding:12px 18px;border-bottom:1px solid var(--line);scrollbar-width:none;flex:0 0 auto}.chat-topics::-webkit-scrollbar{display:none}.chat-chip{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:6px 13px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--ink-2);white-space:nowrap;font-family:inherit;transition:border-color .14s,background .14s,color .14s}.chat-chip:hover{border-color:var(--line-2);color:var(--ink)}.chat-chip.on{background:var(--accent-wash);border-color:var(--accent-ring);color:var(--ink)}.app[data-theme=light] .chat-chip.on{background:#1c2030;border-color:#1c2030;color:#fff}.chat-chip-badge{min-width:17px;height:17px;border-radius:9px;padding:0 5px;display:inline-grid;place-items:center;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;background:var(--surface-3);color:var(--ink);border:1px solid var(--line-2)}.app[data-theme=light] .chat-chip-badge{background:#1c2030;border-color:#1c2030;color:#fff}.app[data-theme=light] .chat-chip.on .chat-chip-badge{background:#fff;border-color:#fff;color:#1c2030}.chat-chip-x{border:0;background:transparent;cursor:pointer;padding:0;line-height:1;color:inherit;opacity:.7;display:none}.chat-chip:hover .chat-chip-x,.chat-chip:focus-within .chat-chip-x{display:inline-flex}.chat-chip-x:hover{opacity:1}.chat-chip-input{flex:0 0 auto;width:140px;padding:6px 13px;border-radius:999px;font-size:12px;outline:none;border:1px solid var(--accent);background:var(--surface-2);color:var(--ink);font-family:inherit}.chat-list{height:52vh;min-height:280px;overflow-y:auto;padding:12px 18px 8px;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.chat-list::-webkit-scrollbar{width:8px}.chat-list::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.chat-empty{text-align:center;color:var(--ink-3);padding:48px 0;font-size:13.5px}.chat-day{display:flex;align-items:center;gap:12px;margin:16px 0 12px;color:var(--ink-3);font-size:11.5px;font-weight:600}.chat-day:before,.chat-day:after{content:"";flex:1;height:1px;background:var(--line)}.chat-sender{font-size:12px;font-weight:700;margin:2px 0 4px 41px;line-height:1.2}.chat-group{display:flex;gap:9px;margin-bottom:12px;align-items:flex-start}.chat-group.mine{justify-content:flex-end}.chat-group-msgs{display:flex;flex-direction:column;gap:4px;max-width:72%;min-width:0;align-items:flex-start}.chat-group.mine .chat-group-msgs{align-items:flex-end}.chat-bubble{padding:7px 12px;border-radius:13px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink);font-size:13.5px;line-height:1.45;word-break:break-word;white-space:pre-wrap;width:fit-content;max-width:100%}.chat-bubble.mine{background:#7c74ff33;border-color:#7c74ff42}.app[data-theme=light] .chat-bubble.mine{background:#eeedfd;border-color:#dfdcfb}.chat-time{font-size:10px;color:var(--ink-3);margin-left:8px;white-space:nowrap;font-family:IBM Plex Mono,monospace}.chat-quote{display:block;border-left:3px solid var(--accent);background:var(--accent-wash);border-radius:8px;padding:4px 9px;margin:2px 0 6px;max-width:300px;min-width:120px}.chat-quote-name{display:block;font-size:11px;font-weight:700;color:var(--accent-2);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-quote-body{display:block;font-size:12px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-bubble.mine .chat-quote{background:#7c74ff29}.app[data-theme=light] .chat-bubble.mine .chat-quote{background:#e2defb}.app[data-theme=light] .chat-bubble.mine .chat-quote-name{color:var(--accent)}.chat-mention{font-weight:600;color:var(--accent-2)}.chat-img{display:block;max-width:240px;max-height:240px;border-radius:10px;cursor:pointer;object-fit:cover;margin-top:2px}.chat-img-ph{width:150px;height:96px;border-radius:10px;background:var(--surface-3);margin-top:2px}.chat-file{display:inline-flex;align-items:center;gap:7px;margin-top:4px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:transparent;color:inherit;cursor:pointer;font-size:12px;font-family:inherit;max-width:100%}.chat-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-att-meta{display:flex;align-items:center;gap:8px;margin-top:5px;font-size:10.5px;color:var(--ink-3)}.chat-att-meta .chat-time{margin-left:auto}.chat-seen{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:3px;font-size:11px;color:var(--ink-3)}.chat-seen .chat-ava{width:16px;height:16px;border-radius:5px;font-size:7px;margin-left:-5px;box-shadow:0 0 0 1.5px var(--surface)}.chat-seen .chat-ava:first-of-type{margin-left:0}.chat-typing{display:flex;align-items:center;gap:7px;min-height:22px;padding:2px 18px 6px;font-size:11.5px;color:var(--ink-2)}.chat-typing-dots{display:inline-flex;gap:3px;align-items:center}.chat-typing-dots i{width:4px;height:4px;border-radius:50%;background:var(--accent-2);animation:chatTyping 1.1s infinite}.chat-typing-dots i:nth-child(2){animation-delay:.18s}.chat-typing-dots i:nth-child(3){animation-delay:.36s}@keyframes chatTyping{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.chat-foot{padding:10px 14px 14px;border-top:1px solid var(--line);flex:0 0 auto}.chat-composer{display:flex;align-items:center;gap:8px}.chat-round-btn{width:40px;height:40px;flex:0 0 auto;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;transition:color .14s,border-color .14s}.chat-round-btn:hover{color:var(--ink);border-color:var(--line-2)}.chat-input-wrap{position:relative;flex:1;min-width:0}.chat-input{display:block;width:100%;height:40px;resize:none;overflow-y:auto;box-sizing:border-box;padding:9px 42px 9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-family:inherit;font-size:13.5px;line-height:20px;outline:none}.chat-input::placeholder{color:var(--ink-3)}.chat-input:focus{border-color:var(--accent-ring)}.chat-emoji-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;background:transparent;color:var(--ink-3);cursor:pointer;display:grid;place-items:center;border-radius:50%}.chat-emoji-btn:hover{color:var(--ink)}.chat-send-btn{width:40px;height:40px;flex:0 0 auto;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;transition:background .14s,border-color .14s,color .14s}.chat-send-btn:not(:disabled):hover{background:var(--accent);border-color:var(--accent);color:#fff}.chat-send-btn:disabled{opacity:.45;cursor:not-allowed}.dashboard-overview{width:100%}.dashboard-overview__header{background:var(--surface);border-radius:16px;border:1px solid var(--line);padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px;box-shadow:0 2px 6px #0000000a}.dashboard-overview__title-block h1{margin:0 0 6px;font-size:24px;font-weight:700;color:var(--ink);line-height:1.2}.dashboard-overview__title-block p{margin:0;color:var(--ink-3);font-size:13px}.dashboard-overview__controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dashboard-overview__period{display:inline-flex;background:var(--surface-2);border-radius:999px;padding:4px;border:1px solid var(--line)}.dashboard-overview__period button{border:none;background:transparent;padding:8px 16px;border-radius:999px;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-3);transition:all .2s ease}.dashboard-overview__period button.active{background:var(--accent);color:#fff;box-shadow:0 2px 6px #1e293b40}.dashboard-overview__period button:hover:not(.active){color:var(--ink)}.dashboard-overview__refresh{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease}.dashboard-overview__refresh:hover{background:var(--surface-2);border-color:var(--line-2)}.dashboard-overview__refresh:disabled{opacity:.6;cursor:not-allowed}.dashboard-overview__kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:20px}.kpi-card{background:var(--surface);border-radius:16px;padding:20px;border:1px solid var(--line);box-shadow:0 2px 6px #0000000a;display:flex;flex-direction:column;gap:10px;min-height:140px;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000014}.kpi-card--accent{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;border-color:transparent}.kpi-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.kpi-card__label{font-size:13px;font-weight:600;color:var(--ink-3);letter-spacing:.02em}.kpi-card--accent .kpi-card__label{color:#ffffffbf}.kpi-card__chip{width:34px;height:34px;min-width:34px;border-radius:10px;background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-card__chip--light{background:#ffffff26}.kpi-card__chip--income{background:#ecfdf5}.kpi-card__chip--expense{background:#fef2f2}.kpi-card__chip--neutral{background:var(--surface-2)}.kpi-card__value{font-size:26px;font-weight:700;color:var(--ink);line-height:1.15;word-break:break-word}.kpi-card--accent .kpi-card__value{color:#fff}.kpi-card__sub{font-size:12px;color:var(--ink-3);display:inline-flex;align-items:center;gap:6px;margin-top:auto}.kpi-card--accent .kpi-card__sub{color:#ffffffd9}.dashboard-overview__panels{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:20px}.dashboard-overview__panels--equal{grid-template-columns:1fr 1fr}@media(max-width:1024px){.dashboard-overview__panels,.dashboard-overview__panels--equal{grid-template-columns:1fr}}.panel{background:var(--surface);border-radius:16px;border:1px solid var(--line);box-shadow:0 2px 6px #0000000a;padding:22px;display:flex;flex-direction:column;min-width:0}.panel--center{align-items:stretch}.panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel__title{font-size:16px;font-weight:700;color:var(--ink);margin:0}.panel__subtitle{font-size:12px;color:var(--ink-3);display:inline-flex;align-items:center;white-space:nowrap}.salary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:1280px){.salary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.salary-grid{grid-template-columns:1fr}}.salary-item{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;min-width:0}.salary-item__label{font-size:12px;color:var(--ink-3);font-weight:600;margin-bottom:6px}.salary-item__value{font-size:17px;font-weight:700;color:var(--ink);word-break:break-word}.salary-item--income .salary-item__value{color:#047857}.salary-item--expense .salary-item__value{color:#b91c1c}.salary-item--net{background:linear-gradient(135deg,#064e3b,#047857);border-color:transparent}.salary-item--net .salary-item__label,.salary-item--net .salary-item__value{color:#fff}.salary-item--full{grid-column:1 / -1}.donut-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:8px 0 4px}.donut-inner{position:relative;width:180px;height:180px}.donut-svg{width:100%;height:100%;display:block}.donut-track{fill:none;stroke:var(--line);stroke-width:14}.donut-progress{fill:none;stroke:#047857;stroke-width:14;stroke-linecap:round;transition:stroke-dasharray .6s ease}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.donut-center__value{font-size:28px;font-weight:800;color:var(--ink);line-height:1}.donut-center__label{font-size:12px;color:var(--ink-3);font-weight:600;margin-top:4px}.donut-caption{font-size:12px;color:var(--ink-3)}.pie-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;gap:16px;padding:4px 0 0}.pie-svg-wrap{position:relative;width:200px;height:200px;flex-shrink:0}.pie-svg{width:100%;height:100%;display:block;overflow:visible}.pie-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;padding:0 8px}.pie-center__value{font-size:16px;font-weight:800;color:var(--ink);line-height:1.1;word-break:break-word}.pie-center__label{font-size:11px;color:var(--ink-3);font-weight:600;margin-top:2px}.pie-legend{width:100%;display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto}.pie-legend__row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px}.pie-legend__dot{width:12px;height:12px;min-width:12px;border-radius:4px;flex-shrink:0}.pie-legend__text{min-width:0;flex:1}.pie-legend__label{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.pie-legend__kind{font-size:10px;font-weight:600;color:var(--ink-2);background:var(--line);padding:1px 6px;border-radius:999px;text-transform:lowercase;white-space:nowrap}.pie-legend__meta{font-size:12px;color:var(--ink-3);margin-top:2px}.element-list{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow:auto}.element-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}.element-row__left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.element-row__text{min-width:0;overflow:hidden}.element-row__dot{width:36px;height:36px;min-width:36px;border-radius:10px;background:#e0f2fe;color:#0369a1;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.element-row__name{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.element-row__meta{font-size:12px;color:var(--ink-3);margin-top:2px}.element-row__right{display:flex;align-items:center;gap:12px;flex-shrink:0}.element-row__amount{font-weight:700;color:var(--ink);font-size:13px;white-space:nowrap}.element-row__amount--income{color:#047857}.element-row__amount--expense{color:#b91c1c}.sales-grid{display:grid;grid-template-columns:1fr;gap:12px}.sales-item{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:14px;min-width:0}.sales-item__icon{width:40px;height:40px;min-width:40px;border-radius:10px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.sales-item__text{min-width:0;display:flex;flex-direction:column;gap:2px}.sales-item__label{font-size:12px;color:var(--ink-3);font-weight:600}.sales-item__value{font-size:18px;font-weight:700;color:var(--ink);word-break:break-word}.dashboard-overview__state{background:var(--surface);border-radius:16px;border:1px solid var(--line);padding:40px;text-align:center;color:var(--ink-3);font-size:14px;margin-bottom:20px}.dashboard-overview__error{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.empty-state{text-align:center;color:var(--ink-3);font-size:13px;padding:24px 8px}.mrseller-layer{position:fixed;inset:0;z-index:55;pointer-events:none;overflow:hidden}.mrseller-sprite{position:absolute;left:0;top:0;will-change:transform;pointer-events:none}.mrseller-strip{width:100%;height:100%;background-repeat:no-repeat;image-rendering:pixelated}.mrseller-sprite--possessed .mrseller-strip{filter:drop-shadow(0 0 6px var(--accent))}.mrseller-hit{position:absolute;left:46px;top:20px;width:36px;height:64px;pointer-events:auto;cursor:grab;touch-action:none}.mrseller-hit:active{cursor:grabbing}.mrseller-bubble{position:absolute;left:0;top:0;max-width:260px;padding:8px 11px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 24px #00000040;font-size:12.5px;line-height:1.45;color:var(--ink);opacity:0;transition:opacity .2s ease;pointer-events:none;will-change:transform}.mrseller-bubble--show{opacity:1}.mrseller-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:1200;padding:10px 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #0000004d;font-size:13px;color:var(--ink);animation:mrseller-toast-in .25s ease}@keyframes mrseller-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.mrseller-topbar-btn{position:relative}.mrseller-topbar-btn.is-active{color:var(--accent)}.mrseller-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--accent);border:1.5px solid var(--surface)}@media(max-width:980px),(pointer:coarse){.mrseller-topbar-btn,.mrseller-menu-item{display:none!important}}.mrseller-onb-scrim{position:fixed;inset:0;z-index:70;background:#05070c99;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;animation:mrseller-fade-in .2s ease}@keyframes mrseller-fade-in{0%{opacity:0}to{opacity:1}}.mrseller-onb-card{max-width:460px;width:calc(100% - 48px);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:0 18px 60px #0006}.mrseller-onb-step{font-size:11.5px;letter-spacing:.04em;color:var(--ink-3, var(--ink-2));margin-bottom:8px;font-variant-numeric:tabular-nums}.mrseller-onb-text{margin:0 0 16px;font-size:14.5px;line-height:1.55;color:var(--ink);min-height:66px}.mrseller-onb-actions{display:flex;justify-content:flex-end;gap:10px}.mrseller-btn{padding:8px 16px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--ink-2);font-size:13.5px;cursor:pointer}.mrseller-btn:hover{color:var(--ink);border-color:var(--line-2, var(--line))}.mrseller-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.mrseller-btn--primary:hover{color:#fff;filter:brightness(1.08)}.mrseller-onb-char{position:absolute;bottom:26px;transform:translate(-50%);transition:left .6s ease;pointer-events:none}@media(prefers-reduced-motion:reduce){.mrseller-onb-char{transition:none}.mrseller-onb-scrim{animation:none}}.roles-picker{display:flex;flex-direction:column;gap:8px;min-width:0}.roles-picker__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.roles-picker__label{font-size:12px;font-weight:600;color:var(--ink-2)}.roles-picker__count{font-size:11.5px;font-weight:600;color:var(--accent-2, var(--accent));background:var(--accent-wash);box-shadow:inset 0 0 0 1px var(--accent-ring);padding:2px 9px;border-radius:999px;font-variant-numeric:tabular-nums;white-space:nowrap}.roles-picker__actions{display:flex;gap:8px;flex-wrap:wrap}.roles-picker__list{display:grid;gap:4px;padding:6px;max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);align-content:start}.roles-picker--grid .roles-picker__list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.roles-picker--compact .roles-picker__list{grid-template-columns:1fr;max-height:180px}.roles-picker__row{display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid transparent;border-radius:8px;cursor:pointer;min-width:0}.roles-picker__row:hover{background:var(--surface-3, var(--surface))}.roles-picker__row.is-selected{background:var(--accent-wash);border-color:var(--accent-ring)}.roles-picker__row.is-disabled{cursor:not-allowed;opacity:.6}.roles-picker__row input[type=checkbox]{width:15px;height:15px;flex:0 0 auto;accent-color:var(--accent);cursor:inherit}.roles-picker__name{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roles-picker__hint,.roles-picker__empty{margin:0;font-size:11.5px;color:var(--ink-3)}.roles-picker__notice{margin:0;font-size:12px;color:var(--amber);background:var(--amber-wash);border-radius:8px;padding:7px 10px}.tpd{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:14px;background:var(--surface-2)}.tpd.topup{border-color:color-mix(in srgb,var(--green) 45%,var(--line))}.tpd.withdraw{border-color:color-mix(in srgb,var(--red) 45%,var(--line))}.tpd-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;flex-wrap:wrap}.tpd-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ink-2)}.tpd-op{font-size:12px;font-weight:600;padding:3px 9px;border-radius:7px}.tpd.topup .tpd-op{background:var(--green-wash);color:var(--green)}.tpd.withdraw .tpd-op{background:var(--red-wash);color:var(--red)}.tpd-q{width:100%;min-height:44px;background:var(--surface)}.tpd-q input{font-size:16px}.tpd-results{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;max-height:280px;overflow-y:auto}.tpd-result{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.tpd-result:hover,.tpd-result.on{border-color:var(--accent-ring);background:var(--accent-wash)}.tpd-result:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.tpd-main{display:grid;gap:2px;min-width:0}.tpd-side{display:grid;gap:2px;justify-items:end;margin-left:auto}.tpd-picked{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}.tpd-sub{font-size:12px}.tpd-wrap{overflow-wrap:anywhere}.tpd-amount{white-space:nowrap;flex:0 0 auto}.tpd-hit{color:var(--accent-2);font-weight:700}.tpd-error{color:var(--red);font-size:12.5px;margin:6px 0}.tpd-spin{width:14px;height:14px;flex:0 0 auto;margin-top:2px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:tpd-spin .8s linear infinite}@keyframes tpd-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.tpd-spin{animation:none}}.pv-banner{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:9px 20px;background:var(--amber-wash);border-bottom:1px solid var(--line);color:var(--ink);font-size:13px;line-height:1.35}.pv-banner-ic{width:28px;height:28px;border-radius:8px;background:var(--amber);color:#fff;display:grid;place-items:center;flex:0 0 auto}.pv-banner-text{flex:1;min-width:0}.pv-banner-text b{font-weight:600;margin-right:5px}.pv-banner .btn{min-height:32px;padding:5px 12px;font-size:12.5px;border-radius:8px;flex:0 0 auto}@media(max-width:640px){.pv-banner{flex-wrap:wrap;padding:9px 14px}.pv-banner .btn{width:100%}}.pv-intro{margin:0 0 16px;color:var(--ink-2);line-height:1.5}.pv-phone{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:16px;letter-spacing:.02em}.pv-code{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:26px;letter-spacing:.45em;text-align:center;height:58px;padding-left:.45em}.pv-hint{font-size:12px;color:var(--ink-3);margin-top:2px}.pv-err{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--red-wash);color:var(--red-text);font-size:13px;line-height:1.45}.pv-sent{margin:0 0 14px;color:var(--ink-2);line-height:1.5}.pv-sent b{color:var(--ink);font-family:IBM Plex Mono,ui-monospace,monospace;white-space:nowrap}.pv-link{background:none;border:0;padding:0;margin-left:8px;color:var(--accent-2);font:inherit;font-size:13px;cursor:pointer}.pv-link:hover:not(:disabled){text-decoration:underline}.pv-link:disabled{opacity:.5;cursor:default}.pv-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:10px 0 4px}.pv-done-ic{width:56px;height:56px;border-radius:16px;background:var(--green-wash);color:var(--green);display:grid;place-items:center;margin-bottom:6px}.pv-done-title{font-size:16px;font-weight:700;font-family:IBM Plex Mono,ui-monospace,monospace}.pv-done-text{color:var(--ink-2);font-size:13px;line-height:1.5;max-width:320px}.mwg{position:fixed;inset:0;z-index:1050;display:flex;align-items:center;justify-content:center;padding:32px 24px;padding-bottom:max(32px,env(safe-area-inset-bottom));overscroll-behavior:contain;background:#0d0f15d1;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);animation:mwg-fade .22s ease}.app[data-theme=light] .mwg{background:#f3f5f9db;background:color-mix(in srgb,var(--bg) 86%,transparent)}.mwg-body{width:100%;max-width:340px;display:flex;flex-direction:column;align-items:center;text-align:center;outline:none;animation:mwg-rise .28s cubic-bezier(.2,.8,.2,1)}.mwg-mark{width:84px;height:84px;border-radius:24px;box-shadow:var(--glow),var(--shadow);margin-bottom:22px}.mwg-icon{width:84px;height:84px;border-radius:24px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;box-shadow:var(--glow),var(--shadow);margin-bottom:22px}.mwg-title{margin:0 0 10px;font-size:23px;font-weight:700;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}.mwg-sub{margin:0 0 24px;font-size:15px;line-height:1.5;color:var(--ink-2)}.mwg-msg{width:100%;margin:0 0 16px;padding:10px 12px;border-radius:10px;background:var(--red-wash);color:var(--red-text);font-size:13px;line-height:1.45;text-align:left}.mwg-hint{margin-top:12px;font-size:12.5px;line-height:1.4;color:var(--ink-3)}.mwg .btn.mwg-cta{width:100%;min-height:48px;font-size:15px;border-radius:12px}.mwg .btn.mwg-secondary{width:100%;min-height:44px;margin-top:10px;font-size:14px;color:var(--ink-2);border-color:transparent}@keyframes mwg-fade{0%{opacity:0}to{opacity:1}}@keyframes mwg-rise{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.mwg,.mwg-body{animation:none}}.tg-banner{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:9px 20px;background:var(--accent-wash);border-bottom:1px solid var(--line);color:var(--ink);font-size:13px;line-height:1.35}.tg-banner.is-warn{background:var(--amber-wash)}.tg-banner.is-expired{background:var(--red-wash)}.tg-banner-ic{width:28px;height:28px;border-radius:8px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;flex:0 0 auto}.tg-banner.is-warn .tg-banner-ic{background:var(--amber);color:#fff}.tg-banner.is-expired .tg-banner-ic{background:var(--red);color:#fff}.tg-banner-text{flex:1;min-width:0}.tg-banner-text b{font-weight:600}.tg-part:before{content:"·";margin:0 7px;color:var(--ink-3)}.tg-banner .btn{min-height:32px;padding:5px 12px;font-size:12.5px;border-radius:8px;flex:0 0 auto}@media(max-width:640px){.tg-banner{flex-wrap:wrap;padding:9px 14px}.tg-banner .btn{width:100%}}.tg-notice{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:6px 0 2px}.tg-notice-ic{width:56px;height:56px;border-radius:16px;background:var(--red-wash);color:var(--red);display:grid;place-items:center;margin-bottom:4px}.tg-notice p{margin:0;max-width:380px;line-height:1.55}.tg-notice-lead{color:var(--ink)}.tg-notice-text{color:var(--ink-2);font-size:13px}.msa-ava{display:inline-block;flex:none;border-radius:50%;background-color:var(--surface-3)}.msa-botbadge{display:grid;place-items:center;flex:none;border-radius:50%;background:var(--accent-wash);color:var(--accent)}.msa-botbadge--sm{width:34px;height:34px}.msa-botbadge--lg{width:60px;height:60px}.msa-launcher{position:fixed;right:24px;bottom:96px;z-index:1000;width:56px;height:56px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--accent);box-shadow:var(--shadow);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.msa-launcher:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 8px 28px #00000047}.msa-launcher:active{transform:translateY(0)}.msa-launcher.is-open{border-color:var(--accent)}.msa-launcher .msa-ava{background-color:transparent}.msa-panel{position:fixed;right:24px;bottom:164px;z-index:1001;width:370px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100vh - 188px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px #00000052;overflow:hidden;animation:msa-pop .16s ease-out}.msa-panel.is-expanded{width:min(760px,calc(100vw - 32px));height:calc(100vh - 188px);max-height:calc(100vh - 96px)}@keyframes msa-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.msa-head{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;border-bottom:1px solid var(--line);background:var(--surface-2)}.msa-head-id{flex:1;min-width:0}.msa-head-name{font-weight:700;font-size:14px;color:var(--ink);line-height:1.2}.msa-head-sub{font-size:11px;color:var(--ink-3)}.msa-head-btn{flex:none;width:30px;height:30px;display:grid;place-items:center;border:none;border-radius:8px;background:transparent;color:var(--ink-2);cursor:pointer;transition:background .15s ease,color .15s ease}.msa-head-btn:hover{background:var(--surface-3);color:var(--ink)}.msa-list{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}.msa-msg{max-width:84%;padding:9px 12px;border-radius:14px;font-size:13.5px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.msa-msg--user{align-self:flex-end;background:var(--accent);color:var(--accent-ink, #fff);border-bottom-right-radius:4px}.msa-msg--assistant{align-self:flex-start;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:4px}.msa-md{white-space:normal}.msa-md>:first-child{margin-top:0}.msa-md>:last-child{margin-bottom:0}.msa-md p{margin:0 0 8px}.msa-md ul,.msa-md ol{margin:0 0 8px;padding-left:20px}.msa-md li{margin:2px 0}.msa-md li>p{margin:0}.msa-md h1,.msa-md h2,.msa-md h3,.msa-md h4{margin:10px 0 6px;font-size:14px;font-weight:700;line-height:1.3}.msa-md h1{font-size:15px}.msa-md strong{font-weight:700}.msa-md em{font-style:italic}.msa-md a{color:var(--accent);text-decoration:underline}.msa-md code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--surface-3);padding:1px 5px;border-radius:5px}.msa-md pre{margin:0 0 8px;padding:10px;background:var(--surface-3);border-radius:8px;overflow-x:auto}.msa-md pre code{background:none;padding:0}.msa-md blockquote{margin:0 0 8px;padding-left:10px;border-left:3px solid var(--line-2);color:var(--ink-2)}.msa-md hr{border:none;border-top:1px solid var(--line);margin:10px 0}.msa-md table{display:block;width:max-content;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:0 0 8px;font-size:12.5px}.msa-md th,.msa-md td{border:1px solid var(--line);padding:5px 8px;text-align:left;white-space:nowrap}.msa-md th{background:var(--surface-3);font-weight:700}.msa-tablewrap{margin:0 0 8px}.msa-md .msa-tablewrap table{margin:0}.msa-tabletools{display:flex;justify-content:flex-end;margin:0 0 4px}.msa-export{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;font-weight:600;color:var(--ink-2);background:var(--surface-3);border:1px solid var(--line);border-radius:7px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.msa-export:hover{background:var(--surface-2);color:var(--ink);border-color:var(--ink-3)}.msa-msg--bare{background:transparent!important;padding:0!important}.msa-card{margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.msa-card-title{font-weight:700;font-size:12.5px;margin-bottom:6px;color:var(--ink)}.msa-card-rows{margin:0;display:grid;gap:3px}.msa-card-row{display:flex;justify-content:space-between;gap:10px;font-size:12px}.msa-card-row dt{color:var(--ink-3)}.msa-card-row dd{margin:0;color:var(--ink);font-weight:600;text-align:right;word-break:break-word}.msa-card-warn{font-size:11.5px;color:var(--warn, #b45309);margin-top:4px}.msa-card-actions{display:flex;gap:8px;margin-top:10px}.msa-card-actions button{flex:1;padding:7px 10px;border-radius:8px;font-size:12.5px;font-weight:600;cursor:pointer;border:1px solid var(--line);transition:opacity .15s ease,background .15s ease}.msa-card-confirm{background:var(--accent, #4f46e5);color:#fff;border-color:transparent}.msa-card-cancel{background:transparent;color:var(--ink-2)}.msa-card-actions button:disabled{opacity:.55;cursor:default}.msa-card-status{margin-top:8px;font-size:12px;font-weight:600}.msa-card-status--done{color:var(--ok, #15803d)}.msa-card-status--cancelled{color:var(--ink-3)}.msa-result{font-size:12.5px;font-weight:600;padding:2px 0}.msa-result--ok{color:var(--ok, #15803d)}.msa-result--err{color:var(--err, #b91c1c)}.msa-empty{margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px 6px}.msa-greeting{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink-2);max-width:280px}.msa-examples{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.msa-chip{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:12.5px;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.msa-chip:hover{border-color:var(--accent);color:var(--ink);background:var(--accent-wash)}.msa-typing{display:inline-flex;gap:4px;align-items:center}.msa-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:msa-blink 1.2s infinite ease-in-out both}.msa-dot:nth-child(2){animation-delay:.2s}.msa-dot:nth-child(3){animation-delay:.4s}@keyframes msa-blink{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.msa-error{align-self:stretch;text-align:center;font-size:12.5px;color:var(--red);background:var(--red-wash);border:1px solid var(--red);border-radius:10px;padding:8px 10px}.msa-input{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--surface)}.msa-textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);font:inherit;font-size:13.5px;line-height:1.4;padding:9px 11px;max-height:120px;outline:none;transition:border-color .15s ease}.msa-textarea:focus{border-color:var(--accent)}.msa-textarea::placeholder{color:var(--ink-3)}.msa-send{flex:none;width:38px;height:38px;display:grid;place-items:center;border:none;border-radius:10px;background:var(--accent);color:var(--accent-ink, #fff);cursor:pointer;transition:opacity .15s ease,transform .1s ease}.msa-send:hover:not(:disabled){transform:translateY(-1px)}.msa-send:disabled{opacity:.45;cursor:default}.msa-foot{padding:0 14px 10px;font-size:10.5px;color:var(--ink-3);text-align:center;background:var(--surface)}@media(max-width:560px){.msa-panel{right:0;left:0;bottom:0;width:100%;max-width:100%;height:80vh;max-height:80vh;border-radius:16px 16px 0 0}.msa-panel.is-expanded{width:100%;height:94vh;max-height:94vh}.msa-launcher{right:16px;bottom:76px}}@media(prefers-reduced-motion:reduce){.msa-panel,.msa-dot{animation:none}.msa-launcher{transition:none}}.app,.app *,.app *:before,.app *:after,.ui-dialog-layer,.ui-dialog-layer *,.ui-dialog-layer *:before,.ui-dialog-layer *:after{box-sizing:border-box}.app{margin:0}.app,.ui-dialog-layer{--bg:#0d0f15;--surface:#151823;--surface-2:#1c2030;--surface-3:#232838;--ink:#eef1f7;--ink-2:#9aa3b5;--ink-3:#646d80;--line:#262b3a;--line-2:#323848;--accent:#7c74ff;--accent-2:#9a93ff;--accent-ink:#fff;--accent-wash:rgba(124,116,255,.14);--accent-ring:rgba(124,116,255,.32);--green:#36d399;--green-wash:rgba(54,211,153,.13);--red:#fb6f6f;--red-wash:rgba(251,111,111,.13);--green-text:var(--green);--red-text:var(--red);--amber:#f5c451;--amber-wash:rgba(245,196,81,.13);--blue:#5db4ff;--blue-wash:rgba(93,180,255,.13);--glow:0 0 30px rgba(124,116,255,.22);--glow-soft:0 0 22px rgba(124,116,255,.14);--shadow:0 8px 28px rgba(0,0,0,.42);--shadow-sm:0 2px 10px rgba(0,0,0,.32);--control-h:38px;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}.app[data-theme=light],.ui-dialog-layer[data-theme=light]{--bg:#f3f5f9;--surface:#ffffff;--surface-2:#f2f4f8;--surface-3:#e9edf4;--ink:#14171f;--ink-2:#586273;--ink-3:#8a93a3;--line:#e6e9f0;--line-2:#d6dbe5;--accent:#5b50e0;--accent-2:#6d64f0;--accent-ink:#fff;--accent-wash:#eeedfd;--accent-ring:rgba(91,80,224,.28);--green:#0f9d63;--green-wash:#e4f6ee;--red:#dc4a3d;--red-wash:#fcebe8;--green-text:#0b7a4d;--red-text:#c03528;--amber:#c2820f;--amber-wash:#fbf0d8;--blue:#2f7fe0;--blue-wash:#e6f0fc;--glow:none;--glow-soft:none;--shadow:0 10px 30px rgba(20,30,60,.1);--shadow-sm:0 1px 3px rgba(20,30,60,.08)}.app,.ui-dialog-layer{--viz-female:#d55181;--viz-male:#3987e5;--viz-unknown:var(--ink-3);--viz-age-1:#9a93ff;--viz-age-2:#7c74ff;--viz-age-3:#5b50e0;--viz-single:var(--accent);--viz-present:var(--green);--viz-phone:var(--amber);--viz-absent:var(--red)}.app[data-theme=light],.ui-dialog-layer[data-theme=light]{--viz-male:#2a78d6}.num{font-family:IBM Plex Mono,ui-monospace,monospace;font-feature-settings:"tnum" 1;letter-spacing:-.01em}.app{display:flex;width:100%;height:100vh;overflow:hidden}.sidebar{width:264px;flex:0 0 264px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;height:100%;z-index:40;transition:transform .26s ease}.side-brand{padding:20px 20px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;border-bottom:1px solid var(--line)}.brand-logo-img{height:34px;width:auto;display:block}.brand-logo{width:38px;height:38px;border-radius:11px;flex:0 0 auto;color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px;background:linear-gradient(140deg,var(--accent-2),var(--accent));box-shadow:var(--glow-soft)}.brand-sub{font-size:11px;color:var(--ink-3)}.side-nav{flex:1;overflow-y:auto;padding:12px;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.side-nav::-webkit-scrollbar{width:7px}.side-nav::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.nav-group{margin-bottom:13px}.nav-label{font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);padding:7px 11px 5px}.nav-item{display:flex;align-items:center;gap:11px;padding:8px 11px;border-radius:9px;color:var(--ink-2);font-size:13px;font-weight:500;cursor:pointer;position:relative;margin-bottom:1px;width:100%;border:0;background:none;font-family:inherit;text-align:left;text-decoration:none}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active{background:var(--accent-wash);color:var(--accent-2);box-shadow:inset 0 0 0 1px var(--accent-ring)}.nav-item svg{flex:0 0 auto}.nav-item span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-badge{margin-left:auto;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;background:var(--surface-3);color:var(--ink-2);border-radius:6px;padding:1px 6px}.nav-item.active .nav-badge{background:var(--accent-wash);color:var(--accent-2)}.side-foot{padding:8px 12px 16px}.logout{width:100%;padding:10px 12px;border:1px solid var(--line);background:var(--surface-2);color:var(--red);border-radius:10px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:13px;cursor:pointer;font-family:inherit}.logout:hover{border-color:var(--red)}.main{flex:1;height:100%;display:flex;flex-direction:column;min-width:0}.topbar{height:60px;flex:0 0 60px;border-bottom:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:space-between;padding:0 22px;gap:14px}.menu-btn{display:none;width:38px;height:38px;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.back-btn{display:flex;width:38px;height:38px;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.back-btn:hover{border-color:var(--line-2);color:var(--ink)}.crumbs{display:flex;align-items:center;gap:7px;color:var(--ink-3);font-size:12.5px;white-space:nowrap}.crumbs b{color:var(--ink);font-weight:600}.topsearch{display:flex;align-items:center;gap:9px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:8px 12px;color:var(--ink-3);flex:1;max-width:360px;font-size:12.5px;cursor:text}.app[data-theme=light] .topsearch{background:var(--surface-2)}.top-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}.icon-btn{width:36px;height:36px;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);display:grid;place-items:center;color:var(--ink-2);cursor:pointer;position:relative}.icon-btn:hover{color:var(--ink);border-color:var(--line-2)}.icon-btn .dot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--red);border:1.5px solid var(--surface)}.bell-wrap{position:relative;display:inline-flex;align-items:center}.nbell-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--red);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;border:2px solid var(--surface);font-variant-numeric:tabular-nums}.nbell-offline{position:absolute;bottom:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:var(--ink-3);border:2px solid var(--surface)}.nbell-panel{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-width:min(380px,calc(100vw - 24px));max-height:70vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;z-index:130}@media(max-width:520px){.nbell-panel{position:fixed;left:12px;right:12px;top:64px;width:auto;max-width:none}}.nbell-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}.nbell-head b{font-size:13.5px;color:var(--ink)}.nbell-count{font-size:11px;color:var(--ink-3)}.nbell-list{overflow-y:auto;flex:1;display:flex;flex-direction:column}.nbell-item,.nbell-chatrow{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);cursor:pointer;text-align:left}.nbell-item:hover,.nbell-chatrow:hover{background:var(--surface-2)}.nbell-item.is-new{background:var(--accent-wash)}.nbell-chatrow{background:var(--accent-wash);align-items:center}.nbell-ico{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;margin-top:1px}.nbell-ico--blue{background:var(--blue-wash);color:var(--blue)}.nbell-ico--green{background:var(--green-wash);color:var(--green)}.nbell-ico--red{background:var(--red-wash);color:var(--red)}.nbell-ico--amber{background:var(--amber-wash);color:var(--amber)}.nbell-ico--gray{background:var(--surface-3);color:var(--ink-2)}.nbell-ico--accent{background:var(--accent-wash);color:var(--accent)}.nbell-body{min-width:0;flex:1}.nbell-t{font-size:12.5px;font-weight:600;color:var(--ink)}.nbell-m{font-size:12px;color:var(--ink-2);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.nbell-meta{font-size:10.5px;color:var(--ink-3);margin-top:4px}.nbell-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:6px}.nbell-more{padding:10px;border:none;background:transparent;color:var(--accent);font-size:12px;cursor:pointer}.nbell-more:hover{background:var(--surface-2)}.nbell-more:disabled{opacity:.6;cursor:default}.nbell-empty{padding:36px 16px;text-align:center;color:var(--ink-3);font-size:12.5px}.nbell-foot{border-top:1px solid var(--line);padding:8px 14px;display:flex;flex-direction:column;gap:6px;background:var(--surface-2)}.nbell-pref{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-2);cursor:pointer}.nbell-pref input{accent-color:var(--accent);margin:0}.nbell-pref.is-disabled{opacity:.5;cursor:not-allowed}.nbell-hint{font-size:10.5px;color:var(--ink-3)}.toast-host{position:fixed;top:64px;left:50%;transform:translate(-50%);z-index:140;display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100vw - 32px));pointer-events:none}.toast{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);cursor:pointer;pointer-events:auto;animation:toast-in .18s ease}.toast:hover{border-color:var(--line-2)}.toast-ico{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.toast-ico--accent{background:var(--accent-wash);color:var(--accent)}.toast-ico--blue{background:var(--blue-wash);color:var(--blue)}.toast-ico--green{background:var(--green-wash);color:var(--green)}.toast-ico--red{background:var(--red-wash);color:var(--red)}.toast-body{min-width:0;flex:1}.toast-title{font-size:12.5px;font-weight:600;color:var(--ink)}.toast-msg{font-size:12px;color:var(--ink-2);margin-top:1px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.toast-x{background:transparent;border:none;color:var(--ink-3);cursor:pointer;padding:2px;flex-shrink:0}.toast-x:hover{color:var(--ink)}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.userchip{display:flex;align-items:center;gap:9px;padding:4px 5px 4px 11px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:var(--surface-2)}.userchip:hover{border-color:var(--line-2)}.user-name{font-size:12.5px;font-weight:600;line-height:1.1;color:var(--ink)}.user-role{font-size:10.5px;color:var(--ink-3)}.ava{width:30px;height:30px;border-radius:8px;background:var(--accent-wash);color:var(--accent-2);display:grid;place-items:center;font-weight:700;font-size:12px;box-shadow:inset 0 0 0 1px var(--accent-ring);flex:0 0 auto}.userwrap{position:relative;flex:0 0 auto}.userchip--button{font-family:inherit;color:inherit}.userchip--button.is-open{border-color:var(--line-2);background:var(--surface-3)}.userchip-id{display:flex;flex-direction:column;text-align:right}.userchip-caret{color:var(--ink-3);transition:transform .18s ease;flex:0 0 auto}.userchip--button.is-open .userchip-caret{transform:rotate(180deg);color:var(--ink-2)}.user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:212px;z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;gap:2px;animation:userMenuIn .14s ease}@keyframes userMenuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;border:0;background:none;border-radius:9px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;color:var(--ink-2);text-align:left}.user-menu-item svg{flex:0 0 auto}.user-menu-item:hover{background:var(--surface-2);color:var(--ink)}.user-menu-item--danger{color:var(--red)}.user-menu-item--danger:hover{background:var(--red-wash);color:var(--red)}.user-menu-sep{height:1px;background:var(--line);margin:4px 2px}.userchip--button:focus-visible,.user-menu-item:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.langwrap{position:relative;flex:0 0 auto}.lang-btn{display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 11px;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600}.lang-btn:hover{border-color:var(--line-2)}.lang-btn.is-open{border-color:var(--accent);color:var(--accent)}.lang-caret{color:var(--ink-3);transition:transform .16s}.lang-caret.is-up{transform:rotate(180deg)}.lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:90px;z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;gap:2px;animation:userMenuIn .14s ease}.lang-menu-item{width:100%;padding:8px 12px;border:0;background:none;border-radius:9px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink-2);text-align:center}.lang-menu-item:hover{background:var(--surface-2);color:var(--ink)}.lang-btn:focus-visible,.lang-menu-item:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.content{flex:1;overflow-y:auto;padding:24px;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.content::-webkit-scrollbar{width:9px}.content::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:5px}.wrap{max-width:1320px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px;flex-wrap:wrap}.page-title{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0}.page-sub{color:var(--ink-2);font-size:13px;margin-top:6px}.page-sub b{color:var(--ink);font-weight:600}.head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-h);border-radius:10px;padding:9px 15px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);white-space:nowrap;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease}.btn:hover:not(:disabled){border-color:var(--line-2);background:var(--surface-3)}.btn:active:not(:disabled){transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:var(--glow-soft)}.btn.primary:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2);box-shadow:var(--glow)}.btn.danger{background:var(--red-wash);color:var(--red);border-color:transparent}.btn.danger:hover:not(:disabled){background:var(--red-wash);border-color:var(--red)}.btn.success{background:var(--green-wash);color:var(--green);border-color:transparent}.btn.success:hover:not(:disabled){background:var(--green-wash);border-color:var(--green)}.btn.ghost{background:transparent}.btn.ghost:hover:not(:disabled){background:var(--surface-2)}.btn.sm{min-height:30px;padding:6px 11px;font-size:12px;border-radius:8px}.btn.block{width:100%;justify-content:center}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:3px}.seg button{border:0;background:transparent;font-family:inherit;font-size:12.5px;font-weight:500;color:var(--ink-2);padding:7px 14px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.seg button:hover:not(.on){color:var(--ink)}.seg button.on{background:var(--accent);color:#fff;font-weight:600;box-shadow:var(--glow-soft)}.app[data-theme=light] .seg button.on{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{border:0;background:none;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--ink-2);padding:11px 14px;cursor:pointer;position:relative;white-space:nowrap}.tab:hover{color:var(--ink)}.tab.on{color:var(--accent-2)}.tab.on:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px}.card.pad{padding:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.card-title{font-size:15px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.card-tag{font-size:11.5px;color:var(--ink-3);font-weight:500;display:flex;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap}.card-body{padding:18px}.stats{display:grid;gap:14px;margin-bottom:16px}.stats.c4{grid-template-columns:repeat(4,1fr)}.stats.c3{grid-template-columns:repeat(3,1fr)}.stats.c6{grid-template-columns:repeat(6,1fr)}.stats.c2{grid-template-columns:repeat(2,1fr)}.stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 17px;position:relative;overflow:hidden}.stat.feat{border-color:var(--accent-ring);background:linear-gradient(160deg,var(--accent-wash),var(--surface));box-shadow:var(--glow-soft) inset}.stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.stat-label{font-size:11.5px;font-weight:600;color:var(--ink-2)}.stat-ic{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--surface-2);color:var(--ink-2);flex:0 0 auto}.stat-ic.accent{background:var(--accent-wash);color:var(--accent-2)}.stat-ic.green{background:var(--green-wash);color:var(--green)}.stat-ic.red{background:var(--red-wash);color:var(--red)}.stat-ic.amber{background:var(--amber-wash);color:var(--amber)}.stat-ic.blue{background:var(--blue-wash);color:var(--blue)}.stat-val{font-family:IBM Plex Mono,monospace;font-size:23px;font-weight:600;letter-spacing:-.03em;line-height:1.05}.stat-val small{font-size:12.5px;font-weight:500;color:var(--ink-3)}.stat-val.green{color:var(--green)}.stat-val.red{color:var(--red)}.stat-val.accent{color:var(--accent-2)}.stat-foot{margin-top:10px;font-size:11.5px;color:var(--ink-3);display:flex;align-items:center;gap:6px}.pill{font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:6px;display:inline-flex;align-items:center;gap:4px;background:var(--surface-3);color:var(--ink-2)}.pill.green{background:var(--green-wash);color:var(--green)}.pill.red{background:var(--red-wash);color:var(--red)}.pill.amber{background:var(--amber-wash);color:var(--amber)}.pill.accent{background:var(--accent-wash);color:var(--accent-2)}.pill.blue{background:var(--blue-wash);color:var(--blue)}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ink-3)}.status.green:before{background:var(--green);box-shadow:0 0 8px var(--green)}.status.red:before{background:var(--red);box-shadow:0 0 8px var(--red)}.status.amber:before{background:var(--amber)}.status.blue:before{background:var(--blue)}.tag{font-size:11px;font-weight:600;padding:3px 9px;border-radius:7px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:12px;font-weight:600;color:var(--ink-2)}.input,.select,textarea.input{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:9px 12px;color:var(--ink);font-family:inherit;font-size:13px;width:100%;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}input.input,.select{height:var(--control-h)}.input:hover:not(:focus):not(:disabled),.select:hover:not(:focus):not(:disabled),textarea.input:hover:not(:focus):not(:disabled){border-color:var(--line-2)}.input:focus,.select:focus,textarea.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.input:disabled,.select:disabled,textarea.input:disabled{opacity:.55;cursor:not-allowed;background:var(--surface-3)}.input[aria-invalid=true],.select[aria-invalid=true],textarea.input[aria-invalid=true]{border-color:var(--red)}.input[aria-invalid=true]:focus,.select[aria-invalid=true]:focus,textarea.input[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--red-wash)}textarea.input{resize:vertical;min-height:60px}.input::placeholder{color:var(--ink-3)}.select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23646d80' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 11px center;padding-right:32px;cursor:pointer}.search-input{display:flex;align-items:center;gap:9px;height:var(--control-h);background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:0 12px;color:var(--ink-3);transition:border-color .15s ease,box-shadow .15s ease}.search-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.search-input input{border:0;background:none;outline:none;color:var(--ink);font-family:inherit;font-size:13px;flex:1;min-width:0}.search-input input::placeholder{color:var(--ink-3)}.tablecard{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:13px 16px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface-2)}.table th.r,.table td.r{text-align:right}.table td{padding:14px 16px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}.table.compact th,.table.compact td{padding-left:10px;padding-right:10px}.table td.nowrap{white-space:nowrap}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--surface-2)}.t-num{font-family:IBM Plex Mono,monospace;font-feature-settings:"tnum" 1}.t-strong{font-weight:600}.t-muted{color:var(--ink-3);font-size:11.5px}.bar-track{height:8px;border-radius:5px;background:var(--surface-2);overflow:hidden}.bar-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.ring{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:var(--glow-soft)}.ring:after{content:"";position:absolute;inset:14px;border-radius:50%;background:var(--surface)}.ring-c{position:relative;text-align:center;z-index:1}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:46px 24px;gap:6px}.empty-ic{width:54px;height:54px;border-radius:15px;background:var(--surface-2);color:var(--ink-3);display:grid;place-items:center;margin-bottom:6px}.empty-title{font-size:15px;font-weight:600}.empty-sub{font-size:13px;color:var(--ink-3);max-width:340px}.skel{background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:skel 1.3s infinite;border-radius:7px}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}.modal-scrim{position:fixed;inset:0;background:#05070c99;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;animation:fade .16s ease}.ui-dialog-layer .modal-scrim{z-index:1100}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--line);border-radius:16px;width:100%;max-width:520px;box-shadow:var(--shadow);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;animation:pop .18s ease}@keyframes pop{0%{transform:translateY(10px) scale(.98);opacity:0}to{transform:none;opacity:1}}.modal:focus{outline:none}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.modal-title{font-size:16px;font-weight:700;letter-spacing:-.01em;margin:0}.modal-body{padding:20px;overflow-y:auto}.modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--line)}@media(max-width:560px){.modal{align-self:flex-end;max-width:100%;border-radius:16px 16px 0 0}.modal-scrim{padding:0;align-items:flex-end}}.ui-dialog-message{margin:0;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}.ui-dialog-prompt{display:flex;flex-direction:column;gap:12px}.toggle{width:38px;height:22px;border-radius:12px;background:var(--surface-3);border:1px solid var(--line);position:relative;cursor:pointer;flex:0 0 auto;transition:.16s}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--ink-2);transition:.16s}.toggle.on{background:var(--accent);border-color:var(--accent)}.toggle.on:after{left:18px;background:#fff}.imgview-scrim{position:fixed;inset:0;z-index:70;background:#04060ae6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;animation:fade .16s ease;overscroll-behavior:contain;-webkit-user-select:none;user-select:none}.imgview-scrim:focus{outline:none}.imgview-top{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;min-height:58px}.imgview-cap{min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:4px}.imgview-cap-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.imgview-title{font-weight:600;font-size:14px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imgview-count,.imgview-sub{font-size:12px;color:#ffffff9e}.imgview-tools{margin-left:auto;display:flex;align-items:center;gap:6px;flex:0 0 auto}.imgview-btn{width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .15s,opacity .15s;padding:0}.imgview-btn:hover{background:#fff3;color:#fff}.imgview-btn:disabled{opacity:.35;cursor:default;background:#ffffff14}.imgview-zoom{font-size:11px;color:#ffffffb3;min-width:38px;text-align:center}.imgview-stage{flex:1;position:relative;min-height:0;touch-action:none}.imgview-imgwrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:14px}.imgview-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;box-shadow:0 12px 44px #0000008c;will-change:transform}.imgview-nav{position:absolute;top:50%;margin-top:-21px;z-index:2;width:42px;height:42px;border-radius:50%}.imgview-nav.prev{left:14px}.imgview-nav.next{right:14px}.imgview-load{position:absolute;width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.18);border-top-color:#fff;animation:imgview-spin .8s linear infinite}@keyframes imgview-spin{to{transform:rotate(360deg)}}.imgview-err{color:#ffffffb8;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:13px}.imgview-film{display:flex;gap:8px;padding:10px 16px 14px;overflow-x:auto;flex:0 0 auto}.imgview-thumb:first-child{margin-left:auto}.imgview-thumb:last-child{margin-right:auto}.imgview-thumb{flex:0 0 auto;width:46px;height:46px;border-radius:9px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:#ffffff0f;opacity:.55;transition:opacity .15s,border-color .15s}.imgview-thumb img{width:100%;height:100%;object-fit:cover;display:block}.imgview-thumb:hover{opacity:.85}.imgview-thumb.on{border-color:#fff;opacity:1}.imgview-open{padding:0;border:0;background:none;cursor:zoom-in;display:inline-flex;border-radius:50%}.imgview-open img{display:block}@media(max-width:560px){.imgview-zoom{display:none}.imgview-nav.prev{left:8px}.imgview-nav.next{right:8px}}.login-wrap{flex:1;display:grid;grid-template-columns:1.05fr 1fr;height:100vh;overflow:hidden}.login-brand{position:relative;overflow:hidden;padding:48px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(150deg,#1a1740,#0d0f15 60%);color:#fff}.login-brand:before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;right:-140px;top:-120px;background:radial-gradient(circle,rgba(124,116,255,.5),transparent 70%);filter:blur(8px)}.login-brand:after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:42px 42px;opacity:.16}.login-brand>*{position:relative;z-index:1}.login-logo{height:40px;width:auto;display:block;align-self:flex-start}.login-quote{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.2;max-width:440px}.login-quote span{color:var(--accent-2)}.login-meta{display:flex;gap:26px}.login-meta .num{font-size:24px;font-weight:700}.login-formcol{display:grid;place-items:center;padding:24px;background:var(--bg)}.login-card{width:100%;max-width:380px}@media(max-width:860px){.login-wrap{grid-template-columns:minmax(0,1fr)}.login-brand{display:none}}.pager{display:flex;align-items:center;gap:6px;justify-content:flex-end;padding:14px 16px;border-top:1px solid var(--line)}.pager button{min-width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font-family:IBM Plex Mono,monospace;font-size:12.5px;cursor:pointer;display:grid;place-items:center;padding:0 8px}.pager button:hover{color:var(--ink)}.pager button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.pager button:disabled{opacity:.4;cursor:not-allowed}.grid{display:grid;gap:14px}.split{display:grid;grid-template-columns:1.7fr 1fr;gap:14px}.split2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.split-3-2{display:grid;grid-template-columns:3fr 2fr;gap:14px}@media(max-width:980px){.split,.split2,.split-3-2{grid-template-columns:1fr}}.cb-grid{display:grid;grid-template-columns:380px 1fr;gap:14px}.cart-grid{display:grid;grid-template-columns:1fr 400px;gap:14px}.surv-grid{display:grid;grid-template-columns:1fr 348px;gap:14px;align-items:start}@media(max-width:980px){.cb-grid,.cart-grid,.surv-grid{grid-template-columns:minmax(0,1fr)}}.cam-tiles,.dev-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media(max-width:660px){.cam-tiles,.dev-cards{grid-template-columns:1fr}}.row{display:flex;gap:14px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.mt16{margin-top:16px}.mb16{margin-bottom:16px}.scrim{display:none;position:fixed;inset:0;background:#05070c8c;z-index:35;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media(max-width:980px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);box-shadow:var(--shadow)}.app.drawer-open .sidebar{transform:translate(0)!important}.app.drawer-open .scrim{display:block}.menu-btn{display:flex}.topsearch{display:none}.stats.c4,.stats.c6{grid-template-columns:repeat(2,1fr)}.stats.c3{grid-template-columns:1fr}.content{padding:16px}.user-name,.user-role{display:none}.userchip{padding:4px}}@media(max-width:560px){.stats.c4,.stats.c6,.stats.c2{grid-template-columns:1fr}.page-title{font-size:22px}.table.responsive thead{display:none}.table.responsive tbody tr{display:block;border:1px solid var(--line);border-radius:11px;margin-bottom:10px;padding:6px 4px;background:var(--surface)}.table.responsive tbody tr:hover{background:var(--surface)}.table.responsive td{display:flex;justify-content:space-between;gap:14px;border:0;padding:8px 14px;text-align:right}.table.responsive td:before{content:attr(data-label);color:var(--ink-3);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;text-align:left}.table.responsive td.nowrap{white-space:normal}.table.responsive td:empty{display:none}}.icon-btn,.back-btn,.menu-btn,.logout,.pager button,.pagination-btn,.pagination-num,.nav-item,.lang-btn,.tab{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease}.icon-btn:active,.back-btn:active,.menu-btn:active,.pager button:active:not(:disabled),.pagination-btn:active:not(:disabled),.pagination-num:active{transform:scale(.95)}.icon-btn:focus-visible,.back-btn:focus-visible,.menu-btn:focus-visible,.logout:focus-visible,.pager button:focus-visible,.pagination-btn:focus-visible,.pagination-num:focus-visible,.seg button:focus-visible,.tab:focus-visible,.toggle:focus-visible,.nav-item:focus-visible,.lang-btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.app input[type=checkbox],.app input[type=radio]{accent-color:var(--accent)}.app input[type=checkbox]:focus-visible,.app input[type=radio]:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){.app *,.app *:before,.app *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn:active:not(:disabled),.icon-btn:active,.back-btn:active,.menu-btn:active,.pager button:active:not(:disabled),.pagination-btn:active:not(:disabled),.pagination-num:active{transform:none}}body.app-root{margin:0;padding:0;display:block!important;place-items:unset!important}body.app-root #root{height:100vh;width:100vw;overflow:hidden;background:transparent!important;color:inherit!important}.pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:16px 0;flex-wrap:wrap}.pagination-btn{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--ink-2);font-family:inherit;font-size:13px;font-weight:500;padding:8px 12px;border-radius:9px;cursor:pointer;transition:background .12s,color .12s}.pagination-btn:hover:not(:disabled){color:var(--ink);background:var(--surface-2)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-num{min-width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid transparent;background:transparent;color:var(--ink-2);font-family:inherit;font-size:13px;border-radius:9px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.pagination-num:hover{color:var(--ink);background:var(--surface-2)}.pagination-num.on{border-color:var(--line-2);background:var(--surface);color:var(--ink);font-weight:600}.pagination-gap{min-width:24px;text-align:center;color:var(--ink-3);-webkit-user-select:none;user-select:none}.bst-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.bst-branch-select{width:auto;min-width:170px;max-width:230px}.bst-customrow{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:16px}.bst-customrow .field{gap:4px}.bst-customrow .input{width:150px}.bst-custom-hint{font-size:12px;color:var(--ink-3);padding-bottom:10px}.bst-custom-hint.is-invalid{color:var(--red-text)}.bst-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:16px}@media(max-width:1180px){.bst-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.bst-stats{grid-template-columns:1fr}}.bst-panels{display:grid;grid-template-columns:3fr 2fr;gap:14px;margin-bottom:16px;align-items:stretch}@media(max-width:980px){.bst-panels{grid-template-columns:1fr}}.bst-salary-rows{display:flex;flex-direction:column}.bst-salary-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.bst-salary-row:last-child{border-bottom:0}.bst-salary-ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto}.bst-salary-ic.green{background:var(--green-wash);color:var(--green)}.bst-salary-ic.amber{background:var(--amber-wash);color:var(--amber)}.bst-salary-ic.red{background:var(--red-wash);color:var(--red)}.bst-salary-ic.accent{background:var(--accent-wash);color:var(--accent-2)}.bst-salary-label{font-size:13px;color:var(--ink-2);flex:1;min-width:0}.bst-salary-val{font-family:IBM Plex Mono,monospace;font-feature-settings:"tnum" 1;font-size:14.5px;font-weight:600;white-space:nowrap}.bst-salary-val.green{color:var(--green-text)}.bst-salary-val.red{color:var(--red-text)}.bst-salary-row.is-net{border-top:1px solid var(--line-2);margin-top:2px}.bst-salary-row.is-net .bst-salary-label{color:var(--ink);font-weight:600}.bst-salary-row.is-net .bst-salary-val{font-size:17px;font-weight:700}.bst-bar{display:flex;height:9px;border-radius:5px;overflow:hidden;background:var(--surface-2);margin-top:14px}.bst-bar span{display:block;height:100%}.bst-bar .b-net{background:var(--accent)}.bst-bar .b-adv{background:var(--amber)}.bst-bar .b-fine{background:var(--red)}.bst-bar-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:9px}.bst-bar-legend .item{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3)}.bst-bar-legend .dot{width:8px;height:8px;border-radius:3px;flex:0 0 auto}.bst-donut-wrap{display:flex;align-items:center;gap:18px;flex:1;min-height:0}@media(max-width:560px){.bst-donut-wrap{flex-direction:column}}.bst-donut-svgbox{position:relative;width:168px;height:168px;flex:0 0 auto;margin:0 auto}.bst-donut-svgbox svg{width:100%;height:100%;display:block}.bst-donut-arc{transition:opacity .15s ease,stroke-width .15s ease;cursor:pointer}.bst-donut-arc.is-dim{opacity:.35}.bst-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;padding:0 22px}.bst-donut-center .v{font-family:IBM Plex Mono,monospace;font-size:15px;font-weight:700;color:var(--ink);line-height:1.15;word-break:break-word}.bst-donut-center .l{font-size:11px;color:var(--ink-3);font-weight:600;margin-top:2px}.bst-legend{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;overflow:auto;max-height:240px;width:100%;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.bst-legend::-webkit-scrollbar{width:7px}.bst-legend::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.bst-legend-row{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:9px;border:0;background:none;font-family:inherit;text-align:left;cursor:pointer;width:100%}.bst-legend-row:hover,.bst-legend-row.is-on{background:var(--surface-2)}.bst-legend-row:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.bst-legend-dot{width:10px;height:10px;border-radius:3.5px;flex:0 0 auto}.bst-legend-text{flex:1;min-width:0}.bst-legend-name{font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bst-legend-meta{font-size:11.5px;color:var(--ink-2);font-family:IBM Plex Mono,monospace;font-feature-settings:"tnum" 1}.bst-legend-pct{font-family:IBM Plex Mono,monospace;font-size:11.5px;color:var(--ink-2);flex:0 0 auto}.bst-tablehead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.bst-tablehead .search-input{max-width:260px;flex:1;min-width:180px;color:var(--ink-3)}.bst-table-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.bst-table-scroll::-webkit-scrollbar{height:7px}.bst-table-scroll::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.bst-table .table th{padding:0}.bst-th-btn{display:flex;width:100%;align-items:center;gap:4px;border:0;background:none;padding:13px 16px;margin:0;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap;justify-content:flex-start}.bst-table .table th.r .bst-th-btn{justify-content:flex-end}.bst-th-btn:hover{color:var(--ink)}.bst-th-btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px;border-radius:4px}.bst-th-btn svg{flex:0 0 auto}.bst-row{cursor:pointer}.bst-name{font-weight:600;color:inherit;text-decoration:none;white-space:nowrap}.bst-name:hover{color:var(--accent-2)}.bst-name:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:4px}.bst-sub{font-size:11.5px;color:var(--ink-3);margin-top:1px;white-space:nowrap}.bst-cellstack{display:flex;flex-direction:column;min-width:0}.bst-cellstack--r{align-items:flex-end}.bst-table tbody tr:last-child td{border-bottom:0!important}.bst-table tfoot td{border-top:1px solid var(--line-2);border-bottom:0!important;background:var(--surface-2);font-weight:700;font-size:12.5px;white-space:nowrap}.bst-dim{opacity:.55;transition:opacity .15s ease;pointer-events:none}.bst-cell-main{white-space:nowrap}.bst-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@keyframes bst-spin{to{transform:rotate(360deg)}}.bst-spin svg{animation:bst-spin .9s linear infinite}@media(prefers-reduced-motion:reduce){.bst-spin svg{animation:none}}@media(max-width:560px){.bst-tablehead .search-input{max-width:none}.bst-table tfoot{display:none}.bst-table .table.responsive td .bst-cellstack{flex:1}.bst-name,.bst-sub,.bst-cell-main{white-space:normal;overflow-wrap:anywhere}.bst-cellstack--r,.bst-table .table.responsive td .bst-cellstack{align-items:flex-end}}.form-group.tp-op-group{border:0;padding:0;margin:0 0 20px;min-width:0}.tp-op-group legend{font-weight:600;margin-bottom:8px;font-size:14px;color:var(--ink-2, #555);padding:0}.tp-op-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}@media(max-width:720px){.tp-op-options{grid-template-columns:1fr}}.tp-op-option{display:flex;gap:10px;align-items:flex-start;cursor:pointer;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid var(--line, #ddd);background:var(--surface-2, #fafafa);transition:border-color .15s ease,background-color .15s ease}.tp-op-option.on{border-color:var(--accent, #5b5bd6);background:var(--accent-wash, #eef)}.tp-op-option.taken{cursor:not-allowed;opacity:.55}.form-group .tp-op-option input[type=radio]{padding:0;border:0;width:16px;height:16px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--accent, #5b5bd6)}.tp-op-option input[type=radio]:focus-visible{outline:2px solid var(--accent-ring, #99f);outline-offset:2px}.tp-op-text{display:grid;gap:2px;min-width:0}.tp-op-title{font-size:13.5px;font-weight:600;color:var(--ink, #222)}.tp-op-hint{font-size:12px;color:var(--ink-3, #777);overflow-wrap:anywhere}.tp-op-park{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;font-size:13px;color:var(--ink-2, #555)}.form-group .tp-op-park select{flex:1 1 220px;min-height:40px}.tp-op-park-one{font-size:12.5px;color:var(--ink-3, #777);margin-bottom:8px}.tp-op-treasury{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}.fs-card{border-color:var(--accent-ring);background:linear-gradient(160deg,var(--accent-wash),var(--surface) 60%);container-type:inline-size}.fs-card .card-head{align-items:center;gap:14px;flex-wrap:wrap}.fs-head{display:flex;align-items:center;gap:12px;min-width:0}.fs-head-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--accent);color:#fff;flex:0 0 auto;box-shadow:var(--glow-soft)}.fs-sub{font-size:12px;color:var(--ink-3);margin-top:2px}.fs-head-right{display:flex;align-items:center;gap:12px;margin-left:auto}.fs-bar{width:120px;height:6px;border-radius:3px;background:var(--line);overflow:hidden}.fs-bar i{display:block;height:100%;background:var(--green);border-radius:3px;transition:width .3s}.fs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 14px 14px}.fs-step{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;font-family:inherit;cursor:pointer;transition:.15s;min-width:0}.fs-step:hover{border-color:var(--line-2);background:var(--surface-2)}.fs-step.fs-static{cursor:default;flex-wrap:wrap}.fs-step.fs-static:hover{background:var(--surface);border-color:var(--line)}.fs-num{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-family:IBM Plex Mono,monospace;font-size:11.5px;font-weight:600;border:1px solid var(--line-2);color:var(--ink-2);flex:0 0 auto}.fs-ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--accent-wash);color:var(--accent-2);flex:0 0 auto}.fs-body{display:block;min-width:0;flex:1}.fs-title{display:block;font-size:13.5px;font-weight:600;line-height:1.2}.fs-hint{display:block;font-size:11.5px;color:var(--ink-3);margin-top:3px}.fs-chev{margin-left:auto;color:var(--ink-3);flex:0 0 auto}.fs-links{display:flex;gap:6px;flex-wrap:wrap;flex:0 0 auto;margin-left:auto}.fs-step.is-done{opacity:.75}.fs-step.is-done .fs-num{background:var(--green);border-color:var(--green);color:#fff}.fs-step.is-done .fs-ic{background:var(--green-wash);color:var(--green)}.fs-step.is-done .fs-title{text-decoration:line-through;text-decoration-color:var(--ink-3)}@container (max-width:1040px){.fs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width:520px){.fs-grid{grid-template-columns:1fr}.fs-head-right{width:100%}.fs-bar{flex:1}}.content:has(>.wrap>.ovb-page){display:flex;flex-direction:column}.content:has(>.wrap>.ovb-page)>.wrap{flex:1 0 auto;display:flex;flex-direction:column;width:100%;container-type:inline-size}.ovb-page{flex:1;display:flex;flex-direction:column;min-height:0}.ovb-shift{display:flex;align-items:center;gap:14px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.ovb-shift .sep{width:1px;height:16px;background:var(--line-2)}.ovb-shift .when{font-size:12.5px;color:var(--ink-2);white-space:nowrap}.ovb{flex:1;display:grid;grid-template-columns:288px minmax(0,1fr);gap:14px;min-height:0}.ovb.panel-open{grid-template-columns:340px minmax(0,1fr)}.ovb-panel{display:flex;flex-direction:column;min-height:0}.ovb-panel .card-body{flex:1;overflow:auto;min-height:0}.ovb-panel .close{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.ovb-panel .close:hover{border-color:var(--line-2);color:var(--ink)}.ovb-panel .card-foot{padding:10px 18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}.ovb-dock{display:flex;flex-direction:column;gap:10px;min-height:0}.ovb-dk{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:18px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;text-align:left;font-family:inherit;transition:.15s;position:relative;min-height:0}.ovb-dk:hover{border-color:var(--line-2);background:var(--surface-2)}.ovb-dk .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--accent-wash);color:var(--accent-2)}.ovb-dk .tt{font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.1}.ovb-dk .hint{font-size:12.5px;color:var(--ink-3);margin-top:5px}.ovb-dk.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--glow-soft)}.ovb-dk.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.ovb-dk.primary .ic{background:#ffffff2e;color:#fff}.ovb-dk.primary .hint{color:#ffffffb8}.ovb-dk .kbd{position:absolute;top:14px;right:14px;font-family:IBM Plex Mono,monospace;font-size:10.5px;color:var(--ink-3);border:1px solid var(--line-2);border-radius:5px;padding:1px 6px}.ovb-dk.primary .kbd{color:#ffffffd9;border-color:#fff6}.ovb-dk .bd{position:absolute;top:14px;right:14px;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:#fff;display:grid;place-items:center}.ovb-main{display:flex;flex-direction:column;gap:14px;min-height:0;min-width:0}.ovb-toast{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:var(--green-wash);color:var(--green);font-size:12.5px;font-weight:600}.ovb-toast.red{background:var(--red-wash);color:var(--red)}.ovb-toast.blue{background:var(--blue-wash);color:var(--blue)}.ovb-err{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:var(--red-wash);color:var(--red);font-size:12.5px}.ovb-err .btn{margin-left:auto}.ovb-hero{display:grid;grid-template-columns:1.5fr 1fr 1fr;border-radius:14px;border:1px solid var(--accent-ring);background:linear-gradient(160deg,var(--accent-wash),var(--surface))}.ovb-hero>div{padding:20px 22px;border-left:1px solid var(--line);min-width:0}.ovb-hero>div:first-child{border-left:0}.ovb-hero .lbl{font-size:12px;font-weight:600;color:var(--ink-2);display:flex;align-items:center;justify-content:space-between;gap:8px}.ovb-hero .lbl svg{color:var(--ink-3);flex:0 0 auto}.ovb-hero .big{font-family:IBM Plex Mono,monospace;font-size:42px;font-weight:600;letter-spacing:-.04em;line-height:1;margin-top:14px;white-space:nowrap}.ovb-hero .mid{font-family:IBM Plex Mono,monospace;font-size:26px;font-weight:600;letter-spacing:-.03em;line-height:1;margin-top:18px;white-space:nowrap}.ovb-hero small{font-size:13px;font-weight:500;color:var(--ink-3);letter-spacing:0}.ovb-hero .ft{font-size:12px;color:var(--ink-3);margin-top:12px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ovb-hero .ft .num{color:var(--ink-2)}.ovb-hero .skel{margin-top:14px;height:40px;width:70%}.ovb-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ovb-st{position:relative;display:flex;align-items:center;gap:14px;padding:15px 18px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;text-align:left;font-family:inherit;transition:.15s;min-width:0}.ovb-st:hover{border-color:var(--line-2)}.ovb-st>span:nth-child(2){min-width:0;flex:1}.ovb-st .val{font-family:IBM Plex Mono,monospace;font-size:22px;font-weight:600;letter-spacing:-.03em;white-space:nowrap;line-height:1;margin-top:6px}.ovb-st .val small{font-size:12px;color:var(--ink-3);font-weight:500;letter-spacing:0}.ovb-st .lbl{font-size:12px;font-weight:600;color:var(--ink-2)}.ovb-st .ft{font-size:11.5px;color:var(--ink-3);margin-top:4px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ovb-st .chev{margin-left:auto;color:var(--ink-3);flex:0 0 auto}.ovb-st .eye{position:absolute;top:8px;right:8px;width:24px;height:24px;border:0;border-radius:7px;background:none;color:var(--ink-3);display:grid;place-items:center;cursor:pointer;opacity:0;transition:.15s}.ovb-st:hover .eye,.ovb-st.hidden .eye,.ovb-st .eye:focus-visible{opacity:1}.ovb-st .eye:hover{background:var(--surface-2);color:var(--ink)}.ovb-st.hidden .val{filter:blur(7px);-webkit-user-select:none;user-select:none}.ovb-st.hidden .ft{visibility:hidden}.ovb-led{flex:1;display:flex;flex-direction:column;min-height:0}.ovb-led .card-head{flex:0 0 auto}.ovb-led .card-body{flex:1;padding:0;overflow:auto;min-height:120px}.ovb-led table{width:100%;border-collapse:collapse}.ovb-led td{padding:12px 18px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}.ovb-led tr:last-child td{border-bottom:0}.ovb-led tr:hover td{background:var(--surface-2)}.ovb-led .r{text-align:right}.ovb-led .note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}.ovb-led .empty{padding:36px 24px}@container (max-width:1000px){.ovb,.ovb.panel-open{grid-template-columns:minmax(0,1fr)}.ovb-dock{flex-direction:row;flex-wrap:wrap}.ovb-dk{min-height:96px;flex:1 1 calc(50% - 10px)}.ovb-panel{max-height:70vh}.ovb-hero{grid-template-columns:1fr 1fr}.ovb-hero>div:first-child{grid-column:1/-1;border-bottom:1px solid var(--line)}.ovb-hero>div:nth-child(2){border-left:0}}@container (max-width:680px){.ovb-row,.ovb-hero{grid-template-columns:1fr}.ovb-hero>div{border-left:0;border-bottom:1px solid var(--line)}.ovb-hero>div:last-child{border-bottom:0}.ovb-hero .big{font-size:34px}.ovb-led .who,.ovb-led .kind{display:none}.ovb-led td{padding:10px 12px}}.app,.ui-dialog-layer{--sp-bg: var(--surface-2);--sp-card-bg: var(--surface);--sp-border: var(--line);--sp-border-soft: var(--line);--sp-fg: var(--ink);--sp-fg-mid: var(--ink-2);--sp-fg-mute: var(--ink-2);--sp-fg-faint: var(--ink-3);--sp-accent: var(--accent-2);--sp-accent-bg: var(--accent-wash);--sp-success: var(--green);--sp-success-bg: var(--green-wash);--sp-danger: var(--red);--sp-danger-bg: var(--red-wash);--sp-warning: var(--amber);--sp-warning-bg: var(--amber-wash);--sp-shadow: none}.salary-page{display:flex;flex-direction:column;gap:12px}.salary-page .kpi-table-container,.salary-page .salary-table-container,.salary-page .branch-breakdown,.salary-page .empty-state,.salary-page .report-summary,.salary-page .applicable-users-list,.salary-page .kpi-form{background:var(--sp-card-bg);border:1px solid var(--sp-border);border-radius:14px;box-shadow:var(--sp-shadow)}.salary-page .salary-content{display:flex;flex-direction:column;gap:16px;background:transparent;border:none;box-shadow:none;padding:0}.salary-page .btn,.salary-page button.btn{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:10px;min-height:var(--control-h);padding:9px 15px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s ease,border-color .15s ease}.salary-page .btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--line-2)}.salary-page .btn:active:not(:disabled){transform:scale(.97)}.salary-page .btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.salary-page .btn.sm{min-height:30px;padding:6px 11px;font-size:12px;border-radius:8px}.salary-page .btn.primary,.salary-page button.btn.primary{background:var(--accent);color:#fff;border-color:transparent;box-shadow:var(--glow-soft)}.salary-page .btn.primary:hover{background:var(--accent-2)}.salary-page .btn:disabled{opacity:.55;cursor:not-allowed}.salary-page .btn-secondary,.salary-page .reset-filters-btn,.salary-page .retry-btn{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer}.salary-page .btn-secondary:hover,.salary-page .reset-filters-btn:hover,.salary-page .retry-btn:hover{background:var(--surface-3);border-color:var(--line-2)}.salary-page .btn-secondary:focus-visible,.salary-page .reset-filters-btn:focus-visible,.salary-page .retry-btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.salary-page .retry-btn{flex:0 0 auto;padding:6px 11px;font-size:12px;border-radius:8px}.salary-page .btn-danger{background:var(--sp-danger);color:#fff;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;border:none;cursor:pointer}.salary-page .btn-success{background:var(--sp-success);color:#fff;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;border:none;cursor:pointer}.salary-page .stats{margin-bottom:0;gap:12px}.app .salary-page .stats{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.salary-page .stat-val{font-size:clamp(18px,1.5vw + 8px,23px);overflow-wrap:anywhere}.salary-page .salary-filters{display:flex;flex-direction:column;gap:10px;background:transparent;border:none;box-shadow:none;padding:0}.salary-page .salary-filter-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px 14px;align-items:end;padding:14px 16px;background:var(--sp-card-bg);border:1px solid var(--sp-border);border-radius:14px;box-shadow:none}.salary-page .salary-filter-group,.salary-page .form-group{display:flex;flex-direction:column;gap:6px;min-width:0}.salary-page .salary-filter-wide{grid-column:1 / -1}.salary-page .salary-recalc-btn{white-space:nowrap}.salary-page .salary-recalc-note{font-size:12px;color:var(--sp-fg-mid);line-height:1.3}.salary-page .sp-search{display:flex;align-items:center;gap:9px;height:var(--control-h);background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:0 12px;color:var(--ink-3);transition:border-color .15s ease,box-shadow .15s ease}.salary-page .sp-search:hover:not(:focus-within){border-color:var(--line-2)}.salary-page .sp-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.salary-page .sp-search input[type=text]{flex:1;min-width:0;height:auto;border:0;background:none;padding:0;border-radius:0;color:var(--ink);font-size:13px}.salary-page .sp-search input[type=text]:focus{border-color:transparent;box-shadow:none}.salary-page .sp-search-clear{display:flex;align-items:center;border:0;background:none;padding:6px;margin-right:-6px;cursor:pointer;color:var(--ink-3);border-radius:6px}.salary-page .sp-search-clear:hover{color:var(--ink)}.salary-page .sp-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.salary-page .sp-chips-label{font-size:11.5px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.salary-page .sp-chip{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 4px 0 10px;border-radius:999px;background:var(--accent-wash);border:1px solid var(--accent-ring);font-size:12px;color:var(--ink-2);max-width:260px}.salary-page .sp-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.salary-page .sp-chip b{color:var(--ink);font-weight:600}.salary-page .sp-chip-x{display:grid;place-items:center;width:18px;height:18px;flex:0 0 auto;border:0;padding:0;border-radius:50%;background:none;color:var(--ink-3);cursor:pointer}.salary-page .sp-chip-x:hover{background:var(--surface-3);color:var(--ink)}.salary-page .sp-chip-x:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.salary-page tr.salary-row-clickable{cursor:pointer;transition:background .12s ease}.salary-page tr.salary-row-clickable:hover{background:var(--accent-wash)}.salary-page .salary-filter-group label,.salary-page .form-group label{font-size:12px;font-weight:600;color:var(--sp-fg-mid)}.salary-page .salary-filter-control,.salary-page input[type=text],.salary-page input[type=number],.salary-page input[type=date],.salary-page input[type=month],.salary-page input[type=time],.salary-page input[type=search],.salary-page select,.salary-page textarea{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:13px;color:var(--sp-fg);outline:none;min-width:0;font-family:inherit;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.salary-page .salary-filter-control,.salary-page input[type=text],.salary-page input[type=number],.salary-page input[type=date],.salary-page input[type=month],.salary-page input[type=time],.salary-page input[type=search],.salary-page select{height:var(--control-h)}.salary-page select{cursor:pointer}.salary-page input:hover:not(:focus):not(:disabled),.salary-page select:hover:not(:focus):not(:disabled),.salary-page textarea:hover:not(:focus):not(:disabled){border-color:var(--line-2)}.salary-page input:focus,.salary-page select:focus,.salary-page textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.salary-page input:disabled,.salary-page select:disabled,.salary-page textarea:disabled{opacity:.55;cursor:not-allowed;background:var(--surface-3)}.salary-page textarea{resize:vertical;min-height:70px}.salary-page .kpi-table-container,.salary-page .salary-table-container{padding:0}.salary-page .branch-breakdown,.salary-page .report-summary{padding:20px 24px}.salary-page table,.salary-page .kpi-table,.salary-page .salary-table,.salary-page .branch-table{width:100%;border-collapse:collapse;font-size:13px}.salary-page th{text-align:left;padding:12px 16px;font-size:10.5px;font-weight:600;color:var(--sp-fg-faint);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--sp-border);white-space:nowrap;background:transparent}.salary-page td{padding:13px 16px;border-bottom:1px solid var(--sp-border);vertical-align:middle;color:var(--sp-fg)}.salary-page tbody tr:last-child td{border-bottom:0}.salary-page tbody tr:hover td{background:var(--surface-2)}.salary-page th.sp-sortable{padding:0}.salary-page th.sp-sortable>.sp-sort{display:inline-flex;align-items:center;gap:5px;width:100%;padding:12px 16px;border:0;background:none;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;white-space:nowrap}.salary-page th.sp-sortable.salary-cell-money>.sp-sort{justify-content:flex-end}.salary-page th.sp-sortable>.sp-sort:hover{color:var(--sp-fg)}.salary-page th[aria-sort]:not([aria-sort=none])>.sp-sort{color:var(--accent-2)}.salary-page th.sp-sortable>.sp-sort:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px;border-radius:8px}.salary-page .sp-sort-ind{display:inline-grid;place-items:center;width:12px;flex:0 0 auto;opacity:0;transition:opacity .12s ease}.salary-page th.sp-sortable>.sp-sort:hover .sp-sort-ind,.salary-page th[aria-sort]:not([aria-sort=none]) .sp-sort-ind{opacity:1}.salary-page .sp-sort-ind.is-asc svg{transform:rotate(180deg)}.salary-page tfoot td{padding:12px 16px;border-top:1px solid var(--line-2);border-bottom:0;background:var(--surface-2);font-weight:600;color:var(--sp-fg)}.salary-page tfoot .sp-total-label{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--sp-fg-faint)}.salary-page .sp-table-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:11px 16px;border-top:1px solid var(--sp-border);font-size:12px;color:var(--sp-fg-mute)}.salary-page .element-name{font-weight:500;color:var(--sp-fg)}.salary-page .kpi-description,.salary-page .cell-description{font-size:12px;color:var(--sp-fg-faint)}.salary-page .calculation-type{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--sp-accent);background:var(--sp-accent-bg)}.salary-page .action-buttons{display:inline-flex;gap:4px;flex-wrap:nowrap}.salary-page .action-buttons button,.salary-page .action-buttons button.btn,.salary-page .action-buttons button.btn.btn-sm,.salary-page .action-buttons button.btn.btn-outline,.salary-page .action-buttons button.btn.btn-danger{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:4px 6px;font-size:12px;font-weight:500;color:var(--sp-fg);cursor:pointer;line-height:1;min-width:26px;min-height:26px;display:inline-flex;align-items:center;justify-content:center}.salary-page .action-buttons button:hover,.salary-page .action-buttons button.btn:hover{background:var(--sp-border-soft)}.salary-page .action-buttons button.btn.btn-danger{border-color:var(--red-wash);color:var(--sp-danger)}.salary-page .action-buttons button.btn.btn-danger:hover{background:var(--red-wash)}.salary-page .empty-state{padding:46px 24px;text-align:center}.salary-page .empty-icon{width:54px;height:54px;margin:0 auto 12px;border-radius:15px;display:grid;place-items:center;background:var(--surface-2);color:var(--ink-3)}.salary-page .empty-state h3{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--sp-fg)}.salary-page .empty-state p{margin:0 auto 16px;max-width:340px;font-size:13px;color:var(--sp-fg-faint)}.salary-page .sp-skel-rows{display:flex;flex-direction:column;gap:1px;background:var(--sp-border)}.salary-page .sp-skel-row{display:flex;align-items:center;gap:16px;padding:13px 16px;background:var(--sp-card-bg)}.salary-page .sp-skel-row .skel{height:12px;border-radius:6px}.salary-page .loading-state{padding:40px 24px;text-align:center;color:var(--sp-fg-mid);font-size:14px}.salary-page .loading-spinner{width:28px;height:28px;border:3px solid var(--sp-border);border-top-color:var(--sp-accent);border-radius:50%;margin:0 auto 12px;animation:sp-spin .8s linear infinite}@keyframes sp-spin{to{transform:rotate(360deg)}}.salary-page .error-banner{background:var(--sp-danger-bg);border:1px solid var(--red-wash);border-radius:14px;padding:13px 16px;color:var(--sp-danger);font-size:13px;display:flex;align-items:center;gap:12px}.salary-page .error-banner>span:not(.error-icon){flex:1;min-width:0}.salary-page .error-icon{display:inline-flex;flex:0 0 auto}.salary-page .kpi-form,.salary-page .form-grid{padding:20px 24px}.salary-page .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.salary-page .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px;background:none;border:none;border-top:1px solid var(--line);padding:18px 0 0}.salary-page .kpi-active-checkbox{width:16px;height:16px;flex:0 0 auto;margin:0}.salary-page .kpi-active-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--sp-fg);cursor:pointer}.salary-page .modal-overlay,.modal-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.salary-page .modal-content,.modal-overlay .modal-content{background:var(--surface);border-radius:16px;padding:24px 28px;box-shadow:0 12px 40px #0f172a2e;border:1px solid var(--sp-border);width:100%;max-width:720px;max-height:90vh;overflow-y:auto}.salary-page .modal-header,.modal-overlay .modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;background:none;border:none;padding:0;color:inherit}.salary-page .modal-header h2,.modal-overlay .modal-header h2,.salary-page .modal-header h3,.modal-overlay .modal-header h3{margin:0;font-size:20px;font-weight:700;color:var(--sp-fg)}.salary-page .modal-close,.modal-overlay .modal-close{background:transparent;border:none;color:var(--sp-fg-mute);font-size:22px;cursor:pointer;padding:0 4px;line-height:1}.salary-page .kpi-modal-header-main{display:flex;flex-direction:column;gap:4px}.salary-page .kpi-modal-description{font-size:13px;color:var(--sp-fg-mute)}.salary-page .kpi-modal-header-actions{display:flex;gap:8px;align-items:center}.salary-page .kpi-modal-branch-picker{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;color:var(--sp-fg-mid)}.salary-page .applicable-users-group{grid-column:1 / -1;max-width:none}.salary-page .applicable-users-list{margin-top:10px;padding:6px;max-height:300px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px;align-content:start}.salary-page .kpi-choice-list{grid-template-columns:1fr}.salary-page .kpi-choice-amount{margin-left:auto;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.salary-page .kpi-choice-amount input[type=number]{width:100px;height:32px;padding:4px 10px;text-align:right;font-variant-numeric:tabular-nums}.salary-page .kpi-choice-amount-unit{font-size:13px;font-weight:600;color:var(--sp-fg-mute)}.salary-page .kpi-choice-value{font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.salary-page .applicable-users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.salary-page .applicable-users-count{font-size:12px;font-weight:600;color:var(--accent-2);background:var(--accent-wash);box-shadow:inset 0 0 0 1px var(--accent-ring);padding:2px 10px;border-radius:999px;font-variant-numeric:tabular-nums}.salary-page .applicable-users-toolbar{display:flex;gap:8px;margin-bottom:0}.salary-page .applicable-users-search{flex:1 1 200px}.salary-page .applicable-user-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:background .12s ease,border-color .12s ease}.salary-page .applicable-user-row:hover{background:var(--surface-2)}.salary-page .applicable-user-row.is-selected{background:var(--accent-wash);border-color:var(--accent-ring)}.salary-page .applicable-user-row input[type=checkbox]{flex:0 0 auto;width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.salary-page .applicable-user-avatar{flex:0 0 auto;width:30px;height:30px;border-radius:8px;background:var(--accent-wash);color:var(--accent-2);display:grid;place-items:center;font-weight:700;font-size:12px;box-shadow:inset 0 0 0 1px var(--accent-ring)}.salary-page .applicable-user-info{display:flex;flex-direction:column;gap:1px;min-width:0;line-height:1.25}.salary-page .applicable-user-name{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.salary-page .applicable-user-username{font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.salary-page .applicable-users-actions{display:inline-flex;gap:6px}.salary-page .applicable-users-actions .btn{height:42px;padding:0 16px;box-sizing:border-box;white-space:nowrap}.salary-page .applicable-users-empty{grid-column:1 / -1;padding:24px 16px;text-align:center;color:var(--ink-3);font-size:13px}.salary-page .salary-col-chevron{width:36px;color:var(--ink-3)}.salary-page .salary-row-link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;color:inherit}.salary-page tr.salary-row-clickable:hover .salary-row-link{color:var(--accent-2)}.salary-page .salary-row-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.salary-page tr.salary-row-clickable:hover td{background:var(--accent-wash)}.salary-page tr.salary-row-visited td{background:var(--surface-2)}.salary-page tr.salary-row-visited td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.salary-page .salary-cell-money{text-align:right;white-space:nowrap}.salary-page .sp-pos{color:var(--green-text)}.salary-page .sp-neg{color:var(--red-text)}.salary-page .sp-zero{color:var(--ink-2)}.salary-page .sp-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.salary-page .salary-filter-reset{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;font-size:12px;border-radius:999px;flex:0 0 auto}.salary-page .sp-busy{opacity:.6;transition:opacity .15s ease}.salary-page .salary-filter-panel--salaries{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.salary-page .modal-close,.modal-overlay .modal-close{width:32px;height:32px;display:grid;place-items:center;padding:0;border-radius:8px;font-size:20px;flex:0 0 auto;transition:background .15s ease,color .15s ease}.salary-page .modal-close:hover,.modal-overlay .modal-close:hover{background:var(--surface-2);color:var(--ink)}.salary-page .modal-close:focus-visible,.modal-overlay .modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.salary-page .af-modal-error{margin-bottom:16px}.salary-page .af-rules{list-style:none;margin:0;padding:2px;display:flex;flex-direction:column;gap:8px;max-height:min(430px,48vh);overflow-y:auto}.salary-page .af-rule{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;transition:background .12s ease,border-color .12s ease}.salary-page .af-rule:hover{background:var(--surface-2);border-color:var(--line-2)}.salary-page .af-rule-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto}.salary-page .af-rule-icon--late{background:var(--amber-wash);color:var(--amber)}.salary-page .af-rule-icon--distance{background:var(--accent-wash);color:var(--accent-2)}.salary-page .af-rule-main{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:2px}.salary-page .af-rule-title{font-size:13.5px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.salary-page .af-rule-branch{font-size:11px;font-weight:600;color:var(--ink-2);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;padding:2px 9px;white-space:nowrap}.salary-page .af-rule-cond{font-size:12px;color:var(--ink-2)}.salary-page .af-rule-users{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.salary-page .af-rule-amount{font-size:13px;font-weight:700;color:var(--red-text);font-variant-numeric:tabular-nums;white-space:nowrap}.salary-page .af-rule--off .af-rule-icon,.salary-page .af-rule--off .af-rule-main,.salary-page .af-rule--off .af-rule-amount{opacity:.5}.salary-page .af-switch{display:inline-flex;align-items:center;padding:8px 2px;cursor:pointer;position:relative;flex:0 0 auto}.salary-page .af-switch input{position:absolute;opacity:0;width:1px;height:1px}.salary-page .af-switch-track{width:38px;height:22px;border-radius:999px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-2);display:inline-flex;align-items:center;padding:3px;box-sizing:border-box;transition:background .15s ease,box-shadow .15s ease}.salary-page .af-switch-thumb{width:16px;height:16px;border-radius:50%;background:var(--ink-3);transition:transform .15s ease,background .15s ease}.salary-page .af-switch input:checked+.af-switch-track{background:var(--accent);box-shadow:none}.salary-page .af-switch input:checked+.af-switch-track .af-switch-thumb{transform:translate(16px);background:#fff}.salary-page .af-switch input:focus-visible+.af-switch-track{outline:2px solid var(--accent);outline-offset:2px}.salary-page .af-switch input:disabled+.af-switch-track{opacity:.5;cursor:not-allowed}.salary-page .af-empty{padding:28px 16px;text-align:center;border:1px dashed var(--line-2);border-radius:12px;background:var(--surface-2)}.salary-page .af-empty-icon{width:44px;height:44px;margin:0 auto 10px;border-radius:12px;display:grid;place-items:center;background:var(--accent-wash);color:var(--accent-2)}.salary-page .af-empty h4{margin:0 0 4px;font-size:15px;font-weight:700;color:var(--ink)}.salary-page .af-empty p{margin:0;font-size:13px;color:var(--ink-2)}.salary-page .af-load-error{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);font-size:13px;color:var(--ink-2)}.salary-page .af-form{background:none;border:none;box-shadow:none;padding:0}.salary-page .af-form .form-grid{padding:0}.salary-page .af-reason-fieldset{border:none;margin:0 0 16px;padding:0;min-width:0}.salary-page .af-reason-fieldset legend{padding:0;margin-bottom:6px;font-size:12px;font-weight:600;color:var(--sp-fg-mid)}.salary-page .af-reason-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.salary-page .af-reason-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.salary-page .af-reason-card:hover{background:var(--surface-2);border-color:var(--line-2)}.salary-page .af-reason-card.is-selected{border-color:var(--accent);background:var(--accent-wash)}.salary-page .af-reason-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}.salary-page .af-reason-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;background:var(--surface-2);color:var(--ink-2);transition:background .15s ease,color .15s ease}.salary-page .af-reason-card.is-selected .af-reason-icon{background:var(--accent);color:#fff}.salary-page .af-reason-text{display:flex;flex-direction:column;gap:2px;min-width:0}.salary-page .af-reason-text strong{font-size:13px;font-weight:600;color:var(--ink)}.salary-page .af-reason-text span{font-size:12px;line-height:1.35;color:var(--ink-2)}.salary-page .af-input-unit{position:relative}.salary-page .af-input-unit input{width:100%;padding-right:52px}.salary-page .af-unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--ink-3);pointer-events:none}.salary-page .af-hint{font-size:12px;line-height:1.35;color:var(--ink-2)}.salary-page .af-summary{margin:16px 0 0;padding:10px 12px;border-left:3px solid var(--accent);border-radius:8px;background:var(--accent-wash);font-size:13px;line-height:1.45;color:var(--ink)}.salary-page .kpi-table-container,.salary-page .salary-table-container{overflow-x:auto}@media(max-width:720px){.salary-page .salary-filter-panel,.salary-page .salary-filter-panel--salaries{grid-template-columns:1fr;padding:12px}.salary-page th,.salary-page td,.salary-page tfoot td,.salary-page th.sp-sortable>.sp-sort{padding-left:12px;padding-right:12px}.salary-page .sp-chip{max-width:100%}}.salary-page .kpi-reward-chips{display:flex;flex-wrap:wrap;gap:6px;max-width:560px}.salary-page .kpi-reward-chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.salary-page .kpi-reward-chip-label{font-weight:500;color:var(--sp-fg-faint)}.salary-page .kpi-group-warning{background:var(--amber-wash, rgba(245, 158, 11, .12));color:var(--amber, #b45309)}.ch-frame{display:flex;flex-direction:column;min-width:0}.ch-frame-head{flex-wrap:wrap;row-gap:8px}.app .ch-frame-title{margin:0;font-size:15px}.ch-frame-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}.ch-frame-body{flex:1;min-width:0}.ch-seg{padding:2px}.ch-seg button{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:12px}.ch-table-scroll{overflow:auto;max-height:380px;border:1px solid var(--line);border-radius:10px;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.ch-table-scroll .table th{position:sticky;top:0;z-index:1}.ch-bar-wrap{position:relative;min-width:0}.ch-bar{position:relative;width:100%;outline:none;border-radius:8px;touch-action:manipulation}.ch-bar:focus-visible{box-shadow:0 0 0 2px var(--accent-ring)}.ch-bar.selectable .ch-hit{cursor:pointer}.ch-svg{display:block;overflow:visible}.ch-grid{stroke:var(--line);stroke-width:1;shape-rendering:crispEdges}.ch-tick,.ch-xlabel,.ch-val{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;fill:var(--ink-2);font-feature-settings:"tnum" 1}.ch-xlabel.on{fill:var(--ink);font-weight:600}.ch-val{font-weight:500}.ch-hit{fill:transparent}.ch-col{transition:opacity .15s ease}.ch-focus{fill:none;stroke:var(--accent);stroke-width:1.5;pointer-events:none}.ch-empty{display:grid;place-items:center;color:var(--ink-2);font-size:13px;border:1px dashed var(--line-2);border-radius:10px}.ch-tip{position:absolute;z-index:3;pointer-events:none;min-width:128px;max-width:260px;background:var(--surface);border:1px solid var(--line-2);border-radius:10px;box-shadow:var(--shadow);padding:8px 10px;font-size:12px;line-height:1.4;color:var(--ink-2)}.ch-tip-val{font-size:15px;font-weight:700;color:var(--ink);line-height:1.2}.ch-tip-label{margin-top:1px}.ch-tip-rows{margin-top:6px;display:grid;gap:3px}.ch-tip-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:7px}.ch-tip-row b{font-weight:600;color:var(--ink)}.ch-key{display:block;width:10px;height:2px;border-radius:1px}.ch-tip-extra{margin-top:6px;padding-top:6px;border-top:1px solid var(--line);display:grid;gap:2px}.ch-tip-hint{margin-top:6px;font-size:11.5px}.ch-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 10px;padding:0;list-style:none;font-size:12px;color:var(--ink-2)}.ch-legend li{display:inline-flex;align-items:center;gap:6px}.ch-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;flex:0 0 auto}.ch-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ch-share+.ch-share{margin-top:18px}.ch-share-title{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}.ch-share-bar{display:flex;gap:2px;height:12px}.ch-share-seg{display:block;min-width:2px;flex-basis:0;height:100%;transition:opacity .15s ease}.ch-share-seg:first-child{border-radius:4px 0 0 4px}.ch-share-seg:last-child{border-radius:0 4px 4px 0}.ch-share-seg:only-child{border-radius:4px}.ch-share-seg.none{flex-grow:1;background:var(--surface-3);border-radius:4px}.ch-share-seg.dim,.ch-share-legend li.dim{opacity:.55}.ch-share-legend{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:4px 10px}.ch-share-legend li{display:grid;grid-template-columns:10px minmax(0,1fr);column-gap:8px;row-gap:1px;align-items:center;padding:6px 8px;border-radius:9px;transition:opacity .15s ease,background-color .15s ease}.ch-share-legend li:hover{background:var(--surface-2)}.ch-share-legend .ch-swatch{grid-row:1;grid-column:1}.ch-share-label{grid-row:1;grid-column:2;font-size:12.5px;line-height:1.3;color:var(--ink-2);overflow-wrap:anywhere}.ch-share-nums{grid-row:2;grid-column:2;display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px}.ch-share-pct{font-size:17px;font-weight:600;color:var(--ink)}.ch-share-count{font-size:11.5px;color:var(--ink-2)}.ch-tl{--ch-tl-label: 150px;--ch-tl-gap: 12px;position:relative;min-width:0}.ch-tl.narrow{--ch-tl-label: 0px;--ch-tl-gap: 0px}.ch-tl-row{display:grid;grid-template-columns:var(--ch-tl-label) minmax(0,1fr);column-gap:var(--ch-tl-gap)}.ch-tl.narrow .ch-tl-row{grid-template-columns:minmax(0,1fr)}.ch-tl.narrow .ch-tl-gutter{display:none}.ch-tl-axis{position:relative;height:16px;font-size:11px;color:var(--ink-2)}.ch-tl-tick{position:absolute;top:0;transform:translate(-50%);white-space:nowrap;line-height:16px}.ch-tl-tick.first{transform:none}.ch-tl-tick.last{transform:translate(-100%)}.ch-tl-flags{position:relative;margin-top:4px}.ch-tl-flag{position:absolute;white-space:nowrap;font-size:11px;font-weight:600;line-height:15px;color:var(--ink-2);font-family:IBM Plex Mono,ui-monospace,monospace;letter-spacing:-.01em}.ch-tl-flag.actual.red{color:var(--red-text)}.ch-tl-flag.actual.green{color:var(--green-text)}.ch-tl-flag.actual.amber{color:var(--amber)}.ch-tl-flag.now{color:var(--accent-2)}.ch-tl-body{position:relative;display:flex;flex-direction:column;gap:8px;margin-top:6px;padding:2px 0;outline:none;border-radius:8px;touch-action:manipulation}.ch-tl-body.kb:focus-visible{box-shadow:0 0 0 2px var(--accent-ring)}.ch-tl-lane{display:grid;grid-template-columns:var(--ch-tl-label) minmax(0,1fr);column-gap:var(--ch-tl-gap);align-items:center;min-height:36px}.ch-tl.narrow .ch-tl-lane{grid-template-columns:minmax(0,1fr);row-gap:4px}.ch-tl-lane.emph{padding:4px 0 10px;border-bottom:1px solid var(--line);margin-bottom:2px}.ch-tl-name{min-width:0;display:flex;flex-direction:column}.ch-tl.narrow .ch-tl-name{flex-direction:row;align-items:baseline;gap:8px}.ch-tl-label{font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-tl-lane.emph .ch-tl-label{font-weight:700}.ch-tl-lane.muted .ch-tl-label{color:var(--ink-2)}.ch-tl-sub{font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-tl-track{position:relative;height:30px;background:var(--surface-2);border-radius:6px}.ch-tl-track.hit{cursor:pointer}.ch-tl-track.muted{background:transparent;border:1px dashed var(--line-2);height:22px}.ch-tl-shade{position:absolute;top:0;bottom:0;pointer-events:none}.ch-tl-shade.expected{background:color-mix(in srgb,var(--accent) 8%,transparent)}.ch-tl-shade.absent{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--viz-absent) 28%,transparent) 0 1px,transparent 1px 7px)}.ch-tl-grid{position:absolute;top:0;bottom:0;width:0;border-left:1px solid var(--line);pointer-events:none}.ch-tl-span{position:absolute;min-width:2px;border-radius:3px;pointer-events:none;z-index:1}.ch-tl-span.main{top:5px;height:12px}.ch-tl-span.sub{top:21px;height:5px;border-radius:2px}.ch-tl-span.present{background:var(--viz-present)}.ch-tl-span.phone{background:var(--viz-phone)}.ch-tl-span.absent{background:repeating-linear-gradient(135deg,var(--viz-absent) 0 2px,transparent 2px 6px)}.ch-tl-span.muted{background:repeating-linear-gradient(135deg,var(--ink-3) 0 1.5px,transparent 1.5px 5px)}.ch-tl-span.open{border-right:2px solid var(--ink);border-top-right-radius:0;border-bottom-right-radius:0}.ch-tl-span.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent);z-index:4}.ch-tl-mark{position:absolute;top:-4px;bottom:-4px;width:0;pointer-events:none;z-index:2;margin-left:-1px}.ch-tl-mark.expected{border-left:2px dashed var(--ink-2);opacity:.85}.ch-tl-mark.actual{border-left:2px solid var(--ink-2)}.ch-tl-mark.actual.red{border-left-color:var(--red)}.ch-tl-mark.actual.green{border-left-color:var(--green)}.ch-tl-mark.actual.amber{border-left-color:var(--amber)}.ch-tl-mark.now{border-left:2px solid var(--accent);z-index:3}.ch-tl-cursor{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed var(--ink-3);pointer-events:none;z-index:3}.ch-tl-cursor-time{position:absolute;bottom:calc(100% + 2px);left:0;transform:translate(-50%);font-size:10.5px;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:5px;padding:0 4px;white-space:nowrap}.ch-tl-empty{position:absolute;inset:0 0 0 calc(var(--ch-tl-label) + var(--ch-tl-gap));display:grid;place-items:center;color:var(--ink-2);font-size:13px;pointer-events:none}.ch-tl .ch-tl-tip{z-index:6}@media(prefers-reduced-motion:no-preference){.ch-tl-span{transition:box-shadow .12s ease}}.zed{display:flex;flex-direction:column;gap:10px;min-width:0}.zed-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.zed-spacer{flex:1}.app .zed-hint{margin:0;font-size:12.5px;color:var(--ink-2);line-height:1.45}.zed-stage-wrap{display:flex;justify-content:center}.modal:has(>.modal-body>.zed){max-height:94vh}.modal-body:has(>.zed){max-height:none}.zed-stage{position:relative;aspect-ratio:var(--zed-ar, 1.7778);width:min(100%,calc(min(62vh,640px,94vh - 390px) * var(--zed-ar, 1.7778)));border-radius:10px;overflow:hidden;background:#0b0d12;outline:none;touch-action:none;user-select:none;-webkit-user-select:none}.zed-stage:focus-visible{box-shadow:0 0 0 2px var(--accent-ring)}.zed-stage.grid{background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:10% 10%}.zed-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.zed-svg{position:absolute;inset:0;display:block;touch-action:none}.zed-svg.drawing{cursor:crosshair}.zed-halo{fill:none;stroke:#080a1099;stroke-width:6;stroke-linejoin:round;pointer-events:none}.zed-poly{fill:#fb6f6f40;stroke:#fb6f6f;stroke-width:2;stroke-linejoin:round;cursor:pointer}.zed-zone.sel .zed-poly{stroke:#fff;fill:#fb6f6f52;cursor:move}.zed-zone.bad .zed-poly{stroke-dasharray:6 4}.zed-svg.drawing .zed-zone,.zed-num{pointer-events:none}.zed-num rect{fill:#080a10bf}.zed-num text{fill:#fff;font:600 12px IBM Plex Mono,ui-monospace,monospace}.zed-mid{fill:#fffc;stroke:#080a1099;stroke-width:1.5;pointer-events:none}.zed-vertex{fill:#fff;stroke:#fb6f6f;stroke-width:2;pointer-events:none}.zed-vertex.on{fill:#fb6f6f;stroke:#fff}.zed-hit{fill:transparent;pointer-events:all;cursor:copy}.zed-hit.vertex{cursor:grab}.zed-hit.vertex:active{cursor:grabbing}.zed-draw-line{fill:none;stroke:#fb6f6f;stroke-width:2;stroke-linejoin:round;pointer-events:none}.zed-draw-next,.zed-draw-close{stroke:#fff;stroke-width:1.5;stroke-dasharray:5 4;pointer-events:none}.zed-draw-close{stroke:#ffffff73}.zed-draw-pt{fill:#fb6f6f;stroke:#fff;stroke-width:1.5;pointer-events:none}.zed-draw-pt.first{fill:#fff;stroke:#fb6f6f;stroke-width:2.5}.zed-cross{fill:none;stroke:#fff;stroke-width:1.5;pointer-events:none;filter:drop-shadow(0 0 1px #000)}.zed-frame-msg{position:absolute;left:50%;top:14px;transform:translate(-50%);max-width:calc(100% - 28px);display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:9px;background:#080a10c7;color:#e6e9f0;font-size:12.5px;line-height:1.4;text-align:center;pointer-events:none}.zed-spin{width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;animation:zed-spin .8s linear infinite;flex:0 0 auto}@keyframes zed-spin{to{transform:rotate(360deg)}}.zed-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.zed-list li{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:3px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2)}.zed-list li.on{border-color:var(--accent);background:var(--accent-wash)}.zed-list li.zed-list-empty{border:0;background:none;padding:0;font-size:12.5px;color:var(--ink-2)}.zed-pick{display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:4px 6px;border-radius:7px;font:inherit;font-size:12.5px;color:var(--ink);cursor:pointer}.zed-pick:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.zed-pick-num{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:6px;background:var(--red-wash);color:var(--red-text);font-size:11px;font-weight:700}.zed-pick-name{font-weight:600}.zed-pick-points{color:var(--ink-2);font-size:11.5px}.zed-del{width:30px;height:30px}.zed-list-err{flex-basis:100%;padding:0 6px 4px;font-size:11.5px;color:var(--red-text)}.app .zed-keys{margin:0;font-size:11.5px;color:var(--ink-2);line-height:1.5}.modal-foot:has(.zed-foot-msg){flex-wrap:wrap}.zed-foot-msg{margin-right:auto;flex:1 1 220px;min-width:0;align-self:center;font-size:12.5px;color:var(--red-text)}.zed-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(max-width:560px){.zed-stage{width:min(100%,calc(48vh * var(--zed-ar, 1.7778)))}.zed-spacer{display:none}}@media(pointer:coarse){.zed-toolbar .btn{min-height:36px}}.app .cam-tl{display:flex;flex-direction:column;font-size:12.5px}.app .cam-tl-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-bottom:6px;min-height:30px}.app .cam-tl-nav{display:flex;align-items:center;gap:8px}.app .cam-tl-date{font-weight:600;min-width:92px;text-align:center}.app .cam-tl-stats{margin-left:auto;text-align:right;color:var(--ink-3)}.app .cam-tl-scale{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-3);margin-bottom:4px}.app .cam-tl-track{position:relative;height:56px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden}.app .cam-tl-mark{position:absolute;border:0;padding:0;cursor:pointer}.app .cam-tl-mark.rec{top:24px;height:16px;background:var(--amber);border-radius:3px;opacity:.85}.app .cam-tl-mark.rec:hover,.app .cam-tl-mark.rec.on{opacity:1;box-shadow:0 0 0 2px var(--amber-wash),0 0 10px var(--amber)}.app .cam-tl-mark.face{top:6px;width:3px;height:30px;margin-left:-1px;background:var(--blue);border-radius:2px}.app .cam-tl-mark.face:hover{box-shadow:0 0 8px var(--blue);background:#fff}.app .cam-tl-mark.ev{top:44px;height:8px;border-radius:2px;opacity:.85}.app .cam-tl-mark.ev.motion{background:var(--accent)}.app .cam-tl-mark.ev.presence{background:var(--green)}.app .cam-tl-mark.ev.tamper{background:var(--red)}.app .cam-tl-mark.ev.alerted{box-shadow:0 0 0 1.5px var(--red),0 0 8px var(--red);opacity:1}.app .cam-tl-mark.ev:hover{opacity:1;filter:brightness(1.2)}.app .cam-tl-now{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--red);pointer-events:none}.app .cam-tl-now:before{content:"";position:absolute;top:0;left:-3px;width:8px;height:8px;border-radius:50%;background:var(--red)}.app .cam-tl-cursor{position:absolute;top:0;bottom:0;width:1px;margin-left:-.5px;background:#ffffff59;pointer-events:none}.app .cam-tl-cursor span{position:absolute;top:4px;left:6px;font-size:10.5px;color:var(--ink);background:var(--surface-3);padding:1px 6px;border-radius:5px;white-space:nowrap}.app .cam-tl-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:8px;font-size:12px;color:var(--ink-3)}.app .cam-tl-legend i{display:inline-block;width:12px;height:6px;border-radius:2px;margin-right:6px;vertical-align:middle}.app .cam-tl-legend i.rec{height:8px;background:var(--amber)}.app .cam-tl-legend i.face{width:3px;height:12px;background:var(--blue)}.app .cam-tl-legend i.motion{background:var(--accent)}.app .cam-tl-legend i.presence{background:var(--green)}.app .cam-tl-legend i.tamper{background:var(--red)}.app .cam-tl-legend i.alerted{background:transparent;box-shadow:inset 0 0 0 1.5px var(--red)}.app .cam-tl-legend-hint{margin-left:auto}.app .cam-tl.overlay{color:#eef1f7;text-shadow:0 1px 3px rgba(0,0,0,.6)}.app .cam-tl.overlay .cam-tl-stats,.app .cam-tl.overlay .cam-tl-scale,.app .cam-tl.overlay .cam-tl-legend,.app .cam-tl.overlay .t-muted{color:#cdd3e0}.app .cam-tl.overlay .cam-tl-track{background:#1c2030c7;border-color:#ffffff1a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-shadow:none}.app .cam-tl.overlay .cam-tl-cursor span{color:#fff;background:#080a10d9}.app .cam-tl.overlay .btn{background:#1c2030cc;border-color:#ffffff1f;color:#eef1f7;text-shadow:none}.app .cam-tl.overlay .btn:hover:not(:disabled){background:#323848e6;border-color:#fff3}.app .cam-player-scrim{position:fixed;inset:0;z-index:70;background:#05070cc7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:14px}.app .cam-player{--cam-drawer: 360px;position:relative;width:min(1500px,100%);height:min(92vh,1100px);max-width:100%;max-height:100%;background:#000;color:#eef1f7;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.app .cam-player:fullscreen{width:100vw!important;height:100vh!important;max-width:none;max-height:none;border:0;border-radius:0}.app .cam-player-stage{position:absolute;inset:0;background:#000;overflow:hidden}.app .cam-player-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;display:block}.app .cam-player.playback .cam-player-video{cursor:pointer}.app .cam-player-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#cdd3e0;font-size:15px;text-align:center;padding:20px}.app .cam-player-empty svg{color:#9aa3b5;opacity:.7}.app .cam-player-empty-sub{font-size:12.5px;color:#9aa3b5;max-width:520px}.app .cam-player-shade{position:absolute;left:0;right:0;pointer-events:none;z-index:1}.app .cam-player-shade.top{top:0;height:110px;background:linear-gradient(#05070cdb,#05070c00)}.app .cam-player-shade.bottom{bottom:0;height:230px;background:linear-gradient(#05070c00,#05070ce6 45%)}.app .cam-player.drawer-open .cam-player-shade.bottom{right:var(--cam-drawer)}.app .cam-player-head{position:absolute;left:0;right:0;top:0;z-index:3;height:56px;display:flex;align-items:center;gap:12px;padding:0 12px 0 18px}.app .cam-player-badge{font-family:IBM Plex Mono,monospace;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:8px;background:#1c2030cc;color:#cdd3e0;white-space:nowrap;flex:0 0 auto}.app .cam-player-badge.live{background:#36d39938;color:#36d399}.app .cam-player-badge.connecting{background:#f5c45138;color:#f5c451}.app .cam-player-badge.playback{background:#7c74ff47;color:#c7c3ff}.app .cam-player-badge.off{background:#fb6f6f38;color:#fb6f6f}.app .cam-player-title{flex:1;min-width:0;font-size:20px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px rgba(0,0,0,.6)}.app .cam-player-sub{color:#cdd3e0;font-weight:500;font-size:14px}.app .cam-player-clock{color:#cdd3e0;font-size:12px;text-shadow:0 1px 3px #000;white-space:nowrap}.app .cam-player-talk{padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.1);font-family:IBM Plex Mono,monospace;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#080a10b3;color:#fcd34d;white-space:nowrap}.app .cam-player-talk.on{background:#dc2626eb;color:#fff}.app .cam-player-talk-err{position:absolute;left:14px;bottom:200px;z-index:2;max-width:60%;padding:6px 10px;border-radius:8px;background:#080a10d9;color:#fcd34d;font-size:12px;border:1px solid rgba(252,211,77,.35)}.app .cam-player-head .btn{background:#1c2030cc;border-color:#ffffff1f;color:#eef1f7}.app .cam-player-head .btn:hover:not(:disabled){background:#323848e6;border-color:#fff3}.app .cam-player-tools{margin-left:auto;display:flex;align-items:center;gap:6px;flex:0 0 auto}.app .cam-player-tools button{width:34px;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#080a10b3;color:#cdd3e0;display:grid;place-items:center;cursor:pointer;opacity:.85;padding:0}.app .cam-player-tools button:hover:not(:disabled){opacity:1;color:#fff;background:var(--accent);border-color:var(--accent)}.app .cam-player-tools button:disabled{opacity:.35;cursor:default}.app .cam-player-tools .on,.app .cam-player-tools .on:hover{opacity:1;color:#fff;background:var(--accent);border-color:var(--accent)}.app .cam-player-tools .cam-player-mic.busy,.app .cam-player-tools .cam-player-mic.busy:hover{opacity:1;color:#fff;background:var(--amber);border-color:var(--amber)}.app .cam-player-tools .cam-player-mic.on,.app .cam-player-tools .cam-player-mic.on:hover{background:var(--red);border-color:var(--red);box-shadow:0 0 0 3px #dc262640}.app .cam-player-tools .cam-player-close{margin-left:4px}.app .cam-player-bottom{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;gap:6px;padding:0 16px 12px}.app .cam-player.drawer-open .cam-player-bottom{right:var(--cam-drawer)}.app .cam-player-pb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:32px;font-size:12.5px;color:#eef1f7}.app .cam-player-pb-btn{width:34px;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#1c2030cc;color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;flex:0 0 auto}.app .cam-player-pb-btn:hover{background:var(--accent);border-color:var(--accent)}.app .cam-player-pb-time{white-space:nowrap;color:var(--amber);font-weight:600}.app .cam-player-pb-seek{flex:1 1 120px;min-width:80px;height:4px;accent-color:var(--amber);cursor:pointer;margin:0}.app .cam-player-pb .btn{background:#1c2030cc;border-color:#ffffff1f;color:#eef1f7}.app .cam-player-pb .btn:hover:not(:disabled){background:#323848e6;border-color:#fff3}.app .cam-player-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-family:inherit;font-size:12.5px;cursor:pointer}.app .cam-player-chip:hover{border-color:var(--line-2)}.app .cam-player-chip .num{color:var(--ink-3);font-size:12px}.app .cam-player-pb .cam-player-chip{background:#1c2030cc;border-color:#ffffff1f;color:#eef1f7;cursor:default}.app .cam-player-pb .cam-player-chip .num{color:#cdd3e0}.app .cam-player-drawer{position:absolute;top:56px;right:0;bottom:0;z-index:4;width:var(--cam-drawer);box-sizing:border-box;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;background:#0d0f15db;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-left:1px solid rgba(255,255,255,.08);--surface: #151823;--surface-2: rgba(28, 32, 48, .85);--surface-3: #2a3042;--ink: #eef1f7;--ink-2: #9aa3b5;--ink-3: #8b93a6;--line: rgba(255,255,255,.1);--line-2: rgba(255,255,255,.22);color:var(--ink);font-size:13px}.app .cam-drawer-head{flex-direction:row;align-items:center;justify-content:space-between;min-height:46px;padding:8px 10px 8px 16px}.app .cam-drawer-hide{width:30px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;padding:0}.app .cam-drawer-hide:hover{color:var(--ink);border-color:var(--line-2)}.app .cam-side-sec{display:flex;flex-direction:column;gap:8px;padding:12px 16px 14px;border-bottom:1px solid var(--line)}.app .cam-side-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:24px}.app .cam-side-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:28px}.app .cam-side-actions{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.app .cam-side-danger{margin-top:auto;border-bottom:0}.app .cam-side-danger .btn{color:var(--red);align-self:flex-start}.app .cam-player-label{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.app .cam-player-check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.app .cam-player-check input{width:16px;height:16px;accent-color:var(--accent);flex:0 0 auto;margin:0}.app .cam-player-mode{width:100%;height:30px;padding:0 8px;font-size:13px}.app .cam-player-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ink-3);margin-right:6px;vertical-align:middle;flex:0 0 auto}.app .cam-player-dot.recording{background:var(--red);box-shadow:0 0 8px var(--red)}.app .cam-player-dot.error{background:var(--amber)}.app .cam-player-dot.idle{background:transparent;box-shadow:inset 0 0 0 1.5px var(--accent)}.app .cam-player-dot.ok{background:var(--green);box-shadow:0 0 6px var(--green)}.app .cam-player-hint{color:var(--ink-3);font-size:12.5px}.app .cam-player-hint.warn{color:var(--red)}.app .cam-player-conn{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:5px 10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .cam-player-recent{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.app .cam-side-head .cam-side-state{display:inline-block;min-width:0;max-width:100%;font-size:12px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .cam-alarm-listener.unsupported,.app .cam-alarm-listener.off{color:var(--ink-3)}.app .cam-alarm-hours{display:inline-flex;align-items:center;gap:6px}.app .cam-alarm-time{width:92px;height:30px;padding:0 8px;font-size:13px;color-scheme:dark}.app .cam-alarm-status{display:inline-flex;align-items:center;gap:5px;color:var(--ink-3);font-size:12.5px}.app .cam-alarm-status.armed{color:var(--red);font-weight:600}.app .cam-alarm-caret{display:inline-flex;margin-left:4px;transition:transform .15s}.app .cam-alarm-caret.up{transform:rotate(180deg)}.app .cam-alarm-details,.app .cam-count-details{display:flex;flex-direction:column;gap:10px;padding-top:10px;border-top:1px dashed var(--line)}.app .cam-alarm-kinds{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.app .cam-alarm-kind{padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font:inherit;font-size:12.5px;cursor:pointer}.app .cam-alarm-kind.on{border-color:var(--accent);background:var(--accent-wash);color:var(--ink)}.app .cam-alarm-kind:disabled{cursor:default;opacity:.6}.app .cam-alarm-field{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 8px}.app .cam-alarm-field .input{width:auto;max-width:100%;height:30px;padding:0 8px;font-size:13px}.app .cam-count-details .btn{align-self:flex-start}.app .cam-count-fps{width:auto;height:30px;padding:0 8px;font-size:13px}.app .cam-count-status{display:inline-flex;align-items:center;color:var(--ink-2);font-size:12.5px}.app .cam-count-status.off,.app .cam-count-status.inactive{color:var(--ink-3)}.app .cam-count-status.stalled,.app .cam-count-status.error{color:var(--amber)}.app .cam-count-zones{font-size:12.5px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:4px 9px}.app .cam-count-link{color:var(--accent-2);font-weight:500;font-size:13px;text-decoration:none;white-space:nowrap}.app .cam-count-link:hover{text-decoration:underline}.app .cam-count-link:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:4px}@media(max-width:1100px){.app .cam-player{width:100%;height:auto;display:flex;flex-direction:column;overflow-y:auto;background:var(--surface);color:var(--ink)}.app .cam-player-shade{display:none}.app .cam-player-head{position:static;order:1;height:auto;min-height:56px;flex-wrap:wrap;padding:10px 12px 10px 18px;border-bottom:1px solid var(--line)}.app .cam-player-title{text-shadow:none}.app .cam-player-sub,.app .cam-player-clock{color:var(--ink-3);text-shadow:none}.app .cam-player-head .btn{background:var(--surface-2);border-color:var(--line);color:var(--ink)}.app .cam-player-stage{position:relative;order:2;flex:0 0 auto;aspect-ratio:var(--cam-ratio, 16 / 9)}.app .cam-player-talk-err{bottom:12px}.app .cam-player-bottom{position:static;order:3;padding:10px 16px 12px;border-top:1px solid var(--line)}.app .cam-player-pb{color:var(--ink)}.app .cam-player-pb-btn,.app .cam-player-pb .btn,.app .cam-player-pb .cam-player-chip{background:var(--surface-2);border-color:var(--line);color:var(--ink)}.app .cam-player-pb .cam-player-chip .num{color:var(--ink-3)}.app .cam-player-drawer{position:static;order:4;width:auto;border-left:0;border-top:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface);--surface: inherit;--surface-2: inherit;--surface-3: inherit;--ink: inherit;--ink-2: inherit;--ink-3: inherit;--line: inherit;--line-2: inherit}.app .cam-drawer-head{display:none}.app .cam-side-danger{margin-top:0}}@media(max-width:760px){.app .cam-player-scrim{padding:0}.app .cam-player{height:100%;max-height:none;border-radius:0}}.app .surveillance-page .surv-sub-live{color:var(--green-text)}.app .surveillance-page .surv-sub-full{color:var(--amber)}.app .surveillance-page .surv-seg{display:inline-flex;align-items:center;gap:2px;padding:3px;max-width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.app .surveillance-page .surv-seg button{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--ink-2);font:inherit;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,color .15s ease}.app .surveillance-page .surv-seg button.num{font-family:IBM Plex Mono,ui-monospace,monospace}.app .surveillance-page .surv-seg button:hover:not(.on){color:var(--ink)}.app .surveillance-page .surv-seg button.on{background:var(--surface-3);color:var(--ink);box-shadow:0 1px 2px #00000059}.app[data-theme=light] .surveillance-page .surv-seg button.on{box-shadow:var(--shadow-sm)}.app .surveillance-page .surv-seg.lg button{height:30px;padding:0 11px}.app .surveillance-page .surv-seg.sm{background:var(--surface-2);border-radius:9px}.app .surveillance-page .surv-seg.sm button{height:26px;padding:0 9px;font-size:11.5px;border-radius:6px}.app .surveillance-page .surv-seg-ic{display:flex;padding:0 6px 0 7px;color:var(--ink-2)}.app .surveillance-page .surv-seg-n{font-size:11px;font-weight:500;opacity:.8}.app .surveillance-page .surv-cap{gap:0}.app .surveillance-page .surv-cap-label{padding:0 4px 0 9px;font-size:12.5px;font-weight:600;color:var(--ink-2);white-space:nowrap}.app .surveillance-page .surv-cap button{width:30px;padding:0;justify-content:center;font-size:15px;line-height:1}.app .surveillance-page .surv-cap button:disabled{opacity:.35;cursor:default}.app .surveillance-page .surv-cap button:disabled:hover{color:var(--ink-2)}.app .surveillance-page .surv-cap-val{min-width:26px;text-align:center;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;font-weight:700;color:var(--ink);transition:opacity .15s ease}.app .surveillance-page .surv-cap.saving .surv-cap-val{opacity:.45}.app .surveillance-page .surv-switch-btn{gap:9px;padding-right:12px}.app .surveillance-page .surv-switch{position:relative;width:30px;height:18px;border-radius:9px;flex:0 0 auto;background:var(--line-2);transition:background-color .15s ease}.app .surveillance-page .surv-switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s ease}.app .surveillance-page .surv-switch.on{background:var(--accent)}.app .surveillance-page .surv-switch.on:after{left:14px}.app .surveillance-page .surv-banner{display:flex;align-items:center;gap:13px;border-color:var(--accent-ring);background:var(--accent-wash)}.app .surveillance-page .surv-banner.error{border-color:var(--red);background:var(--red-wash)}.app .surveillance-page .surv-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ink-3);flex:0 0 auto}.app .surveillance-page .surv-dot.green{background:var(--green)}.app .surveillance-page .surv-dot.red{background:var(--red)}.app .surveillance-page .surv-dot.amber{background:var(--amber)}.app .surveillance-page .surv-dot.muted{background:var(--ink-3)}.app .surveillance-page .surv-dots{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.app .surveillance-page .surv-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex:0 0 auto;background:var(--green);box-shadow:0 0 8px var(--green)}.app .surveillance-page .surv-textlink{border:0;background:none;padding:0;font:inherit;font-size:12px;font-weight:600;color:var(--accent-2);cursor:pointer;white-space:nowrap}.app .surveillance-page .surv-textlink:hover{text-decoration:underline}.app .surveillance-page .surv-tag{font-size:10.5px;padding:1px 5px;border-radius:5px;background:var(--surface-3);color:var(--ink-2);flex:0 0 auto}.app .surveillance-page .surv-search{position:relative;display:flex;align-items:center;flex:0 1 240px;min-width:170px;color:var(--ink-3)}.app .surveillance-page .surv-search>svg{position:absolute;left:10px;pointer-events:none}.app .surveillance-page .surv-search input{width:100%;height:34px;padding:0 10px 0 30px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:12.5px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.app .surveillance-page .surv-search input::placeholder{color:var(--ink-3)}.app .surveillance-page .surv-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.app .surveillance-page .surv-search.sm{flex:1 1 auto;min-width:0}.app .surveillance-page .surv-search.sm>svg{left:9px}.app .surveillance-page .surv-search.sm input{height:32px;padding-left:28px;border-radius:8px;background:var(--surface-2)}.app .surveillance-page .surv-wall{display:flex;flex-direction:column;gap:12px}.app .surveillance-page .surv-filterbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.app .surveillance-page .surv-filterbar-gap{flex:1 1 0}.app .surveillance-page .surv-shown{font-size:12px;color:var(--ink-2);white-space:nowrap}.app .surveillance-page .surv-reset{color:var(--accent-2);border-color:transparent}.app .surveillance-page .surv-streams{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 11px;white-space:nowrap;border:1px dashed var(--line-2);border-radius:999px;color:var(--ink-2);font-size:12px;font-weight:500}.app .surveillance-page .surv-streams b{color:var(--ink);font-weight:600}.app .surveillance-page .surv-streams.full{background:var(--amber-wash)}.app .surveillance-page .surv-streams.full b{color:var(--amber)}.app .surveillance-page .surv-bpick{position:relative;min-width:0}.app .surveillance-page .surv-fbtn{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 10px 0 11px;max-width:320px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:border-color .15s ease}.app .surveillance-page .surv-fbtn:hover{border-color:var(--line-2)}.app .surveillance-page .surv-fbtn.on{border-color:var(--accent)}.app .surveillance-page .surv-fbtn-ic{color:var(--ink-2);flex:0 0 auto}.app .surveillance-page .surv-fbtn-label{color:var(--ink-2);font-weight:500}.app .surveillance-page .surv-fbtn-value{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .surv-fbtn-n{font-size:11px;font-weight:500;color:var(--ink-2)}.app .surveillance-page .surv-bpick-pop{position:absolute;left:0;top:calc(100% + 6px);z-index:30;width:320px;max-width:calc(100vw - 32px);padding:6px;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;box-shadow:var(--shadow)}.app .surveillance-page .surv-bpick-pop .surv-search{margin:2px 2px 6px}.app .surveillance-page .surv-bpick-list{display:flex;flex-direction:column;max-height:320px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.app .surveillance-page .surv-bpick-opt{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:0 10px;flex:0 0 auto;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:500;text-align:left;cursor:pointer}.app .surveillance-page .surv-bpick-opt:hover{background:var(--surface-2)}.app .surveillance-page .surv-bpick-opt:focus-visible{outline:none;background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--accent-ring)}.app .surveillance-page .surv-bpick-opt.on{background:var(--accent-wash)}.app .surveillance-page .surv-bpick-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .surv-bpick-n{font-size:11.5px;color:var(--ink-2);min-width:14px;text-align:right}.app .surveillance-page .surv-bpick-check{display:flex;width:14px;flex:0 0 auto;color:var(--accent-2)}.app .surveillance-page .surv-issues{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 12px;border:1px solid var(--amber-wash);border-color:color-mix(in srgb,var(--amber) 40%,transparent);border-radius:10px;background:var(--amber-wash);color:var(--ink);font-size:12.5px}.app .surveillance-page .surv-issues-ic{color:var(--amber);flex:0 0 auto}.app .surveillance-page .surv-issues-text{flex:1 1 240px;min-width:0}.app .surveillance-page .surv-tiles{display:grid;grid-template-columns:repeat(var(--surv-cols, 3),minmax(0,1fr));gap:12px}.app .surveillance-page .cam-skel{aspect-ratio:16 / 9;border-radius:12px}.app .surveillance-page .surv-stage.fs{background:var(--bg);padding:18px;overflow-y:auto}.app .surveillance-page .cam-tile{position:relative;min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0b0d13}.app .surveillance-page .cam-tile.st-disabled{border-style:dashed;border-color:var(--line-2);opacity:.75}.app .surveillance-page .cam-tile.st-lost{border-color:#f5c45166}.app .surveillance-page .cam-frame{position:relative;aspect-ratio:16 / 9;container-type:inline-size;color:#fff;background:repeating-linear-gradient(135deg,#11141d,#11141d 14px,#141823 14px 28px)}.app .surveillance-page .cam-tile.st-offline .cam-frame,.app .surveillance-page .cam-tile.st-disabled .cam-frame{background:#11141d}.app .surveillance-page .cam-tile.st-connecting .cam-frame{background:linear-gradient(90deg,#11141d,#1a1e2b,#11141d);background-size:200% 100%;animation:cam-shimmer 1.8s linear infinite}@keyframes cam-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.app .surveillance-page .cam-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:none;background:#000}.app .surveillance-page .cam-tile.st-live .cam-video{display:block}.app .surveillance-page .cam-dim{position:absolute;inset:0;background:#0d0f1594}.app .surveillance-page .cam-open{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:pointer}.app .surveillance-page .cam-open:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.app .surveillance-page .cam-center{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:28px 14px 34px;text-align:center;color:#9aa3b5}.app .surveillance-page .cam-center.lost{color:#f5c451;padding-bottom:42px}.app .surveillance-page .cam-center-ic{flex:0 0 auto}.app .surveillance-page .cam-center-title{font-size:12.5px;font-weight:600;color:#eef1f7;text-shadow:0 1px 2px rgba(0,0,0,.6)}.app .surveillance-page .cam-center-sub{max-width:100%;font-size:11px;color:#9aa3b5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.app .surveillance-page .cam-center-hint{max-width:100%;font-size:11px;color:#cdd3e0;text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .cam-spin{animation:cam-spin 1.1s linear infinite}@keyframes cam-spin{to{transform:rotate(360deg)}}.app .surveillance-page .cam-pill{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px 0 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#080a10c7;color:#fff;font:inherit;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.app .surveillance-page .cam-pill:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.app .surveillance-page .cam-pill:disabled{border-color:#ffffff1a;background:#080a1099;color:#ffffff8c;cursor:not-allowed}.app .surveillance-page .cam-btn{display:inline-flex;align-items:center;gap:6px;height:30px;margin-top:2px;padding:0 11px;border:1px solid #323848;border-radius:8px;background:#1c2030;color:#eef1f7;font:inherit;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}.app .surveillance-page .cam-btn:hover:not(:disabled){border-color:#4a5268}.app .surveillance-page .cam-btn:disabled{opacity:.55;cursor:not-allowed}.app .surveillance-page .cam-link{border:0;background:none;padding:0;font:inherit;font-size:12px;font-weight:600;color:#b3adff;cursor:pointer}.app .surveillance-page .cam-link:hover{text-decoration:underline}.app .surveillance-page .cam-badges{position:absolute;top:9px;left:9px;z-index:3;display:flex;align-items:center;flex-wrap:wrap;gap:5px;max-width:calc(100% - 120px)}.app .surveillance-page .cam-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:7px;white-space:nowrap;background:#080a10b8;color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1.3}.app .surveillance-page .cam-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#646d80;flex:0 0 auto}.app .surveillance-page .cam-dot.live{background:#fb6f6f;box-shadow:0 0 8px #fb6f6f}.app .surveillance-page .cam-rec{color:#cdd3e0}.app .surveillance-page .cam-rec.recording .cam-dot{background:#fb6f6f;animation:cam-rec-blink 1.4s infinite}.app .surveillance-page .cam-rec.error{color:#f5c451}.app .surveillance-page .cam-rec.error .cam-dot{background:#f5c451}.app .surveillance-page .cam-rec.idle .cam-dot{background:transparent;box-shadow:inset 0 0 0 1.5px #cdd3e0}@keyframes cam-rec-blink{0%,60%{opacity:1}80%{opacity:.25}to{opacity:1}}.app .surveillance-page .cam-staff svg{color:#36d399}.app .surveillance-page .cam-staff.on{background:#36d399e0;color:#0d0f15}.app .surveillance-page .cam-staff.on svg{color:#0d0f15}.app .surveillance-page .cam-tools{position:absolute;top:9px;right:9px;z-index:4;display:flex;align-items:center;gap:5px}.app .surveillance-page .cam-codec{padding:3px 7px;border-radius:7px;background:#080a10b8;color:#cdd3e0;font-size:10.5px;font-weight:700;white-space:nowrap}.app .surveillance-page .cam-tool{width:26px;height:26px;padding:0;border:0;border-radius:7px;background:#080a10b8;color:#fff;display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .15s ease,background-color .15s ease}.app .surveillance-page .cam-tool:hover{background:var(--accent)}.app .surveillance-page .cam-tool.on{opacity:1;background:var(--accent)}.app .surveillance-page .cam-tile:hover .cam-tool,.app .surveillance-page .cam-tools:focus-within .cam-tool{opacity:1}@media(hover:none){.app .surveillance-page .cam-tool{opacity:1}}.app .surveillance-page .cam-person{position:absolute;right:9px;bottom:34px;z-index:3;display:flex;align-items:center;gap:6px;max-width:calc(100% - 18px);padding:3px 9px 3px 4px;border-radius:999px;background:#7c74fff0;color:#fff;font-size:11px;font-weight:600;pointer-events:none}.app .surveillance-page .cam-person-ava{width:16px;height:16px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;background:#ffffff38;font-size:8px;font-weight:700}.app .surveillance-page .cam-person-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .cam-foot{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:22px 10px 8px;background:linear-gradient(180deg,#080a1000,#080a10cc);pointer-events:none}.app .surveillance-page .cam-tile.st-offline .cam-foot,.app .surveillance-page .cam-tile.st-disabled .cam-foot,.app .surveillance-page .cam-tile.st-connecting .cam-foot{background:none}.app .surveillance-page .cam-foot-main{flex:1 1 auto;min-width:0}.app .surveillance-page .cam-name{font-size:12px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .cam-tile.st-disabled .cam-name{color:#cdd3e0}.app .surveillance-page .cam-branch{color:#cdd3e0;font-weight:500}.app .surveillance-page .cam-sub{font-size:12px;color:#cdd3e0;text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .cam-foot-right{flex:0 1 auto;min-width:0;max-width:55%;font-size:11px;color:#cdd3e0;text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .cam-foot-right.amber{color:#f5c451}.app .surveillance-page .cam-foot-right.red{color:#fb6f6f}.app .surveillance-page .cam-foot-right.muted{color:#9aa3b5}.app .surveillance-page .cam-lostbar{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;background:#f5c45129;border-top:1px solid rgba(245,196,81,.35)}.app .surveillance-page .cam-lostbar-text{min-width:0;font-size:11.5px;color:#f5c451;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .cam-lostbar-text b{color:#fff}.app .surveillance-page .cam-lostbar-btn{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;flex:0 0 auto;border:1px solid rgba(245,196,81,.45);border-radius:6px;background:#080a1080;color:#fff;font:inherit;font-size:11px;font-weight:600;cursor:pointer}.app .surveillance-page .cam-lostbar-btn:hover:not(:disabled){background:#080a10bf}.app .surveillance-page .cam-lostbar-btn:disabled{opacity:.55;cursor:not-allowed}@container (max-width: 300px){.app .surveillance-page .cam-center{gap:4px;padding:24px 8px 28px}.app .surveillance-page .cam-center-sub,.app .surveillance-page .cam-center-hint{display:none}.app .surveillance-page .cam-center .cam-center-ic{width:18px;height:18px}.app .surveillance-page .cam-pill{height:30px;padding:0 11px 0 9px;font-size:12px}.app .surveillance-page .cam-badge:nth-child(n+3){display:none}.app .surveillance-page .cam-person{bottom:30px}}@container (max-width: 220px){.app .surveillance-page .cam-center .cam-center-ic,.app .surveillance-page .cam-foot-right,.app .surveillance-page .cam-codec{display:none}.app .surveillance-page .cam-btn{height:26px;padding:0 9px}}.app .surveillance-page .cam-tile.hero{border-radius:14px}.app .surveillance-page .cam-tile.hero .cam-badges{top:12px;left:12px;gap:6px}.app .surveillance-page .cam-tile.hero .cam-badge{padding:4px 9px;font-size:11.5px}.app .surveillance-page .cam-tile.hero .cam-tools{top:12px;right:12px;gap:6px}.app .surveillance-page .cam-tile.hero .cam-tool{width:32px;height:32px;border-radius:8px;opacity:1}.app .surveillance-page .cam-tile.hero .cam-center{gap:8px;padding:50px 64px 64px}.app .surveillance-page .cam-tile.hero .cam-center-title{font-size:15px}.app .surveillance-page .cam-tile.hero .cam-center-sub,.app .surveillance-page .cam-tile.hero .cam-center-hint{font-size:12.5px}.app .surveillance-page .cam-tile.hero .cam-pill{height:44px;gap:9px;padding:0 20px 0 15px;font-size:14px}.app .surveillance-page .cam-tile.hero .cam-btn{height:34px;margin-top:6px;padding:0 14px;border-radius:9px;font-size:12.5px}.app .surveillance-page .cam-tile.hero .cam-foot{align-items:flex-end;padding:30px 14px 12px;background:linear-gradient(180deg,#080a1000,#080a10d1)}.app .surveillance-page .cam-tile.hero .cam-name{font-size:16px;font-weight:700}.app .surveillance-page .cam-tile.hero .cam-foot-right{font-size:12.5px}.app .surveillance-page .cam-tile.hero .cam-person{right:14px;bottom:62px;gap:8px;padding:5px 12px 5px 6px;font-size:12.5px}.app .surveillance-page .cam-tile.hero .cam-person-ava{width:22px;height:22px;font-size:10px}.app .surveillance-page .cam-tile.hero .cam-lostbar{padding:9px 14px}.app .surveillance-page .cam-tile.hero .cam-lostbar-text{font-size:12.5px}.app .surveillance-page .cam-nav{position:absolute;top:50%;z-index:4;transform:translateY(-50%);width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:#080a1099;color:#fff;display:grid;place-items:center;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.app .surveillance-page .cam-nav:hover{background:var(--accent);border-color:var(--accent)}.app .surveillance-page .cam-nav.prev{left:12px}.app .surveillance-page .cam-nav.next{right:12px}@container (max-width: 560px){.app .surveillance-page .cam-tile.hero .cam-center{padding:40px 48px 56px;gap:6px}.app .surveillance-page .cam-tile.hero .cam-pill{height:36px;padding:0 14px 0 11px;font-size:12.5px}.app .surveillance-page .cam-tile.hero .cam-center-sub,.app .surveillance-page .cam-tile.hero .cam-center-hint{display:none}.app .surveillance-page .cam-tile.hero .cam-tool{width:28px;height:28px}.app .surveillance-page .cam-tile.hero .cam-name{font-size:14px}.app .surveillance-page .cam-nav{width:32px;height:32px}.app .surveillance-page .cam-nav.prev{left:8px}.app .surveillance-page .cam-nav.next{right:8px}}.app .surveillance-page .surv-focus{display:grid;grid-template-columns:minmax(0,1fr) 348px;gap:14px;align-items:start}.app .surveillance-page .surv-focus-main,.app .surveillance-page .surv-focus-stage{display:flex;flex-direction:column;gap:10px;min-width:0}.app .surveillance-page .surv-focus-stage.fs{height:100%}.app .surveillance-page .surv-focus-stage.fs .cam-tile.hero{flex:1 1 auto;min-height:0}.app .surveillance-page .surv-focus-stage.fs .cam-tile.hero .cam-frame{aspect-ratio:auto;height:100%}.app .surveillance-page .surv-strip{position:relative;display:flex;gap:8px;overflow-x:auto;padding:3px 3px 6px;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.app .surveillance-page .surv-thumb{flex:0 0 148px;display:flex;flex-direction:column;gap:4px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--ink-2);font:inherit;text-align:left;cursor:pointer}.app .surveillance-page .surv-thumb-frame{position:relative;display:block;flex:0 0 auto;width:100%;aspect-ratio:16 / 9;border-radius:9px;overflow:hidden;background:repeating-linear-gradient(135deg,#11141d,#11141d 10px,#141823 10px 20px);box-shadow:0 0 0 1px var(--line);transition:filter .15s ease,box-shadow .15s ease}.app .surveillance-page .surv-thumb:hover .surv-thumb-frame{filter:brightness(1.15)}.app .surveillance-page .surv-thumb.on .surv-thumb-frame{box-shadow:0 0 0 2px var(--accent)}.app .surveillance-page .surv-thumb.st-offline .surv-thumb-frame,.app .surveillance-page .surv-thumb.st-disabled .surv-thumb-frame{background:#11141d}.app .surveillance-page .surv-thumb.st-disabled .surv-thumb-frame{opacity:.6}.app .surveillance-page .surv-thumb-live{position:absolute;top:6px;left:6px;width:7px;height:7px;border-radius:50%;background:#fb6f6f;box-shadow:0 0 6px #fb6f6f}.app .surveillance-page .surv-thumb-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;background:#080a10b3;color:#fff;display:grid;place-items:center}.app .surveillance-page .surv-thumb-ic{position:absolute;inset:0;margin:auto;color:#9aa3b5}.app .surveillance-page .surv-thumb-ic.red{color:#fb6f6f}.app .surveillance-page .surv-thumb-name{display:block;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .surv-thumb.on .surv-thumb-name{color:var(--ink)}.app .surveillance-page .surv-thumb-branch{display:block;margin-top:-3px;font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .surv-strip-foot{display:flex;align-items:center;justify-content:space-between;gap:6px 12px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-2)}.app .surveillance-page .surv-strip-foot kbd{display:inline-block;padding:0 6px;border:1px solid var(--line-2);border-radius:5px;background:var(--surface);color:var(--ink);font-size:11px;line-height:18px}.app .surveillance-page .surv-strip-foot b{color:var(--ink);font-weight:600}.app .surveillance-page .surv-strip-foot b.amber{color:var(--amber)}.app .surveillance-page .surv-tlbox{padding:12px 14px 10px}.app .surveillance-page .surv-tlbox-title{margin-bottom:8px;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .surv-focus-side{display:flex;flex-direction:column;gap:12px;min-width:0}.app .surveillance-page .surv-caminfo{padding:14px}.app .surveillance-page .surv-caminfo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.app .surveillance-page .surv-caminfo-who{min-width:0}.app .surveillance-page .surv-caminfo-name{font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .surv-caminfo-sub{margin-top:1px;font-size:12px;color:var(--ink-2)}.app .surveillance-page .surv-state{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;flex:0 0 auto;white-space:nowrap;background:var(--surface-3);color:var(--ink-2);font-size:11px;font-weight:600}.app .surveillance-page .surv-state i{width:6px;height:6px;border-radius:50%;background:currentColor}.app .surveillance-page .surv-state.live{background:var(--green-wash);color:var(--green-text)}.app .surveillance-page .surv-state.connecting{background:var(--accent-wash);color:var(--accent-2)}.app .surveillance-page .surv-state.offline{background:var(--red-wash);color:var(--red-text)}.app .surveillance-page .surv-caminfo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:12px 0 0;font-size:12px}.app .surveillance-page .surv-caminfo-grid>div{min-width:0}.app .surveillance-page .surv-caminfo-grid>div.wide{grid-column:1 / -1}.app .surveillance-page .surv-caminfo-grid dt{font-size:11px;color:var(--ink-3)}.app .surveillance-page .surv-caminfo-grid dd{margin:1px 0 0;font-weight:600;color:var(--ink);overflow-wrap:anywhere}.app .surveillance-page .surv-caminfo-grid dd.green{color:var(--green-text)}.app .surveillance-page .surv-caminfo-grid dd.amber{color:var(--amber)}.app .surveillance-page .surv-caminfo-grid dd.muted{color:var(--ink-3)}.app .surveillance-page .surv-caminfo-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.app .surveillance-page .surv-caminfo-actions .btn{flex:1 1 0}.app .surveillance-page .surv-feed{overflow:hidden}.app .surveillance-page .surv-feed .card-head{padding:12px 14px}.app .surveillance-page .surv-feed-body{display:flex;flex-direction:column;padding:6px 4px;max-height:560px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.app .surveillance-page .surv-feed-empty{padding:26px 14px;text-align:center;color:var(--ink-2);font-size:12.5px}.app .surveillance-page .surv-event{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px}.app .surveillance-page .surv-event.clickable{cursor:pointer}.app .surveillance-page .surv-event.clickable:hover{background:var(--surface-2)}.app .surveillance-page .surv-event.clickable:focus-visible{outline:none;background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--accent-ring)}.app .surveillance-page .surv-ava{width:34px;height:34px;border-radius:9px;overflow:hidden;flex:0 0 auto;display:grid;place-items:center;background:var(--surface-3);color:var(--ink-2)}.app .surveillance-page .surv-ava.known{background:var(--accent-wash);color:var(--accent-2);box-shadow:inset 0 0 0 1px var(--accent-ring);font-size:12px;font-weight:700}.app .surveillance-page .surv-ava.photo{background:#0f172a}.app .surveillance-page .surv-ava img{width:100%;height:100%;object-fit:cover;display:block}.app .surveillance-page .surv-event-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.app .surveillance-page .surv-event-who{display:flex;align-items:center;gap:6px;min-width:0}.app .surveillance-page .surv-event-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .surv-event-meta{font-size:11.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .surv-event-conf{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto;font-size:12px;font-weight:600}.app .surveillance-page .surv-event-conf>.ok{color:var(--green-text)}.app .surveillance-page .surv-event-conf>.low{color:var(--amber)}.app .surveillance-page .surv-conf-bar{display:block;width:44px;height:3px;border-radius:2px;background:var(--surface-3);overflow:hidden}.app .surveillance-page .surv-conf-bar i{display:block;height:100%}.app .surveillance-page .surv-conf-bar i.ok{background:var(--green)}.app .surveillance-page .surv-conf-bar i.low{background:var(--amber)}.app .surveillance-page .surv-event-person{width:26px;height:26px;padding:0;border-radius:7px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);display:grid;place-items:center;flex:0 0 auto;cursor:pointer;opacity:0;transition:opacity .15s ease}.app .surveillance-page .surv-event:hover .surv-event-person,.app .surveillance-page .surv-event-person:focus-visible{opacity:1}.app .surveillance-page .surv-event-person:hover{color:var(--accent-2);border-color:var(--accent)}@media(hover:none){.app .surveillance-page .surv-event-person{opacity:1}}.app .surveillance-page .surv-branches{display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px;align-items:start}.app .surveillance-page .surv-bnav{position:sticky;top:0;display:flex;flex-direction:column;max-height:calc(100vh - 110px);overflow:hidden}.app .surveillance-page .surv-bnav-head{display:flex;flex-direction:column;gap:8px;padding:12px 12px 8px;border-bottom:1px solid var(--line)}.app .surveillance-page .surv-bnav-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;font-weight:700}.app .surveillance-page .surv-bnav-list{display:flex;flex-direction:column;gap:1px;padding:6px;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.app .surveillance-page .surv-bnav-row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;flex:0 0 auto;border:0;border-radius:9px;background:transparent;color:var(--ink-2);font:inherit;text-align:left;cursor:pointer}.app .surveillance-page .surv-bnav-row:hover{background:var(--surface-2);color:var(--ink)}.app .surveillance-page .surv-bnav-row.on{background:var(--accent-wash);color:var(--accent-2);box-shadow:inset 0 0 0 1px var(--accent-ring)}.app .surveillance-page .surv-bnav-main{flex:1;min-width:0;display:flex;flex-direction:column}.app .surveillance-page .surv-bnav-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .surv-bnav-sub{font-size:11px;color:var(--ink-3)}.app .surveillance-page .surv-bnav-foot{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px 12px;border-top:1px solid var(--line)}.app .surveillance-page .surv-counters{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;font-size:11px;color:var(--ink-2)}.app .surveillance-page .surv-counters>span{display:inline-flex;align-items:center;gap:4px}.app .surveillance-page .surv-branches-main{display:flex;flex-direction:column;gap:14px;min-width:0}.app .surveillance-page .surv-inframe{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:9px 14px}.app .surveillance-page .surv-inframe-label{display:inline-flex;align-items:center;gap:7px;margin-right:4px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.app .surveillance-page .surv-pchip{display:inline-flex;align-items:center;gap:8px;height:34px;max-width:100%;padding:0 12px 0 4px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--ink);font:inherit;font-size:12.5px;cursor:pointer;transition:border-color .15s ease}.app .surveillance-page .surv-pchip:hover:not(:disabled){border-color:var(--line-2)}.app .surveillance-page .surv-pchip:disabled{cursor:default}.app .surveillance-page .surv-pchip-ava{width:26px;height:26px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;background:var(--surface-3);color:var(--ink-2)}.app .surveillance-page .surv-pchip-ava.known{background:var(--accent-wash);color:var(--accent-2);box-shadow:inset 0 0 0 1px var(--accent-ring);font-size:10.5px;font-weight:700}.app .surveillance-page .surv-pchip-name{min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .surveillance-page .surv-pchip-cam{color:var(--ink-2);white-space:nowrap}.app .surveillance-page .surv-pchip-conf{font-weight:600}.app .surveillance-page .surv-pchip-conf.ok{color:var(--green-text)}.app .surveillance-page .surv-pchip-conf.low{color:var(--amber)}.app .surveillance-page .surv-groups{display:flex;flex-direction:column;gap:18px;min-width:0}.app .surveillance-page .surv-groups-empty{padding:24px;text-align:center}.app .surveillance-page .surv-grp{display:flex;flex-direction:column;gap:10px}.app .surveillance-page .surv-grp-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}.app .surveillance-page .surv-grp-chev{width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink-2);display:grid;place-items:center;cursor:pointer}.app .surveillance-page .surv-grp-chev:hover{border-color:var(--line-2);color:var(--ink)}.app .surveillance-page .surv-grp-chev svg{transform:rotate(-90deg);transition:transform .15s ease}.app .surveillance-page .surv-grp-chev.open svg{transform:none}.app .surveillance-page .surv-grp-name{font-size:15px;font-weight:700}.app .surveillance-page .surv-grp-meta{font-size:12.5px;color:var(--ink-2)}.app .surveillance-page .surv-grp-alert{font-size:12.5px;font-weight:600;color:var(--ink-2)}.app .surveillance-page .surv-grp-alert .red{color:var(--red-text)}.app .surveillance-page .surv-grp-alert .amber{color:var(--amber)}.app .surveillance-page .surv-grp-gap{flex:1 1 0}.app .surveillance-page .surv-grp-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.app .surveillance-page .surv-grp-tiles .cam-branch{display:none}@media(max-width:1180px){.app .surveillance-page .surv-grp-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.app .surveillance-page .surv-focus,.app .surveillance-page .surv-branches{grid-template-columns:minmax(0,1fr)}.app .surveillance-page .surv-bnav{position:static;max-height:none;overflow:visible;background:transparent;border:0;border-radius:0}.app .surveillance-page .surv-bnav-head{display:none}.app .surveillance-page .surv-bnav-list{flex-direction:row;gap:6px;padding:0 0 4px;overflow-x:auto;overflow-y:visible}.app .surveillance-page .surv-bnav-row{width:auto;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.app .surveillance-page .surv-bnav-row.on{border-color:var(--accent)}.app .surveillance-page .surv-bnav-main{flex:0 1 auto}.app .surveillance-page .surv-bnav-sub{display:none}.app .surveillance-page .surv-bnav-foot{flex-direction:row;flex-wrap:wrap;gap:4px 10px;padding:6px 2px 0;border:0}}@media(max-width:660px){.app .surveillance-page .surv-tiles,.app .surveillance-page .surv-grp-tiles{grid-template-columns:minmax(0,1fr)}.app .surveillance-page .surv-filterbar .surv-search{flex:1 1 100%}.app .surveillance-page .surv-filterbar .surv-seg{overflow-x:auto;scrollbar-width:none}.app .surveillance-page .surv-filterbar-gap{display:none}.app .surveillance-page .surv-thumb{flex-basis:120px}.app .surveillance-page .surv-cols{display:none}}.role-kpi-section{display:flex;flex-direction:column;gap:10px}.role-kpi-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.role-kpi-search{flex:1 1 220px;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:13px}.role-kpi-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.role-kpi-toolbar__actions{display:flex;gap:6px}.role-kpi-toolbar__actions .btn{padding:6px 10px;font-size:12px}.role-kpi-groups{display:flex;flex-direction:column;gap:8px;max-height:440px;overflow-y:auto;padding:2px}.role-kpi-group{border:1px solid var(--line);border-radius:10px;background:var(--surface-2);transition:border-color .15s}.role-kpi-group.is-some{border-color:var(--accent-2)}.role-kpi-group.is-all{border-color:var(--accent)}.role-kpi-group__head{display:flex;align-items:center;gap:8px;padding:8px 10px}.role-kpi-group__toggle{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer}.role-kpi-group__toggle input{width:16px;height:16px;margin:0;flex:none;accent-color:var(--accent);cursor:pointer}.role-kpi-group__name{font-weight:600;font-size:13.5px;color:var(--ink);white-space:nowrap}.role-kpi-group__meta{font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-kpi-group__collapse{border:0;background:transparent;color:var(--ink-3);font-size:12px;padding:4px 6px;cursor:pointer;border-radius:6px;flex:none}.role-kpi-group__collapse:hover{color:var(--accent);background:var(--accent-wash)}.role-kpi-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 10px}.role-kpi-chips--flat{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.role-kpi-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:5px 10px 5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:12.5px;line-height:1.2;cursor:pointer;transition:border-color .15s,background .15s}.role-kpi-chip:hover{border-color:var(--accent)}.role-kpi-chip input{width:14px;height:14px;margin:0;flex:none;accent-color:var(--accent);cursor:pointer}.role-kpi-chip.is-on{border-color:var(--accent);background:var(--accent-wash);color:var(--accent-2)}.role-kpi-chip__label{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.role-kpi-chip__amount{color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}.role-kpi-chip.is-on .role-kpi-chip__amount{color:inherit;opacity:.8}.role-kpi-chip:has(input:disabled){cursor:default;opacity:.7}.role-kpi-empty{color:var(--ink-3);font-size:12.5px;padding:8px 4px}.role-kpi-chip.is-via{border-style:dashed;cursor:default}.role-kpi-chip.is-via:hover{border-color:var(--line)}.role-kpi-chip.is-on.is-via:hover{border-color:var(--accent)}.role-kpi-chip__badge{font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3);padding:1px 6px;border-radius:999px;background:var(--surface-2);white-space:nowrap}.role-kpi-chip.is-on .role-kpi-chip__badge{color:var(--accent-2);background:var(--surface)}.role-kpi-title{font-weight:600;color:var(--ink-2);font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.role-kpi-note{color:var(--ink-3);font-size:12px;padding:6px 2px}.admin-elements-page{padding:20px;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.page-header h1{color:#333;margin:0;font-size:28px}.create-btn{background:#4caf50;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:16px;font-weight:500;transition:background-color .3s}.create-btn:hover{background:#45a049}.error-message{background:#ffebee;color:#c62828;padding:16px;border-radius:6px;margin:20px 0;border-left:4px solid #f44336}.error-message h2{margin:0 0 10px;color:#c62828}.create-form{background:#f9f9f9;padding:30px;border-radius:10px;margin-bottom:30px;border:1px solid #e0e0e0}.create-form h2{margin:0 0 25px;color:#333;font-size:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;margin-bottom:8px;color:#555;font-size:14px}.form-group input,.form-group select,.form-group textarea{padding:12px;border:2px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s;background-color:#fff;color:#333}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4caf50;background-color:#fff}.branches-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.branches-title{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#555;font-size:14px;margin:0!important}.branches-counter{font-weight:400;font-size:12px;color:#94a3b8;background:#f1f5f9;padding:2px 8px;border-radius:999px}.branches-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;border:1px solid #e2e8f0;border-radius:8px;padding:8px;max-height:220px;overflow-y:auto;background:#fff}.fields-section{margin-top:30px;padding-top:30px;border-top:2px solid #e0e0e0}.fields-section h3{margin:0 0 20px;color:#333;font-size:20px}.current-fields{margin-bottom:25px}.current-fields h4{margin:0 0 15px;color:#555;font-size:16px}.field-item{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid #ddd;border-radius:6px;margin-bottom:10px}.field-item--editing{display:block;padding:16px;border-color:#1e293b;background:#f8fafc}.field-item__editor{display:flex;flex-direction:column;gap:8px}.field-item__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.field-item__icons{display:inline-flex;gap:6px;margin-left:auto}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;color:#64748b;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.icon-btn:hover{background:#1e293b;color:#fff;border-color:#1e293b}.icon-btn--danger:hover{background:#dc2626;border-color:#dc2626}.icon-btn:focus-visible{outline:2px solid var(--primary-color, #1e293b);outline-offset:2px}.field-name{font-weight:600;color:#333}.field-type{color:#666;font-style:italic}.required{background:#f44336;color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.report-type{background:#2196f3;color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.remove-btn{background:#f44336;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;margin-left:auto}.remove-btn:hover{background:#d32f2f}.add-field-form{background:#fff;padding:25px;border-radius:8px;border:2px solid #e0e0e0}.add-field-form h4{margin:0 0 20px;color:#333;font-size:18px}.options-section{margin-top:20px}.options-section label{font-weight:600;color:#555;margin-bottom:10px;display:block}.add-option{display:flex;gap:10px;margin-bottom:15px}.add-option input{flex:1;padding:10px;border:2px solid #ddd;border-radius:6px;background-color:#fff;color:#333}.add-option button{background:#2196f3;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500}.add-option button:hover{background:#1976d2}.options-list{display:flex;flex-wrap:wrap;gap:8px}.option-tag{background:#e3f2fd;color:#1976d2;padding:6px 12px;border-radius:20px;font-size:14px;display:flex;align-items:center;gap:8px}.option-tag button{background:none;border:none;color:#1976d2;font-size:16px;font-weight:700;cursor:pointer;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.option-tag button:hover{background:#1976d21a;border-radius:50%}.add-field-btn{background:#ff9800;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:16px;font-weight:500;margin-top:20px}.add-field-btn:hover{background:#f57c00}.form-actions{display:flex;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid #e0e0e0}.submit-btn{background:#4caf50;color:#fff;border:none;padding:14px 28px;border-radius:6px;cursor:pointer;font-size:16px;font-weight:500;transition:background-color .3s}.submit-btn:hover:not(:disabled){background:#45a049}.submit-btn:disabled{background:#ccc;cursor:not-allowed}.cancel-btn{background:#9e9e9e;color:#fff;border:none;padding:14px 28px;border-radius:6px;cursor:pointer;font-size:16px;font-weight:500}.cancel-btn:hover{background:#757575}.elements-list{margin-top:30px}.elements-list h2{margin:0 0 20px;color:#333;font-size:24px}.loading{text-align:center;padding:40px;color:#666;font-size:16px}.no-elements{text-align:center;padding:40px;color:#999;font-size:16px}.elements-table{background:#fff;border-radius:10px;overflow-x:auto;overflow-y:hidden;box-shadow:0 2px 10px #0000001a;-webkit-overflow-scrolling:touch}.elements-table table{width:100%;min-width:1100px;border-collapse:collapse}.elements-table th,.elements-table td{padding:16px;text-align:left;border-bottom:1px solid #e0e0e0}.elements-table th{background:#f5f5f5;font-weight:600;color:#333;font-size:14px}.elements-table td{color:#666;font-size:14px;vertical-align:top}.element-name{font-weight:600;color:#333}.type-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.type-badge.income{background:#e8f5e8;color:#2e7d32}.type-badge.expense{background:#ffebee;color:#c62828}.fields-count{background:#e3f2fd;color:#1976d2;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.fields-preview{margin-top:8px;display:flex;flex-direction:column;gap:4px}.field-preview{display:inline-flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;padding:3px 8px;border-radius:6px;font-size:11px;line-height:1.4;width:fit-content;max-width:100%}.field-preview__name{color:#1e293b;font-weight:500}.field-preview__type{color:#64748b;font-size:10px;text-transform:lowercase}.category-pill{display:inline-block;background:#f1f5f9;color:#334155;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500}.comment{max-width:220px;word-wrap:break-word;color:#475569;font-size:13px}.created-cell{color:#475569;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.muted{color:#cbd5e1}@media(max-width:768px){.admin-elements-page{padding:15px}.form-row{grid-template-columns:1fr;gap:15px}.page-header{flex-direction:column;gap:15px;align-items:stretch}.form-actions{flex-direction:column}.elements-table table{min-width:900px}}.choice-options-section{margin-top:20px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.choice-options-section h5{margin:0 0 15px;color:#495057;font-size:16px;font-weight:600}.current-options{margin-bottom:15px}.option-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#fff;border:1px solid #dee2e6;border-radius:4px;margin-bottom:8px}.option-item span{color:#495057;font-size:14px}.remove-option-btn{background:#dc3545;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.remove-option-btn:hover{background:#c82333}.add-option-form{display:flex;gap:10px;align-items:center}.option-inputs{display:flex;gap:10px;flex:1;align-items:center}.add-option-form input{flex:1;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.option-inputs input:first-child{background-color:#f8f9fa}.option-inputs input:nth-child(2){background-color:#fff3cd}.default-badge{color:#28a745;font-weight:600;font-size:12px}.add-option-btn{background:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.add-option-btn:hover{background:#218838}.choice-options{display:block;margin-top:4px;font-size:12px;color:#6c757d;font-style:italic}.choice-options-preview{font-size:11px;color:#6c757d;margin-left:4px}label.ui-checkbox{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;margin:0;border-radius:8px;background:transparent;border:none;color:var(--ink-2, #334155);font-size:14px;font-weight:400;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s,color .12s;white-space:nowrap}label.ui-checkbox:hover{background:var(--surface-2, #f1f5f9)}label.ui-checkbox.is-checked{background:var(--accent-wash, #eef2ff);color:var(--ink, #1e293b);font-weight:500}label.ui-checkbox.is-disabled{opacity:.6;cursor:not-allowed}.ui-checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;box-sizing:border-box;width:20px;height:20px;margin:0;padding:0;border:2px solid var(--ink-3, #64748b);border-radius:6px;background:var(--surface, #fff);flex:0 0 auto;cursor:inherit;position:relative;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.ui-checkbox:hover input[type=checkbox]:not(:checked){border-color:var(--ink, #1e293b)}.ui-checkbox input[type=checkbox]:checked{background:var(--accent, #1e293b);border-color:var(--accent, #1e293b)}.ui-checkbox input[type=checkbox]:checked:after{content:"";width:5px;height:9px;border:solid var(--accent-ink, #fff);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}.ui-checkbox input[type=checkbox]:focus-visible{outline:2px solid var(--accent, #1e293b);outline-offset:2px}.ui-checkbox>span{display:inline-block;line-height:1}.ui-checkbox span{line-height:1.2}.checkbox-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.branches-checklist .ui-checkbox{width:100%;box-sizing:border-box}.admin-modal-overlay{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.admin-modal{background:#fff;border-radius:12px;box-shadow:0 20px 50px #00000040;width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;animation:adminModalIn .18s ease-out}@keyframes adminModalIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-modal--sm{max-width:500px}.admin-modal--md{max-width:700px}.admin-modal--lg{max-width:960px}.admin-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#fff;color:#0f172a;border-bottom:1px solid #e2e8f0;flex-shrink:0}.admin-modal__header h2{margin:0;font-size:18px;font-weight:600;color:#0f172a;letter-spacing:-.01em}.admin-modal__close{background:transparent;color:#64748b;border:none;width:36px;height:36px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .15s,color .15s}.admin-modal__close:hover{background:#f1f5f9;color:#0f172a}.admin-modal__close:focus-visible{outline:2px solid var(--primary-color, #1e293b);outline-offset:2px}.admin-modal>form{display:flex;flex-direction:column;flex:1;min-height:0}.admin-modal__body{padding:24px;overflow-y:auto;flex:1;min-height:0}.admin-modal__footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;background:#f8fafc;border-top:1px solid #e2e8f0;flex-shrink:0}.modal-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;min-width:120px;height:40px;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s,opacity .15s;line-height:1}.modal-btn:disabled{opacity:.6;cursor:not-allowed}.modal-btn--primary{background:var(--primary-color, #1e293b);color:#fff;border-color:var(--primary-color, #1e293b)}.modal-btn--primary:hover:not(:disabled){background:#0f172a;border-color:#0f172a}.modal-btn--secondary{background:#fff;color:#334155;border-color:#cbd5e0}.modal-btn--secondary:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.form-error{background:#fef2f2;color:#991b1b;padding:12px 14px;border-radius:6px;border-left:4px solid #ef4444;margin-bottom:16px;font-size:14px}.error-retry-btn{margin-left:16px;padding:8px 16px;background:#1e293b;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.create-new-option{border-top:1px solid #e2e8f0;background:#f8fafc;font-weight:600}.edit-btn{padding:6px 12px;background:#1e293b;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;transition:background .15s}.edit-btn:hover{background:#0f172a}.edit-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;color:#64748b;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.edit-icon-btn:hover{background:#1e293b;color:#fff;border-color:#1e293b}.edit-icon-btn:focus-visible{outline:2px solid var(--primary-color, #1e293b);outline-offset:2px}.branches-all,.branches-single{display:inline-block;color:#475569;font-size:13px}.branches-count{display:inline-flex;align-items:center;gap:4px;background:#eef2ff;color:#4338ca;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;cursor:help}.admin-modal__body .element-form,.admin-modal__body .category-form{margin:0}.admin-modal__body .fields-section{margin-top:24px;padding-top:24px}.admin-modal{background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 60px #00000073}.admin-modal__header{background:var(--surface);color:var(--ink);border-bottom-color:var(--line)}.admin-modal__header h2{color:var(--ink)}.admin-modal__close{color:var(--ink-2)}.admin-modal__close:hover{background:var(--surface-2);color:var(--ink)}.admin-modal__footer{background:var(--surface-2);border-top-color:var(--line)}.modal-btn--primary{background:var(--accent);border-color:transparent;color:#fff}.modal-btn--primary:hover:not(:disabled){background:var(--accent-2);border-color:transparent}.modal-btn--secondary{background:var(--surface-2);color:var(--ink);border-color:var(--line)}.modal-btn--secondary:hover:not(:disabled){background:var(--surface);border-color:var(--line-2)}.form-group label{color:var(--ink-2)}.form-group input,.form-group select,.form-group textarea{background:var(--surface-2);color:var(--ink);border-color:var(--line)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);background:var(--surface-2)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--ink-3)}.branches-checklist{background:var(--surface-2);border-color:var(--line)}.fields-section{border-top-color:var(--line)}.fields-section h3{color:var(--ink)}.loading{color:var(--ink-2)}.form-error{background:var(--red-wash);color:var(--red);border-left-color:var(--red)}.ui-checkbox input[type=checkbox]{background:var(--surface);border-color:var(--ink-3)}.ui-checkbox:hover input[type=checkbox]:not(:checked){border-color:var(--accent)}.ui-checkbox input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.ui-checkbox span,.fields-section h4,.current-fields h4,.add-field-form h4{color:var(--ink)}.field-item{background:var(--surface-2);border-color:var(--line)}.field-item--editing{background:var(--surface-3);border-color:var(--accent-ring)}.field-item__actions{border-top-color:var(--line)}.field-name{color:var(--ink)}.field-type{color:var(--ink-3)}.add-field-form{background:var(--surface-2);border:1px solid var(--line);border-radius:12px}.add-field-btn{background:var(--accent);color:#fff;border-radius:10px;padding:11px 18px;font-size:14px;font-weight:600}.add-field-btn:hover{background:var(--accent-2)}label.ui-checkbox:hover{background:var(--surface-3)}label.ui-checkbox.is-checked{background:var(--accent-wash);color:var(--ink)}.branches-title{color:var(--ink-2)}.branches-counter{background:var(--surface-3);color:var(--ink-3)}.icon-btn{color:var(--ink-2);border-color:var(--line)}.icon-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.icon-btn--danger:hover{background:var(--red);border-color:var(--red)}.choice-options-section{background:var(--surface-2);border-color:var(--line)}.choice-options-section h5{color:var(--ink)}.option-item{background:var(--surface);border-color:var(--line)}.option-item span{color:var(--ink-2)}.add-option-form input,.option-inputs input:first-child,.option-inputs input:nth-child(2){background:var(--surface-2);color:var(--ink);border-color:var(--line)}.choice-options,.choice-options-preview{color:var(--ink-3)}.add-option-btn,.add-option button{background:var(--accent);color:#fff;border-radius:8px}.add-option-btn:hover,.add-option button:hover{background:var(--accent-2)}.default-badge{color:var(--green)}.create-new-option{background:var(--surface-2);color:var(--ink);border-top-color:var(--line)}.element-row{cursor:pointer}.element-row:hover td{background:var(--surface-2)}.element-kpi-hint{margin:-6px 0 14px;font-size:13px;color:var(--ink-2)}.element-kpi-empty{margin:0 0 14px;font-size:13px;color:var(--ink-3)}.element-kpi-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.element-kpi-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.element-kpi-remove{width:42px;height:42px;flex:0 0 auto}.element-kpi-create{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.element-kpi-create .input{height:42px;box-sizing:border-box}.element-kpi-create select.input{flex:0 0 200px}.element-kpi-create input.input{flex:1 1 220px;min-width:160px}.permissions-page{padding:20px;max-width:1200px;margin:0 auto}.permissions-page .elements-table table{min-width:720px}.perm-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid #e2e8f0}.perm-tab{background:transparent;border:none;border-bottom:2px solid transparent;padding:10px 16px;margin-bottom:-1px;font-size:15px;font-weight:500;color:#64748b;cursor:pointer;transition:color .15s,border-color .15s}.perm-tab:hover{color:#334155}.perm-tab.is-active{color:#1e293b;border-bottom-color:#1e293b;font-weight:600}.perm-chips{display:flex;flex-wrap:wrap;gap:6px}.perm-row-actions{display:inline-flex;gap:8px}.edit-icon-btn--danger:hover{background:#dc2626;color:#fff;border-color:#dc2626}.perm-note{background:#eff6ff;color:#1e40af;border-left:4px solid #3b82f6;padding:12px 14px;border-radius:6px;margin-bottom:16px;font-size:14px}.perm-hint{color:#64748b;font-size:13px;margin:0 0 12px}.perm-groups{display:flex;flex-direction:column;gap:18px}.perm-group__title{font-weight:600;color:#334155;font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.perm-option{display:inline-flex;flex-direction:column;gap:2px;line-height:1.2}.perm-option__name{color:#1e293b;font-weight:500;font-size:14px}.perm-option__code{color:#94a3b8;font-size:11px;font-variant-numeric:tabular-nums}.perm-overrides-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.perm-overrides-header h3{margin:0}.perm-add-btn{min-width:auto;height:34px;padding:6px 14px}.perm-overrides{display:flex;flex-direction:column;gap:10px}.perm-override-row{display:grid;grid-template-columns:1fr 160px 36px;gap:10px;align-items:center}.perm-override-row select{padding:10px 12px;border:2px solid #ddd;border-radius:6px;font-size:14px;background-color:#fff;color:#333;transition:border-color .3s}.perm-override-row select:focus{outline:none;border-color:#1e293b}.perm-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}.perm-pager__info{color:#64748b;font-size:13px;font-variant-numeric:tabular-nums}.perm-pager__controls{display:inline-flex;gap:8px}.perm-pager__controls .modal-btn{min-width:96px;height:36px}@media(max-width:768px){.permissions-page{padding:15px}.perm-override-row{grid-template-columns:1fr 120px 36px}}.perm-tabs{border-bottom-color:var(--line)}.perm-tab{color:var(--ink-2)}.perm-tab:hover{color:var(--ink)}.perm-tab.is-active{color:var(--accent-2);border-bottom-color:var(--accent)}.perm-group__title{color:var(--ink-2)}.perm-option__name{color:var(--ink)}.perm-option__code{color:var(--ink-3)}.perm-note{background:var(--accent-wash);color:var(--accent-2);border-left-color:var(--accent)}.perm-hint{color:var(--ink-2)}.perm-override-row select{background:var(--surface-2);color:var(--ink);border-color:var(--line)}.perm-pager__info{color:var(--ink-2)}.tk-board{display:grid;grid-template-columns:repeat(5,minmax(236px,1fr));gap:12px;align-items:start;overflow-x:auto;padding-bottom:8px}@media(max-width:1100px){.tk-board{display:flex}.tk-col{min-width:248px;flex:0 0 248px}}.tk-col{background:var(--surface);border:1px solid var(--line);border-radius:13px;display:flex;flex-direction:column;max-height:100%}.tk-col.drag-over{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.tk-col-head{display:flex;align-items:center;gap:8px;padding:12px 13px 10px}.tk-col-title{font-size:13px;font-weight:700}.tk-col-hint{font-size:10.5px;color:var(--ink-3);margin-left:auto;white-space:nowrap}.tk-count{font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600;background:var(--surface-3);color:var(--ink-2);border-radius:6px;padding:1px 6px}.tk-cards{display:flex;flex-direction:column;gap:9px;padding:4px 10px 12px;min-height:60px}.tk-card{background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:11px 12px;cursor:grab;position:relative}.tk-card:hover{border-color:var(--line-2)}.tk-card.dragging{opacity:.45}.tk-card.done{opacity:.72}.tk-title{font-size:13px;font-weight:600;line-height:1.35}.tk-card.done .tk-title{text-decoration:line-through;text-decoration-color:var(--ink-3)}.tk-desc{font-size:11.5px;color:var(--ink-3);margin-top:4px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tk-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}.tk-tag{font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:5px}.tk-foot{display:flex;align-items:center;gap:8px;margin-top:10px}.tk-bonus{display:inline-flex;align-items:center;gap:4px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700;color:var(--green);background:var(--green-wash);border-radius:6px;padding:2px 7px}.tk-due{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:var(--ink-3);margin-left:auto}.tk-ava{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-weight:700;font-size:9.5px;color:#0b0d13;flex:0 0 auto}.tk-claim{width:100%;margin-top:10px;padding:7px 10px;border-radius:8px;border:1px dashed var(--accent-ring);background:transparent;color:var(--accent-2);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.tk-claim:hover{background:var(--accent-wash);border-style:solid}.tk-claim:disabled{opacity:.6;cursor:default}.tk-empty{border:1px dashed var(--line-2);border-radius:10px;padding:18px 10px;text-align:center;color:var(--ink-3);font-size:11.5px}.tk-add-btn{width:100%;padding:8px 10px;border-radius:9px;border:1px dashed var(--line-2);background:transparent;color:var(--ink-3);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.tk-add-btn:hover{color:var(--accent-2);border-color:var(--accent-ring);background:var(--accent-wash)}.tk-add-form{display:flex;flex-direction:column;gap:8px}.tk-add-form .input,.tk-add-form .select{width:100%}.tk-add-actions{display:flex;gap:8px}.tk-add-actions .btn{flex:1;justify-content:center}.tk-add-error{color:var(--red);font-size:11px;font-weight:600}.tk-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.tk-filter-tag{font-family:inherit;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 11px;border-radius:7px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);cursor:pointer}.tk-filter-tag:hover{border-color:var(--line-2);color:var(--ink)}.tk-filter-tag.on{border-color:transparent}.tk-filters .select{width:auto;margin-left:auto}.td-modal{background:var(--surface);border:1px solid var(--line);border-radius:16px;width:100%;max-width:880px;box-shadow:var(--shadow);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.td-top{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--surface-2)}.td-status{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:7px 11px;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer}.td-body{display:grid;grid-template-columns:1.45fr 1fr;gap:0;overflow-y:auto}@media(max-width:760px){.td-body{grid-template-columns:1fr}}.td-main{padding:20px 22px;border-right:1px solid var(--line);min-width:0}@media(max-width:760px){.td-main{border-right:0;border-bottom:1px solid var(--line)}}.td-side{padding:18px;min-width:0;display:flex;flex-direction:column}.td-title-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.td-check{width:26px;height:26px;border-radius:50%;border:2px solid var(--line-2);flex:0 0 auto;cursor:pointer;display:grid;place-items:center;color:transparent;margin-top:2px}.td-check.done{background:var(--green);border-color:var(--green);color:#04130c}.td-title{font-size:21px;font-weight:700;letter-spacing:-.015em;line-height:1.25}.td-title.done{text-decoration:line-through;text-decoration-color:var(--ink-3);color:var(--ink-2)}.td-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.td-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface-2);border-radius:9px;padding:7px 12px;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--ink-2);cursor:pointer}.td-chip:hover{color:var(--ink);border-color:var(--line-2)}.td-sec{margin-bottom:18px}.td-sec-title{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--ink-2);margin-bottom:10px}.td-desc{width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:11px 13px;color:var(--ink);font-family:inherit;font-size:13px;line-height:1.5;resize:vertical;min-height:72px;outline:none}.td-desc:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.td-cl-row{display:flex;align-items:center;gap:10px;padding:7px 0;cursor:pointer}.td-cl-box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line-2);display:grid;place-items:center;color:transparent;flex:0 0 auto}.td-cl-row.on .td-cl-box{background:var(--accent);border-color:var(--accent);color:#fff}.td-cl-text{font-size:13px}.td-cl-row.on .td-cl-text{text-decoration:line-through;color:var(--ink-3)}.td-cl-add{display:flex;gap:8px;margin-top:6px}.td-cl-add .input{flex:1;min-width:0}.td-comment-input{display:flex;gap:9px;margin-bottom:14px}.td-comment-input .input{flex:1;min-width:0}.td-feed{display:flex;flex-direction:column;gap:13px;overflow-y:auto}.td-feed-row{display:flex;gap:10px}.td-feed-ava{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-weight:700;font-size:11px;color:#0b0d13;flex:0 0 auto}.td-feed-text{font-size:12.5px;line-height:1.45;min-width:0}.td-feed-time{font-size:11px;color:var(--ink-3);margin-top:2px;font-family:IBM Plex Mono,monospace}.td-bubble{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:8px 11px;margin-top:3px;font-size:13px}.td-error{padding:8px 14px;background:var(--red-wash);color:var(--red);font-size:12.5px;font-weight:600;border-bottom:1px solid var(--line)}@media(max-width:560px){.td-modal{align-self:flex-end;max-width:100%;border-radius:16px 16px 0 0;max-height:94vh}}.tp-fbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;width:100%;min-width:0}.tp-fbar-main{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex:1 1 420px;min-width:0}.tp-fbar-main .search-input{flex:1 1 220px;min-width:180px;max-width:420px}.tp-fbar-main .select{width:auto;min-width:140px;max-width:260px;flex:0 1 auto}.tp-fbar-main .input[type=date]{width:auto}.tp-fbar-main .select.on,.tp-fbar-main .input.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.tp-fbar-side{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto}.tp-fbar-side .btn{width:auto;flex:0 0 auto}.tp-fbar-side .card-tag{min-width:0;overflow:hidden;text-overflow:ellipsis}.tp-fbar-reset{gap:6px;color:var(--ink-2)}.tp-fbar-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:inline-grid;place-items:center;background:var(--accent);color:#fff;font-size:11px;font-weight:700}.tp-fbar-hint{width:100%;font-size:12px;color:var(--ink-3);margin-top:-2px}.tp-export{gap:6px;white-space:nowrap}.tp-export .tp-spin{color:var(--accent-2)}.tp-days{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2)}.tp-days .input{width:72px;min-height:36px;padding:6px 10px;text-align:right}.tp-busy{opacity:.55;transition:opacity .15s ease;pointer-events:none}@media(prefers-reduced-motion:reduce){.tp-busy{transition:none}}.tp-dp{position:relative;flex:1 1 220px;min-width:200px;max-width:360px}.tp-dp .search-input{width:100%;max-width:none}.tp-dp-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-md, 0 8px 24px rgba(0,0,0,.18));max-height:320px;overflow-y:auto}.tp-dp-list li{margin:0}.tp-dp-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;background:transparent;border:0;color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}.tp-dp-item:hover,.tp-dp-item.on{background:var(--accent-wash)}.tp-dp-item .tp-dp-main{display:grid;gap:1px;min-width:0}.tp-dp-item .tp-dp-side{display:grid;justify-items:end;gap:2px;flex:0 0 auto}.tp-dp-empty{padding:10px 12px;font-size:12.5px;color:var(--ink-3)}.tp-dp-chip{display:inline-flex;align-items:center;gap:8px;min-height:var(--control-h);padding:0 6px 0 12px;border-radius:9px;background:var(--accent-wash);border:1px solid var(--accent-ring);color:var(--ink);font-size:13px;max-width:100%}.tp-dp-chip .tp-dp-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tp-dp-chip .tp-dp-x{width:26px;height:26px;border-radius:7px;border:0;background:transparent;color:var(--ink-2);display:inline-grid;place-items:center;cursor:pointer;padding:0}.tp-dp-chip .tp-dp-x:hover{background:var(--surface);color:var(--ink)}@media(max-width:768px){.tp-fbar-main{flex-basis:100%}.tp-fbar-main .search-input,.tp-dp{flex:1 1 100%;min-width:0;max-width:none}.tp-fbar-main .select{flex:1 1 calc(50% - 4px);min-width:0;max-width:none}.tp-fbar-side{width:100%;margin-left:0;justify-content:space-between;flex-wrap:wrap}.tp-period .seg{width:100%}.tp-period .seg button{flex:1 1 auto}.tp-period .input{flex:1 1 0;min-width:0}}.as-thumb{width:36px;height:36px;border-radius:9px;flex:0 0 auto;display:grid;place-items:center;overflow:hidden;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-3)}.as-thumb img{width:100%;height:100%;object-fit:cover;display:block}.as-item{display:flex;align-items:center;gap:10px;min-width:0}.as-item-text{display:flex;flex-direction:column;min-width:0}.as-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.as-acts{display:inline-flex;gap:4px;justify-content:flex-end}.as-bulk{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;background:var(--accent-wash);border-bottom:1px solid var(--accent-ring);font-size:13px}.as-bulk .btn{width:auto}.as-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.as-col{display:flex;flex-direction:column;gap:14px;min-width:0}.as-specs{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px}.as-photo{width:180px;height:180px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);display:grid;place-items:center;overflow:hidden;padding:0;cursor:zoom-in;position:relative;color:var(--ink-3)}.as-photo img{width:100%;height:100%;object-fit:cover;display:block}.as-photo:disabled{cursor:default}.as-photo-busy{position:absolute;inset:0;display:grid;place-items:center;background:#0006;color:#fff;font-size:12px}.as-photo-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;width:180px}.as-kv{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:13px}.as-kv:last-child{border-bottom:0}.as-kv>span:first-child{color:var(--ink-3);font-size:12.5px;flex:0 0 auto}.as-kv>span:last-child{text-align:right;min-width:0;overflow-wrap:anywhere}.as-banner{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:var(--red-wash);color:var(--red);margin-bottom:16px}.as-icons{display:flex;flex-wrap:wrap;gap:4px}.as-icons button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;padding:0}.as-icons button.on{border-color:var(--accent);background:var(--accent-wash);color:var(--accent-2)}.as-cat-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line)}.as-cat-row:last-child{border-bottom:0}.as-cat-name{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-size:13.5px}.as-scan{border-color:var(--accent-ring);box-shadow:var(--glow-soft)}.as-scan .search-input{height:auto;padding:12px 14px;border-color:var(--accent-ring)}.as-scan .search-input input{font-size:15px}.as-last{margin-top:12px;border-radius:10px;padding:10px 13px;display:flex;align-items:center;gap:10px;font-size:12.5px}.as-last.ok{background:var(--green-wash);color:var(--green)}.as-last.info{background:var(--surface-2);color:var(--ink-2)}.as-last.warn{background:var(--amber-wash);color:var(--amber)}.as-last.err{background:var(--red-wash);color:var(--red)}.as-prog{display:flex;height:8px;border-radius:5px;overflow:hidden;background:var(--surface-2)}.as-prog>i{display:block;height:100%}.as-seg-wrap{overflow-x:auto;max-width:100%}.as-res{display:inline-flex;gap:4px;flex-wrap:nowrap}.as-res button{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:5px 9px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.as-res button:hover:not(:disabled){border-color:var(--line-2);color:var(--ink)}.as-res button.on.present{background:var(--green-wash);color:var(--green);border-color:var(--green)}.as-res button.on.missing{background:var(--red-wash);color:var(--red);border-color:var(--red)}.as-res button.on.damaged{background:var(--amber-wash);color:var(--amber);border-color:var(--amber)}.as-res button:disabled{opacity:.5;cursor:not-allowed}.as-comment.input{height:32px;font-size:12.5px;padding:0 10px;min-width:150px}.as-flash-0>td{animation:as-flash-a 1.8s ease-out 1}.as-flash-1>td{animation:as-flash-b 1.8s ease-out 1}@keyframes as-flash-a{0%{box-shadow:inset 0 0 0 100vmax var(--green-wash)}to{box-shadow:inset 0 0 0 100vmax transparent}}@keyframes as-flash-b{0%{box-shadow:inset 0 0 0 100vmax var(--green-wash)}to{box-shadow:inset 0 0 0 100vmax transparent}}.as-tone-red{color:var(--red)}.as-tone-amber{color:var(--amber)}.as-tone-green{color:var(--green)}.as-tone-blue{color:var(--blue)}.as-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.as-form{display:grid;gap:14px}.as-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.as-note{padding:10px 12px;border-radius:10px;background:var(--amber-wash);color:var(--amber);font-size:12.5px}.as-err{padding:10px 12px;border-radius:10px;background:var(--red-wash);color:var(--red);font-size:12.5px}.as-hint{font-size:12px;color:var(--ink-3)}.as-labels{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}@media(max-width:1180px){.as-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.as-specs{grid-template-columns:minmax(0,1fr)}.as-photo{width:100%;height:220px}.as-photo-acts{width:100%}}@media(max-width:760px){.as-res button span{display:none}.as-res button{min-width:36px;min-height:36px;justify-content:center;padding:0}}@media(max-width:560px){.as-comment.input{min-width:0;flex:1 1 auto}}.as-locs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px}.as-loc{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;font:inherit;cursor:pointer;min-width:0}.as-loc:hover{border-color:var(--line-2)}.as-loc.on{border-color:var(--accent);background:var(--accent-wash);box-shadow:inset 0 0 0 1px var(--accent-ring)}.as-loc.static{cursor:default}.as-loc-top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}.as-loc-name{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.as-loc.on .as-loc-name{color:var(--accent-2)}.as-loc-big{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.as-loc-big b{font-family:IBM Plex Mono,monospace;font-size:26px;font-weight:600;line-height:1.1}.as-loc-big span{font-size:12.5px;color:var(--ink-2)}.as-loc-pills{display:flex;gap:6px;flex-wrap:wrap}.as-loc-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2);min-width:0}.as-loc-check span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.as-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.as-rail{display:flex;flex-direction:column;gap:14px;min-width:0}.as-rail .card.pad{padding:14px 16px;display:flex;flex-direction:column;gap:10px}.as-rail-title{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.as-audit{padding:10px 12px;border-radius:10px;background:var(--surface-2);display:flex;flex-direction:column;gap:4px}.as-audit-counts{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink-2);flex-wrap:wrap}.as-att{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px dashed var(--line);color:inherit;text-decoration:none;min-width:0}.as-att:last-child{border-bottom:0}.as-att:hover .as-att-name{color:var(--accent-2)}.as-att-ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto}.as-att-ic.red{background:var(--red-wash);color:var(--red)}.as-att-ic.amber{background:var(--amber-wash);color:var(--amber)}.as-att-name{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.as-att-sub{display:block;font-size:12px;color:var(--ink-2)}.as-chips{display:flex;gap:6px;flex-wrap:wrap}.as-chip{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font:inherit;font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}.as-chip:hover{color:var(--ink);border-color:var(--line-2)}.as-chip.on{background:var(--accent-wash);color:var(--accent-2);border-color:var(--accent-ring)}.as-chip .num{font-weight:600;opacity:.85}@media(max-width:1180px){.as-layout{grid-template-columns:minmax(0,1fr)}}.salary-detail-page{display:flex;flex-direction:column;gap:16px}.sd-grid-busy{opacity:.6;transition:opacity .15s ease}.sd-period-input{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:8px 12px;font-size:14px;font-family:inherit}.sd-view-toggle{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:2px;gap:2px}.sd-view-toggle button{border:0;background:transparent;color:var(--ink-2);font-family:inherit;font-size:13px;padding:6px 12px;border-radius:8px;cursor:pointer}.sd-view-toggle button.on{background:var(--surface);color:var(--ink);font-weight:600}.sd-perpage{display:inline-flex;align-items:center;gap:6px}.sd-perpage-label{font-size:12px;white-space:nowrap}.sd-perpage-select{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:5px 8px;font-size:13px;font-family:inherit}.sd-state{text-align:center;padding:40px 0}.sd-error{color:var(--red)}.sd-empty{text-align:center;padding:32px 0}.sd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sd-comp,.sd-table-card{grid-column:1 / -1}@media(max-width:900px){.sd-grid{grid-template-columns:1fr}}.sd-comp-body{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.sd-comp-ring{flex:0 0 auto}.sd-comp-main{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:16px}.sd-net-label{font-size:12px}.sd-net-value{font-size:30px;font-weight:700;color:var(--accent-2);letter-spacing:-.02em}.sd-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:560px){.sd-tiles{grid-template-columns:repeat(2,1fr)}}.sd-tile{background:var(--surface-2);border-radius:10px;padding:10px 12px;min-width:0}.sd-tile-label{font-size:11px}.sd-tile-value{font-size:15px;font-weight:600;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-pos{color:var(--green-text)}.sd-neg{color:var(--red-text)}.sd-flow{display:flex;flex-direction:column;gap:8px}.sd-flow-row{display:grid;grid-template-columns:96px 1fr 120px;align-items:center;gap:10px}.sd-flow-label{font-size:12px;color:var(--ink-2)}.sd-flow-track{height:9px}.sd-flow-num{text-align:right;font-size:12px;color:var(--ink-2)}.sd-fill-neg{background:linear-gradient(90deg,var(--red),var(--amber))!important}.sd-daybars{display:flex;align-items:flex-end;gap:4px}.sd-daybar-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px}.sd-daybar-track{width:100%;max-width:26px;display:flex;align-items:flex-end;justify-content:center}.sd-daybar-fill{width:100%;border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--accent-2),var(--accent))}.sd-daybar-label{font-size:10px}.sd-bar-list{display:flex;flex-direction:column;gap:12px}.sd-bar-row{display:grid;grid-template-columns:minmax(90px,160px) 1fr 110px;align-items:center;gap:12px}.sd-bar-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-bar-track{height:8px}.sd-bar-num{text-align:right;font-size:12px;color:var(--ink-2)}.sd-table-wrap{overflow-x:auto}.sd-table-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:4px 14px 12px}.sd-table-foot .pagination{margin:0;padding:0}.sd-table{width:100%;border-collapse:collapse;font-size:13px}.sd-table thead th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:600;padding:8px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.sd-table tbody td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}.sd-table tbody tr:last-child td{border-bottom:none}.sd-right{text-align:right}.sd-when{white-space:nowrap;color:var(--ink-2)}.sd-what-name{font-weight:500}.sd-what-sub{font-size:11px;margin-top:1px}.sd-action-fields{margin-top:5px;display:flex;flex-direction:column;gap:2px}.sd-field-row{display:flex;gap:6px;font-size:11.5px;flex-wrap:wrap;line-height:1.35}.sd-field-val{color:var(--ink);font-weight:500;word-break:break-word}.sd-field-code{color:var(--ink-3);font-weight:400}.sd-muted{color:var(--ink-3)}.sd-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line)}.sd-filter{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:4px 8px;color:var(--ink-3)}.sd-filter-control{background:transparent;border:none;outline:none;color:var(--ink);font-family:inherit;font-size:13px;max-width:200px}.sd-filter-control option{background:var(--surface-2);color:var(--ink)}.sd-filter-search{flex:1 1 160px;min-width:140px}.sd-filter-search .sd-filter-control{flex:1;max-width:none}.sd-filter-reset{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1px solid var(--line);border-radius:9px;padding:5px 10px;color:var(--ink-2);font-size:12px;font-family:inherit;cursor:pointer}.sd-filter-reset:hover{color:var(--ink);border-color:var(--ink-3)}.sd-bulk{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:3px 4px 3px 10px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px}.sd-bulk-label{font-size:12px;color:var(--ink-3);white-space:nowrap}.sd-bulk-input{width:96px;background:var(--surface);border:1px solid var(--line);border-radius:7px;outline:none;color:var(--ink);font-family:inherit;font-size:13px;padding:4px 8px}.sd-bulk-input:focus{border-color:var(--accent-2)}.sd-bulk-btn{display:inline-flex;align-items:center;gap:4px;background:var(--accent-2);border:1px solid var(--accent-2);border-radius:7px;padding:5px 10px;color:#fff;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap}.sd-bulk-btn:disabled{opacity:.5;cursor:not-allowed}.sd-bulk-msg{margin:0;padding:8px 14px;font-size:12.5px;border-bottom:1px solid var(--line)}.sd-bulk-msg-ok{color:var(--accent-2);background:var(--accent-wash, var(--surface-2))}.sd-bulk-msg-err{color:var(--danger, #e5484d)}.sd-bulk-confirm-body{font-size:14px;color:var(--ink);line-height:1.5}.sd-kpi-cell{display:inline-flex;align-items:center;gap:6px;justify-content:flex-end}.sd-manual-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px;color:var(--accent-2);background:var(--accent-wash, var(--surface-2));border:1px solid var(--line);white-space:nowrap}.sd-col-actions{width:44px}.sd-kpi-actions{white-space:nowrap}.sd-mini-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);cursor:pointer;transition:color .15s,border-color .15s}.sd-mini-btn:hover{color:var(--accent-2);border-color:var(--accent-2)}.sd-kpi-actions .sd-mini-btn+.sd-mini-btn{margin-left:6px}.sd-kpi-form{display:flex;flex-direction:column;gap:8px}.sd-kpi-form-label{font-size:13px;font-weight:600;color:var(--ink-2)}.sd-kpi-input{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:10px 12px;font-size:16px;font-family:inherit}.sd-kpi-input:focus{outline:none;border-color:var(--accent-2)}.sd-kpi-hint{font-size:12px}.sd-kpi-error{color:var(--red);font-size:12px}.sd-pill{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.sd-pill-green{color:var(--green);background:var(--green-wash)}.sd-pill-amber{color:var(--amber);background:var(--amber-wash)}.sd-pill-red{color:var(--red);background:var(--red-wash)}.sd-pill-grey{color:var(--ink-3);background:var(--surface-2)}.sd-loc-cell{display:inline-flex;align-items:center;gap:8px}.sd-loc-cell .sd-loc-edit{width:24px;height:24px;border-radius:7px}.sd-pen-cell{display:inline-flex;align-items:center;gap:6px;justify-content:flex-end}.sd-pen-count{font-size:10px;font-weight:700;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:0 5px}.sd-filter-hint{font-size:11px;white-space:nowrap}.sd-pen-select{font-size:14px}.sd-bulk-btn-neg{background:var(--red, #e5484d);border-color:var(--red, #e5484d)}.sd-table-card .card-title{display:flex;align-items:center;gap:8px}.sd-table-card .card-head{flex-wrap:wrap}.sd-card-ico{width:24px;height:24px;border-radius:6px;display:grid;place-items:center;flex:0 0 auto}.sd-card-ico--accent{background:var(--accent-wash);color:var(--accent-2)}.sd-card-ico--green{background:var(--green-wash);color:var(--green-text)}.sd-card-ico--red{background:var(--red-wash);color:var(--red-text)}.sd-card-ico--amber{background:var(--amber-wash);color:var(--amber)}.sd-card-ico--blue{background:var(--blue-wash);color:var(--blue)}.sd-tile--pos{box-shadow:inset 3px 0 0 var(--green)}.sd-tile--neg{box-shadow:inset 3px 0 0 var(--red)}.sd-daybars{position:relative;padding-top:30px}.sd-daybar-col{position:relative}.sd-chart-ref{position:absolute;top:30px;left:0;right:0;border-top:1px dashed var(--line-2);pointer-events:none}.sd-chart-ref-label{position:absolute;right:0;top:0;transform:translateY(-100%);font-size:11px;color:var(--ink-2);background:var(--surface);padding:0 5px;border-radius:4px}.sd-daybar-tip{position:absolute;top:-28px;left:50%;transform:translate(-50%);background:var(--surface-3);color:var(--ink);border:1px solid var(--line-2);box-shadow:var(--shadow-sm);border-radius:7px;padding:2px 8px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:2}.sd-daybar-col:hover .sd-daybar-tip{opacity:1}.sd-daybar-col.sd-tip-left .sd-daybar-tip{left:0;transform:none}.sd-daybar-col.sd-tip-right .sd-daybar-tip{left:auto;right:0;transform:none}.sd-admin-tools{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding-left:12px;border-left:1px solid var(--line)}.sd-admin-tools .sd-bulk{margin-left:0}.sd-admin-tools--neg{background:var(--red-wash);border-left:0;border-radius:10px;padding:4px 8px}.vis-page{min-width:0}.vis-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;padding:10px 12px;margin-bottom:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.vis-period{flex:0 1 auto;max-width:100%;overflow-x:auto;scrollbar-width:none}.vis-period::-webkit-scrollbar{display:none}.vis-dates{display:flex;align-items:center;gap:6px}.vis-dates .input{width:150px}.vis-dash{color:var(--ink-3)}.vis-range-hint{font-size:12px;color:var(--ink-2)}.vis-range-hint.bad{color:var(--red-text)}.vis-selects{display:flex;gap:8px;flex-wrap:wrap}.vis-sel{width:auto;min-width:160px;max-width:260px}.vis-sel-sm{width:auto;min-width:150px}.vis-sel-sm.on{border-color:var(--accent)}.app .vis-switch{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:13px;font-weight:500;color:var(--ink-2);-webkit-user-select:none;user-select:none;min-height:var(--control-h)}.vis-switch .toggle{padding:0;appearance:none;font:inherit}.vis-switch .toggle:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.vis-staff-count{margin-left:6px;vertical-align:1px}.vis-reset{margin-left:auto}.vis-content{transition:opacity .15s ease}.vis-dim{opacity:.55;pointer-events:none;transition:opacity .15s ease}.vis-banner{display:flex;align-items:center;gap:12px}.vis-banner.bad{background:var(--red-wash);border-color:transparent;color:var(--red-text)}.vis-banner.warn{background:var(--amber-wash);border-color:transparent;color:var(--ink)}.vis-banner.warn>svg{color:var(--amber);flex:0 0 auto}.vis-banner-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px}.vis-empty-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.vis-skel-stat{height:112px;border-radius:14px}.vis-skel-chart{height:290px;border-radius:14px}.vis-skel-table{height:320px;border-radius:14px;margin-bottom:16px}.vis-spin{width:14px;height:14px;border-radius:50%;border:2px solid var(--line-2);border-top-color:var(--accent);animation:vis-spin .8s linear infinite;flex:0 0 auto}.vis-spinning svg{animation:vis-spin .9s linear infinite}@keyframes vis-spin{to{transform:rotate(360deg)}}.vis-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.vis-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.vis-now{display:inline-flex;align-items:center;gap:9px}.vis-pulse{width:9px;height:9px;border-radius:50%;background:var(--green);flex:0 0 auto;animation:vis-pulse 2s ease-out infinite}@keyframes vis-pulse{0%{box-shadow:0 0 #36d3998c}70%{box-shadow:0 0 0 8px #36d39900}to{box-shadow:0 0 #36d39900}}.vis-row-a{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px;margin-bottom:16px}.vis-row-a.single{grid-template-columns:minmax(0,1fr)}.vis-row-b{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.vis-row-c{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:16px;align-items:start}@media(min-width:1600px){.vis-row-c:not(.solo){grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}.app .vis-coverage{margin:14px 0 0;font-size:12.5px;color:var(--ink-2)}.app .vis-note{margin:6px 0 0;font-size:12px;color:var(--ink-2);line-height:1.5}.vis-figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}.vis-figs>div{background:var(--surface-2);border-radius:10px;padding:10px 12px;min-width:0}.vis-figs dt{font-size:11.5px;font-weight:600;color:var(--ink-2)}.vis-figs dd{margin:4px 0 0;font-size:16px;font-weight:600;color:var(--ink);line-height:1.3}.app .vis-h2{margin:0}.vis-tbl{min-width:0;overflow:hidden}.vis-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.vis-scroll::-webkit-scrollbar{height:7px}.vis-scroll::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.vis-table th[aria-sort]{padding:0}.vis-th-btn{display:flex;width:100%;align-items:center;gap:4px;border:0;background:none;padding:13px 16px;margin:0;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap}.vis-table th.r .vis-th-btn{justify-content:flex-end}.vis-th-btn:hover{color:var(--ink)}.vis-th-btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px;border-radius:4px}.vis-th-caret{display:inline-flex;transition:transform .15s ease}.vis-th-caret.up{transform:rotate(180deg)}.vis-th-actions{width:1%}.vis-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.vis-name{font-weight:600;color:var(--ink)}.vis-sub{font-size:11.5px;color:var(--ink-2)}.vis-unknown{color:var(--ink-2)}.vis-time{font-weight:600;color:var(--ink)}.vis-open{font-size:11px}.vis-sex{display:inline-flex;align-items:center;gap:7px;color:var(--ink)}.vis-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex:0 0 auto}.vis-age{display:inline-flex;align-items:baseline;gap:6px;flex-wrap:wrap;color:var(--ink)}.vis-years{font-size:12px;color:var(--ink-2)}.vis-actions .btn+.btn{margin-left:6px}.vis-visits{margin-bottom:16px;overflow:hidden}.vis-visits-head{flex-wrap:wrap}.vis-visits-title{display:flex;align-items:center;gap:10px;min-width:0}.vis-visits-tools{display:flex;gap:8px;flex-wrap:wrap}.vis-visits-error{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;color:var(--red-text);background:var(--red-wash);font-size:13px}.vis-visits-skel{padding:14px 18px;display:grid;gap:10px}.vis-visits-skel .skel{height:34px}.vis-howto{padding:0;margin-bottom:8px}.vis-howto summary{display:flex;align-items:center;gap:8px;padding:14px 18px;cursor:pointer;list-style:none;font-weight:600;font-size:13.5px;color:var(--ink);border-radius:14px}.vis-howto summary::-webkit-details-marker{display:none}.vis-howto summary svg{color:var(--ink-2);transform:rotate(-90deg);transition:transform .15s ease}.vis-howto[open] summary svg{transform:none}.vis-howto summary:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.vis-howto ul{margin:0;padding:0 18px 16px 40px;display:grid;gap:6px;font-size:13px;color:var(--ink-2);line-height:1.5}@media(max-width:980px){.vis-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vis-row-a,.vis-row-b,.vis-row-c{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.vis-filters{align-items:stretch}.vis-period{width:100%;display:flex}.vis-period button{flex:1 1 auto}.vis-dates{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%}.vis-dates .input{width:100%}.vis-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.vis-sel{width:100%;min-width:0;max-width:none}.vis-reset{margin-left:0}}@media(max-width:560px){.vis-period button{padding-left:8px;padding-right:8px}.vis-kpis{gap:10px}.vis-kpis .stat{padding:13px 14px}.vis-kpis .stat-val{font-size:19px}.vis-figs dd{font-size:14px}.vis-visits-tools{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.vis-sel-sm{width:100%;min-width:0}.vis-table.responsive td .vis-cell{align-items:flex-end;text-align:right}.vis-table.responsive td.vis-actions{justify-content:flex-end}.vis-table.responsive td.vis-actions:before{display:none}}@media(max-width:360px){.vis-kpis{grid-template-columns:minmax(0,1fr)}}.stf-page{min-width:0;--stf-amber-text: var(--amber)}.app[data-theme=light] .stf-page{--stf-amber-text: #8f5f05}.stf-sub{display:block;font-size:12px;color:var(--ink-2);margin-top:2px;line-height:1.4}.stf-sub.stf-inline{display:inline;margin:0}.stf-muted{color:var(--ink-2)}.stf-warn,.stf-amber{color:var(--stf-amber-text)}.stf-red{color:var(--red-text)}.stf-green{color:var(--green-text)}.stf-link{color:var(--accent-2);font-weight:500;text-decoration:none}.stf-link:hover{text-decoration:underline}.stf-link:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:4px}.app .stf-h2{margin:0;font-size:15px}.stf-count{font-weight:400;color:var(--ink-2);font-size:13px}.stf-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.stf-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;padding:10px 12px;margin-bottom:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.stf-period{flex:0 1 auto;max-width:100%;overflow-x:auto;scrollbar-width:none}.stf-period::-webkit-scrollbar{display:none}.stf-dates{display:flex;align-items:center;gap:6px}.stf-dates .input{width:150px}.stf-dash{color:var(--ink-3)}.stf-range-hint{font-size:12px;color:var(--ink-2)}.stf-range-hint:empty{display:none}.stf-range-hint.bad{color:var(--red-text)}.stf-search{position:relative;display:inline-flex;align-items:center}.stf-search>svg{position:absolute;left:11px;color:var(--ink-3);pointer-events:none}.stf-search .input{padding-left:34px;width:280px}.app .stf-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none}.stf-check input{width:16px;height:16px;margin:0}.stf-updated{margin-left:auto;font-size:12px;color:var(--ink-2)}.stf-content{transition:opacity .15s ease}.stf-dim{opacity:.55;pointer-events:none;transition:opacity .15s ease}.stf-banner{display:flex;align-items:center;gap:12px}.stf-banner.bad{background:var(--red-wash);border-color:transparent;color:var(--red-text)}.stf-banner.warn{background:var(--amber-wash);border-color:transparent;color:var(--ink)}.stf-banner.warn>svg{color:var(--amber);flex:0 0 auto}.stf-banner-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px}.stf-empty-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.stf-skel-stat{height:112px;border-radius:14px}.stf-skel-table{height:420px;border-radius:14px;margin-bottom:16px}.stf-skel-timeline{height:320px;border-radius:14px;margin-bottom:16px}.stf-skel-box{height:260px;border-radius:14px}.stf-spinning svg{animation:stf-spin .9s linear infinite}@keyframes stf-spin{to{transform:rotate(360deg)}}.stf-none{margin-bottom:16px}.stf-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.stf-kpi-val{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.stf-kpi-of,.stf-kpi-val small.stf-kpi-of{font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:500;color:var(--ink-2);letter-spacing:0}.stf-kpi-val .pill{font-size:11.5px;padding:3px 8px}.stf-kpi-word{font-family:Inter,system-ui,sans-serif;font-size:18px;font-weight:600;letter-spacing:-.01em}.stf-kpi-word.green{color:var(--green-text)}.stf-chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;white-space:nowrap;color:var(--ink-2)}.stf-chip>i{width:8px;height:8px;border-radius:50%;background:var(--ink-3);flex:0 0 auto}.stf-chip.green{color:var(--green-text)}.stf-chip.green>i{background:var(--green);box-shadow:0 0 0 3px var(--green-wash)}.stf-chip.amber{color:var(--stf-amber-text)}.stf-chip.amber>i{background:var(--amber)}.stf-chip.red{color:var(--red-text)}.stf-chip.red>i{background:var(--red)}.stf-chip-time{font-weight:500}.stf-chip.big{min-height:30px;padding:0 12px;border-radius:999px;font-size:13px;background:var(--surface-2)}.stf-chip.big.green{background:var(--green-wash)}.stf-chip.big.amber{background:var(--amber-wash)}.stf-chip.big.red{background:var(--red-wash)}.stf-chip.big.green>i{box-shadow:none}.stf-ava{width:24px;height:24px;border-radius:50%;background:var(--surface-3);color:var(--ink);font-size:10px;font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:2px solid var(--line-2);overflow:hidden;padding:0;font-family:inherit}.stf-ava.lg{width:44px;height:44px;font-size:14px}.stf-ava.ring-green{border-color:var(--green)}.stf-ava.ring-red{border-color:var(--red)}.stf-ava.ring-amber{border-color:var(--amber)}.stf-ava.ring-blue{border-color:var(--blue)}.stf-ava img{width:100%;height:100%;object-fit:cover;display:block}button.stf-ava{cursor:zoom-in}button.stf-ava:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.stf-avas{display:inline-flex;align-items:center;flex:0 0 auto}.stf-avas .stf-ava+.stf-ava{margin-left:-9px}.stf-people{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.stf-people-names{color:var(--ink)}.stf-strip{position:relative;width:200px;max-width:100%;height:18px;background:var(--surface-2);border-radius:4px;overflow:hidden;flex:0 0 auto}.stf-strip.muted,.stf-strip.nodata{background:transparent;box-shadow:inset 0 0 0 1px var(--line-2)}.stf-strip.nodata{background:repeating-linear-gradient(135deg,transparent 0 4px,color-mix(in srgb,var(--ink-3) 35%,transparent) 4px 5px)}.stf-strip-seg{position:absolute;display:block}.stf-strip-seg.on{top:3px;height:8px;background:var(--viz-present);border-radius:2px}.stf-strip-seg.ab{top:3px;height:8px;border-radius:2px;background:repeating-linear-gradient(135deg,var(--viz-absent) 0 2px,var(--surface-2) 2px 5px)}.stf-strip-seg.late{top:3px;height:8px;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--viz-absent) 65%,transparent) 0 1.5px,var(--surface-2) 1.5px 5px)}.stf-strip-seg.ph{top:13px;height:3px;background:var(--viz-phone);border-radius:2px}.stf-strip-now{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--accent);display:block}.stf-tbl{min-width:0;overflow:hidden;margin-bottom:14px}.stf-tbl-head{flex-wrap:wrap}.stf-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.stf-scroll::-webkit-scrollbar{height:7px}.stf-scroll::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.stf-table{min-width:1100px}.stf-table td{padding:11px 10px;vertical-align:middle}.stf-table th{padding:10px;white-space:normal}.stf-table td.stf-td-branch{min-width:170px}.stf-table td.stf-td-now{min-width:150px}.stf-table .stf-strip{width:180px}.stf-table .num,.stf-table .stf-open,.stf-cell.r .stf-sub{white-space:nowrap}.stf-table .stf-open{flex-wrap:nowrap}@media(max-width:1500px){.stf-table .stf-strip{width:150px}}.stf-table th[aria-sort]{padding:0}.stf-th-btn{display:flex;width:100%;align-items:center;gap:4px;border:0;background:none;padding:10px;margin:0;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;white-space:normal;text-align:left}.stf-table th.r .stf-th-btn{text-align:right}.stf-table th.r .stf-th-btn{justify-content:flex-end}.stf-th-btn:hover{color:var(--ink)}.stf-th-btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px;border-radius:4px}.stf-th-caret{display:inline-flex;transition:transform .15s ease}.stf-th-caret.up{transform:rotate(180deg)}.stf-th-exp,.stf-td-exp{width:44px}.stf-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.stf-cell.r{align-items:flex-end}.stf-name{font-weight:600;color:var(--ink);text-decoration:none}a.stf-name:hover{color:var(--accent-2)}a.stf-name:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:4px}.stf-open{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.stf-exp{width:26px;height:26px;border-radius:7px;border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.stf-exp:hover:not(:disabled){color:var(--ink);border-color:var(--accent)}.stf-exp:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.stf-exp:disabled{opacity:.4;cursor:not-allowed}.stf-exp[aria-expanded=true]{color:var(--ink);border-color:var(--accent)}.app .stf-table tr.stf-row.open>td{background:color-mix(in srgb,var(--accent) 6%,var(--surface))!important}.app .stf-table tr.stf-row.off>td{color:var(--ink-2)!important}.stf-row.off .stf-name{color:var(--ink-2)}.app .stf-table tr.stf-exp-row>td,.app .stf-table tr.stf-exp-row:hover>td{padding:0;background:color-mix(in srgb,var(--bg) 55%,var(--surface))!important}.stf-days{padding:12px 16px 14px 56px;display:flex;flex-direction:column;gap:10px}.stf-days-grid{display:flex;flex-direction:column;gap:6px}.stf-drow{display:grid;grid-template-columns:104px 210px 130px 96px 96px minmax(0,1fr) 104px;gap:12px;align-items:center;font-size:13px;color:var(--ink)}.stf-drow.head{font-size:11px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;padding-bottom:6px;border-bottom:1px solid var(--line)}.stf-drow.today .stf-dday{font-weight:700}.stf-dday{color:var(--ink-2)}.stf-drow.today .stf-dday{color:var(--ink)}.stf-days-foot{display:flex;gap:8px;flex-wrap:wrap}.stf-people-tbl{border:1px solid var(--line);border-radius:10px;overflow:hidden}.stf-people-tbl .stf-mini th,.stf-people-tbl .stf-mini td{padding:8px 10px;font-size:12.5px}.stf-people-note{font-size:12px;padding:8px 10px}.stf-explainer{font-size:12.5px;color:var(--ink-2);line-height:1.5;padding:0 4px;margin:4px 0 12px;max-width:980px}.stf-howto{padding:0;margin-bottom:8px}.stf-howto summary{display:flex;align-items:center;gap:8px;padding:14px 18px;cursor:pointer;list-style:none;font-weight:600;font-size:13.5px;color:var(--ink);border-radius:14px}.stf-howto summary::-webkit-details-marker{display:none}.stf-howto summary svg{color:var(--ink-2);transform:rotate(-90deg);transition:transform .15s ease}.stf-howto[open] summary svg{transform:none}.stf-howto summary:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.stf-howto ul{margin:0;padding:0 18px 16px 40px;display:grid;gap:6px;font-size:13px;color:var(--ink-2);line-height:1.5}.stf-crumbs{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-2);margin:-6px 0 10px}.stf-crumbs a{color:var(--ink-2);text-decoration:none}.stf-crumbs a:hover{color:var(--ink);text-decoration:underline}.stf-crumbs [aria-current]{color:var(--ink)}.stf-datenav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn.stf-sq{width:var(--control-h);padding:0}.stf-date{width:152px}.stf-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--ink-2);padding:10px 14px;margin-bottom:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.stf-info>svg{flex:0 0 auto;color:var(--ink-3)}.stf-info a{color:var(--accent-2);font-weight:500;text-decoration:none}.stf-info.warn{background:var(--amber-wash);border-color:transparent;color:var(--ink)}.stf-info.warn>svg{color:var(--amber)}.stf-tl-frame{margin-bottom:16px}.stf-tl-tools{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin-bottom:14px}.stf-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;font-size:12px;color:var(--ink-2)}.stf-legend li{display:inline-flex;align-items:center;gap:6px}.stf-key{display:inline-block;flex:0 0 auto}.stf-key.present{width:14px;height:6px;border-radius:2px;background:var(--viz-present)}.stf-key.absent{width:14px;height:6px;border-radius:2px;background:repeating-linear-gradient(135deg,var(--viz-absent) 0 2px,transparent 2px 4px)}.stf-key.phone{width:14px;height:4px;border-radius:2px;background:var(--viz-phone)}.stf-key.unseen{width:14px;height:6px;border-radius:2px;background:repeating-linear-gradient(135deg,var(--ink-3) 0 1.5px,transparent 1.5px 4px)}.stf-key.expected{width:12px;height:0;border-top:2px dashed var(--ink-2)}.stf-key.actual{width:2px;height:12px;background:var(--red)}.stf-key.now{width:2px;height:12px;background:var(--accent)}.stf-allcams{margin-top:10px}.stf-rot{transform:rotate(180deg)}.stf-selbar{margin-top:12px;padding:10px 12px;background:var(--surface-2);border-radius:10px;display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;font-size:13px;min-height:44px}.stf-selbar .pill{font-family:Inter,system-ui,sans-serif;font-size:12px;padding:3px 9px;border-radius:999px}.stf-selbar-range{color:var(--ink);font-weight:600}.stf-rec{display:inline-flex;align-items:center;gap:6px;color:var(--accent-2);font-weight:500;text-decoration:none;white-space:nowrap}.stf-rec:hover{text-decoration:underline}.stf-rec:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:4px}.stf-selbar .stf-rec,.stf-selbar .stf-rec-none{margin-left:auto}.stf-keys{font-size:12px;color:var(--ink-2)}.stf-twin td,.stf-twin th{white-space:nowrap}.stf-day-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:14px;margin-bottom:16px;align-items:start}.stf-emps,.stf-eps{display:flex;flex-direction:column;gap:12px;min-width:0}.stf-emp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.stf-emp{display:flex;align-items:center;gap:12px;padding:10px;background:var(--surface-2);border-radius:10px}.stf-emp-text{display:flex;flex-direction:column;gap:3px;min-width:0}.stf-emp-name{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.stf-emp-meta{font-size:12.5px;color:var(--ink-2)}.stf-emp-note{font-size:12.5px;color:var(--ink-2);line-height:1.5}.stf-emp-text .pill{font-family:Inter,system-ui,sans-serif;font-size:11.5px;border-radius:999px;padding:2px 8px}.stf-note{display:flex;align-items:center;gap:8px;font-size:13px;padding:10px 12px;border-radius:10px}.stf-note.warn{background:var(--amber-wash);color:var(--ink)}.stf-note.warn>svg{color:var(--amber);flex:0 0 auto}.stf-eps-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.stf-eps-note{font-size:12px}.stf-eps-empty{font-size:13px;color:var(--ink-2);padding:16px 0;text-align:center}.stf-ep-list{list-style:none;margin:0;padding:0}.stf-ep{display:grid;grid-template-columns:24px minmax(0,1fr) 118px 96px minmax(70px,110px) 80px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.stf-ep:last-child{border-bottom:0}.stf-ep-ic{display:inline-flex;color:var(--red)}.stf-ep.phone .stf-ep-ic,.stf-ep.early .stf-ep-ic{color:var(--amber)}.stf-ep-what{display:flex;flex-direction:column;gap:1px;min-width:0}.stf-ep-what .stf-muted{font-size:12px}.stf-ep-range{color:var(--ink)}.stf-ep-cam{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stf-ep-dur .pill,.stf-open .pill,.stf-drow .pill,.stf-people .pill{font-family:Inter,system-ui,sans-serif;border-radius:999px;font-size:11px}@media(max-width:1180px){.stf-ep{grid-template-columns:24px minmax(0,1fr) auto auto}.stf-ep-cam{grid-column:2}.stf-ep .stf-rec,.stf-ep-norec{grid-column:3 / span 2;justify-self:end}}@media(max-width:980px){.stf-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.stf-day-grid{grid-template-columns:minmax(0,1fr)}.stf-updated{margin-left:0;width:100%}}@media(max-width:760px){.stf-filters{align-items:stretch}.stf-period{width:100%;display:flex}.stf-period button{flex:1 1 auto}.stf-dates{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%}.stf-dates .input,.stf-search,.stf-search .input{width:100%}.stf-days{padding:10px 12px 12px}.stf-drow{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:6px;padding:8px 0;border-bottom:1px solid var(--line)}.stf-drow.head{display:none}.stf-drow .stf-strip{width:100%}.stf-drow .stf-dnum:before{content:attr(data-label) " ";font-family:Inter,system-ui,sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);margin-right:4px}}@media(max-width:560px){.stf-period button{padding-left:8px;padding-right:8px}.stf-kpis{gap:10px}.stf-kpis .stat{padding:13px 14px}.stf-kpis .stat-val{font-size:19px}.stf-table{min-width:0}.stf-table.responsive td .stf-cell{align-items:flex-end;text-align:right}.stf-table.responsive td.stf-td-exp{width:auto;justify-content:flex-end;padding-bottom:0}.stf-table.responsive td.stf-td-exp:before{display:none}.app .stf-table.responsive tr.stf-exp-row{padding:0;overflow:hidden}.stf-table.responsive td.stf-exp-cell{display:block;padding:0;text-align:left}.stf-table.responsive td.stf-exp-cell:before{display:none}.stf-table.responsive .stf-people{justify-content:flex-end}.stf-table .stf-strip{width:150px}.stf-ep{grid-template-columns:22px minmax(0,1fr) auto}.stf-ep-range,.stf-ep-cam{grid-column:2}.stf-ep-dur{grid-column:3;grid-row:1}.stf-ep .stf-rec,.stf-ep-norec{grid-column:3;grid-row:2}.stf-datenav{width:100%}.stf-date{flex:1;width:auto;min-width:0}.stf-selbar .stf-keys{display:none}}@media(max-width:360px){.stf-kpis{grid-template-columns:minmax(0,1fr)}}.tp-park{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.tp-park-name{color:var(--ink);font-weight:600}.tp-live{font-size:12px}.tp-switch{display:none;position:relative;margin:0 0 16px}.tp-switch select{appearance:none;-webkit-appearance:none;width:100%;min-height:46px;padding:10px 40px 10px 42px;border-radius:12px;cursor:pointer;background:var(--surface);border:1px solid var(--line);color:var(--ink);font:inherit;font-size:15px;font-weight:600}.tp-switch select:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.tp-switch-ic,.tp-switch-caret{position:absolute;top:50%;transform:translateY(-50%);pointer-events:none;display:inline-flex;color:var(--ink-2)}.tp-switch-ic{left:14px;color:var(--accent-2)}.tp-switch-caret{right:14px}@media(max-width:980px){.tp-switch{display:block}}.tp-list{list-style:none;margin:0;padding:0}.tp-item{display:grid;gap:8px;padding:14px 16px;border-top:1px solid var(--line);min-width:0}.tp-item:first-child{border-top:0}.tp-item-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.tp-item-main{display:grid;gap:2px;min-width:0}.tp-item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:12.5px;min-width:0}.tp-amount{white-space:nowrap;font-size:15px;flex:0 0 auto}.tp-sub{font-size:12px}.tp-wrap{overflow-wrap:anywhere;min-width:0}.tp-item-btn{width:100%;justify-content:center;min-height:44px}a.tp-sub{color:inherit;text-decoration:none}.tp-q{width:100%;min-height:46px}.tp-q input{font-size:16px}.tp-results{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:360px;overflow-y:auto}.tp-result{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:10px 12px;border-radius:10px;cursor:pointer;text-align:left;background:var(--surface-2);border:1px solid var(--line);color:var(--ink);font:inherit;transition:border-color .15s ease,background-color .15s ease}.tp-result:hover,.tp-result.on{border-color:var(--accent-ring);background:var(--accent-wash)}.tp-result:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.tp-result-main{display:grid;gap:2px;min-width:0}.tp-result-side{display:grid;gap:4px;justify-items:end;flex:0 0 auto}.tp-hit{color:var(--accent-2);font-weight:700}.tp-picked{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}.tp-done{display:grid;justify-items:center;gap:8px;padding:18px 0 6px;text-align:center}.tp-done-ic{width:48px;height:48px;border-radius:50%;display:grid;place-items:center}.tp-done-ic.green{background:var(--green-wash);color:var(--green)}.tp-done-ic.red{background:var(--red-wash);color:var(--red)}.tp-done-ic.amber{background:var(--amber-wash);color:var(--amber)}.tp-icon-btn{min-width:40px;min-height:40px;padding:0 12px;justify-content:center}.tp-notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;background:var(--amber-wash);color:var(--amber);font-size:13px;line-height:1.45}.modal .seg button:disabled{opacity:.4;cursor:not-allowed}.tp-spin{width:20px;height:20px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:tp-spin .8s linear infinite}@keyframes tp-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.tp-spin{animation:none}}.tp-pm-cb-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tp-pm-cb-actions{display:flex;gap:6px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.tp-pm-err{color:var(--red-text, var(--red));font-size:12px}.tp-pm-period{display:flex;gap:10px 14px;flex-wrap:wrap;align-items:center}.tp-pm-dates{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tp-pm-dates .input{width:auto}.tp-pm-head{flex-wrap:wrap;gap:10px}.tp-pm-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tp-pm-filters .select{width:auto;min-width:170px}.tp-pm-filters .search-input{min-width:220px}.tp-pm-meta{display:flex;gap:4px 8px;flex-wrap:wrap;align-items:center;margin-top:3px;font-size:11.5px;color:var(--ink-3)}.tp-pm-meta .tag{font-size:10.5px}.tp-pm-amt{font-weight:700;white-space:nowrap}.tp-pm-amt.green{color:var(--green)}.tp-pm-amt.muted{color:var(--ink-3);font-weight:500}.tp-pm-amt.struck{text-decoration:line-through}.tp-pm-actions{display:flex;gap:6px;flex-wrap:wrap}.tp-pm-actcell{white-space:nowrap}.tp-pm-actcell .tp-pm-actions{flex-direction:column;align-items:stretch}.tp-pm-actcell .btn{justify-content:flex-start}.tp-pm-rev:hover:not(:disabled){color:var(--red-text, var(--red));border-color:var(--red)}.tp-pm-table td{vertical-align:top}.tp-pm-busy{opacity:.55;transition:opacity .15s ease;pointer-events:none}.tp-pm-stat{display:contents}.tp-pm-stat.clickable{display:block;cursor:pointer;border-radius:14px}.tp-pm-stat.clickable .stat{height:100%;transition:border-color .15s ease,transform .15s ease}.tp-pm-stat.clickable:hover .stat,.tp-pm-stat.clickable:focus-visible .stat{border-color:var(--red)}.tp-pm-stat.clickable:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.tp-pm-top{list-style:none}.tp-pm-top .tp-item{display:flex;align-items:center;gap:12px;padding:10px 16px}.tp-pm-top .tp-item-main{flex:1 1 auto}.tp-pm-rank{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:var(--surface-2);color:var(--ink-2);font-size:11.5px;font-weight:600}.tp-pm-top li:first-child .tp-pm-rank{background:var(--accent-wash);color:var(--accent-2)}.tp-pm-bycb{border-top:1px solid var(--line);padding:10px 16px;display:grid;gap:6px;font-size:13px}a.tp-link:hover{text-decoration:underline}@media(prefers-reduced-motion:reduce){.tp-pm-busy,.tp-pm-stat.clickable .stat{transition:none}}@media(max-width:760px){.tp-pm-cb .tp-item-row{flex-direction:column}.tp-pm-cb-actions{width:100%;flex-wrap:nowrap;justify-content:flex-start}.tp-pm-cb-actions .btn{min-height:44px}.tp-pm-cb-actions .btn:first-child{flex:1 1 auto;justify-content:center}.tp-pm-cb-actions .tp-icon-btn{flex:0 0 44px;min-width:44px;padding:0}.tp-pm-filters{width:100%}.tp-pm-filters .select{flex:1 1 150px;min-width:0}.tp-pm-filters .search-input{flex:1 1 100%;min-width:0}.tp-pm-actions .tp-item-btn{flex:1 1 auto;width:auto}.tp-pm-dates{width:100%}.tp-pm-dates .input{flex:1 1 0;min-width:0}}a.tp-link{color:inherit;text-decoration:none}a.tp-link:hover{color:var(--accent-2);text-decoration:underline}.tp-strip{display:flex;align-items:stretch;flex-wrap:wrap;gap:0;margin-bottom:16px;padding:4px 6px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.tp-strip-cell{display:grid;align-content:center;gap:3px;min-width:0;padding:10px 16px;border-left:1px solid var(--line)}.tp-strip-cell:first-child,.tp-strip-cell.tp-strip-who{border-left:0}.tp-strip-who{display:flex;align-items:center;gap:12px;padding-left:10px}.tp-strip-k{font-size:11px;color:var(--ink-3);letter-spacing:.02em;text-transform:uppercase}.tp-strip-v{font-size:14.5px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px;min-width:0}.tp-strip-v.num{font-size:16px}.tp-avatar{width:44px;height:44px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-weight:700;font-size:15px;background:var(--accent-wash);color:var(--accent-2)}.tp-avatar.green{background:var(--green-wash);color:var(--green-text, var(--green))}.tp-avatar.red{background:var(--red-wash);color:var(--red-text, var(--red))}.tp-avatar.neutral{background:var(--surface-3);color:var(--ink-2)}.tp-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--amber);margin-left:6px;vertical-align:middle}.tp-bal-btn{width:36px;height:36px;margin:-4px 0;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);display:inline-grid;place-items:center;cursor:pointer;padding:0;transition:border-color .15s ease,background-color .15s ease}.tp-bal-btn:hover:not(:disabled){border-color:var(--accent-ring);background:var(--accent-wash);color:var(--accent-2)}.tp-bal-btn:disabled{opacity:.4;cursor:not-allowed}.tp-bal-btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.tp-warn{display:inline-flex;align-items:center;gap:6px;color:var(--red);font-size:12.5px;margin:-8px 0 12px}@media(max-width:760px){.tp-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tp-strip-cell{border-left:0;border-top:1px solid var(--line);padding:10px 12px}.tp-strip-who{grid-column:1 / -1;border-top:0}}.tp-sec{padding:6px 0 14px;border-bottom:1px solid var(--line)}.tp-sec:last-child{border-bottom:0}.tp-sec-head{display:flex;align-items:center;gap:8px;width:100%;padding:10px 0;margin:0;background:none;border:0;font:inherit;font-size:15px;font-weight:700;color:var(--ink);cursor:pointer;text-align:left}.tp-sec-head:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:6px}.tp-sec-head .tp-sec-caret{color:var(--ink-3);display:inline-flex;transition:transform .15s ease}.tp-sec-head[aria-expanded=false] .tp-sec-caret{transform:rotate(-90deg)}.tp-sec-note{font-size:12px;color:var(--ink-3);margin:-2px 0 10px}.tp-sec-body{display:grid;gap:10px}.tp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 32px;align-items:start}.tp-fields.one{grid-template-columns:minmax(0,1fr);max-width:640px}.tp-frow{display:grid;grid-template-columns:150px minmax(0,1fr);gap:6px 14px;align-items:center;min-height:40px}.tp-frow>.tp-flabel{font-size:12.5px;color:var(--ink-2);line-height:1.3}.tp-frow>.tp-flabel .tp-req{color:var(--red);margin-left:2px}.tp-frow .input,.tp-frow .select{min-height:40px;width:100%}.tp-frow textarea.input{min-height:72px;resize:vertical}.tp-frow.wide{grid-column:1 / -1}.tp-frow .tp-fhint{grid-column:2;font-size:11.5px;color:var(--ink-3);margin-top:-2px}.tp-frow .tp-ferr{grid-column:2;font-size:11.5px;color:var(--red);margin-top:-2px}.tp-frow.has-error>.tp-flabel{color:var(--red)}.tp-frow .input,.tp-frow .select,.tp-frow textarea.input{scroll-margin:96px 0 110px}.tp-frow.static>.tp-fvalue{font-size:13.5px;color:var(--ink);min-height:40px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tp-check{display:flex;align-items:center;gap:10px;font-size:13.5px;min-height:40px;cursor:pointer}.tp-check input{width:18px;height:18px;accent-color:var(--accent);margin:0}.tp-check.off{opacity:.55;cursor:not-allowed}@media(max-width:900px){.tp-fields{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.tp-frow{grid-template-columns:minmax(0,1fr);gap:4px}.tp-frow .tp-fhint,.tp-frow .tp-ferr{grid-column:1}}.tp-chips{display:flex;flex-wrap:wrap;gap:6px}.tp-chip{min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.tp-chip:hover:not(:disabled){border-color:var(--accent-ring);color:var(--ink)}.tp-chip.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.tp-chip:disabled{cursor:not-allowed;opacity:.6}.tp-chip:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.tp-form{padding-bottom:4px}.tp-savebar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px -18px -18px;padding:12px 18px;background:var(--surface);border-top:1px solid var(--line);border-radius:0 0 14px 14px}@supports (backdrop-filter: blur(1px)){.tp-savebar{background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}.tp-savebar .btn{flex:0 0 auto;width:auto}.tp-savebar .tp-savebar-msg{flex:1 1 200px;font-size:12.5px;min-width:0;line-height:1.35}.tp-savebar .tp-savebar-msg.err{color:var(--red)}.tp-savebar .tp-savebar-msg.ok{color:var(--green-text, var(--green))}.tp-missing{color:var(--amber)}.tp-kbd{font-size:11px;color:var(--ink-3);border:1px solid var(--line);border-radius:5px;padding:2px 6px;white-space:nowrap}@media(max-width:560px){.tp-kbd{display:none}}.tp-wait{display:grid;gap:10px}.tp-wait-hint{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-3)}.tp-wait-hint .tp-spin{width:14px;height:14px;border-width:2px;color:var(--accent-2)}.tp-errbox{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-radius:10px;background:var(--red-wash);color:var(--red-text, var(--red));font-size:13px;line-height:1.4}.tp-veh-current{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px 10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.tp-veh-current .tp-veh-main{display:grid;gap:2px;flex:1 1 200px;min-width:0;font-size:13.5px}.tp-veh-results{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px;max-height:260px;overflow-y:auto}.tp-veh-result{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;min-height:44px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.tp-veh-result:hover,.tp-veh-result.on{border-color:var(--accent-ring);background:var(--accent-wash)}.tp-veh-result:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.tp-report{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:16px;align-items:start}@media(max-width:980px){.tp-report{grid-template-columns:minmax(0,1fr)}}.tp-report-rows{display:grid;gap:0}.tp-report-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;font-size:13.5px;border-top:1px solid var(--line)}.tp-report-row:first-child{border-top:0}.tp-report-row.head{font-size:15px;font-weight:700;padding:10px 0 12px}.tp-report-row.total{font-weight:700;border-top:2px solid var(--line);margin-top:4px;padding-top:10px}.tp-report-row .k{color:var(--ink-2);min-width:0}.tp-report-row .v{white-space:nowrap;font-weight:600}.tp-report-row .v small{color:var(--ink-3);font-weight:400;margin-left:6px}.tp-period{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tp-period .input{width:auto;min-height:36px}.tp-period .tp-dash{color:var(--ink-3)}.tp-route{display:grid;gap:2px;font-size:12.5px;max-width:420px}.tp-route span{display:flex;gap:6px;align-items:baseline;min-width:0}.tp-route i{width:8px;height:8px;border-radius:50%;border:2px solid var(--ink-3);flex:0 0 auto;position:relative;top:1px}.tp-route .to i{border-color:var(--accent)}.tp-route em{font-style:normal;color:var(--ink-3);font-size:11px;margin-left:4px}.tp-tabs-sticky{position:sticky;top:0;z-index:4;background:var(--bg)}.tp-muted-note{font-size:12.5px;color:var(--ink-3)}.router-page-content{min-height:unset!important;height:auto!important;padding:0!important;margin:0!important;background-color:transparent!important}@media(max-width:768px){.router-page-content{padding:0!important;width:100%!important;box-sizing:border-box}.page-container{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}.router-page-content>*{padding:0!important;margin:0!important;width:100%!important;box-sizing:border-box!important}body,html{overflow-x:hidden}}.router-page-content .products-page,.router-page-content .cashbox-page{padding:0;margin:0;max-width:none;background-color:transparent;min-height:unset;width:100%}@media(max-width:768px){.router-page-content .cashbox-page{padding:0!important;margin:0!important;height:auto!important;min-height:auto!important}.mobile-tab-navigation{position:sticky;top:60px;z-index:100;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 4px #0000001a}.mobile-content-section{flex:1;overflow-y:auto;padding-bottom:24px}}.router-page-content .debts-page,.router-page-content .warehouse-page,.router-page-content .create-debt-page{padding:0;margin:0;max-width:none;background-color:transparent;min-height:unset;width:100%}.page-container{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000001a;border:1px solid #e2e8f0;min-height:calc(100vh - 48px);overflow:auto;max-width:1400px;margin:0 auto;width:100%}.router-page-content .page-header{margin-bottom:24px;text-align:left}.router-page-content .page-header h1{color:#2d3748;font-size:28px;font-weight:700;margin:0 0 8px}.router-page-content .page-header p{color:#718096;font-size:16px;margin:0}@media(max-width:1200px){.page-container{max-width:100%;padding:16px}}@media(max-width:768px){.page-container{padding:12px;margin:0;border-radius:8px}}.router-page-content table{width:100%;table-layout:auto}.router-page-content .products-page .products-table,.router-page-content .products-page .branch-products-table{width:max-content;min-width:100%}.router-page-content .table-container{overflow-x:auto;width:100%}.router-page-content .form-container,.router-page-content .filter-container{width:100%;max-width:100%;overflow:hidden}.router-page-content .page-content{width:100%;max-width:100%;overflow-x:auto}.router-page-content .stats-grid,.router-page-content .actions-grid{width:100%;max-width:100%}.router-page-content .button-group,.router-page-content .control-group{flex-wrap:wrap;max-width:100%}.router-page-content .data-table{width:100%;min-width:0;table-layout:fixed}.router-page-content .data-table th,.router-page-content .data-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.nav-item .nav-badge{flex:0 0 auto;overflow:visible}.nav-item .nav-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item .chev{margin-left:auto;color:var(--ink-3);flex:0 0 auto;transition:transform .18s}.nav-item.open .chev{transform:rotate(90deg)}.nav-sep{height:1px;background:var(--line);margin:6px 4px 10px}.acc-group{margin-bottom:1px}.acc-head{display:flex;align-items:center;gap:11px;width:100%;padding:9px 11px;border-radius:9px;border:0;background:none;color:var(--ink-2);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;text-align:left}.acc-head:hover{background:var(--surface-2);color:var(--ink)}.acc-head svg{flex:0 0 auto}.acc-head .t{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acc-head .nav-badge{margin-left:0}.acc-head .chev{color:var(--ink-3);flex:0 0 auto;transition:transform .18s}.acc-group.open>.acc-head{color:var(--ink);font-weight:600}.acc-group.open>.acc-head .chev{transform:rotate(90deg)}.acc-body{position:relative;padding:1px 0 8px}.acc-body:before{content:"";position:absolute;left:19px;top:0;bottom:8px;width:1px;background:var(--line-2)}.acc-item{display:flex;align-items:center;gap:8px;width:calc(100% - 30px);margin:0 0 1px 30px;padding:7px 10px;border-radius:8px;border:0;background:none;color:var(--ink-2);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;text-align:left;position:relative;text-decoration:none}.acc-item:hover{background:var(--surface-2);color:var(--ink)}.acc-item.active{background:var(--accent-wash);color:var(--accent-2);box-shadow:inset 0 0 0 1px var(--accent-ring)}.acc-item.active .nav-badge{background:var(--accent-wash);color:var(--accent-2)}.acc-item .t{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acc-item .nav-badge{margin-left:0}.acc-item.d2{width:calc(100% - 46px);margin-left:46px;font-size:12.5px}.acc-item.d2:before{content:"";position:absolute;left:-16px;top:50%;width:10px;height:1px;background:var(--line-2)}.acc-item.d2:after{content:"";position:absolute;left:-16px;top:-2px;bottom:50%;width:1px;background:var(--line-2)}.acc-item.d2:not(:last-child):after{bottom:-2px}.sb-pin .pin-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 0}.sb-pin .pin-edit{border:0;background:none;color:var(--accent-2);font-family:inherit;font-size:11.5px;font-weight:600;cursor:pointer;padding:3px 7px;border-radius:6px}.sb-pin .pin-edit:hover{background:var(--accent-wash)}.sb-pin .pin-row{display:flex;align-items:center;gap:4px;margin-bottom:1px;border-radius:9px}.sb-pin .pin-row.drag-over{box-shadow:0 -2px 0 0 var(--accent)}.sb-pin .pin-row.dragging{opacity:.45}.sb-pin .pin-row .nav-item{width:auto;flex:1;min-width:0;margin-bottom:0}.sb-pin .grip{color:var(--ink-3);display:grid;place-items:center;cursor:grab;flex:0 0 auto;width:16px}.sb-pin .unpin{width:26px;height:26px;border-radius:7px;border:0;background:none;color:var(--ink-3);display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.sb-pin .unpin:hover{background:var(--red-wash);color:var(--red)}.sb-pin .dopin{width:22px;height:22px;border-radius:6px;color:var(--ink-3);display:grid;place-items:center;cursor:pointer;flex:0 0 auto;margin:-3px -4px -3px 2px}.sb-pin .dopin:hover{background:var(--accent-wash);color:var(--accent-2)}.sb-pin .dopin.on{color:var(--accent-2)}.sb-pin .pin-empty{font-size:12px;color:var(--ink-3);padding:6px 11px 8px;line-height:1.4}.app .btn{min-width:0}.app .btn.block{width:100%}.app .topbar .icon-btn{width:36px;height:36px;padding:0;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2)}.app .topbar .icon-btn:hover{background:var(--surface-2);color:var(--ink);border-color:var(--line-2)}.app [style*="background: white"],.app [style*="background: rgb(255, 255, 255)"],.app [style*="background:#fff"],.app [style*="background: #fff"],.app [style*="background:#ffffff"],.app [style*="background: #ffffff"],.app [style*="background-color: white"],.app [style*="background-color: rgb(255, 255, 255)"],.app [style*="background: #f8fafc"],.app [style*="background:#f8fafc"],.app [style*="background: #f9fafb"],.app [style*="background: #fafafa"]{background:var(--surface)!important;border-color:var(--line)!important;box-shadow:none!important}.app [style*="background: #f1f5f9"],.app [style*="background:#f1f5f9"],.app [style*="background: #edf2f7"],.app [style*="background: #f3f4f6"],.app [style*="background: rgb(241, 245, 249)"]{background:var(--surface-2)!important}.app [style*="color: #0f172a"],.app [style*="color:#0f172a"],.app [style*="color: #1e293b"],.app [style*="color:#1e293b"],.app [style*="color: #2d3748"],.app [style*="color: rgb(15, 23, 42)"],.app [style*="color: rgb(45, 55, 72)"]{color:var(--ink)!important}.app [style*="color: #334155"],.app [style*="color: #374151"],.app [style*="color: #4a5568"],.app [style*="color: #475569"],.app [style*="color: rgb(71, 85, 105)"],.app [style*="color: rgb(51, 65, 85)"]{color:var(--ink-2)!important}.app [style*="color: #64748b"],.app [style*="color: #6b7280"],.app [style*="color: #94a3b8"],.app [style*="color: #9ca3af"],.app [style*="color: rgb(100, 116, 139)"]{color:var(--ink-3)!important}.app [style*="border: 1px solid #e2e8f0"],.app [style*="border:1px solid #e2e8f0"],.app [style*="1px solid #e5e7eb"],.app [style*="1px solid #f1f5f9"]{border-color:var(--line)!important}.app .dashboard-overview__title-block h1,.app .panel__title,.app .kpi-card__value,.app .stat-value,.app .donut-center__value,.app .pie-center__value{color:var(--ink)!important}.app .panel,.app .kpi-card,.app .pie-svg-wrap circle[fill="#fff"]{background:var(--surface)!important}.app .kpi-card{border:1px solid var(--line)!important}.app .salary-item,.app .sales-item,.app .element-row,.app .stat-card,.app .stats-card{background:var(--surface-2)!important;border-color:var(--line)!important;color:var(--ink)!important}.app .salary-item__value,.app .sales-item__value,.app .element-row__name{color:var(--ink)!important}.app .salary-item__label,.app .sales-item__label,.app .element-row__meta{color:var(--ink-3)!important}.app .salary-item--income,.app .salary-item--income .salary-item__value{color:var(--green)!important}.app .salary-item--expense,.app .salary-item--expense .salary-item__value{color:var(--red)!important}.app .salary-item--net{background:linear-gradient(160deg,var(--accent-wash),var(--surface))!important;border-color:var(--accent-ring)!important}.app .salary-item--net .salary-item__value{color:var(--accent-2)!important}.app .donut-track{stroke:var(--surface-3)!important}.app .donut-progress{stroke:var(--accent)!important}.app .donut-center__value,.app .pie-center__value{fill:var(--ink);color:var(--ink)!important}.app .dashboard-overview,.app .imports-page,.app .abc-analysis-page,.app .admin-elements-page,.app .salary-page,.app .product-sales-page,.app .cashbox-page,.app .cashbox-selling,.app .branch-stats-page,.app .vertex-reports-page,.app .create-debt-page,.app .correction-requests-page,.app .weekly-reports-page,.app .recognized-person-page,.app .product-detail-page,.app .product-page,.app .products-page,.app .warehouse-page,.app .report-detail-page,.app .report-page,.app .reports-page,.app .camera-devices-page,.app .reports-list-page,.app .admin-actions-page,.app .analytics-page,.app .permissions-page{background:transparent!important;color:var(--ink)!important}.app .permissions-page>.page-header{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:20px!important;background:transparent!important;padding:0!important;border:0!important}.app .permissions-page>.page-header h1{color:var(--ink)!important;font-size:26px!important;font-weight:700!important;margin:0!important}.app .permissions-page .perm-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px}.app .permissions-page .perm-tab{border:0;background:none;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--ink-2);padding:11px 14px;cursor:pointer;position:relative}.app .permissions-page .perm-tab.is-active{color:var(--accent-2)}.app .permissions-page .perm-tab.is-active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--accent)}.app .permissions-page .elements-list{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:14px!important;overflow:hidden!important;padding:0!important}.app .permissions-page .perm-pager{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-top:1px solid var(--line)}.app .permissions-page .perm-pager__info{color:var(--ink-2);font-size:12.5px}.app .modal-btn--secondary{background:var(--surface-2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:8px!important;padding:7px 12px!important;font-weight:600!important;cursor:pointer!important}.app .camera-devices-page h1,.app .camera-devices-page h2,.app .camera-devices-page h3{color:var(--ink)!important}.app .imports-page>.page-header,.app .admin-elements-page>.page-header,.app .salary-page>.page-header,.app .abc-analysis-page>.page-header,.app .product-sales-page>.page-header,.app .branch-stats-page>.page-header,.app .vertex-reports-page>.page-header,.app .create-debt-page>.page-header,.app .reports-page>.page-header,.app .correction-requests-page>.page-header,.app .weekly-reports-page>.page-header,.app .recognized-person-page>.page-header,.app .warehouse-page>.page-header,.app .products-page>.page-header,.app .dashboard-overview .dashboard-overview__header{display:none!important}.app .stat-card,.app .stats-card,.app .panel,.app .summary-card,.app .imports-stats>.stat-card,.app .kpi-card,.app .salary-card,.app .filter-card,.app .filters-card,.app .table-card,.app .data-card,.app [class*=-card]{background:var(--surface)!important;border:1px solid var(--line)!important;color:var(--ink)!important;box-shadow:none!important;border-radius:14px!important}.app .table-wrapper,.app .data-table-wrapper,.app .table,.app table{background:var(--surface)!important;color:var(--ink)!important}.app th{background:var(--surface-2)!important;color:var(--ink-3)!important;border-bottom:1px solid var(--line)!important}.app td{border-bottom:1px solid var(--line)!important;color:var(--ink)!important}.app tr:hover td{background:var(--surface-2)!important}.app input:not(.input):not(.cb-amount):not([type=checkbox]):not([type=radio]):not([type=range]),.app select:not(.select),.app textarea{background:var(--surface-2)!important;border:1px solid var(--line)!important;color:var(--ink)!important;border-radius:9px!important;outline:none!important}.app input::placeholder,.app textarea::placeholder{color:var(--ink-3)!important}.app input:focus,.app select:focus,.app textarea:focus{border-color:var(--accent)!important}.app input.cb-amount,.app input.cb-amount:focus{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;outline:none!important}.app .search-input input:not(.input):not(.cb-amount):not([type=checkbox]):not([type=radio]):not([type=range]),.app .search-input input:not(.input):not(.cb-amount):not([type=checkbox]):not([type=radio]):not([type=range]):focus{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;outline:none!important}.app .create-btn,.app .btn-primary{background:var(--accent)!important;color:#fff!important;border:1px solid var(--accent)!important;border-radius:10px!important;padding:9px 15px!important;font-weight:600!important;cursor:pointer!important;box-shadow:var(--glow-soft)!important}.app .btn-secondary,.app .secondary-btn{background:var(--surface-2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:10px!important;padding:9px 15px!important;font-weight:600!important}.app .error-message{background:var(--red-wash)!important;color:var(--red)!important;border:1px solid transparent!important;border-radius:12px!important;padding:12px 16px!important}.app .loading-state{background:var(--surface)!important;border:1px solid var(--line)!important;color:var(--ink-2)!important;border-radius:12px!important;padding:18px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important}.app .stat-label,.app .field-label,.app .form-label,.app label{color:var(--ink-2)}.app .modal-overlay{background:#05070c99!important;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.app .modal-card,.app .modal-content{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:16px!important}.app .stat-value,.app .kpi-value,.app .panel-value,.app h1,.app h2,.app h3,.app h4{color:var(--ink)!important}.app p,.app .subtitle{color:var(--ink-2)}.app .pagination{display:flex!important;align-items:center!important;gap:8px!important;justify-content:center!important;padding:16px 0!important}.app .pagination-info{color:var(--ink-2)!important}.app .location-widget .location-button{background:var(--surface)!important;border:1px solid var(--line)!important;color:var(--ink-2)!important}.app .location-widget .location-button.sent{background:var(--green-wash)!important;color:var(--green)!important}.app .location-widget .location-error{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)!important}.map{position:relative;z-index:0;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}.leaflet-container{font-family:Inter,system-ui,sans-serif;background:var(--surface-2)}.app:not([data-theme=light]) .leaflet-tile-pane{filter:invert(1) hue-rotate(186deg) brightness(.92) contrast(.92) saturate(.45)}.leaflet-control-attribution{background:#ffffffb8!important;color:#5b6472!important;font-size:9.5px!important;padding:1px 5px!important}.leaflet-control-attribution a{color:#5b6472!important}.leaflet-control-zoom{border:0!important;box-shadow:0 3px 10px #0a0e1433!important}.leaflet-control-zoom a{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important;width:28px!important;height:28px!important;line-height:26px!important;font-size:16px!important}.leaflet-popup-content-wrapper{background:var(--surface);color:var(--ink);border-radius:12px;box-shadow:0 10px 28px #0a0e1447}.leaflet-popup-tip{background:var(--surface)}.leaflet-popup-content{margin:11px 14px;font-size:12.5px}.mk-pop .n{font-weight:700;font-size:13px;letter-spacing:-.01em}.mk-pop .a{color:var(--ink-2);margin-top:3px}.mk-pop .s{color:var(--ink-3);margin-top:5px;font-size:11.5px}.mk{display:block;width:100%;height:100%;border-radius:50% 50% 50% 3px;transform:rotate(45deg);border:2px solid #fff;box-shadow:0 3px 8px #0a0e1466}.mk.accent{background:var(--accent)}.mk.green{background:var(--green)}.mk.amber{background:var(--amber)}.mk.red{background:var(--red)}.mk.on{box-shadow:0 0 0 5px var(--accent-wash),0 4px 12px #0a0e1473}.map-hint{position:absolute;left:10px;bottom:10px;z-index:400;display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:6px 10px;font-size:11.5px;color:var(--ink-2);box-shadow:0 3px 12px #0a0e1429}
