:root{--app-font-family:"Nunito", "Inter", "Segoe UI", Roboto, Arial, sans-serif;--bg:#f5f7fb;--surface:#fff;--surface-soft:#f8fafc;--text:#334155;--text-muted:#64748b;--heading:#111827;--primary:#1a237e;--primary-light:#e8eaf6;--primary-border:#1a237e24;--accent:#6d28d9;--success:#047857;--danger:#b91c1c;--border:#dbe2ef;--shadow:0 16px 40px #0f172a14;--scrollbar-track:#0f172a12;--scrollbar-thumb:linear-gradient(180deg, #67e8f9 0%, #38bdf8 22%, #4f46e5 58%, #d9a04a 82%, #1e1b4b 100%);--scrollbar-thumb-hover:linear-gradient(180deg, #a5f3fc 0%, #0ea5e9 22%, #6366f1 58%, #f2c879 82%, #312e81 100%);--scrollbar-thumb-solid:#2563eb;--scrollbar-thumb-hover-solid:#0ea5e9;font-family:var(--app-font-family);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb-hover-solid) #0f172a14;scrollbar-gutter:stable;width:100%;max-width:100%;min-height:100%;overflow:hidden auto}body{width:100%;min-width:320px;max-width:100%;min-height:100%;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);margin:0;overflow:hidden auto}html::-webkit-scrollbar{width:12px}body::-webkit-scrollbar{width:12px}html::-webkit-scrollbar-track{background:radial-gradient(circle at 50% 0%, #0ea5e91f, transparent 46%), linear-gradient(180deg, #fffffff0, #e2e8f0c7), var(--scrollbar-track);border-left:1px solid #94a3b833}body::-webkit-scrollbar-track{background:radial-gradient(circle at 50% 0%, #0ea5e91f, transparent 46%), linear-gradient(180deg, #fffffff0, #e2e8f0c7), var(--scrollbar-track);border-left:1px solid #94a3b833}html::-webkit-scrollbar-thumb{background:linear-gradient(90deg, #ffffff8f 0%, #ffffff0a 42%), radial-gradient(circle at 50% 10%, #ffffffa3, transparent 34%), var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #f8fafce6;border-radius:999px;box-shadow:0 0 16px #0ea5e93d,0 0 8px #d9a04a1f,inset 0 1px #ffffff94,inset 0 -10px 18px #1e1b4b3d}body::-webkit-scrollbar-thumb{background:linear-gradient(90deg, #ffffff8f 0%, #ffffff0a 42%), radial-gradient(circle at 50% 10%, #ffffffa3, transparent 34%), var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #f8fafce6;border-radius:999px;box-shadow:0 0 16px #0ea5e93d,0 0 8px #d9a04a1f,inset 0 1px #ffffff94,inset 0 -10px 18px #1e1b4b3d}html::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg, #ffffffad 0%, #ffffff0f 42%), radial-gradient(circle at 50% 12%, #ffffffb8, transparent 36%), var(--scrollbar-thumb-hover);border-color:#f1f5f9d1;box-shadow:0 0 20px #0ea5e95c,0 0 10px #d9a04a2e,inset 0 1px #ffffffb3,inset 0 -10px 18px #1e1b4b47}body::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg, #ffffffad 0%, #ffffff0f 42%), radial-gradient(circle at 50% 12%, #ffffffb8, transparent 36%), var(--scrollbar-thumb-hover);border-color:#f1f5f9d1;box-shadow:0 0 20px #0ea5e95c,0 0 10px #d9a04a2e,inset 0 1px #ffffffb3,inset 0 -10px 18px #1e1b4b47}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}#root{width:100%;max-width:100%;min-height:100dvh;overflow:visible}.portal-app-scroll,.portal-scroll-y{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y pan-x pinch-zoom;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb-hover-solid) #94a3b824;scrollbar-gutter:stable;overflow:hidden auto}.portal-app-scroll::-webkit-scrollbar{width:6px}.portal-scroll-y::-webkit-scrollbar{width:6px}.portal-app-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg, #ffffff80, #ffffff05 42%), var(--scrollbar-thumb);background-clip:padding-box;border:2px solid #f8fafcb8;border-radius:999px;box-shadow:0 0 12px #0ea5e938,0 0 6px #d9a04a1a,inset 0 1px #ffffff7a}.portal-scroll-y::-webkit-scrollbar-thumb{background:linear-gradient(90deg, #ffffff80, #ffffff05 42%), var(--scrollbar-thumb);background-clip:padding-box;border:2px solid #f8fafcb8;border-radius:999px;box-shadow:0 0 12px #0ea5e938,0 0 6px #d9a04a1a,inset 0 1px #ffffff7a}.portal-app-scroll::-webkit-scrollbar-track{background:#94a3b81f;border-radius:999px}.portal-scroll-y::-webkit-scrollbar-track{background:#94a3b81f;border-radius:999px}@media (prefers-reduced-motion:reduce){html,.portal-app-scroll,.portal-scroll-y{scroll-behavior:auto}}img,svg,video,canvas{max-width:100%}p,h1,h2,h3,h4,h5,h6,li,dd,dt,label{overflow-wrap:anywhere}.MuiTypography-root,.MuiCard-root,.MuiPaper-root,.MuiDialogContent-root,.MuiDialogTitle-root,.MuiFormControl-root,.MuiInputBase-root,.MuiButton-root,.MuiBox-root,.MuiGrid-root,.MuiStack-root{min-width:0;max-width:100%}.MuiCard-root,.MuiPaper-root,.MuiDialogContent-root,.MuiDialogTitle-root,.MuiBox-root,.MuiGrid-root,.MuiStack-root{overflow-wrap:anywhere}.portal-toast.Toastify__toast{font-family:var(--app-font-family);border:1px solid #0f172a14;border-radius:10px;min-height:52px;padding:10px 14px;font-size:.875rem;font-weight:600;line-height:1.45;box-shadow:0 16px 40px #0f172a29}.portal-toast.Toastify__toast--success{background:linear-gradient(135deg,#047857 0%,#059669 100%)}@media (width<=899.98px){.portal-dashboard-table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x;scroll-padding-inline:8px;max-height:none!important;overflow-y:visible!important}.portal-dashboard-table .MuiTableCell-root{line-height:1.45}.portal-dashboard-table .MuiTableHead-root .MuiTableCell-root{vertical-align:bottom;text-overflow:ellipsis;box-sizing:border-box;overflow:hidden}}.portal-toast.Toastify__toast--error{background:linear-gradient(135deg,#b91c1c 0%,#dc2626 100%)}.portal-toast.Toastify__toast--warning{background:linear-gradient(135deg,#b45309 0%,#d97706 100%)}.portal-toast.Toastify__toast--info{background:linear-gradient(135deg,#1a237e 0%,#4338ca 100%)}.portal-toast .Toastify__toast-body{margin:0;padding:0}.portal-toast .Toastify__progress-bar{opacity:.85;height:3px}@media (prefers-reduced-motion:reduce){.portal-toast.Toastify__toast{transition:none}}
