*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.right-3{right:.75rem}.top-0{top:0}.mb-1{margin-bottom:.25rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.size-10{width:2.5rem;height:2.5rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-full{width:100%}.min-w-0{min-width:0px}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.place-content-center{place-content:center}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-blue-600{--tw-gradient-to: #2563eb var(--tw-gradient-to-position)}.fill-white{fill:#fff}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pt-4{padding-top:1rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.tracking-wide{letter-spacing:.025em}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--bg: #f4f5f9;--panel: #ffffff;--panel-raised: #f8fafc;--border: transparent;--border-subtle: #f1f3f9;--text: #1e2432;--text-muted: #64748b;--text-faint: #94a3b8;--accent: #262261;--accent-hover: #1c1a4d;--accent-light: #3d3a8a;--accent-dim: #eceaf8;--status-pending: #e27d14;--status-pending-bg: #fff7ed;--status-final: #262261;--status-final-bg: #eceaf8;--status-approved: #10b981;--status-approved-bg: #ecfdf5;--status-done: #2563eb;--status-done-bg: #eff6ff;--status-rejected: #ef4444;--status-rejected-bg: #fef2f2;--font-ui: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-sm: 10px;--radius: 16px;--radius-lg: 22px;--radius-xl: 28px;--shadow-sm: 0 2px 8px rgba(99, 102, 241, .04), 0 1px 3px rgba(0, 0, 0, .03);--shadow-md: 0 10px 25px -5px rgba(50, 50, 93, .05), 0 6px 12px -3px rgba(0, 0, 0, .03);--shadow-lg: 0 18px 36px -8px rgba(67, 72, 116, .08), 0 8px 16px -4px rgba(0, 0, 0, .03);--shadow-hover: 0 20px 38px -6px rgba(38, 34, 97, .12), 0 10px 20px -5px rgba(0, 0, 0, .04)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%;width:100%;max-width:100vw;margin:0;padding:0;overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:12px;line-height:1.5;-webkit-font-smoothing:antialiased;position:relative;width:100%}img,svg,video,canvas{max-width:100%;height:auto}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-ui);cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input:not(.MuiInputBase-input),select:not(.MuiNativeSelect-select),textarea:not(.MuiInputBase-input){font-family:var(--font-ui);background:var(--panel);border:1px solid transparent;color:var(--text);border-radius:var(--radius-sm);padding:8px 12px;font-size:12px;box-shadow:0 2px 6px #0000000a;transition:background .15s ease,box-shadow .15s ease}input:not(.MuiInputBase-input):hover,select:not(.MuiNativeSelect-select):hover,textarea:not(.MuiInputBase-input):hover{background:#fdfdfe;box-shadow:0 3px 8px #0000000f}input:not(.MuiInputBase-input):focus,select:not(.MuiNativeSelect-select):focus,textarea:not(.MuiInputBase-input):focus{background:#fff;box-shadow:0 0 0 3px #26226126,0 3px 10px #0000000d;outline:none}textarea{resize:vertical}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:var(--panel);border-right:none;box-shadow:var(--shadow-sm);padding:24px 16px;display:flex;flex-direction:column;transition:transform .25s cubic-bezier(.16,1,.3,1)}.sidebar-brand{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--text-muted);padding:0 10px 20px;border-bottom:none;margin-bottom:16px}.sidebar-brand strong{color:var(--text);display:block;font-size:14px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:12px;color:var(--text-muted);font-size:12px;font-weight:500;margin-bottom:3px;cursor:pointer;transition:all .18s ease}.nav-item:hover{background:#f1f3f9;color:var(--text);text-decoration:none;transform:translate(2px)}.nav-item.active{background:var(--accent-dim);color:var(--accent);font-weight:600;border-left:none}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:none}.user-chip{display:flex;flex-direction:column;gap:2px;padding:8px 10px;font-size:12.5px}.user-chip .name{color:var(--text);font-weight:600}.user-chip .role{color:var(--text-faint);font-family:var(--font-mono);font-size:11px;text-transform:lowercase}.logout-btn{background:none;border:none;color:var(--text-faint);font-size:12.5px;padding:8px 10px;width:100%;text-align:left}.logout-btn:hover{color:var(--status-rejected)}.main{flex:1;padding:28px 36px;max-width:1200px;min-width:0}.hamburger-btn{display:none;background:var(--panel);border:none;border-radius:12px;color:var(--text);padding:9px 12px;font-size:16px;line-height:1;box-shadow:var(--shadow-sm)}.sidebar-overlay{display:none}.topbar{display:flex;justify-content:flex-end;margin-bottom:8px;position:relative}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{font-size:17px;font-weight:700;letter-spacing:-.02em;margin:0 0 3px;color:var(--text)}.page-header p{color:var(--text-muted);margin:0;font-size:11.5px}.panel{background:var(--panel);border:none;border-radius:var(--radius);box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease}.panel:hover{box-shadow:var(--shadow-lg)}.table-wrap,.MuiTableContainer-root{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius)}table{width:100%;border-collapse:separate;border-spacing:0}th{text-align:left;font-size:10.5px;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;padding:10px 14px;border-bottom:1px solid #f1f3f9;background:#fafbfc}td{padding:10px 14px;border-bottom:1px solid #f8fafc;font-size:12px;vertical-align:middle}tr:last-child td{border-bottom:none}tr:not(.MuiTableRow-root):hover td{background:#f9faff}.mono{font-family:var(--font-mono);font-size:12.5px;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-pending{background:var(--status-pending-bg);color:var(--status-pending)}.badge-final{background:var(--status-final-bg);color:var(--status-final)}.badge-approved{background:var(--status-approved-bg);color:var(--status-approved)}.badge-done{background:var(--status-done-bg);color:var(--status-done)}.badge-rejected{background:var(--status-rejected-bg);color:var(--status-rejected)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:12px;font-size:12px;font-weight:600;border:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .2s cubic-bezier(.16,1,.3,1)}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014;text-decoration:none}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 14px #26226140}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 6px 18px #26226159;color:#fff}.btn-secondary{background:#f3f4fa;color:#43495b}.btn-secondary:hover{background:#e8ebf5;color:#1e2432}.btn-approve{background:#10b981;color:#fff;box-shadow:0 4px 12px #10b98140}.btn-approve:hover{background:#059669}.btn-reject{background:#fee2e2;color:#dc2626;border:none}.btn-reject:hover{background:#fecaca}.btn-ghost{background:#fff;color:var(--text-muted);border:none;box-shadow:var(--shadow-sm)}.btn-ghost:hover{background:#f8fafc;color:var(--text)}.field{margin-bottom:16px}.field label{display:block;font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:5px}.field input,.field select,.field textarea{width:100%}.field-hint{font-size:11.5px;color:var(--text-faint);margin-top:5px}.form-panel{padding:24px;max-width:560px}.empty-state{padding:48px 24px;text-align:center;color:var(--text-faint);font-size:13.5px}.error-banner{background:var(--status-rejected-bg);color:var(--status-rejected);border:none;border-radius:var(--radius);padding:12px 18px;font-size:13.5px;font-weight:500;box-shadow:0 4px 14px #ef444414;margin-bottom:16px}.notif-panel{position:absolute;right:36px;top:60px;width:320px;max-height:400px;overflow-y:auto;z-index:20;background:var(--panel);border:none;border-radius:var(--radius);box-shadow:0 16px 36px #0f172a1f}.notif-item{padding:14px 16px;border-bottom:1px solid #f8fafc;font-size:13px}.notif-item:last-child{border-bottom:none}.notif-item .msg{color:var(--text);margin-bottom:4px;font-weight:500}.notif-item .time{color:var(--text-faint);font-family:var(--font-mono);font-size:11px}.bell-btn{position:relative;background:var(--panel);border:none;border-radius:12px;padding:9px 12px;color:var(--text-muted);box-shadow:var(--shadow-sm)}.bell-btn:hover{background:#f8fafc}.bell-dot{position:absolute;top:6px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--status-rejected)}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-box{width:100%;max-width:380px;padding:36px 32px;background:var(--panel);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.login-box h1{font-size:18px;margin:0 0 2px}.login-box .sub{color:var(--text-muted);font-size:13px;margin:0 0 24px}.attach-menu{position:absolute;top:calc(100% + 6px);left:0;width:220px;z-index:30;padding:8px;background:var(--panel);border:none;border-radius:var(--radius);box-shadow:0 12px 32px #0f172a1f}.attach-menu-item{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;color:var(--text);font-size:13.5px;padding:10px 12px;border-radius:var(--radius-sm);text-align:left}.attach-menu-item:hover{background:#f1f3f9}.attach-chip{display:inline-flex;align-items:center;gap:8px;background:#f1f3f9;border:none;border-radius:999px;padding:6px 10px 6px 14px;font-size:12px;color:var(--text-muted)}.attach-chip button{background:none;border:none;color:var(--text-faint);font-size:15px;line-height:1;padding:2px 4px}.attach-chip button:hover{color:var(--status-rejected)}.attachment-thumb{width:56px;height:56px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-sm);border:none;background:#f1f3f9;box-shadow:var(--shadow-sm)}.attachment-thumb-placeholder{width:56px;height:56px;border-radius:var(--radius-sm);border:none;background:#f1f3f9}.chat-box{padding:16px;background:#f8faff;border:none;border-radius:var(--radius)}.chat-messages{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto;margin-bottom:12px;padding-right:4px}.chat-bubble-row{display:flex;justify-content:flex-start}.chat-bubble-row.mine{justify-content:flex-end}.chat-bubble{max-width:75%;background:#fff;border:none;border-radius:14px;padding:10px 14px;box-shadow:0 2px 8px #0f172a0a}.chat-bubble.mine{background:#eeeffe}.chat-sender{font-size:11px;font-weight:600;color:var(--accent);margin-bottom:3px}.chat-text{font-size:13px;color:var(--text);white-space:pre-wrap;word-break:break-word}.chat-time{font-size:10.5px;color:var(--text-faint);font-family:var(--font-mono);margin-top:4px}.chat-input-row{display:flex;gap:8px}.chat-input-row input{flex:1}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px}.stat-card{padding:16px 18px}.stat-card .num{font-family:var(--font-mono);font-size:26px;font-weight:500;color:var(--text)}.stat-card .label{color:var(--text-muted);font-size:12px;margin-top:2px}@media (max-width: 860px){.app-shell{position:relative}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;transform:translate(-100%);box-shadow:4px 0 24px #0f172a26}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;z-index:40}.hamburger-btn{display:inline-flex;align-items:center;justify-content:center}.topbar{justify-content:space-between}.main{padding:18px 16px 32px;max-width:100%}.page-header{flex-direction:column;gap:12px}.page-header h1{font-size:18px}.form-panel{padding:18px;max-width:100%}.stat-grid{grid-template-columns:repeat(2,1fr)}th,td{padding:10px 12px;font-size:12.5px}.notif-panel{right:16px;left:16px;width:auto;top:56px}}@media (max-width: 480px){.stat-grid{grid-template-columns:1fr 1fr}.login-box{padding:24px 20px}.btn{padding:9px 13px;font-size:13px}}.MuiDialog-paper{max-width:calc(100vw - 32px)!important;margin:16px!important;border-radius:18px!important}@media (max-width: 600px){.MuiDialog-paper{max-width:calc(100vw - 16px)!important;margin:8px!important;border-radius:14px!important}}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:border-gray-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.dark\:bg-blue-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1e3a8a33}.dark\:bg-blue-900\/50:is(.dark *){background-color:#1e3a8a80}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900\/20:is(.dark *){background-color:#14532d33}.dark\:bg-orange-900\/20:is(.dark *){background-color:#7c2d1233}.dark\:bg-purple-900\/20:is(.dark *){background-color:#581c8733}.dark\:bg-red-900\/20:is(.dark *){background-color:#7f1d1d33}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.dark\:text-purple-400:is(.dark *){--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:hover\:text-blue-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:hover\:text-gray-100:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
