:root{font-family:Inter,Noto Sans TC,PingFang TC,system-ui,sans-serif;color:#1d1b18;background:#f5f4f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#f5f4f1}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100dvh;max-width:760px;margin:auto;background:#f7f6f3;padding-bottom:96px}header{height:72px;background:#ff5b00;padding:19px 24px;display:flex;justify-content:space-between;align-items:center;color:#fff}.wordmark{font-family:Arial Black,Impact,sans-serif;font-size:33px;line-height:1;letter-spacing:-3px}.account select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #ffffff80;border-radius:24px;padding:8px 28px 8px 12px;background:#ffffff18;color:#fff;font-size:13px}.account option{color:#1d1b18}.hero{position:relative;overflow:hidden;min-height:490px;padding:42px 24px 32px;color:#fff;background:#ff5b00}.hello{font-family:Georgia,"Noto Serif TC",serif;font-size:36px;font-weight:700}.hero p{margin:8px 0 0;font-size:15px}.hero time{display:block;margin-top:22px;font-family:Georgia,serif;font-size:60px;line-height:1;font-weight:700;letter-spacing:-3px}.hero small{display:block;margin-top:9px;font-weight:600}.rabbit{position:absolute;right:-28px;bottom:-35px;width:225px;opacity:.28;fill:none;stroke:#ffd6b9;stroke-width:12;stroke-linecap:round}.mode-switch{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;border:1.5px solid #fff;border-radius:40px;margin-top:30px;padding:3px}.mode-switch button{border:0;border-radius:34px;background:transparent;color:#fff;padding:13px 6px;font-weight:800}.mode-switch .selected{background:#fff;color:#f35300}.punch{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:192px;height:192px;margin:34px auto 0;border:8px solid #ffd3b9;border-radius:50%;background:#fff;color:#20201d;box-shadow:0 16px 32px #9e330a55}.punch .icon{font-size:38px;color:#f35300}.punch strong{font-size:28px;margin-top:4px}.punch span{font-size:13px;color:#8a634f;margin-top:3px}.panel{margin:16px;background:#fff;border:1px solid #e8e2dd;border-radius:20px;padding:18px;box-shadow:0 8px 22px #3215000a}.panel-title{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:800}.panel-title button{margin-left:auto;background:none;border:0;color:#f35300;font-weight:700}.icon{font-style:normal;color:#f35300;font-size:22px}.status-panel p{margin:12px 0 7px;color:#655c55}.status-panel a{color:#e94d00;font-weight:700;font-size:14px}.timeline{margin-top:15px}.timeline-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #eee9e4}.timeline-row:last-child{border:0}.timeline-row i{width:10px;height:10px;border:2px solid #f35300;border-radius:50%}.timeline-row i.out{border-color:#888}.timeline-row div{display:flex;flex-direction:column;gap:3px;flex:1}.timeline-row span,.leave-row span{color:#776d65;font-size:13px}.timeline-row em{font-size:12px;font-style:normal;background:#fff0e6;color:#ef5300;border-radius:20px;padding:4px 7px}.empty{color:#8a817a;margin:15px 0 0}.team-row{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #eee9e4}.team-row:last-child{border:0}.avatar{width:36px;height:36px;background:#ff5b00;color:#fff;border-radius:50%;display:grid;place-items:center;font-weight:800}.team-row b{flex:1}.ok{color:#1b9b56;font-weight:700}.muted{color:#8a817a}.content-screen{padding:28px 16px}.content-screen h1{font-family:Georgia,"Noto Serif TC",serif;font-size:34px;margin:0 0 22px}.content-screen h2{font-size:18px;margin:28px 0 12px}.leave-form{display:grid;gap:13px;background:#fff;border-radius:20px;padding:18px;border:1px solid #e8e2dd}.leave-form label{display:grid;gap:7px;font-size:14px;font-weight:700}.leave-form input,.leave-form select,.leave-form textarea{border:1px solid #ddd4ce;border-radius:10px;padding:11px;background:#fff}.leave-form textarea{min-height:74px;resize:vertical}.solid{border:0;border-radius:12px;background:#f35300;color:#fff;padding:13px;font-weight:800}.leave-row{position:relative;display:flex;gap:12px;align-items:start;background:#fff;padding:15px;border-bottom:1px solid #ece6e1}.leave-row:first-of-type{border-radius:16px 16px 0 0}.leave-row:last-child{border-radius:0 0 16px 16px}.leave-row div:first-child{flex:1}.leave-row span{display:block;margin-top:3px}.leave-row p{font-size:13px;margin:8px 0 0;color:#655c55}.status{font-size:12px;padding:5px 7px;border-radius:20px;white-space:nowrap}.status.pending{background:#fff0e6;color:#e54d00}.status.approved{background:#e5f6ec;color:#167a43}.status.rejected{background:#fde7e4;color:#be3d30}.review{display:flex;gap:5px;position:absolute;right:15px;bottom:10px}.review button{border:0;border-radius:8px;padding:5px 8px;color:#fff;background:#218d50;font-size:12px}.review button+button{background:#9d4941}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.metrics div{background:#fff;border:1px solid #e8e2dd;border-radius:16px;padding:14px 10px}.metrics b{font-size:28px;color:#f35300;display:block}.metrics span{font-size:12px;color:#736a63}.report-row{display:grid;grid-template-columns:70px 1fr;gap:4px;padding:13px 0;border-bottom:1px solid #eee9e4;font-size:14px}.report-row time{grid-column:2;color:#7a716b;font-size:12px}nav{position:fixed;z-index:3;bottom:0;left:50%;transform:translate(-50%);display:grid;grid-template-columns:repeat(4,1fr);width:min(760px,100%);background:#fff;border-top:1px solid #e5ded8;padding:10px max(18px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-bottom))}nav button{border:0;background:none;color:#8a817a;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:13px}nav button.active{color:#f35300;font-weight:800}.toast{position:fixed;z-index:5;top:84px;left:50%;width:calc(100% - 32px);max-width:520px;transform:translate(-50%);background:#26211e;color:#fff;padding:13px 16px;border-radius:14px;box-shadow:0 12px 32px #0004;font-size:14px}.setup-shell{min-height:100dvh;max-width:560px;margin:auto;padding:52px 24px;background:#fff7f1}.setup-shell .brand-logo{width:56px;height:64px;object-fit:contain}.setup-shell h1{margin:22px 0 8px;font-family:Georgia,"Noto Serif TC",serif;font-size:34px}.setup-shell>p{margin:0 0 26px;color:#6e5a4d;line-height:1.65}.setup-shell form,.setup-success,.invite-results{display:grid;gap:14px;padding:20px;border:1px solid #efd9cb;border-radius:18px;background:#fff}.setup-shell label{display:grid;gap:7px;color:#554b45;font-size:14px;font-weight:800}.setup-shell input{width:100%;min-height:48px;border:1px solid #dfcfc5;border-radius:12px;padding:0 12px;background:#fff}.setup-shell small{color:#876f61;line-height:1.5}.setup-success b{line-height:1.65;color:#276a42}.setup-success a{text-align:center;text-decoration:none}.admin-setup fieldset{display:grid;gap:9px;margin:2px 0 0;border:0;padding:0}.admin-setup legend{margin-bottom:8px;color:#554b45;font-size:14px;font-weight:800}.admin-setup .check-row{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #ead8cc;border-radius:12px}.admin-setup .check-row input{width:18px;min-height:auto;margin:0}.invite-results{margin-top:18px}.invite-results>div{display:grid;grid-template-columns:60px 1fr auto;gap:8px;align-items:center}.invite-results span{font-size:14px;font-weight:800}.invite-results input{min-width:0;min-height:38px;padding:0 8px;font-size:11px}.invite-results button{border:1px solid #ef5b19;border-radius:10px;background:#fff;color:#d94e0c;padding:9px;font-weight:800}@media (min-width:700px){.app-shell{box-shadow:0 0 0 1px #e6dfda}.clock-screen{max-width:650px;margin:auto}.hero{border-radius:0 0 28px 28px}.content-screen{padding:38px}.punch{width:208px;height:208px}}@media (max-width:390px){.hero time{font-size:49px}.hello{font-size:31px}.punch{width:174px;height:174px}.punch strong{font-size:24px}.invite-results>div{grid-template-columns:1fr}.invite-results button{width:100%}}
