@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Sarabun:wght@300;400;500;600;700&display=swap";:root{--font-sans:"Outfit", "Sarabun", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--bg-primary:#f6f8fb;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#fbfcfe;--border-color:#e4e7ec;--border-color-glow:#155eef38;--primary:#155eef;--primary-glow:#155eef1a;--primary-hover:#004eeb;--primary-solid:var(--primary);--primary-solid-hover:var(--primary-hover);--secondary:#0e9384;--accent:#344054;--text-primary:#101828;--text-secondary:#475467;--text-muted:#667085;--success:#10b981;--success-glow:#10b9811a;--warning:#f59e0b;--warning-glow:#f59e0b1a;--danger:#ef4444;--danger-glow:#ef44441a;--role-admin:#7c3aed;--role-purchasing:#2563eb;--role-technician:#b45309;--role-employee:#047857;--role-warehouse:#0f766e;--warning-text:#b45309;--success-text:#047857;--danger-text:#dc2626;--success-solid:#047857;--danger-solid:#dc2626;--sidebar-width:248px;--header-height:72px;--border-radius-lg:14px;--border-radius-md:10px;--border-radius-sm:8px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 26px -12px #10182829, 0 2px 5px -2px #1018280a;--shadow-glow:0 0 0 4px #155eef1a}[data-theme=light]{--bg-primary:#f5f7fb;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#fff;--border-color:#e6eaf0;--border-color-glow:#6366f133;--primary:#315efb;--primary-glow:#4f46e51a;--primary-hover:#244bd6;--secondary:#0891b2;--text-primary:#172033;--text-secondary:#5f6b7a;--text-muted:#667085;--success-glow:#10b98126;--warning-glow:#f59e0b26;--danger-glow:#ef444426;--shadow-lg:0 10px 25px -3px #0000000d, 0 4px 12px -2px #00000008}*{box-sizing:border-box;margin:0;padding:0;transition:background-color .25s,border-color .25s}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.app-container{min-height:100vh;display:flex}.main-content{min-width:0;margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}@media (width<=992px){.main-content{margin-left:0;padding-bottom:70px}}.content-body{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:2rem}@media (width<=576px){.content-body{padding:1rem}}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg)}.app-header{height:var(--header-height);border-bottom:1px solid var(--border-color);background:var(--bg-secondary);justify-content:space-between;align-items:center;padding:0 2rem;display:flex}@media (width<=576px){.app-header{padding:0 1rem}}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;color:var(--text-primary);font-weight:600;line-height:1.25}p{color:var(--text-secondary);line-height:1.6}.btn{font-family:var(--font-sans);border-radius:var(--border-radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:var(--primary-solid);color:#fff;box-shadow:0 4px 14px #6366f14d}.btn-primary:hover{background:var(--primary-solid-hover);transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.btn-secondary{border-color:var(--border-color);color:var(--text-primary);background:#ffffff0d}.btn-secondary:hover{border-color:var(--text-muted);background:#ffffff1a}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 4px 14px #ef444433}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.btn-success{background:var(--success);color:#fff;box-shadow:0 4px 14px #10b98133}.btn-success:hover{background:#059669;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.badge{text-transform:uppercase;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-pending{background:var(--warning-glow);color:var(--warning);border:1px solid #f59e0b4d}.badge-approved,.badge-completed,.badge-resolved{background:var(--success-glow);color:var(--success);border:1px solid #10b9814d}.badge-rejected,.badge-cancelled{background:var(--danger-glow);color:var(--danger);border:1px solid #ef44444d}.badge-in_progress,.badge-ordered{color:#3b82f6;background:#3b82f61a;border:1px solid #3b82f64d}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-control{width:100%;font-family:var(--font-sans);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:#ffffff08;outline:none;padding:.75rem 1rem;font-size:.95rem;transition:all .2s}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:#ffffff0d}select.form-control{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1.2em;padding-right:2.5rem}select.form-control option{background-color:var(--bg-secondary);color:var(--text-primary)}.table-container{border-radius:var(--border-radius-lg);border:1px solid var(--border-color);overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border-color);background:#ffffff05;padding:1rem 1.25rem;font-size:.85rem;font-weight:600}.custom-table td{color:var(--text-primary);border-bottom:1px solid var(--border-color);vertical-align:middle;padding:1rem 1.25rem;font-size:.95rem}.custom-table tbody tr:last-child td{border-bottom:none}.grid-cols-1{grid-template-columns:1fr;gap:1.5rem;display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.grid-cols-3{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.grid-cols-4{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}@media (width<=1200px){.grid-cols-4{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.metric-card{justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.metric-card .icon-wrapper{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;position:fixed;top:0;left:0}.modal-content{border-radius:var(--border-radius-lg);width:100%;max-width:550px;animation:.3s cubic-bezier(.16,1,.3,1) modalSlideUp;overflow:hidden}.confirm-dialog{max-width:440px}.confirm-dialog .modal-body{align-items:flex-start;gap:1rem;display:flex}.confirm-dialog .modal-body h3{margin-bottom:.35rem}.confirm-dialog-icon{background:var(--warning-glow);width:40px;height:40px;color:var(--warning);border-radius:12px;flex:0 0 40px;place-items:center;font-size:1.2rem;font-weight:700;display:grid}.pagination{color:var(--text-secondary);justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 0;font-size:.88rem;display:flex}.pagination .btn{min-height:36px;padding:.45rem .8rem}@media (width<=600px){.pagination{justify-content:space-between}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.clickable-table-row{cursor:pointer}.clickable-table-row:hover td{background:color-mix(in srgb, var(--primary) 5%, var(--bg-card))}.clickable-table-row:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.repair-detail-button{min-width:max-content;padding:.45rem .7rem;font-size:.78rem}.repair-row-actions{flex-direction:column;align-items:stretch;gap:.45rem;display:flex}.modal-content.repair-detail-modal{flex-direction:column;width:min(920px,100%);max-width:920px;max-height:min(900px,100dvh - 2rem);display:flex}.repair-completed-at{color:var(--text-secondary);white-space:nowrap;margin-top:.4rem;font-size:.72rem;line-height:1.4}.repair-detail-header{align-items:flex-start;gap:1rem}.repair-detail-header h2{margin:.25rem 0 0;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.35}.repair-detail-eyebrow{color:var(--primary);letter-spacing:.03em;text-transform:uppercase;font-size:.78rem;font-weight:700}.repair-detail-header-actions{flex:none;align-items:center;gap:.65rem;display:flex}.repair-detail-close{min-width:38px;min-height:38px;padding:.35rem}.repair-detail-body{background:color-mix(in srgb, var(--bg-primary) 45%, transparent);overflow-y:auto}.repair-detail-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.repair-detail-metrics article{border:1px solid var(--border-color);background:var(--bg-card);border-radius:12px;min-width:0;padding:.9rem}.repair-detail-metrics span,.repair-detail-list dt{color:var(--text-muted);margin-bottom:.3rem;font-size:.74rem;display:block}.repair-detail-metrics strong{color:var(--text-primary);font-size:.88rem;line-height:1.45;display:block}.repair-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.repair-detail-section{border:1px solid var(--border-color);background:var(--bg-card);border-radius:14px;padding:1rem}.repair-detail-section+.repair-detail-section{margin-top:1rem}.repair-detail-grid .repair-detail-section+.repair-detail-section{margin-top:0}.repair-detail-section h3{margin:0 0 .85rem;font-size:.98rem}.repair-detail-list{margin:0}.repair-detail-list>div{border-bottom:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);padding:.65rem 0}.repair-detail-list>div:first-child{padding-top:0}.repair-detail-list>div:last-child{border-bottom:0;padding-bottom:0}.repair-detail-list dd{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:.88rem;line-height:1.55}.repair-note-section p{color:var(--text-secondary);white-space:pre-wrap;margin:0;line-height:1.65}.repair-timeline-title,.repair-timeline-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.repair-timeline-title>span{color:var(--text-muted);font-size:.78rem}.repair-timeline{margin:0;padding:0;list-style:none}.repair-timeline li{grid-template-columns:34px minmax(0,1fr);gap:.75rem;padding:0 0 1rem;display:grid;position:relative}.repair-timeline li:not(:last-child):before{content:"";background:var(--border-color);width:1px;position:absolute;top:31px;bottom:0;left:16px}.repair-timeline li:last-child{padding-bottom:0}.repair-timeline-dot{z-index:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50%;place-items:center;width:34px;height:34px;font-size:.82rem;display:grid;position:relative}.repair-timeline-row strong{font-size:.88rem}.repair-timeline-row time,.repair-timeline-person{color:var(--text-muted);font-size:.75rem}.repair-timeline li p{background:var(--bg-secondary);color:var(--text-secondary);white-space:pre-wrap;border-radius:8px;margin:.4rem 0 0;padding:.55rem .7rem;font-size:.82rem;line-height:1.5}.repair-detail-empty{border:1px dashed var(--border-color);color:var(--text-muted);text-align:center;border-radius:10px;padding:1.5rem;font-size:.85rem}@media (width<=760px){.repair-detail-metrics,.repair-detail-grid{grid-template-columns:1fr 1fr}.repair-detail-header{flex-direction:column}.repair-detail-header-actions{justify-content:space-between;width:100%}}@media (width<=520px){.repair-detail-metrics,.repair-detail-grid{grid-template-columns:1fr}.repair-detail-body{padding:1rem}.repair-timeline-row{flex-direction:column;align-items:flex-start;gap:.15rem}}.search-bar-container{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.search-input-wrapper{flex:1;min-width:250px;position:relative}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-secondary{color:var(--text-secondary)}.font-semibold{font-weight:600}.mb-4{margin-bottom:1rem}.mt-2{margin-top:.5rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.printable-label-area{position:fixed;top:-9999px;left:-9999px}@media print{body *{visibility:hidden}.printable-label-area,.printable-label-area *{visibility:visible}.printable-label-area{position:absolute;width:90mm!important;height:60mm!important;box-shadow:none!important;color:#000!important;box-sizing:border-box!important;background:#fff!important;border:2px dashed #000!important;border-radius:8px!important;flex-direction:column!important;justify-content:space-between!important;margin:0!important;padding:15px!important;display:flex!important;top:50px!important;left:50%!important;transform:translate(-50%)!important}.printable-label-area *{color:#000!important}.no-print{display:none!important}}.notification-toast{top:calc(var(--header-height) + 1rem);z-index:2000;border:1px solid var(--primary);background:var(--bg-card);width:min(390px,100vw - 2rem);color:var(--text-primary);box-shadow:var(--shadow-lg);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.9rem 1rem;animation:.22s ease-out notification-in;display:grid;position:fixed;right:1rem}.notification-toast-icon{background:var(--primary-glow);border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.notification-toast strong,.notification-toast small{display:block}.notification-toast strong{margin-bottom:.2rem;font-size:.9rem}.notification-toast small{color:var(--text-secondary);line-height:1.35}.notification-enable{border:1px solid var(--primary);background:var(--primary-glow);width:calc(100% - 1.5rem);color:var(--primary);font:inherit;cursor:pointer;border-radius:8px;margin:.65rem .75rem 0;padding:.6rem .75rem;font-size:.78rem;font-weight:600}.notification-enable:disabled{opacity:.65;cursor:not-allowed}@keyframes notification-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.notification-toast{width:calc(100vw - 1.5rem);top:.75rem;right:.75rem}}@media (width>=993px){.app-sidebar{transform:translate(0)!important}}@media (width<=992px){.app-sidebar{transform:translate(-100%)}.burger-btn{display:block!important}.main-content{margin-left:0!important}}.header-title-text{display:none}@media (width>=993px){.header-title-text{display:block}}.header-dept-badge{display:none}@media (width>=993px){.header-dept-badge{display:inline-flex}.header-logout-btn{display:none}}@media (width<=992px){.header-search{max-width:none!important;margin-left:0!important}}.logout-label{margin-left:.4rem}@media (width<=575px){.logout-label{display:none}}body{background:radial-gradient(circle at 85% -10%, var(--primary-glow), transparent 28rem), var(--bg-primary)}button,input,select,textarea{font:inherit}.app-sidebar{border:0!important;border-right:1px solid var(--border-color)!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.sidebar-brand{min-height:48px;margin-bottom:1.25rem!important}.sidebar-brand>span{background:var(--primary-glow);border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.sidebar-user{background:var(--bg-primary)!important;border-color:#0000!important;margin-bottom:1.25rem!important;padding:.75rem!important}.nav-button{align-items:center;gap:.7rem;min-height:44px;font-weight:500;display:flex;border-left-width:0!important;border-radius:10px!important;padding:.7rem .8rem!important}.nav-icon{background:var(--bg-primary);width:28px;height:28px;color:var(--text-muted);letter-spacing:.02em;border-radius:8px;flex:0 0 28px;place-items:center;font-size:.62rem;font-weight:700;display:grid}.nav-button:hover .nav-icon,.nav-button[style*="var(--primary)"] .nav-icon{background:var(--primary-glow);color:var(--primary)}.nav-button:hover{color:var(--text-primary)!important;background:var(--bg-primary)!important}.sidebar-footer{gap:.25rem!important}.utility-button{min-height:36px;border-radius:8px!important}.utility-button:hover{background:var(--bg-primary)!important;color:var(--text-primary)!important}.app-header{z-index:50;background:color-mix(in srgb, var(--bg-secondary) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:0 1.5rem;position:sticky;top:0}.global-search-input{min-height:42px;border:1px solid var(--border-color)!important;background:var(--bg-primary)!important;border-radius:12px!important}.content-body{max-width:1520px;padding:2rem clamp(1.25rem,3vw,3rem) 3rem}.page-intro{margin-bottom:1.5rem!important}.page-intro h1{letter-spacing:-.035em;font-size:clamp(1.65rem,2.6vw,2.15rem)!important}.glass-panel{background:var(--bg-card);border:1px solid var(--border-color);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px 2px #10182809,0 8px 24px #10182809}.metric-card{min-height:148px;padding:1.35rem;transition:transform .16s,border-color .16s,box-shadow .16s}.metric-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #10182812}.metric-card h2{font-variant-numeric:tabular-nums}.metric-card .icon-wrapper{border-radius:12px;width:44px;height:44px}.btn{min-height:40px;box-shadow:none;border-radius:10px;padding:.6rem 1rem}.btn-primary{box-shadow:0 6px 16px color-mix(in srgb, var(--primary) 22%, transparent)}.btn:hover{transform:translateY(-1px)}.form-control{background:var(--bg-primary);border-color:var(--border-color);min-height:44px}.form-control:focus{background:var(--bg-card);box-shadow:0 0 0 4px var(--primary-glow)}.table-container{background:var(--bg-card);box-shadow:0 1px 2px #10182808}.custom-table th{background:var(--bg-primary);text-transform:none;letter-spacing:0}.custom-table tbody tr:hover td{background:var(--primary-glow)}.purchase-table{table-layout:fixed;width:100%}.purchase-col-id{width:10%}.purchase-col-product{width:18%}.purchase-col-quantity{width:6%}.purchase-col-price{width:11%}.purchase-col-requester{width:14%}.purchase-col-status{width:13%}.purchase-col-reference{width:15%}.purchase-col-actions{width:13%}.purchase-table th{white-space:normal;line-height:1.35}.purchase-table td{overflow-wrap:normal;word-break:normal;line-height:1.4}.purchase-item-cell .font-semibold,.purchase-requester-cell .font-semibold{line-height:1.35}.purchase-item-meta{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;display:flex}.purchase-category{border:1px solid var(--border-color);max-width:100%;color:var(--text-secondary);background:var(--bg-primary);border-radius:999px;align-items:center;padding:.18rem .5rem;font-size:.7rem;line-height:1.25;display:inline-flex}.purchase-reference-cell .badge{white-space:normal;max-width:100%}.purchase-actions{align-items:stretch}.purchase-actions .btn{white-space:nowrap;flex:100%;min-width:0;min-height:38px}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a85}.modal-content{box-shadow:0 24px 64px #0f172a38}.login-wrapper{min-height:100vh;padding:2rem 1rem;background:radial-gradient(circle at 15% 10%, color-mix(in srgb, var(--primary) 16%, transparent), transparent 28rem), radial-gradient(circle at 90% 90%, #0ea5e91a, transparent 30rem), var(--bg-primary)!important}.login-wrapper>.glass-panel{border-radius:20px!important;width:min(100%,460px)!important;padding:clamp(1.5rem,5vw,2.5rem)!important;box-shadow:0 24px 70px #0f172a1f!important}@media (width<=1200px){.grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=992px){.app-sidebar{width:min(86vw,290px)!important;box-shadow:18px 0 50px #0f172a33!important}.app-header{padding:0 1rem}.content-body{padding:1.5rem 1rem 6rem}}@media (width<=600px){.grid-cols-4{grid-template-columns:1fr;gap:.9rem}.metric-card{min-height:124px}.app-header{height:64px}.header-search{min-width:0!important}.global-search-input{font-size:.85rem!important}.modal-content{max-height:calc(100vh - 1.5rem);overflow-y:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.notif-item:hover{background:#ffffff05}.global-search-input:focus{border-color:var(--primary);box-shadow:var(--shadow-glow);background:#ffffff14}.global-search-item:hover{background:var(--primary-glow);color:var(--primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-icon{animation:1.2s linear infinite spin;display:inline-block}body{background:var(--bg-primary);color:var(--text-primary)}.main-content{background:radial-gradient(circle at 100% 0%, #155eef09, transparent 28rem), var(--bg-primary)}.app-sidebar{box-shadow:none!important;background:#101828!important;border-right:1px solid #344054!important}.app-sidebar .sidebar-brand h3,.app-sidebar .sidebar-user h4{color:#f9fafb!important}.app-sidebar .sidebar-version,.app-sidebar .sidebar-role{color:#98a2b3!important}.app-sidebar .sidebar-brand>span{background:#ffffff1a}.app-sidebar .sidebar-user{background:#ffffff0e!important;border-color:#ffffff12!important}.app-sidebar .nav-button{color:#d0d5dd!important;border:1px solid #0000!important}.app-sidebar .nav-button:hover{color:#fff!important;background:#ffffff12!important}.app-sidebar .nav-button[style*="var(--primary-glow)"]{color:#fff!important;background:#155eef42!important;border-color:#84a8ff33!important}.app-sidebar .nav-icon{color:#b0b8c4;background:#ffffff12}.app-sidebar .nav-button:hover .nav-icon,.app-sidebar .nav-button[style*="var(--primary)"] .nav-icon{color:#fff!important;background:#84a8ff38!important}.app-sidebar .utility-button{color:#d0d5dd!important}.app-sidebar .utility-button:hover{background:#ffffff12!important}.app-header{border-bottom-color:#eaecf0;box-shadow:0 1px 2px #10182808;background:#ffffffe0!important}.header-title-text{color:#101828;font-weight:650}.glass-panel{background:#ffffffe6;border-color:#eaecf0;box-shadow:0 1px 2px #10182808,0 4px 14px #10182809}.glass-panel:hover{background:#fff;border-color:#d0d5dd}.metric-card{border-radius:14px;box-shadow:0 1px 2px #10182808,0 6px 18px #10182806}.metric-card .icon-wrapper{color:#155eef!important;background:#eff4ff!important}.btn{letter-spacing:0;border-radius:8px;font-weight:600}.btn-primary{background:#155eef;box-shadow:0 1px 2px #1018281f}.btn-primary:hover{background:#004eeb}.btn-secondary{color:#344054;background:#fff;border-color:#d0d5dd}.btn-secondary:hover{color:#101828;background:#f9fafb;border-color:#98a2b3}.btn-success{background:#067647}.btn-success:hover{background:#05603a}.btn-danger{background:#d92d20}.btn-danger:hover{background:#b42318}.form-label{color:#344054;font-weight:600}.form-control{color:#101828;background:#fff;border-color:#d0d5dd;border-radius:8px}.form-control::placeholder{color:#98a2b3}.form-control:focus{background:#fff;border-color:#155eef;box-shadow:0 0 0 4px #155eef1f}.table-container{background:#fff;border-color:#eaecf0}.custom-table th{color:#475467;letter-spacing:.035em;text-transform:uppercase;background:#f9fafb;border-bottom-color:#eaecf0;font-size:.76rem;font-weight:700}.custom-table td{border-bottom-color:#f2f4f7}.badge{letter-spacing:.01em;text-transform:none;font-size:.72rem;font-weight:650}.badge-in_progress,.badge-ordered{color:#175cd3;background:#eff8ff;border-color:#b2ddff}.badge-approved,.badge-completed,.badge-resolved{color:#027a48;background:#ecfdf3;border-color:#abefc6}.badge-pending{color:#b54708;background:#fffaeb;border-color:#fedf89}.badge-rejected,.badge-cancelled{color:#b42318;background:#fef3f2;border-color:#fecdca}::-webkit-scrollbar-track{background:#f2f4f7}::-webkit-scrollbar-thumb{background:#d0d5dd}::-webkit-scrollbar-thumb:hover{background:#98a2b3}[data-theme=dark] .main-content{background:#101828}[data-theme=dark]{--bg-primary:#101828;--bg-secondary:#182230;--bg-card:#1d2939;--bg-card-hover:#243244;--border-color:#344054;--border-color-glow:#84a8ff4d;--text-primary:#f9fafb;--text-secondary:#d0d5dd;--text-muted:#98a2b3;--primary:#84adff;--primary-hover:#b2ccff;--primary-glow:#84adff29;--success:#6ce9a6;--warning:#fec84b;--danger:#fda29b;--primary-solid:#2563eb;--primary-solid-hover:#3768d6;--role-admin:#a78bfa;--role-purchasing:#60a5fa;--role-technician:#fbbf24;--role-employee:#34d399;--role-warehouse:#5eead4;--warning-text:var(--warning);--success-text:var(--success);--danger-text:var(--danger)}[data-theme=dark] .app-header{border-bottom-color:#344054;background:#101828e6!important}[data-theme=dark] .header-title-text{color:#f9fafb}[data-theme=dark] .glass-panel{background:#182230;border-color:#344054}[data-theme=dark] .btn-secondary,[data-theme=dark] .form-control{color:#eaecf0;background:#101828;border-color:#475467}[data-theme=dark] .custom-table th{color:#98a2b3;background:#101828;border-bottom-color:#344054}[data-theme=dark] .table-container,[data-theme=dark] .custom-table,[data-theme=dark] .custom-table tbody,[data-theme=dark] .custom-table tbody tr,[data-theme=dark] .custom-table td{background:#182230}[data-theme=dark] .custom-table td{color:#f2f4f7;border-bottom-color:#344054}[data-theme=dark] .custom-table tbody tr:hover td{background:#243244}[data-theme=dark] .purchase-category{color:#d0d5dd;background:#101828;border-color:#475467}[data-theme=dark] select.form-control option{color:#f9fafb;background:#101828}[data-theme=dark] .form-label{color:#eaecf0}[data-theme=dark] .form-control::placeholder{color:#98a2b3}[data-theme=dark] .badge-in_progress,[data-theme=dark] .badge-ordered{color:#b2ddff;background:#1b3a5f;border-color:#2e5f91}[data-theme=dark] .badge-approved,[data-theme=dark] .badge-completed,[data-theme=dark] .badge-resolved{color:#a6f4c5;background:#123b2a;border-color:#1f6849}[data-theme=dark] .badge-pending{color:#fec84b;background:#4a3510;border-color:#7a5515}[data-theme=dark] .badge-rejected,[data-theme=dark] .badge-cancelled{color:#fecdca;background:#4b2025;border-color:#7e3038}.dashboard-main-grid{align-items:start}.dashboard-left-stack,.dashboard-low-stock,.dashboard-recent-activity{min-width:0}.dashboard-empty-state{padding:1rem;height:auto!important;min-height:148px!important}.dashboard-activity-list{min-height:148px}@media (width<=900px){.dashboard-main-grid{grid-template-columns:1fr!important}}html{min-width:320px}body{min-height:100dvh}.app-sidebar{overscroll-behavior:contain;overflow-y:auto;padding:1.25rem!important}.app-header-left,.app-header-actions{min-width:0}.app-header-left{gap:clamp(.45rem,1vw,.9rem)!important}.header-title-text{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.header-search{width:min(34vw,460px)!important;min-width:180px!important}.app-header-actions{flex:none;gap:.5rem!important}.content-body>div>div:first-child{scroll-margin-top:calc(var(--header-height) + 1rem)}.table-container{border:1px solid var(--border-color);border-radius:var(--border-radius-md);-webkit-overflow-scrolling:touch;overflow:auto}.custom-table{min-width:760px}.custom-table th{z-index:1;position:sticky;top:0}.modal-overlay{padding:max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left))}.modal-content{width:min(100%,680px);max-height:min(820px,100dvh - 1.5rem)}@media (width<=992px){.app-header{padding:0 1rem}.content-body{padding:1.25rem 1rem calc(1.5rem + env(safe-area-inset-bottom))}.header-search{width:min(42vw,380px)!important}.header-dept-badge{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}}@media (width<=700px){:root{--header-height:auto}.app-header{flex-wrap:wrap;gap:.5rem;height:auto;min-height:64px;padding:.65rem .85rem}.app-header-left{order:2;flex:100%!important}.app-header-actions{order:1;margin-left:auto}.header-title-text{font-size:1rem!important}.header-search{flex:1;width:100%!important;min-width:0!important}.header-dept-badge,.header-logout-btn .logout-label{display:none}.header-logout-btn{min-width:42px;padding:.45rem!important}.content-body{padding:1rem .8rem calc(1rem + env(safe-area-inset-bottom))}.glass-panel{border-radius:12px}.btn{min-height:44px}}@media (width<=480px){.app-sidebar{width:min(90vw,320px)!important;padding:1rem!important}.content-body{padding-inline:.65rem}.page-intro h1,.content-body h1{font-size:1.45rem!important}.search-bar-container{flex-direction:column;align-items:stretch!important;gap:.65rem!important}.search-bar-container>div:last-child{scrollbar-width:none;width:100%;overflow-x:auto}.search-bar-container>div:last-child::-webkit-scrollbar{display:none}.notification-dropdown{left:.65rem;top:calc(var(--header-height) + .5rem)!important;width:auto!important;max-height:min(70dvh,520px)!important;position:fixed!important;right:.65rem!important}.modal-content{border-radius:16px}.modal-footer{background:var(--bg-card);padding-bottom:max(1rem, env(safe-area-inset-bottom));position:sticky;bottom:0}}@media (hover:none){.btn:hover,.metric-card:hover{transform:none}.glass-panel:hover{border-color:var(--border-color)}}.metric-card-action{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.metric-card-action:hover{border-color:var(--primary);transform:translateY(-2px)}.metric-card-action:focus-visible{outline:3px solid var(--primary-glow);outline-offset:2px;border-color:var(--primary)}.trace-search-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:.85rem;display:grid}.trace-search-grid .form-label{margin-bottom:0}.trace-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.25rem;display:grid}.trace-form{gap:.75rem;display:grid}.trace-inline{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.trace-flow{gap:0;margin:.25rem 0 1.25rem;display:grid}.trace-event{grid-template-columns:22px minmax(0,1fr);display:grid;position:relative}.trace-event:not(:last-child):before{content:"";background:var(--border-color);width:2px;position:absolute;top:20px;bottom:-1px;left:10px}.trace-dot{background:var(--primary);border:3px solid var(--bg-card);z-index:1;border-radius:50%;width:12px;height:12px;margin:5px 0 0 4px}.trace-event-card{padding:0 0 1.1rem .8rem}.trace-lot-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;display:grid}.trace-lot{border:1px solid var(--border-color);background:var(--bg-card-hover);border-radius:10px;gap:.2rem;padding:.85rem;display:grid}.trace-lot small{color:var(--text-secondary)}.trace-print-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.print-only{display:none}@media (width<=900px){.trace-search-grid,.trace-work-grid{grid-template-columns:1fr}.trace-search-grid .btn{width:100%}}@media print{@page{size:A4;margin:12mm}body *{visibility:hidden!important}.traceability-page,.traceability-page *{visibility:visible!important}.traceability-page{width:100%;position:absolute;inset:0;color:#101828!important;background:#fff!important}.traceability-page .page-intro,.traceability-page>.glass-panel:first-of-type,.trace-work-grid,.print-hide{display:none!important}.traceability-page .glass-panel{box-shadow:none!important;background:#fff!important;border:1px solid #d0d5dd!important}.traceability-page .trace-event-card,.traceability-page .trace-lot,.traceability-page .text-muted,.traceability-page time{color:#344054!important}.trace-event:not(:last-child):before{background:#98a2b3!important}.trace-dot{background:#155eef!important;border-color:#fff!important}.print-only{margin:0;font-size:.85rem;display:block;color:#475467!important}}
