:root{font-family:system-ui,-apple-system,Noto Sans TC,sans-serif;color:#16352e;background:#edf3f1;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.38;cursor:not-allowed}.shell{min-height:100vh}header{background:#123d37;color:#fff;padding:16px max(20px,calc((100vw - 1140px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.brand{font-weight:800;font-size:19px}.demo{display:block;font-size:11px;color:#c7e3d8;margin-top:5px}.nav{display:flex;gap:6px}.nav button{background:transparent;border:1px solid #8db7a8;color:#fff;border-radius:8px;padding:9px 13px}.nav button.active{background:#e3f4ed;color:#123d37}.shell main{max-width:1140px;margin:auto;padding:24px 18px 50px}.heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:21px}.heading h1{font-size:25px;margin:0}.heading p{color:#61756c;margin:9px 0 0}.chip{border:1px solid #c0dacd;border-radius:999px;padding:8px 12px;color:#30654e;white-space:nowrap;font-size:12px}.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.panel{min-width:0;background:#fff;border:1px solid #d7e4dc;border-radius:14px;padding:19px;box-shadow:0 4px 20px #123d370c}.panel h2{font-size:16px;margin:0 0 15px}.panel h2:not(:first-child){margin-top:25px}.panel p{font-size:14px;line-height:1.6;color:#536d62}.calendar{border:1px solid #d9e5de;border-radius:10px;overflow:hidden}.calendar-head{display:flex;justify-content:space-between;align-items:center;padding:10px}.calendar-head button{border:0;background:#ecf5f0;font-size:22px;border-radius:7px;width:35px}.day-row,.week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day-row{background:#e8f3ed;text-align:center;font-size:12px;font-weight:700;padding:9px 0}.week-row{border-top:1px solid #e5eee8}.week-row.marked{background:#d5f1df;outline:2px solid #348c60;outline-offset:-2px}.day{padding:8px 1px;min-height:55px;border:0;background:transparent;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px}.day:hover:not(:disabled){background:#e0eee5}.day.muted{color:#b0bbb4}.day.editable{background:#eef8f0;font-weight:700}.day.blocked{background:#fde6e4}.cross{font-size:22px;color:#d64438;line-height:19px}.tick{font-size:13px;color:#1d8655}.highlight{background:#edf7ef;border-radius:9px;padding:13px;color:#236345;font-weight:700;margin-top:14px}.highlight small{font-weight:400}.tools{display:flex;gap:8px;align-items:center;margin-bottom:10px}.tools button,.tags button,form button{border:1px solid #bdd6c5;background:#f3f8f4;padding:7px 11px;border-radius:7px}.tools span{margin-left:auto;font-size:13px;color:#587368}.staff label{display:flex;align-items:center;gap:10px;border-bottom:1px solid #eef2ee;padding:10px 0}.staff small{margin-left:auto;color:#657c70}.deadline{display:flex;align-items:center;gap:9px}.deadline input{width:70px;border:1px solid #c9d8cd;border-radius:6px;padding:7px}code{display:block;padding:10px;background:#f3f5f4;overflow-wrap:anywhere;border-radius:6px;color:#2b6d49;font-size:12px}.hint{font-size:12px!important;color:#7b877f!important}.span{grid-column:1/-1}.tags{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:12px}form{display:flex;gap:8px}form input,.panel select{border:1px solid #c9d8cd;border-radius:7px;padding:9px;min-width:0}form input{flex:1}.profile{display:flex;justify-content:space-between;background:#edf7ef;padding:15px;border-radius:10px;margin:16px 0}.profile span{font-size:13px;color:#537263}.stat{border-bottom:1px solid #e6eee9;padding:10px 0;display:flex;justify-content:space-between}.wide{margin-top:16px;background:#237752;color:#fff;border:0;border-radius:7px;padding:12px;width:100%}@media(max-width:750px){.two-col{grid-template-columns:minmax(0,1fr)}.heading{display:block}.chip{display:inline-block;margin-top:10px}.shell main{padding:16px 10px}.panel{padding:14px}.brand{font-size:17px}header{padding:13px}.day{min-height:49px}}.back-link{color:#fff;text-decoration:none;font-size:13px;border:1px solid #8db7a8;border-radius:8px;padding:9px 12px;display:inline-flex;align-items:center}.back-link:hover,.back-link:focus-visible{background:#e3f4ed;color:#123d37}.auth-main{max-width:650px!important;margin:auto}.auth-panel{padding:26px}.auth-panel h1{font-size:25px;margin:0 0 14px}.auth-panel p{line-height:1.7}.auth-notice{background:#f2f7f4;border:1px solid #d8e8de;border-radius:10px;padding:14px;margin:14px 0;color:#35574b}.auth-alert{background:#fff0df;border:1px solid #e6c99a;color:#674c1d;border-radius:10px;padding:12px}.auth-actions{display:flex;flex-direction:column;align-items:stretch;gap:11px}.auth-actions small{color:#63786d;line-height:1.6}.line-login{background:#06c755;color:#fff;border-radius:9px;display:block;padding:13px 20px;text-align:center;font-weight:700;text-decoration:none;min-height:48px}.line-login:hover,.line-login:focus-visible{background:#049c42}.auth-profile{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.auth-profile strong{font-size:20px}.auth-profile span:not(.status-good){color:#5e7065}.status-good{color:#19764e;font-weight:700}.logout{border:1px solid #acc5b5;background:#f5faf7;border-radius:8px;padding:10px 22px}.auth-footnote{text-align:center;font-size:12px;color:#67776e}@media(max-width:750px){.auth-panel{padding:18px}.nav{flex-wrap:wrap}.back-link{font-size:13px}}.demo-shell{min-width:0}.demo-main{max-width:1190px!important}.demo-stack{display:grid;gap:18px}.section-nav{display:flex;gap:7px;overflow-x:auto;width:100%;padding:11px max(14px,calc((100vw - 1190px)/2));background:#e5efe9;border-bottom:1px solid #c9ded1;scrollbar-width:thin}.section-nav button,.tabs button{flex:none;border:1px solid #bed5c5;background:#fff;border-radius:8px;color:#245643;padding:10px 14px;min-height:42px;white-space:nowrap}.section-nav button.selected,.tabs button.selected{background:#1e674c;color:#fff;border-color:#1e674c;font-weight:750}.demo-shell button:focus-visible,.demo-shell input:focus-visible,.demo-shell select:focus-visible{outline:3px solid #25845a;outline-offset:2px}.demo-feedback{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;background:#e5f6e9;border:1px solid #9bccad;color:#175638;border-radius:10px;padding:11px 14px;margin-bottom:15px;font-weight:650}.demo-feedback button{border:0;background:transparent;color:inherit;font-size:22px;line-height:1;min-width:28px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:11px;margin-bottom:6px}.metric{border:1px solid #d5e5dc;background:#fff;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:15px}.metric span{font-size:13px;color:#667c70}.metric strong{font-size:21px;color:#1c6548}.picker,.filters,.demo-form,.demo-inline,.demo-stack,.schedule-toolbar,.pagination,.member-checks,.picker-summary,.picker-actions{min-width:0}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.filters label,.demo-form label,.form-line,.pagination label,.schedule-toolbar label{display:flex;flex-direction:column;gap:5px;color:#516a5c;font-size:13px;font-weight:650;min-width:0}.filters input,.filters select,.demo-form input,.demo-form select,.form-line input,.pagination select,.schedule-toolbar select,.demo-inline input,.demo-inline select,.store-cell{width:100%;min-width:0;padding:9px;border:1px solid #b9d2c1;background:#fff;color:#16352e;border-radius:8px;font-size:16px}.picker-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;padding:9px 0;color:#406f57}.picker-summary span{color:#647b6d;font-size:13px}.picker-actions,.table-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:12px 0}.picker-actions button,.table-actions button,.pagination button,.panel>button,.demo-inline button,.demo-form button{padding:8px 11px;min-height:40px;border:1px solid #bdd6c5;background:#f3f8f4;border-radius:7px;color:#24543e}.picker-actions button.primary,.demo-form button.primary{background:#237752;color:#fff;border-color:#237752}.picker-actions button:disabled,.pagination button:disabled{opacity:.4;cursor:not-allowed}.picker .staff{max-height:550px;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #e7efe9}.picker .staff label{padding:9px 2px;min-width:0}.picker .staff strong{min-width:95px}.picker .staff small{font-size:12px;text-align:right}.picker .staff input,.member-checks input{accent-color:#238651;width:18px;height:18px;flex-shrink:0}.pagination{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;margin-top:13px;color:#5b7162;font-size:13px}.pagination label{flex-direction:row;align-items:center;gap:7px}.pagination select{width:auto;max-width:120px}.pagination button{min-width:40px}.deadline{flex-wrap:wrap}.deadline select{min-width:98px;width:auto;padding:9px;border:1px solid #b9d2c1;border-radius:8px;background:#fff;color:#16352e}.form-line{margin:15px 0}.form-line input{width:min(100%,310px)}.demo-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));align-items:end;gap:12px}.demo-inline{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px}.demo-inline input{flex:1;min-width:130px}.demo-inline select{flex:1;max-width:230px}.schedule-scroller{max-width:100%;width:100%;overflow-x:auto;border:1px solid #ddeae2;border-radius:10px;margin-top:12px;-webkit-overflow-scrolling:touch}.schedule-table,.roster-table{border-collapse:collapse;width:100%;min-width:1120px;background:#fff;font-size:13px}.schedule-table.single-day{min-width:520px}.roster-table{min-width:760px}.schedule-table th,.schedule-table td,.roster-table th,.roster-table td{padding:10px 9px;border-bottom:1px solid #e5eee8;text-align:left;white-space:nowrap;vertical-align:middle}.schedule-table thead,.roster-table thead{background:#eaf4ed;color:#285d43}.schedule-table th[scope=row]{font-weight:700}.schedule-table tbody tr:hover,.roster-table tbody tr:hover{background:#f7fbf8}.store-cell{min-width:113px;max-width:165px;font-size:14px;padding:7px}.cell-blocked{color:#a72d29;background:#ffe9e5;padding:7px;border-radius:6px}.cell-wait{color:#89632f;background:#fff3dd;padding:7px;border-radius:6px}.empty{color:#708579;padding:16px;text-align:center}.tabs,.schedule-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.schedule-toolbar label{flex-direction:row;align-items:center;flex-wrap:wrap}.schedule-toolbar select{width:auto;max-width:250px}.member-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;max-height:240px;overflow:auto;padding:9px;background:#f9fcfa;border:1px solid #e4efe8;border-radius:9px}.member-checks label{display:flex;flex-wrap:wrap;gap:5px;align-items:center;font-size:14px}.member-checks small{font-size:11px;color:#718778}.daily-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px;margin-top:13px}.daily-metric{border:1px solid #dae9e0;border-radius:9px;padding:9px;display:flex;flex-direction:column;gap:3px;color:#5b7768;font-size:12px}.daily-metric b{font-size:14px;color:#1e6346}.area-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:11px}.area-card{border:1px solid #dae9e0;border-radius:10px;padding:12px}.area-card .tags{margin:9px 0 0}.tag-static{background:#e8f4ec;border:1px solid #c2dacb;color:#295a43;padding:8px 12px;border-radius:8px}.history-line{display:flex;flex-wrap:wrap;gap:10px;padding:12px 0;border-bottom:1px solid #e5eee8;color:#5f786a;font-size:13px}.history-line strong{color:#205840}.demo-footer{font-size:12px;text-align:center;color:#708676;margin:30px 0 0;line-height:1.7}.demo-shell select,.demo-shell input,.demo-shell button{touch-action:manipulation}@media(max-width:750px){.section-nav{padding:9px 10px}.section-nav button{font-size:14px;padding:9px 11px}.filters,.demo-form{grid-template-columns:repeat(2,minmax(0,1fr))}.picker .staff label{gap:7px}.picker .staff strong{min-width:80px;font-size:15px}.picker .staff small{margin-left:auto}.profile{flex-wrap:wrap;gap:7px}.daily-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-shell input,.demo-shell select,.demo-shell textarea{font-size:16px!important}.pagination{justify-content:flex-start}.schedule-table{min-width:1120px}.roster-table{min-width:760px}}@media(max-width:390px){.filters,.demo-form{grid-template-columns:minmax(0,1fr)}.picker .staff small{width:100%;padding-left:30px;text-align:left}.staff label{flex-wrap:wrap}}.deadline-sim{display:flex;align-items:center;gap:10px;margin:14px 0 4px;font-weight:700;color:#395d4b;font-size:14px}.deadline-sim input{accent-color:#237752;width:19px;height:19px;flex-shrink:0}@media print{@page{size:A4 landscape;margin:10mm}:root{background:#fff;color:#000}.demo-shell header,.section-nav,.picker-actions,.demo-feedback,.demo-footer,.demo-shell .heading .chip{display:none!important}.demo-shell main{padding:0;max-width:none}.demo-shell main>.heading{margin:0 0 12px}.demo-shell main>.heading h1{font-size:20px}.demo-shell main>.heading p{font-size:12px}.demo-shell main .panel{box-shadow:none;border:0;padding:4px}.demo-shell .schedule-scroller{overflow:visible;width:100%;border:0}.demo-shell .roster-table{min-width:0;width:100%;font-size:10px}.demo-shell .roster-table td,.demo-shell .roster-table th{padding:5px;border:1px solid #999}.demo-shell .demo-stack>.panel:nth-child(2){display:none}.demo-shell button{display:none!important}}
