:root{--ink:#14251f;--muted:#6f7e77;--line:#e4e9e5;--cream:#f7f6f1;--green:#183c31;--green-2:#245546;--orange:#ec7b3b;--orange-soft:#fff1e8}*{box-sizing:border-box}html{background:var(--cream);scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}button,a{font:inherit}button{color:inherit}.app-shell{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--green);color:#fff;flex-direction:column;height:100vh;padding:28px 18px 22px;display:flex;position:sticky;top:0;overflow:hidden}.brand-mark{background:#f7f9ff;border-radius:14px;place-items:center;width:48px;height:48px;margin:0 8px 24px;display:grid;overflow:hidden;box-shadow:0 10px 30px #0002}.brand-mark img{object-fit:cover;width:100%;height:100%}.sidebar .module-nav{scrollbar-width:none;align-content:start;gap:8px;min-height:0;display:grid;overflow-y:auto}.sidebar .module-nav::-webkit-scrollbar{display:none}.nav-module{gap:4px;display:grid}.nav-module-toggle{color:#b8cbc2;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px 11px;transition:all .2s;display:grid}.nav-module-toggle>span{background:#fff1;border-radius:10px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:850;display:grid}.nav-module-toggle strong{font-size:13px}.nav-module-toggle b{font-size:17px;transition:transform .2s}.nav-module-toggle:hover,.nav-module-toggle.active{color:#fff;background:#fff1}.nav-module.open .nav-module-toggle{color:#fff;background:#fff2}.nav-module.open .nav-module-toggle>span{background:var(--orange)}.nav-module.open .nav-module-toggle b{transform:rotate(90deg)}.nav-module-items{gap:3px;padding:2px 0 4px 12px;display:none}.nav-module.open .nav-module-items{display:grid}.nav-item{color:#c9d7d1;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.nav-item span{background:#fff1;border-radius:8px;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.nav-item:hover,.nav-item.active{color:#fff;background:#fff2}.nav-item.active span{background:var(--orange)}.nav-placeholder{cursor:default;opacity:.48}.nav-placeholder div{min-width:0}.nav-placeholder small{color:#afc2ba;background:#fff1;border-radius:999px;margin-left:6px;padding:2px 5px;font-size:7px;display:inline-block}.sidebar-foot{border-top:1px solid #fff2;align-items:center;gap:11px;margin-top:auto;padding:15px 10px 0;display:flex}.store-avatar{object-fit:cover;background:#f7f9ff;border:0;border-radius:10px;flex:0 0 36px;width:36px;height:36px}.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot strong{font-size:13px}.sidebar-foot small{color:#9fb5ab;margin-top:3px;font-size:11px}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffdb;justify-content:space-between;align-items:center;min-height:94px;padding:20px clamp(24px,4vw,56px);display:flex}.eyebrow{color:var(--muted);letter-spacing:.04em;font-size:12px;font-weight:600}h1{letter-spacing:-.03em;margin:4px 0 0;font-size:25px}.top-actions,.profile{align-items:center;gap:12px;display:flex}.icon-button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;font-size:12px;font-weight:600;position:relative}.icon-button b{background:var(--orange);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;display:grid;position:absolute;top:-7px;right:-6px}.profile{border-left:1px solid var(--line);padding-left:16px}.profile>span{width:38px;height:38px;color:var(--green);background:#dfece6;border-radius:12px;place-items:center;font-weight:800;display:grid}.profile strong,.profile small{display:block}.profile strong{font-size:13px}.profile small{color:var(--muted);margin-top:2px;font-size:11px}.content{padding:28px clamp(22px,4vw,56px) 54px}.week-toolbar{justify-content:space-between;align-items:center;gap:18px;display:flex}.week-switcher,.toolbar-actions{align-items:center;gap:9px;display:flex}.week-switcher>button:not(.today-button){border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;width:34px;height:34px;font-size:22px}.week-switcher div{text-align:center;min-width:184px}.week-switcher strong,.week-switcher span{display:block}.week-switcher strong{font-size:14px}.week-switcher span{color:var(--muted);margin-top:3px;font-size:11px}.today-button,.secondary-button,.primary-button{cursor:pointer;border-radius:10px;padding:10px 14px;font-size:12px;font-weight:700}.today-button,.secondary-button{border:1px solid var(--line);background:#fff}.primary-button{border:1px solid var(--green);background:var(--green);color:#fff;box-shadow:0 6px 18px #183c312b}.alert-card{background:var(--orange-soft);border:1px solid #f6d8c6;border-radius:14px;align-items:center;gap:13px;margin:22px 0 16px;padding:14px 16px;display:flex}.alert-icon{background:var(--orange);color:#fff;border-radius:9px;flex:0 0 30px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.alert-card strong{font-size:13px}.alert-card p{color:#956244;margin:3px 0 0;font-size:11px}.alert-card button{color:#a15027;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:12px;font-weight:700}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.stats-grid article{border:1px solid var(--line);background:#fff;border-radius:15px;min-width:0;padding:17px 18px;box-shadow:0 8px 28px #1d30290a}.stats-grid span,.stats-grid strong,.stats-grid em{display:block}.stats-grid span{color:var(--muted);font-size:11px;font-weight:600}.stats-grid strong{letter-spacing:-.04em;margin-top:8px;font-size:23px}.stats-grid strong small{color:var(--muted);letter-spacing:0;font-size:11px;font-weight:600}.stats-grid em{color:#7c8d85;margin-top:7px;font-size:10px;font-style:normal}.schedule-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 10px 35px #1d30290d}.schedule-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.schedule-heading h2{margin:0;font-size:15px}.schedule-heading p{color:var(--muted);margin:4px 0 0;font-size:11px}.legend{color:var(--muted);gap:12px;font-size:10px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.dot{border-radius:50%;width:7px;height:7px}.dot.morning{background:#7cb5a5}.dot.evening{background:#df9e76}.dot.training{background:#a28dc5}.table-row{border-bottom:1px solid var(--line);grid-template-columns:132px repeat(7,minmax(105px,1fr)) 72px;min-height:70px;display:grid}.table-row:last-child{border-bottom:0}.table-row>*{border-right:1px solid var(--line)}.table-row>:last-child{border-right:0}.table-head{background:#fbfcfa;min-height:74px}.table-head>div{flex-direction:column;justify-content:center;padding:10px 11px;display:flex}.table-head strong{font-size:12px}.table-head span{color:var(--muted);margin-top:2px;font-size:10px}.table-head small{color:#9a6650;white-space:nowrap;margin-top:6px;font-size:8px}.person-cell{align-items:center;gap:9px;padding:10px 12px;display:flex}.avatar{border-radius:11px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.avatar.orange{color:#b75827;background:#fff0e6}.avatar.blue{color:#2a7193;background:#e8f3f8}.avatar.violet{color:#7559a4;background:#f0ebf8}.avatar.green{color:#36715f;background:#e8f2ed}.avatar.pink{color:#a54f70;background:#faeaf0}.person-cell strong,.person-cell small{display:block}.person-cell strong{font-size:12px}.person-cell small{color:var(--muted);margin-top:3px;font-size:9px}.shift{border:0;border-right:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:flex-start;padding:10px 9px;font-size:10px;display:flex}.shift:before{content:"";background:#79aa9b;border-radius:3px;width:18px;height:3px;margin-bottom:7px}.shift small{color:var(--muted);margin-top:4px;font-size:8px}.shift.late:before{background:#df9e76}.shift.off{color:#a4afa9}.shift.off:before{background:#e5e9e7}.shift:hover{background:#f7faf8}.hours-cell{flex-direction:column;justify-content:center;align-items:center;display:flex}.hours-cell strong{font-size:15px}.hours-cell span{color:var(--muted);margin-top:3px;font-size:8px}.mobile-day-strip,.mobile-roster,.mobile-nav{display:none}@media (max-width:1100px){.app-shell{grid-template-columns:84px minmax(0,1fr)}.sidebar{padding-inline:13px}.brand-mark{margin-inline:6px}.nav-module-toggle{grid-template-columns:34px;justify-content:center;padding:9px}.nav-module-toggle strong,.nav-module-toggle b{display:none}.nav-module-items{padding-left:0}.nav-module-items .nav-item{justify-content:center;padding:8px;font-size:0}.nav-module-items .nav-item span{font-size:12px}.nav-placeholder div,.sidebar-foot div:not(.store-avatar){display:none}.sidebar-foot{justify-content:center;padding-inline:0}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-card{overflow-x:auto}}@media (max-width:700px){.app-shell{padding-bottom:76px;display:block}.sidebar{display:none}.topbar{min-height:76px;padding:14px 18px}.eyebrow{font-size:10px}h1{font-size:21px}.profile div,.icon-button{display:none}.profile{border:0;padding:0}.profile>span{border-radius:50%}.content{padding:18px 14px 28px}.week-toolbar{align-items:stretch}.week-switcher{flex:1;justify-content:space-between}.week-switcher div{min-width:0}.week-switcher strong{font-size:12px}.today-button,.toolbar-actions .secondary-button{display:none}.primary-button{white-space:nowrap;padding-inline:13px}.alert-card{align-items:flex-start}.alert-card p{line-height:1.45}.alert-card button{display:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stats-grid article{padding:14px}.stats-grid strong{font-size:20px}.mobile-day-strip{scrollbar-width:none;grid-template-columns:repeat(7,48px);gap:7px;margin:14px -14px;padding:3px 14px 8px;display:grid;overflow-x:auto}.mobile-day-strip button{border:1px solid var(--line);background:#fff;border-radius:13px;height:61px}.mobile-day-strip span,.mobile-day-strip strong{display:block}.mobile-day-strip span{color:var(--muted);font-size:9px}.mobile-day-strip strong{margin-top:6px;font-size:16px}.mobile-day-strip .selected{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 7px 18px #183c312e}.mobile-day-strip .selected span{color:#c9d9d3}.schedule-card{overflow:hidden}.schedule-heading{padding:15px}.schedule-heading p,.legend,.schedule-table{display:none}.mobile-roster{display:block}.mobile-roster-summary{border-bottom:1px solid var(--line);background:#f8faf8;justify-content:space-between;align-items:center;padding:14px 15px;display:flex}.mobile-roster-summary span,.mobile-roster-summary strong{display:block}.mobile-roster-summary span{color:var(--muted);font-size:10px}.mobile-roster-summary strong{margin-top:3px;font-size:13px}.mobile-roster-summary button{color:var(--green-2);background:0 0;border:0;font-size:11px;font-weight:800}.mobile-person{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;grid-template-columns:38px minmax(0,1fr) auto 10px;align-items:center;gap:10px;width:100%;padding:13px 15px;display:grid}.mobile-person:last-child{border-bottom:0}.mobile-person strong,.mobile-person small{display:block}.mobile-person strong{font-size:12px}.mobile-person small{color:var(--muted);margin-top:3px;font-size:9px}.mobile-person time{font-size:11px;font-weight:700}.mobile-person b{color:#aeb7b3}.mobile-nav{z-index:10;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;grid-template-columns:repeat(4,1fr);height:66px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav a{color:#84918b;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:9px;font-weight:700;text-decoration:none;display:flex}.mobile-nav span{font-size:14px}.mobile-nav a.active{color:var(--green)}.mobile-nav a.active span{background:#e9f1ed;border-radius:8px;place-items:center;width:27px;height:23px;display:grid}}@media (max-width:380px){.stats-grid{grid-template-columns:1fr}.toolbar-actions{display:none}}.nav-item{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.nav-item.nav-placeholder{cursor:default}.nav-item.nav-placeholder:hover{color:#c9d7d1;background:0 0}.table-scroller{overflow-x:auto}.loading-state{text-align:center;color:var(--muted);padding:70px 20px;font-size:13px}.shift.training:before{background:#a28dc5}.ok-card{background:#edf6f1;border:1px solid #cfe2d9;border-radius:14px;align-items:center;gap:12px;margin:22px 0 16px;padding:13px 16px;display:flex}.ok-card>span{color:#fff;background:#2d735e;border-radius:9px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.ok-card strong{font-size:13px}.ok-card p{color:#5f7f73;margin:3px 0 0;font-size:11px}.management-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 10px 35px #1d30290d}.section-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.section-title h2{margin:0;font-size:17px}.section-title p{color:var(--muted);margin:5px 0 0;font-size:11px}.section-title>span{color:var(--green);background:#eef4f1;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:700}.people-list>button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;grid-template-columns:38px minmax(150px,1fr) minmax(130px,1fr) 90px 14px;align-items:center;gap:13px;width:100%;padding:14px 20px;display:grid}.people-list>button:last-child{border-bottom:0}.people-list>button:hover{background:#f8faf8}.people-list strong,.people-list small{display:block}.people-list strong{font-size:12px}.people-list small{color:var(--muted);margin-top:4px;font-size:9px}.cert-status.warning strong,.cert-status.warning small{color:#c16031}.rate{text-align:right}.people-list>button>b{color:#aeb7b3}.template-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:20px;display:grid}.template-grid article{border:1px solid var(--line);background:#fbfcfa;border-radius:14px;padding:17px;position:relative;overflow:hidden}.template-bar{background:#79aa9b;width:4px;position:absolute;inset:0 auto 0 0}.template-bar.evening,.template-bar.closing{background:#df9e76}.template-bar.training{background:#a28dc5}.template-grid span,.template-grid small{color:var(--muted);font-size:9px;display:block}.template-grid h3{margin:12px 0 8px;font-size:15px}.template-grid strong{font-size:12px}.template-grid small{margin-top:6px}.report-table{overflow-x:auto}.report-row{border-bottom:1px solid var(--line);grid-template-columns:1.2fr repeat(5,1fr);align-items:center;min-width:760px;min-height:52px;padding:0 20px;font-size:11px;display:grid}.report-row.head{min-height:42px;color:var(--muted);background:#f8faf8;font-size:9px;font-weight:700}.report-row strong{font-size:11px}.report-note{background:#fff4eb;border-radius:12px;margin:20px;padding:16px 18px}.report-note strong{font-size:11px}.report-note p{color:#956244;margin:5px 0 0;font-size:10px;line-height:1.55}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c211ab3;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.edit-modal{background:#fff;border-radius:18px;width:min(440px,100%);padding:22px;box-shadow:0 24px 80px #0005}.modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.modal-head span{color:var(--muted);font-size:10px}.modal-head h2{margin:4px 0 0;font-size:20px}.modal-head>button{color:#67766f;cursor:pointer;background:#f1f3f1;border:0;border-radius:9px;width:32px;height:32px;font-size:20px}.edit-modal label{color:#55655e;margin-top:13px;font-size:10px;font-weight:700;display:block}.edit-modal input,.edit-modal select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;margin-top:6px;padding:10px 11px;font-size:12px}.time-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checkbox-line{background:#f6f8f6;border-radius:10px;align-items:center;gap:8px;padding:12px;display:flex!important}.checkbox-line input{width:auto;margin:0}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;margin-top:20px;padding-top:16px;display:flex}.danger-button{color:#ac4d26;cursor:pointer;background:#fff3ed;border:1px solid #f1d4c7;border-radius:9px;margin-right:auto;padding:9px 12px;font-size:11px;font-weight:700}.toast{z-index:60;color:#fff;background:#173b30;border-radius:10px;padding:11px 16px;font-size:12px;font-weight:700;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0004}.mobile-nav button{color:#84918b;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:9px;font-weight:700;display:flex}.mobile-nav button.active{color:var(--green)}.mobile-nav button.active span{background:#e9f1ed;border-radius:8px;place-items:center;width:27px;height:23px;display:grid}@media (max-width:900px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.section-title{padding:16px}.section-title p{line-height:1.45}.people-list>button{grid-template-columns:38px minmax(0,1fr) 84px 10px;padding:13px 15px}.people-list .cert-status{display:none}.template-grid{grid-template-columns:1fr 1fr;gap:9px;padding:13px}.template-grid article{padding:14px}.report-row{padding-inline:14px}.toast{bottom:82px}.ok-card{margin-top:16px}}@media (max-width:420px){.template-grid{grid-template-columns:1fr}.section-title>span{display:none}.time-grid{grid-template-columns:1fr}}.view-toggle{border:1px solid var(--line);background:#fff;border-radius:10px;padding:3px;display:flex}.view-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:700}.view-toggle button.active{background:var(--green);color:#fff}.primary-button:disabled{cursor:not-allowed;opacity:.45}.day-selector{grid-template-columns:repeat(7,minmax(72px,1fr));gap:8px;margin-bottom:14px;display:grid}.day-selector button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;padding:10px 8px}.day-selector span,.day-selector strong{display:block}.day-selector span{color:var(--muted);font-size:9px}.day-selector strong{margin-top:4px;font-size:12px}.day-selector button.selected{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 7px 18px #183c312e}.day-selector button.selected span{color:#c9d9d3}.person-cell,.person-cell>div{min-width:0}.person-cell small{white-space:nowrap}.person-cell .cert-missing{color:#c45f32}.shift.health-blocked{color:#b96943;background:#fff6f1}.shift.health-blocked:before{background:#dc8b66}.form-warning{color:#a8542d;background:#fff3ed;border:1px solid #f0d1c2;border-radius:9px;margin:10px 0;padding:10px 11px;font-size:10px;line-height:1.5}.daily-view{background:#fff}.timeline-scroller{overflow-x:auto}.timeline-chart{min-width:940px}.timeline-axis,.timeline-row{grid-template-columns:130px minmax(0,1fr);display:grid}.timeline-axis{border-bottom:1px solid var(--line);background:#f8faf8;min-height:64px}.axis-person{color:var(--muted);align-items:flex-end;padding:0 15px 12px;font-size:9px;font-weight:700;display:flex}.axis-track{margin:0 24px 0 8px;position:relative}.axis-track>span{color:#77867f;white-space:nowrap;font-size:8px;position:absolute;bottom:10px;transform:translate(-50%)}.axis-track>span:first-child{transform:none}.axis-track>span:last-of-type{transform:translate(-100%)}.axis-marker{z-index:2;top:0;bottom:0;left:var(--marker-left);border-left:1px dashed #d3764c;position:absolute}.axis-marker.close{border-left-color:#8f6cac}.axis-marker b{color:#a95732;white-space:nowrap;background:#fff0e8;border-radius:5px;padding:3px 5px;font-size:8px;font-style:normal;position:absolute;top:6px;left:5px}.axis-marker.close b{color:#735794;background:#f2ecf8;left:auto;right:5px}.timeline-row{border-bottom:1px solid var(--line);min-height:64px}.timeline-row:last-child{border-bottom:0}.timeline-person{border:0;border-right:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;align-items:center;gap:9px;padding:10px 13px;display:flex}.timeline-person strong,.timeline-person small{display:block}.timeline-person strong{font-size:11px}.timeline-person small{color:var(--muted);margin-top:3px;font-size:8px}.timeline-track{background-image:linear-gradient(90deg,#eef1ef 1px,#0000 1px);background-size:5.88235% 100%;margin:0 24px 0 8px;position:relative}.row-marker{z-index:1;top:0;bottom:0;left:var(--marker-left);border-left:1px dashed #e0a286;position:absolute}.row-marker:nth-child(2){border-left-color:#b6a2cc}.timeline-bar{z-index:2;top:14px;bottom:14px;left:var(--bar-left);width:var(--bar-width);color:#235b49;cursor:pointer;background:#dcece6;border:1px solid #93b9ac;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;min-width:58px;padding:0 10px;display:flex;position:absolute;overflow:hidden;box-shadow:0 4px 12px #173c3014}.timeline-bar.training{color:#725591;background:#eee8f6;border-color:#baa9cf}.timeline-bar.invalid{color:#ad4f27;background:#fff0e8;border-color:#df8d68}.timeline-bar strong{white-space:nowrap;font-size:9px}.timeline-bar span{font-size:8px;font-weight:700}.timeline-empty{text-align:center;color:var(--muted);padding:55px;font-size:11px}.day-add-panel{border-top:1px solid var(--line);background:#fbfcfa;padding:16px 18px}.day-add-panel>div:first-child{align-items:baseline;gap:10px;display:flex}.day-add-panel>div:first-child strong{font-size:11px}.day-add-panel>div:first-child span{color:var(--muted);font-size:9px}.resting-people{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.resting-people button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:8px;padding:7px 10px 7px 7px;display:flex}.resting-people button.blocked{background:#fff7f3;border-color:#efd6ca}.resting-people .avatar{flex-basis:29px;width:29px;height:29px}.resting-people strong,.resting-people small{display:block}.resting-people strong{font-size:10px}.resting-people small{color:var(--muted);margin-top:2px;font-size:8px}.resting-people button.blocked small{color:#b9623b}.template-grid.time-only button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fbfcfa;border-radius:14px;flex-direction:column;align-items:flex-start;padding:18px;display:flex;position:relative;overflow:hidden}.template-grid.time-only button:hover{background:#f5f9f7;border-color:#a9c3b9}.template-grid.time-only strong{font-size:14px}.template-grid.time-only small{color:var(--muted);margin-top:7px;font-size:9px}.template-duration{color:var(--muted);background:#f3f7f5;border-radius:10px;margin-top:16px;padding:13px;font-size:11px}.template-duration strong{color:var(--green)}@media (max-width:700px){.week-toolbar{flex-wrap:wrap}.toolbar-actions{justify-content:space-between;width:100%}.view-toggle,.view-toggle button{flex:1}.day-selector{scrollbar-width:none;margin:0 -14px 14px;padding:2px 14px 7px;display:flex;overflow-x:auto}.day-selector button{min-width:58px}.timeline-chart{min-width:760px}.timeline-axis,.timeline-row{grid-template-columns:105px minmax(0,1fr)}.timeline-bar{min-width:52px;padding-inline:7px}.day-add-panel{padding:14px}.person-cell small{font-size:8px}}.autosave-badge{color:#2d735e;white-space:nowrap;background:#edf6f1;border:1px solid #cfe2d9;border-radius:10px;align-items:center;gap:6px;padding:8px 10px;font-size:10px;font-weight:800;display:inline-flex}.autosave-badge i{background:#48a47e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #48a47e1f}.person-cell{gap:10px;padding:10px 12px;overflow:hidden}.person-info{flex:1;min-width:0}.person-name{flex-direction:column;align-items:flex-start;gap:5px;min-width:0;display:flex}.person-name>strong,.person-role{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.cert-badge{white-space:nowrap;background:#eef5f1;border-radius:6px;align-items:center;gap:4px;max-width:100%;padding:3px 6px;font-weight:700;line-height:1;color:#467162!important;margin:0!important;font-size:8px!important;display:inline-flex!important}.cert-badge b{color:#2d735e;font-size:8px}.cert-badge.cert-missing{background:#fff0e8;color:#b45c34!important}.cert-badge.cert-missing b{color:#b45c34}.mobile-week-board{display:none}@media (max-width:700px){.week-toolbar{gap:12px}.toolbar-actions{align-items:center;gap:8px;display:flex!important}.view-toggle{min-width:0}.view-toggle button{padding:8px 7px;font-size:11px}.autosave-badge{padding:8px;font-size:9px}.schedule-heading h2{font-size:14px}.mobile-week-board{background:#f5f7f5;gap:10px;padding:12px;display:grid}.mobile-week-card{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 5px 16px #1d30290a}.mobile-week-card>header{border-bottom:1px solid var(--line);background:#fbfcfa;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.mobile-week-person{align-items:center;gap:9px;min-width:0;display:flex}.mobile-week-person>div{min-width:0}.mobile-week-person strong,.mobile-week-person small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mobile-week-person strong{font-size:12px}.mobile-week-person small{max-width:125px;color:var(--muted);margin-top:3px;font-size:8px}.mobile-week-meta{flex-direction:column;flex:none;align-items:flex-end;gap:5px;display:flex}.mobile-week-meta>strong{font-size:10px}.mobile-week-meta .cert-badge{font-size:8px!important}.mobile-week-shifts{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.mobile-week-shifts button{text-align:left;cursor:pointer;background:#fff;border:0;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;min-height:68px;padding:9px 11px;display:flex}.mobile-week-shifts button:last-child:nth-child(odd){grid-column:1/-1}.mobile-week-shifts button span,.mobile-week-shifts button strong,.mobile-week-shifts button small{display:block}.mobile-week-shifts button span{color:var(--muted);font-size:8px}.mobile-week-shifts button strong{color:var(--ink);margin-top:5px;font-size:11px}.mobile-week-shifts button small{color:var(--muted);margin-top:4px;font-size:8px}.mobile-week-shifts button.training{box-shadow:inset 3px 0 #a28dc5}.mobile-week-shifts button.health-blocked{background:#fff6f1}.mobile-week-shifts button.health-blocked strong,.mobile-week-shifts button.health-blocked small{color:#b96943}}.x3-badge{color:#fff;vertical-align:middle;background:#d95732;border-radius:999px;justify-content:center;align-items:center;margin-left:5px;padding:2px 5px;font-size:8px;font-style:normal;font-weight:900;line-height:1.2;display:inline-flex}.calendar-system{gap:18px;min-width:0;display:grid}.calendar-overview{border:1px solid var(--line);color:#fff;background:linear-gradient(135deg,#173d31,#295f4d);border-radius:18px;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px;display:flex}.calendar-overview span{color:#aed0c1;font-size:11px;font-weight:800}.calendar-overview h2{margin:5px 0 8px;font-size:24px}.calendar-overview p{color:#dceae4;max-width:760px;margin:0;font-size:12px;line-height:1.7}.calendar-sync-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.calendar-sync-actions .secondary-button{color:#fff;background:#ffffff12;border-color:#fff4}.calendar-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.calendar-status-grid article{border:1px solid var(--line);background:#fff;border-radius:14px;gap:6px;padding:15px 16px;display:grid}.calendar-status-grid article.warning{background:#fff8f3;border-color:#ecd0bd}.calendar-status-grid span,.calendar-status-grid small{color:var(--muted);font-size:10px}.calendar-status-grid strong{font-size:12px}.calendar-year{gap:12px;display:grid}.calendar-year>header{justify-content:space-between;align-items:end;display:flex}.calendar-year h2{margin:0;font-size:21px}.calendar-year>header span{color:var(--muted);font-size:11px}.calendar-months{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.calendar-month{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;padding:14px;box-shadow:0 8px 25px #173b3007}.calendar-month h3{margin:0 0 11px;font-size:14px}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{color:var(--muted);text-align:center;padding:5px 2px;font-size:9px;font-weight:800}.calendar-day{min-width:0;min-height:74px;color:var(--ink);font:inherit;text-align:left;background:#fff;border:0 solid #e7ece9;border-width:1px 0 0 1px;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 5px;display:flex;position:relative;overflow:hidden}.calendar-day:nth-child(7n){border-right:1px solid #e7ece9}.calendar-day.empty{background:0 0;border-color:#0000}.calendar-day:not(.empty){cursor:pointer}.calendar-day:not(.empty):hover{z-index:1;background:#f5faf7;border-color:#7ca896}.calendar-day.holiday{background:#fff6f0}.calendar-day.workday{background:#f1f4f3}.calendar-day.triple{box-shadow:inset 0 3px #d95732}.calendar-day.today{outline-offset:-2px;outline:2px solid #2c745e}.calendar-date-number{align-items:center;font-size:11px;font-weight:850;display:flex}.calendar-day em,.calendar-day small,.calendar-event{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.calendar-day em{color:#bb5939;font-size:8px;font-style:normal;font-weight:800}.calendar-day small{color:#708079;font-size:7px}.calendar-weather{color:#376a91!important}.calendar-event{color:#315d4c;background:#e8f3ee;border-radius:4px;width:100%;padding:2px 4px;font-size:7px;font-style:normal}.calendar-event.orange{color:#a85b2f;background:#fff0e5}.calendar-event.blue{color:#355ba8;background:#e9f0ff}.calendar-event.violet{color:#705692;background:#f0eafa}.calendar-event.more{color:#65736d;background:#f1f3f2}.calendar-editor{width:min(760px,100%)}.calendar-editor .modal-body{grid-template-columns:.8fr 1.2fr;gap:16px;display:grid}.calendar-editor-section{border:1px solid var(--line);border-radius:13px;padding:15px}.calendar-editor-section h3{margin:0;font-size:14px}.calendar-editor-section>p{color:var(--muted);margin:6px 0;font-size:10px;line-height:1.5}.calendar-editor .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;display:grid}.calendar-editor .span-two{grid-column:1/-1}.calendar-editor textarea{border:1px solid var(--line);resize:vertical;width:100%;min-height:76px;font:inherit;border-radius:10px;margin-top:6px;padding:10px 11px}@media (max-width:1100px){.calendar-months,.calendar-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.calendar-system{gap:12px}.calendar-overview{padding:16px;display:grid}.calendar-overview h2{font-size:19px}.calendar-sync-actions{justify-content:flex-start}.calendar-status-grid{grid-template-columns:1fr 1fr;gap:8px}.calendar-status-grid article{padding:11px}.calendar-months{grid-template-columns:1fr}.calendar-year>header{flex-direction:column;align-items:start;gap:3px}.calendar-month{padding:10px}.calendar-day{min-height:68px;padding:5px 3px}.calendar-day .x3-badge{margin-left:2px;padding:1px 3px;font-size:6px}.calendar-editor .modal-body{display:block}.calendar-editor-section{margin-bottom:12px}.calendar-editor .form-grid{grid-template-columns:1fr}.calendar-editor .span-two{grid-column:auto}}.payroll-hour-note{color:#52675e;background:#f2f6f4;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:10px;font-weight:750}.snapshot-badge{color:#2d735e;background:#e8f3ee;border-radius:999px;padding:6px 9px;font-size:9px}.payroll-assessment-card h4{margin:18px 0 10px}.daily-assessment-list{gap:7px;display:grid}.daily-assessment-list>div{grid-template-columns:minmax(150px,1.5fr) 100px 100px 110px 36px;gap:8px;display:grid}.daily-assessment-list input,.daily-assessment-list select,.fixed-assessment-grid input,.fixed-assessment-grid select,.formal-save-row input,.salary-standard-table input,.rule-form-grid input,.qsc-rule-table input{border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:9px 10px}.fixed-assessment-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.fixed-assessment-grid>label{color:#52675e;gap:6px;font-size:10px;font-weight:800;display:grid}.fixed-assessment-grid small{color:var(--muted);font-size:8px;line-height:1.45}.qsc-input{gap:6px;display:grid}.qsc-input label{align-items:center;gap:6px;font-size:8px;display:flex}.formal-save-row{border-top:1px solid var(--line);align-items:end;gap:10px;margin-top:18px;padding-top:16px;display:flex}.formal-save-row label{color:#52675e;gap:6px;min-width:180px;font-size:9px;font-weight:800;display:grid}.formal-save-row label:nth-child(2){flex:1}.payroll-detail-table{min-width:1380px}.payroll-detail-table td strong,.payroll-detail-table td small{display:block}.payroll-detail-table td small{color:var(--muted);margin-top:3px;font-size:8px}.payroll-assessment-modal{width:min(900px,100%)}.assessment-impact{background:#f4faf7;border:1px solid #d6e7df;border-radius:12px;grid-template-columns:1fr auto;gap:5px 12px;margin-bottom:16px;padding:14px;display:grid}.assessment-impact span{color:#527065;font-size:9px;font-weight:800}.assessment-impact strong{color:#194d3b;grid-area:1/2/3;align-self:center;font-size:22px}.assessment-impact small{color:var(--muted);font-size:8px}.salary-standard-card{grid-column:1/-1}.salary-standard-table{min-width:1250px}.salary-standard-table input{width:96px}.salary-standard-table input:disabled{color:#9aa49f;background:#f3f5f4}.version-diff{border:1px solid var(--line);background:#fbfcfb;border-radius:10px;gap:5px;margin-top:14px;padding:12px;display:grid}.version-diff strong{font-size:10px}.version-diff span{color:#617269;font-size:9px}.rule-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.rule-form-grid label{color:#52675e;align-items:center;gap:8px;font-size:10px;font-weight:800;display:flex}.rule-form-grid input{flex:1}.qsc-rule-table{border:1px solid var(--line);border-radius:11px;margin-top:15px;display:grid;overflow:hidden}.qsc-rule-table>div{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:12px;padding:9px 12px;display:grid}.qsc-rule-table>div:last-child{border-bottom:0}.qsc-rule-table>div:first-child{background:#eef3f0}.qsc-rule-table span{align-items:center;gap:7px;font-size:9px;display:flex}.qsc-rule-table input{width:90px}.version-history{gap:8px;display:grid}.version-history>div{border:1px solid var(--line);border-radius:9px;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.version-history span{color:var(--muted);font-size:9px}@media (max-width:700px){.schedule-day-actions{flex-direction:column;align-items:stretch}.triple-pay-toggle{justify-content:center}.triple-pay-toggle.compact{padding:2px 3px;font-size:6px}.daily-assessment-list>div{grid-template-columns:1fr 72px}.daily-assessment-list>div>:nth-child(3),.daily-assessment-list>div>:nth-child(4){grid-column:auto}.fixed-assessment-grid{grid-template-columns:1fr}.formal-save-row{flex-direction:column;align-items:stretch}.formal-save-row label{min-width:0}.formal-save-row button{width:100%}.payroll-assessment-modal{height:100dvh;max-height:100dvh}.rule-form-grid,.qsc-rule-table>div{grid-template-columns:1fr}.qsc-rule-table input{width:76px}}.human-efficiency-page{gap:16px;display:grid}.human-efficiency-summary{margin-bottom:0}.human-efficiency-table .actual-shift{color:#285e4b;cursor:default;background:#f0f7f3}.human-efficiency-table .actual-shift:before{background:#75aa95}.human-efficiency-day-actions{border-bottom:1px solid var(--line);background:#f8fbf9;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.human-efficiency-day-actions strong,.human-efficiency-day-actions span{display:block}.human-efficiency-day-actions strong{font-size:12px}.human-efficiency-day-actions span{color:var(--muted);margin-top:4px;font-size:9px}.human-efficiency-records{overflow:auto}.human-efficiency-record{color:#52635b;border-bottom:1px solid #edf0ee;grid-template-columns:1.1fr .9fr 1.3fr .7fr .7fr;align-items:center;gap:12px;min-width:720px;padding:11px 16px;font-size:10px;display:grid}.human-efficiency-record.head{color:#52675e;background:#eef4f1;font-size:9px;font-weight:800}.human-efficiency-record>span:first-child{color:var(--ink);align-items:center;gap:8px;display:flex}.human-efficiency-record .avatar{border-radius:8px;flex-basis:27px;width:27px;height:27px;font-size:9px;font-style:normal}.human-efficiency-record strong{color:var(--ink);text-align:right}.human-efficiency-nc-list{background:#fbfcfa;gap:8px;padding:15px 16px;display:grid}.human-efficiency-nc-list h3{margin:0 0 2px;font-size:12px}.human-efficiency-nc-list>button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:1px solid #e4ebe7;border-radius:9px;grid-template-columns:100px 90px minmax(0,1fr);align-items:center;gap:10px;padding:10px 11px;display:grid}.human-efficiency-nc-list>button:disabled{cursor:default}.human-efficiency-nc-list>button span{color:#725591;font-size:9px;font-weight:800}.human-efficiency-nc-list>button strong{font-size:10px}.human-efficiency-nc-list>button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.human-efficiency-nc-actions{flex:none;align-items:center;gap:8px;display:flex}.human-efficiency-table .triple-pay-record,.human-efficiency-record.triple-pay-record{color:#8a5c17;background:#fff7e8}.human-efficiency-table .triple-pay-record:before{background:#df9d34}.human-efficiency-table .salary-missing-record,.human-efficiency-record.salary-missing-record{color:#a14337;background:#fff1ef}.human-efficiency-table .salary-missing-record:before{background:#d96859}@media (max-width:700px){.human-efficiency-page{gap:10px}.human-efficiency-day-actions{align-items:flex-start}.human-efficiency-day-actions span{max-width:235px}.human-efficiency-nc-list>button{grid-template-columns:78px 76px minmax(0,1fr);gap:7px}.human-efficiency-record{min-width:650px;padding:10px 12px}}.employee-modal .salary-layer-display{display:none}.salary-page{gap:18px;min-width:0;display:grid}.salary-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.salary-heading h2{margin:4px 0 6px}.salary-heading p{color:var(--muted);margin:0}.salary-tabs{border:1px solid var(--line);background:#fff;border-radius:14px;gap:6px;padding:5px;display:flex}.salary-tabs button{color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;padding:10px 14px;font-weight:750}.salary-tabs button.active{background:var(--green);color:#fff}.salary-toolbar{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:14px;align-items:end;gap:18px;padding:14px 16px;font-size:12px;display:flex}.salary-toolbar label,.salary-page label{color:#52675e;gap:6px;font-size:12px;font-weight:750;display:grid}.salary-toolbar input,.salary-page input,.salary-page select,.salary-page textarea{border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:10px 11px}.salary-page textarea{resize:vertical}.salary-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.salary-summary-grid article{border:1px solid var(--line);background:#fff;border-radius:16px;gap:7px;padding:17px;display:grid;box-shadow:0 8px 24px #173b3007}.salary-summary-grid article span,.salary-summary-grid article small{color:var(--muted);font-size:12px}.salary-summary-grid article strong{color:var(--ink);font-size:24px}.salary-columns{grid-template-columns:1fr 1fr;gap:18px;display:grid}.management-card{min-width:0}.salary-page .management-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 30px #173b3009}.salary-page .section-title{margin-bottom:14px}.salary-page .section-title h3{margin:0 0 5px;font-size:16px}.salary-page .section-title p{color:var(--muted);margin:0;font-size:12px}.salary-badge,.salary-chip{color:#315d4c;white-space:nowrap;background:#e9f4ef;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:750}.salary-component-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.salary-component-grid div{background:#f5f8f6;border-radius:12px;padding:12px}.salary-component-grid span,.salary-component-grid strong{display:block}.salary-component-grid span{color:var(--muted);font-size:11px}.salary-component-grid strong{margin-top:5px;font-size:14px}.promotion-card{background:#f7fbf8;border:1px solid #d8e8df;border-radius:14px;padding:15px}.promotion-card strong{font-size:15px}.promotion-card p{color:#3e5d50;white-space:pre-wrap;margin:10px 0}.promotion-card small{color:var(--muted)}.salary-table-wrap{border:1px solid var(--line);border-radius:13px;overflow:auto}.salary-table{border-collapse:collapse;width:100%;min-width:650px;font-size:12px}.salary-table th,.salary-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf1ef;padding:11px 12px}.salary-table th{color:#52675e;background:#f3f7f5;font-weight:800}.salary-table tr:last-child td{border-bottom:0}.salary-table td[colspan]{text-align:center;color:var(--muted);padding:24px}.salary-table-wrap.compact{margin-top:15px}.salary-table-wrap.compact .salary-table{min-width:0}.standard-chip-list{flex-wrap:wrap;gap:8px;display:flex}.standard-chip-list span{color:#45675a;background:#f1f6f3;border-radius:999px;padding:7px 10px;font-size:11px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.settings-grid>.management-card:first-child{grid-column:1/-1}.settings-grid .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.settings-grid .primary-button{margin-top:12px}.code-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.empty-state{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:15px;justify-items:center;gap:10px;padding:34px;display:grid}.empty-state strong{color:var(--ink)}.salary-refreshing{color:#fff;background:#244f43;border-radius:999px;padding:9px 12px;font-size:11px;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 20px #173b3033}.salary-disclaimer{color:var(--muted);background:#f5f7f5;border-radius:10px;margin:14px 0 0;padding:10px 11px;font-size:11px;line-height:1.5}.assumption-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.assumption-list label{border:1px solid var(--line);background:#fbfcfa;border-radius:12px;padding:12px}.assumption-list label span{color:var(--ink);font-size:13px;display:block}.assumption-list select{width:100%;margin-top:7px}.salary-layer-display{background:#f3f7f5;border-radius:10px;margin-top:13px;padding:12px}.salary-layer-display span,.salary-layer-display strong,.salary-layer-display small{display:block}.salary-layer-display span{color:var(--muted);font-size:10px}.salary-layer-display strong{margin-top:4px;font-size:13px}.salary-layer-display small{color:var(--muted);margin-top:4px;font-size:9px}@media (max-width:900px){.salary-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.salary-columns,.settings-grid{grid-template-columns:1fr}.settings-grid>.management-card:first-child{grid-column:auto}}@media (max-width:600px){.salary-heading{display:grid}.salary-tabs{overflow:auto}.salary-toolbar{flex-direction:column;align-items:stretch;gap:9px}.salary-summary-grid{grid-template-columns:1fr 1fr}.salary-summary-grid article{padding:13px}.salary-summary-grid article strong{font-size:19px}.salary-component-grid{grid-template-columns:repeat(2,1fr)}.settings-grid .form-grid{grid-template-columns:1fr}.salary-page .management-card{padding:14px}}.attendance-page{gap:16px;display:grid}.attendance-head{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.attendance-head h2{letter-spacing:-.03em;margin:4px 0 0;font-size:24px}.attendance-head p{max-width:720px;color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.55}.attendance-range{align-items:center;gap:7px;display:flex}.attendance-range>button:not(.today-button){border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;width:36px;height:36px;font-size:20px}.attendance-range label{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:5px;padding:6px 9px;display:flex}.attendance-range label span{color:var(--muted);font-size:8px;font-weight:700}.attendance-range input{color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:11px;font-weight:700}.attendance-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-tabs,.attendance-modes{border:1px solid var(--line);background:#fff;border-radius:12px;gap:4px;padding:4px;display:flex}.attendance-tabs button,.attendance-modes button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-size:10px;font-weight:800}.attendance-tabs button.active,.attendance-modes button.active{background:var(--green);color:#fff;box-shadow:0 5px 14px #183c3120}.attendance-punch-card,.attendance-list-card,.attendance-detail,.attendance-summary article{border:1px solid var(--line);background:#fff;border-radius:17px;box-shadow:0 10px 35px #1d30290d}.attendance-punch-card{padding:20px}.attendance-state{align-items:center;gap:13px;display:flex}.attendance-state-mark{color:#6e7e76;background:#eef2f0;border-radius:13px;place-items:center;width:42px;height:42px;font-size:13px;font-weight:900;display:grid}.attendance-state-mark.working{color:#a55e2d;background:#fff0df}.attendance-state-mark.done{color:#2d735e;background:#e7f3ec}.attendance-state>div>span,.attendance-state>div>strong,.attendance-state>div>small{display:block}.attendance-state>div>span{color:var(--muted);font-size:9px}.attendance-state>div>strong{margin-top:3px;font-size:17px}.attendance-state>div>small{color:var(--muted);margin-top:5px;font-size:8px}.attendance-action-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;display:grid}.attendance-big-button{color:#205e48;text-align:left;cursor:pointer;background:#eaf5ef;border:1px solid #c6dfd3;border-radius:14px;min-height:104px;padding:16px}.attendance-big-button.secondary{color:#3e5149;background:#f7faf8;border-color:#dce4e0}.attendance-big-button:disabled{opacity:.5;cursor:not-allowed}.attendance-big-button strong,.attendance-big-button small{display:block}.attendance-big-button strong{font-size:15px}.attendance-big-button small{color:inherit;margin-top:8px;font-size:9px}.attendance-location-message{color:#356956;margin:14px 0 0;font-size:9px;font-weight:800}.attendance-rule-note{color:var(--muted);margin-top:9px;font-size:8px;line-height:1.5}.attendance-summary{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.attendance-summary article{padding:14px 16px}.attendance-summary span,.attendance-summary strong{display:block}.attendance-summary span{color:var(--muted);font-size:9px;font-weight:700}.attendance-summary strong{margin-top:7px;font-size:18px}.attendance-summary strong small{font-size:9px;font-weight:700;display:inline}.attendance-list-card{overflow:hidden}.attendance-list-card>header{border-bottom:1px solid var(--line);background:#fbfcfa;justify-content:space-between;align-items:center;gap:18px;padding:17px 19px;display:flex}.attendance-list-card h3{margin:0;font-size:14px}.attendance-list-card header p{color:var(--muted);margin:5px 0 0;font-size:9px}.attendance-list-card header>span{color:var(--muted);font-size:9px}.attendance-table-wrap{overflow:auto}.attendance-table{grid-template-columns:1.15fr 1fr 1.1fr 1fr 120px;align-items:center;min-width:820px;display:grid}.attendance-table>*{padding:11px 14px}.attendance-table-head{color:#52635b;background:#eef3f0;font-size:9px;font-weight:800}.attendance-table-row{text-align:left;width:100%;font:inherit;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0ee}.attendance-table-row:hover,.attendance-table-row.selected{background:#f5faf7}.attendance-table-row>span{font-size:9px}.attendance-table-row>span:first-child strong,.attendance-table-row>span:first-child small{display:block}.attendance-table-row>span:first-child strong{font-size:10px}.attendance-table-row>span:first-child small{color:var(--muted);margin-top:4px;font-size:8px}.attendance-table-row em{color:#a25b28;background:#fff0df;border-radius:5px;width:max-content;margin-top:4px;padding:3px 5px;font-size:7px;font-style:normal;font-weight:800;display:block}.attendance-status{border-radius:7px;width:max-content;padding:5px 7px;font-size:8px;font-weight:800}.attendance-status.good{color:#2d735e;background:#e8f3ed}.attendance-status.ready{color:#41689c;background:#eaf0fb}.attendance-status.bad{color:#a74736;background:#ffebe5}.attendance-status.warn{color:#a25b28;background:#fff1df}.attendance-status.muted{color:#78847e;background:#f0f3f1}.attendance-detail{padding:18px}.attendance-detail>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.attendance-detail>header span{color:var(--muted);font-size:8px;font-weight:800}.attendance-detail>header h3{margin:4px 0 0;font-size:16px}.attendance-detail>header p{color:var(--muted);margin:6px 0 0;font-size:9px}.attendance-detail>header>strong{color:#356956;background:#eef3f0;border-radius:7px;padding:6px 8px;font-size:9px}.attendance-detail-grid{grid-template-columns:repeat(3,1fr);gap:18px;padding-top:17px;display:grid}.attendance-detail-grid>div{align-content:start;gap:9px;display:grid}.attendance-detail h4{margin:0 0 2px;font-size:11px}.attendance-detail label{color:#596861;font-size:8px;font-weight:800}.attendance-detail input,.attendance-detail textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:9px;margin-top:5px;padding:9px;font-size:9px}.attendance-detail textarea{resize:vertical}.attendance-detail button{width:100%;padding:9px}.attendance-calculation{color:var(--muted);background:#f4f8f6;border-radius:9px;margin:0;padding:10px;font-size:8px;line-height:1.8}.attendance-calculation strong{color:var(--ink);font-size:10px}.attendance-sign-button{background:#2e6996!important}.attendance-reason{margin-top:17px;display:block}.attendance-audits{border-top:1px solid var(--line);margin-top:17px;padding-top:14px}.attendance-audits h4{margin-bottom:8px}.attendance-audits>div{border-top:1px solid #edf0ee;grid-template-columns:1fr 1.5fr auto;gap:8px;padding:8px 0;font-size:8px;display:grid}.attendance-audits time{color:var(--muted)}@media (max-width:700px){.attendance-head{display:block}.attendance-head h2{font-size:20px}.attendance-range{margin-top:14px}.attendance-range label{flex:1}.attendance-range input{width:100%;min-width:0}.attendance-toolbar{flex-direction:column;align-items:stretch}.attendance-tabs,.attendance-modes{width:100%}.attendance-tabs button,.attendance-modes button{flex:1}.attendance-action-grid,.attendance-detail-grid{grid-template-columns:1fr}.attendance-summary{grid-template-columns:1fr 1fr;gap:8px}.attendance-summary article{padding:12px}.attendance-list-card>header{align-items:flex-start}.attendance-detail{padding:14px}.attendance-detail>header{display:block}.attendance-detail>header>strong{margin-top:10px;display:inline-block}.attendance-audits>div{grid-template-columns:1fr}.attendance-audits time{grid-column:1}}.attendance-table-row em.adjusted{color:#2d735e;background:#e7f3ed}.attendance-rule-banner{background:#f4f9f6;border:1px solid #d7e5de;border-radius:10px;align-items:flex-start;gap:12px;margin-top:14px;padding:11px 13px;display:flex}.attendance-rule-banner strong{color:#2f6954;flex:none;font-size:9px}.attendance-rule-banner span{color:#65766e;font-size:8px;line-height:1.6}.attendance-adjustment-toggle{cursor:pointer;background:#fff9ea;border:1px solid #e4d7b8;border-radius:9px;align-items:flex-start;gap:9px;padding:10px;display:flex!important}.attendance-adjustment-toggle input{flex:none;width:auto!important;margin:2px 0 0!important;padding:0!important}.attendance-adjustment-toggle span,.attendance-adjustment-toggle strong,.attendance-adjustment-toggle small{display:block}.attendance-adjustment-toggle strong{color:#7b602b;font-size:9px}.attendance-adjustment-toggle small{color:#8a7750;margin-top:4px;font-size:7px;font-weight:500;line-height:1.45}.attendance-duration-input{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:end;gap:7px;display:grid}.attendance-duration-input>span{color:var(--muted);padding-bottom:9px;font-size:8px;font-weight:800}.attendance-duration-input input{text-align:center}.attendance-detail button:disabled{cursor:not-allowed;opacity:.55}.attendance-batch-sign{background:#f2f8f5;border:1px solid #c8ddd4;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;padding:14px 17px;display:flex}.attendance-batch-sign>div strong,.attendance-batch-sign>div span{display:block}.attendance-batch-sign>div strong{font-size:11px}.attendance-batch-sign>div span{color:var(--muted);margin-top:5px;font-size:8px;line-height:1.5}.attendance-batch-sign button{color:#fff;font:inherit;cursor:pointer;background:#2e6996;border:0;border-radius:9px;flex:none;padding:10px 14px;font-size:9px;font-weight:800}.attendance-batch-sign button:disabled{opacity:.5;cursor:not-allowed}.attendance-batch-sign.blocked{background:#fff9ec;border-color:#eadab5}.attendance-batch-sign.blocked>div strong{color:#8a672e}.attendance-confirm-reason-modal{width:min(460px,100%)}.attendance-confirm-reason-modal textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;resize:vertical;background:#fff;border-radius:10px;margin-top:6px;padding:10px 11px}.attendance-confirm-reason-summary{background:#f4f9f6;border:1px solid #d7e5de;border-radius:12px;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:13px;display:grid}.attendance-confirm-reason-summary div{gap:4px;display:grid}.attendance-confirm-reason-summary span{color:var(--muted);font-size:9px}.attendance-confirm-reason-summary strong{font-size:14px}.attendance-confirm-reason-summary b{color:#6c8178;font-size:16px}.attendance-confirm-reason-note{color:var(--muted);margin:13px 0 0;font-size:9px;line-height:1.55}.attendance-confirm-reason-modal .modal-actions button{width:auto}@media (max-width:700px){.attendance-rule-banner{flex-direction:column;gap:5px}.attendance-duration-input{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto}.attendance-batch-sign{flex-direction:column;align-items:stretch}.attendance-batch-sign button{width:100%}}.attendance-batch-confirm{background:#f2f8f5;border:1px solid #c8ddd4;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;padding:14px 17px;display:flex}.attendance-batch-confirm>div:first-child strong,.attendance-batch-confirm>div:first-child span{display:block}.attendance-batch-confirm>div:first-child strong{font-size:11px}.attendance-batch-confirm>div:first-child span{color:var(--muted);margin-top:5px;font-size:8px;line-height:1.5}.attendance-batch-confirm>div:last-child{flex:none;gap:8px;display:flex}.attendance-batch-confirm button{padding:9px 12px}.attendance-row-group>header{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f7f9f8;justify-content:space-between;align-items:center;gap:14px;padding:11px 19px;display:flex}.attendance-row-group:first-of-type>header{border-top:0}.attendance-row-group>header div strong,.attendance-row-group>header div span{display:block}.attendance-row-group>header div strong{font-size:10px}.attendance-row-group>header div span{color:var(--muted);margin-top:3px;font-size:8px}.attendance-row-group>header b{color:#5d7168;font-size:8px}.attendance-table.selectable{grid-template-columns:54px 1.15fr 1fr 1.35fr 1.15fr 130px;min-width:940px}.attendance-table-row{appearance:none}.attendance-table-row:focus-visible{outline-offset:-2px;outline:2px solid #78a895}.attendance-table-row.unconfirmed{box-shadow:inset 3px 0 #e6a65c}.attendance-table-row.confirmed{color:#52635b;background:#f4f8f6}.attendance-table-row.confirmed:hover,.attendance-table-row.confirmed.selected{background:#edf5f1}.attendance-row-check{place-items:center;display:grid}.attendance-row-check input{width:16px;height:16px;accent-color:var(--green);cursor:pointer;margin:0}.attendance-row-check input:disabled{cursor:not-allowed}.attendance-table-row>span:first-of-type:not(.attendance-row-check) strong,.attendance-table-row>span:first-of-type:not(.attendance-row-check) small,.attendance-table-row.selectable>span:nth-child(2) strong,.attendance-table-row.selectable>span:nth-child(2) small{display:block}.attendance-table-row.selectable>span:nth-child(2) strong{font-size:10px}.attendance-table-row.selectable>span:nth-child(2) small{color:var(--muted);margin-top:4px;font-size:8px}.attendance-flag-list{flex-wrap:wrap;align-items:center;gap:4px;margin-top:5px;display:flex}.attendance-table-row .attendance-flag-list em{margin:0;display:inline-block}.attendance-flag-list em.late,.attendance-flag-list em.early{color:#a25b28;background:#fff0df}.attendance-flag-list em.absence{color:#a74736;background:#ffebe5}.attendance-flag-list em.leave{color:#41689c;background:#eaf0fb}.attendance-flag-list em.adjusted{color:#2d735e;background:#e7f3ed}.attendance-flag-list small{color:#78847e;font-size:7px}.attendance-row-status{justify-items:start;gap:5px;display:grid}.attendance-row-status small{color:var(--muted);font-size:7px}.confirmed-work{color:#2d735e;font-size:9px;display:inline}.attendance-detail>header>strong.confirmed{color:#1f6b50;background:#dff0e7}.attendance-flags-panel{background:#fafcfb;border:1px solid #dbe4df;border-radius:12px;grid-template-columns:minmax(190px,1fr) minmax(300px,2fr) auto;align-items:center;gap:12px;margin-top:14px;padding:13px;display:grid}.attendance-flags-panel h4{margin:0}.attendance-flags-panel p{color:var(--muted);margin:5px 0 0;font-size:8px;line-height:1.45}.attendance-flag-editor{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.attendance-flag-editor label{cursor:pointer;background:#fff;border:1px solid #dce4e0;border-radius:9px;align-items:center;gap:5px;margin:0;padding:7px 9px;display:flex}.attendance-flag-editor label.active.late,.attendance-flag-editor label.active.early{color:#965a25;background:#fff5e8;border-color:#e7c599}.attendance-flag-editor label.active.absence{color:#9b4031;background:#fff0ec;border-color:#e6aea2}.attendance-flag-editor label.active.leave{color:#385f91;background:#eef4fc;border-color:#b8c9e2}.attendance-flag-editor input{width:14px;accent-color:var(--green);margin:0;padding:0}.attendance-flag-editor span{font-size:9px}.attendance-flag-editor small{color:#6b7a73;background:#edf1ef;border-radius:4px;padding:2px 4px;font-size:7px}.attendance-flags-panel>button{white-space:nowrap;width:auto}.attendance-flags-overridden{color:#66776f;grid-column:2/-1;font-size:7px}.attendance-punch-comparison{color:#5b6f66;background:#f1f8f5;border:1px solid #cddfd7;border-radius:9px;gap:5px;padding:10px;font-size:8px;line-height:1.35;display:grid}.attendance-punch-comparison>strong{color:#2f6954;font-size:9px}.attendance-punch-comparison span{justify-content:space-between;gap:8px;display:flex}.attendance-punch-comparison b{color:var(--ink)}.attendance-live-work-hint{background:#eaf5ef;border:1px solid #b9d7ca;border-radius:10px;gap:4px;padding:11px 12px;display:grid}.attendance-live-work-hint span{color:#477363;font-size:8px;font-weight:800}.attendance-live-work-hint strong{color:#174d3b;font-size:18px;line-height:1.1}.attendance-live-work-hint small{color:#5f776d;font-size:7px;line-height:1.5}.attendance-live-work-hint.incomplete{background:#f5f7f6;border-color:#dce4e0}.attendance-live-work-hint.incomplete strong{color:#77857f}.attendance-admin-edit-summary{background:#f4f9f6;border:1px solid #d7e5de;border-radius:11px;gap:4px;padding:12px;display:grid}.attendance-admin-edit-summary span{color:var(--muted);font-size:8px}.attendance-admin-edit-summary strong{font-size:13px}.attendance-admin-edit-summary small{color:#65766e;margin-top:3px;font-size:8px;line-height:1.5}@media (max-width:700px){.attendance-batch-confirm{flex-direction:column;align-items:stretch}.attendance-batch-confirm>div:last-child{grid-template-columns:1fr 1fr;display:grid}.attendance-batch-confirm button{width:100%}.attendance-row-group>header{align-items:flex-start}.attendance-row-group>header b{text-align:right}.attendance-flags-panel{grid-template-columns:1fr}.attendance-flags-panel>button{width:100%}.attendance-flags-overridden{grid-column:1}.attendance-flag-editor{grid-template-columns:1fr 1fr;display:grid}.attendance-flag-editor label{justify-content:center}}@media (max-width:380px){.toolbar-actions{display:flex!important}.autosave-badge{font-size:0}.autosave-badge i{margin:0}.mobile-week-shifts{grid-template-columns:1fr}.mobile-week-shifts button:last-child:nth-child(odd){grid-column:auto}.mobile-week-meta .cert-badge b{display:none}}@media (max-width:700px){.table-scroller{-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-x:auto}.schedule-table{display:block}.mobile-week-board{display:none!important}}.schedule-table{min-width:1280px}.table-row{grid-template-columns:220px repeat(7,minmax(130px,1fr)) 94px;min-height:88px}.table-head{min-height:102px}.table-head>div{align-items:flex-start}.table-head em{font-style:normal}.holiday-tag{border-radius:6px;margin-top:5px;padding:3px 6px;font-size:8px;font-weight:800;line-height:1;display:inline-flex}.holiday-tag.holiday{color:#b75730;background:#fff0e8}.holiday-tag.workday{color:#705692;background:#eee9f6}.training-balance{font-weight:700;color:#6e5a91!important;margin-top:5px!important;font-size:8px!important;display:block!important}.daily-summary-row{background:#f7faf8;border-top:2px solid #d8e5df;min-height:118px}.summary-label,.daily-summary,.week-summary{flex-direction:column;justify-content:center;padding:12px;display:flex}.summary-label strong{font-size:12px}.summary-label small{color:var(--muted);margin-top:5px;font-size:8px}.daily-summary{gap:6px}.daily-summary span{color:var(--muted);white-space:nowrap;justify-content:space-between;align-items:center;gap:6px;font-size:8px;display:flex}.daily-summary b{color:var(--ink);font-size:9px}.week-summary{text-align:center;align-items:center;gap:6px}.week-summary strong{font-size:14px}.week-summary span{color:var(--muted);font-size:8px}.training-choice{align-items:flex-start!important}.training-choice span,.training-choice strong,.training-choice small{display:block}.training-choice strong{color:var(--ink);font-size:10px}.training-choice small{color:var(--muted);margin-top:3px;font-size:8px;font-weight:500}.training-account{background:#f5f1fa;border:1px solid #ddd5eb;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:13px;padding:12px;display:flex}.training-account span{color:#766293;font-size:9px;font-weight:700}.training-account strong{color:#5f497e;text-align:right;font-size:10px}.holiday-tag.solar-term{color:#287057;background:#e9f5ee}.holiday-tag.normal{color:#89958f;background:#f1f3f2}.day-selector button{min-height:74px}.day-reminder{color:#8b9791;white-space:nowrap;margin-top:5px;font-size:7px;font-style:normal;font-weight:700;display:block}.day-reminder.holiday{color:#b75730}.day-reminder.workday{color:#705692}.day-reminder.solar-term{color:#287057}.day-selector button.selected .day-reminder{color:#dce9e4}.sales-history-page{gap:16px;display:grid}.sales-page-head{justify-content:space-between;align-items:flex-end;gap:22px;display:flex}.sales-page-head h2{letter-spacing:-.03em;margin:4px 0 0;font-size:24px}.sales-page-head p{max-width:680px;color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.55}.sales-date-switch{align-items:center;gap:7px;display:flex}.sales-date-switch>button:not(.today-button){border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;width:36px;height:36px;font-size:20px}.sales-date-switch label{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:6px 9px;display:flex}.sales-date-switch label span{color:var(--muted);font-size:8px;font-weight:700}.sales-date-switch input{color:var(--ink);background:0 0;border:0;outline:0;font-size:11px;font-weight:700}.sales-date-line{border:1px solid var(--line);background:#fbfcfa;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.sales-date-line strong{font-size:12px}.sales-date-line span{color:#2d735e;background:#eaf3ee;border-radius:7px;padding:5px 8px;font-size:9px;font-weight:800}.sales-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.sales-overview article{border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px 16px}.sales-overview span,.sales-overview strong,.sales-overview small{display:block}.sales-overview span{color:var(--muted);font-size:9px;font-weight:700}.sales-overview strong{margin-top:7px;font-size:20px}.sales-overview small{color:#85928c;margin-top:5px;font-size:8px}.sales-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.sales-slots>button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:14px;padding:14px 15px;transition:all .15s}.sales-slots>button:hover{border-color:#a8c1b7}.sales-slots>button.active{border-color:var(--green);box-shadow:0 7px 22px #183c3117}.sales-slots>button.complete{background:#fbfdfc}.sales-slots>button>div{justify-content:space-between;align-items:center;display:flex}.sales-slots strong{font-size:15px}.sales-slots>button>div span{color:#86928d;background:#f1f3f2;border-radius:6px;padding:4px 7px;font-size:8px;font-weight:800}.sales-slots>button.complete>div span{color:#34725f;background:#e7f2ec}.sales-slots p{color:#43524c;margin:10px 0 5px;font-size:10px}.sales-slots small{color:var(--muted);font-size:8px;line-height:1.45}.sales-form-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 10px 35px #1d30290d}.sales-form-card>header{border-bottom:1px solid var(--line);background:#fbfcfa;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.sales-form-card>header span,.sales-form-card>header h3{display:block}.sales-form-card>header span{color:var(--muted);font-size:9px}.sales-form-card>header h3{margin:4px 0 0;font-size:17px}.submission-meta{text-align:right}.submission-meta strong,.submission-meta span,.submission-meta small{display:block}.submission-meta strong{color:#2d735e;font-size:10px}.submission-meta span{margin-top:3px;font-size:9px}.submission-meta small{color:var(--muted);margin-top:3px;font-size:8px}.sales-loading{text-align:center;color:var(--muted);padding:70px 20px;font-size:11px}.sales-form-body{gap:0;display:grid}.sales-form-section{border-bottom:1px solid var(--line);padding:20px}.sales-form-section:last-child{border-bottom:0}.sales-section-title h4{margin:0;font-size:13px}.sales-section-title p{color:var(--muted);margin:4px 0 0;font-size:9px}.sales-fields-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:15px;display:grid}.sales-field>span,.sales-notes-grid label>span{color:#596861;margin-bottom:6px;font-size:9px;font-weight:700;display:block}.sales-field>div{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;display:flex}.sales-field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;border-radius:10px;outline:0;padding:10px 11px;font-size:11px}.sales-field>div:focus-within,.weather-field input:focus,.sales-notes-grid textarea:focus{border-color:#78a696;box-shadow:0 0 0 3px #78a69617}.sales-field b{color:var(--muted);padding-right:10px;font-size:8px}.weather-field{max-width:520px;margin-top:14px;display:block}.weather-field input{border:1px solid var(--line);border-radius:10px;outline:0;width:100%;padding:11px;font-size:11px}.formula-strip{background:#eef5f1;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;margin-top:14px;padding:11px 13px;display:flex}.formula-strip span{color:#5c6c65;font-size:9px}.formula-strip strong{color:#1f634f;margin-left:8px;font-size:13px}.formula-strip small{color:#71817a;font-size:8px}.formula-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.formula-grid article{background:#eef5f1;border-radius:10px;padding:11px 12px}.formula-grid span,.formula-grid strong{display:block}.formula-grid span{color:#697a72;font-size:8px}.formula-grid strong{color:#245f4d;margin-top:5px;font-size:13px}.sales-notes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:15px;display:grid}.sales-notes-grid textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:92px;font:inherit;border-radius:10px;outline:0;padding:10px 11px;font-size:10px;line-height:1.5}.sales-form-card>footer{border-top:1px solid var(--line);background:#fbfcfa;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.sales-form-card>footer strong,.sales-form-card>footer span{display:block}.sales-form-card>footer strong{font-size:10px}.sales-form-card>footer span{color:var(--muted);margin-top:3px;font-size:8px}.sales-prefill-note{background:#f7faf8;border:1px solid #d8e4de;border-radius:10px;gap:4px;margin-top:12px;padding:10px 12px;display:grid}.sales-prefill-note strong{color:#365e4f;font-size:9px}.sales-prefill-note span{color:#697a72;font-size:8px;line-height:1.55}.sales-prefill-note.cash{background:#f8f8f6;border-color:#dddeda}.sales-prefill-note.cash strong{color:#5e655f}.sales-field>span em{color:#34705b;background:#e8f2ed;border-radius:999px;margin-left:5px;padding:2px 5px;font-size:7px;font-style:normal;display:inline-block}.sales-field.prefilled>div{background:#f8fbf9;border-color:#c8dcd3}.sales-field-reference{color:#8a928e;margin-top:5px;font-size:7px;line-height:1.4;display:block}.sales-field input::placeholder{color:#a3aaa6;opacity:1}@media (max-width:1100px){.sales-fields-grid,.sales-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.mobile-nav{grid-template-columns:repeat(5,1fr)}.sales-page-head{display:block}.sales-page-head h2{font-size:20px}.sales-date-switch{margin-top:14px}.sales-date-switch label{flex:1}.sales-date-switch input{width:100%;min-width:0}.sales-date-switch .today-button{padding-inline:10px;display:block}.sales-overview{gap:8px}.sales-overview article{padding:13px}.sales-overview strong{font-size:17px}.sales-slots{scrollbar-width:none;grid-template-columns:repeat(3,220px);margin-inline:-14px;padding:1px 14px 8px;overflow-x:auto}.sales-form-card>header{align-items:flex-start;padding:15px}.submission-meta{max-width:160px}.sales-form-section{padding:16px 14px}.sales-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.formula-grid,.sales-notes-grid{grid-template-columns:1fr}.sales-form-card>footer{z-index:4;padding:13px 14px;position:sticky;bottom:66px}.sales-form-card>footer>div{display:none}.sales-form-card>footer button{width:100%}}@media (max-width:420px){.sales-fields-grid{grid-template-columns:1fr}.sales-overview{grid-template-columns:1fr 1fr}.sales-overview span{font-size:8px}.sales-date-line{align-items:flex-start;gap:10px}.sales-date-line strong{font-size:10px}.formula-strip{flex-direction:column;align-items:flex-start}}.sales-tools{align-items:center;gap:8px;display:flex}.sales-file-input{display:none}.sales-period-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.sales-view-tabs{border:1px solid var(--line);background:#fff;border-radius:12px;padding:4px;display:flex}.sales-view-tabs button{min-width:70px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 13px;font-size:10px;font-weight:800}.sales-view-tabs button.active{background:var(--green);color:#fff;box-shadow:0 5px 12px #183c3124}.sales-overview.period article:first-child strong{color:var(--orange)}.sales-period-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 10px 35px #1d30290d}.sales-period-card>header{border-bottom:1px solid var(--line);background:#fbfcfa;justify-content:space-between;align-items:center;gap:16px;padding:17px 19px;display:flex}.sales-period-card>header h3{margin:0;font-size:14px}.sales-period-card>header p{color:var(--muted);margin:5px 0 0;font-size:9px}.sales-period-card>header>span{background:var(--orange-soft);color:#a34e20;border-radius:8px;padding:6px 9px;font-size:8px;font-weight:800}.sales-period-scroller{overflow-x:auto}.sales-period-table{min-width:1060px}.sales-period-row{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ee;grid-template-columns:170px 70px 100px 105px 105px 80px 75px 150px 125px 56px;align-items:center;width:100%;display:grid}.sales-period-row:not(.head){cursor:pointer;min-height:54px;padding:0}.sales-period-row:not(.head):hover{background:#f8fbf9}.sales-period-row:last-child{border-bottom:0}.sales-period-row>*{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:11px 10px;font-size:9px;overflow:hidden}.sales-period-row>strong{font-size:9px}.sales-period-row.head{z-index:1;color:#52635b;background:#eef3f0;font-weight:800;position:sticky;top:0}.sales-period-row.empty{color:#9ba59f;background:#fcfdfc}.sales-period-row.empty span:nth-child(4){color:#7f8c86}.record-count{color:#28705a;text-align:center;background:#e9f3ee;border-radius:7px;place-items:center;width:34px;font-weight:900;padding:5px!important;display:inline-grid!important}.sales-period-row.empty .record-count{color:#9aa39f;background:#f0f2f1}@media (max-width:700px){.sales-page-head .sales-tools{margin-top:12px}.sales-tools button{flex:1}.sales-period-toolbar{flex-direction:column;align-items:stretch;gap:9px}.sales-view-tabs{width:100%}.sales-view-tabs button{flex:1;min-width:0}.sales-period-toolbar .sales-date-switch{margin-top:0}.sales-period-card>header{align-items:flex-start;padding:14px}.sales-period-card>header>span{display:none}.sales-period-scroller{margin:0}.sales-period-table{min-width:980px}.sales-period-row{grid-template-columns:155px 65px 90px 95px 95px 75px 70px 140px 120px 52px}.sales-period-row>*{padding-inline:8px}.sales-overview.period article{min-height:82px}}.forecast-page{gap:16px;display:grid}.forecast-head{justify-content:space-between;align-items:flex-end;gap:22px;display:flex}.forecast-head h2{letter-spacing:-.03em;margin:4px 0 0;font-size:24px}.forecast-head p{max-width:680px;color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.55}.forecast-week-switch{align-items:center;gap:7px;display:flex}.forecast-week-switch>button:not(.today-button){border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;width:36px;height:36px;font-size:20px}.forecast-week-switch label{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:6px 9px;display:flex}.forecast-week-switch label span{color:var(--muted);font-size:8px;font-weight:700}.forecast-week-switch input{color:var(--ink);background:0 0;border:0;outline:0;font-size:11px;font-weight:700}.forecast-range{border:1px solid var(--line);background:#fbfcfa;border-radius:13px;justify-content:space-between;align-items:center;gap:18px;padding:13px 15px;display:flex}.forecast-range strong,.forecast-range span{display:block}.forecast-range strong{font-size:12px}.forecast-range span{color:var(--muted);margin-top:4px;font-size:8px}.forecast-range em{background:var(--orange-soft);color:#a45327;border-radius:8px;padding:6px 9px;font-size:8px;font-style:normal;font-weight:800}.forecast-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.forecast-summary article{border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px 16px}.forecast-summary span,.forecast-summary strong,.forecast-summary small{display:block}.forecast-summary span{color:var(--muted);font-size:9px;font-weight:700}.forecast-summary strong{margin-top:7px;font-size:20px}.forecast-summary small{color:#85928c;margin-top:5px;font-size:8px}.forecast-summary article:first-child strong{color:#23604d}.forecast-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 10px 35px #1d30290d}.forecast-card>header{border-bottom:1px solid var(--line);background:#fbfcfa;justify-content:space-between;align-items:center;gap:16px;padding:17px 19px;display:flex}.forecast-card>header h3{margin:0;font-size:14px}.forecast-card>header p{color:var(--muted);margin:5px 0 0;font-size:9px}.forecast-card>header>span{color:#2d735e;background:#eaf3ee;border-radius:8px;padding:6px 9px;font-size:8px;font-weight:800}.forecast-loading{text-align:center;color:var(--muted);padding:72px 20px;font-size:11px}.forecast-table-scroller{overflow-x:auto}.forecast-table{min-width:1180px}.forecast-row{border-bottom:1px solid #edf0ee;grid-template-columns:92px 76px 104px 112px 112px 108px 92px 88px 92px minmax(155px,1fr);align-items:center;min-height:61px;display:grid}.forecast-row:last-child{border-bottom:0}.forecast-row>*{min-width:0;padding:11px 9px;font-size:10px}.forecast-row.head{color:#52635b;background:#eef3f0;min-height:40px;font-weight:800}.forecast-row>div strong,.forecast-row>div span,.forecast-row>span small{display:block}.forecast-row>div span,.forecast-row>span small{color:var(--muted);margin-top:3px;font-size:8px}.forecast-row>strong{font-size:12px}.confidence,.accuracy-badge{border-radius:7px;padding:5px 7px;font-size:8px;display:inline-block}.confidence.high,.accuracy-badge.high{color:#28705a;background:#e7f2ec}.confidence.medium,.accuracy-badge.medium{color:#a75a2f;background:#fff4e8}.confidence.low,.confidence.insufficient,.accuracy-badge.low{color:#a64f3f;background:#f5e8e5}.difference.over{color:#a95736}.difference.under{color:#39745f}.forecast-refresh{color:#285f4d;cursor:pointer;background:#fff;border:1px solid #b7c9c1;border-radius:8px;margin-left:auto;padding:7px 10px;font-size:8px;font-weight:800}.forecast-refresh:disabled{cursor:default;opacity:.55}.forecast-method{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.forecast-method>div{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:15px;display:grid}.forecast-method>div>span{background:var(--green);color:#fff;border-radius:9px;place-items:center;width:28px;height:28px;font-size:10px;font-weight:900;display:grid}.forecast-method strong{font-size:10px}.forecast-method p{color:var(--muted);margin:5px 0 0;font-size:8px;line-height:1.55}@media (max-width:1000px){.forecast-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-method{grid-template-columns:1fr}}@media (max-width:700px){.forecast-head{display:block}.forecast-head h2{font-size:20px}.forecast-week-switch{margin-top:14px}.forecast-week-switch label{flex:1}.forecast-week-switch input{width:100%;min-width:0}.forecast-week-switch .today-button{padding-inline:10px;display:block}.forecast-range{flex-wrap:wrap;align-items:flex-start}.forecast-refresh{order:3;margin-left:0}.forecast-range em{text-align:center;max-width:110px;line-height:1.4}.forecast-summary{gap:8px}.forecast-summary article{min-height:82px;padding:13px}.forecast-summary strong{font-size:17px}.forecast-card>header{align-items:flex-start;padding:14px}.forecast-card>header>span{display:none}.forecast-table{min-width:1100px}.forecast-row{grid-template-columns:86px 72px 98px 105px 105px 102px 88px 82px 88px minmax(145px,1fr)}.forecast-method{gap:8px}.forecast-method>div{padding:13px}}.forecast-week-tabs{border:1px solid var(--line);background:#fff;border-radius:13px;gap:7px;padding:4px;display:flex}.forecast-week-tabs button{min-width:112px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 12px;font-size:10px;font-weight:800}.forecast-week-tabs button small{margin-top:3px;font-size:8px;font-weight:600;display:block}.forecast-week-tabs button.active{background:var(--green);color:#fff;box-shadow:0 5px 13px #183c3124}.forecast-table.future-only{min-width:980px}.forecast-table.future-only .forecast-row{grid-template-columns:110px 82px 120px 125px 105px 100px 105px minmax(180px,1fr)}.accuracy-list{overflow-x:auto}.accuracy-list>div{border-bottom:1px solid #edf0ee;grid-template-columns:90px 130px 130px 100px minmax(180px,1fr);align-items:center;min-width:760px;min-height:52px;display:grid}.accuracy-list>div:last-child{border-bottom:0}.accuracy-list>div>*{padding:10px 16px;font-size:9px}.accuracy-list>div>span:first-child{font-weight:800}.accuracy-list>div>strong{font-size:11px}.accuracy-list>div>small{font-size:8px}.accuracy-history>header:after{content:"日期 · 预测 · 实际 · 准确度 · 误差";color:var(--muted);margin-left:auto;font-size:8px}@media (max-width:700px){.forecast-week-tabs{width:100%;margin-top:14px}.forecast-week-tabs button{flex:1;min-width:0}.forecast-table.future-only{min-width:900px}.forecast-table.future-only .forecast-row{grid-template-columns:100px 75px 110px 115px 95px 90px 95px minmax(160px,1fr)}.accuracy-history>header:after{display:none}.accuracy-list>div{grid-template-columns:80px 115px 115px 90px minmax(160px,1fr);min-width:680px}}.form-hint{color:var(--muted);background:#f2f5f3;border-radius:9px;margin-top:13px;padding:10px 12px;font-size:9px;line-height:1.5}.add-nc-button{white-space:nowrap}.day-nc-summary{border-bottom:1px solid var(--line);background:var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.day-nc-summary>div{background:#fbfcfa;padding:12px 16px}.day-nc-summary span,.day-nc-summary strong{display:block}.day-nc-summary span{color:var(--muted);font-size:8px;font-weight:700}.day-nc-summary strong{margin-top:5px;font-size:15px}.timeline-row{min-height:82px}.timeline-bar{top:14px;bottom:14px}.nc-segment{z-index:4;top:41px;left:var(--nc-left);width:var(--nc-width);cursor:pointer;border:1px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;min-width:42px;height:28px;padding:2px 5px;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 8px #0002}.nc-segment strong,.nc-segment span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.nc-segment strong{font-size:7px}.nc-segment span{margin-top:1px;font-size:6px;font-weight:700}.nc-segment.training{color:#fff;background:#ee864c;border-color:#d46f38}.nc-segment.meeting{color:#fff;background:#9a7fc0;border-color:#8065a8}.nc-segment.receiving{color:#fff;background:#6094ba;border-color:#477ea7}.nc-segment.handover{color:#5d450b;background:#e2b84c;border-color:#c6992d}.nc-segment.admin{color:#fff;background:#8098a4;border-color:#667f8c}.nc-segment.other{color:#fff;background:#9da5a1;border-color:#7f8884}.nc-segment.trainer{color:#a94f24;box-shadow:none;background:repeating-linear-gradient(135deg,#fff2e9 0 5px,#f7d4bf 5px 10px);border:2px dashed #d46f38;top:8px}.nc-modal{width:min(560px,100%);max-height:calc(100vh - 28px);overflow-y:auto}.nc-modal textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:74px;font:inherit;border-radius:10px;margin-top:6px;padding:10px 11px;font-size:11px;line-height:1.5}.participant-picker{border:1px solid var(--line);border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:14px 0 0;padding:12px;display:grid}.participant-picker legend{color:#55655e;padding:0 5px;font-size:10px;font-weight:800}.participant-picker>label{cursor:pointer;background:#fbfcfa;border:1px solid #edf0ee;border-radius:9px;grid-template-rows:auto auto;grid-template-columns:auto 28px minmax(0,1fr);align-items:center;column-gap:7px;min-width:0;margin:0;padding:8px;display:grid!important}.participant-picker input{grid-row:1/3;width:auto;margin:0}.participant-picker .avatar{flex-basis:28px;grid-row:1/3;width:28px;height:28px}.participant-picker b{font-size:9px}.participant-picker small{color:var(--muted);font-size:7px}.training-preview{background:#fff8f2;border:1px solid #ead7c8;border-radius:11px;gap:7px;margin-top:13px;padding:12px;display:grid}.training-preview>div{justify-content:space-between;gap:12px;display:flex}.training-preview span{color:#8a6a58;font-size:8px}.training-preview strong{font-size:9px}.training-preview p{color:#b0532d;border-top:1px solid #eedbcd;margin:2px 0 0;padding-top:8px;font-size:8px;font-weight:800}.nc-duration{color:#547067;background:#edf5f1;border-radius:9px;margin-top:12px;padding:9px 11px;font-size:9px}.nc-duration strong{color:#215d49}.training-balance.over,.training-account.over strong{color:#b14f31!important}.week-summary{gap:5px}@media (max-width:700px){.day-nc-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.day-nc-summary>div{padding:10px 12px}.add-nc-button{padding:8px 10px}.timeline-row{min-height:80px}.nc-segment{top:40px}.nc-segment.trainer{top:7px}.participant-picker{grid-template-columns:1fr}.nc-modal{padding:18px}.schedule-heading .add-nc-button{display:block}}.attendance-geofence-test{background:linear-gradient(135deg,#f2faf6,#fff);border:1px solid #9fcdbb;border-radius:17px;gap:14px;padding:18px 20px;display:grid;box-shadow:0 10px 35px #1d30290d}.attendance-geofence-test-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.attendance-geofence-test-head span{color:#397460;font-size:8px;font-weight:900}.attendance-geofence-test-head h3{margin:4px 0 0;font-size:17px}.attendance-geofence-test-head p{max-width:660px;color:var(--muted);margin:6px 0 0;font-size:9px;line-height:1.55}.attendance-geofence-test-head button{flex:none}.attendance-geofence-store{background:#fff;border:1px solid #d6e8df;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 13px;display:grid}.attendance-geofence-store span,.attendance-geofence-store small{color:var(--muted);font-size:8px}.attendance-geofence-store strong{font-size:10px}.attendance-geofence-result{color:#2d735e;background:#e7f3ed;border-radius:11px;grid-template-columns:auto 1fr 1fr;align-items:center;gap:10px;padding:12px 13px;display:grid}.attendance-geofence-result.outside,.attendance-geofence-result.accuracy_poor{color:#a74736;background:#ffebe5}.attendance-geofence-result.uncertain{color:#a25b28;background:#fff1df}.attendance-geofence-result strong{font-size:11px}.attendance-geofence-result span{font-size:9px;font-weight:800}.attendance-geofence-result small{color:inherit;opacity:.8;grid-column:1/-1;font-size:8px}@media (max-width:700px){.attendance-geofence-test{padding:15px}.attendance-geofence-test-head{flex-direction:column;align-items:stretch}.attendance-geofence-test-head button{width:100%}.attendance-geofence-store{grid-template-columns:1fr}.attendance-geofence-result{grid-template-columns:1fr 1fr}.attendance-geofence-result strong{grid-column:1/-1}}.weather-section{background:linear-gradient(#fbfdfc 0,#fff 100%)}.weather-section .sales-section-title{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.weather-refresh{white-space:nowrap;padding:8px 11px}.weather-refresh:disabled{cursor:default;opacity:.55}.weather-editor{grid-template-columns:minmax(150px,1.3fr) minmax(120px,.8fr) minmax(110px,.7fr);gap:11px;margin-top:15px;display:grid}.sales-field select{width:100%;min-width:0;color:var(--ink);background:#fff;border:0;border-radius:10px;outline:0;padding:10px 34px 10px 11px;font-size:11px}.weather-readonly{border:1px solid var(--line);background:#f5f8f6;border-radius:10px;padding:10px 12px}.weather-readonly span,.weather-readonly strong{display:block}.weather-readonly span{color:#596861;font-size:8px;font-weight:700}.weather-readonly strong{margin-top:5px;font-size:12px}.weather-note-field{max-width:520px;margin-top:11px;display:block}.weather-meta{color:#73827b;align-items:center;gap:12px;margin-top:12px;font-size:8px;display:flex}.weather-meta.error{color:#b25835}.weather-meta a{color:#447765;margin-left:auto;text-decoration:none}.weather-meta a:hover{text-decoration:underline}@media (max-width:700px){.weather-editor{grid-template-columns:1fr 1fr}.weather-readonly{grid-column:1/-1}.weather-meta{flex-wrap:wrap;align-items:flex-start}.weather-meta a{margin-left:0}.weather-section .sales-section-title{gap:10px}}@media (max-width:420px){.weather-editor{grid-template-columns:1fr}.weather-readonly{grid-column:auto}.weather-refresh{padding-inline:9px}}.forecast-config-body{grid-template-columns:180px minmax(0,1fr) 250px auto;align-items:end;gap:18px;padding:20px;display:grid}.forecast-config-body fieldset{border:1px solid var(--line);border-radius:12px;min-width:0;margin:0;padding:12px}.forecast-config-body legend{color:#596861;padding:0 6px;font-size:9px;font-weight:800}.config-target>span,.config-weekdays label>span,.config-checkpoints label>span{color:#596861;margin-bottom:6px;font-size:8px;font-weight:800;display:block}.config-target>div,.config-checkpoints label>div{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;display:flex}.config-target input,.config-checkpoints input{border:0;border-radius:9px;outline:0;width:100%;min-width:0;padding:9px}.config-target b,.config-checkpoints b{color:var(--muted);padding-right:9px;font-size:8px}.config-weekdays{grid-template-columns:repeat(7,minmax(62px,1fr));gap:7px;display:grid}.config-weekdays input{border:1px solid var(--line);border-radius:8px;width:100%;padding:8px;font-size:9px}.config-checkpoints{grid-template-columns:1fr 1fr;gap:8px;display:grid}.config-save{height:38px}.over-target{color:#b64032!important}.daily-summary.labor-over{background:#fff6f3}.daily-summary.labor-over .over-target{font-weight:900}.daily-summary-row{min-height:205px}.week-summary{text-align:left;align-items:flex-start}.efficiency-note-panel{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:14px;padding:18px;box-shadow:0 8px 26px #1d30290a}.efficiency-note-panel.warning{background:#fffaf8;border-color:#edc4b8}.efficiency-note-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.efficiency-note-head span{color:var(--muted);font-size:8px}.efficiency-note-head h3{margin:4px 0 0;font-size:14px}.efficiency-note-head>b{color:#aa4436;background:#fae7e2;border-radius:8px;padding:6px 9px;font-size:8px}.efficiency-note-head>b.ok{color:#2d735e;background:#e8f3ed}.system-note{background:#f2f6f4;border-radius:10px;margin-top:14px;padding:12px}.system-note strong{font-size:9px}.system-note p{color:#596a62;margin:5px 0 0;font-size:9px;line-height:1.55}.system-note .trend-warning{color:#a54638;font-weight:700}.efficiency-note-panel label{margin-top:13px;display:block}.efficiency-note-panel label>span{color:#596861;margin-bottom:6px;font-size:9px;font-weight:800;display:block}.efficiency-note-panel textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:74px;font:inherit;border-radius:10px;padding:10px 11px;font-size:10px}.efficiency-note-panel>small{color:var(--muted);margin-top:6px;font-size:8px;display:block}.progress-analysis-card{background:#fff;border:1px solid #cfdfd7;border-radius:16px;overflow:hidden}.progress-analysis-card.warning{border-color:#ebc1b5}.progress-analysis-card>header{border-bottom:1px solid var(--line);background:#f7faf8;justify-content:space-between;align-items:center;gap:16px;padding:14px 17px;display:flex}.progress-analysis-card.warning>header{background:#fff5f1}.progress-analysis-card>header span{color:var(--muted);font-size:8px}.progress-analysis-card>header h3{margin:4px 0 0;font-size:14px}.progress-analysis-card>header>b{color:#2d735e;font-size:9px}.progress-analysis-card.warning>header>b{color:#ac4637}.progress-kpis{background:var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.progress-kpis article{background:#fff;padding:14px}.progress-kpis span,.progress-kpis strong,.progress-kpis small{display:block}.progress-kpis span{color:var(--muted);font-size:8px;font-weight:700}.progress-kpis strong{margin-top:6px;font-size:17px}.progress-kpis small{color:#82908a;margin-top:4px;font-size:8px}.progress-wages{grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 16px;display:grid}.progress-wages span{color:var(--muted);font-size:8px}.progress-wages b{color:var(--ink);margin-left:5px}.cut-advice{background:#eff6f2;padding:12px 16px}.progress-analysis-card.warning .cut-advice{background:#fff0eb}.cut-advice strong{font-size:10px}.cut-advice p{color:#65756e;margin:5px 0 0;font-size:8px;line-height:1.5}.final-labor-card{background:#fff;border:1px solid #d8ddd9;border-radius:16px;margin-top:12px;overflow:hidden}.final-labor-card>header{border-bottom:1px solid var(--line);background:#f5f4ef;justify-content:space-between;align-items:center;gap:16px;padding:14px 17px;display:flex}.final-labor-card>header span{color:var(--muted);font-size:8px}.final-labor-card>header h3{margin:4px 0 0;font-size:14px}.final-labor-card>header>b{color:#65736d;font-size:9px}.work-hours-page{gap:16px;display:grid}.work-hours-head{justify-content:space-between;align-items:flex-end;gap:22px;display:flex}.work-hours-head h2{letter-spacing:-.03em;margin:4px 0 0;font-size:24px}.work-hours-head p{max-width:680px;color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.55}.month-switch{align-items:center;gap:7px;display:flex}.month-switch>button:not(.today-button){border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;width:36px;height:36px;font-size:20px}.month-switch label{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:6px 9px;display:flex}.month-switch label span{color:var(--muted);font-size:8px;font-weight:700}.month-switch input{color:var(--ink);background:0 0;border:0;outline:0;font-size:11px;font-weight:700}.work-hours-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.work-hours-summary article{border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px 16px}.work-hours-summary span,.work-hours-summary strong,.work-hours-summary small{display:block}.work-hours-summary span{color:var(--muted);font-size:9px;font-weight:700}.work-hours-summary strong{margin-top:7px;font-size:19px}.work-hours-summary small{color:#85928c;margin-top:5px;font-size:8px}.work-hours-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 10px 35px #1d30290d}.work-hours-card>header{border-bottom:1px solid var(--line);background:#fbfcfa;justify-content:space-between;align-items:center;gap:16px;padding:17px 19px;display:flex}.work-hours-card>header h3{margin:0;font-size:14px}.work-hours-card>header p{color:var(--muted);margin:5px 0 0;font-size:9px}.work-hours-card>header>strong{font-size:11px}.work-hours-row.head{color:#52635b;background:#eef3f0;grid-template-columns:1.2fr 1.2fr .7fr .7fr;padding:10px 18px;font-size:9px;font-weight:800;display:grid}.work-hours-list>button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0ee;grid-template-columns:36px minmax(100px,1fr) minmax(150px,1.2fr) .7fr .7fr;align-items:center;gap:10px;width:100%;padding:12px 18px;display:grid}.work-hours-list>button:last-child{border-bottom:0}.work-hours-list>button:hover,.work-hours-list>button.selected{background:#f4f8f6}.work-hours-list>button>strong{font-size:11px}.work-hours-list>button>span,.work-hours-list>button>small{color:var(--muted);font-size:9px}.work-hours-list>button>b{text-align:right;font-size:13px}.work-hours-days{grid-template-columns:repeat(4,1fr);display:grid}.work-hours-days>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:#9aa49f;justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.work-hours-days>div.worked{color:var(--ink);background:#fbfdfc}.work-hours-days span{font-size:8px}.work-hours-days strong{font-size:9px}@media (max-width:1000px){.forecast-config-body{grid-template-columns:1fr 1fr}.config-save{width:100%}.config-weekdays{grid-template-columns:repeat(4,1fr)}}@media (max-width:700px){.mobile-nav{grid-template-columns:repeat(6,1fr)}.forecast-config-body{grid-template-columns:1fr;padding:14px}.config-weekdays{grid-template-columns:repeat(4,1fr)}.progress-kpis,.progress-wages{grid-template-columns:repeat(2,1fr)}.progress-analysis-card>header{align-items:flex-start}.progress-analysis-card>header>b{text-align:right;max-width:120px}.work-hours-head{display:block}.work-hours-head h2{font-size:20px}.month-switch{margin-top:14px}.month-switch label{flex:1}.month-switch input{width:100%;min-width:0}.month-switch .today-button{display:block}.work-hours-summary{grid-template-columns:1fr}.work-hours-row.head{grid-template-columns:1.2fr 1fr .7fr .7fr}.work-hours-list>button{grid-template-columns:34px minmax(80px,1fr) minmax(110px,1fr) .6fr .7fr;padding-inline:13px}.work-hours-days{grid-template-columns:repeat(2,1fr)}}.auth-screen{background:radial-gradient(circle at 20% 10%,#e7edff 0,#0000 35%),radial-gradient(circle at 85% 90%,#e7f1ff 0,#0000 30%),#f7f8fc;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-loading{color:var(--muted);font-size:13px}.login-card{background:#fffffff2;border:1px solid #dfe4ef;border-radius:24px;width:min(430px,100%);padding:34px;box-shadow:0 24px 80px #10204a18}.login-logo{object-fit:contain;object-position:left center;width:220px;max-width:72%;height:58px;display:block}.login-card>span{color:#5270b6;margin-top:22px;font-size:11px;font-weight:800;display:block}.login-card h1{margin:7px 0 0;font-size:28px}.login-card>p{color:var(--muted);margin:8px 0 24px;font-size:11px}.login-card form{gap:14px;display:grid}.login-card form>label:not(.remember-login){color:#52625b;font-size:10px;font-weight:800}.login-card input{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:11px;outline:0;margin-top:7px;padding:12px;font-size:12px}.login-card input:focus{border-color:#4b79ff;box-shadow:0 0 0 3px #e2e9ff}.remember-login{cursor:pointer;align-items:center;gap:9px;padding:3px 0;display:flex}.remember-login input{width:auto;margin:0}.remember-login strong,.remember-login small{display:block}.remember-login strong{font-size:10px}.remember-login small{color:var(--muted);margin-top:3px;font-size:8px}.login-error{color:#a74736;background:#fff0eb;border-radius:9px;padding:10px 11px;font-size:10px}.login-card .primary-button{background:#183b9b;border-color:#183b9b;width:100%;padding:12px}.no-store-card .secondary-button{margin-top:10px}.store-gate{align-items:center}.store-selection-card{background:#fffffff5;border:1px solid #dfe4ef;border-radius:24px;width:min(680px,100%);overflow:hidden;box-shadow:0 24px 80px #10204a18}.store-selection-card>header{border-bottom:1px solid #e7eaf1;align-items:center;gap:24px;padding:28px 30px;display:flex}.store-selection-card>header>img{object-fit:contain;width:150px;height:54px}.store-selection-card header span{color:#5270b6;font-size:10px;font-weight:800}.store-selection-card h1{margin:4px 0 0;font-size:25px}.store-selection-card header p{color:var(--muted);margin:6px 0 0;font-size:11px}.store-choice-list{gap:10px;max-height:min(480px,56dvh);padding:20px 24px;display:grid;overflow-y:auto}.store-choice-list>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e1e5ef;border-radius:14px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:13px 15px;display:grid}.store-choice-list>button:hover{background:#f8faff;border-color:#6c8dff;box-shadow:0 8px 24px #173b9b12}.store-choice-list img{object-fit:cover;background:#f7f9ff;border-radius:12px;width:52px;height:52px}.store-choice-list small,.store-choice-list strong{display:block}.store-choice-list small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.store-choice-list strong{margin-top:5px;font-size:14px}.store-choice-list b{color:#315dcd;font-size:11px}.store-selection-card>.login-error{margin:0 24px 16px}.store-selection-card>footer{color:var(--muted);border-top:1px solid #e7eaf1;justify-content:space-between;align-items:center;padding:14px 24px;font-size:10px;display:flex}.store-selection-card>footer button{color:#315dcd;cursor:pointer;background:0 0;border:0;font-weight:800}.profile-button{text-align:left;cursor:pointer;background:0 0;border:0}.account-identity{background:#f3f6f4;border-radius:10px;justify-content:space-between;align-items:center;padding:12px;display:flex}.account-identity span{color:var(--muted);font-size:9px}.account-identity strong{font-size:11px}.employee-modal{width:min(520px,100%)}.accounts-page{gap:16px;display:grid}.accounts-head h2{margin:4px 0 0;font-size:24px}.accounts-head p{color:var(--muted);margin:7px 0 0;font-size:11px}.account-create-card,.account-list-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 10px 35px #1d30290d}.account-create-card>header,.account-list-card>header{border-bottom:1px solid var(--line);background:#fbfcfa;justify-content:space-between;align-items:center;padding:17px 19px;display:flex}.account-create-card h3,.account-list-card h3{margin:0;font-size:14px}.account-create-card p,.account-list-card p{color:var(--muted);margin:5px 0 0;font-size:9px}.account-create-grid{grid-template-columns:1fr 1fr 1fr 160px auto;align-items:end;gap:12px;padding:18px;display:grid}.account-create-grid label{color:#596861;font-size:9px;font-weight:800}.account-create-grid input,.account-create-grid select{border:1px solid var(--line);width:100%;min-width:0;font:inherit;background:#fff;border-radius:10px;margin-top:6px;padding:10px;font-size:10px}.account-create-grid button{height:38px}.account-list-card>header>strong{font-size:11px}.account-row{border-bottom:1px solid #edf0ee;grid-template-columns:1fr 1fr 130px 110px;align-items:center;gap:12px;min-height:58px;padding:9px 18px;display:grid}.account-row:last-child{border-bottom:0}.account-row.head{color:#52635b;background:#eef3f0;min-height:40px;font-size:9px;font-weight:800}.account-row strong,.account-row span{font-size:10px}.account-row>b{color:#326450;background:#edf3f0;border-radius:7px;justify-self:start;padding:5px 8px;font-size:8px}.account-row>b.admin{color:#a5532d;background:#fff0e8}.account-row button{padding:7px 9px}.forecast-config-card{overflow:hidden}.forecast-config-body{grid-template-columns:minmax(150px,.7fr) minmax(0,2fr) minmax(240px,1fr) auto}.config-weekdays{grid-template-columns:repeat(7,minmax(0,1fr))}.config-weekdays label,.config-weekdays input{min-width:0}.hierarchy-picker{gap:16px;padding:20px 24px;display:grid}.hierarchy-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.hierarchy-fields label{color:#59677a;gap:6px;font-size:10px;font-weight:800;display:grid}.hierarchy-fields select{color:#17233e;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #dfe4ef;border-radius:11px;padding:11px 34px 11px 11px;font-size:11px}.hierarchy-fields select:disabled{color:#98a0ae;background:#f3f5f8}.hierarchy-store-step{background:#f8faff;border:1px solid #e1e5ef;border-radius:15px;overflow:hidden}.hierarchy-store-step>header{border-bottom:1px solid #e1e5ef;justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.hierarchy-store-step header span{color:#5270b6;font-size:8px;font-weight:800}.hierarchy-store-step h3{margin:2px 0 0;font-size:13px}.hierarchy-store-step header small{color:#798394;font-size:9px}.hierarchy-store-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;display:grid}.hierarchy-store-list>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e1e5ef;border-radius:11px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.hierarchy-store-list>button:hover,.hierarchy-store-list>button.active{background:#f4f7ff;border-color:#6c8dff}.hierarchy-store-list img{object-fit:cover;border-radius:10px;width:42px;height:42px}.hierarchy-store-list strong,.hierarchy-store-list small{display:block}.hierarchy-store-list strong{font-size:11px}.hierarchy-store-list small{color:#8892a3;margin-top:3px;font-size:8px}.hierarchy-store-list b{color:#315dcd;white-space:nowrap;font-size:9px}.store-picker-modal{width:min(760px,100%)}.store-picker-modal .modal-body{padding:0}.store-picker-modal .hierarchy-picker{padding:18px}.store-picker-modal .modal-actions{justify-content:flex-end}@media (max-width:1350px){.forecast-config-body{grid-template-columns:1fr 2fr}.config-checkpoints{grid-template-columns:1fr 1fr}.config-save{width:100%}.account-create-grid{grid-template-columns:1fr 1fr}.account-create-grid button{width:100%}}@media (max-width:700px){.login-card{padding:25px}.accounts-head h2{font-size:20px}.account-create-grid{grid-template-columns:1fr;padding:14px}.account-row{grid-template-columns:1fr 1fr 82px 90px;padding-inline:13px}.mobile-nav.admin{grid-template-columns:repeat(7,minmax(52px,1fr));overflow-x:auto}.forecast-config-body{grid-template-columns:1fr}.config-weekdays{grid-template-columns:repeat(4,minmax(0,1fr))}}.dingtalk-page{gap:16px;display:grid}.dingtalk-intro{justify-content:space-between;align-items:flex-end;gap:22px;display:flex}.dingtalk-intro h2{letter-spacing:-.03em;margin:4px 0 0;font-size:24px}.dingtalk-intro p{max-width:720px;color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.55}.dingtalk-rule-badge{text-align:center;background:#edf6f1;border:1px solid #cfe2d9;border-radius:13px;min-width:92px;padding:11px 14px}.dingtalk-rule-badge span,.dingtalk-rule-badge strong{display:block}.dingtalk-rule-badge span{color:#648075;font-size:8px;font-weight:800}.dingtalk-rule-badge strong{color:#245f4b;margin-top:4px;font-size:19px}.dingtalk-export-card,.dingtalk-config-card,.dingtalk-error-card,.dingtalk-success-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 10px 35px #1d30290d}.dingtalk-export-card{padding:20px}.dingtalk-export-card>header h3,.dingtalk-config-card h3,.dingtalk-error-card h3,.dingtalk-success-card h3{margin:0;font-size:15px}.dingtalk-export-card>header p,.dingtalk-config-card header p,.dingtalk-error-card header p{color:var(--muted);margin:5px 0 0;font-size:9px;line-height:1.5}.dingtalk-date-grid{grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr) auto;align-items:end;gap:12px;margin-top:17px;display:grid}.dingtalk-date-grid label{color:#596861;font-size:9px;font-weight:800}.dingtalk-date-grid input{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:10px;margin-top:6px;padding:10px;font-size:11px}.dingtalk-date-grid>span{color:var(--muted);align-self:center;margin-top:17px;font-size:10px}.dingtalk-history-warning{background:#fff7ee;border:1px solid #efd5bf;border-radius:10px;align-items:center;gap:10px;margin-top:13px;padding:10px 12px;display:flex}.dingtalk-history-warning strong{color:#a45d32;font-size:9px}.dingtalk-history-warning span{color:#8a6d59;font-size:8px}.dingtalk-export-button{width:100%;margin-top:15px;padding:12px}.dingtalk-error-card{background:#fffaf8;border-color:#edc9bd}.dingtalk-error-card>header{border-bottom:1px solid #f0d5cb;align-items:center;gap:12px;padding:16px 18px;display:flex}.dingtalk-error-card>header>span{color:#fff;background:#b8543d;border-radius:10px;place-items:center;width:31px;height:31px;font-weight:900;display:grid}.dingtalk-issue-group{border-bottom:1px solid #f3dfd8;padding:14px 18px}.dingtalk-issue-group:last-child{border-bottom:0}.dingtalk-issue-group>strong{color:#9e4937;margin-bottom:8px;font-size:10px;display:block}.dingtalk-issue-group p{color:#665b57;margin:0;font-size:9px;line-height:1.55}.dingtalk-issue-group>small{color:#917b72;margin-top:5px;font-size:8px;display:block}.dingtalk-issue-group details{background:#fff;border:1px solid #efd9d1;border-radius:9px;margin-top:7px;padding:9px 10px}.dingtalk-issue-group summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.dingtalk-issue-group summary b{font-size:10px}.dingtalk-issue-group summary span{color:#a65b44;font-size:8px;font-weight:800}.dingtalk-issue-group details p{color:var(--muted);margin-top:7px;font-size:8px}.identity-conflict{border-top:1px solid #f1ddd6;grid-template-columns:120px 1fr 1fr;gap:10px;padding:8px 0;display:grid}.identity-conflict b,.identity-conflict span{font-size:8px}.identity-conflict span{color:#755f57}.dingtalk-success-card{background:#f8fcfa;border-color:#cde2d8;align-items:center;gap:13px;padding:16px 18px;display:flex}.dingtalk-success-card>span{color:#fff;background:#2d735e;border-radius:11px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.dingtalk-success-card p{color:#60766d;margin:5px 0;font-size:9px}.dingtalk-success-card strong{word-break:break-all;font-size:9px}.dingtalk-config-card>header{border-bottom:1px solid var(--line);background:#fbfcfa;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.file-button{white-space:nowrap;cursor:pointer;position:relative;overflow:hidden}.file-button.disabled{opacity:.55;cursor:default}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.dingtalk-config-stats{background:var(--line);grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid}.dingtalk-config-stats>div{background:#fff;padding:14px 16px}.dingtalk-config-stats span,.dingtalk-config-stats strong{display:block}.dingtalk-config-stats span{color:var(--muted);font-size:8px;font-weight:700}.dingtalk-config-stats strong{margin-top:5px;font-size:13px}.dingtalk-source{color:var(--muted);flex-wrap:wrap;gap:8px 18px;padding:13px 18px;font-size:8px;display:flex}.dingtalk-config-card>.secondary-button{margin:0 18px 15px}.dingtalk-shift-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-height:280px;padding:0 18px 18px;display:grid;overflow-y:auto}.dingtalk-shift-list>span{border:1px solid var(--line);background:#fbfcfa;border-radius:9px;padding:9px}.dingtalk-shift-list b,.dingtalk-shift-list small{display:block}.dingtalk-shift-list b{font-size:9px}.dingtalk-shift-list small{color:var(--muted);margin-top:4px;font-size:7px}.dingtalk-empty-config{text-align:center;flex-direction:column;gap:6px;padding:28px;display:flex}.dingtalk-empty-config strong{font-size:12px}.dingtalk-empty-config span{color:var(--muted);font-size:9px}.upload-conflict-list{background:#fff6f2;border:1px solid #efcfc4;border-radius:11px;margin:0 18px 18px;padding:13px}.upload-conflict-list>strong{color:#a54b37;margin-bottom:8px;font-size:10px;display:block}.upload-conflict-list>div{border-top:1px solid #f1dcd4;grid-template-columns:100px 1fr 1fr;gap:8px;padding:7px 0;display:grid}.upload-conflict-list b,.upload-conflict-list span{font-size:8px}.upload-conflict-list span{color:#735d55}.mobile-nav.user{grid-template-columns:repeat(6,1fr)}@media (max-width:700px){.dingtalk-intro{align-items:flex-start}.dingtalk-intro h2{font-size:20px}.dingtalk-intro p{font-size:10px}.dingtalk-date-grid{grid-template-columns:1fr 1fr}.dingtalk-date-grid>span{display:none}.dingtalk-date-grid>.secondary-button{grid-column:1/-1}.dingtalk-history-warning,.dingtalk-config-card>header{flex-direction:column;align-items:flex-start}.dingtalk-config-card>header .file-button{text-align:center;width:100%}.dingtalk-config-stats{grid-template-columns:repeat(2,1fr)}.dingtalk-config-stats>div:last-child{grid-column:1/-1}.dingtalk-shift-list{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:13px}.identity-conflict,.upload-conflict-list>div{grid-template-columns:1fr}.mobile-nav.user,.mobile-nav.admin{grid-template-columns:repeat(8,minmax(52px,1fr));overflow-x:auto}}.hourly-ai-page{gap:16px;display:grid}.hourly-hero{color:#fff;background:linear-gradient(135deg,#173c30,#2f6a55);border-radius:18px;justify-content:space-between;align-items:flex-end;gap:20px;padding:22px;display:flex;box-shadow:0 12px 34px #173c3024}.hourly-hero>div>span{color:#bcd6cc;font-size:9px;font-weight:800}.hourly-hero h2{margin:5px 0 0;font-size:24px}.hourly-hero p{color:#d6e5df;max-width:700px;margin:7px 0 0;font-size:10px;line-height:1.6}.hourly-hero-stat{text-align:center;background:#ffffff10;border:1px solid #ffffff2c;border-radius:13px;min-width:120px;padding:13px 16px}.hourly-hero-stat strong,.hourly-hero-stat span{display:block}.hourly-hero-stat strong{font-size:24px}.hourly-hero-stat span{color:#c9ddd5;margin-top:4px;font-size:8px}.hourly-layout{grid-template-columns:1.08fr .92fr;gap:16px;display:grid}.hourly-layout.lower{grid-template-columns:1fr 1fr}.hourly-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 10px 35px #1d30290d}.hourly-card>header{border-bottom:1px solid var(--line);background:#fbfcfa;justify-content:space-between;align-items:flex-start;gap:16px;padding:17px 19px;display:flex}.hourly-card>header h3{margin:0;font-size:14px}.hourly-card>header p{color:var(--muted);margin:5px 0 0;font-size:9px;line-height:1.5}.hourly-actions{grid-template-columns:1fr 1fr auto auto;align-items:end;gap:10px;padding:17px;display:grid}.hourly-actions label,.ai-date-controls label{color:#596861;font-size:8px;font-weight:800}.hourly-actions input,.ai-date-controls input,.manual-ratio input{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:9px;margin-top:6px;padding:9px;font-size:9px}.hourly-actions button{height:35px}.hourly-preview{border-top:1px solid var(--line)}.preview-summary{background:#f3f7f5;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;display:flex}.preview-summary strong{margin-right:auto;font-size:9px}.preview-summary span,.preview-summary small{font-size:8px}.preview-summary span{color:#28674f;background:#e3f1ea;border-radius:6px;padding:4px 6px;font-weight:800}.preview-summary span.warn{color:#9b5a24;background:#fff1df}.preview-summary span.bad{color:#a74736;background:#ffebe6}.hourly-table-wrap{max-height:330px;overflow:auto}.hourly-table-wrap table{border-collapse:collapse;width:100%;min-width:650px}.hourly-table-wrap th,.hourly-table-wrap td{text-align:left;border-bottom:1px solid #edf0ee;padding:9px 10px;font-size:8px}.hourly-table-wrap th{color:#52635b;z-index:1;background:#eef3f0;position:sticky;top:0}.hourly-table-wrap tr.row-warning{background:#fffaf2}.hourly-table-wrap tr.row-error{background:#fff3ef}.hourly-confirm{justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.ratio-cards{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.ratio-cards>div{background:#fff;padding:12px 14px}.ratio-cards span,.ratio-cards strong,.ratio-cards small{display:block}.ratio-cards span{color:var(--muted);font-size:8px;font-weight:800}.ratio-cards strong{margin-top:5px;font-size:12px}.ratio-cards small{color:#87938e;margin-top:4px;font-size:7px}.manual-ratio{grid-template-columns:90px 90px minmax(160px,1fr) auto;align-items:end;gap:9px;padding:15px;display:grid}.manual-ratio label{color:#596861;font-size:8px;font-weight:800;position:relative}.manual-ratio label>b{color:var(--muted);font-size:8px;position:absolute;bottom:10px;right:9px}.manual-ratio label:not(.ratio-note) input{padding-right:22px}.manual-ratio button{height:35px}.ai-date-controls{gap:8px;display:flex}.ai-date-controls label{min-width:132px}.ai-date-controls input{margin-top:4px}.ai-action-grid{background:var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.ai-action-grid>button{text-align:left;cursor:pointer;background:#fff;border:0;grid-template-rows:1fr auto;grid-template-columns:32px minmax(0,1fr);gap:8px;min-height:118px;padding:14px;display:grid}.ai-action-grid>button:hover{background:#f6faf8}.ai-action-grid>button:disabled{cursor:not-allowed;opacity:.55}.ai-action-grid>button>span{color:#2d735e;background:#e8f2ed;border-radius:9px;place-items:center;width:30px;height:30px;font-size:10px;font-weight:900;display:grid}.ai-action-grid strong,.ai-action-grid small{display:block}.ai-action-grid strong{font-size:10px}.ai-action-grid small{color:var(--muted);margin-top:5px;font-size:8px;line-height:1.45}.ai-action-grid>button>b{color:#2d735e;grid-column:2;font-size:8px}.ai-result{border-top:1px solid var(--line);background:#fcfdfc;padding:17px}.ai-result>header{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.ai-result>header span,.ai-result>header strong{font-size:9px}.ai-result>header strong{color:#2d735e;background:#e8f2ed;border-radius:6px;margin-left:8px;padding:4px 6px}.ai-result>header small{color:var(--muted);font-size:8px}.ai-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.ai-result-grid>div{border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px}.ai-result-grid>div>small{color:#708078;margin-bottom:5px;font-size:7px;font-weight:800;display:block}.ai-result-grid span,.ai-result-grid li{font-size:9px;line-height:1.55}.ai-result-grid ul{margin:4px 0;padding-left:16px}.ai-result-grid .ai-result-grid{grid-template-columns:1fr}.simple-records>div{border-bottom:1px solid #edf0ee;grid-template-columns:minmax(0,1.3fr) minmax(120px,.8fr);gap:4px 12px;padding:12px 16px;display:grid}.simple-records>div:last-child{border-bottom:0}.simple-records strong,.simple-records span{font-size:9px}.simple-records span{text-align:right}.simple-records small{color:var(--muted);grid-column:1/-1;font-size:7px}.empty-line{text-align:center;color:var(--muted);padding:24px;font-size:9px}.forecast-config-card fieldset>small{color:var(--muted);margin-top:7px;font-size:7px;line-height:1.45;display:block}.forecast-config-card input[readonly]{color:#6f7d77;background:#f2f4f2}.mobile-nav.admin{grid-template-columns:repeat(9,1fr)}@media (max-width:1100px){.hourly-layout{grid-template-columns:1fr}.ai-action-grid{grid-template-columns:repeat(2,1fr)}.hourly-actions{grid-template-columns:1fr 1fr}.hourly-actions button{width:100%}.manual-ratio{grid-template-columns:90px 90px 1fr}.manual-ratio button{grid-column:1/-1;width:100%}}@media (max-width:700px){.hourly-hero{align-items:flex-start}.hourly-hero h2{font-size:20px}.hourly-hero-stat{display:none}.hourly-card>header{flex-direction:column}.hourly-actions,.manual-ratio,.hourly-layout.lower{grid-template-columns:1fr}.ai-date-controls{flex-direction:column;width:100%}.ai-date-controls label{width:100%}.ai-action-grid{grid-template-columns:1fr}.ai-action-grid>button{min-height:94px}.ratio-cards{grid-template-columns:1fr 1fr}.ai-result-grid{grid-template-columns:1fr}.mobile-nav.admin{grid-template-columns:repeat(9,minmax(52px,1fr));overflow-x:auto}}.filter-switch{border:1px solid var(--line);color:#53645c;white-space:nowrap;cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:9px;font-weight:800;display:flex}.filter-switch input{margin:0}.schedule-request-hint{color:#356956;background:#e8f1ed;border-radius:6px;margin-top:5px;padding:3px 5px;font-size:8px;font-style:normal;font-weight:800;display:block}.schedule-request-hint.rest{color:#a5522d;background:#fff0e8}.schedule-request-hint.late{color:#705692;background:#eee9f6}.schedule-request-hint.middle{color:#45699a;background:#eef2fb}.partner-id-display{background:#f4f8f6;border:1px solid #d9e4df;border-radius:11px;grid-template-columns:auto 1fr;gap:3px 12px;margin-bottom:14px;padding:12px;display:grid}.partner-id-display span,.partner-id-display small{color:var(--muted);font-size:8px}.partner-id-display strong{letter-spacing:1.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.partner-id-display small{grid-column:1/3}.participation-choice{background:#fbfcfa;border:1px solid #d9e4df;border-radius:11px;margin-bottom:14px;padding:12px}.people-list>button.not-participating{opacity:.72;background:#f4f5f4}.account-actions{flex-wrap:wrap;gap:5px;display:flex}.account-row span small{color:var(--muted);margin-top:4px;font-size:8px;display:block}.account-row>b.site_admin{color:#684c93;background:#eee9f6}.account-row>b.employee{color:#3e6998;background:#eaf2fb}.credential-modal{width:min(660px,100%)}.credential-list{gap:7px;max-height:50vh;display:grid;overflow:auto}.credential-list>div{border:1px solid var(--line);border-radius:9px;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:10px;padding:10px;display:grid}.credential-list span,.credential-list code{font-size:10px}.credential-list code{background:#f1f4f2;border-radius:5px;padding:5px}.preview-banner{color:#fff;background:#6b5191;justify-content:center;align-items:center;gap:14px;padding:9px 16px;font-size:10px;display:flex}.preview-banner button{color:#fff;font:inherit;cursor:pointer;background:#ffffff18;border:1px solid #ffffff80;border-radius:7px;padding:5px 9px;font-weight:800}.preview-trigger{white-space:nowrap}.requests-page{gap:16px;display:grid}.requests-head{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.requests-head h2{margin:4px 0 0;font-size:24px}.requests-head p{color:var(--muted);margin:7px 0 0;font-size:10px}.week-switcher.compact{flex:none}.request-table-wrap{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:auto}.request-table{min-width:950px}.request-row{border-bottom:1px solid var(--line);grid-template-columns:190px repeat(7,minmax(100px,1fr));min-height:64px;display:grid}.request-row:last-child{border-bottom:0}.request-row>div{border-right:1px solid var(--line);justify-content:center;align-items:center;padding:9px;display:flex}.request-row>div:last-child{border-right:0}.request-row-head{background:#eef3f0;min-height:58px}.request-row-head>div{color:#52635b;flex-direction:column;gap:4px;font-size:9px}.request-row-head span{color:var(--muted);font-size:8px}.request-person{flex-direction:column;align-items:flex-start!important}.request-person strong{font-size:11px}.request-person span{color:var(--muted);margin-top:4px;font-size:8px}.request-cell select{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:8px;padding:8px;font-size:9px}.request-cell strong{color:#356956;background:#eaf2ee;border-radius:7px;padding:6px 8px;font-size:9px}.request-cell.rest strong{color:#a5522d;background:#fff0e8}.request-cell.blank span{color:#a6afab}.request-actions{border:1px solid var(--line);background:#fff;border-radius:13px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.request-actions span,.empty-request-state{color:var(--muted);font-size:10px}.empty-request-state{text-align:center;padding:28px}.readonly-schedule-table{min-width:900px}.readonly-row{border-bottom:1px solid var(--line);grid-template-columns:190px repeat(7,minmax(100px,1fr));min-height:68px;display:grid}.readonly-row>div{border-right:1px solid var(--line);justify-content:center;align-items:center;padding:10px;display:flex}.readonly-head{background:#eef3f0;min-height:62px}.readonly-head>div{color:#52635b;flex-direction:column;gap:4px;font-size:9px}.readonly-head span{color:var(--muted);font-size:8px}.readonly-person{gap:9px;justify-content:flex-start!important}.readonly-person div,.readonly-person strong,.readonly-person small{display:block}.readonly-person small{color:var(--muted);margin-top:4px;font-size:8px}.readonly-shift{flex-direction:column;gap:5px}.readonly-shift strong{font-size:10px}.readonly-shift span{color:var(--muted);font-size:8px}.readonly-shift.scheduled{background:#f4f8f6}.mobile-nav.employee{grid-template-columns:repeat(2,1fr)}.schedule-day-actions{align-items:center;gap:10px;display:flex}.triple-pay-toggle{color:#9a5a18;white-space:nowrap;cursor:pointer;background:#fff8ed;border:1px solid #f0c38f;border-radius:9px;align-items:center;gap:7px;padding:8px 10px;font-size:9px;font-weight:900;display:inline-flex}.triple-pay-toggle input{accent-color:#d98324;margin:0}.triple-pay-toggle.compact{margin:4px 0 2px;padding:2px 5px;font-size:7px}.table-head .triple-pay-date{background:#fff4df}.legend .dot.triple{background:#e49332}@media (max-width:900px){.requests-head{flex-direction:column;align-items:stretch}.requests-head .week-switcher{width:100%}.account-row{grid-template-columns:1fr 1fr}.account-actions{grid-column:1/3}.credential-list>div{grid-template-columns:1fr}.request-actions{flex-direction:column;align-items:stretch}.request-actions button{width:100%}.filter-switch{justify-content:center;width:100%}}.modal-body{display:contents}body:has(.modal-backdrop){overscroll-behavior:none;overflow:hidden}@media (max-width:700px){.autosave-badge{display:none!important}.toolbar-actions{grid-template-columns:1fr;gap:8px;width:100%;display:grid!important}.view-toggle{z-index:1;width:100%;position:relative}.view-toggle button{min-height:40px}.table-scroller{overscroll-behavior:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;max-height:min(68dvh,720px);position:relative;overflow:auto}.schedule-table{width:max-content;min-width:1280px;display:block}.readonly-schedule-table{width:max-content;min-width:900px}.schedule-table .table-head,.readonly-schedule-table .readonly-head{z-index:4;position:sticky;top:0}.schedule-table .table-row>:first-child,.readonly-schedule-table .readonly-row>div:first-child{z-index:2;background:#fff;position:sticky;left:0;box-shadow:8px 0 14px #173b3012}.schedule-table .table-head>:first-child,.readonly-schedule-table .readonly-head>div:first-child{z-index:5;background:#eef3f0}.schedule-table .daily-summary-row>:first-child{background:#f7faf8}.modal-backdrop{place-items:stretch stretch;padding:0;overflow:hidden}.edit-modal,.nc-modal{border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100dvh;max-height:100dvh;padding:0;display:grid;overflow:hidden}.modal-head{z-index:2;padding:calc(14px + env(safe-area-inset-top)) 16px 14px;border-bottom:1px solid var(--line);background:#fff;margin:0}.modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:0 16px 20px;display:block;overflow-y:auto}.modal-actions{z-index:2;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;flex-shrink:0;gap:8px;margin:0;box-shadow:0 -8px 24px #14251f12}.modal-actions button{min-height:42px}.mobile-nav{height:calc(66px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.app-shell{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.toast{bottom:calc(82px + env(safe-area-inset-bottom));max-width:calc(100vw - 28px)}.timeline-scroller,.report-table,.sales-period-scroller,.forecast-table-scroller,.hourly-table-wrap,.request-table-wrap{touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}}.schedule-date-markers{justify-content:inherit;white-space:normal;flex-wrap:wrap;gap:3px;max-width:100%;margin-top:5px;display:flex!important}.schedule-date-markers .schedule-date-marker{white-space:normal;overflow-wrap:anywhere;border-radius:5px;margin:0;padding:3px 5px;font-size:9px;font-style:normal;font-weight:700;line-height:1.35;display:inline-block}.schedule-date-marker.holiday{color:#a84c27;background:#fff0e8}.schedule-date-marker.workday{color:#674c89;background:#eee9f6}.schedule-date-marker.solar-term{color:#287057;background:#e9f5ee}.day-selector .schedule-date-markers{justify-content:center}.quick-head .schedule-date-markers{justify-content:center;gap:2px;margin:4px 0}.quick-head .schedule-date-marker{padding:2px 3px;font-size:8px}.quick-row.quick-head>div{justify-content:flex-start;padding:7px 1px}.quick-head strong{white-space:nowrap}.quick-head .x3-badge{margin-left:2px;padding:1px 3px;font-size:7px}.quick-mode-button,.quick-schedule{display:none}.schedule-preview-button{white-space:nowrap}.quick-request-detail{color:#356956;background:#edf5f1;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:10px;font-weight:800}.quick-request-detail.rest{color:#a5522d;background:#fff0e8}.quick-request-detail.late{color:#705692;background:#eee9f6}.quick-request-detail.middle{color:#45699a;background:#eef2fb}body:has(.schedule-preview-overlay){overscroll-behavior:none;overflow:hidden}.schedule-preview-overlay{z-index:70;background:#e9eeeb;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.schedule-preview-overlay>header{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:16px 22px;display:flex;box-shadow:0 6px 18px #173b300f}.schedule-preview-overlay>header span{color:var(--muted);font-size:9px;font-weight:800;display:block}.schedule-preview-overlay>header h2{margin:4px 0 0;font-size:18px}.schedule-preview-overlay>header button{color:#53635c;cursor:pointer;background:#f1f4f2;border:0;border-radius:10px;width:38px;height:38px;font-size:24px}.schedule-preview-stage{overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch;justify-content:flex-start;align-items:flex-start;min-height:0;padding:26px;display:flex;overflow:auto}.schedule-preview-image{flex:none;margin:auto;transition:width .16s,height .16s;box-shadow:0 18px 60px #173b3030}.schedule-preview-image img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.preview-loading,.preview-error{color:var(--muted);background:#fff;border-radius:14px;margin:auto;padding:20px 24px;font-size:12px}.preview-error{color:#a5522d}.schedule-preview-overlay>footer{z-index:2;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;justify-content:flex-end;align-items:center;gap:10px;display:flex;box-shadow:0 -6px 18px #173b300f}.preview-zoom{align-items:center;gap:8px;margin-right:auto;display:flex}.preview-zoom button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;width:38px;height:38px;font-size:20px}.preview-zoom button:disabled{opacity:.4}.preview-zoom span{color:#52635b;text-align:center;min-width:48px;font-size:11px;font-weight:800}.preview-download{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (max-width:700px){.quick-mode-button{display:block}.toolbar-actions{grid-template-columns:minmax(0,1fr) auto!important}.toolbar-actions .filter-switch{grid-column:1/-1}.toolbar-actions .view-toggle{grid-column:1;min-width:0}.toolbar-actions:has(.quick-mode-button.active) .view-toggle{grid-column:1/-1}.toolbar-actions .schedule-preview-button{grid-column:2;justify-content:center;align-items:center;min-height:40px;padding:8px 12px;display:inline-flex!important}.quick-schedule{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:14px;display:block;overflow:hidden;box-shadow:0 10px 35px #1d30290d}.quick-schedule-scroller{overscroll-behavior:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;min-height:260px;max-height:calc(100dvh - 270px);position:relative;overflow:auto}.quick-schedule-grid{width:max-content;min-width:610px}.quick-row{grid-template-columns:92px repeat(7,74px);min-height:62px;display:grid}.quick-row>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.quick-row>:last-child{border-right:0}.quick-row:last-child>*{border-bottom:0}.quick-head{z-index:6;background:#edf3f0;min-height:60px;position:sticky;top:0}.quick-head>div{color:#45584f;flex-direction:column;justify-content:center;align-items:center;display:flex}.quick-head span{color:#718078;margin-top:4px;font-size:9px}.quick-name-cell{z-index:4;background:#fff;align-items:center;padding:8px 9px;display:flex;position:sticky;left:0;box-shadow:7px 0 13px #173b3012}.quick-name-cell strong{text-overflow:ellipsis;white-space:nowrap;max-width:74px;font-size:11px;overflow:hidden}.quick-head .quick-name-cell{z-index:8;background:#dfeae5;justify-content:flex-start;font-size:10px;font-weight:800}.quick-shift-cell{color:#9aa49f;cursor:pointer;background:#fff;border:0;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:62px;padding:6px;display:flex;position:relative}.quick-shift-cell strong,.quick-shift-cell span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.25;display:block}.quick-shift-cell.scheduled{color:#285e4b;background:#edf6f1;box-shadow:inset 3px 0 #79aa9b}.quick-shift-cell.scheduled.late{color:#95502e;background:#fff0e7;box-shadow:inset 3px 0 #df9e76}.quick-shift-cell.training{color:#654e85;background:#f2edf9;box-shadow:inset 3px 0 #a28dc5}.quick-shift-cell>i{background:#4b79a6;border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px;box-shadow:0 0 0 2px #fff}.quick-shift-cell.request-rest>i{background:#d56f42}.quick-shift-cell.request-late>i{background:#8061a7}.quick-shift-cell.request-middle>i{background:#547bb1}.quick-empty{text-align:center;color:var(--muted);padding:26px;font-size:11px}.edit-modal.quick-shift-sheet{border-radius:20px 20px 0 0;align-self:end;width:100%;height:auto;max-height:min(88dvh,760px)}.quick-shift-sheet .modal-head{padding:16px}.quick-shift-sheet .modal-actions{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.schedule-preview-overlay>header{padding:calc(12px + env(safe-area-inset-top)) 14px 12px}.schedule-preview-overlay>header h2{font-size:16px}.schedule-preview-stage{padding:14px}.schedule-preview-overlay>footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:7px}.schedule-preview-overlay>footer>.secondary-button{display:none}.preview-zoom{gap:5px}.preview-zoom button{width:36px;height:36px}.preview-zoom span{min-width:42px}.preview-download{min-height:38px;padding:8px 12px}.ok-card,.alert-card{border-radius:11px;gap:9px;margin:10px 0;padding:9px 11px}.ok-card>span,.alert-icon{border-radius:7px;flex:0 0 26px;width:26px;height:26px;font-size:11px}.ok-card strong,.alert-card strong{font-size:10px}.ok-card p,.alert-card p{margin-top:2px;font-size:8px;line-height:1.35}.stats-grid{gap:6px;margin-bottom:10px;grid-template-columns:repeat(2,minmax(0,1fr))!important}.stats-grid article{border-radius:11px;min-height:0;padding:9px 10px}.stats-grid span{font-size:8px}.stats-grid strong{margin-top:4px;font-size:16px}.stats-grid strong small{font-size:8px}.stats-grid em{margin-top:4px;font-size:7px}.schedule-table .table-head,.readonly-schedule-table .readonly-head{z-index:auto;position:static;top:auto}.schedule-table{min-width:1160px}.schedule-table .table-row{grid-template-columns:156px repeat(7,minmax(130px,1fr)) 94px}.schedule-table .table-head{min-height:70px}.schedule-table .table-head>div{justify-content:center;padding:6px 8px}.schedule-table .table-head strong{font-size:10px}.schedule-table .table-head span{font-size:8px}.schedule-table .table-head small{margin-top:3px;font-size:7px}.schedule-table .holiday-tag{margin-top:3px;padding:2px 4px;font-size:6px}.schedule-table .table-head>:first-child,.readonly-schedule-table .readonly-head>div:first-child{z-index:3}.quick-schedule{border-left:0;border-right:0;border-radius:0;margin:10px -14px 0}.quick-schedule-scroller{max-height:calc(100dvh - 238px)}.quick-schedule-grid{border-top:1px solid #bdc9c3;border-left:1px solid #bdc9c3;width:386px;min-width:386px}.quick-row{grid-template-columns:78px repeat(7,44px);min-height:50px}.quick-row>*{border-color:#bdc9c3}.quick-head{min-height:47px}.quick-head strong{font-size:8px}.quick-head span{margin-top:2px;font-size:7px}.quick-name-cell{padding:5px 6px;box-shadow:4px 0 8px #173b3010}.quick-name-cell strong{max-width:65px;font-size:9px}.quick-head .quick-name-cell{font-size:8px}.quick-shift-cell{min-height:50px;padding:2px}.quick-shift-cell strong,.quick-shift-cell span{font-size:9px;line-height:1.08}.quick-shift-cell span{margin-top:2px}.quick-shift-cell.scheduled{box-shadow:inset 2px 0 #79aa9b}.quick-shift-cell.scheduled.late{box-shadow:inset 2px 0 #df9e76}.quick-shift-cell.training{box-shadow:inset 2px 0 #a28dc5}.quick-shift-cell.has-request{outline-offset:-2px;outline:2px solid #4b79a6}.quick-shift-cell.request-rest{outline-color:#d56f42}.quick-shift-cell.request-late{outline-color:#8061a7}.quick-shift-cell.request-middle{outline-color:#547bb1}.quick-shift-cell>i{color:#fff;border-radius:3px;place-items:center;width:12px;height:12px;font-size:6px;font-style:normal;font-weight:900;display:grid;top:2px;right:2px;box-shadow:0 0 0 1px #fff}.quick-shift-cell>i:after{content:"申"}}@media (max-width:380px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.quick-schedule-grid{width:386px;min-width:386px}}@media (max-width:700px){.quick-schedule-grid{border-color:#d5ded9}.quick-row>*{box-sizing:border-box;border-bottom:1px solid #d5ded9!important;border-right:1px solid #d5ded9!important}.quick-row>:last-child{border-right:1px solid #d5ded9!important}.quick-row:last-child>*{border-bottom:1px solid #d5ded9!important}}.store-switcher{border:1px solid var(--line);min-width:180px;max-width:250px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;padding:7px 10px;display:grid}.store-switcher span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:8px;overflow:hidden}.store-switcher strong{text-overflow:ellipsis;white-space:nowrap;grid-column:1;margin-top:2px;font-size:10px;overflow:hidden}.store-switcher b{color:#315dcd;white-space:nowrap;grid-area:1/2/3;align-self:center;margin-left:8px;font-size:9px}.permission-center{gap:18px;min-width:0;display:grid}.permission-head,.grant-form,.grant-list,.organization-tree,.brand-logo-panel,.audit-list{border:1px solid var(--line);background:#fff;border-radius:18px;box-shadow:0 10px 30px #173b3009}.permission-head{justify-content:space-between;align-items:flex-start;gap:18px;padding:22px;display:flex}.permission-head h2{margin:4px 0 6px}.permission-head p{color:var(--muted);margin:0}.permission-head>strong{color:#315d4c;white-space:nowrap;background:#e8f3ee;border-radius:999px;padding:8px 11px}.permission-tabs{border:1px solid var(--line);background:#fff;border-radius:14px;gap:6px;padding:5px;display:flex;overflow:auto}.permission-tabs button{min-width:max-content;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:10px 14px;font-weight:750}.permission-tabs button.active{background:var(--green);color:#fff}.permission-catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.permission-catalog section{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.permission-catalog header,.grant-list>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.permission-catalog h3,.grant-list h3{margin:0;font-size:14px}.permission-catalog header span,.grant-list header span{color:var(--muted);font-size:12px}.permission-item{border-bottom:1px solid #eef1ef;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:11px 15px;display:grid}.permission-item:last-child{border-bottom:0}.permission-item code{color:#527666;text-overflow:ellipsis;grid-column:1/-1;font-size:11px;overflow:hidden}.permission-item strong{font-size:13px}.permission-item small{color:var(--muted)}.role-matrix{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:auto}.role-matrix-head,.role-matrix-row{grid-template-columns:minmax(230px,1fr) repeat(8,88px);align-items:stretch;min-width:940px;display:grid}.role-matrix-head{z-index:2;background:#e9f1ed;position:sticky;top:0}.role-matrix-head>*,.role-matrix-row>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;justify-content:center;align-items:center;padding:10px;display:flex}.role-matrix-head>:first-child,.role-matrix-row>:first-child{z-index:1;background:inherit;text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;position:sticky;left:0}.role-matrix-row{background:#fff}.role-matrix-row span strong,.role-matrix-row span code{display:block}.role-matrix-row span code{color:#638074;margin-top:3px;font-size:10px}.role-matrix-module{color:#426456;background:#f6f8f7;min-width:940px;padding:8px 13px;font-size:12px;font-weight:800}.grant-form{padding:18px}.grant-form header h3{margin:0}.grant-form header p{color:var(--muted);margin:5px 0 0;font-size:13px}.grant-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.grant-grid label{color:#52675e;gap:6px;font-size:12px;font-weight:750;display:grid}.grant-grid input,.grant-grid select{border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:10px 11px}.grant-grid .checkbox-line{align-items:center;gap:8px;display:flex}.grant-grid .checkbox-line input{width:18px;height:18px}.grant-reason{grid-column:span 2}.grant-grid>.primary-button{align-self:end;min-height:40px}.grant-list{overflow:hidden}.grant-list article{border-bottom:1px solid var(--line);padding:15px 17px}.grant-list article:last-child{border-bottom:0}.grant-list article.revoked{opacity:.58}.grant-list article>div{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.grant-list article code{color:#315d4c;background:#edf3f0;border-radius:7px;padding:3px 7px;font-size:11px}.grant-list article p{margin:8px 0 4px}.grant-list article small{color:var(--muted)}.grant-list article footer{gap:7px;margin-top:10px;display:flex}.grant-list article footer button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;padding:7px 10px}.organization-tree{gap:8px;padding:16px;display:grid}.organization-unit{border:1px solid var(--line);border-radius:11px;grid-template-columns:80px minmax(140px,1fr) auto auto;align-items:center;gap:10px;padding:11px 13px;display:grid}.organization-unit span{color:var(--muted);text-transform:uppercase;font-size:11px}.organization-unit code{color:#527666}.organization-unit.level-business{margin-left:18px}.organization-unit.level-brand{margin-left:36px}.organization-unit.level-region{margin-left:54px}.organization-unit.level-store{margin-left:72px}.organization-unit em{color:#a04c37}.brand-logo-panel>header{border-bottom:1px solid var(--line);padding:17px 19px}.brand-logo-panel h3{margin:0;font-size:15px}.brand-logo-panel header p{color:var(--muted);margin:4px 0 0;font-size:10px}.brand-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;display:grid}.brand-logo-grid article{border:1px solid var(--line);border-radius:14px;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.brand-logo-grid article>img{object-fit:cover;background:#f7f9ff;border-radius:14px;grid-row:span 2;width:64px;height:64px}.brand-logo-grid strong,.brand-logo-grid code{display:block}.brand-logo-grid strong{font-size:12px}.brand-logo-grid code{color:var(--muted);margin-top:4px;font-size:9px}.brand-logo-grid label{color:#244fae;cursor:pointer;background:#edf2ff;border-radius:8px;grid-column:2;justify-self:start;padding:7px 10px;font-size:9px;font-weight:800}.brand-logo-grid label.disabled{cursor:not-allowed;opacity:.5}.brand-logo-grid input{display:none}.audit-list{overflow:hidden}.audit-list article{border-bottom:1px solid var(--line);grid-template-columns:1.2fr 1fr auto;gap:5px 14px;padding:13px 16px;display:grid}.audit-list article:last-child{border-bottom:0}.audit-list article p{color:var(--muted);grid-column:1/3;margin:0}.audit-list article time{color:var(--muted);grid-area:1/3/3;font-size:11px}@media (max-width:1000px){.permission-catalog,.grant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.store-selection-card>header{padding:20px;display:block}.store-selection-card>header>img{width:132px;height:46px;margin-bottom:12px}.store-selection-card>footer{padding-inline:16px}.hierarchy-picker{max-height:61dvh;padding:14px;overflow-y:auto}.hierarchy-fields,.hierarchy-store-list{grid-template-columns:1fr}.brand-logo-grid{grid-template-columns:1fr;padding:12px}.brand-logo-grid article{grid-template-columns:58px minmax(0,1fr)}.brand-logo-grid article>img{width:58px;height:58px}.store-switcher{min-width:0;max-width:145px;padding:7px 8px}.store-switcher span{display:none}.store-switcher strong{grid-row:1/3;align-self:center}.store-picker-modal .hierarchy-picker{max-height:none;padding:12px}.store-picker-modal .modal-body{padding:0}.permission-center{gap:12px}.permission-head{padding:15px}.permission-head p{font-size:11px}.permission-head>strong{font-size:10px}.permission-tabs button{padding:9px 11px;font-size:11px}.permission-catalog,.grant-grid{grid-template-columns:1fr}.grant-reason{grid-column:auto}.organization-unit{grid-template-columns:54px minmax(0,1fr);gap:5px 8px}.organization-unit code{grid-column:2}.organization-unit.level-business{margin-left:6px}.organization-unit.level-brand{margin-left:12px}.organization-unit.level-region{margin-left:18px}.organization-unit.level-store{margin-left:24px}.audit-list article{grid-template-columns:1fr}.audit-list article p,.audit-list article time{grid-area:auto/1}.mobile-nav{scrollbar-width:none;grid-auto-columns:minmax(52px,1fr);grid-auto-flow:column;overflow:auto hidden;grid-template-columns:none!important}.mobile-nav.employee{grid-auto-columns:auto;grid-auto-flow:row;overflow:hidden;grid-template-columns:repeat(2,1fr)!important}}.permission-head-stats{justify-items:end;gap:5px;display:grid}.permission-head-stats>strong{color:#315d4c;white-space:nowrap;background:#e8f3ee;border-radius:999px;padding:8px 11px}.permission-head-stats>span{color:var(--muted);font-size:10px}.permission-toolbar{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:9px;padding:11px 13px;display:flex}.permission-toolbar input,.permission-toolbar select,.grant-list-filters input,.grant-list-filters select{border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:9px 10px;font-size:10px}.permission-toolbar input{flex:1}.permission-toolbar select{width:160px}.permission-toolbar>span{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:9px}.permission-item{grid-template-columns:minmax(0,1fr) auto}.permission-item>em{color:#386553;background:#edf3f0;border-radius:999px;align-self:start;padding:3px 6px;font-size:8px;font-style:normal}.permission-item>small{grid-column:1/-1;line-height:1.55}.role-matrix-note{background:#f5faf7;border:1px solid #d8e5df;border-radius:13px;justify-content:space-between;align-items:center;gap:15px;padding:11px 14px;display:flex}.role-matrix-note strong{font-size:11px}.role-matrix-note span{color:var(--muted);text-align:right;font-size:9px}.grant-list>header>div:first-child span{color:var(--muted);margin-top:3px;font-size:9px;display:block}.grant-list-filters{align-items:center;gap:7px;min-width:min(500px,60%);display:flex}.grant-list-filters input{flex:1}.grant-list-filters select{width:110px}.grant-status{color:#267056;background:#e5f4ec;border-radius:999px;padding:3px 7px;font-size:8px;font-style:normal}.grant-status.pending{color:#49699a;background:#edf1fa}.grant-status.expired{color:#756c5b;background:#f3f1ed}.grant-status.revoked{color:#9b543d;background:#f7eae6}.grant-list article.expired,.grant-list article.revoked{opacity:.7}.permission-empty{color:var(--muted);text-align:center;padding:30px;font-size:10px}.permission-architecture-link{border:1px solid var(--line);background:#fff;border-radius:17px;justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex;box-shadow:0 10px 30px #173b3009}.permission-architecture-link h3{margin:5px 0}.permission-architecture-link p{color:var(--muted);margin:0;font-size:10px}.audit-list article details{grid-column:1/-1;margin-top:5px}.audit-list article summary{color:#356856;cursor:pointer;font-size:9px;font-weight:800}.audit-list article details>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:8px;display:grid}.audit-list article details section{border:1px solid var(--line);background:#f7f9f8;border-radius:9px;min-width:0;padding:9px}.audit-list article details b{font-size:9px}.audit-list article pre{color:#42544c;white-space:pre-wrap;word-break:break-word;max-height:240px;margin:6px 0 0;font-size:8px;overflow:auto}.permission-action-modal{width:min(560px,100%)}@media (max-width:700px){.permission-head-stats{justify-items:start}.permission-toolbar,.role-matrix-note,.permission-architecture-link{flex-direction:column;align-items:stretch}.permission-toolbar select{width:100%}.permission-toolbar>span{margin-left:0}.role-matrix-note span{text-align:left}.grant-list>header{flex-direction:column;align-items:stretch;gap:9px}.grant-list-filters{flex-direction:column;align-items:stretch;width:100%;min-width:0}.grant-list-filters select{width:100%}.audit-list article details>div{grid-template-columns:1fr}.permission-architecture-link button{width:100%}}.accounts-page{gap:11px}.accounts-head{justify-content:space-between;align-items:flex-end;gap:18px;padding:2px 1px;display:flex}.accounts-head h2{font-size:21px}.accounts-head-actions{align-items:center;gap:8px;display:flex}.accounts-head-actions button{padding:9px 12px;font-size:10px}.account-list-card>header.account-list-toolbar{gap:15px;padding:11px 14px}.account-list-toolbar h3{font-size:13px}.account-list-toolbar p{margin-top:3px}.account-filters{justify-content:flex-end;align-items:center;gap:8px;min-width:min(520px,55%);display:flex}.account-filters input,.account-filters select{border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:8px 10px;font-size:9px}.account-filters input{flex:1}.account-filters select{width:130px}.account-list{overflow:auto}.account-row{grid-template-columns:minmax(145px,1.1fr) minmax(120px,.85fr) minmax(145px,1.05fr) 105px 88px 145px;gap:9px;min-width:850px;min-height:45px;padding:6px 13px}.account-row.head{z-index:1;min-height:31px;padding-block:5px;position:sticky;top:0}.account-row strong,.account-row span,.account-row time{font-size:9px}.account-row span small,.account-row time small{color:var(--muted);margin-top:2px;font-size:7px;display:block}.account-primary strong,.account-primary small{display:block}.account-primary strong{font-size:10px}.account-row>b{white-space:nowrap;padding:4px 6px;font-size:7px}.account-row time{color:#52635b;font-style:normal}.account-actions{flex-wrap:nowrap;gap:3px}.account-actions button{border:1px solid var(--line);color:#53645c;font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border-radius:7px;padding:5px 7px;font-size:8px;font-weight:750}.account-actions button.account-action-edit{color:#2e6954;background:#edf6f1;border-color:#b9d4c8}.account-actions button.danger{color:#a65338;background:#fff7f4;border-color:#f0d3ca}.account-actions>span{color:var(--muted);font-size:8px}.account-empty{color:var(--muted);text-align:center;padding:28px;font-size:10px}.account-create-modal{width:min(650px,100%)}.account-create-modal .account-create-grid{grid-template-columns:1fr 1fr;align-items:start;padding:18px 20px}.account-create-modal .account-create-grid label.wide,.account-create-modal .account-create-grid .wide{grid-column:1/-1}.account-create-modal .account-create-grid input,.account-create-modal .account-create-grid select{margin-top:4px}.account-create-modal .form-hint{margin:0}@media (max-width:900px){.accounts-head{flex-direction:column;align-items:stretch}.accounts-head-actions{justify-content:flex-end}.account-filters{width:100%;min-width:0}.account-list-card>header.account-list-toolbar{flex-direction:column;align-items:stretch}.account-row{grid-template-columns:minmax(145px,1.1fr) minmax(120px,.85fr) minmax(145px,1.05fr) 105px 88px 145px}.account-actions{grid-column:auto}}@media (max-width:700px){.accounts-head-actions{grid-template-columns:1fr 1fr;display:grid}.accounts-head-actions button{width:100%}.account-filters{flex-direction:column;align-items:stretch}.account-filters select{width:100%}.account-row.head{display:none}.account-row{grid-template-columns:minmax(0,1fr) auto;gap:7px;min-width:0;padding:11px 13px}.account-row>.account-primary{grid-column:1}.account-row>b{grid-area:1/2}.account-row>span:nth-child(2),.account-row>span:nth-child(3){border-top:1px solid #edf0ee;grid-column:1/-1;padding-top:5px}.account-row>time{display:none}.account-actions{grid-column:1/-1;justify-content:flex-end}.account-create-modal .account-create-grid{grid-template-columns:1fr;padding:14px}.account-create-modal .account-create-grid label.wide,.account-create-modal .account-create-grid .wide{grid-column:auto}}.architecture-page{gap:16px;min-width:0;display:grid}.architecture-head{border:1px solid var(--line);background:#fff;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px;display:flex;box-shadow:0 10px 30px #173b3009}.architecture-head h2{margin:4px 0 6px}.architecture-head p{max-width:720px;color:var(--muted);margin:0}.architecture-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.architecture-summary article{border:1px solid var(--line);background:#fff;border-radius:15px;padding:16px 18px}.architecture-summary span,.architecture-summary small{color:var(--muted);font-size:11px}.architecture-summary strong{margin-top:5px;font-size:23px;display:block}.architecture-create-card,.architecture-tree-card,.architecture-detail-card{border:1px solid var(--line);background:#fff;border-radius:18px;box-shadow:0 10px 30px #173b3009}.architecture-create-card{padding:18px}.architecture-create-card>header h3{margin:0}.architecture-create-card>header p{color:var(--muted);margin:5px 0 0;font-size:12px}.architecture-form-grid{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;margin-top:15px;display:grid}.architecture-form-grid label,.store-profile-grid label,.organization-detail-form label{color:#52675e;gap:6px;font-size:11px;font-weight:750;display:grid}.architecture-form-grid input,.architecture-form-grid select,.store-profile-grid input,.store-profile-grid select,.organization-detail-form input{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:10px 11px}.architecture-form-grid small{color:var(--muted);font-size:8px;font-weight:500}.architecture-layout{grid-template-columns:minmax(280px,34%) minmax(0,1fr);align-items:start;gap:16px;display:grid}.architecture-tree-card{overflow:hidden}.architecture-tree-card>header{border-bottom:1px solid var(--line);gap:10px;padding:16px;display:grid}.architecture-tree-card h3{margin:0;font-size:15px}.architecture-tree-card header small{color:var(--muted)}.architecture-tree-card input{border:1px solid var(--line);font:inherit;background:#f8faf9;border-radius:10px;padding:10px 11px}.architecture-tree{max-height:720px;padding:10px;overflow:auto}.architecture-tree-branch{display:grid}.architecture-tree-item{width:calc(100% - var(--tree-depth,0) * 12px);margin-left:calc(var(--tree-depth,0) * 12px);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;display:grid}.architecture-tree-item:hover{background:#f5f8f6}.architecture-tree-item.selected{background:#eef7f2;border-color:#a8cabc}.architecture-tree-item.inactive{opacity:.55}.architecture-tree-item>span{color:#315d4c;background:#e9f2ee;border-radius:9px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:850;display:grid}.architecture-tree-item strong,.architecture-tree-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.architecture-tree-item strong{font-size:12px}.architecture-tree-item small{color:var(--muted);margin-top:3px;font-size:8px}.architecture-tree-item em{color:#9b5c3a;white-space:nowrap;background:#fff0e8;border-radius:999px;padding:4px 6px;font-size:8px}.architecture-tree-item em.configured{color:#2d735e;background:#e7f3ed}.architecture-detail-card{min-width:0;overflow:hidden}.architecture-detail-head{border-bottom:1px solid var(--line);background:#fafcfb;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 20px;display:flex}.architecture-detail-head span{color:var(--muted);font-size:9px;display:block}.architecture-detail-head h3{margin:5px 0 3px;font-size:19px}.architecture-detail-head p{color:var(--muted);margin:0;font-size:10px}.architecture-detail-head>em{color:#9a5437;background:#f2e9e4;border-radius:999px;padding:6px 9px;font-size:9px}.architecture-detail-head>em.active{color:#286b55;background:#e4f2eb}.store-profile-form{display:grid}.store-profile-section{border-bottom:1px solid var(--line);padding:18px 20px}.store-profile-section>header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px;display:flex}.store-profile-section h4{margin:0;font-size:14px}.store-profile-section header p{color:var(--muted);margin:4px 0 0;font-size:10px}.store-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.store-profile-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.store-profile-grid label.wide{grid-column:span 2}.store-profile-grid input:disabled,.store-profile-grid select:disabled,.organization-detail-form input:disabled{color:#77837d;background:#f3f6f4}.architecture-detail-actions{background:#fbfcfb;justify-content:space-between;align-items:center;gap:15px;padding:15px 20px;display:flex}.architecture-detail-actions span{color:var(--muted);font-size:9px}.organization-detail-form{grid-template-columns:1fr 1fr;gap:13px;padding:20px;display:grid}.organization-detail-form footer{grid-column:1/-1;gap:10px;display:flex}.organization-detail-form .danger-button{cursor:pointer;border:0;border-radius:10px;padding:10px 14px}@media (max-width:1000px){.architecture-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.architecture-layout{grid-template-columns:1fr}.architecture-tree{max-height:390px}}@media (max-width:700px){.architecture-page{gap:12px}.architecture-head{padding:15px;display:grid}.architecture-head p{font-size:10px}.architecture-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.architecture-summary article{padding:11px}.architecture-summary strong{font-size:18px}.architecture-create-card{padding:14px}.architecture-form-grid,.store-profile-grid,.store-profile-grid.compact,.organization-detail-form{grid-template-columns:1fr}.store-profile-grid label.wide,.organization-detail-form footer{grid-column:auto}.architecture-tree-card>header{padding:13px}.architecture-tree{max-height:48dvh}.architecture-detail-head,.store-profile-section{padding:14px}.store-profile-section>header{display:grid}.architecture-detail-actions{bottom:calc(62px + env(safe-area-inset-bottom));z-index:3;background:#fff;flex-direction:column;align-items:stretch;padding:11px 14px;position:sticky;box-shadow:0 -8px 22px #173b3014}.architecture-detail-actions .primary-button{width:100%}.organization-detail-form{padding:14px}}.account-row{grid-template-columns:minmax(145px,1.1fr) minmax(120px,.85fr) minmax(145px,1.05fr) 105px 88px 180px;min-width:885px}.account-actions{flex-wrap:wrap}.account-actions button.account-action-scope{color:#2e6954;background:#edf6f1;border-color:#b9d4c8}.account-scope-modal{width:min(590px,100%)}.architecture-detail-buttons{justify-content:flex-end;align-items:center;gap:9px;display:flex}.architecture-detail-buttons .danger-button{cursor:pointer;border:0;border-radius:10px;padding:10px 14px}@media (max-width:900px){.account-row{grid-template-columns:minmax(145px,1.1fr) minmax(120px,.85fr) minmax(145px,1.05fr) 105px 88px 180px}}@media (max-width:700px){.account-row{grid-template-columns:minmax(0,1fr) auto;min-width:0}.architecture-detail-buttons{grid-template-columns:1fr 1fr;display:grid}.architecture-detail-buttons button{width:100%}}.calendar-page{gap:14px;display:grid}.calendar-page-nav{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 17px;display:grid}.calendar-page-nav>div{text-align:center}.calendar-page-nav h2{margin:0;font-size:20px}.calendar-page-nav span{color:var(--muted);margin-top:4px;font-size:11px;display:block}.calendar-page .calendar-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.calendar-page .calendar-month{padding:18px}.calendar-page .calendar-month h3{text-align:center;margin-bottom:14px;font-size:19px}.calendar-page .calendar-weekdays span{padding:8px 3px;font-size:11px}.calendar-page .calendar-day{gap:5px;min-height:142px;padding:9px 8px}.calendar-page .calendar-date-number{font-size:14px}.calendar-page .calendar-day-meta{flex-wrap:wrap;align-content:flex-start;gap:2px 6px;width:100%;min-height:34px;display:flex}.calendar-page .calendar-day em,.calendar-page .calendar-day small{font-size:9px;line-height:1.35}.calendar-page .calendar-event-list{align-content:start;gap:4px;width:100%;min-height:48px;display:grid}.calendar-page .calendar-event{white-space:normal;min-height:22px;padding:4px 6px;font-size:9px;line-height:1.35}.calendar-page-dots{justify-content:center;gap:6px;display:flex}.calendar-page-dots button{cursor:pointer;background:#cad5d0;border:0;border-radius:999px;width:8px;height:8px;padding:0}.calendar-page-dots button.active{background:#2d735e;width:24px}@media (max-width:700px){.calendar-page-nav{grid-template-columns:auto 1fr auto;gap:7px;padding:10px}.calendar-page-nav .secondary-button{padding:8px;font-size:10px}.calendar-page-nav h2{font-size:14px}.calendar-page-nav span{font-size:8px}.calendar-page .calendar-months{grid-template-columns:1fr;gap:12px}.calendar-page .calendar-month{padding:11px}.calendar-page .calendar-month h3{font-size:16px}.calendar-page .calendar-weekdays span{font-size:9px}.calendar-page .calendar-day{min-height:104px;padding:6px 4px}.calendar-page .calendar-day-meta{min-height:27px}.calendar-page .calendar-event-list{gap:2px;min-height:32px}.calendar-page .calendar-event{min-height:17px;padding:2px 3px;font-size:7px}}.training-page{gap:18px;display:grid}.training-page-head{background:linear-gradient(135deg,#f7fbf9,#eef6f2);border:1px solid #dce7e1;border-radius:18px;padding:24px;box-shadow:0 10px 30px #173b3009}.training-page-head>span,.training-placeholder-card>div>span{color:#39715d;letter-spacing:.08em;font-size:10px;font-weight:850}.training-page-head h2{margin:7px 0 6px;font-size:26px}.training-page-head p{max-width:720px;color:var(--muted);margin:0;font-size:12px;line-height:1.7}.training-placeholder-card{background:#fff;border:1px dashed #b9cdc4;border-radius:18px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:18px;min-height:220px;padding:26px;display:grid}.training-placeholder-icon{color:#275f4b;background:#e7f2ed;border-radius:20px;place-items:center;width:72px;height:72px;font-size:24px;font-weight:900;display:grid}.training-placeholder-card h3{margin:7px 0 6px;font-size:18px}.training-placeholder-card p{max-width:680px;color:var(--muted);margin:0;font-size:11px;line-height:1.7}.mobile-nav-backdrop{z-index:45;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c211a9e;display:none;position:fixed;inset:0}.mobile-nav-sheet{background:#f7f8f6;border-radius:22px 22px 0 0;grid-template-rows:auto minmax(0,1fr);max-height:82dvh;display:grid;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -18px 55px #081a1440}.mobile-nav-sheet>header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:17px 18px 14px;display:flex}.mobile-nav-sheet>header span{color:var(--muted);font-size:9px;font-weight:800}.mobile-nav-sheet>header h2{margin:4px 0 0;font-size:18px}.mobile-nav-sheet>header>button{color:#65746d;cursor:pointer;background:#eef2f0;border:0;border-radius:10px;width:34px;height:34px;font-size:22px}.mobile-nav-groups{padding:14px 14px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;gap:13px;display:grid;overflow-y:auto}.mobile-nav-groups>section{border:1px solid var(--line);background:#fff;border-radius:15px;padding:13px}.mobile-nav-groups h3{color:#52665d;margin:0 0 10px;font-size:11px}.mobile-nav-groups>section>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mobile-nav-groups section button{text-align:left;cursor:pointer;background:#fbfcfb;border:1px solid #e7ebe8;border-radius:11px;align-items:center;gap:8px;min-width:0;min-height:68px;padding:10px;display:flex}.mobile-nav-groups section button>span{color:#376a57;background:#e9f2ee;border-radius:9px;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:11px;font-weight:900;display:grid}.mobile-nav-groups section button strong{min-width:0;font-size:10px;line-height:1.4}.mobile-nav-groups section button.active{color:#245b47;background:#edf6f1;border-color:#91baa9}.mobile-nav-groups section button.active>span{color:#fff;background:#2d735e}@media (max-width:700px){body:has(.mobile-nav-backdrop){overscroll-behavior:none;overflow:hidden}.mobile-nav.mobile-nav-tiered{grid-auto-columns:auto;grid-auto-flow:row;overflow:hidden;grid-template-columns:none!important;display:flex!important}.mobile-nav.mobile-nav-tiered>button{white-space:nowrap;flex:1;min-width:0;padding:5px 2px 4px}.mobile-nav-backdrop{display:block}.training-page{gap:12px}.training-page-head{padding:17px}.training-page-head h2{font-size:22px}.training-page-head p{font-size:10px}.training-placeholder-card{grid-template-columns:52px minmax(0,1fr);gap:13px;min-height:180px;padding:18px}.training-placeholder-icon{border-radius:15px;width:52px;height:52px;font-size:18px}.training-placeholder-card h3{font-size:16px}.training-placeholder-card p{font-size:10px}.mobile-nav-groups>section>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:370px){.mobile-nav-groups>section>div{grid-template-columns:1fr}.mobile-nav-groups section button{min-height:58px}}.training-confidentiality,.training-setup-notice{color:#76592e;background:#fff8e9;border:1px solid #e4c79e;border-radius:14px;align-items:center;gap:13px;padding:13px 16px;display:flex}.training-confidentiality strong,.training-setup-notice strong{flex:none;font-size:11px}.training-confidentiality span,.training-setup-notice span{font-size:10px;line-height:1.6}.training-setup-notice{color:#376354;background:#f0f7f4;border-color:#b9cdc4}.training-library-layout{grid-template-columns:minmax(220px,29%) minmax(0,1fr);align-items:start;gap:16px;display:grid}.training-catalog-card,.training-viewer-card,.training-upload-card{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #173b3009}.training-catalog-card>header{border-bottom:1px solid var(--line);background:#fafcfb;gap:11px;padding:15px;display:grid}.training-catalog-card>header>div{justify-content:space-between;align-items:center;display:flex}.training-catalog-card>header span{color:var(--muted);font-size:10px;font-weight:750}.training-catalog-card>header strong{font-size:11px}.training-catalog-card input,.training-viewer-card select,.training-upload-grid input{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:10px 11px}.training-material-list{align-content:start;gap:7px;max-height:620px;padding:10px;display:grid;overflow:auto}.training-material-list button{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#f7f9f8;border:1px solid #0000;border-radius:11px;gap:4px;padding:11px 12px;display:grid}.training-material-list button:hover{border-color:#cadbd3}.training-material-list button.active{background:#edf6f1;border-color:#91baa9}.training-material-list button strong{font-size:11px}.training-material-list button span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.training-empty{color:var(--muted);text-align:center;margin:0;padding:28px 8px;font-size:10px}.training-viewer-card{min-width:0}.training-viewer-card>header{border-bottom:1px solid var(--line);background:#fafcfb;justify-content:space-between;align-items:flex-end;gap:15px;padding:14px 16px;display:flex}.training-viewer-card>header>div{gap:6px;min-width:min(360px,70%);display:grid}.training-viewer-card>header span{color:var(--muted);font-size:9px;font-weight:750}.training-viewer-card>header small{color:var(--muted);font-size:8px}.training-protected-image{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:#eef1ef;place-items:center;min-height:440px;margin:0;padding:18px;display:grid;position:relative;overflow:hidden}.training-protected-image img{object-fit:contain;pointer-events:none;-webkit-user-drag:none;max-width:100%;max-height:72dvh;display:block}.training-watermarks{pointer-events:none;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,1fr);place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.training-watermarks span{color:#203f3370;letter-spacing:.08em;text-shadow:0 1px 2px #fffa;white-space:nowrap;font-size:12px;font-weight:850;transform:rotate(-20deg)}.training-viewer-empty{min-height:440px;color:var(--muted);text-align:center;place-content:center;gap:7px;padding:30px;display:grid}.training-viewer-empty strong{color:#52645c;font-size:15px}.training-viewer-empty span{font-size:10px}.training-viewer-card>footer{border-top:1px solid var(--line);color:var(--muted);background:#fafcfb;padding:11px 16px;font-size:9px}.training-upload-card{display:grid}.training-upload-card>header{padding:17px 19px 0}.training-upload-card>header span{color:#39715d;letter-spacing:.08em;font-size:9px;font-weight:850}.training-upload-card h3{margin:5px 0 4px;font-size:16px}.training-upload-card p{color:var(--muted);margin:0;font-size:10px}.training-upload-grid{grid-template-columns:1fr 1fr;gap:12px;padding:16px 19px;display:grid}.training-upload-grid label{color:#52675e;gap:6px;font-size:10px;font-weight:750;display:grid}.training-upload-grid label.wide{grid-column:1/-1}.training-upload-grid input[type=file]{padding:8px}.training-upload-card>footer{border-top:1px solid var(--line);background:#fafcfb;justify-content:space-between;align-items:center;gap:16px;padding:13px 19px;display:flex}.training-upload-card>footer span{color:var(--muted);font-size:9px}.training-upload-card button:disabled{opacity:.55;cursor:not-allowed}.training-admin-toolbar{background:#eef7f2;border:1px solid #b9d4c8;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.training-admin-toolbar>div{gap:4px;display:grid}.training-admin-toolbar strong{color:#285e4b;font-size:11px}.training-admin-toolbar span{color:#557066;font-size:9px}.training-admin-toolbar button:disabled{opacity:.6;cursor:not-allowed}.training-viewer-card>header>div{gap:5px;min-width:0}.training-viewer-card>header strong{font-size:14px}.training-protected-image img{opacity:0}.training-protected-image img.ready{opacity:1}.training-image-status{z-index:2;color:#52645c;text-align:center;background:#eef1ef;place-content:center;justify-items:center;gap:8px;padding:24px;display:grid;position:absolute;inset:0}.training-image-status i{border:3px solid #b8c8c1;border-top-color:#1f654d;border-radius:50%;width:28px;height:28px;animation:.75s linear infinite training-spin}.training-image-status strong{font-size:13px}.training-image-status span{color:var(--muted);font-size:9px}.training-image-status.error i{display:none}.training-image-status button{color:#fff;font:inherit;cursor:pointer;background:#174d3d;border:0;border-radius:9px;margin-top:4px;padding:8px 15px;font-weight:750}.training-watermarks span{color:#203f3326;letter-spacing:.06em;text-shadow:0 1px 1px #ffffff90;font-size:11px;font-weight:800}@keyframes training-spin{to{transform:rotate(360deg)}}@media (max-width:900px){.training-library-layout{grid-template-columns:1fr}.training-material-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:250px}}@media (max-width:700px){.training-confidentiality,.training-setup-notice{flex-direction:column;align-items:flex-start;gap:5px;padding:11px 13px}.training-admin-toolbar{flex-direction:column;align-items:stretch;padding:12px 13px}.training-admin-toolbar button{width:100%}.training-library-layout{gap:12px}.training-catalog-card>header{padding:12px}.training-material-list{grid-template-columns:1fr 1fr;max-height:220px;padding:8px}.training-material-list button{padding:9px}.training-viewer-card>header{flex-direction:column;align-items:stretch;padding:12px}.training-viewer-card>header>div{min-width:0}.training-protected-image,.training-viewer-empty{min-height:310px;padding:8px}.training-protected-image img{max-height:62dvh}.training-watermarks{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(2,1fr)}.training-watermarks span{font-size:9px}.training-upload-grid{grid-template-columns:1fr;padding:13px}.training-upload-grid label.wide{grid-column:auto}.training-upload-card>header{padding:14px 14px 0}.training-upload-card>footer{flex-direction:column;align-items:stretch;padding:12px 14px}.training-upload-card>footer button{width:100%}}
