:root{--primary:#0F4C81;--primary-light:#1E6CB5;--primary-dark:#0A3560;--primary-bg:#EFF6FF;--accent:#F59E0B;--success:#10B981;--warning:#F59E0B;--danger:#EF4444;--info:#3B82F6;--text:#1F2937;--text-light:#6B7280;--text-lighter:#9CA3AF;--border:#E5E7EB;--bg:#F9FAFB;--card:#FFFFFF;--shadow:0 1px 3px rgba(0,0,0,0.1);--shadow-lg:0 4px 12px rgba(0,0,0,0.1);--radius:8px;--radius-lg:12px;--font:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:15px;--text-xl:18px;--text-2xl:20px;--text-3xl:24px;--text-4xl:28px;--rush-bg:#FFFBEB;--rush-header-bg:#FEF3C7;--rush-border:var(--warning);--overdue-bg:#FEF2F2;--overdue-header-bg:#FEE2E2;--overdue-border:var(--danger);--conflict-bg:#FEF2F2;--conflict-border:#FECACA;--shared-bg:#E0F2FE;--shared-color:#0369A1;--special-bg:#FEF3C7;--special-color:#92400E;--expiry-banner-bg:#FEF3C7;--controlled-bg:#F5F3FF;--controlled-color:#6D28D9;--list-bar-bg:#FFFBEB;--error-bg:#FEF2F2;--error-border:#FECACA;--resolution-bg:#F0FDF4;--resolution-color:#166534;--resolution-border:#BBF7D0;--touch-min:44px}html{overflow:hidden;height:100%}body{overflow:hidden;height:100%;margin:0}*,::after,::before{-webkit-tap-highlight-color:transparent}html.dark{--primary:#4DA3E8;--primary-light:#6BB5F0;--primary-dark:#2A7BC4;--primary-bg:#1A2332;--accent:#F59E0B;--success:#34D399;--warning:#FBBF24;--danger:#F87171;--info:#60A5FA;--text:#E5E7EB;--text-light:#9CA3AF;--text-lighter:#6B7280;--border:#374151;--bg:#111827;--card:#1F2937;--shadow:0 1px 3px rgba(0,0,0,0.4);--shadow-lg:0 4px 12px rgba(0,0,0,0.5);--rush-bg:#2A2210;--rush-header-bg:#3B2A10;--overdue-bg:#2A1520;--overdue-header-bg:#371520;--conflict-bg:#2A1520;--conflict-border:#5C1D2E;--shared-bg:#152844;--shared-color:#60A5FA;--special-bg:#3B2A10;--special-color:#FBBF24;--list-bar-bg:#2A2210;--error-bg:#371520;--error-border:#5C1D2E;--resolution-bg:#0D3025;--resolution-color:#34D399;--resolution-border:#1A5C48;--controlled-bg:#1E1535;--controlled-color:#A78BFA}html.dark .login-screen{background:linear-gradient(135deg,#0a1628 0,#112240 50%,#1a3358 100%)}html.dark .login-card{background:#1f2937;border:1px solid #374151}html.dark .login-logo h1{color:#4da3e8}html.dark .login-form input{background:#111827;color:#e5e7eb;border-color:#374151}html.dark .login-form input:focus{border-color:#4da3e8;box-shadow:0 0 0 3px rgba(77,163,232,.2)}html.dark .login-btn{background:#4da3e8}html.dark .login-btn:hover{background:#6bb5f0}html.dark .error-message{background:#371520;color:#f87171;border-color:#5c1d2e}html.dark .header{background:#1a2332;border-bottom:1px solid #374151}html.dark .tab-bar{background:#1f2937;border-bottom-color:#374151}html.dark .tab-btn{color:#9ca3af}html.dark .tab-btn:hover{color:#4da3e8;background:#1a2332}html.dark .tab-btn.active{color:#4da3e8;border-bottom-color:#4da3e8}html.dark .data-table th{background:#1a2332;color:#4da3e8;border-bottom-color:#374151}html.dark .data-table td{border-bottom-color:#374151}html.dark .data-table tr:hover{background:#253345}html.dark .stat-box{background:#1f2937;border-color:#374151}html.dark .upload-zone{background:#1a2332;border-color:#374151}html.dark .upload-zone.dragover,html.dark .upload-zone:hover{border-color:#4da3e8;background:#1a2332}html.dark .badge-danger{background:#371520;color:#f87171}html.dark .badge-warning{background:#3b2a10;color:#fbbf24}html.dark .badge-success{background:#0d3025;color:#34d399}html.dark .badge-info{background:#152844;color:#60a5fa}html.dark .badge-neutral{background:#374151;color:#9ca3af}html.dark .mhe-big{background:#371520;color:#f87171;border-color:#5c1d2e}html.dark .mhe-small{background:#3b2a10;color:#fbbf24;border-color:#5c4a1a}html.dark .mhe-bin{background:#0d3025;color:#34d399;border-color:#1a5c48}html.dark .toast-info{background:#152844;color:#60a5fa;border-left-color:#60a5fa}html.dark .toast-success{background:#0d3025;color:#34d399;border-left-color:#34d399}html.dark .toast-warning{background:#3b2a10;color:#fbbf24;border-left-color:#fbbf24}html.dark .toast-error{background:#371520;color:#f87171;border-left-color:#f87171}html.dark .btn-outline{background:#1f2937;color:#4da3e8;border-color:#4da3e8}html.dark .btn-outline:hover{background:#1a2332}html.dark input[type=number],html.dark input[type=password],html.dark input[type=text],html.dark select,html.dark textarea{background:#111827;color:#e5e7eb;border-color:#374151}*{box-sizing:border-box;margin:0;padding:0}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}.skip-to-content{position:absolute;top:-40px;left:0;background:var(--primary);color:#fff;padding:8px 16px;z-index:10000;font-size:14px;font-weight:600;transition:top .2s}.skip-to-content:focus{top:0}body,html{height:100%;overflow:hidden}body{font-family:var(--font);font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary) 50%,var(--primary-light) 100%);padding:20px}.login-card{background:var(--card);border-radius:var(--radius-lg);padding:40px 32px;width:100%;max-width:380px;box-shadow:var(--shadow-lg)}.login-logo{text-align:center;margin-bottom:28px}.logo-icon{font-size:48px;margin-bottom:8px}.login-logo h1{font-size:22px;font-weight:700;color:var(--primary);margin-bottom:4px}.login-subtitle{font-size:13px;color:var(--text-light)}.login-form .form-group{margin-bottom:16px}.login-form label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}.login-form input{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:14px;transition:border-color .2s}.login-form input:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,76,129,.1)}.login-btn{width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-family:var(--font);font-size:15px;font-weight:600;cursor:pointer;transition:background .2s;margin-top:4px}.login-btn:hover{background:var(--primary-light)}.error-message{display:none;background:var(--error-bg);color:var(--danger);padding:10px 14px;border-radius:var(--radius);font-size:var(--text-base);margin-bottom:16px;border:1px solid var(--error-border)}.container{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;background:var(--primary);color:#fff;padding:0 16px;padding-top:env(safe-area-inset-top,0);height:calc(52px + env(safe-area-inset-top,0));flex-shrink:0;z-index:100}.header-left{display:flex;align-items:center;gap:10px}.header-title{font-size:16px;font-weight:700;letter-spacing:-.3px}.header-right{display:flex;align-items:center;gap:12px}.header-client-filter{font-size:11px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2);padding:4px 8px;border-radius:6px;cursor:pointer;outline:0;max-width:160px}.header-client-filter option{background:var(--primary-dark,#0a3560);color:#fff}.header-client-filter:focus{border-color:rgba(255,255,255,.4)}.header-shift{font-size:12px;background:rgba(255,255,255,.15);padding:4px 10px;border-radius:20px}.dept-switcher{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;font-family:var(--font);cursor:pointer;outline:0}.dept-switcher:focus{border-color:rgba(255,255,255,.5)}.dept-switcher option{background:var(--primary-dark,#0a3560);color:#fff}.dept-badge-header{font-size:11px;font-weight:600;color:#fff;padding:4px 10px;border-radius:6px}.dept-toggle-grid{display:flex;flex-wrap:wrap;gap:6px}.dept-toggle{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:6px;font-size:12px;border:1px solid var(--border);cursor:pointer;user-select:none}.dept-toggle.on{background:#dbeafe;border-color:#2563eb;color:#1e40af;font-weight:600}.dept-toggle.off{background:var(--bg);color:var(--text-lighter)}html.dark .dept-toggle.on{background:rgba(37,99,235,.15);border-color:#60a5fa;color:#93c5fd}.dept-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;margin-bottom:12px}.dept-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-weight:700;font-size:14px}.dept-color-badge{padding:3px 10px;border-radius:5px;color:#fff;font-size:11px;font-weight:700}.header-user{font-size:13px;font-weight:500}.header-btn{background:0 0;border:none;color:#fff;font-size:18px;cursor:pointer;padding:8px;min-width:var(--touch-min);min-height:var(--touch-min);display:inline-flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .2s}.header-btn:hover{opacity:1}.header-btn--spinning{animation:ptr-spin .8s linear infinite}@keyframes ptr-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.net-mode-indicator{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;color:#d97706;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3);border-radius:10px;padding:2px 8px;white-space:nowrap;flex-shrink:0;transition:opacity .4s ease,transform .4s ease;line-height:1.2}.net-mode-indicator .net-mode-icon{font-size:10px}.net-mode-indicator--hidden{opacity:0;transform:scale(.8);pointer-events:none}html.dark .net-mode-indicator{color:#fcd34d;background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.25)}@media (max-width:480px){.net-mode-indicator .net-mode-text{display:none}.net-mode-indicator{padding:2px 5px}}.ptr-indicator{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;z-index:50;opacity:0;transform:translateY(0);transition:transform .25s ease,opacity .25s ease;pointer-events:none}.ptr-spinner{width:20px;height:20px;border:3px solid var(--border,#e2e8f0);border-top-color:var(--primary,#2563eb);border-radius:50%}.ptr-indicator--loading .ptr-spinner{animation:ptr-spin .8s linear infinite}.ptr-indicator--ready .ptr-spinner{border-top-color:#10b981}.ptr-text{font-size:13px;font-weight:600;color:var(--text-light,#64748b)}.tab-bar{display:flex;background:var(--card);border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 16px;border:none;background:0 0;cursor:pointer;font-family:var(--font);font-size:11px;color:var(--text-light);white-space:nowrap;border-bottom:2px solid transparent;transition:all .2s;min-width:64px;min-height:44px}.tab-btn:hover{color:var(--primary);background:var(--primary-bg)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab-icon{font-size:18px}.tab-label{font-size:11px}.tab-btn{position:relative}.tab-badge{position:absolute;top:2px;right:4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.2)}.notification-bar{display:none;align-items:center;gap:8px;padding:8px 16px;background:#fef3c7;border-bottom:1px solid #f59e0b;font-size:13px;flex-shrink:0}.notification-bar--visible{display:flex}.notification-bar-msg{flex:1;font-weight:600;color:#92400e}.notification-bar-btn{padding:4px 12px;border-radius:6px;border:1.5px solid #f59e0b;background:#fff;color:#92400e;font-size:12px;font-weight:700;cursor:pointer}.notification-bar-btn:hover{background:#fef3c7}.notification-bar-close{background:0 0;border:none;font-size:16px;cursor:pointer;color:#92400e;opacity:.6;padding:4px}.notification-bar-close:hover{opacity:1}html.dark .notification-bar{background:#78350f;border-bottom-color:#b45309}html.dark .notification-bar-msg{color:#fde68a}html.dark .notification-bar-btn{background:#92400e;color:#fde68a;border-color:#b45309}html.dark .notification-bar-close{color:#fde68a}.plugin-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0));background:var(--bg);scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.plugin-content::-webkit-scrollbar{width:6px}.plugin-content::-webkit-scrollbar-track{background:0 0}.plugin-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.plugin-content::-webkit-scrollbar-thumb:hover{background:var(--text-lighter)}.plugin-view{display:block;visibility:hidden;opacity:0;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;height:0;overflow:hidden}.plugin-view.active{visibility:visible;opacity:1;transform:translateY(0);height:auto;overflow:visible;transition:opacity .18s ease,transform .18s ease,visibility 0s linear 0s}.card{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-size:16px;font-weight:700;color:var(--text)}.card-subtitle{font-size:12px;color:var(--text-light);margin-top:2px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}.stat-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center;box-shadow:var(--shadow)}.stat-value{font-size:28px;font-weight:700;color:var(--primary);line-height:1}.stat-label{font-size:12px;color:var(--text-light);margin-top:6px;font-weight:500}.stat-box.danger .stat-value{color:var(--danger)}.stat-box.warning .stat-value{color:var(--warning)}.stat-box.success .stat-value{color:var(--success)}.stat-box.info .stat-value{color:var(--info)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-danger{background:#fef2f2;color:var(--danger)}.badge-warning{background:#fef3c7;color:#b45309}.badge-success{background:#d1fae5;color:#065f46}.badge-info{background:#dbeafe;color:#1e40af}.badge-neutral{background:#f3f4f6;color:var(--text-light)}.mhe-big{background:#fef2f2;color:var(--danger);border:1px solid #fecaca}.mhe-small{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.mhe-bin{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;padding:10px 12px;background:var(--primary-bg);color:var(--primary);font-weight:600;font-size:12px;border-bottom:2px solid var(--border);position:sticky;top:0;z-index:5}.data-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr{transition:background .15s}.data-table tr:hover{background:var(--bg)}.data-table .text-right{text-align:right}.data-table .text-center{text-align:center}.data-table .nowrap{white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--radius);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;min-height:36px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-light)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#059669}.btn-danger{background:var(--danger);color:#fff;border:none}.btn-danger:hover{background:#dc2626}.btn-warning{background:var(--warning);color:#fff}.btn-outline{background:#fff;color:var(--primary);border:1.5px solid var(--primary)}.btn-outline:hover{background:var(--primary-bg)}.btn-sm{padding:5px 10px;font-size:var(--text-sm);min-height:32px}.btn-lg{padding:12px 24px;font-size:var(--text-lg);min-height:var(--touch-min)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.login-btn:disabled{opacity:.6;cursor:not-allowed}.header-btn:disabled{opacity:.3;cursor:default}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:40px 20px;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg)}.upload-zone.dragover,.upload-zone:hover{border-color:var(--primary);background:var(--primary-bg)}.upload-zone-icon{font-size:40px;margin-bottom:8px}.upload-zone-text{font-size:14px;color:var(--text-light)}.upload-zone-hint{font-size:12px;color:var(--text-lighter);margin-top:4px}.toast-container{position:fixed;top:calc(60px + env(safe-area-inset-top,0));right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 20px;border-radius:var(--radius);font-size:13px;font-weight:500;box-shadow:var(--shadow-lg);transform:translateX(120%);transition:transform .3s ease;max-width:360px}.toast.show{transform:translateX(0)}.toast-info{background:#eff6ff;color:#1e40af;border-left:4px solid var(--info)}.toast-success{background:#f0fdf4;color:#166534;border-left:4px solid var(--success)}.toast-warning{background:#fffbeb;color:#92400e;border-left:4px solid var(--warning)}.toast-error{background:#fef2f2;color:#991b1b;border-left:4px solid var(--danger)}.kpi-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:6px}.kpi-bar-fill{height:100%;border-radius:3px;transition:width .3s}.empty-state{text-align:center;padding:60px 20px;color:var(--text-light);display:flex;flex-direction:column;align-items:center;gap:4px}.empty-state-icon{font-size:48px;margin-bottom:12px;opacity:.7}.empty-state-text{font-size:15px;font-weight:500}.empty-state-hint{font-size:13px;color:var(--text-lighter);margin-top:4px;max-width:300px}.conflict-row{background:var(--conflict-bg)!important}.conflict-badge{display:inline-flex;align-items:center;gap:3px;background:var(--conflict-bg);color:var(--danger);padding:2px 8px;border-radius:4px;font-size:var(--text-xs);font-weight:600}.shared-location{background:var(--shared-bg);color:var(--shared-color);padding:1px 6px;border-radius:3px;font-size:var(--text-sm)}.special-location{background:var(--special-bg);color:var(--special-color);padding:1px 6px;border-radius:3px;font-size:var(--text-sm);font-weight:600}.form-label{font-size:12px;font-weight:600;display:block;margin-bottom:4px;color:var(--text)}.form-input,.form-select,.form-textarea{width:100%;padding:8px 12px;border:1.5px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:13px;color:var(--text);background:var(--card);transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,76,129,.1)}html.dark .form-input:focus,html.dark .form-select:focus,html.dark .form-textarea:focus{box-shadow:0 0 0 3px rgba(77,163,232,.2)}.form-textarea{resize:vertical}.form-grid{display:grid;gap:12px}.form-grid-2{grid-template-columns:1fr 1fr}.form-grid-3{grid-template-columns:1fr 1fr 1fr}.stat-clickable{cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;user-select:none;min-height:var(--touch-min)}.stat-clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.stat-clickable:active{transform:translateY(0)}.stat-active{border-color:var(--primary)!important;box-shadow:0 0 0 3px rgba(15,76,129,.15),var(--shadow-lg)!important;transform:translateY(-2px)}html.dark .stat-active{box-shadow:0 0 0 3px rgba(77,163,232,.2),var(--shadow-lg)!important}tr.stat-clickable:hover{background:var(--primary-bg);cursor:pointer}.card-accent-danger{border-left:4px solid var(--danger)}.card-accent-warning{border-left:4px solid var(--warning)}.card-accent-success{border-left:4px solid var(--success)}.card-accent-primary{border-left:4px solid var(--primary)}.card-highlight{border:2px solid var(--primary)}.card-compact{padding:12px 16px}.card-flush{margin-bottom:8px}.shift-banner{background:var(--primary);color:#fff;border:none}.shift-banner .card-subtitle,.shift-banner .stat-label{opacity:.8}.progress-bar{display:inline-flex;align-items:center;gap:6px}.progress-track{background:var(--border);border-radius:4px;overflow:hidden}.progress-track-sm{height:6px;width:40px}.progress-track-md{height:8px;width:50px}.progress-fill{height:100%;border-radius:4px;transition:width .3s}.code-inline{background:var(--bg);padding:1px 6px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.flex-col{flex-direction:column}.flex-center{align-items:center}.flex-between{justify-content:space-between}.flex-end{justify-content:flex-end}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.ml-auto{margin-left:auto}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.text-sm{font-size:12px}.text-xs{font-size:11px}.text-xxs{font-size:10px}.text-lg{font-size:15px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.text-bold{font-weight:700}.text-semibold{font-weight:600}.text-muted{color:var(--text-light)}.text-faint{color:var(--text-lighter)}.text-primary{color:var(--primary)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.order-block{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;overflow:hidden}.order-block.rush{border-color:var(--rush-border);background:var(--rush-bg)}.order-block.overdue{border-color:var(--overdue-border);background:var(--overdue-bg)}.order-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg);gap:10px}.order-block.rush .order-header{background:var(--rush-header-bg)}.order-block.overdue .order-header{background:var(--overdue-header-bg)}.order-list-bar{padding:6px 12px;background:var(--list-bar-bg);border-bottom:1px solid var(--border);font-size:var(--text-base)}.list-tag{display:inline-block;background:var(--primary);color:#fff;padding:2px 10px;border-radius:4px;margin:2px 4px;font-weight:700;font-size:14px}.order-pack-warning{padding:6px 12px;background:var(--error-bg);border-top:1px solid var(--error-border);font-size:var(--text-xs);color:var(--danger)}.photo-thumb{width:40px;height:40px;object-fit:cover;border-radius:4px;border:1px solid var(--border)}.photo-placeholder{width:40px;height:40px;background:var(--bg);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:16px;border:1px solid var(--border)}.issue-card{padding:14px 16px;margin-bottom:8px}.issue-meta{display:flex;gap:16px;font-size:12px;color:var(--text-light);flex-wrap:wrap}.issue-resolution{margin-top:8px;padding:8px 10px;background:var(--resolution-bg);border-radius:var(--radius);font-size:var(--text-sm);color:var(--resolution-color);border:1px solid var(--resolution-border)}.sheet-header{border:2px solid var(--primary);margin-bottom:12px}.sheet-name{font-size:24px;font-weight:700;color:var(--primary)}.sheet-meta{display:flex;gap:12px;margin-top:6px;font-size:13px;color:var(--text-light)}.sheet-date{text-align:right;font-size:12px;color:var(--text-light)}.hospital-header{font-size:14px;font-weight:700;color:var(--primary);margin-bottom:8px;border-bottom:2px solid var(--primary);padding-bottom:4px}.dept-header{font-size:12px;font-weight:600;color:var(--text-light);background:var(--primary-bg);padding:4px 8px;border-radius:4px;margin-bottom:6px}.score-bar{display:flex;align-items:flex-end;gap:4px;height:80px;padding:8px 0}.score-bar-col{flex:1;display:flex;flex-direction:column;align-items:center}.team-builder{display:flex;flex-direction:column;gap:12px}.team-builder-pools{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tb-pool{border:1px solid var(--border);border-radius:var(--radius);padding:8px;min-height:100px;background:var(--bg)}.tb-pool-header{font-size:12px;font-weight:700;color:var(--primary);margin-bottom:8px;padding-bottom:4px;border-bottom:2px solid var(--primary)}.tb-card{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;margin-bottom:4px;border:1.5px solid var(--border);border-radius:6px;cursor:pointer;font-size:12px;background:var(--card);transition:all .15s}.tb-card:hover{border-color:var(--primary);background:var(--primary-bg)}.tb-card-selected{border-color:var(--primary)!important;background:var(--primary-bg)!important;box-shadow:0 0 0 2px rgba(15,76,129,.2)}.tb-card-ready{border-color:var(--success)}.tb-card-ready:hover{background:#f0fdf4;border-color:var(--success)}html.dark .tb-card-ready:hover{background:#0d3025}.tb-card-bin{border-color:var(--success);border-style:dashed}.tb-teams{border:2px solid var(--primary);border-radius:var(--radius);padding:10px;background:var(--primary-bg);min-height:60px}.tb-team-card{padding:6px 10px;margin-bottom:4px;border:1px solid var(--border);border-radius:6px;font-size:12px;background:var(--card)}html.dark .tb-card-selected{box-shadow:0 0 0 2px rgba(77,163,232,.3)}@media (max-width:768px){.team-builder-pools{grid-template-columns:1fr}}.tag-select{padding:2px 4px;border:1px solid var(--border);border-radius:4px;font-size:10px;font-weight:600;cursor:pointer;min-width:90px;background:var(--card);color:var(--text)}.tag-select:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 2px rgba(15,76,129,.1)}html.dark .tag-select{background:#1f2937;border-color:#374151;color:#e5e7eb}html.dark .tag-select:focus{box-shadow:0 0 0 2px rgba(77,163,232,.2)}.tag-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.3px}.print-footer,.print-header{display:none}@media print{@page{size:A4;margin:4mm}body{background:#fff!important;overflow:visible!important;font-size:11px!important}.header,.tab-bar,.toast-container{display:none!important}.container{height:auto!important;overflow:visible!important}.plugin-content{overflow:visible!important;padding:0!important}.card{box-shadow:none!important;border:1px solid #ddd!important;break-inside:avoid;page-break-inside:avoid}.no-print{display:none!important}.pick-sheet{page-break-after:always;margin:0!important}.pick-sheet:last-child{page-break-after:auto}.pick-sheet .card{margin-bottom:6px!important;padding:8px 12px!important}.pick-sheet .data-table th{background:#e5e7eb!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:4px 6px!important;font-weight:700!important}.pick-sheet .data-table td{padding:4px 6px!important;color:#000!important}.pick-sheet .data-table tr{border-bottom:1px solid #ccc!important}.pick-sheet .badge{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1.5px solid #000!important;color:#000!important;font-weight:700!important;background:#fff!important;padding:2px 8px!important}.pick-sheet .badge-danger{background:#000!important;color:#fff!important}.pick-sheet .badge-success{background:#e5e7eb!important}.pick-sheet .mhe-big{border:2px solid #000!important;font-weight:900!important}.pick-sheet .mhe-small{border:2px dashed #000!important;font-weight:900!important}.pick-sheet .mhe-bin{border:2px dotted #000!important;font-weight:900!important}.pick-sheet .special-location{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:2px solid #000!important;color:#000!important;font-weight:700!important;background:#e5e7eb!important;padding:2px 6px!important}.pick-sheet .shared-location{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1.5px solid #000!important;color:#000!important}.pick-sheet .conflict-badge{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:2px solid #000!important}.pick-sheet .order-block{border:1.5px solid #000!important}.pick-sheet .order-block.overdue{border:3px solid #000!important}.pick-sheet .order-block.rush{border:2px dashed #000!important}.pick-sheet .order-header{border-bottom:1px solid #999!important}.pick-sheet .order-list-bar{border-bottom:1px solid #ccc!important}.pick-sheet .hospital-header{color:#000!important;border-bottom:2px solid #000!important;font-weight:700!important}.pick-sheet .dept-header{color:#000!important;font-weight:600!important}.pick-sheet .text-faint,.pick-sheet .text-light,.pick-sheet .text-muted{color:#444!important}.pick-sheet .text-bold,.pick-sheet .text-semibold,.pick-sheet strong{color:#000!important}.pick-sheet .sheet-name{color:#000!important}.pick-sheet img{max-width:36px!important;max-height:36px!important}.pick-sheet .list-tag{border:1px solid #000!important;color:#000!important;background:#f3f4f6!important}.print-header{display:flex!important;justify-content:center;font-size:10px;font-weight:700;color:#000;padding:2px 0 4px;border-bottom:1.5px solid #000;margin-bottom:6px}.print-footer{display:flex!important;justify-content:space-between;font-size:9px;color:#444;padding:4px 0 0;border-top:1px solid #999;margin-top:6px}.near-expiry-cell{border:3px solid #000!important;font-weight:900!important;color:#000!important;background:#e5e7eb!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.near-expiry-banner{display:block!important;background:#fff!important;border:3px solid #000!important;color:#000!important;font-weight:700!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.controlled-banner{display:block!important;background:#fff!important;border:3px solid #000!important;color:#000!important;font-weight:700!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.controlled-item-row{border-left:4px solid #000!important;background:#f3f4f6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.ai-insights-grid{display:grid;grid-template-columns:1fr;gap:16px}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:22px}.plugin-content{padding:10px;overflow-x:hidden}.card{padding:14px;max-width:100%;overflow:hidden}.header{padding:0 10px}.header-right{gap:6px}.header-user{display:none}.form-grid-2,.form-grid-3{grid-template-columns:1fr}.sheet-name{font-size:18px}.sheet-meta{flex-wrap:wrap;font-size:12px}.dept-switcher{font-size:11px;padding:3px 8px;max-width:120px}.dept-badge-header{font-size:10px;padding:3px 8px}.flex{flex-wrap:wrap}.data-table{font-size:12px}.data-table td,.data-table th{padding:6px 8px}.dept-switcher,.form-input,.form-select,.form-textarea,.header-client-filter,.login-form input,.tag-select{font-size:16px!important}}@media (max-width:480px){#mainApp{overflow-x:hidden;max-width:100vw}.plugin-content{padding:8px;overflow-x:hidden}.header{padding:0 6px;height:44px}.header-title{font-size:13px}.header-title::after{content:''}.header-left{gap:4px}.header-right{gap:2px}.header-shift{display:none}.header-user{display:none}.header-btn{font-size:15px;padding:2px;min-width:36px;min-height:36px}#redoBtn,#undoBtn{display:none}.dept-switcher{font-size:11px;padding:3px 6px;max-width:110px;border-radius:8px}#lastUpdatedDisplay{display:none}.tab-bar{gap:0}.tab-btn{padding:6px 8px;min-width:48px;gap:1px}.tab-icon{font-size:18px}.tab-label{font-size:9px}.card{padding:10px;margin-bottom:8px;border-radius:8px}.card-header{flex-direction:column;gap:6px;align-items:stretch}.card-title{font-size:14px}.card-subtitle{font-size:11px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:6px}.stat-box{padding:10px 8px}.stat-value{font-size:20px}.stat-label{font-size:10px}.btn{padding:6px 10px;font-size:12px}.btn-sm{padding:4px 8px;font-size:11px}.data-table{font-size:11px}.data-table td,.data-table th{padding:5px 6px}.shift-banner{padding:10px 12px!important;font-size:12px}.flex{flex-wrap:wrap}input[type=date],input[type=text],select{max-width:100%}.dept-toggle-grid{gap:4px}.dept-toggle{font-size:10px;padding:3px 8px}.tag-select{padding:6px 8px;min-height:36px}.breach-row{flex-wrap:wrap!important;gap:2px 6px!important;padding:6px 0!important;border-bottom:1px solid var(--border)}.breach-row:last-child{border-bottom:none}.breach-row .breach-order{min-width:auto!important;font-size:12px!important}.breach-row .breach-assign{font-size:10px!important}.breach-row .breach-time{min-width:auto!important}.breach-row .breach-customer{flex-basis:100%!important;order:10;font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;opacity:.7;margin-top:-2px}.dash-order-lookup{flex-direction:column!important;align-items:stretch!important;gap:6px!important}.dash-order-lookup input[type=search]{max-width:100%!important}.dash-order-lookup .dash-client-filter{margin-left:0!important}.order-summary-status{min-width:90px!important;font-size:10px!important}.mobile-hide{display:none!important}.tb-card{flex-direction:column;align-items:stretch;gap:4px;padding:8px}.tb-card .flex.gap-4{justify-content:flex-start}.tb-card .flex.gap-4 .btn{width:40px;font-size:10px;padding:5px 0;min-height:32px}.tb-team-card .flex.flex-between{flex-direction:column;gap:6px;align-items:stretch}.tb-team-card .flex.flex-between>.flex.gap-4{justify-content:flex-start}.assignment-date-row{flex-wrap:wrap;gap:8px!important}.assignment-date-row input[type=date]{width:140px!important;font-size:14px!important}.assignment-shift-tabs{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px!important;padding-bottom:4px}.assignment-shift-tabs::-webkit-scrollbar{display:none}.assignment-shift-tabs .btn{flex-shrink:0;font-size:11px;padding:6px 10px}.assignment-bar-row{flex-direction:column!important;gap:4px;margin-bottom:12px!important}.assignment-bar-name{width:auto!important;display:flex;align-items:center;gap:8px}.assignment-bar-stats{width:auto!important;text-align:left!important;font-size:11px}.hosp-search-row{flex-wrap:wrap;gap:6px!important}.hosp-search-row input[type=search]{width:100%!important;flex:none!important}.order-chips-cell{max-width:200px;overflow:hidden}.order-chip{font-size:10px!important;padding:1px 4px!important;margin:1px!important}.mhe-supply-bar{flex-direction:column;gap:6px}.tb-dropzone{padding:6px}}@media (max-width:360px){.tab-btn{padding:4px 6px;min-width:42px}.tab-icon{font-size:16px}.tab-label{font-size:8px}.stats-grid{grid-template-columns:1fr 1fr;gap:4px}.stat-value{font-size:18px}.card{padding:8px}.plugin-content{padding:6px}.header{height:44px;padding:0 6px}.header-title{font-size:12px}.modal-overlay{padding:8px}.login-card{padding:20px 16px}}@media (max-height:500px) and (orientation:landscape){.header{height:36px;padding:0 8px}.header-title{font-size:12px}.header-btn{min-width:32px;min-height:32px;font-size:14px;padding:2px}.tab-bar{overflow-x:auto}.tab-btn{padding:4px 8px;min-height:36px;flex-direction:row;gap:4px}.tab-icon{font-size:14px}.tab-label{font-size:9px}.plugin-content{padding:6px}.card{padding:8px;margin-bottom:6px}.shift-banner{padding:6px 10px!important}.stat-value{font-size:18px}.stats-grid{gap:4px}#redoBtn,#undoBtn{display:none}.dept-switcher{max-width:90px;font-size:10px}}.plugin-view.swipe-exit-left{animation:swipeExitLeft .25s ease forwards}.plugin-view.swipe-exit-right{animation:swipeExitRight .25s ease forwards}.plugin-view.swipe-enter-left{animation:swipeEnterLeft .25s ease forwards}.plugin-view.swipe-enter-right{animation:swipeEnterRight .25s ease forwards}@keyframes swipeExitLeft{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-30%)}}@keyframes swipeExitRight{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(30%)}}@keyframes swipeEnterLeft{from{opacity:0;transform:translateX(30%)}to{opacity:1;transform:translateX(0)}}@keyframes swipeEnterRight{from{opacity:0;transform:translateX(-30%)}to{opacity:1;transform:translateX(0)}}.tb-dropzone{background:var(--card);border:2px dashed var(--border);border-radius:var(--radius-lg);margin-bottom:16px;min-height:80px;transition:border-color .2s,background .2s}.tb-dropzone-active{border-color:var(--primary)!important;background:var(--primary-bg)!important}.tb-card[draggable=true]{cursor:grab}.tb-card[draggable=true]:active{cursor:grabbing;opacity:.6}@media (min-width:1440px){.plugin-content{padding:24px 32px;max-width:100%}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.card{padding:24px}.stat-value{font-size:32px}}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;gap:12px}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.loading-msg{color:#fff;font:500 14px/1 var(--font)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeleton-shimmer{0%{background-position:-468px 0}100%{background-position:468px 0}}.skeleton{background:linear-gradient(to right,var(--border) 8%,#f3f4f6 18%,var(--border) 33%);background-size:800px 104px;animation:skeleton-shimmer 1.5s linear infinite;border-radius:var(--radius)}html.dark .skeleton{background:linear-gradient(to right,var(--border) 8%,#374151 18%,var(--border) 33%);background-size:800px 104px}.skeleton-text{height:14px;margin-bottom:6px;border-radius:4px}.skeleton-title{height:20px;margin-bottom:8px;border-radius:4px;width:60%}.skeleton-stat{height:72px;border-radius:var(--radius)}.skeleton-row{height:40px;margin-bottom:4px;border-radius:4px}:focus:not(:focus-visible){outline:0}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-danger:focus-visible,.btn-outline:focus-visible,.btn-primary:focus-visible,.btn-success:focus-visible,.btn-warning:focus-visible,.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px rgba(15,76,129,.15)}html.dark .btn-outline:focus-visible,html.dark .btn-primary:focus-visible,html.dark .btn:focus-visible{box-shadow:0 0 0 4px rgba(77,163,232,.25)}.stat-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:2px;transform:translateY(-2px)}.tab-btn:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.modal-close:focus-visible{outline:2px solid var(--primary);outline-offset:2px;background:var(--bg)}.header-btn:focus-visible{outline:2px solid white;outline-offset:2px;opacity:1}.tb-card:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.tag-select:focus-visible{outline:2px solid var(--primary);outline-offset:1px}@keyframes guidePulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.85}100%{transform:scale(1);opacity:1}}.guide-pulse{animation:guidePulse 1.2s ease-in-out infinite;position:relative;z-index:2;outline:3px solid rgba(16,185,129,.5);outline-offset:2px;border-radius:var(--radius)}.unavailable-modal-form{display:flex;flex-direction:column;gap:12px;padding:8px 0}.unavailable-modal-form label{font:500 13px/1 var(--font);color:var(--text)}.unavailable-modal-form textarea{width:100%;min-height:80px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font:400 13px/1.4 var(--font);background:var(--bg);color:var(--text);resize:vertical}.unavailable-modal-form .quick-reasons{display:flex;flex-wrap:wrap;gap:6px}.unavailable-modal-form .quick-reason-btn{padding:4px 10px;border:1px solid var(--border);border-radius:20px;background:var(--bg);color:var(--text-light);font-size:12px;cursor:pointer;transition:all .15s}.unavailable-modal-form .quick-reason-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9000;padding:16px}.modal{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:min(480px,95vw);display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title{font:600 16px/1 var(--font);color:var(--text)}.modal-close{background:0 0;border:none;font-size:20px;line-height:1;color:var(--text-light);cursor:pointer;padding:8px;min-width:var(--touch-min);min-height:var(--touch-min);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:background .15s}.modal-close:hover{color:var(--text);background:var(--bg)}.modal-body{padding:16px 20px;overflow-y:auto;flex:1}.modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--border)}html.dark .modal-overlay{background:rgba(0,0,0,.7)}html.dark .modal{background:#1f2937;border-color:#374151}html.dark .modal-header{border-bottom-color:#374151}html.dark .modal-footer{border-top-color:#374151}html.dark .modal-close{color:#9ca3af}html.dark .modal-close:hover{color:#e5e7eb;background:#374151}html.dark .empty-state-text{color:#9ca3af}html.dark .empty-state-hint{color:#6b7280}html.dark .form-textarea{background:#111827;color:#e5e7eb;border-color:#374151}html.dark .form-input{background:#111827;color:#e5e7eb;border-color:#374151}html.dark .form-input:focus,html.dark .form-textarea:focus{border-color:#4da3e8;box-shadow:0 0 0 3px rgba(77,163,232,.2)}html.dark .stat-clickable:hover{background:#253345;border-color:#4da3e8}html.dark .stat-active{background:#1a2332;border-color:#4da3e8}.intel-card{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--info);border-radius:var(--radius);margin-bottom:16px;overflow:hidden;animation:intelFadeIn .3s ease}@keyframes intelFadeIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.intel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:linear-gradient(135deg,#eff6ff 0,#f0f9ff 100%);cursor:pointer;user-select:none}html.dark .intel-header{background:linear-gradient(135deg,rgba(59,130,246,.1) 0,rgba(59,130,246,.05) 100%)}.intel-header-left{display:flex;align-items:center;gap:8px}.intel-header-icon{font-size:18px}.intel-header-title{font-weight:700;font-size:13px;color:var(--primary)}.intel-toggle{font-size:11px;color:var(--text-light);transition:transform .2s}.intel-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700}.intel-badge-warning{background:#fef3c7;color:#92400e}.intel-badge-suggestion{background:#dbeafe;color:#1e40af}.intel-badge-critical{background:#fee2e2;color:#dc2626}.intel-body{padding:0}.intel-item{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-top:1px solid var(--border);font-size:12px;line-height:1.5}.intel-item:first-child{border-top:none}.intel-item-icon{font-size:16px;flex-shrink:0;margin-top:1px}.intel-item-content{flex:1;min-width:0}.intel-item-text{color:var(--text)}.intel-item-detail{color:var(--text-light);font-size:11px;margin-top:2px}.intel-critical{background:#fef2f2}.intel-warning{background:#fffbeb}.intel-suggestion{background:#f0f9ff}.intel-insight{background:var(--bg)}html.dark .intel-critical{background:rgba(239,68,68,.08)}html.dark .intel-warning{background:rgba(245,158,11,.08)}html.dark .intel-suggestion{background:rgba(59,130,246,.08)}html.dark .intel-insight{background:rgba(255,255,255,.02)}.intel-action-btn{flex-shrink:0;background:var(--primary)!important;color:#fff!important;font-size:11px!important;padding:4px 12px!important;border-radius:6px!important;white-space:nowrap;align-self:center}.intel-action-btn:hover{opacity:.9}.intel-health-bar{display:flex;align-items:center;gap:16px;padding:14px 18px;background:linear-gradient(135deg,#f8fafc 0,#eff6ff 100%);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px}html.dark .intel-health-bar{background:linear-gradient(135deg,rgba(59,130,246,.05) 0,rgba(59,130,246,.02) 100%)}.intel-health-score{width:56px;height:56px;border-radius:50%;border:3px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.intel-health-number{font-size:20px;font-weight:800;line-height:1}.intel-health-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-light)}.intel-health-details{flex:1;min-width:0}.intel-health-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:2px}.intel-health-meta{font-size:12px;margin-bottom:4px}.intel-health-issue{font-size:11px;color:var(--text-light);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-white{color:#fff}.text-brand{color:var(--primary)}.text-red{color:#dc2626}.text-red-dark{color:#991b1b}.text-amber{color:#d97706}.text-amber-dark{color:#92400e}.text-green{color:#10b981}.text-green-dark{color:#065f46}.text-purple{color:#7c3aed}.text-blue{color:#2563eb}.text-blue-dark{color:#1e40af}.text-muted{color:var(--text-light)}.text-body{color:var(--text)}.bg-brand{background:var(--primary)}.bg-surface{background:var(--bg)}.bg-card{background:var(--card)}.bg-white{background:#fff}.bg-red{background:#dc2626}.bg-red-light{background:#fef2f2}.bg-amber-light{background:#fef3c7}.bg-green{background:#10b981}.bg-green-light{background:#d1fae5}.bg-blue-light{background:#dbeafe}.bg-purple{background:#7c3aed}.bg-purple-dark{background:#6d28d9}.bg-purple-light{background:#ede9fe}.bg-gray-light{background:#f8fafc}.border-subtle{border-color:var(--border)}.border-brand{border-color:var(--primary)}.border-red{border-color:#dc2626}.border-amber{border-color:#f59e0b}.border-green{border-color:#10b981}.border-purple{border-color:#7c3aed}html.dark .text-red{color:#f87171}html.dark .text-red-dark{color:#fca5a5}html.dark .text-amber{color:#fbbf24}html.dark .text-amber-dark{color:#fcd34d}html.dark .text-green{color:#34d399}html.dark .text-green-dark{color:#6ee7b7}html.dark .text-purple{color:#a78bfa}html.dark .text-blue{color:#60a5fa}html.dark .text-blue-dark{color:#93c5fd}html.dark .bg-white{background:var(--card)}html.dark .bg-red-light{background:rgba(239,68,68,.1)}html.dark .bg-amber-light{background:rgba(245,158,11,.1)}html.dark .bg-green-light{background:rgba(16,185,129,.1)}html.dark .bg-blue-light{background:rgba(59,130,246,.1)}html.dark .bg-purple-light{background:rgba(124,58,237,.1)}html.dark .bg-gray-light{background:var(--card)}.rounded-sm{border-radius:4px}.rounded{border-radius:var(--radius,8px)}.rounded-lg{border-radius:var(--radius-lg,12px)}.rounded-full{border-radius:9999px}.modal-sm{max-width:min(400px,95vw)}.modal-md{max-width:min(550px,95vw)}.modal-lg{max-width:min(700px,95vw)}.tab-bar{position:relative}.tab-bar{-webkit-mask-image:linear-gradient(to right,black calc(100% - 40px),transparent);mask-image:linear-gradient(to right,black calc(100% - 40px),transparent)}@keyframes modalSlideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes modalSlideDown{from{transform:translateY(0)}to{transform:translateY(100%)}}.modal-overlay.modal--bottom-sheet{align-items:flex-end;padding:0}.modal--bottom-sheet .modal{max-width:100%;max-height:85vh;border-radius:20px 20px 0 0;margin:0;animation:modalSlideUp .3s ease forwards;padding-bottom:env(safe-area-inset-bottom,0)}.modal--bottom-sheet .modal-header{padding:12px 20px 8px;border-bottom:none;flex-direction:column;align-items:stretch;gap:0}.modal--bottom-sheet .modal-drag-handle{width:40px;height:4px;background:var(--border);border-radius:2px;margin:0 auto 10px;flex-shrink:0}.modal--bottom-sheet .modal-header-row{display:flex;align-items:center;justify-content:space-between}.modal--bottom-sheet.modal--dismissing .modal{animation:modalSlideDown .25s ease forwards}.quick-search-overlay{position:fixed;inset:0;z-index:9500;background:rgba(0,0,0,.5);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0)}.quick-search-bar{background:var(--card);padding:12px 16px;display:flex;gap:8px;align-items:center;box-shadow:0 4px 20px rgba(0,0,0,.15)}.quick-search-bar input{flex:1;border:none;outline:0;font-size:16px;font-family:var(--font);background:0 0;color:var(--text);padding:10px 0}.quick-search-results{background:var(--card);flex:1;overflow-y:auto;padding:8px 16px}.quick-search-item{padding:12px 8px;border-bottom:1px solid var(--border);cursor:pointer;font-size:13px;display:flex;align-items:center;gap:8px;min-height:44px}.quick-search-item:active,.quick-search-item:hover{background:var(--primary-bg)}html.dark .quick-search-overlay{background:rgba(0,0,0,.7)}.keyboard-toolbar{position:fixed;left:0;right:0;height:44px;background:var(--card);border-top:1px solid var(--border);display:flex;align-items:center;padding:0 8px;gap:4px;z-index:9998;box-shadow:0 -2px 8px rgba(0,0,0,.1)}.kb-tb-btn{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-size:13px;font-family:var(--font);font-weight:600;color:var(--text);cursor:pointer;min-height:32px;white-space:nowrap}.kb-tb-btn:active{background:var(--border)}.kb-tb-btn--primary{background:var(--primary);color:#fff;border-color:var(--primary)}html.dark .kb-tb-btn{background:#1f2937;border-color:#374151;color:#e5e7eb}html.dark .kb-tb-btn:active{background:#374151}.context-menu-backdrop{position:fixed;inset:0;z-index:9600}.context-menu{position:fixed;z-index:9601;background:var(--card);border-radius:var(--radius-lg);box-shadow:0 8px 32px rgba(0,0,0,.2);border:1px solid var(--border);min-width:200px;max-width:280px;overflow:hidden;animation:ctxMenuIn .15s ease}@keyframes ctxMenuIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.context-menu-item{padding:12px 16px;font-size:13px;font-family:var(--font);cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px;border-bottom:1px solid var(--border);color:var(--text)}.context-menu-item:last-child{border-bottom:none}.context-menu-item:active,.context-menu-item:hover{background:var(--primary-bg)}.context-menu-item--danger{color:var(--danger)}html.dark .context-menu{box-shadow:0 8px 32px rgba(0,0,0,.5)}.pwa-install-banner{position:fixed;bottom:-200px;left:0;right:0;z-index:9500;background:var(--card);border-radius:20px 20px 0 0;box-shadow:0 -4px 20px rgba(0,0,0,.15);padding:20px 20px calc(20px + env(safe-area-inset-bottom,0));transition:bottom .3s ease}.pwa-install-banner--visible{bottom:0}.pwa-install-content{display:flex;align-items:center;gap:14px;margin-bottom:16px}.pwa-install-actions{display:flex;gap:8px}html.dark .pwa-install-banner{box-shadow:0 -4px 20px rgba(0,0,0,.4)}[dir=rtl] body{text-align:right}[dir=rtl] .header{flex-direction:row-reverse}[dir=rtl] .header-left,[dir=rtl] .header-right{flex-direction:row-reverse}[dir=rtl] .tab-bar{flex-direction:row-reverse}[dir=rtl] .header-btn--refresh{transform:scaleX(-1)}[dir=rtl] .skip-to-content{left:auto;right:0}[dir=rtl] .toast-container{right:auto;left:16px}[dir=rtl] .notif-panel{right:auto;left:8px}[dir=rtl] input[type=number],[dir=rtl] input[type=password],[dir=rtl] input[type=search],[dir=rtl] input[type=text],[dir=rtl] select,[dir=rtl] textarea{text-align:right}[dir=rtl] .btn .icon{margin-left:6px;margin-right:0}