@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2?dpl=dpl_D7xWhXQgaY3bezXrAhGd22F3fRk5)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_7981b011-module__f6grVq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_7981b011-module__f6grVq__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--color-primary:#0f172a;--color-primary-light:#1e293b;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-light:#eff6ff;--color-accent-subtle:#dbeafe;--color-success:#059669;--color-success-bg:#ecfdf5;--color-warning:#d97706;--color-warning-bg:#fffbeb;--color-danger:#dc2626;--color-danger-bg:#fef2f2;--color-info:#0284c7;--color-info-bg:#f0f9ff;--color-bg:#f1f5f9;--color-surface:#fff;--color-surface-hover:#f8fafc;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-divider:#e2e8f0;--color-text:#0f172a;--color-text-secondary:#64748b;--color-text-tertiary:#94a3b8;--color-text-on-accent:#fff;--sidebar-width:260px;--sidebar-collapsed-width:72px;--header-height:64px;--footer-height:48px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--font-family:var(--font-inter), "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;overflow-x:hidden}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);min-height:100vh;line-height:1.6;overflow-x:hidden}a{color:var(--color-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-hover)}.app-shell{min-height:100vh;display:flex}.app-main{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-slow);flex-direction:column;flex:1;display:flex}.app-main.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.app-content{padding:var(--space-lg);margin-top:var(--header-height);flex:1}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);z-index:100;transition:width var(--transition-slow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-brand{height:var(--header-height);padding:0 var(--space-lg);border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-sm);display:flex}.sidebar-brand-logo{background:var(--color-accent);border-radius:var(--radius-md);color:#fff;width:32px;height:32px;font-weight:700;font-size:var(--font-size-lg);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-brand-text{font-weight:700;font-size:var(--font-size-lg);color:var(--color-text);white-space:nowrap;overflow:hidden}.sidebar-nav{padding:var(--space-sm);flex:1;overflow-y:auto}.sidebar-section-title{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-md) var(--space-md) var(--space-xs);white-space:nowrap;font-weight:600}.sidebar-link{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;margin-bottom:2px;font-weight:500;text-decoration:none;display:flex}.sidebar-link:hover{background:var(--color-surface-hover);color:var(--color-text)}.sidebar-link.active{background:var(--color-accent-light);color:var(--color-accent)}.sidebar-link-icon{flex-shrink:0;width:20px;height:20px}.sidebar-link-text{text-overflow:ellipsis;overflow:hidden}.sidebar-link-badge{background:var(--color-danger);color:#fff;font-size:var(--font-size-xs);border-radius:var(--radius-full);text-align:center;min-width:20px;margin-left:auto;padding:1px 6px;font-weight:600}.sidebar-footer{padding:var(--space-md);border-top:1px solid var(--color-border)}.sidebar-toggle{width:100%;padding:var(--space-sm);color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sidebar-toggle:hover{background:var(--color-surface-hover);color:var(--color-text)}.header{top:0;right:0;left:var(--sidebar-width);height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 var(--space-lg);z-index:90;transition:left var(--transition-slow);justify-content:space-between;align-items:center;display:flex;position:fixed}.header.sidebar-collapsed{left:var(--sidebar-collapsed-width)}.header-left,.header-right{align-items:center;gap:var(--space-md);display:flex}.breadcrumbs{align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);display:flex}.breadcrumb-item{color:var(--color-text-tertiary)}.breadcrumb-item.current{color:var(--color-text);font-weight:500}.breadcrumb-separator{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.user-menu{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);display:flex}.user-menu:hover{background:var(--color-surface-hover)}.user-avatar{border-radius:var(--radius-full);background:var(--color-accent);color:#fff;width:32px;height:32px;font-weight:600;font-size:var(--font-size-sm);justify-content:center;align-items:center;display:flex}.user-info-name{font-weight:500;font-size:var(--font-size-sm);color:var(--color-text)}.user-info-role{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.footer{height:var(--footer-height);padding:0 var(--space-lg);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-tertiary);justify-content:space-between;align-items:center;display:flex}.session-indicator{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;font-size:var(--font-size-xs);color:var(--color-text-secondary);align-items:center;gap:6px;padding:4px 10px;transition:all .15s;display:inline-flex}.session-indicator:hover{border-color:var(--color-accent);color:var(--color-accent);background:#6366f10a}.session-indicator-label{font-weight:500}.session-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.session-dot--single{background:#16a34a;box-shadow:0 0 0 2px #16a34a33}.session-dot--multi{background:#f59e0b;animation:2s ease-in-out infinite sessionPulse;box-shadow:0 0 0 2px #f59e0b33}@keyframes sessionPulse{0%,to{box-shadow:0 0 0 2px #f59e0b33}50%{box-shadow:0 0 0 5px #f59e0b1f}}.session-popover{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);z-index:300;width:360px;animation:fadeIn var(--transition-fast);position:absolute;bottom:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 40px #00000026,0 0 0 1px #00000008}.session-popover-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.session-popover-close{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;color:var(--color-text-tertiary);background:0 0;border:none;justify-content:center;align-items:center;transition:all .12s;display:flex}.session-popover-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.session-popover-list{max-height:300px;overflow-y:auto}.session-item{border-bottom:1px solid var(--color-border-light);align-items:center;gap:12px;padding:12px 16px;transition:background .1s;display:flex}.session-item:last-child{border-bottom:none}.session-item:hover{background:var(--color-surface-hover)}.session-item--current{background:#16a34a0a}.session-item-icon{background:var(--color-bg);width:36px;height:36px;color:var(--color-text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.session-item--current .session-item-icon{color:#16a34a;background:#16a34a1a}.session-item-info{flex:1;min-width:0}.session-item-name{color:var(--color-text);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.session-badge-current{border-radius:var(--radius-full);color:#16a34a;background:#16a34a1a;padding:1px 6px;font-size:10px;font-weight:600}.session-item-meta{color:var(--color-text-tertiary);margin-top:2px;font-size:11px}.session-revoke-btn{border-radius:var(--radius-sm);cursor:pointer;width:30px;height:30px;color:var(--color-text-tertiary);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .12s;display:flex}.session-revoke-btn:hover{color:#ef4444;background:#ef444414}.session-revoke-btn:disabled{opacity:.4;cursor:not-allowed}.session-popover-footer{border-top:1px solid var(--color-border);color:var(--color-text-tertiary);background:var(--color-bg);align-items:flex-start;gap:6px;padding:10px 16px;font-size:11px;display:flex}.session-toast{bottom:calc(var(--footer-height) + 12px);border-radius:var(--radius-md);color:#854d0e;font-size:var(--font-size-sm);z-index:400;animation:slideUp var(--transition-base);background:#fefce8;border:1px solid #fde047;align-items:center;gap:8px;padding:10px 16px;font-weight:500;display:flex;position:fixed;right:24px;box-shadow:0 8px 24px #0000001f}.session-toast-close{cursor:pointer;color:#854d0e;opacity:.6;background:0 0;border:none;padding:2px;display:flex}.session-toast-close:hover{opacity:1}.page-title{font-size:var(--font-size-2xl);color:var(--color-text);margin-bottom:var(--space-xs);font-weight:700}.page-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary)}.section-title{font-size:var(--font-size-lg);color:var(--color-text);margin-bottom:var(--space-md);font-weight:600}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-xs)}.card-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--font-size-md);font-weight:600}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-fast), transform var(--transition-fast)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs);font-weight:500}.stat-card-value{font-size:var(--font-size-2xl);color:var(--color-text);word-break:break-word;overflow-wrap:break-word;font-weight:700}.stat-card-change{font-size:var(--font-size-xs);margin-top:var(--space-xs);font-weight:500}.stat-card-change.positive{color:var(--color-success)}.stat-card-change.negative{color:var(--color-danger)}.stat-card-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stats-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-text-tertiary)}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-md)}.btn-icon{width:36px;height:36px;padding:0}.form-group{margin-bottom:var(--space-md)}.form-label{font-size:var(--font-size-sm);color:var(--color-text);margin-bottom:var(--space-xs);font-weight:500;display:block}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.form-input::placeholder{color:var(--color-text-tertiary)}.form-textarea{resize:vertical;min-height:80px}.form-error{font-size:var(--font-size-xs);color:var(--color-danger);margin-top:var(--space-xs)}.form-row{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.table-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.table-toolbar{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.table-search{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:280px;display:flex}.table-search input{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:0 0;border:none;outline:none;width:100%}.table-search input::placeholder{color:var(--color-text-tertiary)}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;background:var(--color-surface-hover);border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:600}.data-table td{padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-base);vertical-align:middle}.data-table tr:hover td{background:var(--color-surface-hover)}.data-table tr:last-child td{border-bottom:none}.table-pagination{padding:var(--space-sm) var(--space-lg);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-secondary);justify-content:space-between;align-items:center;display:flex}.table-pagination-controls{align-items:center;gap:var(--space-xs);display:flex}.table-pagination-btn{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.table-pagination-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.table-pagination-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.table-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);text-transform:capitalize;align-items:center;gap:4px;padding:2px 10px;font-weight:600;display:inline-flex}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.badge-neutral{background:var(--color-surface-hover);color:var(--color-text-secondary)}.badge-purple{color:#7c3aed;background:#f3e8ff}.badge-amber{color:#d97706;background:#fef3c7}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;animation:fadeIn var(--transition-fast);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:90%;max-width:640px;max-height:90vh;animation:slideUp var(--transition-base);overflow-y:auto}.modal-lg{max-width:840px}.modal-xl{max-width:1080px}.modal-header{padding:var(--space-lg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--font-size-lg);font-weight:600}.modal-close{width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.modal-body{padding:var(--space-lg)}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}.loading-page{justify-content:center;align-items:center;min-height:200px;display:flex}.text-right{text-align:right}.text-center{text-align:center}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.font-mono{font-family:SF Mono,Fira Code,monospace}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.page-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.empty-state{padding:var(--space-2xl);text-align:center;color:var(--color-text-tertiary);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{width:48px;height:48px;margin-bottom:var(--space-md);opacity:.4}.mobile-card-list{display:none}.mobile-card-list-inner{flex-direction:column;display:flex}.mobile-list-card{border-bottom:1px solid var(--color-border-light);color:inherit;-webkit-tap-highlight-color:transparent;cursor:pointer;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;transition:background .12s;display:flex}.mobile-list-card:active{background:var(--color-surface-hover)}.mobile-list-card:last-child{border-bottom:none}.mobile-list-card-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:flex}.mobile-list-card-body{flex:1;min-width:0}.mobile-list-card-title{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.mobile-list-card-subtitle{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.mobile-list-card-right{text-align:right;flex-shrink:0}.mobile-list-card-amount{color:var(--color-text);white-space:nowrap;font-size:14px;font-weight:700}.mobile-list-card-meta{color:var(--color-text-tertiary);margin-top:3px;font-size:11px}.mobile-list-section-header{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);padding:8px 16px;font-size:11px;font-weight:600}.responsive-grid-2{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.responsive-grid-auto{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.mobile-nav,.header-menu-btn,.sidebar-backdrop{display:none}.sidebar-toggle-footer{display:flex}.btn-outline{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.btn-outline:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-text-tertiary)}.btn-active{background:var(--color-accent-light);color:var(--color-accent);border-color:var(--color-accent)}@media (max-width:1024px){.responsive-grid-2{grid-template-columns:1fr}}@media (max-width:768px){.app-main{padding-bottom:max(100px, calc(72px + env(safe-area-inset-bottom,28px)));max-width:100vw;overflow-x:hidden;margin-left:0!important}.app-content{padding:var(--space-md);margin-top:var(--header-height);max-width:100%;overflow-x:hidden}.sidebar{z-index:300;box-shadow:var(--shadow-lg);transition:transform var(--transition-slow);transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-toggle-footer{display:none}.sidebar-backdrop{z-index:299;animation:fadeIn var(--transition-fast);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;display:block;position:fixed;inset:0}.header{padding:0 var(--space-md);left:0!important}.header-menu-btn{display:flex}.header-action-btn,.user-info-desktop{display:none}.breadcrumbs{font-size:var(--font-size-xs)}.breadcrumb-item:not(.current),.breadcrumb-separator{display:none}.mobile-nav{background:var(--color-surface);border-top:1px solid var(--color-border);z-index:200;height:72px;padding:0 4px;padding-bottom:env(safe-area-inset-bottom,0);align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000001a}.mobile-nav-item{color:var(--color-text-tertiary);padding:var(--space-xs) 0;transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:56px;font-size:10px;font-weight:500;text-decoration:none;display:flex}.mobile-nav-item:hover,.mobile-nav-item.active{color:var(--color-accent)}.mobile-nav-item.active svg{stroke-width:2.5px}.mobile-nav-label{letter-spacing:.02em;font-size:10px;font-weight:500}.mobile-nav-scan-slot{flex:1.2;justify-content:center;align-items:center;display:flex;position:relative}.mobile-scan-fab{background:var(--color-accent);color:#fff;cursor:pointer;width:68px;height:68px;box-shadow:0 4px 20px #6366f173, 0 0 0 4px var(--color-surface);-webkit-tap-highlight-color:transparent;z-index:10;border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;transition:transform .15s,box-shadow .15s;display:flex;position:absolute;bottom:6px}.mobile-scan-fab:active{box-shadow:0 2px 10px #6366f166, 0 0 0 4px var(--color-surface);transform:scale(.94)}.mobile-scan-fab-label{letter-spacing:.08em;margin-top:1px;font-size:8px;font-weight:800;line-height:1}.mobile-scan-fab-ring{border:2px solid var(--color-accent);opacity:0;border-radius:50%;animation:2.5s ease-out infinite scanFabPulse;position:absolute;inset:-4px}@keyframes scanFabPulse{0%{opacity:.6;transform:scale(1)}70%{opacity:0;transform:scale(1.3)}to{opacity:0;transform:scale(1.3)}}.mobile-sheet-backdrop{z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;animation:.2s fadeIn;position:fixed;inset:0}.mobile-sheet{background:var(--color-surface);z-index:301;padding:12px 20px 32px;padding-bottom:max(32px, env(safe-area-inset-bottom,32px));border-radius:24px 24px 0 0;animation:.25s slideUp;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 40px #0000002e}.mobile-sheet-handle{background:var(--color-border);border-radius:2px;width:40px;height:4px;margin:0 auto 16px}.mobile-sheet-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.mobile-sheet-title{color:var(--color-text);font-size:18px;font-weight:700}.mobile-sheet-subtitle{color:var(--color-text-secondary);margin-top:2px;font-size:13px}.mobile-sheet-close{background:var(--color-surface-hover);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mobile-sheet-actions{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.mobile-sheet-action{cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;border:2px solid #0000;border-radius:16px;align-items:center;gap:16px;padding:16px 18px;transition:transform .12s,opacity .12s;display:flex}.mobile-sheet-action:active{opacity:.85;transform:scale(.97)}.mobile-sheet-action--in{background:#22c55e1f;border-color:#22c55e4d}.mobile-sheet-action--out{background:#ef44441a;border-color:#ef44444d}.mobile-sheet-action--adj{background:#6366f11a;border-color:#6366f14d}.mobile-sheet-action-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.mobile-sheet-action--in .mobile-sheet-action-icon{color:#16a34a}.mobile-sheet-action--out .mobile-sheet-action-icon{color:#ef4444}.mobile-sheet-action--adj .mobile-sheet-action-icon{color:#6366f1}.mobile-sheet-action-label{color:var(--color-text);font-size:17px;font-weight:700}.mobile-sheet-action-desc{color:var(--color-text-secondary);margin-top:1px;font-size:13px}.mobile-sheet-secondary-btn{text-align:center;border:1px solid var(--color-border);background:var(--color-surface-hover);width:100%;color:var(--color-text-secondary);border-radius:14px;padding:14px;font-size:14px;font-weight:500;text-decoration:none;display:block}.mobile-more-grid{grid-template-columns:1fr 1fr 1fr;gap:10px;padding:4px 0 8px;display:grid}.mobile-more-item{background:var(--color-surface-hover);color:var(--color-text-secondary);text-align:center;-webkit-tap-highlight-color:transparent;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;font-size:11px;font-weight:500;text-decoration:none;transition:all .12s;display:flex}.mobile-more-item:active,.mobile-more-item.active{background:var(--color-accent);color:#fff}.page-header{align-items:stretch;gap:var(--space-sm);margin-bottom:var(--space-md);flex-direction:column}.page-header>.flex,.page-header>div{width:100%}.page-header .btn{justify-content:center}.page-header>.flex.gap-sm,.page-header>div.flex{gap:var(--space-sm)!important;flex-wrap:wrap!important}.page-header>.flex.gap-sm>.btn,.page-header>.flex.gap-sm>a.btn,.page-header>div.flex>.btn,.page-header>div.flex>a.btn{flex:calc(50% - 4px);min-width:0}.page-title{font-size:var(--font-size-xl)}.page-subtitle{font-size:var(--font-size-sm)}.stats-grid{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:4px;margin-bottom:var(--space-sm)!important;gap:8px!important;display:flex!important;overflow-x:auto!important}.stat-card{scroll-snap-align:start;flex:0 0 120px!important;min-width:120px!important;padding:8px 12px!important}.stat-card-value{font-size:16px!important}.stat-card-label{margin-bottom:2px!important;font-size:10px!important}.responsive-grid-2{gap:var(--space-md);grid-template-columns:1fr!important}.app-content div[style*=grid-template-columns],.app-content div[style*=gridTemplateColumns]{grid-template-columns:1fr!important}.mobile-card-list{display:block!important}.desktop-only-table{display:none!important}.table-container{-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);overflow-x:auto}.data-table{min-width:580px}.data-table th,.data-table td{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm)}.table-toolbar{flex-direction:column!important;align-items:stretch!important;gap:6px!important;padding:8px 12px!important}.table-search{min-width:unset!important;box-sizing:border-box!important;flex-flow:row!important;flex:none!important;align-items:center!important;gap:8px!important;width:100%!important;padding:6px 10px!important;display:flex!important}.table-search svg{flex-shrink:0!important}.table-search input{flex:1!important;height:auto!important;min-height:0!important;padding:0!important;font-size:13px!important}.table-toolbar>*{flex-grow:0!important;flex-shrink:0!important}.table-toolbar .flex,.table-toolbar .flex.gap-sm,.table-toolbar>div:not(.table-search){flex-flow:wrap!important;align-items:center!important;gap:6px!important;width:100%!important;display:flex!important}.table-toolbar .form-select,.table-toolbar select{box-sizing:border-box!important;flex:calc(48% - 4px)!important;width:auto!important;min-width:80px!important;max-width:calc(50% - 3px)!important;height:32px!important;min-height:32px!important;padding:5px 8px!important;font-size:12px!important}.table-toolbar .form-input,.table-toolbar input[type=date]{box-sizing:border-box!important;flex:calc(48% - 4px)!important;width:auto!important;min-width:80px!important;max-width:calc(50% - 3px)!important;height:32px!important;min-height:32px!important;padding:4px 6px!important;font-size:12px!important}.table-toolbar .text-secondary,.table-toolbar svg[class=""]{display:none!important}.table-toolbar .btn-ghost,.table-toolbar .btn-sm{flex:none!important;min-height:28px!important;padding:4px 8px!important;font-size:11px!important}.table-pagination{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);flex-direction:column;align-items:center}.table-pagination-controls{flex-wrap:wrap;justify-content:center}.form-row{grid-template-columns:1fr}.form-input,.form-select,.form-textarea{min-height:44px;font-size:16px}.modal-overlay{padding:0;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));align-items:flex-end}.modal,.modal.modal-lg,.modal.modal-xl{width:100%;max-width:100%;max-height:calc(100vh - 56px - 72px - env(safe-area-inset-bottom,0px));border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin:0;overflow-y:auto}.modal-body,.modal-header{padding:var(--space-md)}.modal-footer{padding:var(--space-sm) var(--space-md);padding-bottom:max(var(--space-md), env(safe-area-inset-bottom,var(--space-md)));gap:var(--space-sm);flex-wrap:wrap}.modal-footer .btn{flex:auto;justify-content:center}.card{padding:var(--space-md);border-radius:var(--radius-md)}.card-header{gap:var(--space-sm);flex-wrap:wrap}.footer{display:none}.flex.gap-sm,.flex.gap-md{flex-wrap:wrap}div[style*="position: sticky"][style*="bottom: 0"],div[style*="position: sticky"][style*=bottom\:0]{margin-bottom:72px;padding-bottom:max(14px, env(safe-area-inset-bottom,14px))!important}div[style*="position: sticky"][style*="bottom: 0"] .btn,div[style*="position: sticky"][style*=bottom\:0] .btn{flex:auto;justify-content:center}div[style*="width: 380px"],div[style*="width: 400px"],div[style*=width\:380px]{max-width:380px;width:calc(100vw - 16px)!important}canvas{max-height:200px!important}}@media (max-width:420px){.stats-grid{grid-template-columns:1fr!important}.app-content{padding:var(--space-sm)}.page-title,.stat-card-value{font-size:var(--font-size-lg)}.stat-card-label{font-size:10px}.btn{font-size:var(--font-size-sm);padding:6px 10px}.btn-sm{font-size:var(--font-size-xs);padding:4px 6px}.header{padding:0 var(--space-sm);height:52px}.app-content{margin-top:52px}.card{padding:var(--space-sm);border-radius:var(--radius-sm)}.card-header{margin-bottom:var(--space-xs)}.card-title{font-size:var(--font-size-sm)}.data-table{min-width:480px}.data-table th,.data-table td{font-size:var(--font-size-xs);padding:4px 6px}.mobile-scan-fab{width:58px;height:58px}.mobile-scan-fab svg{width:20px;height:20px}.mobile-nav-label{font-size:9px}.modal-body{padding:var(--space-sm)}.modal-header{padding:var(--space-sm) var(--space-md)}.modal-title{font-size:var(--font-size-base)}.mobile-more-grid{grid-template-columns:1fr 1fr}.page-header>.flex.gap-sm>.btn,.page-header>div.flex>.btn,.page-header .btn{width:100%;flex:100%!important}}@media (pointer:coarse){.btn-icon{width:44px;height:44px}.btn-icon.btn-sm{width:36px;height:36px}.sidebar-link{padding:var(--space-md);min-height:44px}.table-pagination-btn{min-width:36px;min-height:36px;padding:var(--space-sm)}input[type=checkbox]{width:18px;height:18px}}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}@keyframes lightboxImgIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton{background:linear-gradient(90deg, var(--color-bg) 25%, color-mix(in srgb, var(--color-accent) 8%, var(--color-bg)) 50%, var(--color-bg) 75%);background-size:800px 100%;border-radius:6px;animation:1.5s linear infinite skeleton-shimmer;display:block}.skeleton-pulse{animation:1.6s ease-in-out infinite skeleton-pulse}.skeleton-row td{padding:12px var(--space-md)}.skeleton-row td div{background:linear-gradient(90deg, var(--color-bg) 25%, color-mix(in srgb, var(--color-accent) 8%, var(--color-bg)) 50%, var(--color-bg) 75%);background-size:800px 100%;border-radius:5px;height:13px;animation:1.5s linear infinite skeleton-shimmer}.skeleton-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);flex-direction:column;gap:10px;display:flex}.skeleton-stat-card .sk-label{width:55%;height:12px}.skeleton-stat-card .sk-value{width:70%;height:28px}.skeleton-stat-card .sk-sub{width:45%;height:10px}.skeleton-toolbar{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);display:flex}.skeleton-page{gap:var(--space-lg);flex-direction:column;display:flex}@media print{.no-print,.sidebar,.sidebar-backdrop,.app-header,.app-footer,.mobile-nav,.command-palette{display:none!important}.app-shell{display:block!important}.app-main{margin-left:0!important;padding:0!important}.app-content{max-width:100%!important;padding:0!important}body,html{color:#111!important;background:#fff!important;margin:0!important;padding:0!important}}
