@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_73ee6c{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_73ee6c{--font-display:"Manrope","Manrope Fallback"}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/88da59c891d37117-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Source Sans\ 3 Fallback;src:local("Arial");ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.00%;size-adjust:93.76%}.__className_1fdbab{font-family:Source Sans\ 3,Source Sans\ 3 Fallback;font-style:normal}.__variable_1fdbab{--font-sans:"Source Sans 3","Source Sans 3 Fallback"}@font-face{font-family:Noto Sans Ethiopic;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9937cfa0190a876c-s.p.woff2) format("woff2");unicode-range:u+030e,u+1200-1399,u+2d80-2dde,u+ab01-ab2e,u+1e7e0-1e7e6,u+1e7e8-1e7eb,u+1e7ed-1e7ee,u+1e7f0-1e7fe}@font-face{font-family:Noto Sans Ethiopic;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/0760b9c03b107412-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Noto Sans Ethiopic;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/5745efda93e8d0f7-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Noto Sans Ethiopic;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9937cfa0190a876c-s.p.woff2) format("woff2");unicode-range:u+030e,u+1200-1399,u+2d80-2dde,u+ab01-ab2e,u+1e7e0-1e7e6,u+1e7e8-1e7eb,u+1e7ed-1e7ee,u+1e7f0-1e7fe}@font-face{font-family:Noto Sans Ethiopic;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/0760b9c03b107412-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Noto Sans Ethiopic;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/5745efda93e8d0f7-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Noto Sans Ethiopic;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9937cfa0190a876c-s.p.woff2) format("woff2");unicode-range:u+030e,u+1200-1399,u+2d80-2dde,u+ab01-ab2e,u+1e7e0-1e7e6,u+1e7e8-1e7eb,u+1e7ed-1e7ee,u+1e7f0-1e7fe}@font-face{font-family:Noto Sans Ethiopic;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/0760b9c03b107412-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Noto Sans Ethiopic;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/5745efda93e8d0f7-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Noto Sans Ethiopic;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9937cfa0190a876c-s.p.woff2) format("woff2");unicode-range:u+030e,u+1200-1399,u+2d80-2dde,u+ab01-ab2e,u+1e7e0-1e7e6,u+1e7e8-1e7eb,u+1e7ed-1e7ee,u+1e7f0-1e7fe}@font-face{font-family:Noto Sans Ethiopic;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/0760b9c03b107412-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Noto Sans Ethiopic;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/5745efda93e8d0f7-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Noto Sans Ethiopic Fallback;src:local("Arial");ascent-override:100.54%;descent-override:27.56%;line-gap-override:0.00%;size-adjust:106.33%}.__className_ff172e{font-family:Noto Sans Ethiopic,Noto Sans Ethiopic Fallback;font-style:normal}.__variable_ff172e{--font-ethiopic:"Noto Sans Ethiopic","Noto Sans Ethiopic Fallback"}:root,[data-theme=light]{--accent:#111111;--accent-hover:#000000;--accent-soft:rgba(17,17,17,0.07);--accent-ring:rgba(17,17,17,0.22);--accent-contrast:#fafafa;--success:#15803d;--success-soft:rgba(21,128,61,0.1);--warning:#b45309;--warning-soft:rgba(180,83,9,0.12);--error:#b91c1c;--error-soft:rgba(185,28,28,0.1);--info:#334155;--info-soft:rgba(51,65,85,0.1);--bg:#f3f4f6;--bg-elevated:#ffffff;--panel:#ffffff;--text:#0a0a0a;--text-secondary:#3f3f46;--muted:#71717a;--border:#e4e4e7;--border-subtle:#ececee;--hover:#ececee;--zebra:#fafafa;--sidebar:#0c0c0c;--sidebar-border:#1a1a1a;--sidebar-text:#fafafa;--sidebar-muted:#a1a1aa;--sidebar-hover:#1a1a1a;--sidebar-active:rgba(255,255,255,0.1);--header:rgba(243,244,246,0.82);--shadow:0 1px 2px rgba(0,0,0,0.04);--shadow-soft:0 1px 2px rgba(0,0,0,0.04),0 8px 24px rgba(0,0,0,0.04);--radius:12px;--radius-sm:8px;--focus:0 0 0 3px var(--accent-ring);--font:var(--font-sans),"Segoe UI",sans-serif;--font-display:var(--font-display),var(--font-sans),sans-serif;--touch:44px;--space:8px;--motion:180ms ease}[data-theme=dark]{--accent:#f4f4f5;--accent-hover:#ffffff;--accent-soft:rgba(244,244,245,0.12);--accent-ring:rgba(244,244,245,0.28);--accent-contrast:#0a0a0a;--success:#4ade80;--success-soft:rgba(74,222,128,0.12);--warning:#fbbf24;--warning-soft:rgba(251,191,36,0.14);--error:#f87171;--error-soft:rgba(248,113,113,0.14);--info:#a1a1aa;--info-soft:rgba(161,161,170,0.14);--bg:#09090b;--bg-elevated:#121214;--panel:#121214;--text:#fafafa;--text-secondary:#a1a1aa;--muted:#71717a;--border:#27272a;--border-subtle:#1c1c1f;--hover:#1c1c1f;--zebra:#0e0e10;--sidebar:#050505;--sidebar-border:#1a1a1a;--sidebar-text:#fafafa;--sidebar-muted:#a1a1aa;--sidebar-hover:#171717;--sidebar-active:rgba(255,255,255,0.1);--header:rgba(9,9,11,0.85);--shadow:0 1px 2px rgba(0,0,0,0.45);--shadow-soft:0 1px 3px rgba(0,0,0,0.5),0 10px 28px rgba(0,0,0,0.3)}*,:after,:before{box-sizing:border-box}body,html{margin:0;height:100%;max-width:100%;overflow:hidden}body{font-family:var(--font);font-weight:400;color:var(--text);background:radial-gradient(1200px 600px at 0 -10%,rgba(17,17,17,.04),transparent 55%),radial-gradient(900px 500px at 100% 0,rgba(63,63,70,.05),transparent 50%),var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}[data-theme=dark] body{background:radial-gradient(1000px 500px at 0 -10%,rgba(255,255,255,.04),transparent 55%),var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}:focus-visible{outline:none;box-shadow:var(--focus)}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden}.sidebar{position:relative;height:100%;min-height:0;flex-direction:column;gap:calc(var(--space) * 2);padding:calc(var(--space) * 2);background:var(--sidebar);border-right:1px solid var(--sidebar-border);z-index:40;overflow:hidden}.brand,.sidebar{display:flex;color:var(--sidebar-text)}.brand{align-items:center;gap:calc(var(--space) * 1.25);padding:var(--space) calc(var(--space) * .75);font-family:var(--font-display);font-size:1rem;font-weight:650;letter-spacing:-.03em}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--accent-contrast);color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:-.04em}.brand-mark-img{width:40px;height:40px;border-radius:10px;object-fit:cover;background:#fff;flex-shrink:0;box-shadow:0 0 0 1px rgba(255,255,255,.12)}.brand-logo-img{display:block;width:min(100%,320px);height:auto;border-radius:10px}.login-brand{align-items:center}.login-brand .brand-mark-img{width:56px;height:56px;border-radius:14px}.settings-logo-preview{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.brand span{display:block;margin-top:2px;font-family:var(--font);font-size:.68rem;font-weight:450;letter-spacing:0;color:var(--sidebar-muted)}.nav{flex-direction:column;gap:2px;overflow:auto;flex:1 1;padding-right:2px}.nav,.nav a{display:flex}.nav a{align-items:center;gap:calc(var(--space) * 1.25);min-height:36px;padding:calc(var(--space) * .75) calc(var(--space) * 1.25);border-radius:var(--radius-sm);color:var(--sidebar-muted);font-size:.875rem;font-weight:500;transition:background var(--motion),color var(--motion)}.nav a svg{width:16px;height:16px;stroke-width:1.75;flex-shrink:0}.nav a:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.nav a.active{background:var(--sidebar-active)}.nav a.active,.nav a.active svg{color:var(--sidebar-text)}.sidebar-logout.btn-secondary{background:transparent;color:var(--sidebar-muted);border-color:var(--sidebar-border)}.sidebar-logout.btn-secondary:hover:not(:disabled){background:var(--sidebar-hover);color:var(--sidebar-text);border-color:#2a2a2a}.shell-main-col{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden}.topbar{position:relative;z-index:30;display:flex;align-items:center;gap:calc(var(--space) * 1.5);min-height:56px;flex-shrink:0;padding:calc(var(--space) * 1.25) calc(var(--space) * 3);background:var(--header);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:visible}.topbar-search{flex:1 1;max-width:360px;position:relative}.topbar-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}.topbar-search .input{padding-left:36px}.topbar-actions{display:flex;align-items:center;gap:var(--space);margin-left:auto}.main{flex:1 1;min-width:0;min-height:0;padding:calc(var(--space) * 3) calc(var(--space) * 3) calc(var(--space) * 4);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;animation:fade-in var(--motion)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.page-title{margin:0 0 calc(var(--space) * .5);font-family:var(--font-display);font-size:1.55rem;font-weight:650;letter-spacing:-.035em;color:var(--text)}.page-sub{margin:0 0 calc(var(--space) * 3);color:var(--muted);font-size:.875rem;font-weight:400;line-height:1.5}.card,.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:calc(var(--space) * 2.5);min-width:0;max-width:100%}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:calc(var(--space) * 2);gap:calc(var(--space) * 2)}.stat{display:flex;flex-direction:column;gap:calc(var(--space) * 1.5);padding:calc(var(--space) * 2.5);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:border-color var(--motion)}.stat:hover{border-color:color-mix(in srgb,var(--border) 40%,var(--muted))}.stat .muted{font-size:.8rem;font-weight:500}.stat strong{font-size:1.75rem;font-weight:600;letter-spacing:-.04em;line-height:1}.muted{color:var(--muted)}.field,.text-secondary{color:var(--text-secondary)}.field{display:flex;flex-direction:column;gap:calc(var(--space) * .75);font-size:.8125rem;font-weight:500}.field input,.field select,.input,.select{width:100%;max-width:100%;min-width:0;min-height:40px;padding:calc(var(--space) * 1.25) calc(var(--space) * 1.5);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);font-weight:400;transition:border-color var(--motion),box-shadow var(--motion)}.barcode-input:focus,.field input:focus,.input:focus,.select:focus{border-color:var(--accent)}.field-error{color:var(--error);font-size:.75rem;font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--space) * .75);min-height:40px;padding:calc(var(--space) * 1.25) calc(var(--space) * 2);border:1px solid transparent;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);font-size:.875rem;font-weight:550;letter-spacing:-.01em;cursor:pointer;transition:background var(--motion),transform var(--motion),opacity var(--motion),border-color var(--motion)}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-elevated);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--hover)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--hover);color:var(--text)}.btn-danger{background:var(--error)}.btn-sm{min-height:32px;padding:calc(var(--space) * .75) calc(var(--space) * 1.25)}.btn-add,.btn-sm{font-size:.8125rem}.btn-add{align-self:flex-start;flex:0 0 auto;min-height:34px;height:34px;padding:0 12px 0 6px;gap:6px;background:var(--text);color:var(--bg-elevated);border:none;font-weight:500;letter-spacing:-.01em;box-shadow:none}.btn-add:hover:not(:disabled){background:color-mix(in srgb,var(--text) 82%,#fff);color:var(--bg-elevated)}.btn-add:active:not(:disabled){transform:translateY(1px)}.btn-add-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:rgba(255,255,255,.14);color:inherit;flex-shrink:0}[data-theme=dark] .btn-add{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border)}[data-theme=dark] .btn-add:hover:not(:disabled){background:var(--hover);color:var(--text)}[data-theme=dark] .btn-add-icon{background:var(--accent-soft);color:var(--accent)}.btn-add:focus-visible{outline:none;box-shadow:var(--focus)}.page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:calc(var(--space) * .5)}.page-head .page-sub{margin-bottom:0}.settings-form,.settings-stack{display:grid;grid-gap:calc(var(--space) * 2);gap:calc(var(--space) * 2);width:100%}.settings-heading{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.02em}.settings-fields,.settings-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:calc(var(--space) * 1.5);gap:calc(var(--space) * 1.5)}.settings-actions{display:flex;justify-content:flex-end}@media (max-width:720px){.settings-fields,.settings-toggles{grid-template-columns:1fr}}.import-panel{display:grid;grid-gap:calc(var(--space) * 2);gap:calc(var(--space) * 2);margin-bottom:calc(var(--space) * 2)}.import-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:calc(var(--space) * 1.5);gap:calc(var(--space) * 1.5)}.import-file-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg)}.import-file-row input[type=file]{font-size:.8125rem;max-width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:background var(--motion),color var(--motion),border-color var(--motion)}.icon-btn.is-active,.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn.is-active{border-color:var(--text)}.icon-btn svg{width:16px;height:16px;stroke-width:1.75}.notif{position:relative}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--text);color:var(--bg);font-size:.625rem;font-weight:700;line-height:16px;text-align:center;pointer-events:none}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:min(360px,calc(100vw - 2rem));max-height:min(70vh,420px);overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);z-index:80}@media (max-width:900px){.notif-panel{position:fixed;top:56px;left:.75rem;right:.75rem;width:auto;max-height:min(70vh,480px);z-index:90}}.notif-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border-subtle);position:-webkit-sticky;position:sticky;top:0;background:var(--panel);z-index:1}.notif-panel-head strong{font-size:.875rem;font-weight:600}.notif-link{font-size:.75rem;font-weight:550;color:var(--muted)}.notif-link:hover{color:var(--text)}.notif-empty{margin:0;padding:24px 14px;text-align:center;font-size:.8125rem}.notif-list{list-style:none;margin:0;padding:0}.notif-item{border-bottom:1px solid var(--border-subtle)}.notif-item:last-child{border-bottom:0}.notif-item a,.notif-item>div{display:grid;grid-gap:4px;gap:4px;padding:12px 14px;text-decoration:none;color:inherit}.notif-item a:hover{background:var(--hover)}.notif-item strong{font-size:.8125rem;font-weight:600}.notif-item span{font-size:.75rem;color:var(--muted)}.notif-item time{font-size:.6875rem;color:var(--muted)}.notif-item.notif-success{border-left:3px solid var(--success)}.notif-item.notif-warning{border-left:3px solid var(--warning)}.notif-item.notif-error{border-left:3px solid var(--error)}.notif-item.notif-info{border-left:3px solid var(--info)}.checkbox-row{display:flex;align-items:center;gap:calc(var(--space) * 1.25);font-size:.875rem;font-weight:400;color:var(--text-secondary)}.error{padding:calc(var(--space) * 1.5) calc(var(--space) * 2);border-radius:var(--radius-sm);background:var(--error-soft);color:var(--error);border:1px solid color-mix(in srgb,var(--error) 25%,transparent);font-size:.875rem}.table-wrap{overflow:auto;max-width:100%;min-width:0;max-height:min(70vh,720px);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table td,.table th{padding:calc(var(--space) * 1.5) calc(var(--space) * 2);text-align:left;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.table.compact td,.table.compact th{padding:calc(var(--space) * 1) calc(var(--space) * 1.5);font-size:.8125rem}.table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--text-secondary);background:var(--panel);border-bottom:1px solid var(--border)}.table tbody tr{transition:background var(--motion)}.table tbody tr:hover{background:var(--hover)}.table.zebra tbody tr:nth-child(2n){background:var(--zebra)}.table.zebra tbody tr:nth-child(2n):hover{background:var(--hover)}.table tr:last-child td{border-bottom:none}.table-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--space) * 1.5);margin-bottom:calc(var(--space) * 2)}.badge,.status-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:.75rem;font-weight:500}.badge-success,.status-success{background:var(--success-soft);color:var(--success)}.badge-warning,.status-warning{background:var(--warning-soft);color:var(--warning)}.badge-error,.status-error{background:var(--error-soft);color:var(--error)}.badge-info,.status-info{background:var(--info-soft);color:var(--info)}.badge-neutral,.status-neutral{background:var(--hover);color:var(--text-secondary)}.empty-state{display:grid;place-items:center;grid-gap:calc(var(--space) * 1.5);gap:calc(var(--space) * 1.5);padding:calc(var(--space) * 6) calc(var(--space) * 3);text-align:center;color:var(--muted)}.empty-state h3{margin:0;color:var(--text);font-size:1rem;font-weight:600}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--border-subtle) 25%,var(--hover) 50%,var(--border-subtle) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.toast-viewport{position:fixed;top:calc(var(--space) * 2);right:calc(var(--space) * 2);z-index:100;display:flex;flex-direction:column;gap:calc(var(--space) * 1.25);width:min(360px,calc(100vw - 2rem));pointer-events:none}.toast{pointer-events:auto;display:flex;gap:calc(var(--space) * 1.5);align-items:flex-start;padding:calc(var(--space) * 1.75) calc(var(--space) * 2);border-radius:var(--radius);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-soft);animation:toast-in var(--motion);font-size:.875rem}.toast-success{border-left:3px solid var(--success)}.toast-warning{border-left:3px solid var(--warning)}.toast-error{border-left:3px solid var(--error)}.toast-info{border-left:3px solid var(--info)}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.login-page{height:100vh;height:100dvh;overflow:auto;display:grid;place-items:center;padding:calc(var(--space) * 3);background:linear-gradient(145deg,rgba(12,12,12,.92),rgba(12,12,12,.78) 42%,rgba(12,12,12,.55)),radial-gradient(ellipse 80% 60% at 20% 20%,#2a2a2a 0,transparent 55%),radial-gradient(ellipse 70% 50% at 90% 80%,#1a1a1a 0,#0c0c0c 60%)}.login-card{width:min(420px,100%);display:flex;flex-direction:column;gap:calc(var(--space) * 2);padding:calc(var(--space) * 4.5) calc(var(--space) * 4);background:var(--panel);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:calc(var(--radius) + 2px);box-shadow:0 24px 48px rgba(0,0,0,.28);animation:fade-in .28s ease}.login-card .brand{color:var(--text);padding:0;margin-bottom:4px}.login-card .brand-mark{background:var(--accent);color:var(--accent-contrast)}.login-card .brand span{color:var(--muted)}.login-card h1{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:650;letter-spacing:-.035em;color:var(--text)}.login-card>p{margin:calc(var(--space) * -1) 0 0;color:var(--muted);font-size:.875rem}.auth-links{display:flex;justify-content:space-between;gap:calc(var(--space) * 2);font-size:.8125rem}.auth-links a{color:var(--text-secondary);font-weight:550}.auth-links a:hover{color:var(--text)}.meal-page{flex-direction:column;min-height:calc(100vh - 120px)}.meal-page,.meal-page-head{display:flex;gap:calc(var(--space) * 2)}.meal-page-head{flex-wrap:wrap;align-items:flex-end;justify-content:space-between}.meal-page-sub{margin-bottom:0}.meal-meta{display:flex;flex-wrap:wrap;gap:calc(var(--space) * 1)}.meal-pill{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--text-secondary);font-size:.8125rem;font-weight:500}.meal-pill.is-live{border-color:color-mix(in srgb,var(--text) 22%,var(--border));background:var(--accent-soft);color:var(--text)}.meal-clock{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.meal-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.85fr);grid-gap:calc(var(--space) * 2);align-items:stretch;flex:1 1}.meal-layout,.meal-main{gap:calc(var(--space) * 2)}.meal-main{display:flex;flex-direction:column;padding:calc(var(--space) * 2.5);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-height:420px}.meal-scan{display:grid;grid-gap:calc(var(--space) * 1);gap:calc(var(--space) * 1)}.barcode-camera{display:grid;grid-gap:10px;gap:10px}.barcode-camera-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.barcode-camera-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.barcode-camera-frame{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0a0a0a;min-height:220px}.barcode-camera-frame.is-live{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.barcode-camera-viewport{width:100%;min-height:220px}.barcode-camera-viewport video{width:100%!important;max-height:280px;object-fit:cover;border-radius:var(--radius-sm)}.barcode-camera-viewport img{display:none!important}.barcode-camera-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(10,10,10,.45);font-size:.875rem;font-weight:500;color:#fafafa;pointer-events:none}.barcode-camera-off{display:grid;place-items:center;min-height:72px;padding:12px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:.8125rem;text-align:center}.meal-scan-label{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.meal-hint{margin:0;font-size:.75rem}.barcode-input{width:100%;min-height:52px;padding:calc(var(--space) * 1.75) calc(var(--space) * 2);font-size:1.125rem;font-weight:500;letter-spacing:.02em;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);transition:border-color var(--motion),box-shadow var(--motion)}.barcode-input:focus{border-color:var(--accent);box-shadow:var(--focus);background:var(--bg-elevated)}.meal-main-station{min-height:0}.meal-idle{flex:1 1;display:grid;place-content:center;justify-items:center;grid-gap:10px;gap:10px;color:var(--muted);text-align:center}.meal-idle-compact{min-height:88px;padding:16px 12px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg) 70%,var(--panel))}.meal-idle p{margin:0;font-size:.875rem;font-weight:500;max-width:28rem}.meal-gate-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,#0a0a0a 48%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:meal-gate-fade .12s ease-out}.meal-gate-popup{position:relative;width:min(440px,100%);overflow:hidden;border-radius:calc(var(--radius) + 4px);background:var(--panel);border:1px solid var(--border);box-shadow:0 24px 48px color-mix(in srgb,#000 22%,transparent),0 0 0 1px color-mix(in srgb,var(--border) 60%,transparent);animation:meal-gate-pop .16s cubic-bezier(.2,.9,.25,1)}.meal-gate-tone{height:5px;width:100%}.meal-gate-tone.ok{background:var(--success)}.meal-gate-tone.warn{background:var(--warning)}.meal-gate-tone.err{background:var(--error)}.meal-gate-body{display:grid;grid-gap:12px;gap:12px;padding:28px 24px 22px;justify-items:center;text-align:center}.meal-gate-center{padding-top:32px;padding-bottom:28px}.meal-gate-avatar{border-radius:18px;place-items:center;font-weight:700;font-size:1.25rem;letter-spacing:-.02em;color:var(--text);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--text) 14%,var(--border))}.meal-gate-avatar,.meal-gate-icon{width:72px;height:72px;display:grid}.meal-gate-icon{border-radius:999px;place-items:center}.meal-gate-icon.ok{color:var(--success);background:color-mix(in srgb,var(--success-soft) 85%,var(--panel))}.meal-gate-icon.warn{color:var(--warning);background:color-mix(in srgb,var(--warning-soft) 85%,var(--panel))}.meal-gate-icon.err{color:var(--error);background:color-mix(in srgb,var(--error-soft) 85%,var(--panel))}.meal-gate-name{margin:0;font-size:1.35rem;font-weight:650;letter-spacing:-.03em;line-height:1.2;color:var(--text)}.meal-gate-id{margin:0;font-size:.875rem;line-height:1.45}.meal-gate-chips{justify-content:center;margin-top:0}.meal-gate-banner{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);font-size:.875rem}.meal-gate-banner.ok{border-color:color-mix(in srgb,var(--success) 35%,var(--border));background:color-mix(in srgb,var(--success-soft) 80%,var(--panel));color:var(--success)}.meal-gate-banner strong{display:block;font-size:.9375rem;font-weight:650;color:var(--text)}.meal-gate-banner span{display:block;margin-top:2px;color:var(--text-secondary);font-size:.8125rem}.meal-gate-actions{width:100%;display:grid;grid-gap:8px;gap:8px;margin-top:4px}.meal-gate-serve{min-height:52px!important;font-size:1.05rem!important;font-weight:650!important;letter-spacing:-.01em}.meal-gate-skip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.8125rem;font-weight:500;padding:8px;cursor:pointer;border-radius:var(--radius-sm)}.meal-gate-skip:hover{color:var(--text);background:var(--hover)}@keyframes meal-gate-fade{0%{opacity:0}to{opacity:1}}@keyframes meal-gate-pop{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}.meal-student h2{margin:0 0 4px;font-size:1.25rem;font-weight:600;letter-spacing:-.03em}.meal-student-id{font-size:.8125rem}.meal-chips{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.student-card-grid{display:grid;grid-template-columns:52px 1fr;grid-gap:calc(var(--space) * 2);gap:calc(var(--space) * 2);align-items:center}.avatar{width:52px;height:52px;display:grid;place-items:center;font-weight:600;font-size:.9rem;color:var(--text-secondary);background:var(--hover)}.avatar,.meal-status{border-radius:var(--radius-sm);border:1px solid var(--border)}.meal-status{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;font-size:.875rem;animation:status-in var(--motion)}.meal-status strong{display:block;font-size:.9375rem;font-weight:600;margin-bottom:2px}.meal-status.ok{border-color:color-mix(in srgb,var(--success) 35%,var(--border));background:color-mix(in srgb,var(--success-soft) 80%,var(--panel));color:var(--success)}.meal-status.ok div{color:var(--text)}.meal-status.warn{border-color:color-mix(in srgb,var(--warning) 35%,var(--border));background:color-mix(in srgb,var(--warning-soft) 80%,var(--panel));color:var(--warning)}.meal-status.warn div{color:var(--text)}.meal-status.err{border-color:color-mix(in srgb,var(--error) 35%,var(--border));background:color-mix(in srgb,var(--error-soft) 80%,var(--panel));color:var(--error)}.meal-status.err div{color:var(--text)}.meal-actions{display:grid;grid-gap:calc(var(--space) * 1.5);gap:calc(var(--space) * 1.5);margin-top:auto}.meal-actions .btn{min-height:44px;font-size:.9375rem}.meal-side{display:flex;flex-direction:column;min-height:420px;max-height:calc(100vh - 180px);padding:calc(var(--space) * 2);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.meal-side-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:calc(var(--space) * 1.5)}.meal-side-head h2{margin:0;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.meal-side-empty{margin:auto 0;text-align:center;font-size:.8125rem}.recent-scans{display:flex;flex-direction:column;gap:6px;overflow:auto;flex:1 1;min-height:0;padding-right:2px}.recent-scan{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg);font-size:.8125rem;transition:background var(--motion),border-color var(--motion)}.recent-scan:hover{background:var(--hover);border-color:var(--border)}.recent-scan-main{display:grid;grid-gap:2px;gap:2px;min-width:0}.recent-scan-main strong{font-weight:525;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-scan-meta{display:grid;grid-gap:4px;gap:4px;justify-items:end;flex-shrink:0}@keyframes status-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (max-width:960px){.meal-layout{grid-template-columns:1fr}.meal-side{max-height:320px;min-height:240px}.meal-main,.meal-side{min-height:0}}.campus-switcher{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.75rem;font-weight:500;min-width:0}.campus-switcher .select{min-height:34px;padding:4px 10px;font-size:.8125rem;width:auto;max-width:min(180px,40vw)}.campus-switcher.is-locked{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated)}.user-chip{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25;font-size:.75rem;min-width:0;max-width:min(160px,36vw)}.user-chip span,.user-chip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.user-chip strong{font-size:.8125rem;font-weight:500}.mobile-nav-toggle,.sidebar-backdrop{display:none}.dash{display:grid;grid-gap:calc(var(--space) * 2.5);gap:calc(var(--space) * 2.5)}.dash-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:calc(var(--space) * 2)}.dash-kicker{margin:0 0 4px;font-size:.8125rem;font-weight:500;color:var(--muted)}.dash-sub{margin-bottom:0}.dash-head-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.dash-session{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--space) * 2);padding:calc(var(--space) * 2.5) calc(var(--space) * 3);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.dash-session.is-live{border-color:color-mix(in srgb,var(--accent) 28%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 70%,var(--panel)),var(--panel) 55%)}.dash-session-main{display:flex;align-items:flex-start;gap:14px;min-width:0}.dash-session-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);flex-shrink:0}.dash-session.is-live .dash-session-icon{border-color:color-mix(in srgb,var(--text) 18%,var(--border));background:var(--accent-soft);color:var(--text)}.dash-session-label{font-size:.75rem;font-weight:500;color:var(--muted);margin-bottom:4px}.dash-session h2{margin:0;font-size:1.35rem;font-weight:600;letter-spacing:-.03em}.dash-session p{margin:6px 0 0;font-size:.8125rem}.dash-session-side{display:grid;grid-gap:10px;gap:10px;justify-items:end}.dash-link{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;padding:0}.dash-link:hover{color:var(--text)}.dash-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:calc(var(--space) * 2);gap:calc(var(--space) * 2)}.dash-stat{display:grid;grid-gap:6px;gap:6px;padding:calc(var(--space) * 2.5);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.dash-stat.is-warn{border-color:color-mix(in srgb,var(--warning) 35%,var(--border));background:color-mix(in srgb,var(--warning-soft) 50%,var(--panel))}.dash-stat-label{font-size:.75rem;font-weight:500;color:var(--muted)}.dash-stat strong{font-size:1.75rem;font-weight:600;letter-spacing:-.04em;line-height:1}.dash-stat-hint{font-size:.75rem}.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-gap:calc(var(--space) * 2);gap:calc(var(--space) * 2);align-items:start}.dash-panel{padding:calc(var(--space) * 2.5)}.dash-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin-bottom:calc(var(--space) * 2)}.dash-panel-head h2{margin:0;font-size:.9375rem;font-weight:600;letter-spacing:-.02em}.dash-sessions{display:grid;grid-gap:calc(var(--space) * 2);gap:calc(var(--space) * 2)}.dash-session-row{display:grid;grid-gap:8px;gap:8px;padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg)}.dash-session-row.is-active{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--accent-soft) 45%,var(--bg))}.dash-session-row-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.875rem}.dash-session-row-top span{display:inline-flex;align-items:center;gap:8px;font-weight:500}.dash-session-row-top strong{font-size:1.125rem;font-weight:600;letter-spacing:-.02em}.dash-bar{height:6px;border-radius:999px;background:var(--border-subtle);overflow:hidden}.dash-bar>span{display:block;height:100%;border-radius:inherit;background:var(--accent);min-width:0;transition:width .22s ease}.dash-activity{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.dash-activity li{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg);font-size:.8125rem}.dash-activity strong{font-weight:550}.dash-activity-meta{display:grid;grid-gap:4px;gap:4px;justify-items:end;flex-shrink:0}.dash-empty{display:grid;grid-gap:12px;gap:12px;justify-items:start;padding:8px 0 4px}.dash-empty p{margin:0;font-size:.875rem}.disc-report{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr);grid-gap:14px;gap:14px;align-items:start}.disc-report-form,.disc-report-side{min-width:0}.disc-section{display:grid;grid-gap:14px;gap:14px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--border-subtle)}.disc-section:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}.disc-section-head{display:flex;gap:12px;align-items:flex-start}.disc-section-head h2{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.02em}.disc-section-head p{margin:3px 0 0;font-size:.78rem}.disc-step{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;flex-shrink:0;font-size:.75rem;font-weight:650;background:var(--accent-soft);color:var(--text)}.disc-step,.disc-student-card{border:1px solid var(--border)}.disc-student-card{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:14px;border-radius:var(--radius);background:color-mix(in srgb,var(--zebra) 70%,var(--panel))}.disc-student-avatar{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--border);color:var(--text-secondary)}.disc-student-meta{display:grid;grid-gap:2px;gap:2px;min-width:0}.disc-student-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.disc-search{position:relative}.disc-search-icon{position:absolute;left:12px;top:13px;opacity:.55;pointer-events:none}.disc-search .input{padding-left:38px}.disc-search-hint{display:block;margin-top:6px;font-size:.78rem}.disc-hits{list-style:none;margin:8px 0 0;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--panel)}.disc-hits button{width:100%;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid var(--border-subtle);background:transparent;color:inherit;cursor:pointer;display:grid;grid-gap:2px;gap:2px}.disc-hits button:hover{background:var(--hover)}.disc-hits li:last-child button{border-bottom:0}.disc-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.disc-severity{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:6px}.disc-severity-chip{display:grid;grid-gap:2px;gap:2px;text-align:left;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);color:inherit;cursor:pointer;transition:border-color var(--motion),background var(--motion)}.disc-severity-chip strong{font-size:.8rem;letter-spacing:.02em}.disc-severity-chip span{font-size:.7rem;color:var(--muted)}.disc-severity-chip.is-active{border-color:color-mix(in srgb,var(--text) 28%,var(--border));background:var(--accent-soft)}.disc-severity-chip.is-critical.is-active,.disc-severity-chip.is-high.is-active{border-color:color-mix(in srgb,var(--error) 40%,var(--border));background:var(--error-soft)}.disc-form-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:8px}.disc-side-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px}.disc-side-head h2{margin:0;font-size:.95rem}.disc-side-head p{margin:3px 0 0;font-size:.75rem}.disc-side-empty{display:grid;grid-gap:10px;gap:10px;justify-items:start}.disc-prior-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.disc-prior-list a{display:grid;grid-gap:6px;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--zebra) 75%,var(--panel))}.disc-prior-list a:hover{border-color:color-mix(in srgb,var(--text) 16%,var(--border))}.disc-prior-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.disc-side-hint{margin-top:16px;padding-top:14px;border-top:1px solid var(--border-subtle);display:grid;grid-gap:6px;gap:6px}.disc-side-hint p{margin:0;font-size:.78rem}@media (max-width:960px){.disc-report{grid-template-columns:1fr}.disc-severity{grid-template-columns:1fr 1fr}}@media (max-width:640px){.disc-grid,.disc-severity{grid-template-columns:1fr}.disc-student-card{grid-template-columns:auto 1fr}.disc-student-actions{grid-column:1/-1;justify-content:flex-start}}.dash-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--space) * 2);padding:calc(var(--space) * 2.5) calc(var(--space) * 3);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:radial-gradient(120% 80% at 0 0,color-mix(in srgb,var(--accent-soft) 80%,transparent),transparent 55%),var(--panel);box-shadow:var(--shadow-soft)}.dash-hero.is-live{border-color:color-mix(in srgb,var(--success) 28%,var(--border));background:radial-gradient(100% 90% at 100% 0,color-mix(in srgb,var(--success-soft) 70%,transparent),transparent 50%),var(--panel)}.dash-hero-main{display:flex;align-items:flex-start;gap:14px;min-width:0}.dash-hero-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);flex-shrink:0}.dash-hero.is-live .dash-hero-icon{border-color:color-mix(in srgb,var(--success) 25%,var(--border));background:var(--success-soft);color:var(--success)}.dash-hero-label{font-size:.75rem;font-weight:500;color:var(--muted);margin-bottom:4px}.dash-hero h2{margin:0;font-size:1.4rem;font-weight:650;letter-spacing:-.03em}.dash-hero p{margin:6px 0 0;font-size:.8125rem}.dash-hero-metrics{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px}.dash-hero-metrics>div{display:grid;grid-gap:2px;gap:2px;min-width:72px}.dash-hero-metrics>div>span{font-size:.72rem}.dash-hero-metrics>div>strong{font-size:1.35rem;letter-spacing:-.03em}.dash-hero-side{display:grid;grid-gap:10px;gap:10px;justify-items:end}.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.dash-kpi{display:grid;grid-gap:4px;gap:4px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);min-width:0;transition:border-color var(--motion),transform var(--motion)}.dash-kpi.is-click{cursor:pointer}.dash-kpi.is-click:hover{border-color:color-mix(in srgb,var(--text) 18%,var(--border));transform:translateY(-1px)}.dash-kpi.is-warn{border-color:color-mix(in srgb,var(--warning) 35%,var(--border));background:color-mix(in srgb,var(--warning-soft) 55%,var(--panel))}.dash-kpi-label{font-size:.75rem;font-weight:500;color:var(--muted)}.dash-kpi strong{font-size:1.55rem;font-weight:650;letter-spacing:-.03em;line-height:1.1}.dash-kpi-hint{font-size:.75rem}.dash-charts{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:12px;gap:12px}.dash-charts-secondary{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.dash-panel-sub{margin:4px 0 0;font-size:.78rem}.dash-chart{width:100%;min-height:220px}.dash-chart-foot{margin:4px 0 0;font-size:.75rem}.dash-chart-tip{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:8px 10px;box-shadow:var(--shadow-soft);font-size:.78rem;color:var(--text)}.dash-chart-tip strong{display:block;margin-bottom:4px}.dash-chart-tip div{display:flex;align-items:center;gap:6px}.dash-chart-tip span{width:8px;height:8px;border-radius:99px;flex-shrink:0}.dash-donut-wrap{position:relative;width:100%;min-height:220px}.dash-donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}.dash-donut-center strong{font-size:1.75rem;letter-spacing:-.04em;line-height:1}.dash-donut-center span{margin-top:4px;font-size:.75rem;color:var(--muted)}.dash-module-grid{display:grid;grid-gap:10px;gap:10px}.dash-module-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;width:100%;text-align:left;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--zebra) 80%,var(--panel));color:inherit;cursor:pointer;transition:border-color var(--motion),background var(--motion)}.dash-module-card:hover{border-color:color-mix(in srgb,var(--text) 16%,var(--border));background:var(--panel)}.dash-module-card strong{display:block;font-size:1.25rem;letter-spacing:-.03em}.dash-module-card span{color:var(--muted);font-size:.78rem}@keyframes spin{to{transform:rotate(1turn)}}.spin{animation:spin .8s linear infinite}@media (max-width:960px){.dash-charts,.dash-charts-secondary,.dash-grid,.dash-kpis,.dash-stats{grid-template-columns:1fr 1fr}}@media (max-width:640px){.dash-charts,.dash-charts-secondary,.dash-grid,.dash-kpis,.dash-stats{grid-template-columns:1fr}.dash-hero-side,.dash-session-side{justify-items:start;width:100%}.dash-hero-metrics{width:100%}}@media (max-width:900px){.app-shell{grid-template-columns:minmax(0,1fr)}.mobile-nav-toggle{display:inline-flex}.sidebar{position:fixed;left:0;top:0;width:min(280px,86vw);height:100vh;height:100dvh;transform:translateX(-105%);transition:transform var(--motion);box-shadow:var(--shadow-soft);background:var(--sidebar);z-index:50}.sidebar.open{transform:none}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(10,10,10,.4);z-index:35;animation:fade-in var(--motion)}.topbar-search{display:none}.main{padding:calc(var(--space) * 2);max-width:100%}.barcode-input,.btn,.nav a{min-height:var(--touch)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px;background:rgba(10,10,10,.45)}.modal-backdrop,.modal-panel{animation:fade-in var(--motion)}.modal-panel{width:min(520px,100%);max-height:min(90vh,800px);overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.02em}.modal-body{padding:20px;display:grid;grid-gap:12px;gap:12px}.row-actions{display:flex;flex-wrap:wrap;gap:6px}.profile-page{display:grid;grid-gap:calc(var(--space) * 2);gap:calc(var(--space) * 2);min-width:0;max-width:100%}.profile-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;font-size:.8125rem;font-weight:500;color:var(--muted)}.profile-back:hover{color:var(--text)}.profile-hero{grid-gap:calc(var(--space) * 2)}.profile-hero,.profile-hero-main{display:grid;gap:calc(var(--space) * 2);min-width:0}.profile-hero-main{grid-template-columns:64px minmax(0,1fr);grid-gap:calc(var(--space) * 2);align-items:center}.profile-hero-main>div{min-width:0}.profile-hero h2{margin:0 0 4px;font-family:var(--font-display);font-size:1.35rem;font-weight:650;letter-spacing:-.03em;overflow-wrap:anywhere}.profile-avatar{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;font-weight:700;font-size:1.1rem;background:var(--accent-soft);border:1px solid var(--border);color:var(--text);flex-shrink:0}.profile-hero-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));grid-gap:12px;gap:12px;padding-top:12px;border-top:1px solid var(--border-subtle);font-size:.8125rem;min-width:0}.profile-hero-meta span{display:block;margin-bottom:4px}.profile-hero-meta strong{display:block;color:var(--text);font-weight:550;overflow-wrap:anywhere}.profile-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:calc(var(--space) * 1.5);gap:calc(var(--space) * 1.5);min-width:0}.profile-stat{display:flex;align-items:center;gap:12px;padding:16px!important;min-width:0}.profile-stat>div{min-width:0}.profile-stat strong{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:650;letter-spacing:-.03em;line-height:1.1}.profile-stat span{font-size:.75rem}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:calc(var(--space) * 2);gap:calc(var(--space) * 2);min-width:0}.profile-section-title{margin:0 0 14px;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.profile-bars{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px;min-width:0}.profile-bars>li{min-width:0}.profile-bar-label{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;font-size:.8125rem;min-width:0}.profile-bar-label strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-bar-label span{flex-shrink:0}.profile-bar-track{height:8px;border-radius:999px;background:var(--hover);overflow:hidden;max-width:100%}.profile-bar-track span{display:block;height:100%;max-width:100%;border-radius:inherit;background:var(--text)}.table-link{color:inherit}.table-link:hover div:first-child{text-decoration:underline}.profile-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:calc(var(--space) * 2);gap:calc(var(--space) * 2);align-items:start;min-width:0}@media (max-width:900px){.profile-account-grid{grid-template-columns:minmax(0,1fr)}.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.profile-hero-main,.profile-stats{grid-template-columns:minmax(0,1fr)}.profile-hero h2{font-size:1.2rem}.page-head{flex-direction:column;align-items:stretch}.page-head>.btn{width:100%}}.reports{grid-gap:calc(var(--space) * 2);gap:calc(var(--space) * 2)}.reports,.reports-filters{display:grid;min-width:0;max-width:100%}.reports-filters{grid-template-columns:repeat(5,minmax(0,1fr)) auto;grid-gap:12px;gap:12px;align-items:end}.reports-filter{display:grid;grid-gap:6px;gap:6px;min-width:0;max-width:100%}.reports-filter .input,.reports-filter .select{width:100%;max-width:100%;min-width:0}.reports-filter span{font-size:.75rem;font-weight:550;color:var(--muted)}.reports-filter-actions{display:flex;align-items:end;padding-bottom:2px}.reports-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:calc(var(--space) * 1.5);gap:calc(var(--space) * 1.5);min-width:0}.reports-kpi{text-align:left;border:1px solid var(--border);background:var(--panel);border-radius:var(--radius);padding:18px 18px 16px;display:grid;grid-gap:6px;gap:6px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;color:inherit;font:inherit;min-width:0;max-width:100%;overflow:hidden}.reports-kpi.is-active,.reports-kpi:hover{border-color:var(--text)}.reports-kpi.is-active{box-shadow:inset 0 0 0 1px var(--text)}.reports-kpi-label{font-size:.75rem;font-weight:550;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.reports-kpi strong{font-family:var(--font-display);font-size:2rem;font-weight:650;letter-spacing:-.04em;line-height:1;color:var(--text)}.reports-kpi-hint{font-size:.75rem;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}.reports-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:calc(var(--space) * 1.5);gap:calc(var(--space) * 1.5);min-width:0}.reports-empty-line{margin:0;padding:8px 0 4px}.reports-trend{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:end;min-height:180px;padding-top:8px;min-width:0;max-width:100%}.reports-trend-col{display:grid;grid-template-rows:1fr auto auto;grid-gap:6px;gap:6px;justify-items:center;min-height:160px;min-width:0}.reports-trend-bar-wrap{width:100%;height:120px;display:flex;align-items:flex-end;justify-content:center;min-width:0}.reports-trend-bar{width:100%;max-width:36px;border-radius:6px 6px 2px 2px;background:var(--text);min-height:4px;transition:height .25s ease}.reports-trend-bar.is-empty{background:var(--border);opacity:.7}.reports-trend-value{font-size:.75rem;font-weight:600;color:var(--text)}.reports-trend-label{font-size:.6875rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.reports-student{display:grid;grid-gap:2px;gap:2px;min-width:0}.reports-student strong{font-weight:550}.reports-student span{font-size:.75rem}@media (max-width:900px){.reports-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-filter-actions{grid-column:1/-1}.reports-grid,.reports-kpis{grid-template-columns:minmax(0,1fr)}.dash-head-actions{width:100%}.dash-head-actions .btn{flex:1 1 auto}}@media (max-width:560px){.reports-filters{grid-template-columns:minmax(0,1fr)}.reports-trend{gap:4px;min-height:150px}.reports-trend-col{min-height:140px}.reports-trend-bar-wrap{height:100px}.reports-trend-bar{max-width:22px}.reports-kpi{padding:16px 14px 14px}.reports-kpi strong{font-size:1.65rem}.dash-head{align-items:stretch}.dash-head-actions{flex-direction:column}.dash-head-actions .btn{width:100%}}.gate-pass{border:1px solid var(--border)}.gate-pass-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.gate-pass-kicker{margin:0 0 4px;font-size:.8rem;letter-spacing:.02em;color:var(--muted)}.gate-pass .gpc-label-am,.gate-pass-kicker [lang=am]{font-family:var(--font-ethiopic,"Noto Sans Ethiopic"),"Segoe UI",sans-serif;font-weight:600;text-transform:none;letter-spacing:0;color:var(--text-secondary)}.gate-pass-grid>div>.gpc-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin-bottom:4px;font-size:.78rem;color:var(--muted)}.gate-pass-head h2{margin:0;font-size:1.35rem;font-weight:650;letter-spacing:-.02em}.gate-pass-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:14px 18px;gap:14px 18px}.gate-pass-grid>div{display:grid;grid-gap:4px;gap:4px}.gate-pass-grid>div>span{font-size:.75rem}.gate-pass-grid>div>strong{font-weight:550;font-size:.95rem}.gate-result-inline{box-shadow:none}.gp-studio-toolbar{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:end;margin-bottom:16px}.gp-studio-toolbar .field{min-width:160px;margin:0}.gp-studio-preview{background:#e8e8e8;border-radius:var(--radius);padding:16px;overflow:auto}.gp-print-root{display:grid;grid-gap:20px;gap:20px;justify-items:center}.gp-a4-page{position:relative;width:210mm;min-height:297mm;background:#fff;color:#111;box-shadow:0 1px 8px rgba(0,0,0,.12);padding:8mm;box-sizing:border-box}.gp-card-grid{display:grid;grid-gap:0;gap:0;height:100%;min-height:calc(297mm - 16mm)}.gp-card-grid.layout-1{grid-template-columns:1fr;grid-template-rows:1fr}.gp-card-grid.layout-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.gp-card-grid.layout-8{grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,1fr)}.gp-card-cell{position:relative;padding:2mm;box-sizing:border-box;border:.4pt dashed #bbb}.gp-cut-guides{display:none}.gpc-card{height:100%;min-height:58mm;border:.7pt solid #222;border-radius:3mm;padding:2.5mm 3mm;box-sizing:border-box;display:flex;flex-direction:column;gap:2mm;background:#fff;font-family:"Segoe UI","Noto Sans Ethiopic",var(--font-ethiopic,sans-serif),"Helvetica Neue",Arial,sans-serif;font-size:7.5pt;line-height:1.25;color:#111}.layout-1 .gpc-card{min-height:180mm;padding:10mm;font-size:11pt;border-radius:4mm}.layout-4 .gpc-card{min-height:120mm;font-size:9pt;padding:4mm}.gpc-head{display:flex;align-items:center;gap:2mm;border-bottom:.6pt solid #222;padding-bottom:1.5mm}.gpc-logo,.gpc-logo-spacer{width:7mm;height:7mm;flex-shrink:0;object-fit:contain}.layout-1 .gpc-logo{width:14mm;height:14mm}.gpc-titles{flex:1 1;min-width:0}.gpc-org{margin:0;font-size:.85em;font-weight:650;letter-spacing:.01em}.gpc-pass{margin:0;font-size:.75em;text-transform:uppercase;letter-spacing:.06em;color:#444}.gpc-meta{text-align:right;flex-shrink:0}.gpc-slot{display:block;font-size:.7em;color:#666}.gpc-number{display:block;font-size:.9em;font-weight:700;font-family:ui-monospace,Consolas,monospace}.gpc-body{display:grid;grid-template-columns:1fr 1fr;grid-gap:1mm 2.5mm;gap:1mm 2.5mm;flex:1 1}.layout-1 .gpc-body{grid-template-columns:1fr 1fr;gap:4mm 8mm}.gpc-field{display:grid;grid-gap:.4mm;gap:.4mm;min-width:0}.gpc-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35mm 1.2mm;font-size:.72em;text-transform:none;letter-spacing:.01em;color:#555;line-height:1.2}.gpc-label-en{font-weight:600;text-transform:uppercase;letter-spacing:.04em}.gpc-label-sep{color:#999;font-weight:500}.gpc-label-am{font-family:var(--font-ethiopic,"Noto Sans Ethiopic"),"Segoe UI",sans-serif;font-weight:600;font-size:1.08em;color:#222}.gpc-field.is-wide{grid-column:1/-1}.gpc-meta .gpc-label{text-align:right;margin-bottom:.5mm}.gpc-value{font-weight:600;border-bottom:.4pt solid transparent;min-height:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gpc-value.is-mono{font-family:ui-monospace,Consolas,monospace;font-weight:550}.gpc-number.is-blank,.gpc-value.is-blank,.gpc-verify-code.is-blank{border-bottom:.5pt solid #999;min-height:3.2mm}.gpc-foot{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:2mm;gap:2mm;align-items:end;border-top:.4pt solid #ccc;padding-top:1.5mm}.gpc-sign .gpc-line{display:block;margin-top:4mm;border-bottom:.5pt solid #333}.gpc-stamp{border:.5pt dashed #888;min-height:10mm;border-radius:1mm;padding:1mm;display:flex;align-items:flex-start}.gpc-name-with-barcode{align-content:start}.gpc-barcode-under-name{margin-top:1mm;max-width:100%;width:36mm}.gpc-barcode-svg{display:block;width:100%;height:auto;max-height:6.5mm}.gpc-verify{display:flex;align-items:center;gap:1.5mm;max-width:30mm}.gpc-qr-img{width:9mm;height:9mm;border:.4pt solid #111;flex-shrink:0;object-fit:contain;background:#fff}.gpc-verify-code{display:block;font-size:.65em;font-family:ui-monospace,Consolas,monospace;word-break:break-all}.gpc-footer-note{margin:0;font-size:.6em;color:#555;text-align:center}.toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px;align-items:center}.toolbar .select,.toolbar input{min-width:min(100%,180px);flex:1 1 160px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:720px){.form-grid{grid-template-columns:1fr}}.form-actions{gap:8px}.form-actions,.pager{display:flex;flex-wrap:wrap;align-items:center}.pager{gap:12px;justify-content:space-between;margin-top:12px}.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--panel) 85%,var(--accent) 6%);font-size:.85rem;cursor:pointer}.chip,.search-hits{border:1px solid var(--border)}.search-hits{list-style:none;margin:0;padding:0;border-radius:10px;overflow:hidden}.search-hit{display:block;width:100%;text-align:left;padding:10px 12px;border:0;background:transparent;cursor:pointer}.search-hit:hover{background:color-mix(in srgb,var(--panel) 80%,var(--accent) 10%)}.upload-dropzone{display:grid;place-items:center;grid-gap:6px;gap:6px;padding:28px 16px;border:1.5px dashed color-mix(in srgb,var(--border) 80%,var(--accent));border-radius:12px;background:color-mix(in srgb,var(--panel) 88%,var(--accent) 4%);cursor:pointer;text-align:center;transition:border-color .15s ease,background .15s ease}.upload-dropzone.is-dragging,.upload-dropzone:hover{border-color:var(--accent);background:color-mix(in srgb,var(--panel) 80%,var(--accent) 8%)}.activity-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));grid-gap:12px;gap:12px}.activity-gallery-item{display:grid;grid-gap:8px;gap:8px;min-width:0}.activity-gallery-file,.activity-gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:color-mix(in srgb,var(--panel) 70%,#000 8%);border:1px solid var(--border)}.activity-gallery-file{display:grid;place-content:center;grid-gap:4px;gap:4px;text-align:center;font-weight:600}.activity-gallery-meta{display:grid;grid-gap:2px;gap:2px;min-width:0}.activity-gallery-meta strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-media-actions{display:grid;grid-template-columns:1.4fr minmax(220px,.8fr);grid-gap:12px;gap:12px;align-items:stretch}.activity-voice-panel{display:grid;grid-gap:8px;gap:8px;align-content:start;padding:16px;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--panel) 88%,#000 4%)}.voice-recorder{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.voice-recorder-live{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:#b42318}.voice-recorder-live:before{content:"";width:8px;height:8px;border-radius:50%;background:#b42318;animation:voice-pulse 1s ease-in-out infinite}@keyframes voice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.voice-player{display:grid;grid-gap:10px;gap:10px;place-content:center;width:100%;min-height:140px;padding:14px;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--panel) 70%,#000 8%)}.voice-player-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.voice-player audio{width:100%;max-width:100%}.activity-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.activity-head-text h1{margin:0;font-size:clamp(1.4rem,2.2vw,1.75rem);font-weight:650;letter-spacing:-.03em;line-height:1.15}.activity-head-text p{margin:6px 0 0;font-size:.875rem;color:var(--text-secondary)}.activity-head-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.activity-mini-stats{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.8rem;color:var(--text-secondary)}.activity-mini-stats strong{color:var(--text);font-weight:650}.activity-mini-dot{width:3px;height:3px;border-radius:50%;background:var(--muted);opacity:.7}.activity-controls{display:grid;grid-gap:12px;gap:12px;margin-bottom:14px}.activity-links{display:flex;flex-wrap:wrap;gap:4px}.activity-links button{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);font:inherit;font-size:.8rem;font-weight:500;cursor:pointer}.activity-links button:hover{background:var(--hover);color:var(--text)}.activity-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,200px);grid-gap:10px;gap:10px;align-items:center}.activity-search{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--muted)}.activity-search:focus-within{border-color:color-mix(in srgb,var(--text) 28%,var(--border))}.activity-search input{flex:1 1;border:0!important;background:transparent!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}.activity-status-select{min-height:42px}.activity-list{display:grid;grid-gap:0;gap:0;padding:4px;overflow:hidden}.activity-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:14px;text-decoration:none;color:inherit;transition:background var(--motion)}.activity-row+.activity-row{border-top:1px solid color-mix(in srgb,var(--border) 85%,transparent)}.activity-row:hover{background:color-mix(in srgb,var(--hover) 80%,transparent)}.activity-row-main{min-width:0;display:grid;grid-gap:4px;gap:4px}.activity-row-title-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.activity-row-title-line h2{margin:0;font-size:.98rem;font-weight:650;letter-spacing:-.02em;line-height:1.3}.activity-row-meta{margin:0;display:flex;flex-wrap:wrap;gap:6px;font-size:.78rem;color:var(--muted);line-height:1.4}.activity-row-by{margin:0;font-size:.75rem;color:var(--text-secondary)}.activity-row-chevron{color:var(--muted);flex-shrink:0;opacity:.55}.activity-row:hover .activity-row-chevron{opacity:1;color:var(--text)}.activity-empty{display:grid;justify-items:center;grid-gap:8px;gap:8px;text-align:center;padding:56px 20px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.activity-empty h2{margin:0;font-size:1.1rem;font-weight:650;letter-spacing:-.02em}.activity-empty p{margin:0;max-width:26rem;font-size:.875rem;color:var(--text-secondary)}.activity-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}@media (max-width:720px){.activity-filters,.activity-media-actions{grid-template-columns:1fr}}.activity-create{display:grid;grid-gap:14px;gap:14px;max-width:880px}.activity-create-section{display:grid;grid-gap:16px;gap:16px;padding:18px 18px 20px}.activity-create-section-head h2{margin:0;font-size:1rem;font-weight:650;letter-spacing:-.02em}.activity-create-section-head p{margin:4px 0 0;font-size:.8125rem;color:var(--text-secondary)}.activity-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px 14px;gap:12px 14px}.activity-create-span{grid-column:1/-1}.activity-create-stack{display:grid;grid-gap:12px;gap:12px}.activity-create-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.activity-create-hint{margin:0;gap:8px;font-size:.8rem}.activity-create-hint,.activity-more-toggle{display:inline-flex;align-items:center;color:var(--text-secondary)}.activity-more-toggle{margin-top:4px;padding:0;border:0;background:transparent;font:inherit;font-size:.8125rem;font-weight:500;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.activity-more-toggle:hover{color:var(--text)}.activity-pending-summary{margin:4px 0 0;font-size:.8rem}.activity-pending-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.activity-pending-item{display:grid;grid-template-columns:52px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 55%,var(--panel))}.activity-pending-thumb{display:grid;place-items:center;width:52px;height:52px;overflow:hidden;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text-secondary)}.activity-pending-thumb img{width:100%;height:100%;object-fit:cover}.activity-pending-meta{min-width:0;display:grid;grid-gap:2px;gap:2px}.activity-pending-meta strong{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-pending-audio{width:100%;margin-top:4px;max-width:280px}@media (max-width:720px){.activity-create-grid{grid-template-columns:1fr}.activity-create-foot{flex-direction:column;align-items:stretch}.activity-pending-item{grid-template-columns:44px minmax(0,1fr)}.activity-pending-item>.btn{grid-column:1/-1;justify-self:start}}.activity-timeline{display:grid;grid-gap:12px;gap:12px}.activity-timeline-day header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}.activity-timeline-day header h2{margin:0;font-size:1.05rem}.activity-timeline-day ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.activity-timeline-day li{display:grid;grid-gap:4px;gap:4px;padding-top:10px;border-top:1px solid var(--border)}.activity-present.is-fullscreen{position:fixed;inset:0;z-index:80;padding:20px;overflow:auto;background:var(--bg)}.activity-present-stage{display:grid;grid-gap:14px;gap:14px}.activity-present-placeholder,.activity-present-stage img{width:100%;max-height:min(62vh,640px);min-height:280px;object-fit:contain;border-radius:12px;background:#0f1419}.activity-present-placeholder{display:grid;place-items:center;color:#c9d1d9}.activity-present-caption h2{margin:0 0 6px;font-size:clamp(1.2rem,2.4vw,1.75rem)}.activity-present-caption p{margin:0 0 6px}.activity-present-nav{display:flex;flex-wrap:wrap;gap:8px}@media print{.no-print,.sidebar,.sidebar-backdrop,.sidebar-logout,.topbar{display:none!important}.app-shell,.main,.shell-main-col{display:block!important;width:100%!important;margin:0!important;padding:0!important;background:white!important;color:black!important}.gate-pass{border:2px solid #111!important;box-shadow:none!important;padding:24px!important;page-break-inside:avoid;break-inside:avoid}.leave-detail>.panel:not(.gate-pass){display:none!important}.gp-studio-preview{background:transparent!important;padding:0!important;border-radius:0!important;overflow:visible!important}.gp-print-root{gap:0!important}.gp-a4-page{width:210mm!important;height:297mm!important;min-height:297mm!important;margin:0!important;padding:6mm!important;box-shadow:none!important;page-break-after:always;break-after:page}.gp-a4-page:last-child{page-break-after:auto;break-after:auto}.gp-card-cell{border-color:#999!important}.gpc-card{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4 portrait;margin:0}}.art-doc,.art-form{max-width:820px;margin:0 auto;padding:22px 24px 28px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 92%,#fff) 0,var(--panel) 40%),var(--panel);box-shadow:var(--shadow-soft)}.art-doc-masthead,.art-form-masthead{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border)}.art-doc-brand,.art-form-brand{display:flex;align-items:center;gap:12px}.art-doc-logo{border-radius:10px}.art-doc-kind,.art-doc-org{margin:0}.art-doc-org{font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.art-doc-kind{margin-top:2px;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.art-doc-ids,.art-form-status{display:grid;justify-items:end;grid-gap:6px;gap:6px}.art-doc-title{margin:18px 0 14px;font-size:clamp(1.35rem,2.4vw,1.75rem);font-weight:650;letter-spacing:-.03em;line-height:1.2}.art-doc-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px 14px;gap:10px 14px;padding:14px 0;border-top:1px solid color-mix(in srgb,var(--border) 85%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 85%,transparent)}.art-doc-meta>div{display:grid;grid-gap:2px;gap:2px;min-width:0}.art-doc-meta span{font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.art-doc-meta strong{font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis}.art-doc-body{display:grid;grid-gap:4px;gap:4px;padding-top:8px}.art-doc-section{padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.art-doc-section h2{margin:0 0 6px;font-size:.78rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.art-doc-section p{margin:0;white-space:pre-wrap;line-height:1.55;font-size:.95rem}.art-doc-people{margin:0;padding-left:1.1rem;display:grid;grid-gap:4px;gap:4px}.art-doc-extra{margin-top:16px}.art-doc-actions{padding-top:4px}.art-doc-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:18px;padding-top:12px;border-top:1px solid var(--border);font-size:.78rem;color:var(--muted)}.art-media-panel{margin-top:14px}.art-form-intro{padding:16px 0 8px}.art-form-intro h1{margin:0;font-size:clamp(1.3rem,2vw,1.6rem);font-weight:650;letter-spacing:-.03em}.art-form-intro p{margin:6px 0 0;color:var(--text-secondary);font-size:.9rem}.art-form-autosave{font-size:.75rem}.art-form-body{display:grid;grid-gap:14px;gap:14px}.art-form-block{display:grid;grid-gap:12px;gap:12px;padding:16px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--bg) 55%,var(--panel))}.art-form-block h2{margin:0;font-size:.95rem;font-weight:650;letter-spacing:-.02em}.art-form-lead{margin:-4px 0 0;font-size:.82rem;color:var(--text-secondary)}.art-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px 14px;gap:12px 14px}.art-span{grid-column:1/-1}.art-form-stack{display:grid;grid-gap:12px;gap:12px}.art-textarea{min-height:88px}.art-form-footer{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.art-form-footer-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.art-print-page{min-height:100dvh;padding:20px;background:#f3f3f3}.art-print-toolbar{display:flex;justify-content:flex-end;gap:8px;max-width:820px;margin:0 auto 12px}@media (max-width:720px){.art-form-grid{grid-template-columns:1fr}.art-doc,.art-form{padding:16px}}.art-blank{max-width:820px;margin:0 auto;padding:22px 24px 28px;border:1px solid var(--border);border-radius:16px;background:#fff;color:#111;box-shadow:var(--shadow-soft)}.art-blank-mast{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:2px solid #111;margin-bottom:16px}.art-blank-hint{margin:6px 0 0;font-size:.82rem;color:#555}.art-blank-badge{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:#444}.art-blank-h{margin:0 0 12px;font-size:1.05rem;font-weight:650}.art-blank-fields{display:grid;grid-gap:10px;gap:10px;margin-bottom:8px}.art-blank-field{display:grid;grid-template-columns:minmax(120px,28%) 1fr;grid-gap:10px;gap:10px;align-items:end}.art-blank-field span{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#555;padding-bottom:4px}.art-blank-uline{border-bottom:1px solid #222;min-height:22px}.art-blank-section{margin-top:16px}.art-blank-section h2{margin:0 0 8px;font-size:.78rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:#333;padding-bottom:4px;border-bottom:1px solid #ccc}.art-blank-lines{display:grid;grid-gap:0;gap:0}.art-blank-line{height:28px;border-bottom:1px solid #bbb}.art-blank-sigs{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;margin-top:28px}.art-blank-sigs>div{display:grid;grid-gap:6px;gap:6px}.art-blank-sigs span{font-size:.78rem;font-weight:600;color:#444}.art-blank-sigs small{color:#666;font-size:.72rem}@media (max-width:640px){.art-blank-field{gap:4px}.art-blank-field,.art-blank-sigs{grid-template-columns:1fr}}@media print{.art-print-page{background:#fff;padding:0}.art-blank,.art-doc{border:0;box-shadow:none;max-width:none;border-radius:0}.no-print{display:none!important}}