.sidebar{z-index:10;flex-direction:column;flex-shrink:0;width:18.5rem;min-width:18.5rem;height:100vh;transition:width .25s,min-width .25s;display:flex;overflow-x:hidden}.nav-label,.nav-section-label,.brand-name,.brand-sub,.sidebar-role-pill span,.collapse-btn span{white-space:nowrap}.brand-logo{object-fit:contain;border-radius:4px;width:2rem;height:auto}.sidebar.collapsed{width:5.25rem;min-width:5.25rem}.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-section-label,.sidebar.collapsed .brand-name,.sidebar.collapsed .brand-sub,.sidebar.collapsed .nav-badge,.sidebar.collapsed .sidebar-role-pill span:not(.material-symbols-outlined),.sidebar.collapsed .collapse-btn span:not(.material-symbols-outlined){opacity:0;display:none}.sidebar.collapsed .sidebar-head,.sidebar.collapsed .sidebar-role-pill,.sidebar.collapsed .nav-item,.sidebar.collapsed .collapse-btn{justify-content:center;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}.nav-scroll{scrollbar-width:none;-ms-overflow-style:none;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;gap:14px;width:100%;padding-right:4px;display:flex;overflow:hidden auto}.nav-scroll::-webkit-scrollbar{display:none}html{box-sizing:border-box;font-size:16px}@media (width<=1600px){html{font-size:15px}}@media (width<=1440px){html{font-size:14.5px}}@media (width<=1366px){html{font-size:14px}}@media (width<=1280px){html{font-size:13.5px}}@media (width<=1024px){html{font-size:13px}}@media (height<=800px) and (width>=1025px){html{font-size:13.5px}}@media (height<=720px) and (width>=1025px){html{font-size:13px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#092c2b;--muted:#6c8987;--line:#d8e9e3;--canvas:#f6fbf8;--panel:#fbfefc;--sidebar:#f3faf7;--soft:#e6f2ed;--primary:#428e78;--primary-dark:#2f7664;--primary-2:#2f7664;--font-display:Inter, sans-serif;--mint:#14bb83;--lime:#03a66d;--blue:#377af5;--amber:#f5a30a;--red:#f0445a;--slate:#788393;--shadow:0 2px 4px #0b372d0d, 0 1px 2px #0b372d0d;--bg:var(--canvas);--bg-soft:var(--sidebar);--surface:var(--panel);--surface-2:var(--soft);--bg-input:var(--soft);--border:var(--line);--text:var(--ink);--text-muted:var(--muted);--text-subtle:#788393;--primary-soft:#e6f2ed;--accent:var(--mint);--accent-soft:#e6f2ed;--info:var(--blue);--info-soft:#eaf2fe;--warn:var(--amber);--warn-soft:#fff8e7;--danger:var(--red);--danger-soft:#fde8ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e6f2ed;--muted:#95b3ab;--line:#1d3a36;--canvas:#091716;--panel:#0d211f;--sidebar:#0b1c1a;--soft:#142e2a;--primary:#52a38c;--primary-dark:#428e78;--primary-2:#2f7664;--font-display:Inter, sans-serif;--mint:#1bd697;--lime:#05be7d;--blue:#4f8cfc;--amber:#fcae1e;--red:#f7556a;--slate:#94a3b8;--shadow:0 4px 12px #0006;--bg:var(--canvas);--bg-soft:var(--sidebar);--surface:var(--panel);--surface-2:var(--soft);--bg-input:var(--soft);--border:var(--line);--text:var(--ink);--text-muted:var(--muted);--text-subtle:#73948c;--primary-soft:#428e7833;--accent:var(--mint);--accent-soft:#14bb832e;--info:var(--blue);--info-soft:#377af52e;--warn:var(--amber);--warn-soft:#f5a30a2e;--danger:var(--red);--danger-soft:#f0445a2e}*{box-sizing:border-box}body{background:linear-gradient(135deg, var(--bg) 0%, color-mix(in srgb, var(--bg) 92%, white 8%) 100%);min-height:100vh;color:var(--text);margin:0}button,input{font:inherit}a{color:inherit;text-decoration:none}#root{min-height:100vh}:root{--viewport-width:1280px}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;font-family:Material Symbols Outlined}#app-root{background:linear-gradient(120deg,#ffffffb8,#e0f2fe5c);height:100vh;display:flex;overflow:hidden}html.dark #app-root{background:linear-gradient(120deg,#020617f2,#080f21fa)}.sidebar{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-right:1px solid var(--border);z-index:10;background:#ffffffe6;flex-direction:column;gap:1.1rem;width:18.5rem;min-width:18.5rem;height:100vh;padding:1.25rem 1rem;transition:width .25s,min-width .25s,padding .25s;display:flex;position:relative}html.dark .sidebar{background:#0f172ae6}.sidebar.collapsed{width:5.25rem;min-width:5.25rem;padding-inline:.75rem}.sidebar-head{align-items:center;gap:12px;padding:8px 6px 4px;display:flex}.logo-mark{color:#052e16;background:linear-gradient(135deg,#4ade80,#2dd4bf);border-radius:14px;place-items:center;width:44px;height:44px;font-weight:800;display:grid;box-shadow:inset 0 1px #ffffff73}.brand-name{letter-spacing:.04em;font-size:1rem;font-weight:800}.brand-sub{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem}.sidebar-role-pill{border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:8px 12px;font-size:.76rem;font-weight:700;display:inline-flex}.nav-scroll{flex-direction:column;gap:14px;padding-right:4px;display:flex;overflow-y:auto}.nav-section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-subtle);margin:4px 8px 8px;font-size:.68rem;font-weight:700}.nav-item{color:var(--text-muted);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;transition:all .16s;display:flex}.nav-item svg{flex-shrink:0}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;box-shadow:0 10px 24px #2b388f38}.nav-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:.72rem;font-weight:700}.sidebar-foot{margin-top:auto;padding-top:6px}.collapse-btn,.icon-btn,.theme-toggle,.profile-btn,.btn{cursor:pointer;border:0;transition:transform .16s,box-shadow .16s,background .16s}.collapse-btn:hover,.icon-btn:hover,.theme-toggle:hover,.profile-btn:hover,.btn:hover{transform:translateY(-1px)}.collapse-btn{background:var(--surface-2);width:100%;color:var(--text-muted);border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;display:flex}.main-col{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow:hidden}.topbar{background:var(--panel);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:50;align-items:center;gap:14px;padding:16px 28px 14px;display:flex;position:relative}.search-bar{background:var(--soft);border:1px solid var(--line);border-radius:999px;flex:1;align-items:center;gap:10px;max-width:480px;padding:8px 16px;display:flex;box-shadow:0 2px 4px #0b372d08}html.dark .search-bar{background:var(--soft);border-color:var(--line)}.search-bar input{color:var(--text);background:0 0;border:0;outline:none;flex:1}.ai-chip{background:var(--primary-soft);color:var(--primary);border-radius:999px;align-items:center;gap:6px;padding:6px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.topbar-right{align-items:center;gap:10px;display:flex;position:relative}.icon-btn,.theme-toggle{width:42px;height:42px;color:var(--text);border:1px solid var(--border);background:#fffc;border-radius:50%;place-items:center;display:grid;box-shadow:0 8px 20px #0f172a0a}.theme-fab{z-index:20;position:fixed;top:24px;right:24px}html.dark .icon-btn,html.dark .theme-toggle{background:#0f172acc}.profile-btn{border:1px solid var(--border);color:var(--text);background:#fffc;border-radius:999px;align-items:center;gap:10px;padding:8px 10px;display:flex}html.dark .profile-btn{background:#0f172acc}.avatar{background:linear-gradient(135deg, var(--primary), var(--accent));color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.pname{font-size:.92rem;font-weight:700}.prole{color:var(--text-subtle);font-size:.74rem}.content{flex:1;padding:6px 28px 28px;overflow-y:auto}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:8px 0 20px;display:flex}.crumbs{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:6px;margin-bottom:8px;font-size:.8rem;display:flex}.page-head h1{margin:0;font-size:clamp(1.45rem,2vw,1.9rem)}.actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.btn{color:var(--text);background:var(--surface);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;display:inline-flex;box-shadow:0 10px 24px #0f172a0f}.btn.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff}.btn.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border);box-shadow:0 4px 12px #0f172a08}.btn.btn-secondary:hover{background:var(--primary-soft);color:var(--primary)}.btn.btn-danger{background:linear-gradient(135deg, var(--danger), #be123c);color:#fff;box-shadow:0 8px 20px #be123c40}.btn.btn-danger:hover{background:linear-gradient(135deg,#e11d48,#9f1239)}.btn.btn-outline{border:1px solid var(--border);color:var(--text);background:0 0}.btn.btn-sm{padding:8px 12px;font-size:.9rem}.btn.btn-ghost{background:#ffffffb3}html.dark .btn.btn-ghost{background:#0f172acc}.modal-overlay,.dialog-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}html.dark .modal-overlay,html.dark .dialog-overlay{background:#020617a6}.grid{gap:18px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-12{grid-template-columns:repeat(12,minmax(0,1fr))}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-7{grid-column:span 7}.col-5{grid-column:span 5}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.col-2{grid-column:span 2}.col-6{grid-column:span 6}.card,.panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:24px;padding:18px}.panel{padding:20px}.panel-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.panel-head h3{margin:0;font-size:1rem}.sub{color:var(--text-subtle);margin-top:4px;font-size:.84rem}.badge{border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.b-green{background:var(--accent-soft);color:var(--accent)}.b-amber{background:var(--warn-soft);color:var(--warn)}.b-red{background:var(--danger-soft);color:var(--danger)}.b-blue{background:var(--info-soft);color:var(--info)}.b-gray{background:var(--surface-2);color:var(--text-subtle)}.stat-card{gap:10px;min-height:170px;display:grid}.sic{border-radius:16px;place-items:center;width:46px;height:46px;display:inline-grid}.sval{font-size:1.9rem;font-weight:800}.slabel{color:var(--text-muted);font-size:.95rem}.strend{border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:7px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.trend-up{background:var(--accent-soft);color:var(--accent)}.trend-down{background:var(--danger-soft);color:var(--danger)}.trend-flat{background:var(--warn-soft);color:var(--warn)}.breakdown-panel{margin-bottom:18px}.breakdown-item{background:var(--surface-2);color:var(--text-muted);border-radius:16px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.breakdown-item strong{color:var(--text)}.pbar{background:var(--surface-2);border-radius:999px;width:100%;height:8px;overflow:hidden}.pbar>div{border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--accent));height:100%}.activity-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.activity-item:last-child{border-bottom:0}.activity-ico{border-radius:14px;place-items:center;width:40px;height:40px;display:grid}.at{font-weight:700}.ad{color:var(--text-subtle);font-size:.86rem}.ring-wrap{justify-content:center;align-items:center;width:140px;height:140px;margin:12px auto;display:flex;position:relative}.ring-wrap svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:var(--surface-2);stroke-width:10px}.ring-fg{fill:none;stroke:var(--primary);stroke-width:10px;stroke-linecap:round;transition:stroke-dashoffset .6s}.ring-center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-center b{color:var(--text);font-size:1.35rem;font-weight:800;line-height:1.1}.ring-center span{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}#auth-root{background:linear-gradient(135deg,#071124 0%,#121c31 100%);grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid}.auth-brand{color:#f8fafc;background:radial-gradient(circle at 0 0,#10b9812e,#0000 28%),radial-gradient(circle at 100% 100%,#3b82f629,#0000 28%),linear-gradient(135deg,#121829 0%,#1b243b 100%);flex-direction:column;justify-content:space-between;padding:32px 38px;display:flex;position:relative;overflow:hidden}.auth-brand:before,.auth-brand:after{content:"";pointer-events:none;border:1px solid #ffffff1a;border-radius:50%;position:absolute}.auth-brand:before{width:360px;height:360px;top:-120px;right:-90px}.auth-brand:after{width:260px;height:260px;bottom:-80px;left:-80px}.auth-brand-head{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.logo-pill{color:#052e16;background:linear-gradient(135deg,#34d399,#10b981);border-radius:16px;place-items:center;width:46px;height:46px;font-weight:800;display:grid}.auth-brand h1{max-width:620px;margin:0 0 14px;font-size:clamp(2rem,3vw,3rem);line-height:1.08}.auth-brand p{color:#e2e8f0c2;max-width:560px;margin:0;font-size:1rem}.auth-hero{z-index:1;padding:24px 0;position:relative}.hero-visual{place-items:center;width:280px;height:280px;margin:30px 0 0;display:grid;position:relative}.hero-ring{border:1px solid #ffffff24;border-radius:50%;position:absolute;inset:0}.hero-ring.r2{inset:24px}.hero-ring.r3{inset:48px}.hero-core{color:#052e16;background:linear-gradient(135deg,#34d399,#10b981);border-radius:50%;place-items:center;width:118px;height:118px;display:grid;box-shadow:0 0 0 14px #10b98124,0 20px 50px #10b98138}.auth-brand-foot{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid;position:relative}.auth-brand-foot>div{color:#e2e8f0c7;background:#ffffff0f;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;gap:4px;padding:12px 10px;font-size:.9rem;display:flex}.auth-brand-foot b{color:#fff;font-size:1.04rem}.auth-form-side{background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 100%);justify-content:center;align-items:center;padding:24px;display:flex}html.dark .auth-form-side{background:linear-gradient(135deg,#0f172a 0%,#111c34 100%)}.auth-card{background:#fff;border:1px solid #0f172a12;border-radius:32px;width:min(100%,480px);padding:32px;box-shadow:0 24px 70px #0f172a1f}html.dark .auth-card{background:#0f172ae6;border-color:#94a3b82e}.auth-card h2{margin:0 0 8px;font-size:1.8rem}.auth-card .lead{color:var(--text-subtle);margin:0 0 24px}.form-group{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.form-group label{color:var(--text-muted);font-size:.92rem;font-weight:600}.input-wrap{background:#f8fafce6;border:1px solid #94a3b847;border-radius:16px;align-items:center;gap:10px;padding:12px 14px;display:flex}html.dark .input-wrap{background:#0f172acc}.input-wrap input{color:var(--text);background:0 0;border:0;outline:none;flex:1}.form-row-between{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;margin:12px 0 16px;font-size:.92rem;display:flex}.check-row{align-items:center;gap:8px;display:inline-flex}.link-accent{color:var(--primary);font-weight:700}.divider-or{color:var(--text-subtle);align-items:center;gap:10px;margin:20px 0 14px;font-size:.9rem;display:flex}.divider-or:before,.divider-or:after{content:"";background:var(--border);flex:1;height:1px}.demo-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.demo-row .btn{justify-content:center;padding:11px 12px}.auth-switch{text-align:center;color:var(--text-subtle);margin-top:18px}.toast{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:12px 14px;display:flex}.toast.success{color:var(--accent)}.toast.info{color:var(--primary)}.toast.error{color:var(--danger)}.notif-panel,.dropdown{background:var(--surface);border:1px solid var(--border);z-index:99999;border-radius:18px;min-width:280px;padding:10px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 32px #0000002e}.notif-item{align-items:flex-start;gap:10px;padding:8px 4px;display:flex}.notif-head{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.9rem;font-weight:700;display:flex}.dropdown-item{cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:10px 8px;display:flex}.dropdown-item:hover{background:var(--surface-2)}.dropdown-sep{background:var(--border);height:1px;margin:6px 0}.sidebar-scrim{z-index:8;background:#0206176b;display:none;position:fixed;inset:0}.sidebar-scrim.show{display:block}.hidden{display:none!important}@media (width<=1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.col-8,.col-7,.col-5,.col-4,.col-3{grid-column:span 12}#auth-root{grid-template-columns:1fr}.auth-brand{min-height:420px}}@media (width<=760px){.topbar{flex-wrap:wrap;padding:16px}.search-bar{order:3;width:100%}.content{padding:0 16px 20px}.page-head{flex-direction:column}.actions{justify-content:flex-start}.grid-4,.grid-12{grid-template-columns:1fr}.col-8,.col-7,.col-5,.col-4{grid-column:span 1}.sidebar{width:min(84vw,300px);transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.auth-card{padding:24px}.auth-brand-foot,.demo-row{grid-template-columns:1fr}}@media (width<=640px){.topbar{padding:14px 14px 10px}.content{padding:0 14px 20px}.page-head{padding-top:4px}.actions{width:100%}.actions .btn{flex:100%}}.input-time-picker.react-time-picker{width:100%}.input-time-picker .react-time-picker__wrapper{background:var(--surface);color:var(--text);border:1px solid #94a3b847;border-radius:16px;padding:10px 14px;transition:border-color .15s,box-shadow .15s;box-shadow:0 2px 4px #0f172a05}.input-time-picker .react-time-picker__wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input-time-picker .react-time-picker__inputGroup__input{color:var(--text);outline:none;font-family:inherit;font-size:.95rem;font-weight:500}.input-time-picker .react-time-picker__inputGroup__divider,.input-time-picker .react-time-picker__inputGroup__leadingZero{color:var(--text);font-weight:600}.input-time-picker .react-time-picker__button{color:var(--text-subtle);padding:2px 4px}.input-time-picker .react-time-picker__button:hover{color:var(--primary)}
