:root{font-synthesis:none}body{min-width:320px}.employee-export-metadata{background:var(--panel,#fff);color:var(--text,#172033);border:1px solid #cbd5e1;border-radius:12px;margin-top:20px;padding:16px}.employee-export-metadata>label,.employee-export-metadata fieldset label{flex-direction:column;gap:6px;margin:10px 0;display:flex}.employee-export-metadata input,.employee-export-metadata select{box-sizing:border-box;width:100%;min-height:42px;font:inherit;border:1px solid #94a3b8;border-radius:6px;padding:8px}.employee-export-metadata fieldset{border:1px solid #cbd5e1;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.employee-export-metadata .employee-export-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.employee-export-metadata .employee-export-review{overflow-wrap:anywhere;border:2px solid #2563eb;border-radius:8px;padding:12px}.employee-export-metadata .employee-export-status{background:var(--panel,#fff);z-index:1;overflow-wrap:anywhere;border-radius:6px;padding:1px 8px;position:sticky;bottom:0}.employee-export-metadata [role=alert]{color:#b91c1c;font-weight:600}@media (width<=520px){.employee-export-metadata fieldset{grid-template-columns:1fr}.employee-export-metadata{padding:12px}.employee-export-metadata button{min-height:44px}}.employee-export-metadata .employee-export-field-error{color:#b91c1c;font-size:.9rem;font-weight:600}.employee-export-metadata input[aria-invalid=true]{background:#fff5f5;border:2px solid #b91c1c;scroll-margin-block:120px}*{box-sizing:border-box}body{color:#17212f;background:#f4f7fb;margin:0;font-family:system-ui,Noto Sans TC,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}main{max-width:900px;margin:auto;padding:20px 16px}header,.head{justify-content:space-between;align-items:center;display:flex}header p,.head p{color:#718093;margin:0;font-size:12px}h1{margin:3px 0;font-size:25px}h2{margin:0;font-size:19px}.avatar{color:#fff;background:#283a58;border:0;border-radius:50%;width:38px;height:38px}.summary{grid-template-columns:1.3fr 1fr 1fr;gap:8px;margin:21px 0;display:grid}.summary div,.calendar{background:#fff;border-radius:14px;padding:13px;box-shadow:0 3px 12px #20324b0c}.summary small,.summary span{color:#718093;font-size:12px;display:block}.summary strong{margin:3px 0;font-size:24px;display:block}nav{background:#e8edf3;border-radius:10px;gap:4px;padding:4px;display:flex}nav button{color:#657284;background:0 0;border:0;border-radius:7px;flex:1;padding:9px}nav .active{color:#1b2d49;background:#fff;box-shadow:0 1px 5px #0001}.calendar{margin-top:14px;padding:17px}.primary{color:#fff;background:#1769e0;border:0;border-radius:9px;padding:10px 13px;font-weight:700}.list{margin-top:14px}.item{text-align:left;color:#192940;background:#fff;border-top:0;border-bottom:1px solid #edf0f4;border-left:4px solid;border-right:0;align-items:center;gap:12px;width:100%;padding:13px 5px 13px 10px;display:flex}.item time{width:43px;font-size:13px;font-weight:700}.item span{flex:1}.item b,.item small{display:block}.item b{font-size:14px}.item small{color:#718093;margin-top:4px;font-size:12px}.item em{font-size:23px;font-style:normal}.green{color:#126839;border-color:#18834a!important}.yellow{color:#8b5c00;border-color:#b77a00!important}.red{color:#b42e2e;border-color:#d44141!important}.blue{color:#165d9f;border-color:#1971c8!important}.month{grid-template-columns:repeat(7,1fr);gap:4px;margin-top:15px;display:grid}.month>div{background:#f7f9fc;min-height:68px;padding:5px;font-size:12px}.month .today{background:#e8f1ff}.mini{white-space:nowrap;text-overflow:ellipsis;text-align:left;background:0 0;border:0;border-left:3px solid;width:100%;margin-top:3px;padding:2px;font-size:10px;display:block;overflow:hidden}.cover{z-index:4;background:#15243a77;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.cover article,.cover form{background:#fff;border-radius:22px 22px 0 0;width:100%;max-width:600px;max-height:92vh;padding:26px 22px 30px;position:relative;overflow:auto}.x{background:#eef2f7;border:0;border-radius:50%;width:30px;height:30px;font-size:22px;position:absolute;top:12px;right:15px}.tag{margin:0 0 9px;font-size:13px;font-weight:700}.when{color:#607082;border-bottom:1px solid #e7ecf1;padding-bottom:15px;font-size:14px}.info p{border-bottom:1px solid #eef1f4;margin:0;padding:10px 0;font-size:14px}.info small{color:#718093;margin-bottom:3px;font-size:12px;display:block}.finished{color:#167443}.audit{background:#f7f9fc;border-radius:10px;margin:18px 0;padding:12px}.audit h3{margin:0 0 7px;font-size:14px}.audit p{color:#607082;margin:6px 0;font-size:12px}.wide{width:100%}label{margin:14px 0;font-size:13px;font-weight:700;display:block}input,select,textarea{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;margin-top:5px;padding:10px;display:block}.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width>=700px){main{padding-top:35px}.cover{align-items:center}.cover article,.cover form{border-radius:22px}.month>div{min-height:105px}}button{background:#fff;border:1px solid #d8e0e9;border-radius:8px;min-height:40px;padding:6px 12px}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #7aaaf4}.toolbar{flex-wrap:wrap;align-items:center;gap:7px;margin:16px 0;display:flex}.toolbar input,.toolbar select{width:auto;max-width:100%;margin:0}.day h3{border-bottom:1px solid #e8edf3;padding:12px 0;font-size:14px}.day h3 small{color:#64748b;font-weight:400}.empty{color:#8190a3;padding:12px;font-size:14px}.identity{margin:0;font-size:11px}.identity select{padding:5px;font-size:12px}.item time{flex-shrink:0;width:66px}.done{opacity:1}.done b{opacity:.6}.done small{color:#425569}.month .weekday{text-align:center;background:0 0;min-height:0;padding:8px}.month .outside{color:#9da6b3;background:#fbfcfe}.month>div{min-width:0}.mini{white-space:normal;overflow-wrap:anywhere;min-height:28px;line-height:1.6}.day-button{background:0 0;border:0;min-height:28px;padding:2px 6px}.error{z-index:10;color:#a62323;background:#fff0ef;border:1px solid #e3aaa6;border-radius:8px;margin:12px 0;padding:10px;position:relative}.error button{float:right}.check{align-items:center;gap:10px;display:flex}.check input{width:20px;margin:0}.buttons{flex-wrap:wrap;gap:9px;display:flex}.danger{color:#b42e2e}.info p{white-space:pre-wrap;overflow-wrap:anywhere}.cover{padding:14px 0}.cover article,.cover form{max-height:94dvh}.cover textarea{resize:vertical;min-height:74px}.x{min-height:32px;padding:0}footer{color:#748296;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:18px 0;font-size:12px;display:flex}.login{background:#fff;border-radius:18px;max-width:430px;margin:10vh auto;padding:28px}.eyebrow{letter-spacing:1.2px}.head h2{margin-bottom:5px}header{gap:16px}header h1{letter-spacing:-.6px}.summary strong{color:#243c5b;font-size:30px}@media (width<=480px){header{align-items:flex-start}h1{font-size:21px}.identity select{max-width:145px}.two{grid-template-columns:1fr}.month{gap:2px}.month>div{padding:2px}.mini{padding:2px;font-size:10px}.calendar{padding:12px}.head .primary{padding:9px;font-size:13px}.toolbar{gap:5px}.toolbar input{max-width:145px}.cover form,.cover article{padding:24px 18px}.summary div{padding:10px}.head p{max-width:180px}}.month{grid-template-columns:repeat(7,minmax(94px,1fr));overflow-x:auto}.mini{white-space:nowrap;text-overflow:ellipsis;font-size:11px}.month>div{min-height:92px}.summary span{line-height:1.5}main .month .mini{white-space:nowrap;text-overflow:ellipsis;font-size:11px}.cover .member-manager form{border-bottom:1px solid #dce3ed;border-radius:0;max-height:none;margin:12px 0;padding:14px 0;overflow:visible}.account-panel{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.account-panel strong{font-size:14px}.account-panel small{color:#64748b;font-size:11px}.google-login{color:#185abc;border-color:#b5c8e5;font-size:13px}.account-panel button{font-size:12px}@media (width<=480px){header{flex-wrap:wrap}.account-panel{margin-left:auto}}.account-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.online-members{text-align:left;align-items:center;gap:8px;font-size:12px;display:flex}.online-count{white-space:nowrap;color:#475569}.online-dropdown{position:relative}.online-dropdown summary{cursor:pointer;color:#334155;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;list-style:none;display:flex}.online-dropdown summary::-webkit-details-marker{display:none}.online-dropdown summary:focus-visible{outline-offset:2px;outline:2px solid #7c3aed}.online-menu{z-index:30;background:#fff;border:1px solid #cbd5e1;border-radius:10px;min-width:160px;max-width:260px;min-height:42px;max-height:240px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 8px 24px #0f172a1a}.online-menu ul{margin:0;padding:6px 0;list-style:none}.online-menu li{overflow-wrap:anywhere;padding:9px 14px}.online-menu .error{margin:8px}@media (width<=700px){.account-panel{flex-shrink:1;max-width:100%}.account-actions{max-width:100%}.online-members{flex-wrap:wrap}}.notification-section{border-top:1px solid #dce3ed;margin:22px 0;padding-top:16px}.notification-status{color:#475569;background:#f1f5f9;border-radius:8px;padding:10px 12px;font-size:13px}.notification-reminders{border:1px solid #dce3ed;border-radius:8px;margin:14px 0;padding:12px}.member-picker{border:1px solid #dce3ed;border-radius:8px;margin:12px 0;padding:12px}.member-picker summary{cursor:pointer;font-weight:600}.member-picker input:not([type=checkbox]){width:100%;margin:12px 0}.member-picker .buttons{flex-wrap:wrap;align-items:center}.member-picker-list{max-height:250px;overflow-y:auto}.member-picker-list .check{align-items:flex-start}.member-picker-list span{overflow-wrap:anywhere}.member-picker-list small{color:#64748b;font-size:12px;display:block}.notification-section select{width:100%}.purple{color:#7c3aed;border-color:#7c3aed!important}.orange{color:#ea580c;border-color:#ea580c!important}.teal{color:#0f766e;border-color:#0f766e!important}footer>span{line-height:1.8}main .month .mini.done{color:#64748b;opacity:1;background:#f1f5f9;text-decoration:line-through;border-color:#cbd5e1!important}.push-devices{border:1px solid #dce3ed;border-radius:8px;margin:12px 0;padding:14px}.push-devices .buttons{flex-wrap:wrap}.push-devices p{overflow-wrap:anywhere;line-height:1.6}.timing-overview{background:#f8fafc;border:1px solid #dce3ed;border-radius:12px;flex-wrap:wrap;gap:12px 24px;margin:14px 0;padding:14px;display:flex}.timing-overview small{color:#475569;flex-basis:100%;line-height:1.6}.timing-badge{color:#475569;background:#e2e8f0;border-radius:4px;width:max-content;max-width:100%;padding:2px 5px;line-height:1.5;font-size:11px!important;display:inline-block!important}.timing-badge.overdue{color:#991b1b;background:#fee2e2}.timing-badge.starting{color:#1e40af;background:#dbeafe}.timing-badge.due{color:#854d0e;background:#fef9c3}.timing-badge.completed{color:#475569;background:#e2e8f0}.month .mini .timing-badge{margin-top:2px;font-size:10px!important;display:block!important}.timing-overview button{background:#fff;border:1px solid #cbd5e1}.attention-entry{margin:14px 0}.attention-entry>small{color:#475569}.historical-search form{gap:14px;display:grid}.historical-search label{gap:6px;display:grid}.search-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.historical-search input,.historical-search select{box-sizing:border-box;width:100%;min-width:0}.search-result{text-align:left;overflow-wrap:anywhere;border-left-width:4px;flex-direction:column;align-items:flex-start;gap:7px;width:100%;margin:10px 0;padding:16px;display:flex}.search-result.done{color:#6b7280;opacity:.75}.search-result.done strong{text-decoration:line-through}@media (width<=600px){.search-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.file-row{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.file-row span{overflow-wrap:anywhere;flex:1;min-width:140px}.item-files input[type=file]{max-width:100%}.item-files p{overflow-wrap:anywhere}.trash-entry{overflow-wrap:anywhere;border-top:1px solid #dce4ee;padding:16px 0}.trash-entry p{margin:8px 0}.multiline{white-space:pre-wrap}.calendar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.plant-filter{white-space:nowrap;align-items:center;gap:8px;font-size:14px;display:flex}.plant-filter select{width:auto;min-width:110px;margin:0;padding:9px 12px}@media (width<=560px){.calendar .head{flex-wrap:wrap;gap:14px}.calendar-actions{width:100%}}.month{grid-template-columns:44px repeat(7,minmax(0,1fr))}.month .week-number{color:#64748b;background:#eef2f7;border-radius:6px;justify-content:center;align-items:center;font-size:14px;display:flex}.month .week-number-heading{font-size:12px}@media (width<=640px){.month{min-width:744px}}.plant-filter{color:#24416a;gap:12px;font-weight:700}.plant-filter select.plant-selector{color:#233c5b;cursor:pointer;background-color:#fff;border:2px solid #c5d0e0;border-radius:10px;min-width:155px;min-height:50px;padding:10px 18px;font-size:18px;font-weight:700;transition:background-color .15s,border-color .15s}.plant-filter select.plant-selector-hukou{color:#fff;background-color:#1769d2;border-color:#1258b3}.plant-filter select.plant-selector-xinfeng{color:#493207;background-color:#e5b74b;border-color:#c5952c}.plant-filter select.plant-selector:focus-visible{outline-offset:3px;outline:3px solid #779fec}.plant-filter select.plant-selector option{color:#233c5b;background:#fff}.plant-filter select.plant-selector option[value=hukou]{color:#fff;background:#1769d2}.plant-filter select.plant-selector option[value=xinfeng]{color:#493207;background:#e5b74b}.calendar-theme{--plant-accent:#46617f;--plant-wash:#f5f7fa;--plant-line:#dce4ee;--plant-ink:#233c5b;background:#fff;border-radius:20px}.calendar-theme.theme-hukou{--plant-accent:#1769d2;--plant-wash:#f0f6ff;--plant-line:#cddff7;--plant-ink:#123d79;background:var(--plant-wash)}.calendar-theme.theme-xinfeng{--plant-accent:#b98014;--plant-wash:#fffaec;--plant-line:#f0e1ba;--plant-ink:#684508;background:var(--plant-wash)}.calendar-theme header h1,.calendar-theme .head h2,.calendar-theme .summary strong,.calendar-theme .summary small{color:var(--plant-ink)}.calendar-theme .summary>div,.calendar-theme>.calendar{border:1px solid var(--plant-line);border-radius:18px;box-shadow:0 5px 16px #233c5b0c}.calendar-theme>nav{background:var(--plant-line)}.calendar-theme>nav button{color:var(--plant-ink)}.calendar-theme>nav .active{background:var(--plant-accent);color:#fff}.calendar-theme .timing-overview{background:var(--plant-wash);border-color:var(--plant-line);border-radius:16px}.calendar-theme .toolbar button,.calendar-theme .toolbar input,.calendar-theme .toolbar select{border-color:var(--plant-line);color:var(--plant-ink)}.calendar-theme .month>div{background:var(--plant-wash);border-radius:6px}.calendar-theme .month .weekday{color:var(--plant-ink)}.calendar-theme .month .week-number{background:var(--plant-line);color:var(--plant-ink)}.calendar-theme .month .today{background:var(--plant-line);box-shadow:inset 0 0 0 2px var(--plant-accent)}.calendar-theme .day>h3{color:var(--plant-ink)}.calendar-theme .plant-filter select.plant-selector{outline-offset:3px;border-radius:26px;outline:3px solid #9333ea}.calendar-theme .plant-filter select.plant-selector:focus-visible{outline-offset:3px;outline:4px solid #7e22ce}.calendar-theme .add-entry{color:#fff;background:#be123c;border-radius:26px;padding:12px 20px}.calendar-theme .add-entry:hover{background:#9f1239}.calendar-theme .add-entry:focus-visible{outline-offset:3px;outline:3px solid #fda4af}.platform-switch{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.platform-switch button[aria-pressed=true]{background:#e5f8ed;border-color:#3f9470;box-shadow:inset 0 2px 3px #9cbfad,0 0 8px #79dca4}.member-quick-search{flex-wrap:wrap;align-items:flex-end;gap:10px;margin:12px 0;display:flex}.member-quick-search label{flex-direction:column;flex:1;gap:6px;min-width:180px;display:flex}.member-quick-search input{box-sizing:border-box;width:100%}.member-quick-search button{flex-shrink:0}.cover .member-manager form[hidden],.member-manager form[hidden]{display:none!important}.member-row-heading{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.member-row-heading h4{margin:0}.member-remove{color:#a32121;flex-shrink:0;min-width:44px;min-height:44px;font-size:24px}.member-list-tabs{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.member-list-tabs [aria-pressed=true]{background:#e3edf9;border-color:#3474ae}.member-confirm-cover{z-index:300;background:#17203399;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.member-confirm{box-sizing:border-box;overflow-wrap:anywhere;background:#fff;border-radius:16px;width:min(480px,100%);max-height:85dvh;padding:22px;overflow:auto}.member-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.member-confirm .error{background:#fff1f1;padding:10px}.member-success-notice{background:#eef8f0;border:1px solid #a4c9ac;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px;display:flex}.platform-switch .platform-mode{border:2px solid var(--mode-edge);background:var(--mode-dark);color:#fff;min-height:44px;box-shadow:0 3px 0 var(--mode-edge),0 4px 7px #17203320;font-weight:700;transition:background .15s,box-shadow .15s,transform .15s;transform:translateY(0)}.platform-switch .platform-calendar{--mode-dark:#245c58;--mode-edge:#16473e;--mode-light:#c5f7e7;--mode-ink:#143e36;--mode-glow:#35bd92;--mode-inner:#64b99b}.platform-switch .platform-roster{--mode-dark:#57456d;--mode-edge:#402752;--mode-light:#ede0ff;--mode-ink:#42255c;--mode-glow:#b184e2;--mode-inner:#aa87cd}.platform-switch .platform-maintenance{--mode-dark:#f3c844;--mode-edge:#b17d12;--mode-light:#fff0a8;--mode-ink:#4d3600;--mode-glow:#cb9417;--mode-inner:#d6ae38;color:#4d3600}.platform-switch .platform-mode[aria-pressed=true]{background:var(--mode-light);color:var(--mode-ink);border-color:var(--mode-glow);box-shadow:inset 0 2px 4px var(--mode-inner),0 0 0 2px #fff,0 0 10px var(--mode-glow);transform:translateY(2px)}.platform-switch .platform-mode:focus-visible{outline-offset:5px;outline:3px solid #182d45}@media (prefers-reduced-motion:reduce){.platform-switch .platform-mode{transition:none}}.calendar-theme .month .today,.calendar-theme .day.today{border-radius:7px;position:relative;box-shadow:inset 0 0 0 4px #1747a6}.calendar-theme .day.today{padding:12px}.today-badge{color:#fff;vertical-align:middle;white-space:nowrap;background:#1747a6;border-radius:4px;margin-left:4px;padding:2px 5px;font-size:11px;font-weight:800;line-height:1.3;display:inline-block}@media (width<=600px){.today-badge{margin-left:3px;padding:2px 3px;font-size:10px}}
