:root{--green:#2eae3f;--green-dark:#218c31;--green-soft:#dff5e3;--ink:#18221c;--muted:#748078;--line:#e7ece8;--canvas:#f3f6f3;--white:#fff;--orange:#ff8f47;--shadow:0 18px 48px #234a2d1a}*{box-sizing:border-box}html{background:#e8eee9;min-height:100%}body{min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 12% 10%,#94dc9e3d,#0000 28%),radial-gradient(circle at 88% 88%,#ffbc7d21,#0000 25%),#e8eee9;margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #2eae3f3d}img{max-width:100%;display:block}.app-frame{background:var(--canvas);width:min(100%,520px);min-height:100dvh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 0 80px #1d372329}.app-scroll{overscroll-behavior:contain;scrollbar-width:none;height:100dvh;overflow:hidden auto}.app-scroll::-webkit-scrollbar{display:none}.page-view{min-height:100%;padding-bottom:calc(112px + env(safe-area-inset-bottom))}.app-loading{text-align:center;background:linear-gradient(#edf9ef 0%,#f7f9f7 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:40px;display:flex}.app-loading h1{margin:18px 0 4px;font-size:24px}.app-loading p{color:var(--muted);margin:14px 0;font-size:14px}.spinner{border:3px solid #2eae3f29;border-top-color:var(--green);border-radius:50%;width:34px;height:34px;animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.state-symbol{color:#c66a27;background:#fff0e2;border-radius:24px;place-items:center;width:74px;height:74px;font-size:34px;font-weight:800;display:grid}.primary-button,.secondary-button,.danger-outline-button,.logout-button{cursor:pointer;border:0;border-radius:18px;width:100%;min-height:52px;font-size:16px;font-weight:700}.primary-button{color:#fff;background:linear-gradient(135deg,#37ba4a,#269b37);box-shadow:0 14px 28px #2eae3f38}.primary-button.compact{width:auto;min-height:44px;padding:0 26px}.primary-button:disabled,.secondary-button:disabled{cursor:default;opacity:.5;box-shadow:none}.secondary-button{color:var(--green-dark);background:#f0f9f2;border:1px solid #2eae3f40}.text-button{color:var(--muted);cursor:pointer;background:0 0;border:0}.form-error{color:#bc493e;background:#fff0ee;border-radius:12px;margin:0;padding:11px 13px;font-size:13px;line-height:1.45}.visitor-page{background:radial-gradient(circle at 86% 4%,#7ee09033,#0000 24%),linear-gradient(#eaf8ed 0,#f3f6f3 330px)}.visitor-hero{padding:calc(26px + env(safe-area-inset-top)) 26px 44px;color:#fff;background:linear-gradient(145deg,#228d35,#39b94c);position:relative;overflow:hidden}.visitor-hero:after{content:"";border:34px solid #ffffff14;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-105px;right:-95px}.visitor-hero>button{top:calc(20px + env(safe-area-inset-top));z-index:1;color:#fff;background:#ffffff21;border:0;border-radius:50%;width:38px;height:38px;font-size:31px;line-height:34px;position:absolute;left:18px}.visitor-hero small{opacity:.76;margin:42px 0 4px;display:block}.visitor-hero h1{letter-spacing:1px;margin:0;font-size:28px}.visitor-hero p{opacity:.84;max-width:380px;margin:10px 0 0;font-size:14px;line-height:1.65}.visitor-form{z-index:2;padding:0 16px calc(32px + env(safe-area-inset-bottom));margin-top:-20px;position:relative}.visitor-form-card{background:#fff;border:1px solid #1e5c2a0d;border-radius:22px;padding:7px 18px;box-shadow:0 16px 36px #20502b1a}.visitor-form-field{border-bottom:1px solid #edf0ed;grid-template-columns:126px minmax(0,1fr);align-items:center;gap:12px;min-height:62px;display:grid}.visitor-form-field:last-child{border-bottom:0}.visitor-form-field.stacked{grid-template-columns:1fr;gap:8px;padding:17px 0}.visitor-form-field>label{color:#303a33;font-size:15px;font-weight:650}.visitor-form-field>label b{color:#ef5959;margin-left:3px}.visitor-form-field input,.visitor-form-field select,.visitor-form-field textarea{color:#263029;text-align:right;background:0 0;border:0;outline:none;width:100%}.visitor-form-field textarea{resize:none;text-align:left;padding:4px 0;line-height:1.6}.visitor-form-field input::placeholder,.visitor-form-field textarea::placeholder,.visitor-form-field select:invalid{color:#b8c0ba}.visitor-form-field input:read-only{color:#657169;cursor:default}.visitor-date-trigger{color:#b8c0ba;text-align:right;background:0 0;border:0;justify-content:flex-end;align-items:center;gap:9px;width:100%;min-height:46px;display:flex}.visitor-date-trigger.has-value{color:#263029}.visitor-date-trigger b{color:#98a29b;font-size:22px;font-weight:400}.visitor-radio-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.visitor-radio-group label{color:#647068;background:#f7f9f7;border:1px solid #e8ece8;border-radius:13px;place-items:center;min-height:48px;display:grid;position:relative}.visitor-radio-group label.selected{color:#238f35;background:#effaf1;border-color:#35b648;box-shadow:inset 0 0 0 1px #35b648}.visitor-radio-group input{opacity:0;pointer-events:none;position:absolute}.visitor-consent{color:#6f7a72;align-items:flex-start;gap:9px;margin:16px 4px;font-size:12px;line-height:1.55;display:flex}.visitor-consent input{width:18px;height:18px;accent-color:var(--green);flex:none;margin:0}.visitor-form-error{margin-bottom:12px}.visitor-primary-button,.visitor-secondary-button{border-radius:17px;width:100%;min-height:54px;font-weight:750}.visitor-primary-button{color:#fff;background:linear-gradient(135deg,#37ba4a,#269b37);border:0;box-shadow:0 13px 26px #2eae3f38}.visitor-primary-button:disabled{opacity:.55;box-shadow:none}.visitor-secondary-button{color:var(--green-dark);background:#f0f9f2;border:1px solid #2eae3f40}.visitor-text-button{color:#738078;background:0 0;border:0}.visitor-submit-note{color:#8b948e;text-align:center;margin:12px 0 0;font-size:12px}.visitor-state-page{place-items:center;padding:28px 18px;display:grid}.visitor-state-card{width:100%;box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:26px;padding:38px 24px 28px}.visitor-state-icon{color:#c16d2c;background:#fff1e5;border-radius:24px;place-items:center;width:72px;height:72px;margin:0 auto 20px;font-size:32px;font-weight:800;display:grid}.visitor-state-icon.approved{color:#228f34;background:#e8f8eb}.visitor-state-icon.pending{color:#b87922;background:#fff5df;font-size:27px}.visitor-state-card>small{color:var(--green-dark);font-weight:650}.visitor-state-card h1{margin:8px 0;font-size:25px}.visitor-state-card>p{color:#748078;margin:0 0 22px;line-height:1.7}.visitor-code-box{background:#f3f8f4;border-radius:15px;margin:20px 0 10px;padding:17px}.visitor-code-box span{color:#849088;margin-bottom:5px;font-size:12px;display:block}.visitor-code-box strong{color:#253129;letter-spacing:1px;font-size:20px}.visitor-state-card .visitor-save-tip{margin-bottom:20px;font-size:12px}.visitor-state-card .visitor-text-button{margin-top:15px}.visitor-portal-tabs{z-index:3;background:#fffffff5;border:1px solid #2369300f;border-radius:17px;grid-template-columns:repeat(2,1fr);gap:5px;margin:-22px 16px 12px;padding:5px;display:grid;position:relative;box-shadow:0 12px 28px #20502b1a}.visitor-portal-tabs button{color:#758078;background:0 0;border:0;border-radius:13px;min-height:43px;font-weight:650}.visitor-portal-tabs button.active{color:#fff;background:linear-gradient(135deg,#37ba4a,#269b37);box-shadow:0 7px 16px #2eae3f33}.visitor-portal-tabs+.visitor-form{margin-top:0}.visitor-record-page{padding:0 16px calc(30px + env(safe-area-inset-bottom))}.visitor-record-tabs{border-bottom:1px solid #e2e8e3;grid-template-columns:repeat(3,1fr);margin:2px 3px 14px;display:grid}.visitor-record-tabs button{color:#8a938d;background:0 0;border:0;min-height:45px;position:relative}.visitor-record-tabs button.active{color:#263029;font-weight:700}.visitor-record-tabs button.active:after{background:var(--green);content:"";border-radius:3px;height:3px;position:absolute;bottom:-1px;left:34%;right:34%}.visitor-record-state{color:#8a948d;text-align:center;background:#fff;border-radius:20px;align-content:center;place-items:center;gap:14px;min-height:220px;display:grid}.visitor-record-state strong{color:#354039}.visitor-record-state button{color:#fff;background:var(--green);border:0;border-radius:12px;padding:9px 18px}.visitor-record-state.error{color:#bc493e}.visitor-record-list{gap:12px;display:grid}.visitor-record-list article{background:#fff;border:1px solid #215e2c0f;border-radius:19px;overflow:hidden;box-shadow:0 10px 24px #24492b12}.visitor-record-list article>header{border-bottom:1px solid #edf0ed;justify-content:space-between;align-items:center;padding:15px 17px 13px;display:flex}.visitor-record-list article>header strong{padding-left:11px;font-size:15px;position:relative}.visitor-record-list article>header strong:before{background:var(--green);content:"";border-radius:3px;width:4px;position:absolute;top:3px;bottom:3px;left:0}.visitor-record-list article>header span{font-size:13px;font-weight:700}.visitor-record-list article>header span.pending{color:#bc7b22}.visitor-record-list article>header span.approved{color:#2eae3f}.visitor-record-list article>header span.rejected{color:#eb5757}.visitor-record-list article>header span.cancelled{color:#8c958f}.visitor-record-list dl{gap:9px;margin:0;padding:14px 17px 10px;display:grid}.visitor-record-list dl>div{grid-template-columns:118px minmax(0,1fr);gap:8px;font-size:13px;line-height:1.5;display:grid}.visitor-record-list dt{color:#9aa29d}.visitor-record-list dd{color:#3b453e;text-align:right;overflow-wrap:anywhere;margin:0}.visitor-record-list dd.rejected-text{color:#d95151}.visitor-record-list footer{justify-content:flex-end;padding:5px 12px 12px;display:flex}.visitor-record-list footer button{min-height:34px;color:var(--green-dark);background:#fff;border:1px solid #2eae3f52;border-radius:10px;padding:0 13px}.visitor-record-logout{color:#7c8780;background:0 0;border:0;margin:24px auto 0;padding:8px 18px;display:block}.visitor-park-pass{text-align:center;background:linear-gradient(160deg,#edfaef,#fff 64%);border:1px solid #2eae3f24;border-radius:18px;width:100%;margin:15px 0 6px;padding:14px;box-shadow:0 8px 20px #1f7a3c14}.visitor-park-pass>header{justify-content:space-between;align-items:center;display:flex}.visitor-park-pass>header span{color:#1d5532;font-size:13px;font-weight:700}.visitor-park-pass>header b{color:#278f3b;background:#dcf4e1;border-radius:999px;padding:4px 8px;font-size:10px}.visitor-park-pass>img{background:#fff;border-radius:12px;width:min(230px,82%);height:auto;margin:11px auto 8px;display:block}.visitor-park-pass>strong{color:#174d2d;letter-spacing:.03em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.visitor-park-pass>p{color:#758079;margin:7px 0 0;font-size:10px;line-height:1.6}.visitor-park-qr-loading{color:#9aa39d;place-items:center;min-height:180px;margin:11px auto 8px;font-size:11px;display:grid}.visitor-record-list .visitor-park-pass.compact{width:auto;box-shadow:none;border-radius:14px;margin:2px 14px 8px;padding:12px}.visitor-record-list .visitor-park-pass.compact>img{width:min(190px,72%)}.visitor-picker-backdrop{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#111a147a;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.visitor-picker-sheet{width:min(100%,520px);max-height:min(78dvh,720px);padding:8px 0 calc(18px + env(safe-area-inset-bottom));background:#fff;border-radius:26px 26px 0 0;animation:.22s ease-out visitor-sheet-up;overflow:hidden;box-shadow:0 -20px 50px #152e1c2e}@keyframes visitor-sheet-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.visitor-picker-handle{background:#dce2dd;border-radius:999px;width:42px;height:5px;margin:0 auto 4px}.visitor-picker-sheet>header{text-align:center;border-bottom:1px solid #eef1ee;grid-template-columns:64px 1fr 64px;align-items:center;padding:10px 16px 14px;display:grid}.visitor-picker-sheet>header button{color:#7a857d;background:0 0;border:0}.visitor-picker-sheet>header button.confirm{color:var(--green-dark);font-weight:700}.visitor-picker-sheet>header div{flex-direction:column;gap:3px;display:flex}.visitor-picker-sheet>header strong{font-size:16px}.visitor-picker-sheet>header small{color:#879189;font-size:11px}.visitor-date-strip{scroll-snap-type:x mandatory;scrollbar-width:none;gap:9px;padding:16px;display:flex;overflow-x:auto}.visitor-date-strip::-webkit-scrollbar{display:none}.visitor-date-strip button{scroll-snap-align:start;color:#59645c;background:#f8faf8;border:1px solid #e7ece8;border-radius:17px;flex:0 0 62px;min-height:82px;padding:8px 4px}.visitor-date-strip button small,.visitor-date-strip button span{font-size:10px;display:block}.visitor-date-strip button strong{color:#263029;margin:4px 0 2px;font-size:21px;display:block}.visitor-date-strip button.selected{color:#238e34;background:#eaf8ed;border-color:#2eae3f;box-shadow:inset 0 0 0 1px #2eae3f}.visitor-date-strip button.selected strong{color:#238e34}.visitor-time-section{padding:0 16px}.visitor-time-title{justify-content:space-between;align-items:baseline;padding:2px 2px 10px;display:flex}.visitor-time-title strong{font-size:15px}.visitor-time-title span{color:#9aa39c;font-size:11px}.visitor-time-grid{grid-template-columns:repeat(4,1fr);gap:8px;max-height:280px;padding:2px 2px 4px;display:grid;overflow-y:auto}.visitor-time-grid button{color:#4d5950;background:#f8faf8;border:1px solid #e7ece8;border-radius:12px;min-height:40px}.visitor-time-grid button.selected{color:#238e34;background:#eaf8ed;border-color:#2eae3f;font-weight:700;box-shadow:inset 0 0 0 1px #2eae3f}.visitor-time-grid button:disabled{color:#c8cec9;background:#f3f4f3;text-decoration:line-through}.login-page{background:#f7faf7;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);min-height:100dvh;display:grid}.login-visual{color:#fff;text-align:center;background:radial-gradient(circle at 16% 14%,#fff3,#0000 22%),radial-gradient(circle at 82% 80%,#b4ffbb2b,#0000 28%),linear-gradient(145deg,#238d35 0%,#31aa43 54%,#42bb52 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:64px 9vw;display:flex;position:relative;overflow:hidden}.login-visual:before,.login-visual:after{content:"";border:1px solid #ffffff29;border-radius:50%;position:absolute}.login-visual:before{width:420px;height:420px;top:-190px;right:-140px}.login-visual:after{width:320px;height:320px;bottom:-180px;left:-130px}.brand-chip{align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex;position:absolute;top:32px;left:38px}.brand-chip span{border:3px solid #ffffffc2;border-radius:4px 8px;width:12px;height:12px;transform:rotate(45deg)}.login-illustration-wrap{aspect-ratio:1.45;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1f;border:1px solid #ffffff29;border-radius:48% 52% 44% 56%/56% 43% 57% 44%;place-items:center;width:min(58vh,480px);margin-bottom:34px;display:grid}.login-illustration{filter:drop-shadow(0 30px 25px #124a1b33);width:82%}.login-eyebrow{opacity:.66;letter-spacing:.24em;margin:0 0 12px;font-size:12px;font-weight:800}.login-visual h1{letter-spacing:-.04em;margin:0;font-size:clamp(32px,3.6vw,54px);line-height:1.15}.login-visual>p:last-child{color:#ffffffb8;max-width:480px;margin:18px 0 0;font-size:15px;line-height:1.7}.login-panel{justify-content:center;align-items:center;min-height:100dvh;padding:48px clamp(32px,6vw,92px);display:flex}.login-card{width:min(100%,440px)}.login-heading p{color:var(--green);letter-spacing:.08em;margin:0 0 8px;font-size:13px;font-weight:800}.login-heading h2{letter-spacing:-.04em;margin:0 0 28px;font-size:34px}.segmented{background:#edf1ed;border-radius:16px;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.segmented button{color:#818c84;cursor:pointer;background:0 0;border:0;border-radius:12px;min-height:43px;font-size:14px;font-weight:700}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 7px 18px #2a413014}.login-form,.sheet-form{flex-direction:column;gap:16px;margin-top:24px;display:flex}.login-form label,.sheet-form label{flex-direction:column;gap:8px;display:flex}.login-form label>span,.sheet-form label>span{color:#58625b;font-size:13px;font-weight:700}.login-form input,.sheet-form input,.sheet-select{width:100%;height:52px;color:var(--ink);background:#fff;border:1px solid #dde5df;border-radius:15px;padding:0 16px;transition:border-color .2s,box-shadow .2s}.login-form input:focus,.sheet-form input:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 4px #2eae3f17}.login-submit{margin-top:4px}.login-help{color:#99a29b;text-align:center;margin:18px 0 0;font-size:12px;line-height:1.6}.page-header{padding:calc(26px + env(safe-area-inset-top)) 24px 22px;background:#fff}.page-header p{color:var(--green);letter-spacing:.18em;margin:0 0 7px;font-size:10px;font-weight:800}.page-header h1{letter-spacing:-.04em;margin:0;font-size:29px}.page-header span{color:var(--muted);margin-top:6px;font-size:13px;display:block}.home-view{background:linear-gradient(180deg, #d6f4da 0, #ecf6ed 270px, var(--canvas) 510px);padding-left:18px;padding-right:18px}.home-topline{padding:calc(24px + env(safe-area-inset-top)) 4px 20px;justify-content:space-between;align-items:center;display:flex}.home-topline p{color:#537159;margin:0 0 3px;font-size:12px}.home-topline h1{text-overflow:ellipsis;white-space:nowrap;max-width:330px;margin:0;font-size:22px;overflow:hidden}.avatar-small,.avatar-large{background:#fff;border:3px solid #ffffffbd;border-radius:50%;overflow:hidden;box-shadow:0 10px 24px #49805221}.avatar-small{width:48px;height:48px}.home-hero{color:#fff;background:radial-gradient(circle at 92% 2%,#ffffff3d,#0000 34%),linear-gradient(140deg,#269d39,#44bd54);border-radius:30px;align-items:center;min-height:192px;padding:26px 18px 24px 24px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 38px #30953d3d}.hero-copy{z-index:1;width:55%;position:relative}.hero-copy span{letter-spacing:.17em;opacity:.65;font-size:9px;font-weight:800}.hero-copy h2{letter-spacing:-.04em;margin:10px 0 7px;font-size:26px;line-height:1.22}.hero-copy p{color:#ffffffad;margin:0;font-size:12px;line-height:1.5}.home-hero>img{filter:drop-shadow(0 14px 12px #145a1e2e);width:57%;position:absolute;bottom:1px;right:-28px}.notice-card{background:#fffffff0;border:0;border-radius:18px;align-items:center;gap:12px;width:100%;min-height:54px;margin:16px 0;padding:0 16px;display:flex;box-shadow:0 10px 26px #2a55330f}.notice-card img{width:21px;height:21px}.notice-card span{color:#556159;text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.notice-card b{color:#b4bdb6;font-size:22px}.home-services{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.home-services button{cursor:pointer;background:#fff;border:0;border-radius:22px;flex-direction:column;align-items:center;min-width:0;padding:18px 8px 16px;display:flex;box-shadow:0 10px 25px #2a55330e}.service-icon{border-radius:17px;place-items:center;width:48px;height:48px;display:grid}.service-icon.mint{background:#e4f8e8}.service-icon.orange{background:#fff0e6}.service-icon.blue{background:#e7f3ff}.service-icon img{width:30px;height:30px}.home-services strong{margin-top:10px;font-size:13px}.home-services small{color:#9aa49c;margin-top:3px;font-size:9px}.section-heading{justify-content:space-between;align-items:center;margin:27px 3px 13px;display:flex}.section-heading h2{margin:0;font-size:17px}.section-heading span{color:#7e8981;font-size:11px}.home-actions{flex-direction:column;gap:11px;display:flex}.home-actions>button{cursor:pointer;text-align:left;border:0;border-radius:22px;align-items:center;gap:14px;min-height:76px;padding:13px 17px;display:flex}.home-actions>button>span{background:#ffffff29;border-radius:15px;flex:none;place-items:center;width:45px;height:45px;display:grid}.home-actions img{width:25px;height:25px}.home-actions div{flex-direction:column;flex:1;min-width:0;display:flex}.home-actions strong{font-size:15px}.home-actions small{opacity:.66;margin-top:4px;font-size:10px}.home-actions b{opacity:.5;font-size:24px}.action-primary,.action-secondary{color:#fff}.action-primary{background:linear-gradient(135deg,#2eae3f,#239333);box-shadow:0 14px 30px #2eae3f30}.action-secondary{background:linear-gradient(135deg,#55bd63,#38a94a)}.action-outline{color:var(--green-dark);background:#fff;border:1px solid #2eae3f33!important}.action-outline>span{background:#e9f7eb!important}.bottom-nav{z-index:20;min-height:calc(76px + env(safe-area-inset-bottom));padding:9px 8px env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border-top:1px solid #d5ded7cc;justify-content:space-around;align-items:flex-start;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 28px #3247370f}.bottom-nav button{color:#9ba49d;cursor:pointer;background:0 0;border:0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:59px;min-height:57px;font-size:10px;font-weight:700;display:flex;position:relative}.bottom-nav button.active{color:var(--green);background:#eef8f0}.booking-view .page-header{color:#fff;background:var(--green);padding-bottom:17px}.booking-view .page-header p,.booking-view .page-header span{color:#ffffffad}.green-panel{color:#fff;background:var(--green);border-radius:0 0 32px 32px;padding:0 20px 28px}.canteen-select{align-items:center;gap:8px;display:flex}.canteen-select img{filter:brightness(0)invert();width:23px}.canteen-select select,.dish-toolbar>select,.filter-line select{min-width:0;color:inherit;background:0 0;border:0;font-weight:700}.canteen-select select{flex:1;font-size:14px}.canteen-select select option{color:var(--ink)}.week-switcher{text-align:center;grid-template-columns:44px 1fr 44px;align-items:center;margin-top:20px;display:grid}.week-switcher button{color:#fff;cursor:pointer;background:#ffffff21;border:0;border-radius:15px;width:42px;height:42px;font-size:26px}.week-switcher button:disabled{opacity:.32}.week-switcher div{flex-direction:column;gap:3px;display:flex}.week-switcher small{color:#ffffffa6;font-size:10px}.week-switcher strong{font-size:17px}.booking-content{padding:18px}.meal-filter-row,.meal-tabs{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.meal-filter-row span{color:#4f6e56;background:#e7f5e9;border-radius:999px;flex:none;padding:8px 13px;font-size:11px;font-weight:700}.meal-schedule{background:#fff;border-radius:24px;margin-top:14px;overflow:hidden;box-shadow:0 12px 30px #3155390f}.meal-day{border-bottom:1px solid var(--line);grid-template-columns:58px 1fr;gap:12px;padding:14px;display:grid}.meal-day:last-child{border-bottom:0}.meal-date{background:#f3f7f3;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;display:flex}.meal-date strong{font-size:13px}.meal-date span{color:#8c978f;margin-top:3px;font-size:10px}.meal-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.meal-buttons button{cursor:pointer;background:#fff;border:1px solid #edf1ed;border-radius:15px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:52px;padding:8px 11px;display:flex}.meal-buttons button span{font-size:12px;font-weight:700}.meal-buttons button small{color:#9aa39c;margin-top:3px;font-size:9px}.meal-buttons button.selected{border-color:var(--green);color:var(--green-dark);background:#e9f8eb;box-shadow:0 7px 16px #2eae3f1c}.meal-buttons button.ordered{color:#498555;background:#f0f8f1}.meal-buttons button:disabled{color:#a6aea8;cursor:default;background:#f5f6f5}.checkout-bar{z-index:12;right:14px;bottom:calc(84px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border:1px solid #e1e7e2e6;border-radius:23px;align-items:center;gap:12px;min-height:68px;padding:9px 10px 9px 17px;display:flex;position:absolute;left:14px;box-shadow:0 16px 36px #213a2829}.checkout-bar>div:not(.cart-badge){flex-direction:column;flex:1;min-width:0;display:flex}.checkout-bar small{color:#8a948d;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.checkout-bar strong{color:#ec6845;margin-top:2px;font-size:19px}.checkout-bar>button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:17px;min-width:104px;min-height:48px;font-size:13px;font-weight:800}.checkout-bar>button:disabled{cursor:default;background:#b8c1ba}.dish-toolbar{background:#fff;padding:0 18px 15px}.dish-toolbar>select{color:#4b5b4f;background:#f3f7f3;border-radius:14px;width:100%;height:42px;margin-bottom:12px;padding:0 12px;font-size:13px}.date-strip{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.date-strip button{color:#8a948d;cursor:pointer;background:#f7f9f7;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:52px;display:flex}.date-strip small{font-size:9px}.date-strip strong{margin-top:4px;font-size:14px}.date-strip button.active{color:#fff;background:var(--green);box-shadow:0 8px 16px #2eae3f33}.meal-tabs{background:#fff;padding:14px 18px}.meal-tabs button{color:#727e75;cursor:pointer;background:#f1f4f1;border:0;border-radius:999px;flex:none;padding:9px 17px;font-size:12px;font-weight:700}.meal-tabs button.active{color:#fff;background:var(--green)}.dish-layout{grid-template-columns:88px 1fr;align-items:start;min-height:430px;display:grid}.category-list{flex-direction:column;display:flex;position:sticky;top:0}.category-list button{color:#7e8981;cursor:pointer;background:#eef1ee;border:0;border-left:3px solid #0000;min-height:54px;padding:8px;font-size:11px}.category-list button.active{border-left-color:var(--green);color:var(--green-dark);background:#fff;font-weight:800}.dish-list{background:#fff;flex-direction:column;gap:10px;min-width:0;padding:12px 12px 100px;display:flex}.dish-card{border-bottom:1px solid var(--line);grid-template-columns:88px 1fr;gap:12px;min-width:0;padding-bottom:12px;display:grid;position:relative}.dish-photo{color:#5c9e67;background:linear-gradient(145deg,#edf7ee,#dff0e2);border-radius:18px;place-items:center;width:88px;height:88px;font-size:24px;font-weight:800;display:grid;position:relative;overflow:hidden}.dish-photo img{object-fit:cover;width:100%;height:100%}.dish-photo em{color:#fff;text-align:center;background:#232824b3;padding:4px;font-size:9px;font-style:normal;position:absolute;inset:auto 0 0}.dish-copy{min-width:0;padding-right:4px}.dish-copy h3{text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:14px;overflow:hidden}.dish-copy p{color:#98a099;text-overflow:ellipsis;white-space:nowrap;margin:6px 0;font-size:10px;overflow:hidden}.dish-copy>div{align-items:flex-end;gap:8px;display:flex}.dish-copy strong{color:#ed6947;font-size:15px}.dish-copy small{color:#a0a8a2;font-size:9px}.stepper{align-items:center;gap:6px;display:flex;position:absolute;bottom:14px;right:1px}.stepper button{border:1px solid var(--green);width:27px;height:27px;color:var(--green);cursor:pointer;background:#fff;border-radius:50%;place-items:center;font-size:18px;line-height:1;display:grid}.stepper button:last-child{color:#fff;background:var(--green)}.stepper button:disabled{background:#cdd3ce;border-color:#cdd3ce}.stepper span{text-align:center;min-width:14px;font-size:11px;font-weight:700}.dish-checkout{padding-left:10px}.cart-badge{background:#e7f7e9;border-radius:17px;flex:none;place-items:center;width:48px;height:48px;display:grid;position:relative}.cart-badge img{width:27px}.cart-badge span{color:#fff;background:#ee6546;border:2px solid #fff;border-radius:10px;place-items:center;min-width:19px;height:19px;padding:0 4px;font-size:9px;display:grid;position:absolute;top:-4px;right:-4px}.orders-view .page-header{margin:0 -17px}.order-summary-card{color:#fff;background:linear-gradient(135deg,#2ba43c,#49bd59);border-radius:22px;grid-template-columns:repeat(2,1fr);margin:2px 0 15px;display:grid;overflow:hidden;box-shadow:0 16px 30px #2e9c3c2b}.order-summary-card div{flex-direction:column;justify-content:center;align-items:center;min-height:88px;display:flex}.order-summary-card div+div{border-left:1px solid #ffffff24}.order-summary-card small{color:#ffffffb3;font-size:10px}.order-summary-card strong{margin-top:5px;font-size:23px}.filter-line{grid-template-columns:1fr 126px;gap:10px;margin-bottom:15px;display:grid}.compact-segment{background:#fff;border:1px solid #e5eae6}.compact-segment button{min-height:38px;font-size:11px}.filter-line select{color:#667069;background:#fff;border:1px solid #e5eae6;border-radius:14px;padding:0 12px;font-size:11px}.order-list{flex-direction:column;gap:12px;display:flex}.order-card{cursor:pointer;background:#fff;border:1px solid #e4eae5e6;border-radius:22px;padding:17px;box-shadow:0 10px 26px #334c390d}.order-card-head,.order-card-foot,.detail-status{justify-content:space-between;align-items:center;display:flex}.order-card-head>span{color:#308e3e;background:#e9f6eb;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800}.order-card-head em,.detail-status span{border-radius:999px;padding:5px 9px;font-size:10px;font-style:normal;font-weight:700}.order-card-head em.unused,.detail-status span.unused{color:#d37929;background:#fff2df}.order-card-head em.used,.detail-status span.used{color:#29933a;background:#e8f7ea}.order-card-head em.pending,.detail-status span.pending{color:#98702f;background:#f9f0dd}.order-card-head em.cancelled,.detail-status span.cancelled{color:#858e87;background:#f0f2f0}.order-card-head em.rejected,.detail-status span.rejected{color:#bd4d42;background:#ffebe9}.order-card-head em.expired,.detail-status span.expired{color:#cb7042;background:#fff0e7}.order-card h3{margin:14px 0 6px;font-size:16px}.order-card>p{color:#818b84;margin:0;font-size:11px}.order-dish-preview{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.order-dish-preview span{color:#69736c;background:#f4f6f4;border-radius:8px;padding:6px 8px;font-size:9px}.order-card-foot{border-top:1px solid var(--line);margin-top:14px;padding-top:13px}.order-card-foot small{color:#a0a8a2;font-size:9px}.order-card-foot strong{color:#ed6847;font-size:16px}.profile-hero{padding-top:calc(42px + env(safe-area-inset-top))}.profile-main{align-items:center;gap:16px;display:flex}.avatar-large{flex:none;width:74px;height:74px}.profile-main p{color:#5f7b64;margin:0 0 4px;font-size:10px}.profile-main h1{margin:0;font-size:25px}.profile-main span{color:#728176;margin-top:5px;font-size:11px;display:block}.wallet-cards{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px;display:grid}.wallet-cards button{cursor:pointer;text-align:left;background:#ffffffe6;border:0;border-radius:23px;align-items:center;gap:10px;min-width:0;min-height:88px;padding:13px;display:flex;box-shadow:0 10px 26px #3f714614}.wallet-cards img{width:43px;height:43px}.wallet-cards span{flex-direction:column;min-width:0;display:flex}.wallet-cards small{color:#7f8982;font-size:10px}.wallet-cards strong{text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:16px;overflow:hidden}.profile-section{margin-top:30px}.profile-section h2{color:#5f6962;margin:0 2px 12px;font-size:14px}.profile-menu{background:#fffffff0;border-radius:24px;overflow:hidden;box-shadow:0 12px 30px #345a3c0f}.profile-menu button{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:13px;width:100%;min-height:68px;padding:10px 16px;display:flex}.profile-menu button:last-child{border-bottom:0}.profile-menu img{width:31px;height:31px}.profile-menu span{flex-direction:column;flex:1;display:flex}.profile-menu strong{font-size:13px}.profile-menu small{color:#929c94;margin-top:3px;font-size:9px}.profile-menu b{color:#aeb7b0;font-size:22px}.manager-note{color:#5f6b62;background:#edf6ee;border-radius:20px;gap:12px;margin-top:16px;padding:16px;display:flex}.manager-note img{width:34px;height:34px}.manager-note strong{font-size:12px}.manager-note p{margin:4px 0 0;font-size:9px;line-height:1.55}.logout-button{color:#a1534b;box-shadow:none;background:#ffffffe6;margin-top:18px}.mall-view{padding:0 17px calc(100px + env(safe-area-inset-bottom))}.mall-view .page-header{margin:0 -17px 15px}.goods-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.goods-grid article{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 24px #2d49330d}.goods-grid img,.goods-placeholder{aspect-ratio:1.15;object-fit:cover;width:100%}.goods-placeholder{color:#65a36e;background:#e8f4e9;place-items:center;font-size:30px;font-weight:800;display:grid}.goods-grid h3{text-overflow:ellipsis;white-space:nowrap;margin:12px 12px 4px;font-size:13px;overflow:hidden}.goods-grid p{color:#eb6747;margin:0 12px 13px;font-size:14px;font-weight:800}.sheet-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f1b1261;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0}}.sheet{width:100%;max-height:83dvh;padding:15px 22px calc(24px + env(safe-area-inset-bottom));background:linear-gradient(#fbfdfb,#f4f7f4);border-radius:30px 30px 0 0;animation:.25s sheetUp;position:relative;overflow:hidden;box-shadow:0 -20px 50px #182a1d33}@keyframes sheetUp{0%{opacity:0;transform:translateY(24px)}}.sheet-grabber{background:#d6ddd7;border-radius:999px;width:50px;height:5px;margin:0 auto 17px}.sheet-close{color:#7c867f;cursor:pointer;background:#edf1ed;border:0;border-radius:50%;place-items:center;width:34px;height:34px;font-size:22px;display:grid;position:absolute;top:20px;right:18px}.sheet>header{padding:0 40px 16px 2px}.sheet>header h2{letter-spacing:-.03em;margin:0;font-size:22px}.sheet>header p{color:#89938c;margin:6px 0 0;font-size:11px}.sheet-content{max-height:calc(83dvh - 110px - env(safe-area-inset-bottom));overscroll-behavior:contain;scrollbar-width:none;overflow-y:auto}.sheet-content::-webkit-scrollbar{display:none}.contact-list,.transaction-list{flex-direction:column;gap:9px;display:flex}.contact-list article,.transaction-list article{background:#fff;border-radius:17px;justify-content:space-between;align-items:center;gap:12px;min-height:70px;padding:14px;display:flex;box-shadow:0 8px 20px #2a402f0a}.contact-list strong,.transaction-list strong{font-size:12px}.contact-list p,.transaction-list small{color:#909a92;margin:4px 0 0;font-size:9px;display:block}.contact-list a,.contact-list>article>span{color:var(--green);flex:none;font-size:11px;font-weight:700;text-decoration:none}.textarea-field{margin-bottom:14px;display:block;position:relative}.textarea-field textarea{resize:vertical;width:100%;min-height:170px;color:var(--ink);background:#fff;border:1px solid #e1e7e2;border-radius:18px;padding:15px 15px 36px;font-size:13px;line-height:1.65}.textarea-field span{color:#9da69f;font-size:9px;position:absolute;bottom:12px;right:13px}.qr-card{background:#fff;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;min-height:270px;margin:14px 0;padding:20px;display:flex;box-shadow:0 12px 28px #27422d0f}.qr-card img{width:248px;height:248px}.qr-card small{color:#8e9890;margin-top:10px;font-size:10px}.transaction-list article>div{flex-direction:column;min-width:0;display:flex}.transaction-list article>span{flex:none;font-size:14px;font-weight:800}.transaction-list .income{color:var(--green)}.transaction-list .expense{color:#e46446}.detail-stack{flex-direction:column;gap:14px;display:flex}.detail-status{background:#fff;border-radius:18px;min-height:62px;padding:13px}.detail-status strong{color:#ec6847;font-size:20px}.detail-stack dl{background:#fff;border-radius:18px;margin:0;padding:5px 14px}.detail-stack dl div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.detail-stack dl div:last-child{border-bottom:0}.detail-stack dt{color:#8b958e;font-size:11px}.detail-stack dd{text-align:right;margin:0;font-size:11px;font-weight:700}.detail-dishes{background:#fff;border-radius:18px;overflow:hidden}.detail-dishes div{border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 14px;font-size:11px;display:flex}.reason-box{color:#a05d42;background:#fff2e9;border-radius:15px;margin:0;padding:13px;font-size:11px;line-height:1.6}.danger-outline-button{color:#bb584d;background:#fff7f6;border:1px solid #efd0cd;margin-top:14px}.inline-loading,.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:180px;padding:28px;display:flex}.inline-loading .spinner{width:28px;height:28px}.inline-loading p,.empty-state p{color:#949e96;margin:11px 0 0;font-size:10px}.empty-state>div{color:#77a77e;background:#e7f3e8;border-radius:19px;place-items:center;width:58px;height:58px;font-size:20px;font-weight:800;display:grid}.empty-state h3{margin:13px 0 0;font-size:14px}.toast{z-index:80;top:calc(20px + env(safe-area-inset-top));color:#fff;text-align:center;background:#1a311ff0;border-radius:14px;max-width:calc(100% - 40px);padding:12px 18px;font-size:12px;line-height:1.5;animation:.22s toastIn;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #19291d2e}.toast.error{background:#a34036f5}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-10px)}}@media (width<=860px){.login-page{background:linear-gradient(#2da440 0,#3eb34e 38%,#f6f9f6 38%);display:block}.login-visual{min-height:38dvh;padding:calc(58px + env(safe-area-inset-top)) 24px 26px;border-radius:0 0 34px 34px;justify-content:flex-end}.brand-chip{top:calc(20px + env(safe-area-inset-top));font-size:13px;left:22px}.login-illustration-wrap{top:calc(45px + env(safe-area-inset-top));opacity:.88;width:min(48vw,220px);margin:0;position:absolute;right:12px}.login-visual .login-eyebrow,.login-visual h1,.login-visual>p:last-child{z-index:1;text-align:left;width:100%;position:relative}.login-visual h1{padding-right:30%;font-size:29px}.login-visual>p:last-child{max-width:72%;font-size:11px;line-height:1.5}.login-panel{min-height:auto;padding:28px 22px calc(32px + env(safe-area-inset-bottom))}.login-heading h2{font-size:27px}}@media (width<=380px){.home-hero{min-height:175px}.hero-copy h2{font-size:22px}.home-services small{display:none}.meal-buttons{grid-template-columns:1fr}.dish-layout{grid-template-columns:76px 1fr}.category-list button{font-size:10px}.dish-card{grid-template-columns:76px 1fr}.dish-photo{width:76px;height:76px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:#e8eee9}.page-view{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.login-page{background:#f5f6fa;flex-direction:column;width:min(100%,520px);min-height:100dvh;margin:0 auto;display:flex;box-shadow:0 0 80px #1d372329}.login-page-hero{min-height:31dvh;padding:calc(20px + env(safe-area-inset-top)) 20px 18px;flex-direction:column;justify-content:center;align-items:center;display:flex}.login-page-hero img:first-child{object-fit:contain;width:min(56vw,260px);max-height:180px}.login-page-hero img:last-child{width:100px;margin-top:12px}.mini-login-panel.login-panel{min-height:69dvh;padding:12px 16px calc(22px + env(safe-area-inset-bottom));background:linear-gradient(#f4ffef 0%,#fff 90px);border-radius:14px 14px 0 0;align-items:flex-start}.mini-login-card.login-card{width:100%;max-width:456px}.popup-handle{background:#2eae3f2e;border-radius:999px;width:44px;height:4px;margin:0 auto 11px}.login-hero-card{background:#ffffffeb;border:1px solid #2eae3f1f;border-radius:14px;align-items:center;gap:12px;margin-bottom:11px;padding:9px 10px 13px;display:flex;box-shadow:0 8px 18px #2eae3f14}.login-avatar{background:#fff;border-radius:50%;flex:none;width:60px;height:60px;overflow:hidden;box-shadow:0 4px 10px #0f172a1f}.login-avatar img{object-fit:cover;width:100%;height:100%}.login-heading{flex:1;min-width:0}.login-heading p{color:#218c31;letter-spacing:0;background:#2eae3f1a;border-radius:999px;align-items:center;height:20px;margin:0 0 6px -9px;padding:0 9px;font-size:14px;display:inline-flex}.login-heading h2{color:#1f2937;letter-spacing:0;margin:0;font-size:18px}.login-heading span{color:#6b7280;margin-top:5px;font-size:12px;line-height:1.45;display:block}.mini-login-card>.segmented{border-radius:12px;margin:4px 0 9px}.mini-login-form.login-form{gap:9px;margin-top:0}.mini-login-form .mini-form-item{background:#fffffff5;border:1px solid #0f172a0f;border-radius:12px;flex-direction:row;align-items:center;gap:0;min-height:56px;margin:0;padding:0 14px;display:flex;box-shadow:0 5px 14px #0f172a0a}.mini-login-form .mini-form-item>span{color:#1f2937;flex:none;width:58px;font-size:14px;font-weight:600}.mini-login-form .mini-form-item input{min-width:0;height:54px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;font-size:14px}.mini-login-form .mini-form-item>.mini-form-select-wrap{color:#111827;flex:auto;align-items:center;width:auto;min-width:0;font-weight:400;display:flex;position:relative}.mini-login-form .mini-form-select-wrap select{color:#111827;width:100%;min-width:0;height:54px;font:inherit;text-overflow:ellipsis;white-space:nowrap;appearance:none;background:0 0;border:0;outline:0;padding:0 24px 0 0;font-size:14px;overflow:hidden}.mini-login-form .mini-form-select-wrap select.placeholder,.mini-login-form .mini-form-select-wrap select:disabled{color:#9ca3af}.mini-login-form .mini-form-select-wrap b{color:#9ca3af;pointer-events:none;font-size:22px;font-weight:400;line-height:1;position:absolute;right:2px}.mini-privacy-agreement{color:#6b7280;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;width:100%;min-height:22px;padding:6px 4px;font-size:11.5px;line-height:1.5;flex-direction:row!important;gap:3px!important;display:flex!important}.mini-privacy-agreement>input{cursor:pointer;appearance:none;margin:0;width:16px!important;min-width:16px!important;height:16px!important;box-shadow:none!important;background:#fff!important;border:1px solid #cbd5ce!important;border-radius:50%!important;padding:0!important}.mini-privacy-agreement>input:checked{background:#2eae3f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m4 8 2.4 2.4L12 5.5'/%3E%3C/svg%3E") 50%/13px 13px no-repeat!important;border-color:#2eae3f!important}.mini-privacy-agreement>span{color:#6b7280!important;width:auto!important;font-size:inherit!important;font-weight:400!important}.mini-privacy-agreement button{color:#218c31;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.mini-submit-tips{color:#6b7280;text-align:center;margin:0 0 -2px;font-size:11px;line-height:1.5}.mini-login-form .login-submit{border-radius:24px;height:48px;min-height:48px;margin-top:5px;font-size:16px}.mini-login-card .login-help{margin-top:10px}.entrance-error{min-height:100dvh;padding:calc(28px + env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom));background:linear-gradient(#e6f7e9 0%,#f5f6fa 64% 100%);flex-direction:column;align-items:center;display:flex;position:relative;overflow:hidden}.entrance-error:after{content:"";border:28px solid #2eae3f0a;border-radius:50%;width:176px;height:176px;position:absolute;bottom:-54px;right:-42px}.entrance-error-glow{filter:blur(1px);pointer-events:none;border-radius:50%;position:absolute}.entrance-error-glow-left{background:#ffffff85;width:230px;height:230px;top:-82px;left:-92px}.entrance-error-glow-right{background:#97e5a229;width:176px;height:176px;top:22%;right:-88px}.entrance-error-brand{z-index:1;flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.entrance-error-banner{aspect-ratio:515.38/380.12;object-fit:contain;filter:drop-shadow(0 18px 22px #438f4e14);width:min(72%,360px);margin-top:3dvh}.entrance-error-title{object-fit:contain;width:100px;height:16px;margin-top:24px}.entrance-error-slogan{object-fit:contain;width:222px;height:28px;margin-top:17px}.entrance-error-card{z-index:1;background:#fffffff0;border:1px solid #2eae3f14;border-radius:18px;align-items:center;gap:16px;width:min(100%,344px);min-height:82px;margin-top:34px;padding:15px 18px;display:flex;position:relative;box-shadow:0 14px 34px #3c714317}.entrance-error-mark{color:#fff;background:linear-gradient(145deg,#40bf52,#2eae3f);border-radius:17px;flex:none;place-items:center;width:52px;height:52px;font-size:28px;font-weight:800;display:grid;box-shadow:0 9px 18px #2eae3f33}.entrance-error-card h1{color:#1f2a27;letter-spacing:.02em;margin:0;font-size:23px;font-weight:600}.auth-popup-backdrop{z-index:200000;background:#0f172a66;align-items:flex-end;animation:.2s fadeIn;display:flex;position:absolute;inset:0}.auth-popup-panel{width:100%;max-height:82dvh;padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(#f4ffef 0%,#fff 90px);border-radius:14px 14px 0 0;animation:.24s sheetUp;position:relative;overflow:hidden auto;box-shadow:0 -18px 48px #182a1d33}.auth-popup-panel .mini-login-card{width:100%;max-width:none}.identity-entry-page{background:radial-gradient(circle at 88% 6%,#6cd37e29,#0000 25%),radial-gradient(circle at 2% 92%,#6399dd1a,#0000 28%),#f7f9fc}.auth-standalone-backdrop{background:0 0;align-items:stretch;animation:none;position:absolute}.auth-standalone-panel{min-height:100dvh;max-height:none;padding:calc(28px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom));box-shadow:none;background:0 0;border-radius:0;justify-content:center;align-items:center;animation:none;display:flex}.auth-standalone-panel .popup-handle{display:none}.auth-standalone-panel .login-card{width:100%;max-width:430px}.auth-standalone-panel.identity-popup-panel{padding-top:calc(68px + env(safe-area-inset-top));align-items:flex-start}.auth-standalone-panel .identity-card{padding-bottom:0}.auth-standalone-panel .identity-heading h2{font-size:27px}.auth-standalone-panel .identity-heading p{margin-top:13px;font-size:16px}.auth-standalone-panel .identity-options{gap:18px}.auth-standalone-panel .identity-options>button>span{border-radius:22px;width:72px;height:72px}.auth-standalone-panel .identity-back{top:calc(18px + env(safe-area-inset-top));left:18px}.identity-popup-panel{background:linear-gradient(#f0faef,#fff 130px);max-height:none;padding-top:10px}.identity-card{padding:4px 0 10px}.identity-heading{text-align:center;padding:23px 38px 20px}.identity-heading h2{color:#183122;text-wrap:balance;max-width:320px;margin:0 auto;font-size:22px;line-height:1.35}.identity-heading p{color:#8c968f;margin:8px 0 0;font-size:14px}.identity-options>button{color:#2c3830;text-align:left;background:#f8faf8;border:1px solid #e4e9e5;border-radius:20px;grid-template-columns:66px minmax(0,1fr) 20px;align-items:center;gap:14px;min-height:112px;padding:17px;display:grid}.identity-options>button>span{color:#fff;background:linear-gradient(145deg,#82d991,#2eae3f);border-radius:20px;place-items:center;width:66px;height:66px;font-size:25px;font-weight:800;display:grid;box-shadow:0 9px 18px #2eae3f33}.identity-options>button:not(.visitor)>span{background:linear-gradient(145deg,#90bde9,#5d92c8);box-shadow:0 9px 18px #4077ac2e}.identity-options strong{font-size:19px}.identity-options small{color:#879189;font-size:12px;line-height:1.45}.identity-options b{color:#abb4ad;font-size:24px;font-weight:400}.identity-back{z-index:3;color:#435048;background:#1118270f;border:0;border-radius:50%;place-items:center;width:30px;height:30px;font-size:25px;line-height:1;display:grid;position:absolute;top:10px;left:12px}.auth-popup-close{z-index:2;color:#4b5563;background:#1118270f;border:0;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;font-size:17px;line-height:1;display:grid;position:absolute;top:10px;right:12px}.privacy-dialog-backdrop{z-index:200010;padding:max(18px, env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom));background:#0f172a94;place-items:center;animation:.18s fadeIn;display:grid;position:absolute;inset:0}.privacy-dialog{background:#f8f9fa;border-radius:18px;flex-direction:column;width:min(100%,456px);max-height:min(82dvh,720px);display:flex;overflow:hidden;box-shadow:0 24px 70px #0f172a4d}.privacy-dialog>header{color:#fff;background:linear-gradient(135deg,#2eae3f 0%,#58c86c 100%);justify-content:space-between;align-items:center;padding:18px 18px 16px;display:flex}.privacy-dialog>header h2{margin:0;font-size:20px}.privacy-dialog>header p{color:#ffffffdb;margin:5px 0 0;font-size:11px}.privacy-dialog>header button{color:#fff;background:#ffffff2e;border:0;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;font-size:19px;display:grid}.privacy-dialog-content{background:#fff;flex:1;padding:18px;overflow-y:auto}.privacy-dialog-content h3{color:#29332c;margin:20px 0 8px;font-size:15px}.privacy-dialog-content h3:first-child{margin-top:0}.privacy-dialog-content h4{color:#2eae3f;margin:13px 0 6px;font-size:13px}.privacy-dialog-content p{color:#667069;margin:0;font-size:12px;line-height:1.75}.privacy-dialog-confirm{width:calc(100% - 32px);min-height:44px;margin:12px 16px 16px}.home-view{background:#f5f6fa;padding-left:0;padding-right:0;position:relative}.mini-home-back{z-index:4;top:calc(14px + env(safe-area-inset-top));color:#425048;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#fffffff0;border:1px solid #2eae3f1f;border-radius:14px;place-items:center;width:42px;height:42px;padding:0;display:grid;position:absolute;left:16px;box-shadow:0 8px 22px #1f4e291a}.mini-home-back svg{stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px;transform:rotate(180deg)}.mini-home-back:active{color:var(--green-dark);transform:scale(.96)}.mini-home-header{width:100%;padding:env(safe-area-inset-top) 4px 0;flex-direction:column;align-items:center;display:flex}.mini-home-banner{aspect-ratio:515.38/380.12;object-fit:contain;width:68.72%;margin-top:5.6dvh}.mini-home-title{object-fit:contain;width:100px;height:16px;margin-top:25px}.mini-home-content{background:#f5f6fa;flex-direction:column;width:100%;margin-top:5px;padding:0;display:flex}.mini-home-slogan{object-fit:contain;align-self:center;width:222.5px;height:27.5px;margin:4px 0 13px}.mini-home-content .notice-card{width:calc(100% - 32px);min-height:49px;box-shadow:none;border-radius:13px;align-self:center;gap:7px;margin:12px 0 0;padding:3px 9px 0}.mini-home-content .notice-card img{width:19px;height:auto}.mini-home-content .notice-card span{color:#323232;font-size:14.75px}.mini-home-content .home-services{box-sizing:border-box;grid-template-columns:none;justify-content:space-between;align-self:center;align-items:center;gap:0;width:calc(100% - 32px);margin-top:12.5px;display:flex}.mini-home-content .home-services button{width:30.47%;height:104.5px;min-height:104.5px;box-shadow:none;box-sizing:border-box;background:#fff;border-radius:13px;flex:none;justify-content:center;align-self:center;padding:12.5px 0 13px}.mini-home-content .service-icon{background:0 0;border-radius:0;flex:none;justify-content:center;align-self:center;align-items:center;width:50px;height:49px;display:flex}.mini-home-content .service-icon img{object-fit:contain;object-position:center;flex:none;width:50px;height:49px;display:block}.mini-home-content .home-services strong{color:#000;text-overflow:ellipsis;white-space:nowrap;align-self:center;max-width:97px;margin-top:5px;font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;font-weight:400;line-height:22.44px;overflow:hidden}.mini-home-actions.home-actions{align-self:center;gap:11px;width:87.69%;margin:26px 0 40px}.mini-home-actions.home-actions>button{text-align:center;border-radius:13px;justify-content:center;min-height:51px;padding:0 14px}.mini-home-actions.home-actions>button>span{border-radius:0;width:20px;height:20px;background:0 0!important}.mini-home-actions.home-actions img{width:20px;height:20px}.mini-home-actions.home-actions div{flex:0 auto}.mini-home-actions.home-actions strong{font-size:17px}.mini-home-actions.home-actions small,.mini-home-actions.home-actions b{display:none}.bottom-nav{min-height:calc(66px + env(safe-area-inset-bottom));padding:5px 0 calc(5px + env(safe-area-inset-bottom));box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-top:1px solid #f2f2f7;align-items:stretch}.bottom-nav button{color:#9e9e9e;border-radius:0;flex:1;gap:4px;min-width:0;min-height:56px;padding:2px 0 3px;font-size:13px;font-weight:400}.bottom-nav button.active{color:var(--green);background:0 0;font-weight:600}.bottom-nav img{width:28px;height:28px}.booking-view{background:#f5f6fa}.mini-report-header.green-panel{padding:calc(14px + env(safe-area-inset-top)) 16px 31px;background:var(--green);border-radius:0}.mini-report-header .canteen-select{min-height:30px}.mini-report-header .week-switcher{margin-top:13px}.booking-content{z-index:1;background:#f5f6fa;border-radius:13px 13px 0 0;min-height:520px;margin-top:-22px;padding:16px 16px 110px;position:relative}.meal-filter-row{justify-content:space-between;gap:8px}.meal-filter-row span{color:#555;text-align:center;background:#fff;border:1px solid #fff;border-radius:6px;flex:1;padding:7px 12px;font-size:12.8px}.meal-schedule{box-shadow:none;border-radius:13px;margin-top:10px;padding:16px 4px 13px}.meal-day{border:0;grid-template-columns:48px 1fr;gap:18px;min-height:48px;padding:0 10px}.meal-day+.meal-day{margin-top:8px}.meal-date{background:#fff;border:1px solid #e6e6e6;border-radius:10px;width:48px;height:48px}.meal-date strong{font-size:17px;font-weight:500}.meal-date span{margin-top:0;font-size:12px}.meal-buttons{justify-content:space-around;align-items:center;gap:10px;display:flex}.meal-buttons button{text-align:center;border:1px solid #e6e6e6;border-radius:50%;align-items:center;width:48px;min-width:48px;min-height:48px;padding:0}.meal-buttons button span{text-overflow:clip;white-space:nowrap;width:18px;font-size:17px;font-weight:400;display:block;overflow:hidden}.meal-buttons button small{display:none}.checkout-bar{right:0;bottom:calc(66px + env(safe-area-inset-bottom));-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-top:1px solid #ececec;border-radius:0;min-height:62px;padding:7px 12px;left:0;box-shadow:0 -3px 12px #0f172a0f}.checkout-bar>button{border-radius:22px;min-height:44px}.dish-view{background:#fff}.mini-dish-header.dish-toolbar{padding:calc(13px + env(safe-area-inset-top)) 16px 34px;background:var(--green)}.mini-dish-header.dish-toolbar>select{color:#fff;background:#4dba5c;height:36px;margin-bottom:7px}.mini-dish-header.dish-toolbar>select option{color:#18221c}.mini-dish-header .date-strip button{color:#a1ffae;background:#4dba5c}.mini-dish-header .date-strip button.active{color:var(--green-dark);box-shadow:none;background:#fff}.dish-view .meal-tabs{z-index:2;background:linear-gradient(99deg,#d7ffdb 13%,#cdf5ff 82%);border-radius:13px 13px 0 0;justify-content:space-around;min-height:54px;margin-top:-22px;padding:11px 16px 8px;position:relative}.dish-view .meal-tabs button{color:#555;background:#ffffffb8;border-radius:7px;flex:1}.dish-view .meal-tabs button.active{color:#fff;background:var(--green)}.dish-layout{background:#fff;grid-template-columns:75px 1px 1fr;min-height:520px}.dish-layout:before{content:"";background:#ececec;grid-area:1/2}.category-list{background:#f6f7fb;grid-area:1/1}.category-list button{color:#555;background:#f6f7fb;border-left-width:3px;min-height:55px;font-size:12px}.dish-list{grid-area:1/3;gap:0;padding:0 14px 100px 9px}.dish-card{grid-template-columns:73px 1fr;gap:10px;min-height:94px;padding:10px 0}.dish-photo{border-radius:8px;width:73px;height:73px}.dish-copy h3{font-size:14px}.dish-copy p{margin-top:3px;font-size:11px}.dish-copy>div strong{color:#ff4d5e;font-size:17px}.stepper{bottom:14px;right:0}.stepper button{border-radius:50%;width:32px;height:32px}.orders-view{background:linear-gradient(#eef8f1 0%,#f5f6fa 18% 100%);padding-left:0;padding-right:0}.mini-top-bar{min-height:calc(52px + env(safe-area-inset-top));background:#fff;justify-content:center;align-items:flex-end;padding:0 18px 13px;display:flex}.mini-top-bar h1{margin:0;font-size:18px;font-weight:600}.order-filter-panel{background:#fffffff5;border-radius:14px;margin:12px 12px 9px;padding:12px;box-shadow:0 8px 18px #1f34240f}.order-filter-section{align-items:flex-start;display:flex}.order-filter-section>span{color:#7e8b87;letter-spacing:1px;flex:none;width:46px;padding-top:5px;font-size:12px;font-weight:600}.order-filter-section>div{flex-wrap:wrap;flex:1;gap:8px;display:flex}.order-filter-section button{color:#5d6965;background:#f1f5f3;border:0;border-radius:15px;min-width:56px;height:30px;padding:0 12px;font-size:13px;font-weight:500}.order-filter-section button.active{color:#fff;background:linear-gradient(135deg,#38b24d 0%,#2eae3f 100%);box-shadow:0 5px 12px #2eae3f38}.order-filter-divider{background:#0f172a0f;height:1px;margin:11px 0}.order-summary-strip{background:#fffffff0;border-radius:12px;justify-content:space-between;align-items:center;margin:0 12px 9px;padding:11px 12px;display:flex;box-shadow:0 6px 16px #0f172a0d}.order-summary-strip>span{color:#6d7975;align-items:center;font-size:12px;display:flex}.order-summary-strip i{background:var(--green);border-radius:50%;width:8px;height:8px;margin-right:6px;box-shadow:0 0 0 4px #2eae3f1f}.order-summary-strip p{color:#8b9793;margin:0;font-size:11px}.order-summary-strip p strong:last-child{color:#eb5b3c;font-size:15px}.orders-view .order-list{gap:10px;padding:0 12px 24px}.orders-view .order-card{border:0;border-radius:15px;padding:14px;box-shadow:0 9px 22px #14281e0f}.orders-view .order-card-head{align-items:flex-start;gap:8px}.orders-view .order-card-head-main{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.orders-view .order-card-head-main>span{color:#308e3e;background:#e9f6eb;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:600}.orders-view .order-card h3{color:#1f2a27;text-overflow:ellipsis;white-space:nowrap;max-width:150px;margin:0;font-size:15px;font-weight:600;overflow:hidden}.orders-view .order-meta{color:#8a9692;text-overflow:ellipsis;white-space:nowrap;margin-top:9px;font-size:12px;overflow:hidden}.orders-view .approval-reason{color:#b94b42;background:#fff0ee;border-radius:8px;margin:10px 0 0;padding:8px 10px;font-size:11px}.order-dishes{margin-top:12px}.order-dish-row{align-items:center;gap:9px;display:flex}.order-dish-row+.order-dish-row{border-top:1px solid #0f172a0f;margin-top:9px;padding-top:9px}.order-dish-image{color:#68a672;background:#eef3ef;border-radius:11px;flex:none;place-items:center;width:54px;height:54px;font-size:16px;font-weight:700;display:grid;overflow:hidden}.order-dish-image img{object-fit:cover;width:100%;height:100%}.order-dish-body{flex-direction:column;flex:1;min-width:0;display:flex}.order-dish-body strong{color:#1f2a27;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.order-dish-body small{color:#92a09b;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.order-dish-side{flex-direction:column;flex:none;align-items:flex-end;display:flex}.order-dish-side span{color:#7c8783;font-size:12px}.order-dish-side strong{color:#eb5b3c;margin-top:5px;font-size:13px}.order-dish-more{color:#8b9793;text-align:center;margin-top:9px;font-size:11px}.orders-view .order-card-foot{margin-top:12px;padding-top:11px}.orders-view .order-card-foot>div{align-items:baseline;gap:8px;display:flex}.orders-view .order-card-foot span{color:#8b9793;font-size:11px}@media (width>=521px){.bottom-nav,.checkout-bar{width:520px;left:auto;right:50%;transform:translate(50%)}}@media (width<=380px){.mini-login-form .mini-form-item>span{width:58px}.meal-buttons{display:flex}}.profile-view{background:radial-gradient(circle at 18% 7%,#ffffff57 0,#fff0 12%),radial-gradient(circle at 84% 9%,#fff3 0,#fff0 10%),linear-gradient(#cbf6d1 0%,#ddf7df 18%,#e9f6ea 38%,#eef4ef 60%,#f3f6f3 100%);padding-left:0;padding-right:0}.profile-view .mine-content{padding:calc(54px + env(safe-area-inset-top)) 9px 30px}.profile-view .profile-card{padding-bottom:3px}.profile-view .profile-main{gap:0}.profile-view .avatar-large{background:#ffffffeb;border:0;border-radius:50%;width:54px;height:54px;overflow:hidden;box-shadow:0 5px 11px #6b9e701f}.profile-view .avatar-large img{object-fit:cover;width:100%;height:100%}.profile-view .profile-copy{margin-left:12px}.profile-view .profile-copy h1{color:#161616;margin:0;font-size:19px;font-weight:600}.profile-view .wallet-cards{gap:10px;margin-top:13px}.profile-view .wallet-cards button{border-radius:15px;gap:9px;min-height:60px;padding:11px 12px;box-shadow:0 5px 13px #669a6c14}.profile-view .wallet-cards img{width:38px;height:38px}.profile-view .wallet-cards small{color:#11182799;font-size:12px}.profile-view .wallet-cards strong{color:#111827;margin-top:4px;font-size:17px}.profile-view .wallet-cards .wallet-link{color:var(--green);font-size:15px}.profile-view .profile-section{margin-top:17px}.profile-view .profile-section h2{color:#6b7280;margin:0;padding:0 1px 10px;font-size:15px;font-weight:500}.profile-view .profile-menu{border-radius:15px;box-shadow:0 6px 15px #52876014}.profile-view .profile-menu button{border-bottom-color:#edf0ea;gap:0;min-height:56px;padding:0 14px}.profile-view .profile-menu>button>img:first-child{width:22px;height:22px}.profile-view .profile-menu span{margin-left:13px}.profile-view .profile-menu strong{color:#2f3136;font-size:16px;font-weight:400}.profile-view .profile-menu-arrow{opacity:.5;width:11px;height:11px}.profile-view .manager-note{border-radius:15px;margin-top:17px}.profile-view .logout-button{border-radius:15px;min-height:48px;margin-top:17px}.mall-view{padding:0 0 calc(72px + env(safe-area-inset-bottom));background:#f5f6fa}.mini-mall-header{padding:calc(14px + env(safe-area-inset-top)) 16px 18px;color:#fff;background:var(--green)}.mini-mall-title{justify-content:space-between;align-items:center;min-height:32px;display:flex}.mini-mall-title>span{align-items:center;gap:7px;font-size:16px;font-weight:500;display:flex}.mini-mall-title img{filter:brightness(0)invert();width:21px}.mini-mall-title button{color:#fff;background:0 0;border:0;font-size:14px}.mini-mall-title button:disabled{opacity:.72}.mini-mall-notice{color:#a1ffae;background:#4dba5c;border-radius:5px;align-items:center;gap:8px;height:29px;margin:7px 0 9px;padding:0 16px;font-size:13px;display:flex}.mini-mall-notice img{width:18px}.mini-mall-search{align-items:center;gap:8px;display:flex}.mini-mall-search input{color:#111827;background:#fff;border:0;border-radius:19px;flex:1;min-width:0;height:38px;padding:0 13px;font-size:13px}.mini-mall-search button{width:58px;height:38px;color:var(--green-dark);background:#fff;border:0;border-radius:19px;font-size:13px;font-weight:600}.mini-mall-layout{background:#fff;grid-template-columns:75px 1fr;min-height:560px;display:grid}.mini-mall-categories{background:#f6f7fb;border-right:1px solid #ececec;flex-direction:column;display:flex}.mini-mall-categories button{color:#555;background:#f6f7fb;border:0;min-height:55px;padding:6px;font-size:12px;position:relative}.mini-mall-categories button.active{color:var(--green);background:#fff;font-weight:600}.mini-mall-categories button.active:before{background:var(--green);content:"";border-radius:0 2px 2px 0;width:3px;height:17px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.mini-mall-goods{min-width:0;padding:0 14px 30px 9px}.mini-goods-row{border-bottom:1px solid #ececec;gap:10px;min-height:94px;padding:10px 0;display:flex}.mini-goods-cover{color:#9ca3af;background:#eef2f7;border-radius:8px;flex:none;place-items:center;width:73px;height:73px;font-size:13px;display:grid;overflow:hidden}.mini-goods-cover img{object-fit:cover;width:100%;height:100%}.mini-goods-copy{flex-direction:column;flex:1;min-width:0;display:flex}.mini-goods-copy h3{color:#333;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:600;overflow:hidden}.mini-goods-copy small,.mini-goods-copy p{color:#969696;text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:11px;overflow:hidden}.mini-goods-copy>div{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.mini-goods-copy>div strong{color:#ff4d5e;font-size:17px}.mini-goods-copy>div button{color:#fff;background:var(--green);border:0;border-radius:50%;width:32px;height:32px;font-size:20px}.mini-goods-copy>div button:disabled{opacity:.36}.mini-booking-page,.mini-dish-page,.mini-orders-page{min-height:100dvh;padding-left:0;padding-right:0}.mini-meal-header{z-index:1;padding:calc(12px + env(safe-area-inset-top)) 16px 42px;color:#fff;background:var(--green);flex-direction:column;display:flex;position:relative}.mini-canteen-control{align-self:flex-start;align-items:center;max-width:100%;min-height:32px;display:flex}.mini-canteen-control>img{filter:brightness(0)invert();flex:none;width:21px;height:21px}.mini-canteen-control select{color:#fff;appearance:none;background:0 0;border:0;min-width:0;max-width:290px;padding:0 4px 0 7px;font-size:16px;font-weight:500}.mini-canteen-control select option{color:#18221c;background:#fff}.mini-canteen-control b{color:#ffffffe0;margin-top:-2px;font-size:22px;font-weight:400;transform:rotate(90deg)}.meal-notice-strip{color:#67ea79;text-align:left;background:#4dba5c;border:0;border-radius:5px;align-items:center;gap:9px;width:100%;height:29px;margin:7px 0 8px;padding:0 16px;display:flex;overflow:hidden}.meal-notice-strip img{flex:none;width:19px;height:19px}.meal-notice-strip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;line-height:1.3;overflow:hidden}.mini-week-nav{grid-template-columns:74px 1fr 74px;align-items:center;gap:5px;min-height:30px;display:grid}.mini-week-nav button{background:0 0;border:0;align-items:center;height:30px;padding:0;display:flex}.mini-week-nav button:last-child{justify-content:flex-end}.mini-week-nav img{object-fit:contain;width:50px;height:30px}.mini-week-nav strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:400;overflow:hidden}.mini-booking-content{z-index:2;background:#f5f6fa;border-radius:13px 13px 0 0;min-height:610px;margin-top:-22px;padding:16px 16px 130px;position:relative}.mini-meal-type-filters{justify-content:space-between;align-items:center;gap:8px;display:flex}.mini-meal-type-filters button{color:#555;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #fff;border-radius:7px;flex:1;min-width:0;height:28px;padding:0 12px;font-size:13px;overflow:hidden}.mini-meal-type-filters button.active{border-color:var(--green);color:var(--green);background:#f4fff4;position:relative}.mini-meal-type-filters button.active:after,.mini-meal-options button.selected:after{color:#fff;background:var(--green);content:"✓";text-align:center;border-radius:12px 0 6px;width:14px;height:14px;font-size:9px;line-height:15px;position:absolute;bottom:-1px;right:-1px}.mini-meal-schedule{background:#fff;border-radius:13px;flex-direction:column;gap:4px;margin-top:10px;padding:16px 14px 13px;display:flex}.mini-meal-day{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:18px;min-height:48px;padding:0 4px;display:grid}.mini-meal-date{border:1px solid #e6e6e6;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.mini-meal-date strong{color:#323232;font-size:17px;font-weight:500;line-height:22px}.mini-meal-date span{color:#969696;font-size:12px;font-weight:500;line-height:16px}.mini-meal-options{justify-content:space-around;align-items:center;gap:8px;min-width:0;display:flex}.mini-meal-options button{color:#555;background:#fff;border:1px solid #e6e6e6;border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;padding:0;display:grid;position:relative}.mini-meal-options button>span{text-overflow:clip;white-space:nowrap;width:18px;font-size:17px;line-height:22px;overflow:hidden}.mini-meal-options button.disabled{color:#bbb;cursor:default;opacity:.72;background:#f6f6f6}.mini-meal-options button.selected{border:2px solid var(--green);color:var(--green);background:#f4fff4}.mini-meal-options button.ordered:not(.selected){color:#7cab84;background:#f2faf3;border-color:#9bd8a4}.mini-meal-options button em{color:#fff;background:#ff4d5e;border:2px solid #fff;border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-style:normal;display:grid;position:absolute;top:-5px;right:-4px}.mini-menu-image{background:0 0;border:0;border-radius:9px;width:100%;margin-top:9px;padding:0;display:block;overflow:hidden}.mini-menu-image img{width:100%}.mini-order-summary,.mini-cart-footer{z-index:80;right:0;bottom:calc(66px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #ececec;justify-content:space-between;align-items:center;width:100%;min-height:64px;padding:7px 12px;display:flex;position:fixed;left:0;box-shadow:0 -3px 12px #0f172a0f}.mini-order-summary>div{min-width:0;padding-right:10px}.mini-order-summary p,.mini-order-summary small{text-overflow:ellipsis;white-space:nowrap;margin:0;display:block;overflow:hidden}.mini-order-summary p{color:#505050;font-size:14px;font-weight:600}.mini-order-summary p strong,.mini-order-summary small b{color:#ff4d5e}.mini-order-summary small{color:#929292;margin-top:3px;font-size:10px}.mini-order-summary>button{color:#fff;background:var(--green);border:0;border-radius:22px;min-width:128px;height:44px;padding:0 18px;font-size:15px;font-weight:500}.image-preview{z-index:300;background:#000000db;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.image-preview img{object-fit:contain;max-width:min(100%,520px);max-height:90dvh}.mini-dish-page{background:#fff}.mini-dish-top{padding-bottom:34px}.mini-week-nav.compact{grid-template-columns:60px 1fr 60px;min-height:27px}.mini-week-nav.compact img{width:42px;height:25px}.mini-week-nav.compact strong{font-size:15px}.mini-date-row{scrollbar-width:none;gap:5px;width:calc(100% + 4px);margin-left:-2px;padding-top:5px;display:flex;overflow-x:auto}.mini-date-row::-webkit-scrollbar{display:none}.mini-date-row button{color:#fff;background:0 0;border:0;border-radius:7px;flex-direction:column;flex:1 0 44px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.mini-date-row button:disabled{color:#ffffff6b}.mini-date-row button.active{color:#4db65b;background:#fff}.mini-date-row span{font-size:10px;line-height:14px}.mini-date-row strong{font-size:14px;font-weight:500;line-height:18px}.mini-dish-meal-tabs{z-index:3;scrollbar-width:none;background:linear-gradient(99deg,#d7ffdb 13%,#cdf5ff 82%);border-radius:13px 13px 0 0;gap:13px;min-height:90px;margin-top:-20px;padding:10px 16px 8px;display:flex;position:relative;overflow-x:auto}.mini-dish-meal-tabs::-webkit-scrollbar{display:none}.mini-dish-meal-tabs button{color:#555;background:#fff;border:1px solid #0000;border-radius:7px;flex-direction:column;flex:none;justify-content:center;align-items:center;min-width:120px;min-height:54px;padding:7px 10px;display:flex;overflow:hidden}.mini-dish-meal-tabs.balanced button{flex:1;min-width:0}.mini-dish-meal-tabs button>span{justify-content:center;align-items:baseline;gap:4px;display:flex}.mini-dish-meal-tabs button strong{font-size:14px;font-weight:500}.mini-dish-meal-tabs button small{color:inherit;font-size:11px}.mini-dish-meal-tabs button em{color:#969696;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:4px;font-size:10px;font-style:normal;overflow:hidden}.mini-dish-meal-tabs button.active{border-color:var(--green);color:var(--green);background:#f4fff4;position:relative}.mini-dish-meal-tabs button.active em{color:var(--green)}.mini-dish-meal-tabs button:disabled{color:#a0a0a0;opacity:.6;background:#f3f4f6}.mini-dish-meal-tabs.compact button>span{align-items:center}.mini-dish-layout{background:#fff;grid-template-columns:75px minmax(0,1fr);min-height:540px;margin-top:-6px;display:grid}.mini-category-list{background:#f6f7fb;border-right:1px solid #ececec;flex-direction:column;display:flex}.mini-category-list button{color:#555;text-overflow:ellipsis;white-space:nowrap;background:#f6f7fb;border:0;min-height:55px;padding:0 7px;font-size:12px;position:relative;overflow:hidden}.mini-category-list button.active{color:var(--green);background:#fff;font-weight:600}.mini-category-list button i{background:0 0;border-radius:0 2px 2px 0;width:3px;height:17px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.mini-category-list button.active i{background:var(--green)}.mini-food-list{background:#fff;min-width:0;padding:0 14px 105px 9px}.mini-food-item{border-bottom:1px solid #ececec;gap:10px;min-height:94px;padding:10px 0;display:flex;position:relative}.mini-food-image,.cart-image-fallback{color:#79aa81;background:#eef3ef;flex:none;place-items:center;font-weight:700;display:grid;overflow:hidden}.mini-food-image{border-radius:8px;width:73px;height:73px}.mini-food-image img{object-fit:cover;width:100%;height:100%}.mini-food-copy{flex-direction:column;flex:1;min-width:0;min-height:73px;padding-bottom:1px;display:flex;position:relative}.mini-food-copy h3,.mini-food-copy p,.mini-food-copy small{margin:0}.mini-food-copy h3{color:#333;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;font-weight:600;line-height:20px;overflow:hidden}.mini-food-copy p{color:#969696;margin-top:3px;font-size:11px}.mini-food-copy>small{color:var(--green);margin-top:2px;font-size:11px}.mini-food-copy>strong{color:#ff4d5e;margin-top:auto;font-size:17px}.mini-stepper,.popup-stepper{justify-content:flex-end;align-items:center;display:flex}.mini-stepper{position:absolute;bottom:4px;right:0}.mini-stepper button,.popup-stepper button{border:1px solid var(--green);width:32px;height:32px;color:var(--green);background:#fff;border-radius:50%;place-items:center;padding:0;font-size:21px;line-height:1;display:grid}.mini-stepper button:last-child,.popup-stepper button:last-child{color:#fff;background:var(--green)}.mini-stepper button:disabled{background:#bbb;border-color:#bbb}.mini-stepper input{color:#333;text-align:center;background:0 0;border:0;width:34px;padding:0}.mini-cart-footer{height:64px;padding:8px 12px}.mini-cart-icon{background:#f3f7ef;border:0;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;padding:0;display:grid;position:relative}.mini-cart-icon img{opacity:.58;width:27px;height:24px}.mini-cart-icon em{color:#fff;background:#ff4d5e;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 3px;font-size:11px;font-style:normal;display:grid;position:absolute;top:-2px;right:-5px}.mini-cart-footer>div{flex:1;align-items:baseline;min-width:0;padding-left:13px;display:flex}.mini-cart-footer>div span{color:#505050;font-size:15px;font-weight:600}.mini-cart-footer>div strong{color:#ff4d5e;font-size:19px}.mini-cart-footer>button:last-child{color:#fff;background:var(--green);border:0;border-radius:22px;min-width:104px;height:42px;padding:0 16px;font-size:15px;font-weight:500}.meal-modal-backdrop{z-index:180;background:#00000075;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.meal-modal{width:min(100%,520px);max-height:calc(90dvh - env(safe-area-inset-top));background:#fff;border-radius:18px 18px 0 0;animation:.2s ease-out sheet-up;overflow:hidden;box-shadow:0 -12px 40px #00000029}.meal-modal>header{background:#fff;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;min-height:58px;padding:12px 16px;display:flex}.meal-modal>header h2{color:#222;margin:0;font-size:17px;font-weight:600}.meal-modal>header button,.meal-modal>header div button{color:#777;background:0 0;border:0;padding:6px}.meal-modal>header div{gap:10px;display:flex}.confirm-order-modal{border-radius:18px;width:min(100% - 48px,430px);margin:auto;padding:24px 22px 20px}.confirm-order-modal h2{text-align:center;margin:0;font-size:19px}.confirm-order-modal p{color:#65716c;text-align:center;margin:15px 0 20px;font-size:14px;line-height:1.7}.confirm-order-modal>div{gap:12px;display:flex}.confirm-order-modal button{color:#66716d;background:#f1f4f2;border:0;border-radius:21px;flex:1;height:42px;font-weight:600}.confirm-order-modal button.primary{color:#fff;background:var(--green)}.cart-popup{flex-direction:column;height:min(72dvh,620px);display:flex}.cart-popup-scroll{flex:1;min-height:0;padding:0 16px;overflow-y:auto}.cart-popup-scroll section{padding:12px 0 4px}.cart-popup-scroll h3,.checkout-group h4{color:var(--green);margin:0 0 9px;font-size:12px;font-weight:600}.cart-popup-scroll article,.checkout-group article{border-bottom:1px solid #f5f5f5;align-items:center;gap:10px;min-height:59px;padding:9px 0;display:flex}.cart-popup-scroll article>img,.cart-popup-scroll .cart-image-fallback{object-fit:cover;border-radius:8px;width:48px;height:48px}.cart-popup-scroll article>div:nth-child(2),.checkout-group article>div{flex-direction:column;flex:1;min-width:0;display:flex}.cart-popup-scroll article strong,.checkout-group article strong{color:#222;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.cart-popup-scroll article small,.checkout-group article small{color:#ff4d5e;margin-top:4px;font-size:12px}.popup-stepper{flex:none}.popup-stepper button{width:28px;height:28px;font-size:18px}.popup-stepper span{color:#333;text-align:center;min-width:30px;font-size:14px}.cart-popup>footer{min-height:70px;padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #f0f0f0;justify-content:space-between;align-items:center;display:flex}.cart-popup>footer>div{flex-direction:column;display:flex}.cart-popup>footer span{color:#888;font-size:12px}.cart-popup>footer strong{color:#ff4d5e;font-size:18px}.cart-popup>footer button,.checkout-totals>button,.custom-address button{color:#fff;background:var(--green);border:0;border-radius:20px;min-width:104px;height:40px;padding:0 16px;font-size:15px;font-weight:500}.checkout-popup{background:#f5f6fa;flex-direction:column;height:min(90dvh,760px);display:flex}.checkout-popup-scroll{flex:1;min-height:0;padding-bottom:10px;overflow-y:auto}.checkout-block{background:#fff;border-radius:12px;margin:10px 12px 0;padding:12px}.checkout-block>h3{color:#222;margin:0 0 10px;font-size:14px;font-weight:600}.usage-buttons{gap:8px;display:flex}.usage-buttons button{color:#666;background:#f2f4f7;border:0;border-radius:20px;flex:1;height:40px;font-size:14px;font-weight:500}.usage-buttons button.active{color:#fff;background:var(--green)}.address-card{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:3px 0;display:flex}.address-card>span{color:#999;flex-direction:column;flex:1;min-width:0;font-size:12px;display:flex}.address-card strong{color:#222;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.address-card small{color:#666;margin-top:5px;font-size:12px;line-height:17px}.address-card b{min-width:64px;height:32px;color:var(--green);background:#2eae3f14;border-radius:16px;place-items:center;padding:0 10px;font-size:12px;font-weight:500;display:grid}.checkout-group+.checkout-group{margin-top:12px}.checkout-group article>img,.checkout-group .cart-image-fallback{object-fit:cover;border-radius:8px;width:44px;height:44px}.checkout-group article>span:last-child{color:#666;font-size:12px}.checkout-totals{padding:10px 12px calc(14px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -3px 10px #0000000f}.checkout-totals>div{flex-direction:column;gap:5px;margin-bottom:9px;display:flex}.checkout-totals p{justify-content:space-between;align-items:center;margin:0;display:flex}.checkout-totals p span{color:#777;font-size:12px}.checkout-totals p strong,.checkout-totals p small{color:#222;font-size:14px;font-weight:600}.checkout-totals p .danger{color:#ff4d5e}.checkout-totals>button{width:100%}.checkout-totals>button:disabled,.custom-address button:disabled{opacity:.55}.address-popup{max-height:min(80dvh,680px);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex}.saved-addresses,.delivery-sites{min-height:0;padding:12px 15px;overflow-y:auto}.saved-addresses button,.delivery-sites button{text-align:left;background:#fff;border:1px solid #e8ece9;border-radius:12px;flex-direction:column;align-items:flex-start;width:100%;padding:13px 14px;display:flex}.saved-addresses button+button,.delivery-sites button+button{margin-top:9px}.saved-addresses button.active{border-color:var(--green);background:#f4fff4}.saved-addresses strong,.delivery-sites strong{color:#222;font-size:14px}.saved-addresses span,.delivery-sites small{color:#7b8782;margin-top:5px;font-size:12px;line-height:18px}.custom-address{padding:15px}.custom-address textarea{resize:vertical;border:1px solid #e5e9e6;border-radius:12px;width:100%;min-height:110px;padding:12px}.custom-address button{width:100%;margin-top:12px}.mini-orders-page .approval-pending{color:#8a5d13;background:#fff8e8;border-radius:8px;margin:10px 0 0;padding:8px 10px;font-size:11px}.order-type-badge{white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:600}.order-type-badge.meal{color:#3169bc;background:#e8f1ff}.order-type-badge.dish{color:#308e3e;background:#e9f6eb}.orders-view .order-card-head>em{white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:11px;font-style:normal;font-weight:600}.orders-view .order-card-head>em.unused{color:#ff9f3d;background:#ff9f3d24}.orders-view .order-card-head>em.unused.expired{color:#ff7a45;background:#ff7a4524}.orders-view .order-card-head>em.used{color:var(--green);background:#2eae3f1f}.orders-view .order-card-head>em.pending-approval{color:#9a6b18;background:#fff4d9}.orders-view .order-card-head>em.rejected{color:#d64545;background:#d645451f}.orders-view .order-card-head>em.cancelled{color:#a0a7b4;background:#a0a7b429}.orders-view .order-card-foot{border-top:1px solid #0f172a0f;justify-content:space-between;align-items:flex-end;display:flex}.orders-view .order-card-foot>small{color:#97a29e;font-size:11px}.orders-view .order-card-foot>div strong{color:#eb5b3c;background:#eb5b3c1f;border-radius:999px;padding:4px 8px;font-size:13px}.order-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.order-actions button{min-width:74px;height:30px;color:var(--green);background:#fff;border:1px solid #2eae3f47;border-radius:15px;padding:0 12px;font-size:12px;font-weight:600}.order-actions button.primary{color:#fff;background:linear-gradient(135deg, #38b24d, var(--green));border-color:#0000;box-shadow:0 5px 12px #2eae3f2e}.order-error>button{color:#fff;background:var(--green);border:0;border-radius:17px;min-width:90px;height:34px;margin:-68px auto 90px;padding:0 14px;display:block}.order-detail-overlay{z-index:220;background:#0000006b;justify-content:center;display:flex;position:fixed;inset:0}.order-detail-page{background:linear-gradient(#eef8f1 0%,#f5f6fa 18% 100%);flex-direction:column;width:min(100%,520px);min-height:100dvh;animation:.2s ease-out detail-in;display:flex}@keyframes detail-in{0%{opacity:.7;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.order-detail-page>header{min-height:calc(50px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 8px 11px;background:#fff;grid-template-columns:44px 1fr 44px;align-items:end;display:grid}.order-detail-page>header button{background:0 0;border:0;height:38px;padding:0;font-size:32px;line-height:1}.order-detail-page>header h1{text-align:center;align-self:center;margin:0;font-size:18px;font-weight:600}.order-detail-scroll{flex:1;min-height:0;padding:12px 12px 24px;overflow-y:auto}.detail-refreshing{color:#92a09b;text-align:center;margin-bottom:10px;font-size:12px}.status-hero-card,.order-detail-card{background:#fffffffa;border-radius:15px;padding:14px;box-shadow:0 9px 22px #14281e0f}.order-detail-card{margin-top:10px}.status-hero-card{flex-direction:column;align-items:center;padding:18px 14px 16px;display:flex}.status-hero-icon{border-radius:50%;place-items:center;width:66px;height:66px;font-size:35px;font-weight:700;display:grid}.status-hero-icon.unused{color:#ff9f3d;background:#ff9f3d24}.status-hero-icon.unused.expired{color:#ff7a45;background:#ff7a4524}.status-hero-icon.used{color:var(--green);background:#2eae3f1f}.status-hero-icon.pending-approval{color:#c58a21;background:#fff4d9}.status-hero-icon.rejected{color:#d64545;background:#d645451f}.status-hero-icon.cancelled{color:#a0a7b4;background:#a0a7b429}.status-hero-card h2{color:#1f2a27;margin:11px 0 0;font-size:18px}.status-hero-card>p{color:#92a09b;margin:5px 0 0;font-size:12px}.status-hero-card>span{color:#5f7069;text-align:center;background:#eef2f0;border-radius:999px;margin-top:9px;padding:5px 9px;font-size:11px;font-weight:600}.status-hero-card>span.unused{color:#ff9f3d;background:#ff9f3d24}.status-hero-card>span.unused.expired{color:#ff7a45;background:#ff7a4524}.status-hero-card>span.pending-approval{color:#9a6b18;background:#fff4d9}.status-hero-card>span.rejected{color:#d64545;background:#d645451f}.status-hero-card>span.cancelled{color:#a0a7b4;background:#a0a7b429}.order-detail-card h2{color:#1f2a27;margin:0;font-size:15px}.verify-card{flex-direction:column;align-items:center;display:flex}.verify-card h2{align-self:flex-start}.verify-card>img{background:#fff;border-radius:8px;width:220px;height:220px;margin-top:13px;padding:6px}.verify-card>strong{color:#1f2a27;text-align:center;word-break:break-all;margin-top:9px;font-size:12px}.order-detail-card dl{margin:0}.order-detail-card dl>div{justify-content:space-between;align-items:flex-start;gap:10px;padding-top:12px;display:flex}.order-detail-card dl>div+div{border-top:1px solid #0f172a0f;margin-top:12px}.order-detail-card dt{color:#8b9793;flex:none;width:70px;font-size:12px}.order-detail-card dd{color:#1f2a27;text-align:right;word-break:break-all;flex:1;min-width:0;margin:0;font-size:13px;font-weight:500}.order-detail-card dd.mono{font-family:Menlo,Monaco,monospace;font-size:12px}.order-detail-card dl>div.highlight dd{color:#eb5b3c;font-weight:700}.detail-card-title{justify-content:space-between;align-items:center;display:flex}.detail-card-title>span{color:#92a09b;font-size:11px}.detail-dish{align-items:center;gap:9px;padding-top:12px;display:flex}.detail-dish+.detail-dish{border-top:1px solid #0f172a0f;margin-top:12px}.detail-dish>img,.detail-dish>.cart-image-fallback{object-fit:cover;border-radius:12px;flex:none;width:56px;height:56px}.detail-dish>div{flex-direction:column;flex:1;min-width:0;display:flex}.detail-dish>div strong{color:#1f2a27;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.detail-dish>div small{color:#92a09b;margin-top:4px;font-size:11px}.detail-dish>p{flex-direction:column;align-items:flex-end;margin:0;display:flex}.detail-dish>p span{color:#475561;font-size:12px}.detail-dish>p strong{color:#97a3af;margin-top:4px;font-size:11px}.detail-cancel-button{color:#eb5b3c;background:#eb5b3c1f;border:0;border-radius:21px;width:100%;height:42px;margin-top:14px;font-size:14px;font-weight:700}.evaluation-modal{padding-bottom:calc(18px + env(safe-area-inset-bottom))}.evaluation-modal>p,.evaluation-modal>textarea,.evaluation-modal>.rating-row,.evaluation-submit{margin-left:16px;margin-right:16px}.evaluation-modal>p{color:#7c8883;margin-top:15px;margin-bottom:12px;font-size:13px}.evaluation-modal>textarea{resize:vertical;border:1px solid #e7ece8;border-radius:12px;width:calc(100% - 32px);min-height:120px;padding:12px}.rating-row{border-bottom:1px solid #f0f2f1;grid-template-columns:70px 1fr 48px;align-items:center;gap:8px;padding:12px 0;display:grid}.rating-row strong{font-size:14px}.rating-row>span{display:flex}.rating-row button{color:#d9dfdc;background:0 0;border:0;padding:0 2px;font-size:24px}.rating-row button.active{color:#ffb333}.rating-row em{color:#a0aaa6;text-align:right;font-size:12px;font-style:normal}.evaluation-submit{color:#fff;background:var(--green);border:0;border-radius:22px;width:calc(100% - 32px);height:44px;margin-top:16px;font-weight:600}@media (width>=521px){.mini-order-summary,.mini-cart-footer{width:520px;left:auto;right:50%;transform:translate(50%)}}@media (width<=380px){.mini-meal-options{gap:4px}.mini-meal-options button{flex-basis:44px;width:44px;height:44px}.mini-order-summary>button{min-width:112px;padding:0 12px}}.profile-view.mini-profile-page{min-height:100dvh;padding:0 0 calc(104px + env(safe-area-inset-bottom));background:linear-gradient(#cbf6d1 0%,#ddf7df 18%,#e9f6ea 38%,#eef4ef 60%,#f3f6f3 100%);position:relative;overflow:hidden}.mini-profile-page button{appearance:none;cursor:pointer;border:0;font-family:inherit}.mini-profile-hero{pointer-events:none;background:radial-gradient(circle at 18% 14%,#ffffff57 0,#fff0 24%),radial-gradient(circle at 84% 18%,#fff3 0,#fff0 20%),linear-gradient(#c8f4ce 0%,#dbf4db 28%,#e6f3e6 54%,#eff4efb3 100%);height:490px;position:absolute;top:0;left:0;right:0}.mini-profile-content{z-index:1;padding:calc(54px + env(safe-area-inset-top)) 9px 24px;position:relative}.mini-profile-card{padding:0 0 3px}.mini-profile-main{text-align:left;background:0 0;align-items:center;width:100%;padding:0;display:flex}.mini-avatar-shell{background:#ffffffeb;border-radius:50%;flex:0 0 54px;width:54px;height:54px;overflow:hidden;box-shadow:0 5px 11px #6b9e701f}.mini-avatar-shell img{object-fit:contain;border-radius:50%;width:100%;height:100%}.mini-profile-main>strong{color:#161616;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:12px;font-size:19px;font-weight:600;overflow:hidden}.mini-wallet-row{gap:10px;margin-top:13px;display:flex}.mini-wallet-row>button{text-align:left;background:#ffffffeb;border-radius:15px;flex:1;align-items:center;min-width:0;padding:11px 12px;display:flex;box-shadow:0 5px 13px #669a6c14}.mini-wallet-row>button>img{object-fit:contain;flex:0 0 38px;width:38px;height:38px}.mini-wallet-row>button>span{flex-direction:column;min-width:0;margin-left:9px;display:flex}.mini-wallet-row small{color:#11182799;font-size:12px;line-height:1.25}.mini-wallet-row strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:17px;font-weight:600;line-height:1.25;overflow:hidden}.mini-wallet-row strong.link{color:#2eae3f;font-size:15px}.mini-profile-section{margin-top:17px}.mini-profile-section>h2{color:#6b7280;margin:0;padding:0 1px 10px;font-size:15px;font-weight:500}.mini-profile-menu,.mini-admin-grid{background:#fffffff0;border-radius:15px;overflow:hidden;box-shadow:0 6px 15px #52876014}.mini-profile-menu>button{text-align:left;background:0 0;border-bottom:1px solid #edf0ea;align-items:center;width:100%;min-height:56px;padding:0 14px;display:flex;position:relative}.mini-profile-menu>button:last-child{border-bottom:0}.mini-profile-menu>button>img:first-child{object-fit:contain;flex:0 0 22px;width:22px;height:22px}.mini-profile-menu>button>strong{color:#2f3136;flex:1;min-width:0;margin-left:13px;font-size:16px;font-weight:400}.mini-profile-menu>button>em{color:#fff;text-align:center;background:#ef4444;border-radius:10px;min-width:19px;height:19px;margin-right:9px;padding:0 5px;font-size:11px;font-style:normal;line-height:19px}.mini-profile-menu .mini-profile-arrow{opacity:.5;object-fit:contain;flex:0 0 11px;width:11px;height:11px}.mini-admin-grid{align-items:flex-start;display:flex}.mini-admin-grid>button{background:0 0;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;min-width:0;padding:14px 2px 11px;display:flex}.mini-admin-grid>button img{object-fit:contain;flex:0 0 27px;width:27px;height:27px}.mini-admin-grid>button span{color:#3e4148;text-align:center;white-space:nowrap;margin-top:7px;font-size:12px;line-height:1.3}.mini-profile-logout{color:#d15a4d;background:#ffffffd1;border-radius:15px;width:100%;min-height:48px;margin-top:20px;font-size:15px;font-weight:600;border:1px solid #dc4f4129!important}.profile-subpage{z-index:60;background:#f5f6fa;flex-direction:column;width:min(100%,520px);animation:.2s ease-out profilePageIn;display:flex;position:fixed;top:0;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}@keyframes profilePageIn{0%{opacity:0;transform:translate(8px)translate(-50%)}}.profile-subpage-bar{z-index:2;min-height:calc(48px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);background:#fffffff7;border-bottom:1px solid #eef1f0;flex:none;grid-template-columns:48px 1fr 48px;align-items:end;display:grid;position:relative}.profile-subpage-bar button{color:#1f2521;background:0 0;border:0;place-items:center;height:48px;padding:0 0 4px;font-size:38px;font-weight:300;line-height:1;display:grid}.profile-subpage-bar h1{color:#171c18;text-align:center;align-self:center;margin:0;font-size:17px;font-weight:600}.profile-subpage-scroll{overscroll-behavior:contain;min-height:0;padding-bottom:env(safe-area-inset-bottom);scrollbar-width:none;flex:1;overflow:hidden auto}.profile-subpage-scroll::-webkit-scrollbar{display:none}.profile-state{color:#9ca3af;text-align:center;justify-content:center;align-items:center;min-height:180px;padding:24px;font-size:14px;display:flex}.wallet-page-content{background:#f5f6fa;flex-direction:column;min-height:100%;padding:13px 0 24px;display:flex}.wallet-balance-card{color:#fff;background:linear-gradient(131deg,#77d175 14%,#2eae3f 82%);border-radius:13px;justify-content:space-between;align-self:center;align-items:flex-end;width:calc(100% - 32px);min-height:122px;padding:30px 17px 26px;display:flex}.wallet-balance-card>div{flex-direction:column;display:flex}.wallet-balance-card span{font-size:15px;font-weight:500}.wallet-balance-card strong{text-overflow:ellipsis;max-width:230px;margin-top:5px;font-size:29px;font-weight:500;line-height:1.1;overflow:hidden}.wallet-balance-card button{color:#2eae3f;background:#fff;border:0;border-radius:17px;width:80px;height:32px;margin-bottom:7px;font-size:16px;font-weight:600}.wallet-record-heading{background:0 0;border:0;justify-content:space-between;align-self:center;align-items:center;width:calc(100% - 32px);margin-top:16px;padding:0;display:flex}.wallet-record-heading strong{color:#333;font-size:18px;font-weight:600}.wallet-record-heading span{color:#333;font-size:13px}.wallet-record-list{background:#fff;border-radius:13px;flex-direction:column;align-self:center;width:calc(100% - 32px);min-height:90px;margin-top:9px;padding:12px 15px 15px;display:flex}.wallet-record-list>article{border-bottom:1px solid #e6e6e6;grid-template-columns:29px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;display:grid}.wallet-record-list>article:last-child{border-bottom:0}.wallet-record-list>article>span{color:#fff;border-radius:50%;place-items:center;width:29px;height:29px;font-size:13px;font-weight:600;display:grid}.wallet-record-list>article>span.recharge{background:#5db85b}.wallet-record-list>article>span.meal{background:#ff4d5e}.wallet-record-list article>div{flex-direction:column;min-width:0;display:flex}.wallet-record-list article>div strong{color:#2d2d2d;font-size:17px;font-weight:400}.wallet-record-list article>div small{color:#989898;margin-top:3px;font-size:13px}.wallet-record-list article>b{color:#333;white-space:nowrap;font-size:17px;font-weight:600}.wallet-record-list article>b.expense{color:#ff4d5e}.wallet-record-list .profile-state{min-height:100px}.money-page-content{background:#f4f6f8;min-height:100%;padding:12px}.money-segments{background:#fff;border-radius:12px;gap:4px;padding:4px;display:flex;box-shadow:0 4px 10px #0f172a0a}.money-segments button{color:#6b7280;background:0 0;border:0;border-radius:9px;flex:1;height:36px;font-size:14px}.money-segments button.active{color:#fff;background:#2eae3f}.money-record-card{background:#fff;border-radius:14px;margin-top:9px;overflow:hidden;box-shadow:0 6px 14px #0f172a0d}.money-record-card>article{border-bottom:1px solid #eef2f7;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:14px 12px;display:grid}.money-record-card>article:last-child{border-bottom:0}.money-record-card>article>span{color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;display:grid}.money-record-card>article>span.recharge{background:#2eae3f}.money-record-card>article>span.consume{background:#111827}.money-record-card article>div{flex-direction:column;min-width:0;display:flex}.money-record-card article>div strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.money-record-card article>div small,.money-record-card article>div em,.money-record-card article>p small{color:#6b7280;margin-top:4px;font-size:11px;font-style:normal}.money-record-card article>div em{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.money-record-card article>p{flex-direction:column;align-items:flex-end;margin:0 0 0 8px;display:flex}.money-record-card article>p strong{color:#111827;white-space:nowrap;font-size:15px;font-weight:600}.money-record-card article>p strong.plus{color:#2eae3f}.money-load-more{color:#6b7280;background:#fff;border:0;border-radius:12px;width:100%;height:44px;margin-top:10px;font-size:13px}.topup-page{background:linear-gradient(144deg,#77d175 6%,#2eae3f 214px,#fff 214px)}.topup-page .profile-subpage-bar{color:#fff;background:0 0;border-color:#0000}.topup-page .profile-subpage-bar button,.topup-page .profile-subpage-bar h1{color:#fff}.topup-balance{color:#fff;justify-content:space-between;align-items:flex-start;min-height:166px;padding:34px 30px 25px;display:flex;position:relative}.topup-balance>div{z-index:1;flex-direction:column;display:flex;position:relative}.topup-balance span{font-size:15px;font-weight:500}.topup-balance strong{margin-top:6px;font-size:29px;font-weight:500}.topup-balance img{object-fit:contain;width:112px;height:112px;position:absolute;bottom:-25px;right:38px}.topup-main{z-index:1;min-height:calc(100% - 166px);padding:26px 32px calc(88px + env(safe-area-inset-bottom));background:#fff;border-radius:13px 13px 0 0;position:relative}.topup-main h2{color:#1e1e1e;margin:0;font-size:18px;font-weight:500}.topup-amount-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:16px;display:grid}.topup-amount-grid>button,.topup-amount-grid>label{color:#333;background:#fff;border:2px solid #efefef;border-radius:10px;justify-content:center;align-items:center;min-width:0;height:45px;font-size:18px;font-weight:500;display:flex;position:relative;overflow:hidden}.topup-amount-grid>.active{color:#2eae3f;background:#f4fff4;border-color:#2eae3f}.topup-amount-grid label{justify-content:flex-start;padding:0 10px}.topup-amount-grid label span{flex:none}.topup-amount-grid input{width:100%;min-width:0;color:inherit;background:0 0;border:0;outline:0;margin-left:4px;font-size:15px}.topup-payment{margin-top:25px}.topup-payment h2+.topup-method{margin-top:12px}.topup-payment .topup-method+h2{margin-top:34px}.topup-method{background:#fff;border:2px solid #2eae3f;border-radius:10px;justify-content:center;align-items:center;height:45px;display:flex}.topup-method img{object-fit:contain;width:25px;height:25px}.topup-method span{color:#333;margin-left:8px;font-size:15px}.topup-payment p{color:#999;margin:12px 0 0;font-size:13px}.topup-confirm{right:32px;bottom:calc(22px + env(safe-area-inset-bottom));color:#fff;background:#2eae3f;border:0;border-radius:25px;height:50px;font-size:16px;font-weight:600;position:absolute;left:32px;box-shadow:0 8px 18px #2eae3f33}.profile-info-page{background:linear-gradient(#b4f8c8 0,#c6f6d3 85px,#d7f1d8 140px,#edf6ee 260px 100%)}.profile-info-page .profile-subpage-scroll{background:0 0}.profile-info-shell{padding:9px 12px 24px}.profile-info-hero,.profile-edit-status,.profile-info-form{background:#fffffff0;border:1px solid #2eae3f14;border-radius:15px;box-shadow:0 7px 16px #50805914}.profile-info-hero{align-items:center;gap:14px;padding:15px;display:flex}.profile-info-hero>div{flex:1;min-width:0}.profile-info-hero>div>span{color:#218c31;background:#2eae3f1a;border-radius:999px;justify-content:center;align-items:center;min-width:59px;height:21px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.profile-info-hero h2{color:#161616;margin:10px 0 0;font-size:20px;line-height:1.3}.profile-info-hero p{color:#6b7280;margin:6px 0 0;font-size:12px;line-height:1.7}.profile-info-hero>img{object-fit:cover;background:#f4f7f4;border-radius:50%;flex:0 0 70px;width:70px;height:70px;box-shadow:0 5px 12px #0f172a1f}.profile-edit-status{margin-top:10px;padding:11px 12px}.profile-edit-status.editable{background:linear-gradient(#effcf1f5,#fffffff5);border-color:#2eae3f29}.profile-edit-status strong{color:#223122;font-size:14px;font-weight:600}.profile-edit-status p{color:#6b7280;margin:4px 0 0;font-size:12px;line-height:1.7}.profile-info-form{margin-top:10px;padding:3px 0;overflow:hidden}.profile-info-form>label{border-bottom:1px solid #edf0ea;align-items:center;min-height:58px;padding:0 14px;display:flex}.profile-info-form>label:last-child{border-bottom:0}.profile-info-form>label>span{color:#1f2937;flex:0 0 66px;width:66px;font-size:14px;font-weight:600}.profile-info-form input,.profile-info-form select{color:#111827;background:0 0;border:0;outline:0;flex:1;min-width:0;height:36px;font-size:14px}.profile-info-form>label>strong{color:#111827;flex:1;min-width:0;font-size:14px;font-weight:400}.profile-info-save{color:#fff;background:#2eae3f;border:0;border-radius:15px;width:100%;height:48px;margin-top:15px;font-size:15px;font-weight:600;box-shadow:0 7px 16px #2eae3f2e}.profile-info-save:disabled{color:#9ca3af;box-shadow:none;background:#e5e7eb}.address-manage-page{background:linear-gradient(144deg,#77d175 6%,#2eae3f 214px,#f5f6fa 214px)}.address-manage-page .profile-subpage-bar{color:#fff;background:0 0;border-color:#0000}.address-manage-page .profile-subpage-bar button,.address-manage-page .profile-subpage-bar h1{color:#fff}.address-hero{color:#fff;justify-content:space-between;align-items:flex-start;min-height:98px;padding:14px 20px 10px;display:flex;position:relative}.address-hero>div>img{object-fit:contain;object-position:left center;width:127px;height:25px}.address-hero>div>strong{letter-spacing:2px;margin-top:11px;font-size:19px;font-weight:500;display:block}.address-hero>img{object-fit:contain;opacity:.95;width:128px;height:128px;position:absolute;top:-8px;right:35px}.address-page-body{background:linear-gradient(#e7ffef 0,#f5f6fa 180px);border-radius:13px 13px 0 0;min-height:calc(100% - 98px);padding:20px 16px 30px}.address-canteen{background:#fff;border-radius:12px;align-items:center;min-height:63px;padding:11px 12px;display:flex;box-shadow:0 5px 13px #0f172a0d}.address-canteen>img{object-fit:contain;background:#2eae3f1a;border-radius:10px;width:41px;height:41px;padding:10px}.address-canteen>span{flex-direction:column;flex:1;min-width:0;margin-left:9px;display:flex}.address-canteen small{color:#6b7280;font-size:11px}.address-canteen select{color:#111827;background:0 0;border:0;outline:0;width:100%;margin-top:3px;font-size:14px;font-weight:600}.delivery-address-table{background:#fff;border-radius:10px;margin-top:9px;overflow:hidden}.delivery-address-table>header{color:#fff;background:#5db85b;justify-content:space-between;align-items:center;height:42px;padding:0 16px;display:flex}.delivery-address-table>header strong{font-size:14px}.delivery-address-table>header span{font-size:12px}.delivery-region h3{color:#334155;background:#f7faf8;margin:0;padding:11px 16px 7px;font-size:14px}.delivery-region h3 small{color:#94a3b8;margin-left:6px;font-size:11px;font-weight:400}.delivery-region article{border-bottom:1px solid #eef2f7;grid-template-columns:28px minmax(0,1fr) 48px 50px;align-items:center;gap:8px;min-height:54px;padding:6px 12px;display:grid}.delivery-region article>span{color:#2eae3f;background:#2eae3f1a;border-radius:8px;place-items:center;width:28px;height:28px;font-size:12px;display:grid}.delivery-region article>strong{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.delivery-region article>em{color:#2eae3f;text-align:right;font-size:11px;font-style:normal}.delivery-region article>button{color:#2eae3f;background:#effaf1;border:1px solid #2eae3f3d;border-radius:14px;height:28px;font-size:11px}.delivery-region article>button.active{color:#fff;background:#2eae3f}.face-info-page{background:#f4f6f8}.face-info-content{padding:12px}.face-instructions{background:#fff;border-radius:15px;padding:16px;box-shadow:0 6px 14px #0f172a0d}.face-instructions h2{color:#111827;align-items:center;margin:0 0 13px;font-size:17px;display:flex}.face-instructions h2 img{object-fit:contain;width:24px;height:24px;margin-right:8px}.face-instructions p{color:#6b7280;margin:9px 0 0;font-size:13px;line-height:1.6}.face-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.face-actions label{color:#1f2937;background:#fff;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;min-height:130px;font-size:14px;display:flex;box-shadow:0 6px 14px #0f172a0d}.face-actions label img{object-fit:contain;width:48px;height:48px;margin-bottom:10px}.face-actions input{opacity:0;width:1px;height:1px;position:absolute}.face-preview{background:#fff;border-radius:15px;margin-top:12px;padding:12px}.face-preview>img{object-fit:contain;background:#eef2f0;border-radius:12px;width:100%;max-height:420px}.face-preview>div{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.face-preview button{color:#2eae3f;background:#effaf1;border:1px solid #2eae3f38;border-radius:12px;height:44px;font-weight:600}.face-preview button:last-child{color:#fff;background:#2eae3f}.instructions-page,.about-page{background:#f4f6f8}.instructions-content,.about-content{padding:12px}.instructions-header{background:linear-gradient(135deg,#eaf9ed,#fff);border-radius:14px;padding:14px;box-shadow:0 6px 14px #0f172a0a}.instructions-header select{color:#18221c;background:#fff;border:1px solid #2eae3f29;border-radius:10px;width:100%;height:40px;padding:0 10px;font-size:14px;font-weight:600}.instructions-header p{color:#475569;white-space:pre-wrap;margin:11px 0 0;font-size:13px;line-height:1.7}.instructions-header small{color:#94a3b8;margin-top:7px;font-size:11px;display:block}.instruction-card{background:#fff;border-radius:14px;margin-top:10px;overflow:hidden;box-shadow:0 6px 14px #0f172a0a}.instruction-card header{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:center;padding:13px 14px;display:flex}.instruction-card h2{color:#111827;margin:0;font-size:16px}.instruction-card header span{color:#2eae3f;background:#eaf9ed;border-radius:999px;padding:4px 8px;font-size:11px}.instruction-card dl{margin:0;padding:4px 14px}.instruction-card dl>div{border-bottom:1px solid #f1f4f2;justify-content:space-between;gap:16px;padding:10px 0;display:flex}.instruction-card dl>div:last-child{border-bottom:0}.instruction-card dt{color:#6b7280;font-size:12px}.instruction-card dd{color:#1f2937;text-align:right;margin:0;font-size:12px}.about-hero{background:linear-gradient(145deg,#dff7e3,#fff);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:230px;padding:30px 20px;display:flex}.about-hero>span{background:url(/images/mine-icons/service-about.svg) 50%/42px no-repeat,#fff;border-radius:24px;width:74px;height:74px;box-shadow:0 8px 22px #2eae3f1f}.about-hero h2{color:#17231a;margin:18px 0 0;font-size:21px}.about-hero p{color:#6b7280;text-align:center;max-width:330px;margin:10px 0 0;font-size:13px;line-height:1.8}.about-info{background:#fff;border-radius:14px;margin-top:12px;padding:3px 14px}.about-info>div{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:center;gap:20px;min-height:52px;display:flex}.about-info>div:last-child{border-bottom:0}.about-info span{color:#6b7280;font-size:13px}.about-info strong,.about-info a{color:#1f2937;text-align:right;font-size:13px;font-weight:500;text-decoration:none}@media (width<=360px){.mini-profile-content{padding-left:8px;padding-right:8px}.mini-wallet-row{gap:8px}.mini-wallet-row>button{padding-left:8px;padding-right:8px}.mini-wallet-row>button>span{margin-left:6px}.mini-admin-grid>button span{font-size:11px}.money-record-card article>div em{max-width:130px}}.admin-feature-page{color:#1f2937;background:#f4f6f8}.admin-feature-page button,.admin-feature-page input,.admin-feature-page select,.admin-feature-page textarea{font-family:inherit}.admin-feature-page button{cursor:pointer;border:0}.admin-state{color:#9ca3af;text-align:center;justify-content:center;align-items:center;min-height:200px;padding:24px;font-size:14px;display:flex}.admin-load-more{color:#667085;background:#fff;border-radius:12px;width:100%;height:44px;margin-top:10px;font-size:13px;display:block}.admin-list-end{color:#98a2b3;text-align:center;padding:15px 0 5px;font-size:12px}.admin-dialog-backdrop{z-index:70;background:#0f172a6b;justify-content:center;align-items:center;width:min(100%,520px);margin:0 auto;padding:16px;display:flex;position:fixed;inset:0}.admin-confirm-dialog,.balance-admin-dialog,.scan-result-dialog{background:#fff;border-radius:14px;width:100%;padding:18px 15px;box-shadow:0 18px 50px #0f172a2e}.admin-confirm-dialog h2,.balance-admin-dialog h2,.scan-result-dialog h2{color:#111827;text-align:center;margin:0;font-size:17px;font-weight:600}.admin-confirm-dialog>p,.balance-admin-dialog>p,.scan-result-dialog>p{color:#667085;text-align:center;margin:8px 0 0;font-size:13px;line-height:1.6}.admin-confirm-dialog textarea{resize:vertical;border:1px solid #d7dce2;border-radius:10px;outline:0;width:100%;min-height:96px;margin-top:14px;padding:11px;font-size:14px}.admin-confirm-dialog>div,.scan-result-dialog>div{gap:8px;margin-top:14px;display:flex}.admin-confirm-dialog>div button,.scan-result-dialog>div button{color:#667085;background:#f3f4f6;border-radius:10px;flex:1;height:42px;font-size:14px;font-weight:600}.admin-confirm-dialog>div button.primary,.scan-result-dialog>div button:last-child{color:#fff;background:#2eae3f}.admin-confirm-dialog>div button.danger{color:#fff;background:#e5484d}.approval-admin-page{background:#f5f6f7}.approval-tools{z-index:2;background:#fff;border-bottom:1px solid #e5e7eb;padding:10px 12px 8px;position:sticky;top:0}.approval-tabs{background:#f0f2f4;border-radius:6px;height:36px;padding:3px;display:flex}.approval-tabs button{color:#667085;background:0 0;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:5px;height:30px;font-size:13px;display:flex}.approval-tabs button.active{color:#1f7a32;background:#fff;font-weight:600;box-shadow:0 1px 4px #0f172a14}.approval-tabs em{color:#fff;background:#e5484d;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-style:normal;line-height:16px}.admin-search-row,.user-admin-search{gap:7px;margin-top:8px;display:flex}.admin-search-row>label,.user-admin-search>label{background:#fff;border:1px solid #d7dce2;border-radius:4px;flex:1;align-items:center;min-width:0;height:36px;padding:0 11px;display:flex}.admin-search-row input,.user-admin-search input{background:0 0;border:0;outline:0;flex:1;min-width:0;height:34px;font-size:13px}.admin-search-row label button,.user-admin-search label button{color:#98a2b3;background:0 0;padding:0 0 0 9px;font-size:20px}.admin-search-row>button,.user-admin-search>button{color:#fff;background:#2eae3f;border-radius:4px;height:36px;padding:0 14px;font-size:13px}.approval-list{padding:6px 12px 20px}.approval-record{background:#fff;border:1px solid #e4e7ec;border-radius:6px;margin-top:6px;padding:13px 12px 11px}.approval-record>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.approval-record>header>div{flex-direction:column;flex:1;min-width:0;display:flex}.approval-record>header strong{color:#1f2937;font-size:16px;font-weight:600}.approval-record>header small{color:#667085;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.approval-record>header b{color:#d97706;font-size:16px;font-weight:600}.approval-record dl{border-top:1px solid #eef0f2;grid-template-columns:37px minmax(0,1fr);gap:6px 7px;margin:11px 0 0;padding-top:10px;font-size:12px;line-height:18px;display:grid}.approval-record dt{color:#98a2b3}.approval-record dd{overflow-wrap:anywhere;color:#475467;min-width:0;margin:0}.approval-record>section{color:#667085;background:#f7f8fa;border-radius:4px;flex-direction:column;margin-top:10px;padding:9px 10px;font-size:12px;line-height:18px;display:flex}.approval-record>section strong{color:#c2413b;margin-top:3px;font-weight:400}.approval-record>footer{justify-content:flex-end;gap:8px;margin-top:11px;display:flex}.approval-record>footer button{border-radius:4px;width:85px;height:34px;font-size:13px}.approval-record>footer .reject{color:#c2413b;background:#fff;border:1px solid #e5a6a2}.approval-record>footer .approve{color:#fff;background:#2eae3f}.visitor-approval-record>header b{color:#667085;text-overflow:ellipsis;white-space:nowrap;max-width:48%;font-size:11px;overflow:hidden}.visitor-approval-record dl{flex-direction:column;gap:0;display:flex}.visitor-review-field{grid-template-columns:92px minmax(0,1fr);gap:8px;padding:5px 0;display:grid}.visitor-review-field dt,.visitor-review-field dd{line-height:20px}.stats-toolbar,.dish-stats-toolbar{background:#f4f6f8;padding:10px 12px 6px}.admin-date-switcher{justify-content:center;align-items:center;gap:10px;display:flex}.admin-date-switcher button{color:#2eae3f;background:#fff;border-radius:12px;width:38px;height:38px;font-size:20px;line-height:1}.admin-date-switcher input{color:#111827;text-align:center;background:#fff;border:0;border-radius:12px;outline:0;width:150px;height:38px;padding:0 10px;font-size:14px}.meal-stat-chips,.dish-stat-tabs{scrollbar-width:none;gap:8px;margin-top:10px;padding:2px 0;display:flex;overflow-x:auto}.meal-stat-chips::-webkit-scrollbar{display:none}.dish-stat-tabs::-webkit-scrollbar{display:none}.meal-stat-chips button{background:#fff;border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;min-width:66px;min-height:59px;padding:8px 11px;display:flex;box-shadow:0 4px 10px #0f172a0a}.meal-stat-chips button span{color:#6b7280;font-size:12px}.meal-stat-chips button strong{color:#111827;margin-top:3px;font-size:19px}.meal-stat-chips button.active{background:#2eae3f}.meal-stat-chips button.active span,.meal-stat-chips button.active strong{color:#fff}.meal-admin-filters{grid-template-columns:minmax(0,1fr) 92px 52px;gap:6px;margin-top:9px;display:grid}.meal-admin-filters>label{background:#fff;border-radius:11px;align-items:center;min-width:0;padding:0 10px;display:flex}.meal-admin-filters input,.meal-admin-filters select{color:#111827;background:#fff;border:0;outline:0;min-width:0;height:42px;font-size:12px}.meal-admin-filters input{background:0 0;flex:1}.meal-admin-filters label button{color:#9ca3af;background:0 0;padding:0;font-size:20px}.meal-admin-filters select{border-radius:11px;width:92px;padding:0 7px}.meal-admin-filters>button{color:#fff;background:#2eae3f;border-radius:12px;height:42px;font-size:13px}.meal-admin-list,.dish-stat-list{padding:0 12px 18px}.meal-admin-card{background:#fff;border-radius:12px;margin-top:8px;padding:14px 14px 12px;box-shadow:0 6px 14px #0f172a0d}.meal-admin-card>header{justify-content:space-between;align-items:flex-start;display:flex}.meal-admin-card>header>div{flex-direction:column;min-width:0;display:flex}.meal-admin-card>header strong{color:#111827;font-size:15px;font-weight:600}.meal-admin-card>header small{color:#6b7280;margin-top:6px;font-size:12px}.meal-admin-card>header>span,.managed-user-card>header>b{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:400}.meal-admin-card>header>span.pending{color:#ff9f3d;background:#ff9f3d1f}.meal-admin-card>header>span.done{color:#2eae3f;background:#2eae3f1f}.meal-admin-card>header>span.muted{color:#94a3b8;background:#94a3b81f}.meal-admin-card>header>span.danger{color:#ef4444;background:#ef44441a}.meal-admin-card>section{flex-wrap:wrap;gap:9px;margin-top:9px;display:flex}.meal-admin-card>section>span{color:#6b7280;align-items:center;gap:4px;font-size:12px;display:flex}.meal-admin-card>section i{color:#2eae3f;background:#2eae3f14;border-radius:50%;place-items:center;width:16px;height:16px;font-size:9px;font-style:normal;display:grid}.meal-admin-card>p{color:#9ca3af;margin:8px 0 0;font-size:12px}.meal-admin-card>footer{gap:7px;margin-top:10px;display:flex}.meal-admin-card>footer button{color:#fff;background:#2eae3f;border-radius:10px;flex:1;min-height:38px;font-size:13px}.meal-admin-card>footer button.cancel{color:#ef4444;background:#ef444414}.dish-stat-tabs button{color:#6b7280;background:#fff;border-radius:12px;flex:none;padding:9px 12px;font-size:13px}.dish-stat-tabs button.active{color:#fff;background:#2eae3f}.dish-stat-tabs button span{opacity:.8}.dish-stat-list>section{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 6px 14px #0f172a0d}.dish-stat-list>section>header,.dish-stat-list>section>article{justify-content:space-between;align-items:center;min-height:49px;padding:12px 13px;display:flex}.dish-stat-list>section>header{color:#6b7280;border-bottom:1px solid #eef2f7;min-height:45px;font-size:12px}.dish-stat-list>section>article:nth-child(2n){background:#f8fafc}.dish-stat-list article>div{flex:1;align-items:center;min-width:0;display:flex}.dish-stat-list article i{color:#94a3b8;flex:0 0 22px;width:22px;font-size:12px;font-style:normal}.dish-stat-list article strong{color:#111827;min-width:0;font-size:14px;font-weight:400}.dish-stat-list article b{color:#2eae3f;font-size:15px}.scan-admin-page{background:linear-gradient(#1f7a3c 0%,#2eae3f 36%,#eaf8ee 100%)}.scan-admin-page .profile-subpage-bar{background:#1f7a3cf5;border-color:#ffffff26}.scan-admin-page .profile-subpage-bar button,.scan-admin-page .profile-subpage-bar h1{color:#fff}.scan-admin-content{padding:12px}.scan-admin-hero{background:#ffffff24;border:1px solid #ffffff2e;border-radius:14px;padding:15px}.scan-admin-hero h2{color:#fff;margin:0;font-size:17px}.scan-admin-hero p{color:#ffffffe0;margin:6px 0 0;font-size:12px;line-height:1.6}.scan-admin-hero>div{gap:6px;margin-top:10px;display:flex}.scan-admin-hero span{color:#fff;background:#ffffff29;border-radius:999px;padding:5px 9px;font-size:11px}.scan-admin-hero span.busy{background:#ffffff47}.scan-camera-card{background:#fff;border-radius:14px;margin-top:11px;padding:15px}.scan-camera-box{background:#0f172a;border-radius:14px;justify-content:center;align-items:center;height:min(320px,58dvh);display:flex;position:relative;overflow:hidden}.scan-camera-box video{opacity:0;object-fit:cover;width:100%;height:100%;position:absolute}.scan-camera-box video.active{opacity:1}.scan-camera-box>span{z-index:1;border:2px solid #ffffffd9;border-radius:14px;width:190px;height:190px;position:relative;box-shadow:0 0 0 999px #ffffff08}.scan-camera-card>button{color:#fff;background:#2eae3f;border-radius:11px;width:100%;height:44px;margin-top:12px;font-size:14px}.scan-camera-card>p{color:#ef4444;margin:9px 0 0;font-size:12px;line-height:1.5}.manual-verify{background:#fff;border-radius:14px;margin-top:11px;padding:15px}.manual-verify h3{color:#111827;margin:0;font-size:15px}.manual-verify p{color:#6b7280;margin:6px 0 0;font-size:12px;line-height:1.5}.manual-verify>div{gap:7px;margin-top:10px;display:flex}.manual-verify input{border:1px solid #d7dce2;border-radius:10px;outline:0;flex:1;min-width:0;height:42px;padding:0 11px;font-size:13px}.manual-verify button{color:#fff;background:#2eae3f;border-radius:10px;width:72px;font-size:13px}.scan-result-dialog.success h2,.scan-result-dialog.success>p{color:#2eae3f}.scan-result-dialog.danger h2,.scan-result-dialog.danger>p{color:#ef4444}.user-admin-search{margin:0;padding:12px}.user-admin-search>label{border:0;border-radius:11px;height:42px}.user-admin-search input{height:40px}.user-admin-search>button{border-radius:10px;min-width:60px;height:42px}.user-admin-total{color:#6b7280;padding:0 12px 6px;font-size:12px}.user-admin-list{padding:0 12px 18px}.managed-user-card{background:#fff;border-radius:14px;margin-top:8px;padding:14px;box-shadow:0 6px 14px #0f172a0d}.managed-user-card>header{align-items:center;display:flex}.managed-user-card>header>span{color:#2eae3f;text-align:center;background:#2eae3f1f;border-radius:50%;flex:0 0 42px;width:42px;height:42px;font-size:16px;font-weight:600;line-height:42px}.managed-user-card>header>div{flex:1;min-width:0;margin-left:9px}.managed-user-card>header section{align-items:center;gap:5px;display:flex}.managed-user-card>header strong{color:#111827;font-size:15px}.managed-user-card>header em{color:#fff;background:#2eae3f;border-radius:999px;padding:4px 7px;font-size:11px;font-style:normal}.managed-user-card>header small{color:#6b7280;margin-top:4px;font-size:12px;display:block}.managed-user-card>header>b.active{color:#2eae3f;background:#2eae3f1f}.managed-user-card>header>b.danger{color:#ef4444;background:#ef44441a}.managed-user-card dl{background:#f8fafc;border-radius:11px;margin:11px 0 0;padding:11px;display:flex}.managed-user-card dl>div{flex:1;min-width:0}.managed-user-card dt{color:#6b7280;font-size:12px}.managed-user-card dd{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:14px;overflow:hidden}.managed-user-card>footer{gap:6px;margin-top:11px;display:flex}.managed-user-card>footer button{border-radius:10px;flex:1;padding:9px 1px;font-size:12px}.managed-user-card>footer button.money{color:#2eae3f;background:#2eae3f14}.managed-user-card>footer button.type{color:#2563eb;background:#2563eb14}.managed-user-card>footer button.status{color:#ef4444;background:#ef444414}.balance-admin-dialog{padding:17px 14px}.balance-type-switch{gap:6px;margin-top:12px;display:flex}.balance-type-switch button{color:#6b7280;background:#f3f4f6;border-radius:10px;flex:1;height:38px;font-size:13px}.balance-type-switch button.active{color:#fff;background:#2eae3f}.balance-type-switch button.active.danger{background:#ef4444}.balance-admin-dialog>input{background:#f8fafc;border:0;border-radius:11px;outline:0;width:100%;height:42px;margin-top:10px;padding:0 12px;font-size:14px}.balance-admin-dialog>footer{gap:7px;margin-top:12px;display:flex}.balance-admin-dialog>footer button{color:#6b7280;background:#f3f4f6;border-radius:10px;flex:1;height:42px;font-size:14px}.balance-admin-dialog>footer button:last-child{color:#fff;background:#2eae3f}@media (width<=360px){.meal-admin-filters{grid-template-columns:minmax(0,1fr) 80px 48px;gap:4px}.meal-admin-filters select{width:80px}.managed-user-card>footer button{font-size:11px}.scan-camera-box{height:260px}.scan-camera-box>span{width:160px;height:160px}}.identity-entry-page{--portal-brand:#2eae3f;--portal-brand-deep:#1f7a3c;--portal-brand-dark:#145f2d;--portal-brand-soft:#eaf9ed;--portal-forest:var(--portal-brand-deep);--portal-forest-light:var(--portal-brand);--portal-gold:#d8f6dc;--portal-ink:#17331f;--portal-stone:#f5f6f8;background:var(--portal-forest)}.portal-mark{color:#effff1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #fff3;border-radius:15px;flex:none;place-items:center;width:46px;height:46px;display:grid;box-shadow:inset 0 1px #ffffff1f}.portal-mark.compact{border-radius:13px;width:40px;height:40px}.portal-mark svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:29px;height:29px}.portal-mark.compact svg{width:25px;height:25px}.identity-popup-panel{background:var(--portal-forest,#1f7a3c);padding:0;overflow-y:auto}.identity-card{color:#fff;background:radial-gradient(circle at 88% 6%,#d8f6dc33,#0000 25%),linear-gradient(155deg,#145f2d 0%,#1f7a3c 50%,#2eae3f 100%);flex-direction:column;width:100%;max-width:none;min-height:min(100dvh,980px);display:flex;position:relative;overflow:hidden}.identity-card:before{opacity:.16;content:"";background-image:radial-gradient(#fffc 1px,#0000 1px);background-size:12px 12px;width:176px;height:176px;position:absolute;top:92px;right:-42px;transform:rotate(-12deg)}.identity-orbit{pointer-events:none;border:1px solid #ffffff17;border-radius:50%;position:absolute}.identity-orbit-one{width:330px;height:330px;top:-122px;right:-130px}.identity-orbit-two{width:390px;height:390px;top:34px;right:-172px}.identity-brand{z-index:2;padding:calc(24px + env(safe-area-inset-top)) 24px 0;align-items:center;gap:12px;display:flex;position:relative}.identity-brand>div{flex-direction:column;gap:4px;min-width:0;display:flex}.identity-brand strong{letter-spacing:.04em;font-size:15px;font-weight:650}.identity-brand small{color:#ffffff7a;letter-spacing:.13em;font-size:8px;font-weight:600}.identity-heading{z-index:2;text-align:left;padding:42px 24px 32px;position:relative}.identity-kicker{color:#ffffffad;letter-spacing:.1em;align-items:center;gap:7px;font-size:11px;font-weight:600;display:inline-flex}.identity-kicker i{background:var(--portal-gold,#d8f6dc);width:18px;height:1px}.identity-heading h1{color:#fff;letter-spacing:-.035em;flex-direction:column;gap:6px;max-width:340px;margin:18px 0 0;font-size:clamp(31px,8.6vw,40px);font-weight:680;line-height:1.13;display:flex}.identity-heading h1 small{color:#ffffffc2;letter-spacing:.03em;font-size:17px;font-weight:500}.identity-heading p{color:#fff9;max-width:320px;margin:15px 0 0;font-size:12px;line-height:1.7}.identity-sheet{z-index:3;padding:26px 20px calc(22px + env(safe-area-inset-bottom));color:var(--portal-ink,#183128);background:var(--portal-stone,#f4f4ee);border-radius:32px 32px 0 0;flex-direction:column;flex:1;display:flex;position:relative;box-shadow:0 -18px 50px #104e2229}.identity-sheet:before{content:"";background:#1f7a3c21;border-radius:999px;width:42px;height:4px;position:absolute;top:0;left:50%;transform:translate(-50%,10px)}.identity-sheet-heading{justify-content:space-between;align-items:flex-end;gap:12px;padding:3px 2px 19px;display:flex}.identity-sheet-heading>div{flex-direction:column;gap:4px;display:flex}.identity-sheet-heading small{color:var(--portal-brand,#2eae3f);letter-spacing:.18em;font-size:8px;font-weight:750}.identity-sheet-heading h2{color:var(--portal-ink,#17331f);letter-spacing:-.02em;margin:0;font-size:21px;font-weight:680}.identity-sheet-heading>span{color:#4d7055;background:#e7f2e9;border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:9px;display:inline-flex}.identity-sheet-heading>span i{background:var(--portal-brand,#2eae3f);border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 3px #2eae3f21}.identity-options{gap:12px;display:grid}.identity-options>button{min-height:84px;color:var(--portal-ink,#17331f);cursor:pointer;text-align:left;background:#ffffffd6;border:1px solid #2eae3f1c;border-radius:20px;grid-template-columns:54px minmax(0,1fr) 34px;align-items:center;gap:13px;padding:14px 14px 14px 15px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 30px #1f7a3c0e}.identity-options>button:before{background:var(--portal-brand,#2eae3f);content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;top:18px;bottom:18px;left:0}.identity-options>button.employee:before{background:var(--portal-brand-deep,#1f7a3c)}.identity-options>button.gate:before{background:#125f38}.identity-options>button.visitor{background:#fff;border-color:#2eae3f33;box-shadow:0 13px 32px #1f7a3c17}.identity-options>button:active{transform:scale(.985)}.identity-option-icon{width:54px;height:54px;color:var(--portal-brand,#2eae3f);background:var(--portal-brand-soft,#eaf9ed);border-radius:17px;place-items:center;display:grid}.identity-options .employee .identity-option-icon{color:var(--portal-brand-deep,#1f7a3c);background:#e5f5e9}.identity-options>button.gate{background:linear-gradient(105deg,#fff 0%,#f4faf6 100%);border-color:#125f382e}.identity-options .gate .identity-option-icon,.auth-standalone-panel .identity-options>button.gate>.identity-option-icon{color:#125f38;background:#e1f2e7}.identity-option-icon svg{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:29px;height:29px}.identity-options>button>div{flex-direction:column;gap:6px;min-width:0;display:flex}.identity-options strong{color:var(--portal-ink,#17331f);font-size:17px;font-weight:680}.identity-options small{color:#839088;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.4;overflow:hidden}.identity-option-action{width:32px;height:32px;color:var(--portal-brand-deep,#1f7a3c);background:#eaf4ec;border-radius:50%;place-items:center;display:grid}.identity-option-action svg,.login-submit i svg,.identity-back svg,.mini-form-select-wrap b svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.identity-security-note{color:#8a938e;text-align:center;justify-content:center;align-items:center;gap:7px;margin-top:auto;padding-top:19px;font-size:9px;line-height:1.45;display:flex}.identity-security-note span{color:#fff;background:var(--portal-brand-deep,#1f7a3c);border-radius:50%;place-items:center;width:17px;height:17px;font-size:9px;font-weight:800;display:grid}.auth-popup-panel:not(.identity-popup-panel){background:var(--portal-stone,#f5f6f8);border-radius:28px 28px 0 0;padding:0;overflow-y:auto}.auth-standalone-panel:not(.identity-popup-panel){border-radius:0;justify-content:flex-start;align-items:stretch;min-height:100dvh;max-height:none}.mini-login-card{background:var(--portal-stone,#f5f6f8);width:100%;max-width:none;position:relative;overflow:hidden}.auth-standalone-panel .mini-login-card{max-width:none;min-height:100dvh;overflow:visible}.mini-login-card>.popup-handle{z-index:12;background:#ffffff61;margin:0;position:absolute;top:9px;left:50%;transform:translate(-50%)}.auth-standalone-panel .mini-login-card>.popup-handle{display:none}.auth-portal-hero{min-height:276px;padding:calc(24px + env(safe-area-inset-top)) 24px 68px;color:#fff;background:radial-gradient(circle at 85% 12%,#d8f6dc33,#0000 24%),linear-gradient(150deg,#145f2d 0%,#1f7a3c 55%,#2eae3f 100%);position:relative;overflow:hidden}.auth-portal-hero.employee{background:radial-gradient(circle at 85% 12%,#d8f6dc2e,#0000 24%),linear-gradient(150deg,#13572a 0%,#1d7637 54%,#2eae3f 100%)}.auth-hero-orbit{pointer-events:none;border:1px solid #ffffff17;border-radius:50%;position:absolute}.auth-hero-orbit-one{width:260px;height:260px;top:-108px;right:-92px}.auth-hero-orbit-two{width:360px;height:360px;top:-30px;right:-160px}.auth-brand{z-index:2;align-items:center;gap:11px;padding-left:51px;display:flex;position:relative}.auth-brand>div{flex-direction:column;gap:3px;min-width:0;display:flex}.auth-brand strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.auth-brand small{color:#ffffff7a;letter-spacing:.08em;font-size:9px}.auth-hero-copy{z-index:2;margin-top:35px;position:relative}.auth-role-pill{color:#e8ffeb;letter-spacing:.04em;background:#ffffff14;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:6px;height:27px;padding:0 10px;font-size:10px;font-weight:650;display:inline-flex}.auth-role-pill svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.auth-hero-copy h1{color:#fff;letter-spacing:-.035em;margin:13px 0 0;font-size:29px;font-weight:680;line-height:1.18}.auth-hero-copy p{color:#ffffff96;max-width:310px;margin:9px 0 0;font-size:11px;line-height:1.6}.mini-login-card .identity-back,.mini-login-card .auth-popup-close{z-index:10;top:calc(25px + env(safe-area-inset-top));color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff17;border:1px solid #ffffff26;border-radius:13px;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute}.mini-login-card .identity-back{left:24px}.mini-login-card .identity-back svg{transform:rotate(180deg)}.mini-login-card .auth-popup-close{font-size:19px;right:18px}.auth-form-sheet{z-index:4;min-height:calc(100dvh - 242px);padding:22px 20px calc(24px + env(safe-area-inset-bottom));background:var(--portal-stone,#f5f6f8);border-radius:32px 32px 0 0;flex-direction:column;margin-top:-34px;display:flex;position:relative;box-shadow:0 -16px 42px #104e2221}.auth-form-sheet>.segmented,.mini-login-card>.segmented{background:#e7eee8;border:1px solid #1743340f;border-radius:16px;min-height:50px;margin:0 0 17px;padding:4px}.auth-form-sheet>.segmented button{color:#849088;border-radius:12px;min-height:42px;font-size:13px;font-weight:600}.auth-form-sheet>.segmented button.active{color:var(--portal-ink,#17331f);background:#fff;box-shadow:0 8px 18px #1b3d3014}.auth-form-sheet .mini-login-form{gap:11px;margin-top:0}.auth-form-sheet .mini-form-item{background:#fff;border:1px solid #2eae3f1c;border-radius:17px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;min-height:68px;margin:0;padding:9px 13px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 8px 24px #1f7a3c0b}.auth-form-sheet .mini-form-item:focus-within{border-color:#2eae3f8c;box-shadow:0 0 0 4px #2eae3f17,0 10px 26px #1f7a3c0f}.auth-field-icon{background:var(--portal-brand-soft,#eaf9ed);border-radius:13px;place-items:center;height:42px;display:grid;width:42px!important;color:var(--portal-brand,#2eae3f)!important}.auth-portal-hero.employee+.auth-form-sheet .auth-field-icon{background:#e5f5e9;color:var(--portal-brand-deep,#1f7a3c)!important}.auth-field-icon svg{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.auth-field-content{flex-direction:column;gap:2px;min-width:0;display:flex}.auth-field-content>span:first-child{color:#819087;letter-spacing:.02em;font-size:10px;font-weight:600}.auth-form-sheet .auth-field-content input{width:100%;min-width:0;height:30px;color:var(--portal-ink,#17331f);box-shadow:none;background:0 0;border:0;outline:0;padding:0;font-size:15px;font-weight:500}.auth-form-sheet .auth-field-content input::placeholder{color:#b0b8b3;font-weight:400}.auth-password-input{align-items:center;min-width:0;display:flex}.auth-password-input input{flex:1}.auth-password-input button{color:#96a19a;background:0 0;border:0;flex:none;place-items:center;width:34px;height:30px;padding:0;display:grid}.auth-password-input button svg{stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.auth-form-sheet .mini-form-select-wrap{align-items:center;min-width:0;display:flex;position:relative}.auth-form-sheet .mini-form-select-wrap select{width:100%;min-width:0;height:30px;color:var(--portal-ink,#17331f);text-overflow:ellipsis;white-space:nowrap;appearance:none;background:0 0;border:0;outline:0;padding:0 28px 0 0;font-size:15px;font-weight:500;overflow:hidden}.auth-form-sheet .mini-form-select-wrap select.placeholder,.auth-form-sheet .mini-form-select-wrap select:disabled{color:#b0b8b3;font-weight:400}.auth-form-sheet .mini-form-select-wrap b{color:#98a39c;pointer-events:none;place-items:center;width:24px;height:24px;display:grid;position:absolute;right:1px}.auth-form-sheet .mini-privacy-agreement{padding:6px 3px 1px;font-size:10px;gap:7px!important}.auth-form-sheet .mini-privacy-agreement>input{border-radius:5px!important}.auth-form-sheet .mini-privacy-agreement button{color:var(--portal-brand,#2eae3f);text-decoration:none}.auth-form-sheet .form-error{border:1px solid #b541351a;border-radius:12px;padding:10px 12px;font-size:11px}.auth-form-sheet .mini-submit-tips{color:#8b958f;margin:0;font-size:10px}.auth-form-sheet .login-submit{color:#fff;letter-spacing:.03em;background:linear-gradient(135deg,#39b94a,#2eae3f);border-radius:17px;justify-content:center;align-items:center;gap:12px;width:100%;height:56px;min-height:56px;margin-top:5px;padding:0 13px 0 50px;font-size:15px;font-weight:650;display:flex;box-shadow:0 14px 28px #2eae3f42}.auth-form-sheet .login-submit>span{text-align:center;flex:1}.auth-form-sheet .login-submit i{color:#fff;background:#ffffff21;border-radius:11px;place-items:center;width:32px;height:32px;font-style:normal;display:grid}.auth-form-sheet .login-submit:disabled{opacity:.6}.auth-form-sheet .login-help{color:#929c96;justify-content:center;align-items:center;gap:7px;margin:15px 0 0;font-size:10px;line-height:1.45;display:flex}.auth-form-sheet .login-help span{border:1px solid #aeb8b2;border-radius:50%;place-items:center;width:16px;height:16px;font-family:Georgia,serif;font-size:10px;font-weight:700;display:grid}@media (hover:hover){.identity-options>button:hover{border-color:#2eae3f57;transform:translateY(-2px);box-shadow:0 16px 34px #1f7a3c1c}}@media (width<=360px){.identity-brand{padding-left:19px;padding-right:19px}.identity-heading{padding:32px 20px 26px}.identity-heading h1{font-size:29px}.identity-sheet{border-radius:27px 27px 0 0;padding-left:16px;padding-right:16px}.identity-options>button{grid-template-columns:49px minmax(0,1fr) 30px;gap:11px;min-height:79px;padding:12px}.identity-option-icon{border-radius:15px;width:49px;height:49px}.identity-options small{font-size:10px}.auth-portal-hero{min-height:260px;padding-left:20px;padding-right:20px}.mini-login-card .identity-back{left:20px}.auth-brand{padding-left:49px}.auth-form-sheet{border-radius:27px 27px 0 0;padding-left:16px;padding-right:16px}.auth-form-sheet .mini-form-item{grid-template-columns:38px minmax(0,1fr);gap:9px;padding-left:11px;padding-right:11px}.auth-field-icon{border-radius:12px;height:38px;width:38px!important}}.auth-standalone-panel .identity-options>button{border-radius:20px;min-height:84px}.auth-standalone-panel.identity-popup-panel{background:var(--portal-brand-deep,#1f7a3c);align-items:stretch;padding:0}.auth-standalone-panel .identity-heading{padding-top:38px}.auth-standalone-panel .identity-options>button>.identity-option-icon{width:54px;height:54px;color:var(--portal-brand,#2eae3f);background:var(--portal-brand-soft,#eaf9ed);box-shadow:none;border-radius:17px}.auth-standalone-panel .identity-options>button.employee>.identity-option-icon{color:var(--portal-brand-deep,#1f7a3c);background:#e5f5e9}.auth-standalone-panel .identity-options>button>.identity-option-action{width:32px;height:32px;color:var(--portal-brand-deep,#1f7a3c);box-shadow:none;background:#eaf4ec;border-radius:50%}@media (width<=360px){.auth-standalone-panel .identity-options>button{min-height:79px}.auth-standalone-panel .identity-options>button>.identity-option-icon{border-radius:15px;width:49px;height:49px}.auth-standalone-panel .identity-options>button>.identity-option-action{width:30px;height:30px}}.park-gate-page{--gate:#176d3b;--gate-bright:#2eae3f;--gate-soft:#eaf9ed;background:#f3f6f4}.park-gate-page .profile-subpage-bar{color:#fff;background:#155f35;border-color:#ffffff21}.park-gate-page .profile-subpage-bar button,.park-gate-page .profile-subpage-bar h1{color:#fff}.park-gate-dashboard,.park-gate-detail{padding:12px 12px 30px}.gate-dashboard-hero{color:#fff;background:linear-gradient(138deg,#145f35,#24934a 62%,#3fba57);border-radius:20px;justify-content:space-between;align-items:center;min-height:138px;padding:22px 20px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 28px #145f3533}.gate-dashboard-hero:after{content:"";border:1px solid #ffffff29;border-radius:50%;width:170px;height:170px;position:absolute;bottom:-64px;right:-35px}.gate-dashboard-hero>div{z-index:1;min-width:0;position:relative}.gate-dashboard-hero small{color:#ffffffbd;font-size:12px}.gate-dashboard-hero h2{letter-spacing:.02em;margin:8px 0 0;font-size:23px}.gate-dashboard-hero p{color:#ffffffd1;margin:8px 0 0;font-size:12px;line-height:1.6}.gate-dashboard-hero>span{z-index:1;background:#ffffff24;border:1px solid #ffffff4d;border-radius:20px;flex:0 0 62px;place-items:center;width:62px;height:62px;font-size:29px;font-weight:700;display:grid;position:relative;box-shadow:inset 0 1px #fff3}.gate-summary-row{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:10px;display:grid}.gate-summary-row article{background:#fff;border:1px solid #145f350f;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:71px;display:flex;box-shadow:0 7px 18px #173c240d}.gate-summary-row strong{color:#153e27;font-size:21px}.gate-summary-row span{color:#89938c;margin-top:3px;font-size:11px}.gate-primary-scan{color:#fff;text-align:left;background:linear-gradient(135deg,#2eae3f,#1f8a3d);border-radius:18px;grid-template-columns:48px minmax(0,1fr) 22px;align-items:center;gap:12px;width:100%;min-height:78px;margin-top:10px;padding:12px 15px;display:grid;box-shadow:0 10px 24px #2eae3f30}.gate-primary-scan>span{background:#ffffff29;border-radius:15px;place-items:center;width:48px;height:48px;font-size:24px;display:grid}.gate-primary-scan>div{flex-direction:column;min-width:0;display:flex}.gate-primary-scan strong{font-size:15px}.gate-primary-scan small{color:#ffffffc2;margin-top:5px;font-size:10px}.gate-primary-scan>b{font-size:25px;font-weight:300}.gate-search{grid-template-columns:minmax(0,1fr) 64px;gap:7px;height:46px;margin-top:12px;display:grid;position:relative}.gate-search input{background:#fff;border:1px solid #e1e8e3;border-radius:13px;outline:0;min-width:0;padding:0 40px 0 14px;font-size:13px}.gate-search>button:last-child{color:#fff;background:var(--gate);border-radius:13px;font-size:13px;font-weight:600}.gate-search .clear{color:#98a29b;background:#eff2f0;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:11px;right:78px}.gate-queue-tabs{border-bottom:1px solid #dde5df;grid-template-columns:repeat(4,1fr);height:49px;margin-top:14px;display:grid}.gate-queue-tabs button{color:#7c8780;background:0 0;justify-content:center;align-items:center;gap:4px;font-size:12px;display:flex;position:relative}.gate-queue-tabs button b{color:#8b958e;background:#e8eeea;border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:9px;display:grid}.gate-queue-tabs button.active{color:var(--gate);font-weight:700}.gate-queue-tabs button.active b{color:#fff;background:var(--gate-bright)}.gate-queue-tabs button.active:after{background:var(--gate-bright);content:"";border-radius:3px;height:3px;position:absolute;bottom:-1px;left:24%;right:24%}.gate-task-list{gap:10px;padding-top:10px;display:grid}.park-gate-state{color:#96a098;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:240px;padding:28px;display:flex}.park-gate-state>span{width:48px;height:48px;color:var(--gate-bright);background:var(--gate-soft);border-radius:50%;place-items:center;margin-bottom:12px;font-size:22px;display:grid}.park-gate-state strong{color:#556159;font-size:14px}.park-gate-state p{margin:7px 0 0;font-size:11px}.gate-task-card{color:#29332c;text-align:left;background:#fff;border:1px solid #145f350f;border-radius:17px;width:100%;overflow:hidden;box-shadow:0 7px 18px #173c240d}.gate-task-card>header{justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 14px 10px;display:flex}.gate-task-card>header div{flex-direction:column;min-width:0;display:flex}.gate-task-card>header strong{font-size:16px}.gate-task-card>header small{color:#9aa39d;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.gate-task-card>header>span{color:#237d3e;text-overflow:ellipsis;white-space:nowrap;background:#ebf8ee;border-radius:999px;max-width:125px;padding:5px 8px;font-size:10px;overflow:hidden}.gate-task-card>section{grid-template-columns:1fr .8fr 1fr;gap:8px;padding:0 14px 12px;display:grid}.gate-task-card>section span{color:#9aa39d;flex-direction:column;min-width:0;font-size:10px;display:flex}.gate-task-card>section b{color:#404b43;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;font-weight:600;overflow:hidden}.gate-task-card>footer{background:#fbfcfb;border-top:1px solid #edf1ee;justify-content:space-between;align-items:center;min-height:41px;padding:0 14px;display:flex}.gate-task-card>footer div{gap:5px;display:flex}.gate-task-card>footer i{color:#738078;background:#eef3ef;border-radius:6px;padding:3px 6px;font-size:9px;font-style:normal}.gate-task-card>footer>b{color:var(--gate);font-size:11px}.park-gate-detail{gap:10px;display:grid}.gate-person-card,.gate-requirement-card,.gate-operate-card,.gate-next-card,.gate-complete-card,.gate-assignment-card{background:#fff;border:1px solid #145f350f;border-radius:18px;box-shadow:0 7px 18px #173c240d}.gate-person-card{overflow:hidden}.gate-person-card>header{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 15px 12px;display:flex}.gate-person-card>header small{color:#8d9891;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.gate-person-card h2{color:#173424;margin:5px 0 0;font-size:21px}.gate-person-card>header>span{color:#247d3e;background:#eaf8ed;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:600}.gate-person-card>header>span.status-returning{color:#a15f11;background:#fff3df}.gate-person-card>header>span.status-completed{color:#5e6b63;background:#edf1ee}.gate-person-meta{background:#edf1ee;border-radius:11px;grid-template-columns:1.1fr .7fr 1fr;gap:1px;margin:0 15px;display:grid;overflow:hidden}.gate-person-meta span{color:#98a29b;background:#f7faf8;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:54px;font-size:9px;display:flex}.gate-person-meta strong{color:#374139;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:4px;padding:0 5px;font-size:11px;overflow:hidden}.gate-progress{grid-template-columns:repeat(4,1fr);padding:15px 9px 16px;display:grid}.gate-progress span{color:#a0aaa3;flex-direction:column;align-items:center;gap:5px;font-size:9px;display:flex;position:relative}.gate-progress span:before{z-index:0;content:"";background:#e4e9e5;height:2px;position:absolute;top:10px;left:-50%;right:50%}.gate-progress span:first-child:before{display:none}.gate-progress i{z-index:1;color:#9ca69f;background:#e8ede9;border-radius:50%;place-items:center;width:22px;height:22px;font-size:9px;font-style:normal;display:grid;position:relative}.gate-progress span.done,.gate-progress span.active{color:var(--gate)}.gate-progress span.done:before,.gate-progress span.active:before{background:#7fcf8d}.gate-progress span.done i,.gate-progress span.active i{color:#fff;background:var(--gate-bright)}.gate-progress span.active i{box-shadow:0 0 0 4px #2eae3f1f}.gate-requirement-card{padding:15px}.gate-requirement-card>header,.gate-assignment-card>header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.gate-requirement-card h3,.gate-assignment-card h3{color:#243129;margin:0;font-size:15px}.gate-requirement-card header p{color:#98a29b;margin:4px 0 0;font-size:10px}.gate-requirement-card header>b{color:#237d3e;background:#eaf8ed;border-radius:8px;padding:5px 8px;font-size:10px}.gate-requirement-card>div{gap:7px;margin-top:12px;display:grid}.gate-requirement-card article{background:#f6f9f7;border-radius:12px;grid-template-columns:36px minmax(0,1fr) 35px;align-items:center;gap:10px;min-height:54px;padding:8px 10px;display:grid}.gate-requirement-card article>span{color:#7a867e;background:#e8eeea;border-radius:11px;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.gate-requirement-card article.pending>span{color:#9d641b;background:#fff0d8}.gate-requirement-card article.complete>span{color:#237d3e;background:#e3f6e7}.gate-requirement-card article.optional>span{color:#39739a;background:#e6f2f9}.gate-requirement-card article>div{flex-direction:column;min-width:0;display:flex}.gate-requirement-card article strong{color:#374239;font-size:12px}.gate-requirement-card article small{color:#929c95;margin-top:3px;font-size:9px}.gate-requirement-card article>b{color:#9a651f;text-align:right;font-size:11px}.gate-requirement-card article.complete>b{color:var(--gate-bright);font-size:16px}.gate-requirement-card article.optional>b{color:#39739a;font-size:10px}.gate-no-category{color:#78837b;text-align:center;background:#f5f8f6;border-radius:12px;margin:12px 0 0;padding:13px;font-size:10px;line-height:1.6}.gate-operate-card{padding:15px}.gate-operate-card>header{align-items:flex-start;gap:11px;margin-bottom:13px;display:flex}.gate-operate-card>header>span{color:#fff;background:var(--gate-bright);border-radius:9px;place-items:center;min-width:60px;height:27px;font-size:10px;font-weight:600;display:grid}.gate-operate-card>header div{min-width:0}.gate-operate-card h3{color:#26332b;margin:0;font-size:15px}.gate-operate-card header p{color:#8e9991;margin:4px 0 0;font-size:10px;line-height:1.6}.gate-issue-category-tabs{gap:7px;margin-bottom:8px;display:grid}.gate-issue-category-tabs button{color:#344138;text-align:left;background:#f8faf8;border:1px solid #e1e9e3;border-radius:13px;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:9px;min-height:58px;padding:8px 10px;display:grid}.gate-issue-category-tabs button>i{width:36px;height:36px;color:var(--gate);background:#e5f5e8;border-radius:11px;place-items:center;font-size:12px;font-style:normal;font-weight:700;display:grid}.gate-issue-category-tabs button>span{flex-direction:column;min-width:0;display:flex}.gate-issue-category-tabs button strong{font-size:12px}.gate-issue-category-tabs button small{color:#8c978f;margin-top:3px;font-size:9px}.gate-issue-category-tabs button>b{color:#a4ada6;text-align:center;font-size:15px}.gate-issue-category-tabs button.active{box-shadow:inset 3px 0 var(--gate-bright);background:#effaf1;border-color:#2eae3f7a}.gate-issue-category-tabs button.active>b{color:var(--gate)}.gate-issue-category-tabs button:disabled{opacity:.58}.gate-locked-target{background:#f0f5f1;border-radius:12px;grid-template-columns:78px minmax(0,1fr);align-items:center;min-height:54px;margin-top:5px;padding:8px 10px;display:grid}.gate-locked-target span{color:#68746b;font-size:10px}.gate-locked-target strong{color:#26332b;text-align:right;font-size:13px}.gate-locked-target small{color:#9aa39c;text-align:right;grid-column:1/-1;margin-top:4px;font-size:9px}.gate-operate-card>label{border-bottom:1px solid #edf1ee;grid-template-columns:95px minmax(0,1fr);align-items:center;min-height:46px;display:grid}.gate-operate-card>label span{color:#59655d;font-size:11px}.gate-operate-card>label input{color:#2e3931;text-align:right;background:0 0;border:0;outline:0;min-width:0;font-size:12px}.gate-operate-card>form{grid-template-columns:minmax(0,1fr) 86px;gap:7px;height:46px;margin-top:12px;display:grid}.gate-operate-card>form input{background:#f8faf9;border:1px solid #dfe7e1;border-radius:11px;outline:0;min-width:0;padding:0 11px;font-size:12px}.gate-operate-card>form button{color:#fff;background:var(--gate);border-radius:11px;font-size:11px;font-weight:600}.gate-operate-card button:disabled{opacity:.55}.gate-scan-button{border-radius:11px;width:100%;height:45px;margin-top:8px;font-size:12px;font-weight:600;color:var(--gate)!important;background:#edfaef!important;border:1px solid #2eae3f3d!important}.gate-phase-confirm{color:#fff;background:linear-gradient(135deg,#2eae3f,#238f3d);border-radius:12px;width:100%;min-height:46px;margin-top:10px;padding:0 12px;font-size:12px;font-weight:650}.gate-phase-confirm:disabled{color:#8c968f;background:#edf1ee}.gate-condition-switch{background:#edf1ee;border-radius:11px;grid-template-columns:repeat(3,1fr);gap:4px;height:38px;padding:3px;display:grid}.gate-condition-switch button{color:#7a857d;background:0 0;border-radius:8px;font-size:11px}.gate-condition-switch button.active{color:#fff;background:var(--gate-bright)}.gate-condition-switch button.active.damaged{background:#e39228}.gate-condition-switch button.active.lost{background:#d95555}.gate-operate-card>textarea{resize:vertical;background:#fffbf4;border:1px solid #ead8bd;border-radius:11px;outline:0;width:100%;min-height:70px;margin-top:9px;padding:10px;font-size:11px}.gate-next-card{padding:16px}.gate-next-card small{color:var(--gate-bright);font-size:10px;font-weight:700}.gate-next-card h3{color:#243129;margin:5px 0 0;font-size:16px}.gate-next-card p{color:#89948c;margin:6px 0 0;font-size:10px;line-height:1.6}.gate-next-card button{color:#fff;background:linear-gradient(135deg,#2eae3f,#238f3d);border-radius:12px;width:100%;height:46px;margin-top:13px;font-size:12px;font-weight:600}.gate-complete-card{background:linear-gradient(135deg,#e8f8eb,#fff);align-items:center;gap:13px;padding:17px;display:flex}.gate-complete-card>span{color:#fff;background:var(--gate-bright);border-radius:50%;flex:0 0 45px;place-items:center;width:45px;height:45px;font-size:20px;display:grid}.gate-complete-card h3{color:#1f6637;margin:0;font-size:16px}.gate-complete-card p{color:#6d8173;margin:5px 0 0;font-size:10px;line-height:1.6}.gate-assignment-card{padding:15px}.gate-assignment-card>header>span{color:#8e9991;font-size:10px}.gate-assignment-card>div{background:#edf1ee;border-radius:12px;gap:1px;margin-top:10px;display:grid;overflow:hidden}.gate-assignment-card article{background:#f8faf9;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:60px;padding:8px 10px;display:grid}.gate-assignment-card article>span{color:#237d3e;background:#e3f6e7;border-radius:10px;place-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:grid}.gate-assignment-card article>span.returned{color:#718078;background:#e7ece8}.gate-assignment-card article>span.damaged,.gate-assignment-card article>span.lost{color:#b05342;background:#fce9e5}.gate-assignment-card article>div{flex-direction:column;min-width:0;display:flex}.gate-assignment-card article strong{color:#374139;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.gate-assignment-card article small{color:#939d96;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.gate-assignment-card article>button{color:#fff;background:var(--gate-bright);border-radius:9px;min-width:50px;height:30px;font-size:10px}.gate-assignment-card article>b{color:#98a29b;text-align:right;max-width:84px;font-size:8px;font-weight:400}.gate-scanner-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0b1910a8;align-items:flex-end;width:min(100%,520px);margin:0 auto;display:flex;position:fixed;inset:0}.gate-scanner-sheet{width:100%;padding:0 14px calc(18px + env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -18px 50px #00000029}.gate-scanner-sheet>header{grid-template-columns:60px 1fr 60px;align-items:center;height:57px;display:grid}.gate-scanner-sheet>header button{color:#68736c;text-align:left;background:0 0;font-size:12px}.gate-scanner-sheet>header h2{color:#253029;text-align:center;margin:0;font-size:16px}.gate-scanner-video{background:linear-gradient(145deg,#14251b,#1b3c29);border-radius:17px;place-items:center;height:275px;display:grid;position:relative;overflow:hidden}.gate-scanner-video video{opacity:0;object-fit:cover;width:100%;height:100%;position:absolute}.gate-scanner-video.active video{opacity:1}.gate-scanner-video>span{z-index:1;border:2px solid #ffffffe6;border-radius:16px;width:190px;height:190px;position:relative;box-shadow:0 0 0 999px #020d0740}.gate-scanner-video>span:before,.gate-scanner-video>span:after{content:"";background:#2eff5bcc;height:1px;position:absolute;left:18px;right:18px}.gate-scanner-video>span:before{top:33%}.gate-scanner-video>span:after{bottom:33%}.gate-scanner-video>p{z-index:2;color:#fffc;margin:0;font-size:10px;position:absolute;bottom:14px}.gate-camera-toggle{color:#fff;background:var(--gate-bright);border-radius:12px;width:100%;height:44px;margin-top:10px;font-size:12px;font-weight:600}.gate-scanner-sheet>form{margin-top:13px}.gate-scanner-sheet>form label{color:#637068;font-size:11px}.gate-scanner-sheet>form>div{grid-template-columns:minmax(0,1fr) 69px;gap:7px;height:44px;margin-top:7px;display:grid}.gate-scanner-sheet>form input{background:#f7f9f8;border:1px solid #dce4de;border-radius:11px;outline:0;min-width:0;padding:0 11px;font-size:12px}.gate-scanner-sheet>form button{color:#fff;background:var(--gate);border-radius:11px;font-size:11px;font-weight:600}.gate-scanner-error{color:#d95151;text-align:center;margin:9px 0 0;font-size:10px;line-height:1.5}@media (width<=360px){.gate-dashboard-hero{padding-left:15px;padding-right:15px}.gate-dashboard-hero h2{font-size:20px}.gate-dashboard-hero>span{flex-basis:54px;width:54px;height:54px}.gate-task-card>section{grid-template-columns:1fr .75fr .9fr}.gate-scanner-video{height:235px}.gate-scanner-video>span{width:165px;height:165px}}
