:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#16322d;background:#f2f5f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 80% 0,#d9eee5 0,transparent 32%),#f2f5f1}button,input,select,textarea{font:inherit}button{cursor:pointer}.center-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px}.brand-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;color:#fff;background:#0d7c66;font-size:24px;font-weight:800;box-shadow:0 12px 30px #0d7c6633}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;padding:5vw;gap:5vw;align-items:center}.login-hero h1{font-size:clamp(48px,6vw,92px);line-height:.98;letter-spacing:-.06em;margin:18px 0 28px;max-width:850px}.login-hero p{font-size:18px;color:#65807a}.eyebrow{display:block;color:#0d7c66;font-size:12px;letter-spacing:.16em;font-weight:800;margin-bottom:8px}.login-card,.panel{background:#fff;border:1px solid #deebe5;border-radius:26px;box-shadow:0 24px 80px #234a3f14;padding:clamp(24px,4vw,48px)}.login-card h2{margin:24px 0 4px;font-size:30px}.login-card>p,.panel>p,.section-heading p{color:#738781;margin-top:6px}label{display:grid;gap:8px;font-size:13px;font-weight:700;color:#536c66}input,select,textarea{width:100%;border:1px solid #d7e4df;border-radius:13px;background:#f8faf9;color:#16322d;padding:14px 15px;outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:#0d7c66;box-shadow:0 0 0 4px #0d7c6615;background:#fff}.login-card label:first-of-type{margin-top:28px}.login-card label+label{margin-top:16px}button.primary,.upload-button{border:0;border-radius:13px;padding:15px 20px;background:#0d7c66;color:#fff;font-weight:800;text-align:center}.download-button{display:block;margin-top:22px;border-radius:13px;padding:15px 20px;background:#0d7c66;color:#fff;font-weight:800;text-align:center;text-decoration:none}.date-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}.login-card .primary{width:100%;margin-top:22px}button.secondary{border:1px solid #cce0d8;border-radius:13px;padding:13px 18px;background:#eaf4f0;color:#0d7c66;font-weight:800}button:disabled{opacity:.55;cursor:wait}.alert,.global-notice{background:#fff2d7;color:#805c08;border-radius:12px;padding:12px 14px;margin-top:14px;font-size:14px}.app-shell{max-width:1280px;min-height:100vh;margin:auto;padding:20px 28px 60px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 20px}.topbar strong{display:block;font-size:18px}.ghost{border:0;background:transparent;color:#667c76;padding:10px}.tabs{display:flex;gap:6px;padding:6px;width:fit-content;border-radius:15px;background:#e5ede9;margin-bottom:24px}.tabs button{border:0;background:transparent;padding:11px 17px;border-radius:11px;color:#657a74;font-weight:700}.tabs button.active{background:#fff;color:#0d7c66;box-shadow:0 5px 16px #2d574b12}.mobile-bottom-nav{display:none}.global-notice{position:fixed;z-index:9;top:20px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #61460022;max-width:90%}.content{min-height:600px}.panel h1,.panel h2{margin:8px 0}.panel.narrow{max-width:640px;margin:4vh auto}.step{display:inline-grid;place-items:center;min-width:40px;height:25px;border-radius:99px;background:#e2f1eb;color:#0d7c66;font-size:12px;font-weight:800;letter-spacing:.1em}.stack{display:grid;gap:16px;margin-top:28px}.inline-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:20px}.sequence-input{margin-top:20px;font-size:18px}.field-status{margin:10px 2px 0;color:#6f837d;font-size:13px}.plan-input-label{max-width:560px;margin-top:24px}.plan-input-label input{font-size:18px}.resolved-plan{display:grid;grid-template-columns:minmax(0,420px);gap:12px;margin-top:20px}.resolved-plan>div{display:grid;gap:5px;padding:15px 17px;border-radius:14px;background:#f1f8f5}.resolved-plan span{color:#72877f;font-size:12px}.resolved-plan strong{overflow:hidden;text-overflow:ellipsis}.entry-kind-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;margin-top:20px;border-radius:13px;background:#e9f0ed}.entry-kind-switch button{border:0;border-radius:10px;padding:11px 14px;color:#657a74;background:transparent;font-weight:800}.entry-kind-switch button.active{color:#0d7c66;background:#fff;box-shadow:0 4px 14px #2d574b12}.extra-entry-box{display:grid;gap:16px;margin-top:20px;padding:18px;border:1px solid #ead9ae;border-radius:15px;background:#fffbf0}.extra-entry-box>p{margin:0;color:#735c25;font-size:13px;line-height:1.7}.entry-placeholder{display:grid;min-height:110px;place-items:center;margin:22px 0 0;border:1px dashed #cddfd8;border-radius:15px;color:#82958e;background:#f8fbf9}.work-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);gap:20px}.work-source-panel{grid-column:2;grid-row:1}.work-quantity-panel{grid-column:1;grid-row:1}.work-page-stack{display:grid;gap:20px}.entry-success{grid-column:1 / -1;padding:13px 16px;border:1px solid #b9ddce;border-radius:14px;color:#086b58;background:#e9f7f1;font-weight:800}.work-page-stack .panel.narrow{width:100%}.attendance-panel{grid-column:1 / -1;padding:24px 28px}.attendance-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.attendance-heading p{margin:5px 0 0;color:#738781}.attendance-actions{display:flex;gap:10px}.attendance-times{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.attendance-times article{display:grid;gap:5px;padding:16px 18px;border-radius:15px;background:#f2f8f5}.attendance-times span,.attendance-times small{color:#71867f;font-size:12px}.attendance-times strong{font-size:24px}.attendance-note{margin:14px 0 0;color:#71867f;font-size:12px}.session-banner{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;border-radius:20px;color:#fff;padding:20px 26px;background:#163e35}.session-banner span,.session-banner small{display:block;color:#a9c5bc}.session-banner strong{display:block;font-size:24px;margin:4px 0}.danger-text{border:1px solid #ffffff33;border-radius:12px;background:transparent;color:#ffd9d3;padding:11px 15px}.panel.accent{background:#f9fffc;border-color:#bcdace}.sku-list{display:grid;gap:10px;margin-top:18px}.sku-card{display:grid;grid-template-columns:1fr auto;text-align:left;gap:5px 16px;padding:16px;border:1px solid #dce9e4;background:#fafcfb;border-radius:15px}.sku-card strong{font-size:18px}.sku-card span{grid-column:1;color:#70847e}.sku-card small{grid-column:1;color:#58716a}.sku-card em{grid-row:1 / 4;grid-column:2;align-self:center;font-style:normal;color:#0d7c66;font-weight:800}.sku-card.selected{border-color:#0d7c66;background:#edf8f3;box-shadow:0 0 0 3px #0d7c6611}.selected-sku{display:grid;gap:6px;margin:20px 0;padding:18px;border-radius:15px;background:#163e35;color:#fff}.selected-sku span{color:#a9c5bc;font-size:12px}.selected-sku small{color:#d2e7df}.selected-sku strong{font-size:26px}.selected-sku em{font-style:normal;color:#b5e3d3}.member-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:20px}.report-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:20px;align-items:start}.dashboard-panel{padding:clamp(24px,3vw,38px)}.dashboard-heading{align-items:start;margin-bottom:0}.member-picker{min-width:190px}.dashboard-dates{max-width:520px;margin:20px 0}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:24px 0}.productivity-members{margin:28px 0}.productivity-members h2{font-size:16px;margin-bottom:12px}.metric-grid article{min-height:118px;padding:16px;border-radius:17px;background:#f2f8f5;display:flex;flex-direction:column;justify-content:space-between}.metric-grid span,.metric-grid small{color:#71867f;font-size:12px}.metric-grid strong{font-size:clamp(20px,2vw,30px);letter-spacing:-.03em}.daily-chart{border-top:1px solid #e5eeea;padding-top:18px}.daily-chart h2{font-size:16px;margin-bottom:16px}.daily-row{display:grid;grid-template-columns:46px minmax(100px,1fr) 70px 82px;align-items:center;gap:10px;padding:7px 0;font-size:12px}.daily-row>div{height:9px;overflow:hidden;border-radius:99px;background:#e8f0ed}.daily-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d7c66,#63b997)}.daily-row small{color:#738781;text-align:right}.dashboard-empty{padding:36px 10px;color:#84968f;text-align:center}.export-panel{position:sticky;top:20px}.user-list{display:grid;margin-top:24px}.user-row{display:grid;grid-template-columns:1fr 150px auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #e7efeb}.user-actions{display:flex;justify-content:flex-end}.reset-password-form{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:10px;padding:14px;border-radius:14px;background:#f4f8f6}.user-row div span{display:block;color:#84968f;font-size:12px;margin-top:4px}.user-row select{padding:10px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.section-heading h1{font-size:34px}.upload-button{cursor:pointer;white-space:nowrap}.order-drop-zone{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:132px;margin:-6px 0 24px;padding:24px 28px;border:2px dashed #bdd5cb;border-radius:18px;background:#f6fbf8;transition:.2s ease}.order-drop-zone.active{border-color:#0d7c66;background:#e8f6f0;transform:translateY(-2px)}.order-drop-zone>div{display:grid;gap:7px}.order-drop-zone>div strong{font-size:18px}.order-drop-zone>div span{color:#748981;font-size:13px}.order-filters{display:grid;grid-template-columns:1fr 1fr 1.15fr auto;gap:12px;align-items:end;margin-bottom:18px}.bulk-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:0 0 12px}.bulk-actions span{color:#71867f;font-size:13px}.bound-badge,.unbound-badge,.anomaly-badge,.normal-badge,.protected-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.bound-badge,.normal-badge,.protected-badge{color:#08745f;background:#dff3eb}.unbound-badge{color:#6f6550;background:#f0ece3}.anomaly-badge{color:#a33d31;background:#fde7e3}.import-queue{display:grid;gap:10px;padding:18px;margin:-8px 0 24px;border:1px solid #dfeae5;border-radius:16px;background:#f8fbf9}.queue-heading,.import-job>div:first-child{display:flex;justify-content:space-between;gap:16px}.queue-heading span,.import-job span{color:#768a83;font-size:12px}.import-job{display:grid;gap:7px}.import-job.error span{color:#b44032}.import-job>div:first-child>div{display:grid;gap:2px}.import-job>div:first-child small{color:#768a83}.import-issues{border-radius:10px;padding:9px 11px;color:#87382f;background:#fff2f0;font-size:12px}.import-issues summary{cursor:pointer;font-weight:800}.import-issues ul{display:grid;gap:6px;margin:9px 0 0;padding-left:18px}.progress-track{height:6px;overflow:hidden;border-radius:99px;background:#e0ebe6}.progress-track i{display:block;height:100%;border-radius:inherit;background:#0d7c66;transition:width .2s ease}.import-job.error .progress-track i{background:#c94b3c}.binding-form{display:grid;grid-template-columns:2fr 1fr auto;gap:14px;align-items:end;margin-bottom:28px}.binding-filters{display:grid;grid-template-columns:minmax(280px,2fr) minmax(220px,1fr);gap:14px;max-width:780px;margin-bottom:24px}.binding-filters label{display:grid;gap:8px}.order-search-field{position:relative;display:grid;gap:8px}.order-search-field>label{display:block}.order-search-options{position:absolute;z-index:8;top:calc(100% + 6px);right:0;left:0;display:grid;max-height:320px;overflow-y:auto;border:1px solid #cfe0d9;border-radius:13px;padding:6px;background:#fff;box-shadow:0 16px 40px #234a3f24}.order-search-options>span{padding:14px;color:#71867f}.order-search-options button{display:flex;justify-content:space-between;gap:12px;border:0;border-radius:9px;padding:11px 12px;color:#284b42;background:transparent;text-align:left}.order-search-options button:hover,.order-search-options button[aria-selected=true]{background:#edf7f3}.order-search-options button:disabled{cursor:not-allowed;opacity:.65}.order-search-options small{color:#71867f;white-space:nowrap}.table-link{border:0;padding:0;background:transparent;color:#0d7c66;font-weight:800;text-decoration:underline;text-underline-offset:3px}.binding-details{margin-top:18px;padding:22px;border:1px solid #cae0d7;border-radius:18px;background:#f8fcfa}.mobile-binding-list,.mobile-detail-list{display:none}.mobile-binding-card,.mobile-detail-card,.mobile-entry-card{border:1px solid #dce9e4;border-radius:16px;background:#fff}.mobile-binding-card-heading,.mobile-binding-actions,.mobile-detail-card>div:first-child,.mobile-entry-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-binding-card-heading>div{display:grid;gap:3px}.mobile-binding-card-heading small,.mobile-binding-metrics span,.mobile-detail-card small,.mobile-entry-card small{color:#71867f;font-size:12px}.mobile-order-code{margin:14px 0;overflow-wrap:anywhere;color:#17483d;font-weight:800;line-height:1.5}.mobile-binding-metrics{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px}.mobile-binding-metrics span{display:grid;gap:5px}.mobile-binding-metrics strong{color:#16322d;font-size:14px}.mobile-binding-actions{margin-top:16px}.mobile-binding-actions button{flex:1;min-height:48px}.mobile-detail-card,.mobile-entry-card{display:grid;gap:9px;padding:15px}.mobile-detail-card>strong{font-size:18px}.mobile-detail-card dl,.mobile-entry-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 0}.mobile-entry-card dl{grid-template-columns:1fr 1fr}.mobile-detail-card dl>div,.mobile-entry-card dl>div{display:grid;gap:3px;padding:9px;border-radius:10px;background:#f2f8f5}.mobile-detail-card dt,.mobile-entry-card dt{color:#71867f;font-size:11px}.mobile-detail-card dd,.mobile-entry-card dd{margin:0;font-weight:800}.mobile-entry-card p{margin:0;color:#536c66;line-height:1.5}.mobile-empty{padding:38px 12px;color:#84968f;text-align:center}.binding-details-heading,.entry-detail-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.binding-details-heading{margin-bottom:16px}.binding-details-heading h2,.entry-detail-heading h3{margin:0}.binding-details-heading>strong,.entry-detail-heading span{color:#617871}.entry-detail-heading{margin:24px 2px 12px}.password-visibility{justify-self:start;border:0;padding:0;background:transparent;color:#0d7c66;font-weight:800}.packaging-type-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,.7fr) auto;gap:14px;align-items:end;margin:28px 0}.table-actions{display:flex;align-items:center;gap:7px}button.compact{padding:8px 10px;border-radius:9px;white-space:nowrap}.table-input,.table-select{min-width:150px;padding:9px 10px;border-radius:9px}.status-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.status-pill.published{color:#08745f;background:#dff3eb}.status-pill.draft{color:#6f6550;background:#f0ece3}.table-wrap{overflow-x:auto;border:1px solid #e3ece8;border-radius:16px}table{width:100%;border-collapse:collapse}th,td{padding:15px 17px;border-bottom:1px solid #e8efec;text-align:left;white-space:nowrap}th{background:#f4f8f6;color:#70827d;font-size:12px;text-transform:uppercase}.table-danger{padding:8px 10px;border:1px solid #f0c8c3;border-radius:9px;background:#fff7f6;color:#a53e31;font-weight:700}tbody tr:last-child td{border-bottom:0}.empty{text-align:center;color:#91a29d;padding:45px}@media(max-width:760px){.login-layout{grid-template-columns:1fr;padding:22px}.login-hero{padding-top:40px}.login-hero h1{font-size:48px}.app-shell{padding:14px 14px 40px}.app-shell.role-packer,.app-shell.role-operator{padding:8px 12px calc(92px + env(safe-area-inset-bottom))}.role-packer .topbar,.role-operator .topbar{position:sticky;z-index:7;top:0;margin:0 -12px 10px;padding:12px 16px;border-bottom:1px solid #dfeae5;background:#f2f5f1e8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.role-packer .topbar .eyebrow,.role-operator .topbar .eyebrow{display:none}.role-packer .topbar strong,.role-operator .topbar strong{font-size:16px}.role-packer>.tabs,.role-operator>.tabs{display:none}.role-packer .mobile-bottom-nav,.role-operator .mobile-bottom-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;display:flex;justify-content:center;gap:4px;padding:7px max(12px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right));border-top:1px solid #d7e5df;background:#ffffffed;box-shadow:0 -8px 30px #234a3f14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-bottom-nav button{display:grid;flex:1;max-width:150px;min-height:58px;place-items:center;gap:1px;border:0;border-radius:13px;color:#71867f;background:transparent;font-size:12px;font-weight:800}.mobile-bottom-nav button span{display:grid;width:24px;height:24px;place-items:center;border-radius:8px;background:#eaf1ee;font-size:13px}.mobile-bottom-nav button.active{color:#08745f;background:#edf7f3}.mobile-bottom-nav button.active span{color:#fff;background:#0d7c66}.tabs{width:100%;overflow-x:auto}.tabs button{flex:1;white-space:nowrap;padding:10px 11px;font-size:13px}.work-grid,.member-grid,.report-layout{grid-template-columns:1fr}.work-source-panel,.work-quantity-panel{grid-column:auto;grid-row:auto}.work-source-panel{order:1}.work-quantity-panel{order:2}.export-panel{position:static}.session-banner{padding:16px 18px}.attendance-heading{align-items:stretch;flex-direction:column}.attendance-actions{display:grid;grid-template-columns:1fr 1fr}.attendance-actions button{padding:12px 8px;font-size:13px}.attendance-times{grid-template-columns:1fr}.attendance-times strong{font-size:21px}.panel{padding:24px 20px;border-radius:20px}.role-packer .panel,.role-operator .panel{padding:20px 16px;border-radius:18px;box-shadow:0 12px 40px #234a3f0d}.role-packer input,.role-packer select,.role-operator input,.role-operator select{min-height:50px;font-size:16px}.role-packer .section-heading,.role-operator .section-heading{margin-bottom:18px}.role-packer .section-heading .eyebrow,.role-operator .section-heading .eyebrow,.role-operator .section-heading p{display:none}.role-packer .section-heading h1,.role-operator .section-heading h1{margin:0;font-size:28px}.role-packer .work-page-stack{gap:12px}.role-packer .plan-resolver>.step,.role-packer .plan-resolver>p{display:none}.role-packer .plan-resolver h1{margin-top:0;font-size:24px}.role-packer .plan-input-label{margin-top:14px}.role-packer .work-grid{gap:12px}.role-packer .work-source-panel .step,.role-packer .work-quantity-panel .step{display:none}.role-packer .work-source-panel h2,.role-packer .work-quantity-panel h2{font-size:21px}.role-packer .work-quantity-panel .primary{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));min-height:52px;box-shadow:0 10px 25px #0d7c6638}.role-packer .attendance-actions button{min-height:50px}.role-packer .global-notice,.role-operator .global-notice{bottom:calc(82px + env(safe-area-inset-bottom))}.binding-form,.binding-filters,.date-grid,.resolved-plan{grid-template-columns:1fr}.order-drop-zone{align-items:stretch;flex-direction:column;padding:20px}.order-filters{grid-template-columns:1fr}.bulk-actions,.section-heading{align-items:stretch;flex-direction:column}.upload-button{width:100%}.global-notice{top:auto;bottom:20px}.user-row{grid-template-columns:1fr auto}.user-row select{grid-row:2;grid-column:1 / -1}.reset-password-form,.packaging-type-form{grid-template-columns:1fr}.packaging-type-form .primary{width:100%}.table-actions{flex-wrap:wrap}.metric-grid{grid-template-columns:1fr 1fr}.binding-details{padding:16px}.role-operator .binding-form{gap:16px;margin-bottom:0}.role-operator .binding-form .primary{min-height:52px}.role-operator .binding-filters{gap:12px;margin-bottom:16px}.role-operator .order-search-options{position:fixed;z-index:30;top:112px;right:14px;left:14px;max-height:calc(100vh - 210px)}.role-operator .order-search-options button{min-height:58px;flex-direction:column}.desktop-binding-table{display:none}.mobile-binding-list,.mobile-detail-list{display:grid;gap:12px}.mobile-binding-card{padding:16px}.binding-details-heading{align-items:flex-start;flex-direction:column;gap:6px}.binding-details-heading h2{overflow-wrap:anywhere;font-size:18px;line-height:1.5}.entry-detail-heading{margin-top:20px}.daily-row{grid-template-columns:42px minmax(80px,1fr) 62px}.daily-row small{display:none}}
