@import"https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{font-family:Be Vietnam Pro,sans-serif;color:#132538;background:#ebe8df;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.app{--paper:#f8f5ec;--paper-2:#fffdf8;--ink:#132538;--muted:#68727a;--line:#d7d2c5;--red:#d93b31;--red-deep:#a92722;--navy:#132538;min-height:100vh;position:relative;overflow:hidden;padding:38px max(28px,calc((100vw - 1220px)/2)) 28px;background:linear-gradient(110deg,#eeeae0,#f8f5ed 53%,#e7e3da);color:var(--ink);transition:.25s}.app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}.app.dark{--paper:#18232d;--paper-2:#1e2b36;--ink:#f3efe4;--muted:#a5a9a7;--line:#34434c;--navy:#0c1821;background:linear-gradient(120deg,#0c161e,#15232d 58%,#111a20)}.ambient{position:absolute;border-radius:50%;pointer-events:none}.ambient-one{width:420px;height:420px;top:-240px;right:-110px;border:1px solid color-mix(in srgb,var(--red),transparent 55%);box-shadow:0 0 0 70px color-mix(in srgb,var(--red),transparent 95%),0 0 0 140px color-mix(in srgb,var(--red),transparent 97%)}.ambient-two{width:170px;height:170px;left:-120px;top:540px;background:var(--red);opacity:.06}header{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:34px;animation:rise .55s ease both}.brand{display:flex;align-items:center;gap:17px}.logo{display:grid;place-items:center;width:54px;height:62px;clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);color:#fff;background:var(--red);font-size:20px;filter:drop-shadow(0 8px 12px #9d231f35)}.eyebrow,.search-copy>span,.form-heading span,footer span{font-size:9px;letter-spacing:.22em;font-weight:700;color:var(--red)}.brand h1,.form-heading h3{font-family:Fraunces,serif}.brand h1{font-size:31px;line-height:1;margin:4px 0 5px;letter-spacing:-.03em}.brand p,.search small{display:block;color:var(--muted);margin:0;font-size:12px}.header-side,.tools{display:flex;align-items:center}.header-side{gap:18px}.system-status{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.system-status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2eae70;margin-right:6px;box-shadow:0 0 0 4px #2eae701c}.tools{gap:7px}.tools button{display:grid;place-items:center;width:39px;height:39px;border:1px solid var(--line);background:color-mix(in srgb,var(--paper),transparent 15%);color:var(--ink);cursor:pointer;transition:.2s}.tools button:hover{color:var(--red);border-color:var(--red);transform:translateY(-2px)}.main-nav{position:relative;display:flex;gap:7px;margin:-11px 0 22px;padding:6px;background:color-mix(in srgb,var(--paper),transparent 4%);border:1px solid var(--line);width:max-content;animation:rise .55s .04s ease both}.main-nav a{display:flex;align-items:center;gap:10px;min-width:210px;padding:10px 15px;color:var(--muted);text-decoration:none;border:1px solid transparent;transition:.2s}.main-nav a>svg{font-size:15px}.main-nav a span{display:flex;flex-direction:column;gap:2px}.main-nav b{font-size:11px;color:inherit}.main-nav small{font-size:9px;opacity:.7}.main-nav a:hover{color:var(--red)}.main-nav a.active{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:5px 5px color-mix(in srgb,var(--red),transparent 72%)}.search,form{position:relative;background:var(--paper);border:1px solid var(--line);box-shadow:0 22px 60px #2231420d}.search{min-height:126px;padding:27px 30px 27px 39px;display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;border-left:5px solid var(--red);animation:rise .55s .08s ease both}.search:after{content:"⌕";position:absolute;right:44%;font-family:serif;font-size:100px;line-height:1;color:var(--ink);opacity:.025;transform:rotate(-15deg)}.search-copy{display:flex;flex-direction:column;gap:5px}.search-copy b{font-family:Fraunces,serif;font-size:20px}.searchbox{position:relative;z-index:1;display:flex;width:min(490px,48%)}input,select{width:100%;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);border-radius:0;padding:12px 13px;outline:none;font-size:13px;transition:border .2s,box-shadow .2s}input:focus,select:focus{border-color:var(--red);box-shadow:0 3px color-mix(in srgb,var(--red),transparent 76%)}.searchbox input{border-right:0;padding-left:17px}.searchbox button{border:0;padding:0 22px;background:var(--navy);color:#fff;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:.2s}.searchbox button:hover{background:var(--red)}form{padding:0 38px 32px;counter-reset:section;animation:rise .55s .16s ease both}.form-heading{display:flex;align-items:end;justify-content:space-between;margin:0 -38px 28px;padding:25px 38px 22px;background:color-mix(in srgb,var(--paper-2),var(--line) 12%);border-bottom:1px solid var(--line)}.form-heading h3{font-size:23px;margin:3px 0 0}.form-heading p{font-size:10px;color:var(--muted);margin:0}.form-heading b{color:var(--red)}fieldset{border:0;padding:0;margin:0}h2{counter-increment:section;display:flex;align-items:center;gap:11px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;margin:31px 0 16px;color:var(--ink)}h2:before{content:"0" counter(section);display:grid;place-items:center;width:27px;height:27px;background:var(--red);color:#fff;font:700 9px Be Vietnam Pro}h2:after{content:"";height:1px;flex:1;background:var(--line)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px 20px}.field{display:flex;flex-direction:column;gap:7px}.field>span{font-size:10px;font-weight:700;letter-spacing:.035em;color:var(--muted)}input[readonly]{background:color-mix(in srgb,var(--paper),var(--line) 26%);color:var(--muted)}.product-search{position:relative}.product-search>svg{position:absolute;left:15px;top:15px;color:var(--red)}.product-search>input{padding-left:42px}.results{position:absolute;z-index:5;left:0;right:0;top:49px;background:var(--paper-2);border:1px solid var(--line);box-shadow:12px 16px color-mix(in srgb,var(--navy),transparent 86%);max-height:320px;overflow:auto}.results button{display:grid;grid-template-columns:44px 1fr 20px;align-items:center;text-align:left;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 13px;cursor:pointer}.results button:hover{background:color-mix(in srgb,var(--red),transparent 92%)}.results img,.thumb{width:36px;height:36px;object-fit:cover}.thumb{display:grid;place-items:center;background:var(--navy);color:#fff}.results button>span,.chosen span{display:flex;flex-direction:column}.results small,.chosen small{color:var(--muted);margin-top:2px}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);padding:24px;margin-top:11px;font-size:12px}.chosen{margin-top:11px;border:1px solid var(--line)}.chosen>div{display:grid;grid-template-columns:1fr 90px 38px;align-items:center;padding:10px 13px;border-bottom:1px solid var(--line)}.chosen>div:last-child{border:0}.chosen input{padding:8px}.chosen button{border:0;background:transparent;color:var(--red);font-size:17px;cursor:pointer}.product-picker{padding:16px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--paper-2),transparent 12%)}.product-picker-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.product-picker-head>span{display:flex;flex-direction:column;gap:3px}.product-picker-head b{font-size:13px}.product-picker-head small,.cart-heading small{color:var(--muted);font-size:9px}.product-picker-head em{padding:6px 10px;border-radius:999px;background:#e6f6ff;color:#0872cf;font-size:9px;font-style:normal;font-weight:700}.dark .product-picker-head em{background:#0c3766;color:#74d9ff}.product-categories{display:flex;gap:6px;margin:10px 0;overflow-x:auto;scrollbar-width:none}.product-categories::-webkit-scrollbar{display:none}.product-categories button{flex:0 0 auto;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--muted);font-size:9px;font-weight:700;cursor:pointer}.product-categories button.active{border-color:#0785df;background:#087bea;color:#fff}.product-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:410px;overflow-y:auto;padding:3px}.product-catalog article{position:relative;display:grid;grid-template-columns:50px 1fr;gap:9px;min-height:92px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--paper);cursor:pointer;transition:.18s}.product-catalog article:hover{border-color:#6dbcf0;transform:translateY(-1px);box-shadow:0 8px 20px #06376c12}.product-catalog article.selected{border-color:#16a06a;background:color-mix(in srgb,#e8fff4,var(--paper) 35%);box-shadow:0 0 0 2px #16a06a20}.dark .product-catalog article.selected{background:#0b3b45}.product-catalog article>input[type=checkbox]{position:absolute;z-index:1;top:7px;left:7px;width:20px;height:20px;margin:0;accent-color:#149966;cursor:pointer}.product-catalog article>img,.product-catalog article>.thumb{width:50px;height:50px;border-radius:9px;object-fit:cover}.product-card-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.product-card-copy b{font-size:9px;color:#0873cc}.product-card-copy small{display:-webkit-box;overflow:hidden;color:var(--ink);font-size:10px;font-weight:600;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.product-card-qty{grid-column:1/-1;display:grid;grid-template-columns:29px 48px 29px;justify-content:end;gap:4px}.product-card-qty button{display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--paper-2);color:#0875d4;cursor:pointer}.product-card-qty input{height:29px;padding:3px;text-align:center;font-size:10px}.product-no-result{grid-column:1/-1;padding:35px;color:var(--muted);font-size:11px;text-align:center}.cart-heading{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.cart-heading>span{font-size:11px;font-weight:700}.cart-heading svg{margin-right:6px;color:#159767}@media(max-width:820px){.product-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.product-picker{margin:0 -5px;padding:12px}.product-catalog{grid-template-columns:1fr;max-height:430px}.product-picker-head small,.cart-heading small{display:none}.chosen>div{grid-template-columns:minmax(0,1fr) 70px 30px;padding:9px}.chosen input{min-width:0}}.actions{display:flex;align-items:center;gap:9px;margin:34px -38px -32px;padding:20px 38px;background:var(--navy);color:#fff}.action-hint{margin-right:auto;font-size:10px;opacity:.62}.action-hint svg{margin-right:7px;color:#53d08c}.actions button{border:1px solid #ffffff35;background:transparent;color:#fff;padding:11px 16px;font-size:11px;font-weight:700;cursor:pointer}.actions .primary{background:var(--red);border-color:var(--red);min-width:165px}.actions .primary:hover{background:#ec4a40}.actions .danger{color:#ffaaa4;border-color:#b75953}.actions button:disabled{opacity:.5}.toast{position:fixed;z-index:20;right:25px;top:25px;padding:13px 18px;background:#16845b;color:#fff;box-shadow:9px 9px #0a5e3e38;font-size:12px;animation:slide .3s ease}.toast.error{background:var(--red)}.locked{padding:13px 18px;margin-bottom:12px;border-left:4px solid #2377bd;background:#e5f2ff;color:#185a91;font-size:12px}.locked-form fieldset{opacity:.72}footer{position:relative;display:flex;justify-content:space-between;align-items:center;padding:23px 3px 0;color:var(--muted)}footer p{font-family:Fraunces,serif;font-size:12px;margin:0}footer span{color:var(--muted)}.attendance-page{position:relative;animation:rise .5s .08s ease both}.attendance-hero{display:flex;justify-content:space-between;align-items:end;padding:30px 35px;background:var(--navy);color:#fff;border-left:5px solid var(--red)}.attendance-hero>div:first-child>span{font-size:9px;letter-spacing:.2em;color:#f06c62;font-weight:700}.attendance-hero h2{display:block;font:700 29px Fraunces;text-transform:none;letter-spacing:-.02em;color:#fff;margin:5px 0 4px}.attendance-hero h2:before,.attendance-hero h2:after{display:none}.attendance-hero p{margin:0;color:#ffffff8f;font-size:11px}.attendance-controls{display:flex;align-items:end;gap:8px}.attendance-controls label{display:flex;flex-direction:column;gap:6px;color:#ffffff8f;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.attendance-controls select,.attendance-controls input{width:86px;height:39px;padding:8px;background:#ffffff0e;color:#fff;border-color:#ffffff2c}.attendance-controls select option{color:#172536}.attendance-controls button{height:39px;padding:0 16px;border:0;background:var(--red);color:#fff;font-size:10px;font-weight:700;cursor:pointer}.attendance-controls button svg{margin-right:6px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:18px 0}.stats article{display:flex;align-items:center;gap:14px;padding:20px 22px;background:var(--paper)}.stats article>svg{font-size:19px;color:var(--red)}.stats article span{display:flex;flex-direction:column}.stats small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stats b{font:700 24px Fraunces;line-height:1.2}.stats .warning>svg,.stats .warning b{color:#d8861e}.attendance-sheet{background:var(--paper);border:1px solid var(--line);box-shadow:0 22px 60px #2231420d}.sheet-toolbar{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;border-bottom:1px solid var(--line)}.sheet-toolbar>div{display:flex;flex-direction:column;gap:3px}.sheet-toolbar b{font:600 16px Fraunces}.sheet-toolbar small{font-size:9px;color:var(--muted)}.sheet-toolbar label{position:relative;width:280px}.sheet-toolbar label svg{position:absolute;left:12px;top:12px;color:var(--muted)}.sheet-toolbar input{padding-left:34px}.table-wrap{overflow:auto;max-height:590px}.table-wrap table{border-collapse:separate;border-spacing:0;min-width:max-content;width:100%;font-size:10px}.table-wrap th{position:sticky;top:0;z-index:3;background:color-mix(in srgb,var(--paper),var(--line) 17%);color:var(--muted);border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:9px 7px;min-width:72px}.table-wrap th b,.table-wrap th small{display:block}.table-wrap th small{font-size:7px;letter-spacing:.1em;margin-top:4px}.table-wrap td{height:48px;text-align:center;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--paper-2)}.table-wrap td>span{display:inline-block;font-size:9px;padding:0 4px}.table-wrap td>span+span{border-left:1px solid var(--line)}.table-wrap td>i{color:var(--line)}.table-wrap .sticky{position:sticky;left:0;z-index:2}.table-wrap th.sticky{z-index:4}.table-wrap .employee{min-width:230px;text-align:left;padding-left:15px;background:var(--paper)}.table-wrap td.employee{display:flex;align-items:center;gap:10px}.table-wrap td.employee>span:not(.avatar){display:flex;flex-direction:column}.table-wrap td.employee small{color:var(--muted);margin-top:2px}.avatar{display:grid!important;place-items:center;width:27px;height:27px;padding:0!important;background:var(--navy);color:#fff}.table-wrap td.incomplete{background:#fff0df;color:#b6610d}.dark .table-wrap td.incomplete{background:#382a1c;color:#f2a94e}.no-data{text-align:center;padding:45px;color:var(--muted);font-size:12px}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes slide{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:820px){.app{padding:24px 16px}.grid{grid-template-columns:1fr 1fr}.system-status{display:none}.search{align-items:flex-start;flex-direction:column;gap:18px}.searchbox{width:100%}.search:after{right:10%}form{padding-left:24px;padding-right:24px}.form-heading,.actions{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}.action-hint{display:none}.attendance-hero{align-items:flex-start;flex-direction:column;gap:22px}.stats{grid-template-columns:1fr 1fr}}@media(max-width:540px){.app{padding:18px 10px}.brand h1{font-size:25px}.brand p,.eyebrow{display:none}.logo{width:43px;height:50px}.main-nav{width:100%}.main-nav a{min-width:0;flex:1;padding:9px}.main-nav a small{display:none}.grid{grid-template-columns:1fr}.search{padding:22px 18px;border-left-width:4px}.searchbox button{font-size:0;padding:0 17px}.searchbox button svg{font-size:13px}.form-heading{align-items:flex-start}.form-heading p{display:none}form{padding-left:17px;padding-right:17px}.form-heading{margin-left:-17px;margin-right:-17px;padding-left:17px;padding-right:17px}.actions{margin-left:-17px;margin-right:-17px;padding:16px 17px;flex-wrap:wrap}.actions button{flex:1}.actions .primary{min-width:100%}footer p{display:none}.attendance-hero{padding:24px 18px}.attendance-controls{width:100%;flex-wrap:wrap}.attendance-controls label{flex:1}.attendance-controls select,.attendance-controls input,.attendance-controls button{width:100%}.stats article{padding:15px 12px}.stats b{font-size:20px}.sheet-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.sheet-toolbar label{width:100%}}.attendance-controls button.export-button{background:transparent;border:1px solid #ffffff4a}.attendance-controls button.export-button:hover{background:#ffffff12}.attendance-controls button:disabled{opacity:.55;cursor:wait}.logo{width:78px;height:66px;clip-path:none;overflow:visible;background:transparent;border:0;box-shadow:none;filter:none}.logo img{display:block;width:100%;height:100%;object-fit:contain}@media(max-width:540px){.logo{width:50px;height:50px}}.employee-chip{display:flex;flex-direction:column;align-items:flex-end;padding-right:4px}.employee-chip b{font-size:12px}.employee-chip small{margin-top:3px;color:var(--muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.employee-gate{position:relative;width:min(470px,calc(100vw - 32px));margin:8vh auto 0;padding:38px;background:color-mix(in srgb,var(--paper),transparent 4%);border:1px solid var(--line);box-shadow:0 32px 90px #13253826;animation:rise .55s ease both}.employee-gate:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--red),#ef806d 55%,transparent)}.gate-brand{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.2em}.gate-copy{margin:34px 0 28px}.gate-copy>span{color:var(--red);font-size:9px;font-weight:700;letter-spacing:.22em}.gate-copy h1{margin:8px 0 10px;font-family:Fraunces,serif;font-size:39px;letter-spacing:-.035em}.gate-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.employee-gate form{padding:0;animation:none}.employee-gate label>span{display:block;margin-bottom:8px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.employee-gate label>div{display:flex;align-items:center;gap:11px;padding:0 14px;border:1px solid var(--line);background:var(--paper)}.employee-gate label svg{color:var(--red)}.employee-gate input{width:100%;padding:14px 0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit}.employee-gate button{width:100%;margin-top:14px}.employee-gate>small{display:block;margin-top:18px;color:var(--muted);font-size:10px;text-align:center}.gate-error{margin:10px 0 0;color:var(--red);font-size:11px}@media(max-width:540px){.employee-gate{margin-top:3vh;padding:28px 22px}.gate-copy h1{font-size:32px}.employee-chip{display:none}}:root{color:#071b3f;background:#eaf4ff}.app{--paper:#ffffffd9;--paper-2:#f5faff;--ink:#071b3f;--muted:#61718d;--line:#cbdcf0;--red:#087bea;--red-deep:#064aa9;--navy:#061b46;--cyan:#00b9f2;--glow:#0a88ff;overflow-x:hidden;overflow-y:auto;background:radial-gradient(circle at 84% 4%,#b8eaff 0,transparent 25%),radial-gradient(circle at 7% 72%,#d7e7ff 0,transparent 23%),linear-gradient(135deg,#f8fcff,#eaf5ff 48%,#f8fbff)}.app.dark{--paper:#0b2248e8;--paper-2:#0d2953;--ink:#f5fbff;--muted:#9db2cf;--line:#294a75;--navy:#04142f;--cyan:#20c7ff;background:radial-gradient(circle at 82% 0,#0c4d8c 0,transparent 28%),radial-gradient(circle at 4% 75%,#082f6a 0,transparent 22%),linear-gradient(135deg,#020b1d,#061a38 55%,#041126)}.app:before{opacity:.34;background-image:linear-gradient(#168ce30b 1px,transparent 1px),linear-gradient(90deg,#168ce30b 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 82%);mask-image:linear-gradient(to bottom,#000,transparent 82%)}.ambient{border-radius:50%}.ambient-one{width:560px;height:560px;top:-385px;right:-90px;border:1px solid #109cff4c;box-shadow:0 0 0 70px #0a8fff0a,0 0 0 140px #0a8fff08,0 0 90px #00b9f225}.ambient-two{width:260px;height:260px;left:-180px;top:600px;background:transparent;border:1px solid #087bea30;box-shadow:0 0 0 38px #087bea08}header{margin-bottom:31px}.brand{gap:20px}.logo{width:104px;height:78px;filter:drop-shadow(0 10px 18px #0752aa22)}.eyebrow,.search-copy>span,.form-heading span,footer span,.gate-copy>span{color:var(--red)}.brand h1,.form-heading h3,.search-copy b,.attendance-hero h2,.stats b,.sheet-toolbar b,.gate-copy h1{font-family:Be Vietnam Pro,sans-serif}.brand h1{font-size:30px;font-weight:700;letter-spacing:-.045em}.brand p{font-size:11px}.header-side{gap:14px}.employee-chip{padding:8px 15px;border-right:1px solid var(--line)}.employee-chip b{font-size:11px;color:var(--ink)}.tools button{border-radius:12px;background:var(--paper);box-shadow:0 5px 16px #052c6210}.tools button:hover{color:var(--cyan);border-color:var(--cyan);box-shadow:0 8px 22px #008dd72c}.main-nav{gap:5px;margin-bottom:24px;padding:5px;border-radius:16px;background:#ffffff8c;box-shadow:0 12px 32px #093a7210;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.dark .main-nav{background:#071c3bab}.main-nav a{min-width:220px;border-radius:11px;padding:11px 16px}.main-nav a:hover{color:var(--red);background:#0c8ff00b}.main-nav a.active{background:linear-gradient(135deg,#05265e,#087ee0);border-color:#178ddd;color:#fff;box-shadow:0 8px 22px #0869c43a}.main-nav a.active>svg{color:#6fddff}.search,form,.attendance-sheet{border-color:#c6daef;border-radius:18px;background:var(--paper);box-shadow:0 24px 70px #0a4c8c13;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dark .search,.dark form,.dark .attendance-sheet{border-color:#234875}.search{min-height:130px;border-left:0;padding:28px 32px;overflow:hidden}.search:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(var(--cyan),var(--red))}.search:after{content:"✦";right:44%;font-family:inherit;color:var(--red);opacity:.055;transform:rotate(12deg)}.search-copy b{font-weight:700;letter-spacing:-.02em}.searchbox input{border-radius:12px 0 0 12px}.searchbox button{border-radius:0 12px 12px 0;background:linear-gradient(135deg,#063479,#087ee0)}.searchbox button:hover{background:linear-gradient(135deg,#087ee0,#00a8e8)}input,select{border-color:var(--line);border-radius:10px;background:var(--paper-2);padding:12px 14px}.dark input,.dark select{color-scheme:dark}input:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #00aeea1c,0 5px 15px #0972d211}.field>span{color:#536985}.dark .field>span{color:var(--muted)}input[readonly]{background:#eaf2fb}.dark input[readonly]{background:#0a2145}form{overflow:visible}.form-heading{border-radius:18px 18px 0 0;background:linear-gradient(90deg,#eef8ff,#f9fcff);border-color:var(--line)}.dark .form-heading{background:linear-gradient(90deg,#0a2854,#0b2348)}.form-heading h3{font-weight:700;letter-spacing:-.035em}h2{color:#12335e}.dark h2{color:#e8f4ff}h2:before{border-radius:9px;background:linear-gradient(145deg,#00baf2,#0866db);box-shadow:0 6px 14px #087bea2c}h2:after{background:linear-gradient(90deg,var(--line),transparent)}.product-search>svg{color:var(--red)}.results{border-radius:12px;overflow:hidden;box-shadow:0 18px 42px #062a5a28}.results button:hover{background:#e8f6ff}.dark .results button:hover{background:#0c315f}.thumb{border-radius:9px;background:linear-gradient(145deg,#06295f,#0987e5)}.empty,.chosen{border-radius:12px}.chosen{overflow:hidden}.chosen button{color:var(--red)}.actions{border-radius:0 0 18px 18px;background:linear-gradient(110deg,#041a42,#073b7c);position:relative;overflow:hidden}.actions:after{content:"";position:absolute;width:210px;height:210px;right:-135px;top:-145px;border:1px solid #48caff40;border-radius:50%;box-shadow:0 0 0 28px #48caff0a}.actions button{position:relative;z-index:1;border-radius:10px}.actions .primary{background:linear-gradient(135deg,#079ce9,#0865d8);border-color:#159be5;box-shadow:0 8px 20px #0076d23d}.actions .primary:hover{background:linear-gradient(135deg,#18b9f2,#087bea)}.actions .danger{color:#ffc4c4}.toast{border-radius:12px;background:#0876d9;box-shadow:0 12px 30px #064da53d}.toast.error{background:#d93b4f}.locked{border-radius:10px;border-color:#0b8cea;background:#e7f5ff;color:#07569c}.dark .locked{background:#0a315e;color:#a9dcff}.attendance-hero{border:0;border-radius:18px;padding:32px 35px;background:radial-gradient(circle at 85% 0,#0b92e6 0,transparent 31%),linear-gradient(125deg,#03163b,#063e82);box-shadow:0 22px 60px #07376d24;overflow:hidden;position:relative}.attendance-hero:after{content:"";position:absolute;width:280px;height:280px;right:-130px;bottom:-235px;border:1px solid #53d7ff66;border-radius:50%;box-shadow:0 0 0 35px #39c8ff0b,0 0 0 70px #39c8ff08}.attendance-hero>div{position:relative;z-index:1}.attendance-hero>div:first-child>span{color:#6fe3ff}.attendance-hero h2{font-weight:700;letter-spacing:-.045em}.attendance-controls select,.attendance-controls input{border-radius:9px}.attendance-controls button{border-radius:9px;background:linear-gradient(135deg,#10b8ec,#0871da)}.stats{gap:12px;background:transparent;border:0}.stats article{border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px #0733660d}.stats article>svg{color:var(--red)}.stats b{font-weight:700;color:#092e67}.dark .stats b{color:#fff}.attendance-sheet{overflow:hidden}.sheet-toolbar{background:linear-gradient(90deg,#f5fbff,#fff)}.dark .sheet-toolbar{background:linear-gradient(90deg,#0a2853,#0b2348)}.table-wrap th{background:#eaf5ff;color:#395a7f}.dark .table-wrap th{background:#0b2a55;color:#aec4dd}.table-wrap .employee{background:var(--paper)}.avatar{border-radius:9px;background:linear-gradient(145deg,#082d69,#0797e4)}.table-wrap td.incomplete{background:#fff5df;color:#a55c04}.employee-gate{width:min(510px,calc(100vw - 32px));margin:7vh auto 0;padding:42px;border-radius:22px;border-color:#c5ddf2;background:#ffffffdc;box-shadow:0 35px 100px #07498b24;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden}.dark .employee-gate{background:#071d40e8;border-color:#24517f}.employee-gate:before{height:6px;background:linear-gradient(90deg,#06357d,#0797e9,#3ad8ff)}.employee-gate:after{content:"";position:absolute;width:310px;height:310px;right:-220px;top:-180px;border:1px solid #0797e952;border-radius:50%;box-shadow:0 0 0 45px #0797e909,0 0 0 90px #0797e906}.gate-brand{position:relative;z-index:1;color:#46627e}.gate-brand .logo{width:112px;height:78px}.gate-copy{position:relative;z-index:1}.gate-copy h1{font-size:38px;font-weight:700;color:#062c67}.dark .gate-copy h1{color:#fff}.employee-gate form{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.employee-gate label>div{border-radius:12px;background:var(--paper-2)}.employee-gate label svg{color:var(--cyan)}.employee-gate button{border:0;border-radius:12px;padding:14px;background:linear-gradient(135deg,#062d6d,#078de7);color:#fff;box-shadow:0 12px 25px #0875cd32;cursor:pointer}.employee-gate button:hover{transform:translateY(-2px);box-shadow:0 16px 30px #0875cd46}.gate-error{color:#d5354c}footer{padding-top:28px}footer span{color:#55708c}@media(max-width:820px){.logo{width:82px;height:65px}.employee-chip{display:none}.main-nav a{min-width:190px}.search,.attendance-hero{border-radius:16px}}@media(max-width:540px){.app{padding:16px 10px}.logo{width:70px;height:54px}.main-nav{border-radius:13px}.main-nav a{border-radius:9px}.search{padding:22px 18px}.searchbox input{border-radius:10px 0 0 10px}.searchbox button{border-radius:0 10px 10px 0}.employee-gate{padding:30px 22px;border-radius:18px}.gate-brand .logo{width:92px;height:66px}.gate-copy h1{font-size:31px}.stats{gap:8px}.stats article{border-radius:11px}.attendance-hero{padding:26px 19px}}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,#087bea 50%),linear-gradient(135deg,#087bea 50%,transparent 50%),linear-gradient(90deg,var(--line),var(--line));background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%,calc(100% - 38px) 50%;background-size:5px 5px,5px 5px,1px 22px;background-repeat:no-repeat;cursor:pointer}select:hover{border-color:#81b9e9;background-color:#f9fcff}.dark select:hover{background-color:#102e59}select:disabled{cursor:not-allowed;opacity:.65}select.auto-identified:disabled{color:#28649c;border-color:#b9d8ef;background-color:#e9f6ff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230879d8' stroke-width='2'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");background-position:calc(100% - 12px) 50%;background-size:18px;background-repeat:no-repeat;opacity:1}.dark select.auto-identified:disabled{color:#a9d7ff;border-color:#275886;background-color:#0a315c}.employee-context{display:flex;align-items:center;gap:13px;margin:22px 0 4px;padding:15px 18px;border:1px solid #c9e2f4;border-radius:13px;background:linear-gradient(100deg,#edf8ff,#fafdff)}.dark .employee-context{border-color:#28537f;background:linear-gradient(100deg,#0a2d5a,#0b2449)}.employee-context .avatar{flex:0 0 auto;width:38px;height:38px;border-radius:11px;font-size:13px;box-shadow:0 7px 16px #087bea2c}.employee-context>div{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:10px}.employee-context small{grid-column:1/-1;margin-bottom:2px;color:var(--red);font-size:8px;font-weight:700;letter-spacing:.15em}.employee-context b{font-size:12px}.employee-context p{margin:0;color:var(--muted);font-size:10px}.field select:disabled+.field{opacity:1}@media(max-width:540px){.employee-context{margin-top:18px;padding:13px}.employee-context>div{display:flex;flex-direction:column;align-items:flex-start}.employee-context p{margin-top:3px}}.field{position:relative}.field:has(.search-select.open){z-index:12}.search-select{position:relative}.search-select>input{padding-right:42px;cursor:pointer}.search-select.open>input{cursor:text;border-color:var(--cyan);box-shadow:0 0 0 3px #00aeea1c,0 5px 15px #0972d211}.select-chevron{position:absolute;right:15px;top:50%;transform:translateY(-50%);pointer-events:none;color:#087bea;font-size:11px;transition:transform .2s}.search-select.open .select-chevron{transform:translateY(-50%) rotate(180deg);color:var(--cyan)}.search-select.disabled>input{cursor:not-allowed;opacity:.68}.search-select.auto-identified>input{color:#28649c;border-color:#b9d8ef;background:#e9f6ff;opacity:1}.dark .search-select.auto-identified>input{color:#a9d7ff;border-color:#275886;background:#0a315c}.select-menu{position:absolute;z-index:30;top:calc(100% + 7px);left:0;right:0;max-height:260px;overflow-y:auto;padding:6px;border:1px solid #b8d8ef;border-radius:12px;background:#fff;box-shadow:0 20px 48px #052d622b;animation:selectReveal .16s ease both}.dark .select-menu{border-color:#28547f;background:#0a244a;box-shadow:0 22px 52px #0008}.select-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:38px;padding:9px 11px;border:0;border-radius:8px;background:transparent;color:#163b69;text-align:left;font-size:11px;cursor:pointer}.dark .select-menu button{color:#d9ecff}.select-menu button:hover,.select-menu button.active{background:#edf7ff;color:#066cca}.dark .select-menu button:hover,.dark .select-menu button.active{background:#103b6f;color:#6edaff}.select-menu button.selected{font-weight:700;color:#075dac}.select-menu button svg{color:#08a5df;font-size:10px}.select-empty{padding:22px 12px;color:var(--muted);font-size:10px;text-align:center}@keyframes selectReveal{0%{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:540px){.select-menu{max-height:220px}.select-menu button{min-height:42px}}.mobile-attendance{display:none}.employee-gate:after{display:none}.employee-gate form{margin:0;padding:0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;overflow:visible}.employee-gate label{display:block}.employee-gate label>div{padding:0 15px;border:1px solid #c4dbef;border-radius:13px;background:#f4f9fe;box-shadow:none;transition:border-color .2s,box-shadow .2s}.employee-gate label>div:focus-within{border-color:#159ce5;box-shadow:0 0 0 3px #0a9de718}.employee-gate label svg{flex:0 0 auto}.employee-gate input,.employee-gate input:focus{padding:14px 0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important}.employee-gate button{margin-top:14px}.dark .employee-gate label>div{border-color:#31567d;background:#0a294f}.dark .employee-gate label>div:focus-within{border-color:#36c8f4;box-shadow:0 0 0 3px #31c9f41a}.attendance-hero{overflow:visible;z-index:6}.attendance-hero:after{display:none}.attendance-controls{position:relative;z-index:10}.attendance-dropdown-menu{z-index:100}@media(max-width:640px){.attendance-controls .attendance-dropdown{width:100%;min-width:0}.attendance-controls .attendance-dropdown>button{height:43px;font-size:14px}.attendance-controls .attendance-dropdown-menu{top:calc(100% + 6px);max-height:220px}.attendance-controls .attendance-dropdown-menu button{min-height:42px;font-size:13px}}.attendance-dropdown{position:relative;z-index:5;display:flex;flex-direction:column;gap:6px;min-width:86px;color:#ffffff8f;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.attendance-dropdown.open{z-index:20}.attendance-dropdown>button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:39px;padding:0 11px;border:1px solid #ffffff2c;border-radius:9px;background:#ffffff0e;color:#fff;font-size:11px;font-weight:600;cursor:pointer}.attendance-dropdown>button svg{margin:0;font-size:9px;transition:transform .2s}.attendance-dropdown.open>button{border-color:#65d8ff;background:#ffffff18}.attendance-dropdown.open>button svg{transform:rotate(180deg)}.attendance-dropdown-menu{position:absolute;z-index:30;top:calc(100% + 7px);left:0;right:0;max-height:230px;overflow:auto;padding:5px;border:1px solid #b8d9f2;border-radius:11px;background:#fff;box-shadow:0 18px 42px #02152f55;scrollbar-width:none}.attendance-dropdown-menu::-webkit-scrollbar{display:none;width:0;height:0}.attendance-dropdown-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:#173d6c;font-size:11px;cursor:pointer}.attendance-dropdown-menu button:hover,.attendance-dropdown-menu button.selected{background:#eaf6ff;color:#0872d5}.attendance-dropdown-menu button svg{margin:0;color:#079bdc}.dark .attendance-dropdown-menu{border-color:#315b84;background:#0a264c}.dark .attendance-dropdown-menu button{color:#d9ecff}.dark .attendance-dropdown-menu button:hover,.dark .attendance-dropdown-menu button.selected{background:#103c70;color:#68d7ff}@media(max-width:640px){html,body,.app,.select-menu{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar,.app::-webkit-scrollbar,.select-menu::-webkit-scrollbar{display:none;width:0;height:0}.app{width:100%;padding:12px 10px 22px;overflow-x:hidden}header{align-items:center;margin-bottom:18px}.brand{gap:10px;min-width:0}.brand .logo{width:64px;height:48px}.brand h1{font-size:20px;white-space:nowrap}.header-side{margin-left:auto}.tools{gap:5px}.tools button{width:36px;height:36px;border-radius:10px}.main-nav{position:relative;width:100%;margin:0 0 16px;padding:4px;gap:4px}.main-nav a{justify-content:center;min-width:0;padding:10px 6px}.main-nav a span{display:block}.main-nav a b{font-size:10px}.main-nav a small{display:none}.search{min-height:0;margin-bottom:14px;padding:18px 15px}.search-copy{display:none}.searchbox{width:100%}.searchbox input{min-width:0}.searchbox button{padding:0 15px}form{padding:0 14px 24px;border-radius:15px;overflow:visible}fieldset{overflow:visible}.form-heading{margin:0 -14px 18px;padding:18px 14px 15px;border-radius:15px 15px 0 0}.form-heading h3{font-size:19px}.employee-context{margin:14px 0 2px}.grid{grid-template-columns:minmax(0,1fr);gap:13px;overflow:visible}.field,.search-select{min-width:0}.field:has(.search-select.open){z-index:1000}input,select{font-size:16px;padding:12px}.actions{position:sticky;z-index:15;bottom:0;margin:25px -14px -24px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-radius:0 0 15px 15px}.actions button{min-height:43px}.actions .primary{width:100%}footer{padding:20px 2px 0}.attendance-page{width:100%;min-width:0}.attendance-hero{display:block;padding:22px 16px;border-radius:15px}.attendance-hero h2{font-size:22px;line-height:1.25;margin-top:7px}.attendance-hero p{line-height:1.5}.attendance-controls{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:19px;gap:8px}.attendance-controls label{min-width:0}.attendance-controls select,.attendance-controls input{width:100%;height:43px;font-size:16px}.attendance-controls button{width:100%;height:43px;padding:0 8px}.attendance-controls .export-button{grid-column:1/2}.stats{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.stats article{min-width:0;padding:13px 11px;gap:9px}.stats article>svg{font-size:15px}.stats small{font-size:7px;letter-spacing:.04em}.stats b{font-size:19px}.attendance-sheet{border-radius:15px;overflow:hidden}.sheet-toolbar{padding:15px 14px}.sheet-toolbar label{display:none}.sheet-toolbar b{font-size:14px}.table-wrap{display:none}.mobile-attendance{display:grid;grid-template-columns:1fr;gap:8px;padding:10px;background:color-mix(in srgb,var(--paper),var(--line) 8%)}.mobile-attendance article{display:grid;grid-template-columns:58px 1fr;align-items:center;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);overflow:hidden}.mobile-attendance article.incomplete{border-color:#e4a653;background:#fff7e8}.dark .mobile-attendance article.incomplete{background:#3b2b17}.mobile-day{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;padding:11px 7px;background:#e9f5ff;border-right:1px solid var(--line)}.dark .mobile-day{background:#0b2c58}.mobile-day b{font-size:18px;color:#0869c8}.dark .mobile-day b{color:#65ccff}.mobile-day span{margin-top:1px;color:var(--muted);font-size:8px;text-transform:uppercase}.mobile-punch{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;padding:10px 12px}.mobile-punch>i{width:1px;height:27px;background:var(--line)}.mobile-punch>span{display:flex;flex-direction:column;align-items:center;gap:3px}.mobile-punch small{color:var(--muted);font-size:7px;letter-spacing:.08em}.mobile-punch b{font-size:13px;color:var(--ink)}.mobile-attendance .no-data{grid-column:1/-1;padding:35px 12px}.select-menu{position:absolute;z-index:1001;left:0;right:0;top:calc(100% + 6px);bottom:auto;max-height:240px;border-radius:13px;padding:7px;box-shadow:0 18px 45px #031b3f42}.select-menu button{min-height:46px;padding:11px 13px}.employee-gate{width:calc(100vw - 20px);margin:12px auto 0;padding:26px 18px}.gate-brand .logo{width:86px;height:62px}.gate-copy{margin:24px 0 20px}.gate-copy h1{font-size:28px}}.dashboard-page,.dashboard-page button,.dashboard-page input,.dashboard-page h2,.dashboard-page b,.dashboard-page small,.dashboard-page em{font-family:Be Vietnam Pro,sans-serif}.dashboard-loading{display:grid;place-items:center;min-height:360px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--muted);font-size:12px}.dashboard-loading svg{margin-right:8px;color:var(--red)}.dashboard-page{position:relative;animation:rise .5s .06s ease both}.dashboard-head{position:relative;z-index:8;display:flex;align-items:flex-end;justify-content:space-between;padding:30px 34px;border-radius:19px;background:radial-gradient(circle at 88% -30%,#12bff080 0,transparent 35%),linear-gradient(125deg,#031538,#064484);color:#fff;box-shadow:0 22px 60px #06366f24}.dashboard-head>div:first-child>span,.chart-card header small,.dashboard-bottom header small,.attendance-card-title small{font-size:8px;font-weight:700;letter-spacing:.18em;color:#61dcff}.dashboard-head h2{display:block;margin:7px 0 5px;color:#fff;font-size:28px;letter-spacing:-.045em;text-transform:none}.dashboard-head h2:before,.dashboard-head h2:after{display:none}.dashboard-head p{margin:0;color:#ffffffa3;font-size:11px}.dashboard-filters{display:flex;align-items:flex-end;gap:8px}.dashboard-date{display:flex;flex-direction:column;gap:6px}.dashboard-date>span{color:#ffffff9c;font-size:8px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.dashboard-date input{width:138px;height:41px;border-color:#ffffff36;background:#ffffff12;color:#fff;color-scheme:dark;font-size:11px}.dashboard-filter{position:relative;display:flex;flex-direction:column;gap:6px;min-width:86px}.dashboard-filter>span{color:#ffffff9c;font-size:8px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.dashboard-filter>button,.dashboard-refresh{display:flex;align-items:center;justify-content:space-between;height:41px;padding:0 12px;border:1px solid #ffffff36;border-radius:10px;background:#ffffff12;color:#fff;font-size:11px;font-weight:700;cursor:pointer}.dashboard-filter>button svg{margin-left:18px;font-size:9px;transition:.2s}.dashboard-filter.open>button svg{transform:rotate(180deg)}.dashboard-filter>div{position:absolute;z-index:40;top:calc(100% + 7px);left:0;right:0;min-width:190px;max-height:240px;overflow:auto;padding:5px;border:1px solid #c2dcf0;border-radius:11px;background:#fff;box-shadow:0 18px 40px #00152d66;scrollbar-width:none}.dashboard-filter>div>input{position:sticky;top:0;z-index:1;margin-bottom:4px;padding:9px;font-size:11px}.dashboard-filter>div button{display:block;width:100%;min-height:35px;border:0;border-radius:7px;background:transparent;color:#173d68;font-size:11px;cursor:pointer}.dashboard-filter>div button:hover,.dashboard-filter>div button.selected{background:#e9f6ff;color:#0874d9;font-weight:700}.dashboard-refresh{gap:8px;border:0;background:linear-gradient(135deg,#12b8e9,#0871d9)}.dashboard-refresh:disabled{opacity:.6}.dashboard-filterbar{position:relative;z-index:7;display:flex;align-items:flex-end;gap:9px;margin:12px 0;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.dashboard-filterbar .dashboard-filter{min-width:170px}.dashboard-filterbar .dashboard-filter>span{color:var(--muted)}.dashboard-filterbar .dashboard-filter>button{border-color:var(--line);background:var(--paper-2);color:var(--ink)}.dashboard-scope{align-self:center;margin-right:auto;padding:9px 13px;border-radius:9px;background:#e8f6ff;color:#0871cf;font-size:10px;font-weight:700}.dark .dashboard-scope{background:#0b3564;color:#72d9ff}.dark .dashboard-filter>div{border-color:#315b84;background:#0a264c}.dark .dashboard-filter>div button{color:#d9ecff}.dark .dashboard-filter>div button:hover,.dark .dashboard-filter>div button.selected{background:#103c70;color:#68d7ff}.dashboard-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin:15px 0}.dashboard-kpis article{display:flex;align-items:center;gap:13px;min-width:0;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--paper);box-shadow:0 12px 34px #07376d0d}.dashboard-kpis article>svg{flex:0 0 auto;width:18px;height:18px;padding:10px;border-radius:11px;background:#e5f5ff;color:#0878db}.dark .dashboard-kpis article>svg{background:#0b3566;color:#63d9ff}.dashboard-kpis article>span{display:flex;min-width:0;flex-direction:column}.dashboard-kpis small{overflow:hidden;color:var(--muted);font-size:8px;letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}.dashboard-kpis b{margin:3px 0 2px;color:var(--ink);font-size:21px;letter-spacing:-.04em}.dashboard-kpis em{overflow:hidden;color:var(--muted);font-size:8px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.dashboard-kpis article.warning>svg,.dashboard-kpis article.warning b{color:#d97712}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chart-card{min-width:0;padding:20px 20px 12px;border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:0 16px 42px #07366a0d}.chart-card header,.dashboard-bottom header,.attendance-card-title{display:flex;align-items:center;justify-content:space-between}.chart-card header>span,.dashboard-bottom header>span,.attendance-card-title>span{display:flex;flex-direction:column;gap:3px}.chart-card header b,.dashboard-bottom header b,.attendance-card-title b{color:var(--ink);font-size:14px}.chart-card header em{color:var(--muted);font-size:8px;font-style:normal;text-transform:uppercase}.dashboard-chart{width:100%;height:285px}.trend-card{grid-column:span 2}.trend-card .dashboard-chart{height:310px}.status-card .dashboard-chart{height:285px}.dashboard-bottom{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;margin-top:14px}.attendance-card,.product-card{padding:21px;border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:0 16px 42px #07366a0d}.attendance-card-title>svg,.product-card header>svg{color:var(--red)}.attendance-card>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:19px}.attendance-card>div:last-child>span{display:flex;flex-direction:column;padding:13px;border-radius:11px;background:color-mix(in srgb,var(--paper-2),var(--line) 12%)}.attendance-card small{color:var(--muted);font-size:8px}.attendance-card>div:last-child b{margin-top:5px;font-size:22px}.attendance-card .warning b{color:#d97712}.product-card>div{display:grid;grid-template-columns:1fr 1fr;column-gap:18px;margin-top:13px}.product-card>div>span{display:grid;grid-template-columns:27px 1fr auto;align-items:center;gap:8px;min-width:0;padding:9px 0;border-bottom:1px solid var(--line)}.product-card i{color:#0795df;font-size:9px;font-style:normal;font-weight:700}.product-card>div b{overflow:hidden;color:var(--ink);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.product-card em{color:var(--muted);font-size:10px;font-style:normal;font-weight:700}@media(max-width:900px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-kpis article:last-child{grid-column:span 2}.dashboard-bottom{grid-template-columns:1fr}.main-nav a{min-width:0}}.map-card{grid-column:span 2}.map-card .dashboard-chart{height:460px}.dashboard-date{position:relative;z-index:2}.dashboard-date.open{z-index:50}.dashboard-date>button{display:grid;grid-template-columns:16px 1fr 10px;align-items:center;gap:9px;width:148px;height:41px;padding:0 11px;border:1px solid #ffffff36;border-radius:10px;background:#ffffff12;color:#fff;cursor:pointer}.dashboard-date>button b{font-size:11px;font-weight:600;text-align:left}.dashboard-date>button>svg:first-child{color:#62ddff}.dashboard-date>button>svg:last-child{font-size:9px;transition:transform .2s}.dashboard-date.open>button{border-color:#64dcff;background:#ffffff1d;box-shadow:0 0 0 3px #44cfff14}.dashboard-date.open>button>svg:last-child{transform:rotate(180deg)}.dashboard-calendar{position:absolute;z-index:80;top:calc(100% + 8px);left:0;width:310px;padding:13px;border:1px solid #bfdbef;border-radius:15px;background:#fff;color:#12385f;box-shadow:0 24px 60px #001b3e70;animation:selectReveal .16s ease both}.dashboard-date:nth-child(2) .dashboard-calendar{right:0;left:auto}.calendar-head{display:grid;grid-template-columns:35px 1fr 35px;align-items:center;margin-bottom:10px}.calendar-head strong{text-align:center;font-size:12px}.calendar-head button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:9px;background:#eaf6ff;color:#0875d7;cursor:pointer}.calendar-head button:last-child{justify-self:end}.calendar-head button:hover{background:#d9f0ff;color:#005bae}.calendar-head button:disabled{opacity:.3;cursor:not-allowed}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays span{padding:6px 0;color:#7890a8;font-size:8px;font-weight:700;text-align:center}.calendar-days{gap:3px}.calendar-days>i,.calendar-days>button{aspect-ratio:1}.calendar-days>button{position:relative;border:0;border-radius:9px;background:transparent;color:#173e67;font-size:10px;font-weight:600;cursor:pointer}.calendar-days>button:hover{background:#e4f5ff;color:#0072d5}.calendar-days>button.in-range{border-radius:7px;background:#eaf6ff;color:#0969bd}.calendar-days>button.selected{z-index:1;border-radius:10px;background:linear-gradient(145deg,#09b4ec,#0870d9);color:#fff;box-shadow:0 6px 14px #0878d944}.calendar-days>button:disabled{background:transparent;color:#becbd6;cursor:not-allowed}.calendar-range{display:flex;align-items:center;justify-content:center;gap:9px;margin:11px -13px -13px;padding:10px 12px;border-radius:0 0 14px 14px;background:#eef8ff;color:#557693;font-size:9px;font-weight:600}.calendar-range i{color:#09a7df;font-style:normal}.dark .dashboard-calendar{border-color:#315d87;background:#09264c;color:#eef8ff;box-shadow:0 26px 65px #000b}.dark .calendar-head button{background:#103a6c;color:#65d7ff}.dark .calendar-weekdays span{color:#8eabc8}.dark .calendar-days>button{color:#dceeff}.dark .calendar-days>button:hover,.dark .calendar-days>button.in-range{background:#103d70;color:#6bdcff}.dark .calendar-days>button.selected{background:linear-gradient(145deg,#12b9ec,#0872da);color:#fff}.dark .calendar-days>button:disabled{color:#45627e}.dark .calendar-range{background:#0d315d;color:#a7c2dc}.dashboard-page .chart-card header small,.dashboard-page .dashboard-bottom header small,.dashboard-page .attendance-card-title small{font-size:9px;line-height:1.35;letter-spacing:.14em}.dashboard-page .chart-card header b,.dashboard-page .dashboard-bottom header b,.dashboard-page .attendance-card-title b{font-size:15px;line-height:1.45;letter-spacing:-.015em}.dashboard-page .dashboard-kpis small{font-size:9px;line-height:1.35;letter-spacing:.035em}.dashboard-page .dashboard-kpis b{font-size:22px;font-weight:700;line-height:1.25}.dashboard-page .dashboard-kpis em{font-size:9px;line-height:1.35}.dashboard-page .dashboard-filter>span,.dashboard-page .dashboard-date>span{font-size:9px;letter-spacing:.07em}.dashboard-page .dashboard-filter>button,.dashboard-page .dashboard-date input,.dashboard-page .dashboard-refresh{font-size:12px}@media(max-width:640px){.dashboard-head{display:block;padding:22px 16px;border-radius:15px}.dashboard-head h2{font-size:22px}.dashboard-head p{line-height:1.5}.dashboard-filters{display:grid;grid-template-columns:1fr 1fr;margin-top:18px}.dashboard-date>button{width:100%;font-size:13px}.dashboard-calendar{width:min(310px,calc(100vw - 52px))}.dashboard-date:first-child .dashboard-calendar{right:auto;left:0}.dashboard-date:nth-child(2) .dashboard-calendar{right:0;left:auto}.dashboard-refresh{grid-column:1/-1;justify-content:center;width:100%}.dashboard-filterbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px}.dashboard-filterbar .dashboard-filter{min-width:0}.dashboard-filterbar .dashboard-filter>button{min-width:0;font-size:11px}.dashboard-filterbar .dashboard-filter>div{position:absolute;min-width:220px;max-width:calc(100vw - 40px)}.dashboard-filterbar .dashboard-filter:nth-last-child(-n+2)>div{right:0;left:auto}.dashboard-scope{grid-column:1/-1;width:100%;margin:0}.dashboard-kpis{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.dashboard-kpis article{padding:13px 11px;gap:9px}.dashboard-kpis article:last-child{grid-column:span 2}.dashboard-kpis article>svg{width:14px;height:14px;padding:8px}.dashboard-kpis b{font-size:18px}.dashboard-grid{grid-template-columns:1fr;gap:10px}.trend-card,.map-card{grid-column:auto}.chart-card{padding:16px 12px 8px;border-radius:14px}.dashboard-chart,.trend-card .dashboard-chart,.status-card .dashboard-chart{height:270px}.map-card .dashboard-chart{height:310px}.map-card header em{display:none}.dashboard-bottom{gap:10px;margin-top:10px}.attendance-card,.product-card{padding:16px;border-radius:14px}.attendance-card>div:last-child{gap:5px}.attendance-card>div:last-child>span{padding:10px 8px}.attendance-card>div:last-child b{font-size:18px}.product-card>div{grid-template-columns:1fr}.main-nav a{gap:5px;padding:9px 4px}.main-nav a>svg{font-size:13px}.main-nav a b{font-size:9px}}.product-catalog{padding-right:10px;scrollbar-width:thin;scrollbar-color:#168de0 #dcecf8;scrollbar-gutter:stable}.dark .product-catalog{scrollbar-color:#22bdf0 #0a264c}.product-catalog::-webkit-scrollbar{width:9px}.product-catalog::-webkit-scrollbar-track{border:2px solid transparent;border-radius:999px;background:#dcecf8;background-clip:padding-box}.product-catalog::-webkit-scrollbar-thumb{min-height:48px;border:2px solid transparent;border-radius:999px;background:linear-gradient(180deg,#1bc2ed,#0877dc);background-clip:padding-box}.product-catalog::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#37d5f5,#075fc2);background-clip:padding-box}.dark .product-catalog::-webkit-scrollbar-track{background:#0a264c;background-clip:padding-box}.dark .product-catalog::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#24c9f2,#1180df);background-clip:padding-box}.product-catalog article>input[type=checkbox]{display:grid;place-items:center;width:22px;height:22px;padding:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:2px solid #8da6bd;border-radius:7px;background:#f8fcff;box-shadow:0 2px 7px #042c5d24;accent-color:initial;cursor:pointer;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}.product-catalog article>input[type=checkbox]:after{content:"";width:9px;height:5px;border:solid #fff;border-width:0 0 2px 2px;opacity:0;transform:rotate(-45deg) scale(.55) translate(1px,-1px);transition:opacity .14s,transform .18s}.product-catalog article>input[type=checkbox]:hover{border-color:#0788df;transform:scale(1.06)}.product-catalog article>input[type=checkbox]:focus-visible{outline:0;box-shadow:0 0 0 4px #0a9de52c,0 2px 7px #042c5d24}.product-catalog article>input[type=checkbox]:checked{border-color:#109764;background:linear-gradient(145deg,#23ba7d,#0d8a59);box-shadow:0 3px 9px #08704735}.product-catalog article>input[type=checkbox]:checked:after{opacity:1;transform:rotate(-45deg) scale(1) translate(1px,-1px)}.dark .product-catalog article>input[type=checkbox]{border-color:#6383a4;background:#102d53;box-shadow:0 2px 8px #0006}.dark .product-catalog article>input[type=checkbox]:checked{border-color:#35d69a;background:linear-gradient(145deg,#2acb91,#0b9863)}.app-shell-item,.dashboard-head>*:not(.dashboard-filters),.dashboard-filterbar>*,.dashboard-kpis article,.chart-card,.dashboard-bottom>article,.attendance-hero>*,.stats article,.attendance-sheet{will-change:transform,opacity}header,.main-nav,.search,form,.employee-gate,.attendance-page,.dashboard-page{animation:none}.dashboard-kpis article,.chart-card,.attendance-card,.product-card,.stats article,.product-catalog article{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}@media(hover:hover)and (pointer:fine){.dashboard-kpis article:hover,.stats article:hover{transform:translateY(-4px);box-shadow:0 18px 38px #07376d18}.chart-card:hover,.attendance-card:hover,.product-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--line),#149be8 28%);box-shadow:0 22px 52px #07366a17}.product-catalog article:hover{transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.app-shell-item,.dashboard-head>*,.dashboard-filterbar>*,.dashboard-kpis article,.chart-card,.dashboard-bottom>article,.attendance-hero>*,.stats article,.attendance-sheet{will-change:auto}}.mobile-shell-header{display:contents}.order-date-input{min-width:0;width:100%;font-variant-numeric:tabular-nums}@media(max-width:640px){.app{height:100dvh;min-height:100dvh;overflow-y:auto;padding-top:0}.mobile-shell-header{position:sticky;z-index:1100;top:0;display:block;margin:0 -10px 14px;padding:max(8px,env(safe-area-inset-top)) 10px 8px;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 14%);background:color-mix(in srgb,var(--paper),transparent 5%);box-shadow:0 10px 28px #052d6215;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.mobile-shell-header header{margin:0 0 7px}.mobile-shell-header .brand>div{display:none}.mobile-shell-header .brand .logo{width:70px;height:43px}.mobile-shell-header .main-nav{margin:0;border-color:color-mix(in srgb,var(--line),transparent 10%);background:color-mix(in srgb,var(--paper-2),transparent 8%);box-shadow:none}.mobile-shell-header .main-nav a{min-height:39px;padding:8px 5px}.order-date-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;min-width:0;max-width:100%;height:45px;padding:12px 14px;line-height:20px;text-align:left}}.app{height:100dvh;min-height:100dvh;overflow-y:auto}.mobile-shell-header{position:sticky;z-index:1100;top:0;display:block;margin:0 0 22px;padding:12px 0 10px;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 14%);background:color-mix(in srgb,var(--paper),transparent 5%);box-shadow:0 12px 32px #052d6212;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.mobile-shell-header header{margin:0 0 9px}.mobile-shell-header .main-nav{margin:0}.order-date-picker{position:relative;min-width:0}.order-date-trigger{display:grid;grid-template-columns:18px 1fr 12px;align-items:center;gap:9px;width:100%;height:43px;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s}.order-date-trigger>svg:first-child{color:var(--red)}.order-date-trigger>svg:last-child{color:var(--muted);font-size:10px;transition:transform .2s}.order-date-trigger b{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}.order-date-picker.open{z-index:1050}.order-date-picker.open .order-date-trigger{border-color:var(--cyan);box-shadow:0 0 0 3px #00aeea1c,0 5px 15px #0972d211}.order-date-picker.open .order-date-trigger>svg:last-child{transform:rotate(180deg)}.order-calendar{top:calc(100% + 7px);right:auto;left:0;width:310px}.order-calendar-footer{display:flex;align-items:center;justify-content:space-between;margin:11px -13px -13px;padding:9px 12px;border-radius:0 0 14px 14px;background:#eef8ff}.order-calendar-footer button{padding:6px 9px;border:0;border-radius:8px;background:#d9efff;color:#076abd;font-size:9px;font-weight:700;cursor:pointer}.order-calendar-footer span{color:#557693;font-size:9px;font-weight:700;font-variant-numeric:tabular-nums}.dark .order-calendar-footer{background:#0d315d}.dark .order-calendar-footer button{background:#154476;color:#70dcff}.dark .order-calendar-footer span{color:#afc9e1}@media(min-width:641px){.mobile-shell-header{margin-top:-18px}.mobile-shell-header header{align-items:center}.mobile-shell-header .logo{width:82px;height:58px}.mobile-shell-header .brand h1{font-size:24px}.mobile-shell-header .main-nav a{min-width:200px;padding-top:9px;padding-bottom:9px}}@media(max-width:640px){.mobile-shell-header{margin:0 -10px 14px;padding:max(8px,env(safe-area-inset-top)) 10px 8px}.order-calendar{position:fixed;top:50%;right:auto;left:50%;width:min(320px,calc(100vw - 28px));transform:translate(-50%,-50%);box-shadow:0 28px 80px #001b3e80}.order-date-picker.open:after{content:"";position:fixed;z-index:70;top:0;right:0;bottom:0;left:0;background:#03152e66;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.order-calendar{z-index:80}.order-date-trigger{height:45px;font-size:16px}}@media(min-width:821px){.mobile-shell-header{margin-top:-38px}}@media(min-width:641px)and (max-width:820px){.mobile-shell-header{margin-top:-24px}}.table-wrap,.attendance-dropdown-menu{scrollbar-width:thin;scrollbar-color:#168de0 #dcecf8;scrollbar-gutter:stable}.dark .table-wrap,.dark .attendance-dropdown-menu{scrollbar-color:#22bdf0 #0a264c}.table-wrap::-webkit-scrollbar,.attendance-dropdown-menu::-webkit-scrollbar{display:block;width:9px;height:9px}.table-wrap::-webkit-scrollbar-track,.attendance-dropdown-menu::-webkit-scrollbar-track{border:2px solid transparent;border-radius:999px;background:#dcecf8;background-clip:padding-box}.table-wrap::-webkit-scrollbar-thumb,.attendance-dropdown-menu::-webkit-scrollbar-thumb{min-width:48px;min-height:48px;border:2px solid transparent;border-radius:999px;background:linear-gradient(135deg,#1bc2ed,#0877dc);background-clip:padding-box}.table-wrap::-webkit-scrollbar-thumb:hover,.attendance-dropdown-menu::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#37d5f5,#075fc2);background-clip:padding-box}.table-wrap::-webkit-scrollbar-corner{background:var(--paper)}.dark .table-wrap::-webkit-scrollbar-track,.dark .attendance-dropdown-menu::-webkit-scrollbar-track{background:#0a264c;background-clip:padding-box}.dark .table-wrap::-webkit-scrollbar-thumb,.dark .attendance-dropdown-menu::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#24c9f2,#1180df);background-clip:padding-box}.app{--app-gutter:max(28px, calc((100vw - 1220px)/2) );padding-top:0}.mobile-shell-header{top:0;margin:0 calc(-1 * var(--app-gutter)) 24px;padding:10px var(--app-gutter);border:0;border-bottom:1px solid #bed5eb;background:color-mix(in srgb,var(--paper),transparent 2%);box-shadow:0 12px 30px #052d6212}.dark .mobile-shell-header{border-bottom-color:#244b75;background:color-mix(in srgb,var(--paper),transparent 2%)}.mobile-shell-header>header{margin:0}.mobile-shell-header .main-nav{margin:0;width:100%;box-shadow:none}.mobile-shell-header .main-nav a{min-width:0}@media(min-width:961px){.mobile-shell-header>header{display:grid;grid-template-columns:minmax(230px,auto) minmax(430px,610px) minmax(210px,auto);align-items:center;gap:24px}.mobile-shell-header .brand{gap:12px}.mobile-shell-header .brand .logo{width:62px;height:48px}.mobile-shell-header .brand h1{margin:2px 0 0;font-size:18px;white-space:nowrap}.mobile-shell-header .brand p{display:none}.mobile-shell-header .brand .eyebrow{font-size:7px}.mobile-shell-header .main-nav{justify-self:center;padding:4px;border-radius:14px}.mobile-shell-header .main-nav a{justify-content:center;gap:8px;padding:9px 10px}.mobile-shell-header .main-nav a b{font-size:10px}.mobile-shell-header .main-nav a small{font-size:8px}.mobile-shell-header .header-side{justify-self:end}.mobile-shell-header .employee-chip{padding:6px 12px}.mobile-shell-header .tools button{width:37px;height:37px}}@media(min-width:641px)and (max-width:960px){.app{--app-gutter:24px}.mobile-shell-header>header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 16px}.mobile-shell-header .brand .logo{width:66px;height:48px}.mobile-shell-header .brand h1{font-size:19px}.mobile-shell-header .main-nav{grid-column:1/-1;grid-row:2}.mobile-shell-header .main-nav a{justify-content:center}}@media(max-width:640px){.app{--app-gutter:10px}.mobile-shell-header{margin:0 -10px 14px;padding:max(8px,env(safe-area-inset-top)) 10px 8px}.mobile-shell-header>header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px}.mobile-shell-header .main-nav{grid-column:1/-1;grid-row:2}.mobile-shell-header .header-side{grid-column:2;grid-row:1}}.mobile-shell-header .main-nav a{flex:1 1 0;width:0}.mobile-shell-header .main-nav a span{min-width:0;text-align:left}.toast{z-index:1090;top:82px;right:max(18px,var(--app-gutter));max-width:min(390px,calc(100vw - 28px))}@media(max-width:960px){.toast{top:124px}}@media(max-width:640px){.mobile-shell-header .main-nav a span{text-align:center}.toast{top:calc(max(8px,env(safe-area-inset-top)) + 100px);right:14px;left:14px;max-width:none;text-align:center}}.required-mark{display:inline-block;margin-left:3px;color:#e03d4f;font-size:13px;font-weight:800;line-height:0;vertical-align:baseline}.dark .required-mark{color:#ff7d8b}@media(max-width:640px){.mobile-shell-header .main-nav{gap:3px;padding:3px}.mobile-shell-header .main-nav a{min-height:34px;gap:5px;padding:6px 4px;white-space:nowrap}.mobile-shell-header .main-nav a>svg{font-size:11px}.mobile-shell-header .main-nav a span{display:block;overflow:hidden;font-size:0;line-height:1;text-overflow:ellipsis;white-space:nowrap}.mobile-shell-header .main-nav a span>b,.mobile-shell-header .main-nav a span>small{display:none}.mobile-shell-header .main-nav a span:after{content:attr(data-mobile-label);font-size:9px;font-weight:700;line-height:1;letter-spacing:-.01em}}@media(max-width:360px){.mobile-shell-header .main-nav a{gap:3px;padding-inline:2px}.mobile-shell-header .main-nav a span:after{font-size:8px}.mobile-shell-header .main-nav a>svg{font-size:10px}}.actions-end-sentinel{display:block;width:1px;height:1px;pointer-events:none}@media(max-width:640px){.actions{bottom:0;transition:background .24s ease,border-color .24s ease,box-shadow .24s ease,color .24s ease}.actions.is-floating{margin-right:-14px;margin-bottom:-24px;margin-left:-14px;padding:10px 14px max(10px,env(safe-area-inset-bottom));border-top:1px solid color-mix(in srgb,var(--line),#159be5 24%);border-radius:14px 14px 0 0;background:color-mix(in srgb,var(--paper),transparent 4%);color:var(--ink);box-shadow:0 -12px 30px #052d6218;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.actions.is-floating:after{display:none}.actions.is-floating .primary{background:linear-gradient(135deg,#0ba8e9,#0875dd);border-color:#2bb7eb;box-shadow:0 8px 20px #0875cd30}.actions.is-floating button:not(.primary){border-color:var(--line);color:var(--ink)}.actions.is-floating button.danger{border-color:#e4a8ae;color:#cf4050}.dark .actions.is-floating{border-top-color:#2a5c88;background:color-mix(in srgb,var(--paper),transparent 3%);box-shadow:0 -14px 34px #0007}.dark .actions.is-floating button:not(.primary){border-color:#3a5b7c;color:#e9f4ff}.dark .actions.is-floating button.danger{border-color:#824650;color:#ff9ca7}.actions.at-form-end{transition-duration:.3s}.actions-end-sentinel{margin-bottom:-1px}}@media(max-width:640px){.mobile-shell-header{padding-bottom:7px}.mobile-shell-header>header{grid-template-columns:44px minmax(0,1fr) auto;gap:5px}.mobile-shell-header .brand{grid-column:1;grid-row:1;min-width:0}.mobile-shell-header .brand .logo{width:44px;height:36px}.mobile-shell-header .main-nav{grid-column:2;grid-row:1;min-width:0;padding:3px}.mobile-shell-header .header-side{grid-column:3;grid-row:1}.mobile-shell-header .tools{gap:3px}.mobile-shell-header .tools button{width:32px;height:34px;border-radius:9px}.mobile-shell-header .main-nav a{min-height:32px;gap:3px;padding:5px 2px}.mobile-shell-header .main-nav a>svg{font-size:10px}.mobile-shell-header .main-nav a span:after{font-size:8px}.toast{top:calc(max(8px,env(safe-area-inset-top)) + 52px)}}@media(max-width:360px){.mobile-shell-header>header{grid-template-columns:40px minmax(0,1fr) auto;gap:3px}.mobile-shell-header .brand .logo{width:40px;height:33px}.mobile-shell-header .tools button{width:29px;height:32px}.mobile-shell-header .main-nav a span{display:none}.mobile-shell-header .main-nav a{justify-content:center}.mobile-shell-header .main-nav a>svg{font-size:11px}}@media(max-width:640px){.actions.is-floating{position:fixed;z-index:1050;right:0;bottom:0;left:0;width:auto;margin:0;padding-right:max(14px,env(safe-area-inset-right));padding-bottom:max(10px,env(safe-area-inset-bottom));padding-left:max(14px,env(safe-area-inset-left))}.actions.at-form-end{position:relative;bottom:auto}}.mobile-order-fab{display:none}@media(max-width:640px){.actions{position:relative;bottom:auto}.mobile-order-fab{position:fixed;z-index:1050;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:grid;place-items:center;width:58px;height:58px;padding:0;border:1px solid #35c9f2;border-radius:50%;background:linear-gradient(145deg,#12b9ec,#0872da);color:#fff;font-size:18px;cursor:pointer;box-shadow:0 12px 28px #056ac650,0 0 0 5px #e9f8ffcc;animation:fabReveal .2s ease both}.mobile-order-fab:active{transform:scale(.94)}.dark .mobile-order-fab{border-color:#51d9ff;box-shadow:0 14px 30px #0008,0 0 0 5px #0a2b53cc}}@keyframes fabReveal{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.mobile-order-fab{animation:none}}.dashboard-filterbar{overflow:visible}.dashboard-filterbar .dashboard-filter{isolation:auto}.dashboard-filterbar .dashboard-filter.open{z-index:300}.dashboard-filterbar .dashboard-filter.open>div{z-index:310}@media(max-width:640px){.dashboard-filterbar{position:relative;z-index:20;overflow:visible}.dashboard-filterbar .dashboard-filter.open{z-index:500}.dashboard-filterbar .dashboard-filter.open>div{z-index:510;box-shadow:0 22px 50px #031b3f55}}.dashboard-updating{position:fixed;z-index:1080;top:84px;right:max(18px,var(--app-gutter));display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #a9d9f3;border-radius:999px;background:color-mix(in srgb,var(--paper),transparent 3%);color:#0872cb;font-size:10px;font-weight:700;box-shadow:0 10px 26px #07376d20;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.dashboard-updating svg{color:#09aee8}.dark .dashboard-updating{border-color:#2c628d;background:color-mix(in srgb,var(--paper),transparent 3%);color:#72d9ff}@media(max-width:960px){.dashboard-updating{top:126px}}@media(max-width:640px){.dashboard-updating{top:calc(max(8px,env(safe-area-inset-top)) + 52px);right:12px;padding:8px 11px;font-size:9px}}.header-logo-button{padding:0;cursor:pointer;border-radius:10px;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}.header-logo-button:hover{transform:translateY(-1px);filter:drop-shadow(0 7px 11px #087bea28)}.header-logo-button:focus-visible{outline:0;box-shadow:0 0 0 4px #0a9de52c}.header-logo-button:active{transform:scale(.96)}@media(prefers-reduced-motion:reduce){.header-logo-button{transition:none}}.auth-app{display:grid;place-items:center;min-height:100dvh;height:100dvh;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));overflow-y:auto}.auth-app .employee-gate{z-index:1;margin:0 auto}@media(min-width:641px){.auth-app{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100dvh;min-height:0;padding:32px;place-items:center}.auth-app .employee-gate{width:min(510px,calc(100vw - 64px));margin:0}}@media(max-width:640px){.auth-app{padding:clamp(14px,4vh,28px) 10px}.auth-app .employee-gate{width:min(430px,100%);margin:0;padding:28px 22px}.auth-app .gate-brand{justify-content:center}.auth-app .gate-brand .logo{width:82px;height:58px}.auth-app .gate-copy{margin:22px 0 20px;text-align:center}.auth-app .gate-copy h1{margin-top:7px;font-size:28px;line-height:1.15}.auth-app .employee-gate input{font-size:16px}.auth-app .employee-gate button{min-height:47px}}@media(max-width:640px)and (max-height:560px){.auth-app{place-items:start center}.auth-app .employee-gate{margin:auto 0}.auth-app .gate-brand .logo{width:68px;height:48px}.auth-app .gate-copy{margin:14px 0}.auth-app .gate-copy h1{font-size:24px}}.employee-gate .key-visibility{display:grid;flex:0 0 auto;place-items:center;width:36px;height:36px;margin:0 -6px 0 0;padding:0;border:0;border-radius:9px;background:transparent;color:#63809c;font-size:14px;box-shadow:none;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.employee-gate .key-visibility:hover{background:#e2f2ff;color:#0879d6;box-shadow:none;transform:none}.employee-gate .key-visibility:focus-visible{outline:0;background:#e2f2ff;color:#0879d6;box-shadow:0 0 0 3px #0a9de52b}.employee-gate .key-visibility:active{transform:scale(.92)}.dark .employee-gate .key-visibility{color:#9ebbd5}.dark .employee-gate .key-visibility:hover,.dark .employee-gate .key-visibility:focus-visible{background:#123c68;color:#65dbff}.employee-gate .gate-copyright{display:block;margin-top:20px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--line),transparent 24%);color:var(--muted);font-size:9px;letter-spacing:.03em;text-align:center}.dark .employee-gate .gate-copyright{border-top-color:#2a4d72}.employee-gate .gate-theme-toggle{position:absolute;z-index:3;top:18px;right:18px;display:grid;place-items:center;width:38px;height:38px;margin:0;padding:0;border:1px solid #c5dcef;border-radius:11px;background:#f4faff;color:#0a71cb;font-size:14px;box-shadow:0 7px 18px #07376d14;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.employee-gate .gate-theme-toggle:hover{border-color:#43bee9;background:#e8f7ff;color:#009fdc;box-shadow:0 9px 22px #07376d1d;transform:translateY(-1px)}.employee-gate .gate-theme-toggle:focus-visible{outline:0;box-shadow:0 0 0 4px #0a9de52b}.employee-gate .gate-theme-toggle:active{transform:scale(.94)}.dark .employee-gate .gate-theme-toggle{border-color:#315a83;background:#0d315c;color:#74ddff;box-shadow:0 8px 20px #0005}.dark .employee-gate .gate-theme-toggle:hover{border-color:#42c8f1;background:#123d6b;color:#a1ecff}@media(max-width:640px){.employee-gate .gate-theme-toggle{top:14px;right:14px;width:36px;height:36px}}.search-select .selected-country-flag{position:absolute;z-index:2;top:50%;left:13px;width:22px;height:15px;border:1px solid #b8c8d8;border-radius:3px;object-fit:cover;pointer-events:none;transform:translateY(-50%);box-shadow:0 1px 3px #052d6220}.search-select.has-country-flags:not(.open)>input{padding-left:45px}.select-menu .country-option{display:flex;align-items:center;gap:9px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-menu .country-option img{flex:0 0 auto;width:22px;height:15px;border:1px solid #b8c8d8;border-radius:3px;object-fit:cover;box-shadow:0 1px 3px #052d621c}.dark .search-select .selected-country-flag,.dark .select-menu .country-option img{border-color:#45698a}:is(.select-menu,.dashboard-filter>div,.attendance-dropdown-menu,.results){scrollbar-width:thin;scrollbar-color:#168de0 #dcecf8;scrollbar-gutter:stable}.dark :is(.select-menu,.dashboard-filter>div,.attendance-dropdown-menu,.results){scrollbar-color:#22bdf0 #0a264c}:is(.select-menu,.dashboard-filter>div,.attendance-dropdown-menu,.results)::-webkit-scrollbar{display:block;width:9px;height:9px}:is(.select-menu,.dashboard-filter>div,.attendance-dropdown-menu,.results)::-webkit-scrollbar-track{border:2px solid transparent;border-radius:999px;background:#dcecf8;background-clip:padding-box}:is(.select-menu,.dashboard-filter>div,.attendance-dropdown-menu,.results)::-webkit-scrollbar-thumb{min-height:42px;border:2px solid transparent;border-radius:999px;background:linear-gradient(180deg,#1bc2ed,#0877dc);background-clip:padding-box}:is(.select-menu,.dashboard-filter>div,.attendance-dropdown-menu,.results)::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#37d5f5,#075fc2);background-clip:padding-box}.dark :is(.select-menu,.dashboard-filter>div,.attendance-dropdown-menu,.results)::-webkit-scrollbar-track{background:#0a264c;background-clip:padding-box}.dark :is(.select-menu,.dashboard-filter>div,.attendance-dropdown-menu,.results)::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#24c9f2,#1180df);background-clip:padding-box}@media(max-width:640px){:is(.select-menu,.dashboard-filter>div,.attendance-dropdown-menu,.results){scrollbar-width:thin}:is(.select-menu,.dashboard-filter>div,.attendance-dropdown-menu,.results)::-webkit-scrollbar{display:block;width:7px;height:7px}:is(.select-menu,.dashboard-filter>div,.attendance-dropdown-menu,.results)::-webkit-scrollbar-track{border-width:2px}:is(.select-menu,.dashboard-filter>div,.attendance-dropdown-menu,.results)::-webkit-scrollbar-thumb{border-width:2px}}.attendance-employee-filter{min-width:220px}.attendance-employee-filter>button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-employee-menu{right:auto;width:320px;max-height:330px;padding:7px}.attendance-employee-menu>label{position:sticky;z-index:2;top:0;display:block;margin-bottom:5px;background:inherit}.attendance-employee-menu>label svg{position:absolute;left:13px;top:13px;color:#6583a4}.attendance-employee-menu>label input{width:100%;height:40px;padding:8px 10px 8px 34px;border:1px solid #c9dfef;border-radius:8px;background:#f5faff;color:#12365f;font-size:16px}.attendance-employee-menu>button{min-height:48px;text-align:left;text-transform:none;letter-spacing:0}.attendance-employee-menu>button>span{display:flex;min-width:0;flex-direction:column;gap:2px}.attendance-employee-menu b{overflow:hidden;text-overflow:ellipsis;color:inherit;font-size:12px;white-space:nowrap}.attendance-employee-menu small{color:#7289a3;font-size:9px}.attendance-employee-menu>p{margin:0;padding:20px 10px;color:#71849a;text-align:center;text-transform:none;letter-spacing:0}.dark .attendance-employee-menu>label input{border-color:#315b84;background:#081f40;color:#e8f4ff}.dark .attendance-employee-menu small{color:#8fabc8}@media(max-width:640px){.attendance-controls .attendance-employee-filter{grid-column:1/-1}.attendance-employee-menu{right:0;width:auto;max-height:300px}.attendance-employee-menu>button{min-height:51px}.attendance-employee-menu b{font-size:13px}}.mobile-attendance-loading,.mobile-attendance-overview,.mobile-attendance-back{display:none}@media(max-width:640px){.mobile-attendance.showing-all{display:none}.mobile-attendance-overview{display:block;padding:10px;background:color-mix(in srgb,var(--paper),var(--line) 8%)}.mobile-attendance-search{position:relative;display:block;margin-bottom:9px}.mobile-attendance-search>svg{position:absolute;z-index:1;top:50%;left:14px;color:#6a86a2;transform:translateY(-50%)}.mobile-attendance-search>input{width:100%;min-height:46px;padding:10px 13px 10px 40px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font-size:16px;box-shadow:0 5px 16px #07376d0b}.mobile-attendance-list{display:grid;gap:8px}.mobile-attendance-list>button{display:grid;grid-template-columns:42px minmax(0,1fr) 16px;align-items:center;gap:10px;width:100%;min-height:82px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--paper-2);color:var(--ink);text-align:left;box-shadow:0 8px 24px #07376d0b;cursor:pointer}.mobile-attendance-list>button:active{border-color:#28afe7;background:color-mix(in srgb,var(--paper-2),#29baf0 8%);transform:scale(.985)}.mobile-employee-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#082d69,#0797e4);color:#fff;font-size:15px;font-weight:800;box-shadow:0 7px 16px #087bd52a}.mobile-employee-summary{display:flex;min-width:0;flex-direction:column;gap:9px}.mobile-employee-name{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:8px}.mobile-employee-name>b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.mobile-employee-name>small{flex:0 0 auto;color:var(--muted);font-size:8px}.mobile-employee-metrics{display:flex;gap:6px}.mobile-employee-metrics>small{padding:4px 7px;border-radius:999px;background:#e8f5ff;color:#42637f;font-size:8px}.mobile-employee-metrics>small b{color:#0874d1;font-size:9px}.mobile-employee-metrics>small.has-warning{background:#fff0dc;color:#a86919}.mobile-employee-metrics>small.has-warning b{color:#d0770a}.mobile-employee-arrow{color:#359edb;font-size:11px}.mobile-attendance-back{align-items:center;gap:7px;width:calc(100% - 20px);margin:10px 10px 0;padding:10px 12px;border:1px solid #b9dced;border-radius:10px;background:#edf8ff;color:#0870ca;font-size:10px;font-weight:700;cursor:pointer}.dark .mobile-attendance-search>input{background:#0a274e}.dark .mobile-attendance-list>button{background:#0b284f}.dark .mobile-employee-metrics>small{background:#103961;color:#a9c7df}.dark .mobile-employee-metrics>small.has-warning{background:#48331b;color:#edc284}.dark .mobile-attendance-back{border-color:#315b84;background:#0d315a;color:#65d5ff}}@media(max-width:640px){.mobile-attendance.detail-pending{display:none}.mobile-attendance-loading{display:flex;align-items:center;justify-content:center;gap:8px;min-height:150px;margin:10px;padding:20px;color:var(--muted);font-size:10px}}@media(max-width:640px){html{-webkit-text-size-adjust:100%}input,select,textarea,.dashboard-filter>div>input,.sheet-toolbar input,.product-card-qty input,.qty-input{font-size:16px!important}button,a,input,select,textarea{touch-action:manipulation}.dashboard-filter>div>input{min-height:42px}.search-select>input,.product-search>input,.searchbox>input{min-height:44px}}
