:root{--color-bg: #005299;--color-surface: #ffffff;--color-primary: #62bd18;--color-primary-hover: #5aa816;--color-text: #1a1a1a;--color-text-inverse: #ffffff;--color-text-muted: #a0a0a0;--color-icon: #575b66;--font-size-title: 40px;--font-size-input: 30px;--font-size-button: 36px;--font-size-footer: 24px;--radius-input: 52px;--radius-button: 52px;--design-width: 750;--login-logo-w: 412;--login-logo-h: 157;--login-input-w: 650;--login-input-h: 100;--login-button-w: 356;--login-button-h: 100;--home-bg-panel: #00619a;--home-content-gradient: linear-gradient(180deg, #00529b 0%, #5075f8 100%);--home-welcome-size: 20px;--home-card-width: 670px;--home-card-height: 77px;--home-card-gap: 28px;--home-card-num-size: 72px;--home-card-title-size: 16px;--home-card-sub-size: 12px;--home-accent-bar: #62bd18;--home-content-radius: 53px;--home-entry-radius: 70px;--home-entry-1-num-color: rgba(120, 100, 220, .35);--home-entry-2-num-color: rgba(0, 120, 220, .3);--home-entry-3-num-color: rgba(120, 100, 220, .35);--home-entry-4-num-color: rgba(0, 120, 220, .3);--home-entry-5-num-color: rgba(200, 130, 60, .35);--home-entry-6-num-color: rgba(0, 120, 220, .3);--home-entry-7-num-color: rgba(60, 160, 90, .35);--home-entry-1-bg: #ebecff;--home-entry-1-border: #dadcff;--home-entry-2-bg: #e9f3ff;--home-entry-2-border: #cce3ff;--home-entry-3-bg: #ebecff;--home-entry-3-border: #dadcff;--home-entry-4-bg: #e9f3ff;--home-entry-4-border: #cce3ff;--home-entry-5-bg: #faf2e0;--home-entry-5-border: #f9e4c4;--home-entry-6-bg: #e9f3ff;--home-entry-6-border: #cce3ff;--home-entry-7-bg: #e0f8e9;--home-entry-7-border: #caf4a7;--meeting-page-padding-h: 40px;--meeting-title-size: 36px;--meeting-title-margin-top: 46px;--meeting-title-margin-bottom: 62px;--meeting-card-width: 670px;--meeting-card-min-height: 316px;--meeting-card-radius: 20px;--meeting-card-gap: 40px;--meeting-card-padding: 24px;--meeting-card-image-width: 380px;--meeting-card-image-height: 268px;--meeting-card-image-radius: 12px;--meeting-room-name-size: 32px;--meeting-room-desc-size: 24px;--meeting-btn-width: 218px;--meeting-btn-height: 68px;--meeting-btn-radius: 34px;--meeting-btn-font-size: 28px;--meeting-record-bar-height: 88px;--meeting-record-bar-radius: 52px;--meeting-record-font-size: 32px;--meeting-record-margin-top: 56px;font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.5;font-weight:400;color:#1a1a1a;background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html{min-height:100%;min-height:100dvh;background-color:var(--color-bg)}html,body{overscroll-behavior:none}body{margin:0;min-width:320px;min-height:100%;min-height:100dvh;background-color:var(--color-bg)}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}.layout{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-bg)}.layout-header{display:flex;align-items:center;justify-content:space-between;padding:calc(.75rem + var(--safe-area-inset-top)) calc(1rem + var(--safe-area-inset-right)) .75rem calc(1rem + var(--safe-area-inset-left));background:#f000;border-bottom:1px solid #e5e7eb00}.back-btn{background:none;border:none;padding:.25rem 0;font-size:.95rem;color:#2563eb;cursor:pointer}.back-btn:hover{text-decoration:underline}.layout-logout{background:#e0e8f0;border:none;border-radius:9999px;padding:5px 12px;font-size:12px;color:#2d64b5;cursor:pointer;font-family:PingFang SC,OPPOSans40,sans-serif;transition:background .2s,color .2s}.layout-logout:hover{background:#d0dce8;color:#245a9e}.layout-logout{display:inline-flex;align-items:center;gap:6px}.layout-logout-icon{flex-shrink:0;vertical-align:middle}.layout--home .layout-logout{background:transparent;border:none;border-radius:0;color:#fff;font-size:16px;font-family:OPPOSans40,PingFang SC,sans-serif;font-weight:400;text-align:center;line-height:33px;padding:4px 0 0;white-space:nowrap}.layout--home .layout-logout:hover{background:transparent;color:#ffffffe6;text-decoration:none}.layout-main{flex:1;padding:1rem}.layout-main--home{padding:0;min-height:0;display:flex;flex-direction:column}.layout--home{min-height:100vh;height:100%;background-image:url(/design/home-bg.png);background-size:cover;background-position:center top;background-repeat:no-repeat;background-color:var(--color-bg)}.layout--home .layout-header{background:transparent;border-bottom:none}.logout-confirm-overlay{position:fixed;inset:0;z-index:1000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:20px}.logout-confirm-dialog{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;padding:24px;min-width:280px;max-width:90vw}.logout-confirm-title{margin:0 0 24px;font-size:16px;color:#1a1a1a;text-align:center;font-family:PingFang SC,OPPOSans40,sans-serif}.logout-confirm-actions{display:flex;gap:16px;justify-content:center}.logout-confirm-btn{flex:1;min-width:0;padding:10px 24px;font-size:15px;border-radius:12px;cursor:pointer;font-family:PingFang SC,OPPOSans40,sans-serif;transition:opacity .2s}.logout-confirm-btn:hover{opacity:.9}.logout-confirm-btn--cancel{background:transparent;color:#1a1a1a;border:1px solid #95de64}.logout-confirm-btn--confirm{background:var(--home-accent-bar, #62bd18);color:#fff;border:none}.layout--meeting,.layout--events,.layout--lunch{min-height:100vh;min-height:100dvh;background-image:url(/design/meeting-bg.png);background-size:cover;background-position:center top;background-repeat:no-repeat;background-color:var(--color-bg)}.layout--login .layout-main,.layout-main--meeting,.layout-main--lunch{padding:0}.layout--handbook{min-height:100vh;min-height:100dvh;background-color:#00539a}.layout-main--handbook,.layout-main--events{padding:0}.page{max-width:640px;margin:0 auto}.page-title{font-size:1.5rem;margin:0 0 1rem}.login-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:clamp(12px,4vw,24px);background-color:var(--color-bg);background-image:url(/design/login-bg.png);background-repeat:no-repeat;background-position:center center;background-size:cover;box-sizing:border-box}.login-inner{flex:1;width:100%;max-width:750px;min-height:0;display:flex;flex-direction:column;align-items:center}.login-logo-wrap{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:clamp(20px,5vw,48px) 0}.login-logo{display:block;width:100%;max-width:min(520px,78vw);height:auto;flex-shrink:0}.login-bottom{margin-top:auto;width:100%;display:flex;flex-direction:column;align-items:center;padding-bottom:clamp(60px,18vw,140px)}.login-title{align-self:stretch;box-sizing:border-box;margin:0 clamp(12px,17.47vw,131px) 21px clamp(12px,15.87vw,119px);height:34px;padding:0 clamp(16px,10.8vw,81px) 0 clamp(16px,10.93vw,82px);font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-size:16px;font-weight:400;line-height:34px;color:#fff;text-align:center;letter-spacing:.02em;white-space:nowrap;background-image:linear-gradient(270deg,#3afcff00 0,#38ffeca6 50.216146%,#39feff00)}.login-form{display:flex;flex-direction:column;align-items:center;width:100%;max-width:650px;gap:29px}.login-input-wrap{width:95%;height:var(--login-input-h);background:var(--color-surface);border-radius:var(--radius-input);display:flex;align-items:center;padding:0 24px;box-sizing:border-box}.login-input{width:100%;border:none;background:transparent;font-size:var(--font-size-input);color:var(--color-text);outline:none}.login-input::placeholder{color:var(--color-text-muted)}.login-error{margin:0 0 4px;font-size:14px;color:#fecaca;text-align:center;width:100%}.login-btn{width:356px;max-width:50%;height:var(--login-button-h);background:#fff;color:var(--color-text);border:none;border-radius:var(--radius-button);font-size:var(--font-size-button);font-weight:700;cursor:pointer;transition:background .2s,opacity .2s}.login-btn:hover:not(:disabled){background:#f3f3f3}.login-btn:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:3px}.login-btn:disabled{opacity:.65;cursor:not-allowed}@media(max-width:750px){.login-inner{max-width:100%}.login-logo{max-width:min(520px,78vw)}.login-input-wrap{height:clamp(48px,13.33vw,100px)}.login-input{font-size:clamp(16px,4vw,30px)}.login-btn{width:356px;max-width:50%;height:clamp(48px,13.33vw,100px);font-size:clamp(20px,4.8vw,36px)}}.home-page{flex:1;min-height:0;display:flex;flex-direction:column;background:transparent;overflow:hidden}.home-hero{position:relative;flex-shrink:0;min-height:140px;padding:24px 40px 0;overflow:visible;background-color:transparent;background-image:none}.home-welcome-row{display:flex;align-items:center;gap:10px;height:50px}.home-accent-bar{flex-shrink:0;width:6px;height:18px;background:var(--home-accent-bar);border-radius:2px}.home-welcome{margin:0;font-size:var(--home-welcome-size);font-weight:400;color:var(--color-text-inverse);line-height:1.2}.home-content{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--home-content-gradient);margin-top:0;padding:28px 40px 24px;overflow:hidden;position:relative;z-index:1;border-radius:var(--home-content-radius) var(--home-content-radius) 0 0}.home-nav{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--home-card-gap);max-width:670px;margin:0 auto;width:100%;overflow-y:auto}.home-content-logo{width:150px;height:57px;max-height:111px;object-fit:contain;align-self:center;margin-top:50px;display:block;flex-shrink:0;opacity:.95}.home-entry{display:flex;align-items:center;gap:24px;font-family:inherit;min-height:var(--home-card-height);padding:0 40px 0 52px;background:var(--entry-bg);border-radius:var(--home-entry-radius);border:2px solid var(--entry-border);color:var(--color-text);text-decoration:none;transition:opacity .2s,transform .15s}button.home-entry{width:100%;cursor:pointer;text-align:left}.home-entry:hover{opacity:.95;text-decoration:none;color:var(--color-text)}.home-entry-num{flex-shrink:0;font-size:var(--home-card-num-size);font-weight:700;color:var(--entry-num-color, rgba(98, 189, 24, .3));line-height:1}.home-entry-text{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.home-entry-text strong{font-size:var(--home-card-title-size);font-weight:500;font-family:PingFang SC,sans-serif;line-height:20px;height:20px}.home-entry-sub{display:flex;flex-direction:column;font-size:var(--home-card-sub-size);font-weight:400;color:var(--color-text);opacity:.9}.home-entry-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:56px;height:56px}.home-entry-icon img{display:block;width:100%;height:100%;object-fit:contain}@media(max-width:480px){.home-hero{padding:24px 20px 0}.home-welcome{font-size:clamp(16px,4vw,20px)}.home-content{padding:30px 20px 32px}.home-entry{min-height:72px;padding:0 24px;gap:16px}.home-entry-num{font-size:clamp(40px,12vw,72px)}.home-entry-text strong{font-size:clamp(12px,4.5vw,16px)}.home-entry-sub{font-size:clamp(10px,3.5vw,12px)}.home-nav{gap:20px}.home-entry-icon,.home-entry-icon img{width:44px;height:44px}}.long-page{padding-bottom:2rem}.long-page-title{font-size:1.5rem;margin:0 0 1.25rem}.events-page{background:transparent;min-height:100vh;min-height:100dvh;padding:clamp(24px,5.3vw,32px) clamp(32px,5.3vw,40px) clamp(40px,6.4vw,48px)}.events-wrap{max-width:750px;margin:0 auto;display:flex;flex-direction:column;min-height:100%}.events-wrap .meeting-header{align-self:stretch;max-width:none}.events-label-date{color:#fff;font-size:clamp(18px,3.2vw,24px);font-weight:500;margin:clamp(28px,5vw,40px) 0 0;text-align:center}.events-date-pills{display:flex;flex-wrap:nowrap;justify-content:stretch;align-self:stretch;width:100%;gap:12px;margin-top:clamp(16px,3vw,24px)}.events-date-pill{flex:1;min-width:0;padding:clamp(8px,1.5vw,12px) clamp(12px,2vw,20px);border-radius:28px;border:1px solid rgba(98,189,24,1);background:transparent;color:#8be343;font-size:clamp(18px,3.2vw,24px);font-weight:500;line-height:1.2;cursor:pointer}.events-date-pill.is-selected{background:#62bd18;color:#fff;border-color:#62bd18}.events-list{list-style:none;padding:0;margin:clamp(24px,5vw,40px) 0 0;display:flex;flex-direction:column;gap:24px}.events-card{display:flex;background:#fff;border-radius:12px;overflow:hidden;padding-right:clamp(24px,4.5vw,40px)}.events-card-bar{width:8px;flex-shrink:0;background:#1fe9ff}.events-card-body{flex:1;min-width:0;padding:clamp(18px,3.2vw,30px) 0 clamp(18px,3.2vw,30px) clamp(20px,4vw,32px)}.events-card-title{margin:0;color:#000;font-size:clamp(18px,2.67vw,20px);font-weight:500;line-height:1.5;overflow-wrap:break-word;white-space:pre-line}.events-card-meta{margin:16px 0 0;color:#000;font-size:clamp(12px,1.87vw,15px);font-weight:400;line-height:1.2}.events-card-meta-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:12px;margin:16px 0 0;color:#000;font-size:clamp(11px,1.87vw,15px);font-weight:400;line-height:1.2}.events-card-meta--time{flex-shrink:0;margin-left:auto}.events-loading,.events-empty{color:#ffffffe6;margin:clamp(24px,5vw,40px) 0 0;font-size:clamp(14px,2.7vw,18px);text-align:center}.events-footer-logo{width:150px;height:57px;max-height:111px;object-fit:contain;align-self:center;margin-top:50px;display:block}.btn{display:inline-block;padding:.75rem 1.25rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;border:none;text-align:center;text-decoration:none;margin-right:.5rem;margin-top:.5rem}.btn.primary{background:#2563eb;color:#fff}.btn.primary:hover{background:#1d4ed8;text-decoration:none}.btn.secondary{background:#fff;color:#2563eb;border:1px solid #2563eb}.btn.secondary:hover{background:#eff6ff;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.page.meeting-page{width:100%;max-width:750px;margin:0 auto;padding:0;background:transparent;position:relative;overflow:hidden;box-sizing:border-box}.page.meeting-page *{box-sizing:border-box}.meeting-page-wrap{padding:clamp(20px,4.27vw,32px) clamp(20px,5.33vw,40px) clamp(32px,6.4vw,48px);box-sizing:border-box;background:transparent;min-height:100%;display:flex;flex-direction:column;align-items:center}.meeting-room-loading{padding:1rem;color:#666}.meeting-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;max-width:424px;align-self:flex-start;position:relative;padding-top:var(--safe-area-inset-top);padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right)}.meeting-back{width:clamp(29px,5.69vw,43px);height:clamp(29px,5.69vw,43px);padding:0;border:none;background:transparent;cursor:pointer;line-height:0;display:block;z-index:1;flex-shrink:0}.meeting-back img{display:block;width:100%;height:100%;object-fit:contain}.meeting-back:hover{opacity:.9}.meeting-page-title{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);overflow-wrap:break-word;color:#fff;font-size:clamp(1.25rem,4.8vw,2.25rem);font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;text-align:center;white-space:nowrap;line-height:1.2;margin:0;height:45px;vertical-align:middle;display:flex;flex-direction:column;justify-content:center;align-items:center}.meeting-room-list{list-style:none;padding:0;margin:clamp(28px,6.4vw,48px) 0 0;display:flex;flex-direction:column;align-items:center;width:100%}.meeting-room-card{background-color:#fff;border-radius:clamp(12px,2.67vw,20px);width:100%;max-width:670px;min-height:0;margin-bottom:clamp(20px,5.33vw,40px);padding:clamp(16px,3.2vw,24px);display:flex;flex-direction:row;justify-content:space-between;box-sizing:border-box}.meeting-room-card:last-of-type{margin-bottom:clamp(20px,5.33vw,40px)}.meeting-room-card-inner{display:flex;flex-direction:row;justify-content:space-between;align-items:stretch;width:100%;min-height:0;gap:clamp(12px,2.4vw,24px);box-sizing:border-box}.meeting-room-card-image{order:0;flex-shrink:0;border-radius:clamp(8px,1.6vw,12px);height:135px;width:56.72%;max-width:380px;min-width:0;background-color:#f0f2f5;background-size:cover;background-position:center;background-repeat:no-repeat}.meeting-room-card-content{order:1;display:flex;flex-direction:column;flex:1;min-width:0}.meeting-room-name{width:100px;max-width:160px;color:#000;font-size:clamp(.8rem,4.2vw,1rem);font-family:PingFang SC,OPPOSans40_SemiBold,sans-serif;font-weight:600;text-align:left;line-height:1.25;margin:0 clamp(1.5rem,12.93vw,6.0625rem) 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meeting-room-text-group{margin:clamp(.75rem,2.8vw,1.25rem) clamp(1rem,7.6vw,3.5625rem) 0 0;display:flex;flex-direction:column}.meeting-room-config{width:100px;color:#000;font-size:clamp(.6rem,3.2vw,.8rem);font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;text-align:left;line-height:1.25;margin:0 clamp(.5rem,2.53vw,1.1875rem) 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meeting-room-desc{width:120px;color:#000;font-size:clamp(.6rem,3.2vw,.8rem);font-family:PingFang SC,OPPOSans40,sans-serif;font-weight:400;text-align:left;line-height:1.25;margin:clamp(.5rem,1.8vw,.875rem) clamp(.5rem,3.73vw,1.75rem) 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meeting-room-desc:last-of-type{margin:clamp(.5rem,1.8vw,.875rem) 0 0}.meeting-room-btn{display:inline-flex;align-items:center;justify-content:center;width:100px;height:35px;background-color:#62bd18;border-radius:clamp(1.5rem,4.53vw,2.125rem);margin-top:5px;margin-bottom:4px;padding:clamp(.75rem,2.4vw,1.125rem) clamp(2.5rem,10.8vw,5.0625rem) clamp(.625rem,2.27vw,1.0625rem);color:#fff;font-size:16px;font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;text-align:center;white-space:nowrap;line-height:1.2;text-decoration:none;border:none;box-sizing:border-box}.meeting-room-btn:hover{background:var(--color-primary-hover);color:#fff;text-decoration:none}.meeting-actions{margin-top:0;margin-bottom:0;display:flex;flex-direction:column;align-items:center;width:100%}.meeting-record-bar{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:.5rem;width:100%;max-width:670px;height:50px;background-color:#62bd18;border-radius:clamp(2.25rem,6.93vw,3.25rem);margin:0;padding:clamp(1rem,3.33vw,1.5625rem) clamp(1.5rem,28.8vw,13.5rem);color:#fff;font-size:18px;font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;text-align:center;white-space:nowrap;line-height:1.2;text-decoration:none;box-sizing:border-box}.meeting-record-bar:hover{background:var(--color-primary-hover);color:#fff;text-decoration:none}.meeting-record-bar .meeting-bar-icon{width:14px;height:16px;margin:0;flex-shrink:0}.meeting-record-bar span{font-size:18px}.meeting-cancel-bar{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:.5rem;width:100%;max-width:670px;height:50px;background-color:#62bd18;border-radius:clamp(2.25rem,6.93vw,3.25rem);margin-top:clamp(1.5rem,5.33vw,2.5rem);padding:clamp(1rem,3.33vw,1.5625rem) clamp(1.5rem,32.93vw,15.4375rem) clamp(1rem,3.33vw,1.5625rem) clamp(1.5rem,33.06vw,15.5rem);color:#fff;font-size:clamp(1.375rem,4.27vw,2rem);font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;text-align:center;white-space:nowrap;line-height:1.2;text-decoration:none;box-sizing:border-box}.meeting-cancel-bar:hover{background:var(--color-primary-hover);color:#fff;text-decoration:none}.meeting-cancel-bar span{height:20px;font-size:18px}.meeting-cancel-bar .meeting-bar-icon{width:16px;height:18px;margin:0;flex-shrink:0}.meeting-bar-icon{vertical-align:middle}.meeting-footer-logo{width:150px;height:57px;max-height:111px;object-fit:contain;align-self:center;margin-top:50px;display:block}@media(max-width:360px){.meeting-room-card-inner{flex-direction:column;align-items:stretch;gap:clamp(12px,3vw,20px)}.meeting-room-card-image{width:100%;max-width:none;height:135px}.meeting-room-name{max-width:none;margin-right:0}.meeting-room-text-group{margin-right:0}}@media(max-width:380px){.meeting-page-wrap{padding:16px 16px 24px}.meeting-record-bar,.meeting-cancel-bar{padding-left:20px;padding-right:20px;font-size:18px}.meeting-bar-icon{width:18px;height:20px}.meeting-cancel-bar .meeting-bar-icon{width:16px;height:18px}.meeting-cancel-bar span{height:20px;font-size:18px}}.page.meeting-select-page{width:100%;max-width:750px;margin:0 auto;padding:0;background:transparent;box-sizing:border-box}.page.meeting-select-page *{box-sizing:border-box}.meeting-select-wrap{background-color:#005299;padding:clamp(20px,4.27vw,32px) clamp(20px,5.33vw,40px) clamp(64px,12.8vw,96px);min-height:100%;display:flex;flex-direction:column;align-items:center}.meeting-select-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;max-width:424px;align-self:flex-start;position:relative}.meeting-select-header .meeting-back{width:clamp(29px,5.69vw,43px);height:clamp(29px,5.69vw,43px);flex-shrink:0;line-height:0}.meeting-select-header .meeting-back img{display:block;width:100%;height:100%;object-fit:contain}.meeting-select-title{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);margin:0;overflow-wrap:break-word;color:#fff;font-size:clamp(1.25rem,4.8vw,2.25rem);font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;text-align:center;white-space:nowrap;line-height:1.2;height:45px;vertical-align:middle;display:flex;flex-direction:column;justify-content:center;align-items:center}.meeting-select-label{color:#fff;font-size:18px;font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;line-height:1.2;align-self:center;margin:clamp(24px,6.4vw,48px) 0 0}.meeting-select-label:first-of-type{margin-top:clamp(24px,6.4vw,48px)}.meeting-select-dates{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:stretch;align-items:center;gap:12px;margin-top:clamp(16px,4.27vw,32px);width:100%;max-width:664px}.meeting-select-date-pill{flex:1;min-width:0;padding:clamp(8px,1.5vw,12px) clamp(12px,2vw,20px);border-radius:28px;border:1px solid rgba(98,189,24,1);background:transparent;color:#8be343;font-size:clamp(18px,3.2vw,24px);font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;line-height:1.2;cursor:pointer;white-space:nowrap}.meeting-select-date-pill.is-selected{background:#62bd18;color:#fff;border-color:#62bd18}.meeting-select-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,2vw,16px);margin-top:clamp(20px,5.33vw,40px);width:100%;max-width:664px}.meeting-select-slot{min-width:0;aspect-ratio:1;border-radius:10px;border:1px solid rgba(98,189,24,1);background:transparent;padding:clamp(6px,1.5vw,10px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;color:#fff;font-size:clamp(.65rem,2.5vw,.9rem);font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;line-height:1.2}.meeting-select-slot.is-selected{background-color:#62bd18;border-color:#62bd18}.meeting-select-slot.is-disabled{background-color:#b8bfb3;border-color:#b8bfb3;cursor:not-allowed;opacity:.9}.meeting-select-slot-start,.meeting-select-slot-end{display:block;white-space:nowrap;font-size:18px}.meeting-select-loading{color:#f6fbf7e6;font-size:clamp(.875rem,4vw,1.5rem);margin:clamp(12px,3vw,24px) 0 0;align-self:center}.meeting-select-summary{color:#f6fbf7;font-size:clamp(1rem,4.8vw,2.25rem);font-family:PingFang SC,OPPOSans40_SemiBold,sans-serif;font-weight:600;line-height:1.2;align-self:center;margin-top:clamp(40px,10.67vw,100px)}.meeting-select-form{display:flex;flex-direction:column;align-items:center;width:100%;max-width:664px;margin-top:clamp(24px,5.33vw,40px)}.meeting-select-input{width:100%;background-color:#fff;border-radius:52px;padding:clamp(18px,3.87vw,29px) clamp(24px,5.87vw,44px);border:none;color:#1a1a1a;font-size:clamp(.8rem,3.73vw,1.75rem);font-family:PingFang SC,OPPOSans40,sans-serif;line-height:1.2;margin-bottom:clamp(20px,5.33vw,40px)}.meeting-select-input::placeholder{color:#b8bfb3}.meeting-select-input:focus{outline:none}.meeting-select-submit{width:100%;max-width:356px;background-color:#62bd18;border-radius:52px;padding:clamp(18px,3.87vw,29px) clamp(40px,14.27vw,107px);border:none;color:#fff;font-size:clamp(1rem,4.8vw,2.25rem);font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;line-height:1.2;cursor:pointer;margin-top:0}.meeting-select-submit:hover:not(:disabled){background:var(--color-primary-hover)}.meeting-select-submit:disabled{opacity:.6;cursor:not-allowed}.meeting-select-footer-logo{width:150px;height:57px;max-height:111px;object-fit:contain;align-self:center;margin-top:50px;display:block}@media(max-width:380px){.meeting-select-wrap{padding:16px 16px 48px}.meeting-select-dates{gap:8px}.meeting-select-date-pill{padding:8px 12px;font-size:18px;border-radius:28px}.meeting-select-slot{padding:6px 4px;font-size:.65rem;gap:2px}}.meeting-success-page{min-height:100%;display:flex;flex-direction:column;align-items:center}.meeting-success-wrap{padding:clamp(20px,4.27vw,32px) clamp(20px,5.33vw,40px) clamp(48px,12.8vw,96px);box-sizing:border-box;min-height:100%;display:flex;flex-direction:column;align-items:center;width:100%;max-width:424px}.meeting-success-icon-wrap{margin-top:clamp(60px,12.8vw,120px);display:flex;justify-content:center}.meeting-success-icon{width:clamp(80px,16.35vw,123px);height:clamp(80px,16.35vw,123px);display:block;object-fit:contain}.meeting-success-title{margin:clamp(24px,5.33vw,50px) 0 0;color:#fff;font-size:clamp(1.5rem,5.33vw,2.5rem);font-family:PingFang SC,OPPOSans40_SemiBold,OPPOSans40_Medium,sans-serif;font-weight:600;text-align:center;white-space:nowrap;line-height:1.2}.meeting-success-actions{margin-top:clamp(32px,6.4vw,63px);display:flex;justify-content:center}.meeting-success-back-btn{display:inline-block;background-color:#62bd18;border-radius:52px;padding:clamp(16px,3.87vw,29px) clamp(64px,15.6vw,117px);color:#fff;font-size:clamp(1.125rem,4.8vw,2.25rem);font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;border:none}.meeting-success-back-btn:hover{opacity:.9}.meeting-success-wrap .meeting-footer-logo{margin-top:auto;padding-top:50px;width:150px;height:57px;max-height:111px;object-fit:contain;align-self:center;display:block}.meeting-record-page{min-height:100%;display:flex;flex-direction:column;align-items:center}.meeting-record-wrap{padding:clamp(20px,4.27vw,32px) clamp(20px,5.33vw,40px) clamp(48px,12.8vw,96px);box-sizing:border-box;min-height:100%;display:flex;flex-direction:column;align-items:center;width:100%;max-width:670px}.meeting-record-list{list-style:none;padding:0;margin:clamp(28px,6.4vw,48px) 0 0;width:100%}.meeting-record-card{display:flex;flex-direction:row;justify-content:space-between;align-items:stretch;background-color:#fff;border-radius:20px;width:100%;margin-bottom:clamp(20px,5.33vw,40px);padding:clamp(16px,3.2vw,24px);box-sizing:border-box;gap:clamp(16px,3.2vw,24px)}.meeting-record-card:last-of-type{margin-bottom:clamp(20px,5.33vw,40px)}.meeting-record-card-image{flex-shrink:0;width:clamp(200px,50.67vw,380px);height:clamp(140px,35.73vw,268px);border-radius:12px;background-size:cover;background-position:center;background-repeat:no-repeat}.meeting-record-card-content{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.meeting-record-room-name{width:100px;color:#000;font-size:clamp(1rem,4.27vw,2rem);font-family:PingFang SC,OPPOSans40_SemiBold,sans-serif;font-weight:600;line-height:1.2;white-space:nowrap}.meeting-record-date{width:100px;color:#000;font-size:clamp(.875rem,3.73vw,1.75rem);font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;line-height:1.2;margin-top:clamp(12px,2.67vw,24px)}.meeting-record-time{color:#000;font-size:12px;font-family:PingFang SC,OPPOSans40,sans-serif;font-weight:400;line-height:1.2;margin-top:clamp(10px,2.13vw,20px)}.meeting-record-status-btn{margin-top:clamp(32px,9.07vw,68px);border-radius:22px;padding:clamp(8px,1.8vw,14px) clamp(27px,6vw,45px);color:#fff;font-size:12px;font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;line-height:1.2;text-align:center;white-space:nowrap;text-decoration:none;border:none;cursor:default;display:inline-block}.meeting-record-status-btn.is-used,.meeting-record-status-btn.is-expired,.meeting-record-status-btn.is-cancelled,.meeting-record-status-btn.is-ended{background:#b8bfb3;cursor:default}.meeting-record-status-btn.is-using{background:#de811c;cursor:default}.meeting-record-status-btn.is-available{background:#62bd18;cursor:pointer}.meeting-record-status-btn.is-available:hover{opacity:.9}.meeting-record-tip{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 24px;background:#000000bf;color:#fff;font-size:14px;border-radius:8px;white-space:nowrap;z-index:1000;animation:meeting-record-tip-fade 2s ease-out forwards}.handbook-share-tip{z-index:99999;padding:14px 28px;font-size:16px;pointer-events:none}@keyframes meeting-record-tip-fade{0%,70%{opacity:1}to{opacity:0}}.meeting-cancel-page{min-height:100%;display:flex;flex-direction:column;align-items:center}.meeting-cancel-btn{margin-top:clamp(32px,9.07vw,68px);border-radius:22px;padding:clamp(8px,1.8vw,14px) clamp(27px,6vw,45px);background:#de811c;color:#fff;font-size:12px;font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;line-height:1.2;text-align:center;white-space:nowrap;border:none;cursor:pointer;display:inline-block}.meeting-cancel-btn:hover{opacity:.9}.meeting-cancel-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.meeting-cancel-empty-text{color:#fff;font-size:clamp(1.5rem,5.33vw,2.5rem);font-family:PingFang SC,OPPOSans40_SemiBold,sans-serif;font-weight:600;line-height:1.2;white-space:nowrap}.meeting-record-wrap .meeting-footer-logo{margin-top:auto;padding-top:50px;width:150px;height:57px;max-height:111px;object-fit:contain;align-self:center;display:block}.meeting-record-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;color:#fff;text-align:center}.meeting-record-empty p{margin:0;font-size:clamp(1rem,4.27vw,1.75rem)}.meeting-record-empty-link{color:#fff;font-size:clamp(1rem,4.27vw,1.5rem);text-decoration:underline}.meeting-record-empty-link:hover{opacity:.9}.form{display:flex;flex-direction:column;gap:1rem;max-width:400px}.form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:500}.form input,.form select{padding:.65rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem}.form input:focus,.form select:focus{outline:none;border-color:#2563eb}.success-card,.cancel-card{text-align:center;padding:2rem;background:#fff;border-radius:12px;border:1px solid #e5e7eb;max-width:360px;margin:2rem auto 0}.success-icon{font-size:2.5rem;color:#22c55e;margin:0 0 .5rem}.success-card h2,.cancel-card h2{font-size:1.25rem;margin:0 0 .5rem}.success-desc{color:#6b7280;margin:0 0 1.5rem;font-size:.95rem}.success-card .btn,.cancel-card .btn{margin:.25rem}.lunch-page{min-height:100%;display:flex;flex-direction:column;align-items:center}.lunch-page-wrap{width:100%;max-width:670px;padding:clamp(20px,4.27vw,32px) clamp(20px,6.67vw,50px) clamp(48px,12.8vw,96px);box-sizing:border-box;min-height:100%;display:flex;flex-direction:column;align-items:flex-start}.lunch-page-wrap .meeting-header{align-self:stretch;max-width:none}.lunch-rules-title{color:#fff;font-size:16px;font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;line-height:1.2;margin:clamp(24px,5.33vw,48px) 0 0}.lunch-rules-list{list-style:none;padding:0;margin:clamp(24px,5.33vw,30px) 0 0;width:100%}.lunch-rule-item{display:flex;flex-direction:row;align-items:baseline;gap:clamp(12px,2.67vw,20px);margin-bottom:clamp(20px,4.27vw,24px)}.lunch-rule-num{flex-shrink:0;width:clamp(22px,2.93vw,28px);height:clamp(22px,2.93vw,28px);border-radius:50%;background:#62bd18;color:#fff;font-size:16px;font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;display:flex;align-items:center;justify-content:center;line-height:1}.lunch-rule-text{flex:1;color:#fff;font-size:14px;font-family:PingFang SC,OPPOSans40,sans-serif;font-weight:400;line-height:1.8}.lunch-form{width:100%;margin-top:clamp(48px,10.67vw,80px);display:flex;flex-direction:column;align-items:stretch}.lunch-field{margin-bottom:clamp(24px,5.33vw,40px)}.lunch-input{width:100%;box-sizing:border-box;padding:clamp(16px,3.2vw,29px) clamp(24px,5.33vw,44px);border:none;border-radius:52px;background:#fff;color:#1a1a1a;font-size:clamp(.875rem,3.73vw,1.75rem);font-family:PingFang SC,OPPOSans40,sans-serif;line-height:1.2}.lunch-input::placeholder{color:#b8bfb3}.lunch-input:focus{outline:none}.lunch-hint{display:flex;align-items:center;gap:8px;color:#fff;font-size:clamp(.75rem,3.2vw,1.5rem);font-family:PingFang SC,OPPOSans40,sans-serif;line-height:1.2;margin:0 0 clamp(48px,10.67vw,80px);padding-left:4px}.lunch-hint>span{font-size:12px}.lunch-hint-icon{width:15px;height:15px;flex-shrink:0;object-fit:contain}.lunch-confirm-btn{align-self:center;padding:clamp(16px,3.2vw,29px) clamp(48px,10.67vw,107px);border-radius:52px;border:none;background:#62bd18;color:#fff;font-size:clamp(1.125rem,4.8vw,2.25rem);font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;line-height:1.2;cursor:pointer}.lunch-confirm-btn:hover:not(:disabled){opacity:.9}.lunch-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.lunch-deco-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:clamp(12px,2.5vw,24px);margin-top:clamp(24px,6vw,48px);margin-left:calc(-1*clamp(20px,6.67vw,50px));margin-right:calc(-1*clamp(20px,6.67vw,50px));width:calc(100% + 2*clamp(20px,6.67vw,50px));flex-wrap:nowrap;box-sizing:border-box}.lunch-deco-img{flex:1;min-width:0;height:auto;max-height:clamp(88px,18vw,140px);object-fit:contain}.lunch-footer-logo{width:150px;height:57px;max-height:111px;object-fit:contain;align-self:center;margin-top:50px;display:block}.lunch-done-page .lunch-done-success-icon-wrap{margin-top:clamp(80px,16vw,120px);display:flex;justify-content:center;align-self:center;width:100%}.lunch-done-page .lunch-done-success-icon{width:clamp(120px,24.5vw,184px);height:clamp(120px,24.5vw,184px);object-fit:contain}.lunch-done-page .lunch-done-title{color:#fff;font-size:clamp(1.25rem,5.33vw,2.5rem);font-family:PingFang SC,OPPOSans40_SemiBold,sans-serif;font-weight:600;line-height:1.2;text-align:center;margin:clamp(32px,6.67vw,50px) 0 0;align-self:center}.lunch-done-page .lunch-done-info-row{margin-top:clamp(24px,3.2vw,32px);font-size:clamp(.875rem,4.27vw,1.5rem);font-family:PingFang SC,OPPOSans40,sans-serif;line-height:1.2;color:#fff;align-self:center;text-align:center}.lunch-done-page .lunch-done-info-row:first-of-type{margin-top:clamp(80px,17.87vw,134px)}.lunch-done-page .lunch-done-label{font-weight:400}.lunch-done-page .lunch-done-value{font-family:PingFang SC,OPPOSans40_SemiBold,sans-serif;font-weight:600}.lunch-done-page .lunch-done-cancel-btn{display:inline-block;margin-top:clamp(80px,19.87vw,149px);padding:clamp(20px,3.87vw,29px) clamp(64px,14.27vw,107px);border-radius:52px;border:none;background:#62bd18;color:#fff;font-size:clamp(1rem,4.8vw,2.25rem);font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;line-height:1.17;text-align:center;text-decoration:none;align-self:center}.lunch-done-page .lunch-done-cancel-btn:hover{opacity:.9}.lunch-rules{background:#fff;border-radius:10px;padding:1rem;margin-bottom:1rem;border:1px solid #e5e7eb}.lunch-rules h3{margin:0 0 .5rem;font-size:1rem}.lunch-rules ul{margin:0;padding-left:1.25rem;font-size:.9rem;color:#4b5563;line-height:1.6}.lunch-done-info{margin:.25rem 0;font-size:.95rem;color:#374151}.record-list{list-style:none;padding:0;margin:1rem 0 0}.record-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border-radius:10px;margin-bottom:.5rem;border:1px solid #e5e7eb}.record-item .link{font-size:.9rem;color:#dc2626}.empty-state{text-align:center;padding:2rem;background:#fff;border-radius:12px;border:1px solid #e5e7eb;margin-top:1rem}.empty-state p{color:#6b7280;margin:0 0 1rem}.handbook-page{min-height:100%;display:flex;flex-direction:column;align-items:center}.handbook-page-wrap{width:100%;max-width:670px;padding:clamp(20px,4.27vw,32px) clamp(20px,5.33vw,40px) clamp(48px,12.8vw,96px);box-sizing:border-box;min-height:100%;display:flex;flex-direction:column;align-items:flex-start}.handbook-page-wrap .meeting-header{align-self:stretch;max-width:none}.handbook-search-wrap{width:100%;height:45px;margin-top:clamp(24px,5.33vw,40px);background:#fff;border-radius:52px;padding:clamp(14px,3.6vw,27px) clamp(24px,5.33vw,40px);display:flex;align-items:center;gap:12px}.handbook-search-icon{flex-shrink:0;width:clamp(28px,4.53vw,34px);height:clamp(28px,4.53vw,34px);object-fit:contain}.handbook-search-input{flex:1;min-width:0;border:none;background:none;font-size:clamp(.875rem,3.73vw,1.75rem);font-family:PingFang SC,OPPOSans40,sans-serif;color:#1a1a1a}.handbook-search-input::placeholder{color:#b8bfb3}.handbook-search-input:focus{outline:none}.handbook-cats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2.13vw,20px) clamp(12px,2.67vw,20px);margin-top:clamp(20px,2.67vw,28px);width:100%;align-self:stretch;box-sizing:border-box}.handbook-cat-pill{width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:clamp(12px,2.53vw,19px) clamp(8px,1.6vw,16px);border-radius:36px;border:1px solid rgba(98,189,24,1);background:transparent;color:#8be343;font-size:clamp(.875rem,3.73vw,1.75rem);font-family:PingFang SC,OPPOSans40_Medium,sans-serif;font-weight:500;line-height:1.18;cursor:pointer;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.handbook-cat-pill.is-selected{background:#62bd18;color:#fff;border:2px solid rgba(98,189,24,1)}.handbook-grid{display:flex;flex-wrap:wrap;gap:clamp(12px,2.67vw,20px);margin-top:clamp(20px,3.73vw,28px);width:100%}.handbook-card{width:calc(50% - clamp(6px,1.33vw,10px));aspect-ratio:325 / 268;max-height:clamp(180px,35.73vw,268px);border-radius:12px;overflow:hidden;display:block;position:relative;text-decoration:none}.handbook-card-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-color:#00539a4d}.handbook-card-share{position:absolute;top:clamp(8px,1.33vw,12px);right:clamp(8px,1.33vw,12px);z-index:2;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:#ffffffe6;color:#00539a;cursor:pointer;display:flex;align-items:center;justify-content:center}.handbook-card-share:hover{background:#fff}.handbook-card-label{position:absolute;left:0;right:0;bottom:0;background:#00000080;color:#fff;font-size:clamp(.875rem,3.73vw,1.75rem);font-family:PingFang SC,OPPOSans40_Medium,sans-serif;padding:clamp(10px,2vw,16px) clamp(12px,4.4vw,24px);line-height:1.18}.handbook-footer-spacer{min-height:clamp(180px,35vw,220px);flex-shrink:0}.handbook-footer-fixed{position:fixed;bottom:0;left:0;right:0;width:100%;display:flex;flex-direction:column;align-items:center;padding:clamp(16px,3.2vw,24px) clamp(20px,5.33vw,40px) max(clamp(24px,6.4vw,40px),env(safe-area-inset-bottom,0));box-sizing:border-box;background:#00539a;z-index:10;gap:clamp(14px,2.67vw,20px)}.handbook-footer-fixed .handbook-tab-bar,.handbook-footer-fixed .handbook-warn-row{margin-top:0}.handbook-footer-fixed .handbook-footer-logo{margin-top:0;padding-top:0}.handbook-footer-fixed--single{gap:0}.handbook-footer-fixed--single .handbook-footer-logo{margin-top:0}.handbook-tab-bar{display:flex;flex-direction:row;align-items:center;justify-content:center;align-self:center;width:100%;height:45px;max-width:clamp(320px,56.27vw,422px);margin-top:100px;background:#000;border-radius:55px;padding:0;overflow:hidden}.handbook-tab-item{flex:1;min-width:0;text-align:center;padding:clamp(18px,3.87vw,29px) clamp(24px,7.33vw,55px);color:#fff;font-size:clamp(.875rem,3.73vw,1.75rem);font-family:PingFang SC,OPPOSans40_Medium,sans-serif;text-decoration:none;border:none;background:none;cursor:default;white-space:nowrap;-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent;outline:none}.handbook-tab-item:hover,.handbook-tab-item:focus,.handbook-tab-item:active,.handbook-tab-item:visited{text-decoration:none;color:#fff}.handbook-tab-item:not(.is-active){cursor:pointer}.handbook-tab-item.is-active{background:#62bd18}.handbook-tab-item:first-child.is-active{border-radius:55px 0 0 55px}.handbook-tab-item:last-child.is-active{border-radius:0 55px 55px 0}.handbook-warn-row{display:flex;align-items:center;justify-content:center;width:100%;gap:8px;margin-top:clamp(14px,2.67vw,20px);padding-top:10px;padding-bottom:10px}.handbook-warn-icon{width:18px;height:18px;object-fit:contain}.handbook-warn-text{color:#fff;font-size:clamp(.75rem,3.2vw,1.5rem);font-family:PingFang SC,OPPOSans40,sans-serif}.handbook-footer-logo{width:150px;height:57px;max-height:111px;object-fit:contain;align-self:center;margin-top:50px;display:block}:root{--admin-primary: #1677ff;--admin-primary-hover: #4096ff;--admin-danger: #ff4d4f;--admin-danger-hover: #ff7875;--admin-success: #52c41a;--admin-sidebar-bg: #0f172a;--admin-sidebar-hover: rgba(255,255,255,.08);--admin-sidebar-active: rgba(22, 119, 255, .2);--admin-card-shadow: 0 1px 3px rgba(0,0,0,.06);--admin-card-shadow-hover: 0 4px 12px rgba(0,0,0,.08)}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e2e8f0,#f1f5f9,#e2e8f0)}.admin-login-card{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 4px 24px #00000014,0 1px 2px #0000000a;min-width:360px;border:1px solid rgba(0,0,0,.04)}.admin-login-card h1{margin-top:0;font-size:1.5rem;font-weight:600;color:#1e293b;letter-spacing:-.02em}.admin-login-card label{display:block;margin-bottom:.35rem;font-size:.875rem;font-weight:500;color:#475569}.admin-login-card input{width:100%;padding:.6rem .85rem;margin-bottom:1rem;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;font-size:.9375rem;transition:border-color .2s,box-shadow .2s}.admin-login-card input:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px #1677ff1f}.admin-login-card button{width:100%;padding:.65rem 1rem;cursor:pointer;background:var(--admin-primary);color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:500;transition:background .2s}.admin-login-card button:hover{background:var(--admin-primary-hover)}.admin-login-error{color:var(--admin-danger);margin-bottom:.75rem;font-size:.875rem;padding:.5rem;background:#fff2f0;border-radius:6px}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:220px;flex-shrink:0;background:var(--admin-sidebar-bg);color:#fff;display:flex;flex-direction:column;box-shadow:2px 0 12px #00000014}.admin-sidebar-header{padding:1.25rem 1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.admin-sidebar-header a{color:#fff;text-decoration:none;font-weight:600;font-size:1.0625rem;letter-spacing:-.01em}.admin-sidebar-header button{background:#ffffff1a;border:none;color:#ffffffe6;width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.admin-sidebar-header button:hover{background:#ffffff2e}.admin-nav{flex:1;padding:.75rem 0;overflow-y:auto}.admin-nav a{display:flex;align-items:center;padding:.6rem 1rem;margin:0 .5rem;color:#ffffffc7;text-decoration:none;border-radius:8px;font-size:.9375rem;transition:all .2s}.admin-nav a:hover{background:var(--admin-sidebar-hover);color:#fff}.admin-nav a.active{background:var(--admin-sidebar-active);color:#fff;font-weight:500;border-left:3px solid var(--admin-primary);margin-left:.5rem;padding-left:calc(1rem - 3px)}.admin-sidebar-footer{padding:1rem;border-top:1px solid rgba(255,255,255,.06)}.admin-sidebar-footer button{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);color:#ffffffe6;padding:.4rem .75rem;cursor:pointer;border-radius:8px;font-size:.875rem;width:100%;transition:all .2s}.admin-sidebar-footer button:hover{background:#ffffff1f;border-color:#ffffff40}.admin-main{flex:1;padding:1.75rem 2rem;background:#f8fafc;overflow:auto}.admin-page{max-width:1400px}.admin-page>p{color:#64748b;font-size:.9375rem;padding:1rem 0}.admin-page h2{margin-top:0;margin-bottom:1.25rem;font-size:1.5rem;font-weight:600;color:#1e293b;letter-spacing:-.02em}.admin-message{color:var(--admin-success);margin-bottom:.75rem;padding:.6rem .9rem;background:#f6ffed;border-radius:8px;font-size:.875rem;border:1px solid #b7eb8f}.admin-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.25rem;align-items:center;padding:1rem;background:#fff;border-radius:10px;box-shadow:var(--admin-card-shadow);border:1px solid rgba(0,0,0,.04)}.admin-toolbar input,.admin-toolbar select{padding:.45rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;background:#fff;transition:border-color .2s}.admin-toolbar input:focus,.admin-toolbar select:focus{outline:none;border-color:var(--admin-primary)}.admin-toolbar button{padding:.45rem .9rem;border-radius:6px;font-size:.875rem;font-weight:500;border:1px solid #e2e8f0;background:#fff;color:#475569;cursor:pointer;transition:all .2s}.admin-toolbar button:hover:not(:disabled){border-color:var(--admin-primary);color:var(--admin-primary);background:#f0f7ff}.admin-toolbar button.active{background:var(--admin-primary);color:#fff;border-color:var(--admin-primary)}.admin-label{font-size:.875rem;color:#64748b;font-weight:500}.admin-btn-danger{background:var(--admin-danger);color:#fff;border-color:var(--admin-danger)}.admin-btn-danger:hover:not(:disabled){background:var(--admin-danger-hover);border-color:var(--admin-danger-hover)}.admin-pagination{display:flex;align-items:center;gap:1rem;margin-top:1.25rem;flex-wrap:wrap;padding:.75rem 0}.admin-page-info{font-size:.875rem;color:#64748b}.admin-section{margin-bottom:1.5rem;padding:1.25rem 1.5rem;background:#fff;border-radius:10px;box-shadow:var(--admin-card-shadow);border:1px solid rgba(0,0,0,.04)}.admin-section h3{margin-top:0;font-size:1rem;font-weight:600;color:#334155}.admin-section label{display:block;margin-bottom:.35rem;font-size:.875rem;color:#475569}.admin-section input,.admin-section textarea{width:100%;max-width:600px;padding:.5rem .75rem;margin-bottom:.6rem;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:6px;font-size:.9375rem;transition:border-color .2s}.admin-section input:focus,.admin-section textarea:focus{outline:none;border-color:var(--admin-primary)}.admin-section button{margin-right:.5rem;padding:.4rem .85rem;cursor:pointer;border-radius:6px;font-size:.875rem;border:1px solid #e2e8f0;background:#fff;transition:all .2s}.admin-section button:hover{border-color:var(--admin-primary);color:var(--admin-primary)}.admin-hint{color:#64748b;font-size:.875rem;margin:.35rem 0 .5rem}.admin-section .lunch-error,.admin-section p[role=alert]{color:var(--admin-danger);font-size:.875rem;margin:.35rem 0 .5rem}.admin-lunch-orders .admin-section--compact{padding:.75rem 1rem;margin-bottom:.75rem}.admin-lunch-orders .admin-section--compact h3{margin:0 0 .25rem;font-size:.9rem}.admin-lunch-orders .admin-section--compact .admin-hint{margin:0 0 .4rem;font-size:.8rem}.admin-lunch-orders .admin-toolbar--compact{gap:.4rem;margin-bottom:.6rem}.admin-lunch-orders .admin-lunch-time-row{gap:1.25rem;flex-wrap:wrap;align-items:center}.admin-lunch-orders .admin-lunch-time-row label,.admin-lunch-settings .admin-lunch-time-row label{display:inline-flex;align-items:center;margin:0;white-space:nowrap}.admin-lunch-settings .admin-section--compact{padding:.75rem 1rem;margin-bottom:.75rem}.admin-lunch-settings .admin-toolbar--compact{gap:.4rem;margin-bottom:.6rem}.admin-lunch-settings .admin-lunch-time-row{gap:1.25rem;flex-wrap:wrap;align-items:center}.admin-feature-config .admin-section--compact{padding:.75rem 1rem;margin-bottom:.75rem}.admin-feature-config .admin-feature-row{display:flex;align-items:center;margin-bottom:.75rem}.admin-feature-config .admin-feature-row label{display:flex;align-items:center;gap:.5rem;margin:0;cursor:pointer}.admin-feature-config .admin-feature-row input[type=checkbox]{width:18px;height:18px}.admin-feature-config .admin-feature-row--url label{flex-direction:column;align-items:stretch}.admin-feature-config .admin-feature-label{font-size:.875rem;color:#475569;margin-bottom:.25rem}.admin-feature-config .admin-feature-url-input{width:100%;max-width:500px;padding:.45rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.9375rem}.admin-feature-config .admin-feature-url-input:focus{outline:none;border-color:var(--admin-primary)}.admin-lunch-orders .admin-toolbar--compact .admin-tag{padding:.2rem .45rem;font-size:.8rem;margin-right:.2rem;margin-bottom:.2rem}.admin-lunch-orders .admin-hint--compact{margin:.25rem 0 .5rem;font-size:.8rem}.admin-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .6rem;background:#f1f5f9;border-radius:6px;margin-right:.3rem;margin-bottom:.3rem;font-size:.875rem;color:#475569;border:1px solid #e2e8f0}.admin-tag-remove{padding:0 .2rem;border:none;background:transparent;cursor:pointer;color:#94a3b8;font-size:1rem;line-height:1;border-radius:4px;transition:color .2s}.admin-tag-remove:hover{color:var(--admin-danger)}.admin-tag-active{background:#dbeafe!important;border-color:var(--admin-primary);color:var(--admin-primary)}.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:var(--admin-card-shadow);border:1px solid rgba(0,0,0,.04)}.admin-table th,.admin-table td{padding:.65rem 1rem;text-align:left;border-bottom:1px solid #f1f5f9;font-size:.875rem}.admin-table th{background:#f8fafc;font-weight:600;color:#475569;font-size:.8125rem;text-transform:uppercase;letter-spacing:.03em}.admin-table tbody tr:hover{background:#f8fafc}.admin-table tbody tr:last-child td{border-bottom:none}.admin-handbook-pdf-placeholder{display:inline-block;padding:4px 8px;font-size:11px;font-weight:500;color:#64748b;background:#f1f5f9;border-radius:4px}.admin-table button{margin-right:.35rem;padding:.3rem .6rem;font-size:.8125rem;cursor:pointer;border-radius:6px;font-weight:500;transition:all .2s}.admin-btn{border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#475569}.admin-btn:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc}.admin-btn:disabled{cursor:not-allowed;opacity:.55}.admin-btn-use:not(:disabled){color:var(--admin-primary);border-color:var(--admin-primary)}.admin-btn-use:not(:disabled):hover{background:#eff6ff}.admin-btn-cancel:not(:disabled){color:var(--admin-danger);border-color:var(--admin-danger)}.admin-btn-cancel:not(:disabled):hover{background:#fff2f0}.admin-modal{position:fixed;inset:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:admin-modal-fade .2s ease}@keyframes admin-modal-fade{0%{opacity:0}to{opacity:1}}.admin-modal-inner{background:#fff;padding:1.75rem;border-radius:12px;min-width:420px;max-width:90vw;max-height:90vh;overflow:auto;box-shadow:0 24px 48px #0000001f,0 4px 12px #0000000f;border:1px solid rgba(0,0,0,.06);animation:admin-modal-slide .25s ease}@keyframes admin-modal-slide{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.admin-modal-inner h3{margin-top:0;margin-bottom:1.25rem;font-size:1.25rem;font-weight:600;color:#1e293b}.admin-modal-inner label{display:block;margin-bottom:.35rem;font-size:.875rem;color:#475569}.admin-modal-inner input,.admin-modal-inner select,.admin-modal-inner textarea{width:100%;padding:.5rem .75rem;margin-bottom:.85rem;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:6px;font-size:.9375rem}.admin-modal-inner input:focus,.admin-modal-inner select:focus,.admin-modal-inner textarea:focus{outline:none;border-color:var(--admin-primary)}.admin-modal-inner textarea{resize:vertical;min-height:5rem;line-height:1.45;font-family:inherit}.admin-modal-inner button{margin-right:.5rem;padding:.4rem .9rem;cursor:pointer;border-radius:6px;font-size:.875rem;border:1px solid #e2e8f0;background:#fff;transition:all .2s}.admin-modal-inner button:hover{border-color:var(--admin-primary);color:var(--admin-primary)}.pad-page{min-height:100vh;min-height:100dvh;width:100%;box-sizing:border-box;background-color:#1a3d6e;background-image:url(/design/pad-bg.png);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;flex-direction:column;align-items:center;padding:clamp(2rem,5vw,4rem)}.pad-entry-page .pad-entry-wrap{display:flex;flex-direction:column;align-items:center;gap:2rem}.pad-entry-title{color:#fff;font-size:clamp(1.5rem,4vw,2.5rem);margin:0}.pad-entry-nav{display:flex;flex-direction:column;gap:1rem}.pad-entry-btn{display:inline-block;padding:1rem 2rem;background:#62bd18;color:#fff;border-radius:52px;font-size:clamp(1rem,2.5vw,1.25rem);text-align:center;text-decoration:none}.pad-entry-btn:hover{opacity:.9;text-decoration:none}.pad-status-page .pad-status-wrap{width:100%;max-width:1400px;display:flex;flex-direction:column;align-items:center}.pad-status-header{margin-bottom:clamp(2rem,5vw,4rem)}.pad-status-title{color:#fff;font-size:clamp(1.75rem,4vw,3rem);font-weight:600;font-family:PingFang SC,OPPOSans40_SemiBold,sans-serif}.pad-status-loading,.pad-status-error{color:#fff;margin:1rem 0}.pad-status-error{color:#fca5a5}.pad-status-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1.5rem,4vw,3rem);width:100%}.pad-status-card{background:#fff;border-radius:20px;width:100%;max-width:400px;padding:clamp(1rem,2.5vw,1.5rem);display:flex;flex-direction:column;align-items:center;box-shadow:0 4px 20px #00000026;text-decoration:none;color:inherit;cursor:pointer;transition:box-shadow .2s}.pad-status-card:hover{box-shadow:0 6px 24px #0003;text-decoration:none;color:inherit}.pad-status-card-name{color:#000;font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:500;margin-bottom:.75rem}.pad-status-card-image-wrap{width:100%;aspect-ratio:560/382;border-radius:12px;overflow:hidden;background:#f0f0f0;margin-bottom:.75rem}.pad-status-card-image{width:100%;height:100%;object-fit:cover}.pad-status-card-status{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.pad-status-dot{width:20px;height:20px;border-radius:50%;background:#62bd18;flex-shrink:0}.pad-status-dot.is-using{background:#e27917}.pad-status-label{font-size:clamp(1rem,2.5vw,1.25rem);font-weight:600;color:#62bd18}.pad-status-label.is-using{color:#e27917}.pad-status-back{margin-top:clamp(2rem,5vw,4rem);display:inline-block;padding:clamp(.75rem,2vw,1.25rem) clamp(2rem,5vw,3rem);background:#62bd18;color:#fff;border-radius:52px;font-size:clamp(1rem,2.5vw,1.25rem);text-decoration:none}.pad-status-back:hover{opacity:.9;text-decoration:none}.pad-list-page .pad-list-wrap{width:100%;max-width:1200px;display:flex;flex-direction:column;align-items:center}.pad-list-header{margin-bottom:clamp(1.5rem,4vw,2.5rem)}.pad-list-room-nav{display:flex;gap:1rem}.pad-list-room-nav a{color:#fffc;font-size:clamp(1.1rem,2.5vw,1.5rem);text-decoration:none;padding:.5rem 1rem;border-radius:8px}.pad-list-room-nav a:hover,.pad-list-room-nav a.is-active{color:#fff;background:#ffffff26;text-decoration:none}.pad-list-table-wrap{width:100%;background:#ffffff0f;border-radius:8px;overflow:hidden;margin-bottom:2rem}.pad-list-thead{display:grid;grid-template-columns:80px 1fr 180px 180px;gap:.5rem;padding:1rem 1.25rem;background:#62bd18;color:#fff;font-size:clamp(.9rem,2vw,1.1rem);font-weight:500}.pad-list-th{overflow:hidden;text-overflow:ellipsis}.pad-list-th-no,.pad-list-th-email,.pad-list-th-start,.pad-list-th-end{text-align:center}.pad-list-row{display:grid;grid-template-columns:80px 1fr 180px 180px;gap:.5rem;padding:.75rem 1.25rem;align-items:center;color:#fff;font-size:clamp(.85rem,1.8vw,1rem);border-bottom:1px solid rgba(246,251,247,.5)}.pad-list-row:last-child{border-bottom:none}.pad-list-row-message{grid-template-columns:80px 1fr 180px 180px}.pad-list-td-full{grid-column:1 / -1;color:#ffffffe6;padding:1rem;text-align:center}.pad-list-td-full.pad-list-error{color:#fca5a5}.pad-list-td{overflow:hidden;text-overflow:ellipsis}.pad-list-td-no{text-align:center}.pad-list-td-email{text-align:center;word-break:break-all}.pad-list-td-start,.pad-list-td-end{text-align:center}.pad-list-loading,.pad-list-error,.pad-list-empty{color:#ffffffe6;padding:1.5rem;text-align:center;margin:0}.pad-list-error{color:#fca5a5}.pad-list-back{display:inline-block;padding:clamp(.75rem,2vw,1.25rem) clamp(2rem,5vw,3rem);background:#62bd18;color:#fff;border-radius:52px;font-size:clamp(1rem,2.5vw,1.25rem);text-decoration:none}.pad-list-back:hover{opacity:.9;text-decoration:none}@media(max-width:768px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;flex-shrink:0;flex-direction:column}.admin-sidebar-header{padding:.85rem 1rem}.admin-sidebar-header a{font-size:1rem}.admin-nav{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;gap:0;padding:.5rem .75rem .75rem;flex:0 0 auto;max-width:100%}.admin-nav a{flex-shrink:0;white-space:nowrap;margin:0 .35rem 0 0;padding:.5rem .75rem;font-size:.8125rem}.admin-nav a.active{margin-left:0;padding-left:.75rem;border-left:none;border-bottom:2px solid var(--admin-primary)}.admin-sidebar-footer{padding:.65rem 1rem}.admin-sidebar-footer button{width:100%}.admin-main{padding:1rem;min-height:50vh}.admin-page h2{font-size:1.25rem}.admin-toolbar{flex-direction:column;align-items:stretch;padding:.75rem 1rem}.admin-toolbar button{width:100%}.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;margin:0 -.25rem;padding:0 .25rem}.admin-table th,.admin-table td{padding:.5rem .65rem;font-size:.8125rem}.admin-cell-title{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-modal-inner{min-width:unset;width:min(100vw - 1.5rem,28rem);padding:1.25rem;margin:.75rem}.admin-login-card{min-width:unset;width:calc(100% - 2rem);max-width:420px;margin:1rem;padding:1.5rem}.admin-login-page{padding:.5rem;align-items:flex-start;padding-top:10vh}.admin-section{padding:1rem 1.1rem}}
