*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--bg:#edeff2;--panel:#fff;--ink:#191c21;--muted:#6b7280;--line:#e3e6ea;--warm:#b5460d;--warm-bg:#fdf0e7;--warm-line:#f1cbb0;--cold:#1c5a85;--cold-bg:#e9f1f7;--cold-line:#bfd8e8;--primary:#0c7a63;--primary-h:#0a6653;--danger:#b4231c;--radius:10px}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;--tw-bg-opacity:1;background-color:rgb(237 239 242/var(--tw-bg-opacity,1));font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem;line-height:1.5;--tw-text-opacity:1;color:rgb(25 28 33/var(--tw-text-opacity,1))}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none!important;appearance:none!important;margin:0;display:none!important;height:0!important;width:0!important}button{cursor:pointer;border-width:0;background-color:transparent;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='none' stroke='%23555' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M2.5 4.2L6 8.2 9.5 4.2'/></svg>");background-repeat:no-repeat;background-position:right 8px center;padding-right:22px}table{width:100%;border-collapse:collapse}th{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(250 251 252/var(--tw-bg-opacity,1));text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.025em;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}td,th{white-space:nowrap;padding:.625rem .875rem}td{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(239 241 244/var(--tw-border-opacity,1));vertical-align:middle}tr:last-child td{border-bottom-width:0}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{--tw-bg-opacity:1;background-color:rgb(241 250 247/var(--tw-bg-opacity,1))}code{border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(239 241 244/var(--tw-bg-opacity,1));padding:.125rem .25rem;font-size:12px}.mono,code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.mono{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.app{display:grid;min-height:100vh;grid-template-columns:212px minmax(0,1fr)}.side{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;gap:.25rem;--tw-bg-opacity:1;background-color:rgb(20 23 27/var(--tw-bg-opacity,1));padding:1.25rem .875rem;--tw-text-opacity:1;color:rgb(174 180 189/var(--tw-text-opacity,1))}.brand{display:flex;align-items:center;gap:.625rem;padding:.375rem .625rem 1rem;font-size:1rem;line-height:1.5rem;font-weight:700;letter-spacing:.025em;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.brand .logo{height:22px;width:22px;flex:none;border-radius:6px;--tw-shadow:0 0 0 3px rgba(12,122,99,.22);--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nav{display:flex;width:100%;align-items:center;gap:.625rem;border-radius:.5rem;padding:.625rem .75rem;text-align:left;font-size:13.5px;font-weight:500;--tw-text-opacity:1;color:rgb(174 180 189/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.nav:hover{background-color:rgb(32 36 42/var(--tw-bg-opacity,1))}.nav.on,.nav:hover{--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.nav.\!on,.nav.on{background-color:rgb(37 42 49/var(--tw-bg-opacity,1))}.nav.\!on{--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.nav .ic{width:1rem;text-align:center;opacity:.85}.side-foot{margin-top:auto;padding:.625rem;font-size:11px;line-height:1.625;--tw-text-opacity:1;color:rgb(91 97 107/var(--tw-text-opacity,1))}.userbox{margin-bottom:.625rem;border-radius:.5rem;--tw-bg-opacity:1;background-color:rgb(28 33 40/var(--tw-bg-opacity,1));padding:.625rem}.userbox .\!nm,.userbox .nm{font-size:13px;font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.userbox .rl{margin-top:.125rem;font-size:11px;--tw-text-opacity:1;color:rgb(139 145 155/var(--tw-text-opacity,1))}.legend{margin-top:.125rem;display:flex;align-items:center;gap:.375rem}.chip{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;padding:.125rem .375rem;font-size:10.5px}.chip .sw{height:.5rem;width:.5rem;border-radius:9999px}.chip.warm{--tw-bg-opacity:1;background-color:rgb(42 28 18/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(232 168 119/var(--tw-text-opacity,1))}.chip.warm .sw{--tw-bg-opacity:1;background-color:rgb(181 70 13/var(--tw-bg-opacity,1))}.chip.cold{--tw-bg-opacity:1;background-color:rgb(18 34 46/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(127 180 214/var(--tw-text-opacity,1))}.chip.cold .sw{--tw-bg-opacity:1;background-color:rgb(28 90 133/var(--tw-bg-opacity,1))}.main{width:100%;min-width:0;max-width:1180px;overflow-x:hidden;padding:1.5rem 2rem 3.5rem}.main.wide{max-width:none;padding-left:1.25rem;padding-right:1.25rem}.main.list-layout{display:flex;height:100vh;flex-direction:column;overflow:hidden;padding-bottom:1rem}.main.list-layout>.banner,.main.list-layout>.head,.main.list-layout>.qpanel{flex:none}.main.list-layout>.qpanel{position:sticky;top:0;z-index:20;margin-bottom:.75rem;--tw-shadow:0 3px 14px rgba(20,30,45,.06);--tw-shadow-colored:0 3px 14px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.main.list-layout>.panel.with-pager{margin-bottom:0;min-height:0;flex:1 1 0%}.main.list-layout .table-scroll{max-height:none}.head{margin-bottom:.75rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.head h1{margin:0;font-size:20px;font-weight:700;letter-spacing:-.025em}.head .\!sub,.head .sub{margin-top:.125rem;max-width:36rem;font-size:12.5px;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.topbar{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:.375rem}.topbar .\!btn,.topbar .btn{width:auto;flex:none;flex-shrink:0;padding:.375rem .625rem;font-size:.75rem;line-height:1rem}.sync-ctrl{margin-right:.125rem;display:inline-flex;align-items:center;gap:.375rem;white-space:nowrap;font-size:12.5px;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.sync-ctrl select{min-width:4.75rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.25rem 1.75rem .25rem .5rem;font-size:12.5px;color:rgb(25 28 33/var(--tw-text-opacity,1));background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .45rem center}.\!btn,.sync-ctrl select{--tw-bg-opacity:1;--tw-text-opacity:1}.\!btn,.btn{display:inline-flex;width:auto;flex:none;align-items:center;justify-content:center;gap:.25rem;border-radius:.375rem;background-color:rgb(12 122 99/var(--tw-bg-opacity,1));padding:.375rem .75rem;font-size:13px;font-weight:600;color:rgb(255 255 255/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn{--tw-bg-opacity:1;--tw-text-opacity:1}.\!btn:hover,.btn:hover{--tw-bg-opacity:1;background-color:rgb(10 102 83/var(--tw-bg-opacity,1))}.\!btn.ghost,.btn.ghost{border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(25 28 33/var(--tw-text-opacity,1))}.\!btn.ghost:hover,.btn.ghost:hover{--tw-border-opacity:1;border-color:rgb(196 201 208/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(250 251 252/var(--tw-bg-opacity,1))}.\!btn.warm,.btn.warm{--tw-bg-opacity:1;background-color:rgb(181 70 13/var(--tw-bg-opacity,1))}.\!btn.warm:hover{filter:brightness(.93)!important}.btn.warm:hover{filter:brightness(.93)}.\!btn.danger,.btn.danger{--tw-bg-opacity:1;background-color:rgb(180 35 28/var(--tw-bg-opacity,1))}.\!btn.danger:hover{filter:brightness(.93)!important}.btn.danger:hover{filter:brightness(.93)}.\!btn.sm,.btn.sm{padding:.25rem .625rem;font-size:.75rem;line-height:1rem;line-height:1.25}.\!btn.btn-side,.btn.btn-side{--tw-border-opacity:1;border-color:rgb(42 48 56/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(28 33 40/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(201 205 212/var(--tw-text-opacity,1))}.\!btn.btn-side:hover,.btn.btn-side:hover{--tw-border-opacity:1;border-color:rgb(58 64 72/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(32 36 42/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.\!btn.btn-side-muted,.btn.btn-side-muted{--tw-border-opacity:1;border-color:rgb(58 64 72/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(42 48 56/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(201 205 212/var(--tw-text-opacity,1))}.\!btn.btn-side-muted:hover,.btn.btn-side-muted:hover{--tw-bg-opacity:1;background-color:rgb(32 36 42/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.\!btn:disabled,.btn:disabled{cursor:not-allowed;opacity:.45}.panel{overflow:hidden;border-radius:10px;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.panel.with-pager{display:flex;flex-direction:column;overflow:hidden}.panel.with-pager .table-scroll,.panel.with-pager>.table-scroll{min-height:0;flex:1 1 0%}.table-scroll{overflow:auto;max-height:calc(100vh - 220px)}.table-scroll table{width:100%;min-width:0}.table-scroll th{position:sticky;top:0;z-index:1}.ing-table,.sub-table{table-layout:fixed}.ing-table td,.ing-table th,.sub-table td,.sub-table th{padding:.5rem .375rem;font-size:12.5px}.ing-table th,.sub-table th{white-space:normal;text-transform:none;line-height:1.25;letter-spacing:0}.ing-table td,.sub-table td{overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.ing-nlink{max-width:100%;cursor:pointer;overflow:hidden;text-overflow:ellipsis;border-width:0;background-color:transparent;padding:0;text-align:left;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-weight:600;--tw-text-opacity:1;color:rgb(25 28 33/var(--tw-text-opacity,1))}.ing-nlink:hover{--tw-text-opacity:1;color:rgb(12 122 99/var(--tw-text-opacity,1));text-decoration-line:underline}.toolbar{margin-bottom:1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.625rem;padding-left:.125rem;padding-right:.125rem}.toolbar input,.toolbar select{border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.5rem .625rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:13px}.toolbar input{min-width:200px;flex:1 1 0%}.toolbar .meta{margin-left:auto;font-size:12.5px;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.toolbar.ing-bar{gap:.5rem}.toolbar.ing-bar input,.toolbar.ing-bar select{min-width:0;flex:1 1 auto}.toolbar.ing-bar .grow{flex:1 1 150px;min-width:140px}.toolbar.ing-bar select{max-width:200px}.toolbar .clearf{padding:.375rem .25rem;font-size:12.5px;font-weight:600;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.toolbar .clearf:hover{--tw-text-opacity:1;color:rgb(180 35 28/var(--tw-text-opacity,1))}.qpanel{margin-bottom:.75rem;border-radius:10px;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.625rem .75rem}.qpanel .qrows{grid-template-columns:repeat(1,minmax(0,1fr))}.qpanel .qrow,.qpanel .qrows{display:grid;gap:.5rem}.qpanel .qrow{align-items:center;grid-template-columns:88px minmax(0,1fr)}.qpanel .qlabel{font-size:12.5px;font-weight:600;--tw-text-opacity:1;color:rgb(64 69 76/var(--tw-text-opacity,1))}.qpanel .qrow input[type=date],.qpanel .qrow input[type=search],.qpanel .qrow input[type=text],.qpanel .qrow select{width:100%;min-width:0;border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem .5rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:13px}.qpanel .qactions{margin-top:.5rem;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.375rem;border-top-width:1px;--tw-border-opacity:1;border-color:rgb(239 241 244/var(--tw-border-opacity,1));padding-top:.5rem}.qpanel .qactions .\!btn,.qpanel .qactions .btn{width:auto!important;flex:none!important;display:inline-flex!important}.qpanel .qactions .\!btn,.qpanel .qactions .btn{flex-shrink:0}.qpanel .qactions .meta{margin-left:auto;font-size:12px}.qpanel .qactions .meta,.qpanel .qlink{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.qpanel .qlink{display:inline-flex;cursor:pointer;align-items:center;border-width:0;background-color:transparent;padding:.25rem .375rem;font-size:12.5px;font-weight:600}.qpanel .qlink:hover{--tw-text-opacity:1;color:rgb(12 122 99/var(--tw-text-opacity,1))}.qpanel .qsel{margin-left:.125rem;display:inline-flex;align-items:center;gap:.375rem;border-left-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));padding-left:.5rem}.qpanel .qsel[hidden]{display:none!important}.qpanel .qsel-n{white-space:nowrap;font-size:12px;font-weight:600;--tw-text-opacity:1;color:rgb(12 122 99/var(--tw-text-opacity,1))}@media (min-width:900px){.qpanel .qrows{grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:18px;column-gap:18px}}.sup-pick{position:relative;min-width:0}.sup-pick .sup-box{display:flex;min-height:38px;cursor:text;flex-wrap:wrap;align-items:center;gap:.375rem;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.25rem .5rem}.sup-pick .sup-box:focus-within{--tw-border-opacity:1;border-color:rgb(12 122 99/var(--tw-border-opacity,1));outline:2px solid transparent;outline-offset:2px}.sup-pick .sup-tag{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(232 241 254/var(--tw-bg-opacity,1));padding:.125rem .5rem;font-size:.75rem;line-height:1rem;font-weight:600;--tw-text-opacity:1;color:rgb(29 78 137/var(--tw-text-opacity,1))}.sup-pick .sup-tag button{cursor:pointer;border-width:0;background-color:transparent;padding-left:.125rem;font-size:.875rem;line-height:1.25rem;line-height:1;--tw-text-opacity:1;color:rgb(29 78 137/var(--tw-text-opacity,1))}.sup-pick .sup-input{flex:1 1 120px;min-width:100px;border-width:0;background-color:transparent;padding:.375rem .25rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:13px;outline:2px solid transparent;outline-offset:2px}.sup-pick .sup-drop{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;display:none;max-height:220px;overflow:auto;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-shadow:0 8px 20px rgba(0,0,0,.1);--tw-shadow-colored:0 8px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sup-pick .sup-drop.\!on,.sup-pick .sup-drop.on{display:block}.sup-pick .sup-opt{cursor:pointer;padding:.5rem .75rem;font-size:13px}.sup-pick .sup-opt.\!on,.sup-pick .sup-opt.on,.sup-pick .sup-opt:hover{--tw-bg-opacity:1;background-color:rgb(241 246 255/var(--tw-bg-opacity,1))}.sup-pick .sup-opt.\!sel,.sup-pick .sup-opt.sel{font-weight:600;--tw-text-opacity:1;color:rgb(12 122 99/var(--tw-text-opacity,1))}.num{text-align:right}td.chk,th.chk{width:2.25rem;padding-left:.75rem;padding-right:.375rem;text-align:center}td.chk input,th.chk input{height:1rem;width:1rem;cursor:pointer;accent-color:#0c7a63}th.sort-th{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}th.sort-th:hover{--tw-text-opacity:1;color:rgb(25 28 33/var(--tw-text-opacity,1))}th.sort-th.\!on,th.sort-th.on{--tw-text-opacity:1;color:rgb(12 122 99/var(--tw-text-opacity,1))}th.sort-th .sort-ico{margin-left:.25rem;display:inline-block;font-size:10px;font-weight:700;opacity:.55}th.sort-th.\!on .sort-ico,th.sort-th.on .sort-ico{opacity:1}.\!code,.code{font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.\!code,.code,.price-cell{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.price-cell{font-weight:600;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.price-live{--tw-text-opacity:1;color:rgb(181 70 13/var(--tw-text-opacity,1))}.tag{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;padding:.125rem .5rem;font-size:11px;font-weight:600}.tag.live{background-color:rgb(253 240 231/var(--tw-bg-opacity,1));color:rgb(181 70 13/var(--tw-text-opacity,1))}.tag.frozen,.tag.live{--tw-bg-opacity:1;--tw-text-opacity:1}.tag.frozen{background-color:rgb(233 241 247/var(--tw-bg-opacity,1));color:rgb(28 90 133/var(--tw-text-opacity,1))}.tag.\!draft,.tag.draft{--tw-bg-opacity:1;background-color:rgb(239 241 244/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(91 97 107/var(--tw-text-opacity,1))}.tag.\!sub,.tag.sub{--tw-bg-opacity:1;background-color:rgb(234 247 242/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(12 122 99/var(--tw-text-opacity,1))}.cook-pick{margin-top:.375rem;display:flex;flex-wrap:wrap;gap:.375rem}.cook-pick .cook-chip,.cook-pick button{cursor:pointer;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem .75rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:13px;--tw-text-opacity:1;color:rgb(25 28 33/var(--tw-text-opacity,1));pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cook-pick .cook-chip.on,.cook-pick .cook-chip:hover:not(:disabled),.cook-pick button.on,.cook-pick button:hover:not(:disabled){--tw-border-opacity:1;border-color:rgb(12 122 99/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(241 250 247/var(--tw-bg-opacity,1))}.cook-pick .cook-chip.on,.cook-pick button.on{font-weight:600;--tw-text-opacity:1;color:rgb(12 122 99/var(--tw-text-opacity,1))}.cook-pick .cook-chip.\!on,.cook-pick button.\!on{--tw-border-opacity:1;border-color:rgb(12 122 99/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(241 250 247/var(--tw-bg-opacity,1));font-weight:600;--tw-text-opacity:1;color:rgb(12 122 99/var(--tw-text-opacity,1))}.cook-pick .cook-chip:disabled,.cook-pick button:disabled{cursor:not-allowed;opacity:.45}.rowbtn{border-radius:.375rem;padding:.25rem .5rem;font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.rowbtn:hover{background-color:rgb(239 241 244/var(--tw-bg-opacity,1));color:rgb(25 28 33/var(--tw-text-opacity,1))}.rowbtn.del:hover,.rowbtn:hover{--tw-bg-opacity:1;--tw-text-opacity:1}.rowbtn.del:hover{background-color:rgb(253 236 235/var(--tw-bg-opacity,1));color:rgb(180 35 28/var(--tw-text-opacity,1))}.card{cursor:pointer;border-radius:10px;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.card:hover{--tw-border-opacity:1;border-color:rgb(201 206 213/var(--tw-border-opacity,1));--tw-shadow:0 3px 14px rgba(20,30,45,.06);--tw-shadow-colored:0 3px 14px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.card h3{margin-bottom:.125rem;font-size:15.5px;font-weight:700}.card .\!cat,.card .cat{font-size:11.5px;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.metric .\!v,.metric .v{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1rem;line-height:1.5rem;font-weight:700;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.metric .l{margin-top:.125rem;font-size:10.5px;text-transform:uppercase;letter-spacing:.025em;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.\!bar,.bar{margin-top:.75rem;height:.375rem;overflow:hidden;border-radius:.125rem;--tw-bg-opacity:1;background-color:rgb(239 241 244/var(--tw-bg-opacity,1))}.\!bar>i,.bar>i{display:block;height:100%;border-radius:.125rem}.empty{padding:3.5rem 1.25rem;text-align:center;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.empty .big{margin-bottom:.25rem;font-size:15px;font-weight:600;--tw-text-opacity:1;color:rgb(25 28 33/var(--tw-text-opacity,1))}.scrim{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;background-color:rgba(16,20,26,.5);padding:2.75rem 1rem}.modal{width:100%;max-width:36rem;border-radius:1rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-shadow:0 24px 60px rgba(0,0,0,.28);--tw-shadow-colored:0 24px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.modal.wide{max-width:1180px}.m-head{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));padding:1rem 1.25rem}.m-head h2{margin:0;font-size:16.5px;font-weight:700}.m-body{max-height:66vh;overflow-y:auto;padding:1.25rem}.m-foot{display:flex;align-items:center;justify-content:space-between;gap:.625rem;border-top-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));padding:.875rem 1.25rem}.\!x,.x{border-radius:.375rem;padding:.125rem .375rem;font-size:22px;line-height:1;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.\!x:hover,.x:hover{--tw-bg-opacity:1;background-color:rgb(239 241 244/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(25 28 33/var(--tw-text-opacity,1))}.field{margin-bottom:.875rem}.field label{margin-bottom:.375rem;display:block;font-size:.75rem;line-height:1rem;font-weight:600;--tw-text-opacity:1;color:rgb(64 69 76/var(--tw-text-opacity,1))}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.5rem .625rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:13.5px;--tw-text-opacity:1;color:rgb(25 28 33/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.field textarea{min-height:72px;resize:vertical;line-height:1.5}.field input:not([type=checkbox]):not([type=radio]):focus,.field select:focus,.field textarea:focus{--tw-border-opacity:1;border-color:rgb(12 122 99/var(--tw-border-opacity,1));outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 3px rgba(12,122,99,.12)}.field select{cursor:pointer}.price-with-tax{display:flex;align-items:center;gap:.5rem}.price-with-tax input[type=number]{min-width:0;flex:1 1 0%}.chk-tax{margin:0;flex:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;font-size:13px;font-weight:600;--tw-text-opacity:1;color:rgb(25 28 33/var(--tw-text-opacity,1))}.chk-tax,.pct-with{display:flex;align-items:center;gap:.375rem}.pct-with input{min-width:0;flex:1 1 0%}.pct-with .suf{flex:none;font-size:13px;font-weight:700;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:.875rem;column-gap:.875rem}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid3,.grid4{display:grid;-moz-column-gap:.75rem;column-gap:.75rem}.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.\!hint,.hint{margin-top:.25rem;font-size:11.5px;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.\!pager,.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;border-top-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(250 251 252/var(--tw-bg-opacity,1));padding:.625rem .875rem}.\!pager .info,.pager .\!info,.pager .info{font-size:12.5px;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.\!pager .controls,.pager .controls{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.\!pager select,.pager select{cursor:pointer;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem 1.75rem .375rem .5rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:12.5px}.\!pager .btn,.\!pager .btn.sm,.pager .\!btn,.pager .\!btn.sm,.pager .btn,.pager .btn.sm{width:auto;min-width:34px;flex:none;justify-content:center;padding:.25rem .625rem}.\!pager .ellipsis,.pager .ellipsis{padding-left:.125rem;padding-right:.125rem;font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.check-item{margin:0;display:flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:.625rem;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(250 251 252/var(--tw-bg-opacity,1));padding:.625rem .75rem;font-size:13px;font-weight:500;--tw-text-opacity:1;color:rgb(25 28 33/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.check-item:hover{--tw-border-opacity:1;border-color:rgb(201 206 213/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(241 250 247/var(--tw-bg-opacity,1))}.check-item:has(input:checked){--tw-border-opacity:1;border-color:rgb(12 122 99/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(241 250 247/var(--tw-bg-opacity,1))}.check-item input{margin:0;height:1rem;width:1rem;flex:none;cursor:pointer;accent-color:#0c7a63}.user-auth-note{margin-bottom:.875rem;display:flex;align-items:flex-start;gap:.625rem;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(200 232 220/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(234 247 242/var(--tw-bg-opacity,1));padding:.625rem .75rem;font-size:12.5px;line-height:1.625;--tw-text-opacity:1;color:rgb(10 102 83/var(--tw-text-opacity,1))}.user-auth-note strong{margin-bottom:.125rem;display:block;font-size:13px}.status-pill{display:inline-flex;align-items:center;gap:.375rem;border-radius:9999px;padding:.25rem .625rem;font-size:11.5px;font-weight:600}.status-pill.pending{--tw-bg-opacity:1;background-color:rgb(255 246 230/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(138 91 18/var(--tw-text-opacity,1))}.status-pill.\!active,.status-pill.active{--tw-bg-opacity:1;background-color:rgb(234 247 242/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(12 122 99/var(--tw-text-opacity,1))}.status-pill.disabled{--tw-bg-opacity:1;background-color:rgb(239 241 244/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(91 97 107/var(--tw-text-opacity,1))}.derived{display:flex;align-items:center;justify-content:space-between;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(241 203 176/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(253 240 231/var(--tw-bg-opacity,1));padding:.625rem .75rem;font-size:12.5px;--tw-text-opacity:1;color:rgb(181 70 13/var(--tw-text-opacity,1))}.derived .mono{font-size:15px;font-weight:700}.\!sec,.sec{margin-bottom:.625rem;border-radius:10px;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(252 252 253/var(--tw-bg-opacity,1));padding:.75rem}.sec-head{margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.sec-name{width:120px;flex:none;border-width:0 0 1.5px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));background-color:transparent;padding:.125rem;font-size:13.5px;font-weight:700}.sec-name:focus{--tw-border-opacity:1;border-color:rgb(12 122 99/var(--tw-border-opacity,1));outline:2px solid transparent;outline-offset:2px}.sec-sub{margin-left:auto;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;line-height:1rem;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.rmsec,.sec-sub{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.rmsec{border-radius:.375rem;padding:.125rem .375rem;font-size:11.5px}.rmsec:hover{--tw-bg-opacity:1;background-color:rgb(253 236 235/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(180 35 28/var(--tw-text-opacity,1))}.cpsec{border-radius:.375rem;padding:.125rem .5rem;font-size:11.5px;font-weight:600;--tw-text-opacity:1;color:rgb(12 122 99/var(--tw-text-opacity,1))}.cpsec:hover{--tw-bg-opacity:1;background-color:rgb(234 247 242/var(--tw-bg-opacity,1))}.seccopy{position:fixed;z-index:80;flex-direction:column;border-radius:.75rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-shadow:0 24px 60px rgba(0,0,0,.28);--tw-shadow-colored:0 24px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);width:min(440px,calc(100vw - 28px))}.seccopy,.seccopy-h{display:flex}.seccopy-h{align-items:center;justify-content:space-between;gap:.5rem;border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));padding:.625rem .875rem}.seccopy-h strong{font-size:13.5px}.seccopy input[type=search]{margin:.625rem .75rem .25rem;width:auto;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));padding:.5rem .625rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif}.seccopy-list{overflow:auto;padding-top:.25rem;padding-bottom:.25rem;max-height:min(52vh,420px)}.seccopy-list button{display:block;width:100%;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.5rem .875rem;text-align:left}.seccopy-list button:hover{--tw-bg-opacity:1;background-color:rgb(241 250 247/var(--tw-bg-opacity,1))}.seccopy-list .\!nm,.seccopy-list .nm{font-size:13.5px;font-weight:700}.seccopy-list .k{margin-top:.125rem;font-size:11.5px;line-height:1.375;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.rrow{margin-bottom:.375rem;display:grid;align-items:center;gap:.375rem;grid-template-columns:minmax(0,1.8fr) 70px 86px 78px 28px}.rrow.waste{grid-template-columns:minmax(0,1fr) 76px 76px 52px 72px 72px 56px 68px 28px}.rrow .lbl{font-size:10.5px;font-weight:600;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.rrow input,.rrow select{width:100%;border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));padding:.375rem}.rrow input[type=number]{padding-left:.5rem;padding-right:.5rem;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);text-align:left;min-width:0;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.rrow input[type=number]::-webkit-inner-spin-button,.rrow input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none!important;appearance:none!important;display:none!important;margin:0}.rrow select{padding-right:1.25rem;background-position:right 6px center}.rrow .\!sub,.rrow .sub{text-align:right;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;line-height:1rem;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.rrow .\!sub,.rrow .rm,.rrow .sub{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.rrow .rm{border-radius:.375rem;text-align:center;font-size:15px}.rrow .rm:hover{--tw-bg-opacity:1;background-color:rgb(253 236 235/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(180 35 28/var(--tw-text-opacity,1))}.howline{margin-top:-.125rem;margin-bottom:.625rem;font-size:11.5px;line-height:1.375;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.howline.bad{--tw-text-opacity:1;color:rgb(180 35 28/var(--tw-text-opacity,1))}.howline input{margin-left:.125rem;margin-right:.125rem;width:68px;border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));padding:.125rem .375rem;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;line-height:1rem}.addrow{padding:.25rem .125rem;font-size:.75rem;line-height:1rem}.addrow,.addsec{font-weight:600;--tw-text-opacity:1;color:rgb(12 122 99/var(--tw-text-opacity,1))}.addsec{display:block;padding:.5rem .125rem;font-size:12.5px}.toolrow{margin-bottom:.75rem;display:flex;flex-wrap:wrap;gap:.5rem}.qadd{margin-bottom:.75rem;border-radius:10px;border-width:1px;--tw-border-opacity:1;border-color:rgb(241 203 176/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(253 240 231/var(--tw-bg-opacity,1));padding:.75rem}.qadd h4{font-size:12.5px;font-weight:700;--tw-text-opacity:1;color:rgb(181 70 13/var(--tw-text-opacity,1))}.qadd .grid3 .field,.qadd h4{margin-bottom:.625rem}.qadd input,.qadd textarea{width:100%;border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(241 203 176/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem .5rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif}.qadd textarea{resize:vertical;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;line-height:1rem;line-height:1.375}.costbox{margin-top:.375rem;border-radius:10px;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(247 249 250/var(--tw-bg-opacity,1));padding:.875rem 1rem}.costline{display:flex;justify-content:space-between;padding-top:.25rem;padding-bottom:.25rem;font-size:13px}.costline.\!sec,.costline.sec{font-size:12.5px;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.costline.\!total,.costline.total{margin-top:.375rem;border-top-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));padding-top:.625rem;font-size:15px;font-weight:700}.costline .mono{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.pickrow{margin-bottom:.5rem;display:flex;cursor:pointer;align-items:center;gap:.75rem;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));padding:.625rem .75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.pickrow:hover{--tw-border-opacity:1;border-color:rgb(196 201 208/var(--tw-border-opacity,1))}.pickrow.\!sel,.pickrow.sel{--tw-border-opacity:1;border-color:rgb(12 122 99/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(241 250 247/var(--tw-bg-opacity,1))}.pickrow>input[type=checkbox]{margin:0;height:17px;width:17px;flex:none;accent-color:#0c7a63}.pickrow .\!nm,.pickrow .nm{min-width:0;flex:1 1 0%;font-weight:600}.pickrow .co{white-space:nowrap;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.pickrow .rowbtn{flex:none}.pickrow .combo{width:72px;text-align:right}.pickrow .code-in,.pickrow .combo{height:2rem;border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.25rem .375rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:13px}.pickrow .code-in{width:48px;text-align:center;font-weight:700;letter-spacing:.025em}.pickrow .role-in{height:2rem;width:76px;border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.25rem .375rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:12.5px}.period-editor .grid3 .field{margin-bottom:.75rem}.period-hint{margin-top:0;margin-bottom:1rem;line-height:1.625}.preview-title .pt-label{font-weight:600;--tw-text-opacity:1;color:rgb(63 107 92/var(--tw-text-opacity,1))}.pick-head{margin-bottom:.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.pick-head .ph-title{font-size:13px;font-weight:700;--tw-text-opacity:1;color:rgb(25 28 33/var(--tw-text-opacity,1))}.pick-head .ph-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.pick-head .ph-search{height:2rem;width:160px;border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding-left:.625rem;padding-right:.625rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:13px}.pick-head .ph-search:focus{--tw-border-opacity:1;border-color:rgb(12 122 99/var(--tw-border-opacity,1));outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 3px rgba(12,122,99,.12)}.pick-cols,.pickrow.period-pick{display:grid;grid-template-columns:20px 48px 76px minmax(140px,1.5fr) 72px minmax(108px,auto) auto;gap:8px;align-items:center}.pick-cols{padding-left:.75rem;padding-right:.75rem;padding-bottom:.375rem;font-size:11px;font-weight:600;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.pick-cols .num,.pickrow.period-pick .co,.pickrow.period-pick .combo{justify-self:end;text-align:right}.pickrow.period-pick{margin-bottom:.375rem}.pickrow.period-pick .\!nm,.pickrow.period-pick .nm{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:.125rem}.pickrow.period-pick .nm-text{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pickrow.period-pick .nm-date{font-size:11.5px;font-weight:400;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.pickrow.period-pick .co .co-l{font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:11px}.pick-list{max-height:min(42vh,360px);overflow-y:auto;padding-right:.125rem}.pick-empty{padding:.75rem .25rem;font-size:13px;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.m-foot-actions{display:flex;gap:.5rem}.kpis{margin-bottom:.875rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}@media (min-width:640px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}.kpi{border-radius:10px;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.75rem .875rem}.kpi .\!v,.kpi .v{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:20px;font-weight:700;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);letter-spacing:-.025em}.kpi .l{margin-top:.125rem;font-size:11px}.kpi .l,.store-head .meta{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.store-head .meta{font-size:.75rem;line-height:1rem}.sheet-tab.\!on,.sheet-tab.on{z-index:1;--tw-border-opacity:1;border-color:rgb(184 191 199/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(25 28 33/var(--tw-text-opacity,1))}.sheet-tab.\!on{box-shadow:inset 0 -1px 0 #fff!important}.sheet-tab.on{box-shadow:inset 0 -1px 0 #fff}.sheet-tab .dot.live{--tw-bg-opacity:1;background-color:rgb(181 70 13/var(--tw-bg-opacity,1))}.sheet-tab .dot.frozen{--tw-bg-opacity:1;background-color:rgb(28 90 133/var(--tw-bg-opacity,1))}.toolbar.period-bar{margin-bottom:.75rem}.toolbar.period-bar select{min-width:132px;flex:none}.period-empty .empty{padding:4rem 1.5rem}.period-empty .empty p{margin-bottom:1rem;max-width:24rem;font-size:13px;line-height:1.625;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.period-empty .empty .\!btn,.period-empty .empty .btn,.period-empty .empty p{margin-left:auto;margin-right:auto}.period-list-panel{margin-bottom:.25rem}.period-list-scroll{max-height:min(280px,38vh)}.period-list td.\!name,.period-list td.name{font-weight:600}.period-list tr{cursor:pointer}.period-list tr.\!on td,.period-list tr.on td{--tw-bg-opacity:1;background-color:rgb(241 250 247/var(--tw-bg-opacity,1))}.period-list tr:hover td{--tw-bg-opacity:1;background-color:rgb(247 248 250/var(--tw-bg-opacity,1))}.period-list tr.\!on:hover td,.period-list tr.on:hover td{--tw-bg-opacity:1;background-color:rgb(234 246 241/var(--tw-bg-opacity,1))}.period-active{margin-top:1rem;margin-bottom:.75rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem}.period-active .title{font-size:1.125rem;line-height:1.75rem;font-weight:700;letter-spacing:-.025em}.period-active .meta{margin-top:.375rem;display:flex;flex-wrap:wrap;align-items:center;-moz-column-gap:.375rem;column-gap:.375rem;row-gap:.25rem;font-size:12.5px;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.period-active .meta .sep{--tw-text-opacity:1;color:rgb(197 202 209/var(--tw-text-opacity,1))}.period-active .actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem}.boss-table{min-width:1120px}.boss-table th{white-space:nowrap;border-bottom-width:0;--tw-bg-opacity:1;background-color:rgb(74 63 107/var(--tw-bg-opacity,1));padding:.625rem;font-size:.75rem;line-height:1rem;text-transform:none;letter-spacing:.025em;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.boss-table td{padding:.5rem .625rem;font-size:13px}.boss-table .cat-col,.boss-table .name-col{--tw-bg-opacity:1;background-color:rgb(237 231 246/var(--tw-bg-opacity,1))}.boss-table .rate-col{--tw-bg-opacity:1;background-color:rgb(248 215 218/var(--tw-bg-opacity,1))}.boss-table .gp-col{--tw-bg-opacity:1;background-color:rgb(255 224 194/var(--tw-bg-opacity,1))}.boss-table .bad{font-weight:700;--tw-text-opacity:1;color:rgb(180 35 28/var(--tw-text-opacity,1))}.boss-table tr.boss-total td{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(216 208 232/var(--tw-border-opacity,1));font-weight:700}.boss-table .boss-comm,.boss-table .boss-price{border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(197 184 224/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.25rem .375rem;text-align:right;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.boss-table .boss-price{width:72px}.boss-table .boss-comm{width:52px}.boss-table .boss-comm:focus,.boss-table .boss-price:focus{--tw-border-opacity:1;border-color:rgb(12 122 99/var(--tw-border-opacity,1));outline:2px solid transparent;outline-offset:2px}.boss-code{width:52px;text-align:center;font-size:13px;font-weight:700}.boss-code,.boss-role{border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));padding:.25rem .375rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif}.boss-role{width:72px;font-size:12.5px}.preview-title{margin-bottom:.875rem;display:flex;align-items:center;justify-content:space-between;gap:.625rem;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(198 230 218/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(241 250 247/var(--tw-bg-opacity,1));padding:.625rem .75rem;font-size:13px}.preview-title .mono{font-weight:700;--tw-text-opacity:1;color:rgb(12 122 99/var(--tw-text-opacity,1))}.toast{pointer-events:none;position:fixed;bottom:1.25rem;right:1.25rem;z-index:80;--tw-translate-y:0.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:.5rem;--tw-bg-opacity:1;background-color:rgb(20 23 27/var(--tw-bg-opacity,1));padding:.625rem .875rem;font-size:13px;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));opacity:0;--tw-shadow:0 8px 24px rgba(0,0,0,.25);--tw-shadow-colored:0 8px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.toast.\!on,.toast.on{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:1}.banner{margin-bottom:1rem;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(240 217 168/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 247 232/var(--tw-bg-opacity,1));padding:.5rem .875rem;font-size:12.5px;--tw-text-opacity:1;color:rgb(138 90 18/var(--tw-text-opacity,1))}.ops-tabs{margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:.375rem}.ops-tabs button{border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.5rem .75rem;font-size:13px;font-weight:600;--tw-text-opacity:1;color:rgb(91 97 107/var(--tw-text-opacity,1))}.ops-tabs button.\!on,.ops-tabs button.on{--tw-border-opacity:1;border-color:rgb(25 28 33/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(25 28 33/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.qty-in{width:84px;border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));padding:.375rem .5rem;text-align:right;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.flag-bad{font-weight:700;--tw-text-opacity:1;color:rgb(180 35 28/var(--tw-text-opacity,1))}.sup-h{margin-top:1rem;margin-bottom:.5rem;justify-content:space-between;gap:.625rem;font-size:13px;font-weight:700}#loginRoot,.sup-h{display:flex;align-items:center}#loginRoot{position:fixed;inset:0;z-index:100;justify-content:center;padding:1.25rem;background:linear-gradient(145deg,#e8eef1,#f4ede6 55%,#edeff2)}.login-card{width:100%;max-width:440px;border-radius:1rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:2rem;--tw-shadow:0 18px 50px rgba(20,30,45,.1);--tw-shadow-colored:0 18px 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.login-card h1{margin-bottom:.375rem;font-size:22px;font-weight:700}.login-card .desc{margin-bottom:1.25rem;font-size:13px;line-height:1.625;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.login-err{margin-top:-.375rem;margin-bottom:.75rem;font-size:12.5px;--tw-text-opacity:1;color:rgb(180 35 28/var(--tw-text-opacity,1));display:none}.sb-setup .field{margin-top:.75rem;margin-bottom:.5rem}.sb-ok{color:rgb(12 122 99/var(--tw-text-opacity,1))}.sb-bad,.sb-ok{margin-top:.375rem;font-size:.75rem;line-height:1rem;--tw-text-opacity:1}.sb-bad{color:rgb(180 35 28/var(--tw-text-opacity,1))}#appRoot{display:none}.unit-combo{position:relative;width:108px;flex:none}.unit-combo input{width:100%;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.5rem 1.25rem .5rem .5rem}.unit-combo .chev{right:.25rem;top:50%;height:22px;width:22px;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));font-size:10px;--tw-text-opacity:1;color:rgb(85 85 85/var(--tw-text-opacity,1))}.unit-combo .chev,.unit-menu{position:absolute}.unit-menu{top:calc(100% + 2px);left:0;right:0;z-index:30;max-height:180px;overflow:auto;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-shadow:0 8px 20px rgba(0,0,0,.1);--tw-shadow-colored:0 8px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:none}.unit-menu button{display:block;width:100%;padding:.375rem .625rem;text-align:left;font-size:13px}.unit-menu button:hover{--tw-bg-opacity:1;background-color:rgb(239 241 244/var(--tw-bg-opacity,1))}.refpick{position:fixed;z-index:400;max-height:260px;overflow:auto;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(227 230 234/var(--tw-border-opacity,1));--tw-bg-opacity:1;--tw-shadow:0 24px 60px rgba(0,0,0,.28);--tw-shadow-colored:0 24px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:none;touch-action:manipulation;pointer-events:auto}.refpick,.refpick button{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.refpick button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.625rem;--tw-bg-opacity:1;padding:.5rem .625rem;text-align:left;font-size:13px}.refpick button:hover{--tw-bg-opacity:1;background-color:rgb(239 241 244/var(--tw-bg-opacity,1))}.refpick .k{background-color:rgb(234 247 242/var(--tw-bg-opacity,1));font-weight:700;color:rgb(12 122 99/var(--tw-text-opacity,1))}.refpick .k,.refpick .st{flex:none;border-radius:9999px;--tw-bg-opacity:1;padding:1px .375rem;font-size:10.5px;--tw-text-opacity:1}.refpick .\!st,.refpick .st{background-color:rgb(255 246 230/var(--tw-bg-opacity,1));font-weight:600;color:rgb(107 78 22/var(--tw-text-opacity,1))}.refpick .\!st{flex:none;border-radius:9999px;--tw-bg-opacity:1;padding:1px .375rem;font-size:10.5px;--tw-text-opacity:1}.refpick .grp{padding:.375rem .625rem .125rem;font-size:10.5px;font-weight:700;letter-spacing:.025em}.refpick .empty,.refpick .grp{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.refpick .empty{padding:.5rem .75rem;font-size:12.5px}td.\!wrap,td.wrap{max-width:220px;white-space:normal}@media (max-width:520px){.check-grid,.grid2{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (max-width:720px){.app{grid-template-columns:repeat(1,minmax(0,1fr))}.side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;gap:.25rem;padding:.75rem}.brand{width:100%;padding-bottom:.5rem}.side-foot{display:none}.userbox{width:100%}.main{padding:18px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.z-20{z-index:20}.z-\[200\]{z-index:200}.m-0{margin:0}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-3\.5{margin-top:.875rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.min-h-\[16px\]{min-height:16px}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.max-w-\[340px\]{max-width:340px}.flex-1{flex:1 1 0%}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[18px\]{border-radius:18px}.rounded-panel{border-radius:10px}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-\[\#e2e7ec\]{--tw-border-opacity:1;border-color:rgb(226 231 236/var(--tw-border-opacity,1))}.border-warm-line{--tw-border-opacity:1;border-color:rgb(241 203 176/var(--tw-border-opacity,1))}.bg-kitchen-purple{--tw-bg-opacity:1;background-color:rgb(91 63 181/var(--tw-bg-opacity,1))}.bg-warm-soft{--tw-bg-opacity:1;background-color:rgb(253 240 231/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-3\.5{padding:.875rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-\[22px\]{padding-left:22px;padding-right:22px}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-\[26px\]{padding-top:26px;padding-bottom:26px}.text-center{text-align:center}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[20px\]{font-size:20px}.text-base{font-size:1rem;line-height:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.leading-snug{line-height:1.375}.text-\[\#1a1a1a\]{--tw-text-opacity:1;color:rgb(26 26 26/var(--tw-text-opacity,1))}.text-\[\#78848f\]{--tw-text-opacity:1;color:rgb(120 132 143/var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(25 28 33/var(--tw-text-opacity,1))}.text-kitchen-purple{--tw-text-opacity:1;color:rgb(91 63 181/var(--tw-text-opacity,1))}.text-kitchen-red{--tw-text-opacity:1;color:rgb(216 67 67/var(--tw-text-opacity,1))}.text-side-text{--tw-text-opacity:1;color:rgb(174 180 189/var(--tw-text-opacity,1))}.text-warm-text{--tw-text-opacity:1;color:rgb(138 90 18/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}/* Auto-prepared for Tailwind pipeline; scoped root = .hr-app */
.hr-app{
    --bg:#f4f6f8; --card:#fff; --line:#e2e7ec; --text:#16222f; --muted:#78848f;
    --green:#12a05f; --greenBg:#e8f6ef; --red:#d84343; --redBg:#fdecec;
    --blue:#2563c9; --purple:#5b3fb5;
  }
  .hr-app *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
  .hr-app{margin:0;background:var(--bg);color:var(--text);font-size:16px;padding-bottom:92px;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif}
  .hr-app header{background:var(--blue);color:#fff;padding:11px 14px;position:sticky;top:0;z-index:20;
    display:flex;align-items:center;justify-content:flex-start;gap:10px;text-align:left}
  .hr-app header.owner{background:var(--purple)}
  .hr-app header > .hdrBrand{flex:1;min-width:0;text-align:left}
  .hr-app header h1{margin:0;font-size:16px;font-weight:600;min-width:0;text-align:left}
  .hr-app header .sub{font-size:11px;opacity:.85;margin-top:1px;font-weight:400;text-align:left}
  .hr-app header select{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);color:#fff;
    border-radius:9px;padding:7px 9px;font-size:14px;font-family:inherit;max-width:44%}
  .hr-app header select option{color:#16222f}
  .hr-app .hdrActions{display:flex;align-items:center;gap:8px;flex-shrink:0}
  .hr-app .hdrBtn{display:inline-flex;align-items:center;justify-content:center;gap:4px;
    background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff;
    border-radius:9px;padding:8px 12px;font-size:13px;font-weight:600;font-family:inherit;
    text-decoration:none;cursor:pointer;white-space:nowrap;line-height:1.2}
  .hr-app .hdrBtn:hover{background:rgba(255,255,255,.28)}
  .hr-app .hdrBtn.primary{background:#fff;color:var(--blue);border-color:#fff}
  .hr-app header.owner .hdrBtn.primary{color:var(--purple)}
  .hr-app nav{display:flex;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:52px;z-index:19;
    overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .hr-app nav::-webkit-scrollbar{display:none}
  .hr-app nav button{flex:1 0 auto;min-width:52px;border:0;background:none;padding:12px 8px;font-size:14px;
    color:var(--muted);font-family:inherit;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap}
  .hr-app nav button.on{color:var(--blue);font-weight:600;border-bottom-color:var(--blue)}
  .hr-app main{padding:13px;max-width:680px;margin:0 auto}
  /* 電腦：不要擠在中間，填滿整個畫面 */
  @media (min-width:760px){
    .hr-app main{max-width:none;padding:16px 28px}
    .hr-app nav{justify-content:center}
    .hr-app nav button{flex:0 0 auto;min-width:120px}
    .hr-app header, .hr-app nav{padding-left:28px;padding-right:28px}
  }
  .hr-app .card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:11px}
  .hr-app label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
  .hr-app input, .hr-app select.f{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:10px;
    font-size:16px;font-family:inherit;background:#fff;color:var(--text)}
  .hr-app .row2{display:flex;gap:9px}.hr-app .row2>div{flex:1}
  .hr-app .rangePick{position:relative;margin-bottom:2px}
  .hr-app .rangeField{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
    padding:14px 14px;border:1px solid #e8ecf1;border-radius:14px;background:#fff;color:#1a1f2c;
    font-size:16px;font-family:inherit;font-weight:600;cursor:pointer;text-align:left;
    box-shadow:0 1px 2px rgba(22,34,47,.04)}
  .hr-app .rangeField:focus{outline:2px solid rgba(47,110,246,.25);outline-offset:1px}
  .hr-app .rangeField .rangeCalIco{flex:none;width:18px;height:18px;opacity:.55;
    background:center/contain no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E")}
  .hr-app .rangeCal{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:40;
    background:#fff;border:1px solid #e8ecf1;border-radius:18px;padding:18px 14px 14px;
    box-shadow:0 16px 40px rgba(22,34,47,.14)}
  .hr-app .rangeCalHead{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:6px}
  .hr-app .rangeCalHead b{text-align:center;font-size:18px;font-weight:700;letter-spacing:.02em;color:#1a1f2c}
  .hr-app .rangeCalHead button{border:0;background:transparent;border-radius:10px;width:40px;height:40px;
    font-size:22px;line-height:1;cursor:pointer;color:#9aa3af;font-family:inherit}
  .hr-app .rangeCalHead button:hover{background:#f3f5f8;color:#1a1f2c}
  .hr-app .rangeCalHint{text-align:center;font-size:12px;color:#9aa3af;margin:2px 0 12px;min-height:16px;font-weight:500}
  .hr-app .rangeCalHint.pick{color:#2f6ef6;font-weight:600}
  .hr-app .rangeCalDow{display:grid;grid-template-columns:repeat(7,1fr);gap:0;
    margin:4px 0 8px;padding:8px 0;background:#f3f6fa;border-radius:12px;
    border:1px solid #e6ebf2}
  .hr-app .rangeCalGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:0}
  .hr-app .rangeCalDow span{text-align:center;font-size:13px;color:#4b5563;padding:2px 0;
    font-weight:700;letter-spacing:.04em}
  .hr-app .rangeCalDow span.wknd{color:#2f6ef6}
  .hr-app .rangeCalGrid button{border:0;background:transparent;border-radius:0;height:44px;margin:2px 0;
    font-size:16px;font-weight:500;font-family:inherit;color:#1a1f2c;cursor:pointer;
    position:relative;z-index:1}
  .hr-app .rangeCalGrid button .d{display:inline-flex;align-items:center;justify-content:center;
    width:36px;height:36px;border-radius:10px;margin:0 auto}
  .hr-app .rangeCalGrid button.wknd{color:#2f6ef6}
  .hr-app .rangeCalGrid button.out{color:#d1d5db}
  .hr-app .rangeCalGrid button.out.wknd{color:#c5d4fb}
  .hr-app .rangeCalGrid button.today .d{box-shadow:inset 0 0 0 1.5px #c9d3e3}
  .hr-app .rangeCalGrid button.in{background:#e8f0ff;color:#1a1f2c}
  .hr-app .rangeCalGrid button.in.wknd{color:#2f6ef6}
  .hr-app .rangeCalGrid button.start, .hr-app .rangeCalGrid button.end{background:transparent;color:#fff;font-weight:700;z-index:2}
  .hr-app .rangeCalGrid button.start .d, .hr-app .rangeCalGrid button.end .d{background:#2f6ef6;color:#fff;border-radius:10px;box-shadow:none}
  .hr-app .rangeCalGrid button.start{background:linear-gradient(90deg,transparent 50%,#e8f0ff 50%)}
  .hr-app .rangeCalGrid button.end{background:linear-gradient(90deg,#e8f0ff 50%,transparent 50%)}
  .hr-app .rangeCalGrid button.start.end{background:transparent}
  .hr-app .rangeCalGrid button.start.end .d{background:#2f6ef6}
  .hr-app .rangeCalGrid button.in.start.end{background:transparent}
  /* continuous range ribbon across a week row */
  .hr-app .rangeCalGrid button.in:not(.start):not(.end){border-radius:0}
  .hr-app .rangeCalActions{display:flex;gap:10px;margin-top:14px}
  .hr-app .rangeCalActions .btn{padding:12px;font-size:15px;border-radius:12px;font-weight:700}
  .hr-app .sumSaveBar{display:flex;align-items:center;justify-content:space-between;gap:10px;
    background:#fff8e8;border:1px solid #f0d9a8;border-radius:12px;padding:10px 12px;margin-bottom:11px;
    position:sticky;top:96px;z-index:18}
  .hr-app .sumSaveBar .sumSaveTxt{font-size:13px;font-weight:700;color:#8a5a12;line-height:1.4}
  .hr-app .sumSaveBar .btn{width:auto;display:inline-flex;flex:none;padding:10px 14px}
  .hr-app .sumSaveBar.hide{display:none!important}
  .hr-app .btn{display:block;width:100%;padding:13px;border:0;border-radius:12px;font-size:16px;
    font-family:inherit;font-weight:600;cursor:pointer}
  .hr-app .btn.primary{background:var(--blue);color:#fff}
  .hr-app .btn.ok{background:var(--green);color:#fff}
  .hr-app .btn.ghost{background:#fff;border:1px solid var(--line);color:var(--text);font-weight:500}
  .hr-app .btn:disabled{opacity:.5}
  .hr-app .btn.small{display:inline-block;width:auto;padding:9px 16px;font-size:14px}
  .hr-app .sm{padding:8px 12px;font-size:14px}
  .hr-app .feeSet{display:flex;flex-wrap:wrap;align-items:center;gap:9px;background:#fff4f9;border:1px solid #ffd0e6;
    border-radius:11px;padding:11px 13px;margin:4px 0 8px;font-weight:600}
  .hr-app .feeSet input{width:80px;padding:9px;border:1px solid #ffb8d8;border-radius:9px;font-size:16px;font-family:inherit;text-align:center}
  .hr-app .feeMsg{font-size:13px;font-weight:600}

  .hr-app .stats{display:flex;gap:7px;margin-bottom:11px}
  .hr-app .pill{flex:1;text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 3px}
  .hr-app .pill b{display:block;font-size:19px;line-height:1.25;font-variant-numeric:tabular-nums}
  .hr-app .pill span{font-size:11px;color:var(--muted)}
  .hr-app .pill.g b{color:var(--green)} .hr-app .pill.r b{color:var(--red)} .hr-app .pill.b b{color:var(--blue)}
  .hr-app .pill.click{cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
  .hr-app .pill.click:active{transform:scale(.97)}
  .hr-app .pill.click.on{box-shadow:0 0 0 2px var(--blue);border-color:var(--blue)}
  .hr-app .pill.click.on.g{box-shadow:0 0 0 2px var(--green);border-color:var(--green)}
  .hr-app .pill.click.on.r{box-shadow:0 0 0 2px var(--red);border-color:var(--red)}
  .hr-app .pill.click.on.b{box-shadow:0 0 0 2px var(--blue);border-color:var(--blue)}

  .hr-app .storeHd{font-size:17px;font-weight:800;color:#fff;background:var(--blue);
    margin:18px 0 9px;padding:9px 14px;border-radius:11px;
    display:flex;justify-content:space-between;align-items:center;letter-spacing:1px}
  .hr-app .storeHd .cf{font-weight:600;font-size:12px;background:rgba(255,255,255,.22);padding:3px 10px;border-radius:20px}
  .hr-app .platHd{font-size:13px;font-weight:700;color:var(--muted);margin:16px 2px 8px;
    display:flex;justify-content:space-between;align-items:center}
  .hr-app .platHd.fx{color:#c01f6b;background:#ffe3f0;border-radius:10px;padding:8px 12px;margin-top:18px}
  .hr-app .platHd.fx .phn{font-size:12px;background:#ff2d87;color:#fff;padding:3px 10px;border-radius:20px;font-weight:700}
  .hr-app .fxbadge{font-size:12px;background:#ff2d87;color:#fff;padding:2px 9px;border-radius:20px;font-weight:700;vertical-align:2px}
  .hr-app .p.fxp{border-color:#f4b8d6;border-width:2px}
  .hr-app .fxnote{margin-top:8px;background:#fff4f9;border:1px solid #f4b8d6;color:#c01f6b;
    border-radius:9px;padding:7px 10px;font-size:12.5px;line-height:1.5;font-weight:600}
  .hr-app .p{background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px 12px;margin-bottom:9px}
  .hr-app .p.absent{background:var(--redBg);border-color:#f3c9c9}
  .hr-app .p.working{border-color:#a9dcc4;background:var(--greenBg)}
  .hr-app .ptop{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .hr-app .ptop .nm{font-weight:600;font-size:17px}
  .hr-app .ptop .ph{font-size:12px;color:var(--muted);text-decoration:none;display:block;margin-top:1px}
  .hr-app .ptop .grow{flex:1;min-width:100px}
  .hr-app .tag{font-size:11px;padding:3px 9px;border-radius:20px;background:#eef1f4;color:var(--muted);white-space:nowrap}
  .hr-app .tag.w{background:var(--green);color:#fff}
  .hr-app .tag.d{background:#dfe4ea;color:#4c5866}
  .hr-app .tag.a{background:var(--red);color:#fff}
  .hr-app .tag.src{background:#dbe7fb;color:#1e4fa0;font-weight:700;font-size:12px;padding:4px 11px}
  .hr-app .tag.fxsrc{background:#ff2d87;color:#fff;font-weight:700;font-size:12px;padding:4px 11px}
  .hr-app .tag.st{background:#efe9fb;color:#5b3fb5}
  .hr-app .tag.sc{background:#efe9fb;color:#5b3fb5}
  .hr-app .tag.up{background:#fdf3e0;color:#a8730f}
  .hr-app .times{display:flex;align-items:center;gap:7px;margin-top:9px}
  .hr-app .times input{flex:1;text-align:center;padding:9px 4px;font-variant-numeric:tabular-nums}
  .hr-app .times .dash{color:var(--muted)}
  .hr-app .calc{margin-top:8px;font-size:13px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:8px}
  .hr-app .calc b{color:var(--text);font-size:15px}
  .hr-app .mini{border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 10px;
    font-size:13px;font-family:inherit;color:var(--muted);cursor:pointer;white-space:nowrap}
  .hr-app .mini.on{background:var(--red);border-color:var(--red);color:#fff}
  .hr-app .mini.del{background:#fff;border-color:#f3c9c9;color:var(--red)}
  .hr-app .note-in{margin-top:8px;font-size:14px;padding:8px 10px}

  /* ---- 發薪 ---- */
  .hr-app .segbar{display:flex;gap:6px;background:#eef1f4;border-radius:11px;padding:4px;margin-bottom:11px}
  .hr-app .segbar button{flex:1;border:0;background:none;padding:9px 4px;font-size:14px;font-family:inherit;
    color:var(--muted);border-radius:8px;cursor:pointer;font-weight:600}
  .hr-app .segbar button.on{background:#fff;color:var(--blue);box-shadow:0 1px 3px rgba(0,0,0,.12)}
  .hr-app .payPlat{border:1px solid var(--line);border-radius:13px;margin-bottom:14px;overflow:hidden;
    background:#fff;box-shadow:0 1px 2px rgba(22,34,47,.04)}
  .hr-app .payPlat .ph{background:#e8eef5;padding:11px 12px;font-weight:700;font-size:14px;
    display:flex;align-items:center;gap:10px;border-bottom:2px solid #c5d0dc}
  .hr-app .payPlat .ph .phGrow{flex:1;min-width:0}
  .hr-app .payPlat .ph .phTitle{font-size:15px;color:#16222f}
  .hr-app .payPlat .ph .phHint{font-size:11px;font-weight:500;color:#78848f;margin-top:2px}
  .hr-app .payPlat .ph .amt{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:#334155}
  .hr-app .payPlat .ph .chk{margin-left:4px;background:#fff}
  .hr-app .payPlat .ph .chk.on{background:var(--green);border-color:var(--green)}
  .hr-app .payRow{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 14px;
    border-top:1px solid #eef1f4;background:#fff;margin-left:0}
  .hr-app .payRow:first-of-type{border-top:0}
  .hr-app .payRow .grow{flex:1;min-width:0}
  .hr-app .payRow .nm{font-weight:600;font-size:14px}
  .hr-app .payRow .sub{font-size:12px;color:var(--muted);margin-top:1px}
  .hr-app .payRow .amt{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
  .hr-app .payRow.paid{background:#f3faf6}
  .hr-app .payRow.paid .nm{color:#0d7d49}
  .hr-app .payRow.partial{background:#fffaf0}
  .hr-app .payRow.partial .nm{color:#b45309}
  .hr-app .payPeople{background:#fafbfc;border-top:1px solid #dbe3ec}
  .hr-app .chk{width:26px;height:26px;border:2px solid var(--line);border-radius:7px;flex-shrink:0;
    cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff}
  .hr-app .chk.on{background:var(--green);border-color:var(--green)}
  .hr-app .chk.mid{background:#f59e0b;border-color:#f59e0b}
  .hr-app .chk.skip{cursor:default;background:#eef2f6;border-style:dashed;border-color:#c5ced8;
    color:#6b7c89;font-size:11px;font-weight:700}
  .hr-app .payTools{display:flex;gap:7px;margin-top:7px;align-items:stretch}
  .hr-app .payTools select{flex:1;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:10px;
    font-size:14px;font-family:inherit;background:#fff;color:var(--text)}
  .hr-app .payTools .btn{width:auto;flex:0 0 auto;white-space:nowrap;align-self:stretch;
    display:flex;align-items:center;justify-content:center;padding:8px 14px}
  .hr-app .payExportBox{margin-top:8px}
  .hr-app .payExportBox .chipLbl{margin-top:8px}
  .hr-app .payExportBox .chips{margin:4px 0 2px}
  .hr-app .payExportBox .chip.on{background:var(--blue);border-color:var(--blue);color:#fff}
  .hr-app .payExportBox .payTools{margin-top:8px}
  .hr-app .payExportBox .payTools .btn{flex:1}
  .hr-app .fxtag{font-size:11px;background:#ffe3f0;color:#c01f6b;padding:2px 8px;border-radius:20px}
  .hr-app .mtag{font-size:11px;background:#eef2f6;color:#4b5d6b;padding:2px 8px;border-radius:20px}
  .hr-app .payDays{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
  .hr-app .payDay{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:9px;
    padding:4px 8px;background:#fff;cursor:pointer;font-size:12px;color:var(--text);font-family:inherit}
  .hr-app .payDay.on{border-color:var(--green);background:#f3faf6;color:#0d7d49;font-weight:600}
  .hr-app .payDay .dchk{width:16px;height:16px;border:2px solid var(--line);border-radius:4px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff}
  .hr-app .payDay.on .dchk{background:var(--green);border-color:var(--green)}
  .hr-app .brk{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;background:#fff8ec;
    border:1px solid #f2e0b8;border-radius:9px;padding:8px 11px;font-size:14px;font-weight:600;color:#8a6d1e}
  .hr-app .brk input{width:66px;padding:7px;border:1px solid #e6cf94;border-radius:8px;font-size:15px;font-family:inherit;text-align:center}
  .hr-app .brkraw{font-weight:500;color:#a98f4d;font-size:12.5px}
  .hr-app .sumName{background:none;border:0;padding:0;font:inherit;color:var(--blue);font-weight:700;cursor:pointer}
  .hr-app .sumName .car{font-size:11px;color:#9aa}
  .hr-app .sumDetRow td{background:#fff8ec;padding:0}
  .hr-app .sumDays{padding:4px 6px}
  .hr-app .sumDay{display:flex;justify-content:space-between;align-items:center;gap:9px;flex-wrap:wrap;
    padding:8px 6px;border-bottom:1px dashed #eadfc4}
  .hr-app .sumDay:last-child{border-bottom:0}
  .hr-app .sdInfo{font-size:13.5px}
  .hr-app .sdEdit{font-size:14px;font-weight:600;color:#8a6d1e;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  .hr-app .sdEdit input{width:64px;padding:6px;border:1px solid #e6cf94;border-radius:8px;font-size:15px;font-family:inherit;text-align:center}
  .hr-app .sdEdit .tbox{width:62px;padding:6px 4px}

  .hr-app .emprow{display:flex;gap:6px;align-items:center;margin-bottom:6px;flex-wrap:wrap}
  .hr-app .emprow input, .hr-app .emprow select{padding:9px 8px;font-size:15px;width:auto;
    border:1px solid var(--line);border-radius:10px;font-family:inherit;background:#fff;color:var(--text)}
  .hr-app .emprow input.n{flex:1;min-width:78px}.hr-app .emprow input.t{flex:1.15;min-width:104px}
  .hr-app .emprow input.r{flex:.55;min-width:62px}.hr-app .emprow select.s{flex:1;min-width:96px}
  .hr-app .emprow .del{background:var(--redBg);color:var(--red);border:0;border-radius:9px;
    padding:9px 10px;font-size:15px;cursor:pointer;flex-shrink:0}
  .hr-app .empBox{border:1px solid var(--line);border-radius:12px;padding:9px;margin-bottom:9px}
  .hr-app .empBox.empGone{opacity:.92;background:#f7f8fa;border-style:dashed}
  .hr-app .chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:2px}
  .hr-app .chip{border:1px solid var(--line);background:#fff;border-radius:20px;padding:5px 11px;
    font-size:12px;font-family:inherit;color:var(--muted);cursor:pointer}
  .hr-app .chip.on{background:var(--purple);border-color:var(--purple);color:#fff}
  .hr-app .chipLbl{font-size:11px;color:var(--muted);margin:7px 2px 0}

  /* ---- 名單：新增＋分類搜尋 ---- */
  .hr-app .empAddCard{background:#f6f3fd;border:1px solid #d6cbf0;border-radius:14px;padding:13px;margin-bottom:11px}
  .hr-app .empAddCard .ttl{font-size:15px;font-weight:700;margin-bottom:9px;color:var(--purple)}
  .hr-app .empFilter{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:11px}
  .hr-app .empFilter .qrow{display:flex;gap:8px;align-items:center;margin-bottom:9px}
  .hr-app .empFilter .qrow input{flex:1}
  .hr-app .empGroup{border:1px solid var(--line);border-radius:12px;margin-bottom:8px;overflow:hidden;background:#fff}
  .hr-app .empGroupHd{display:flex;align-items:center;gap:8px;width:100%;padding:11px 13px;border:0;
    background:#f3f5f8;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;text-align:left;color:var(--text)}
  .hr-app .empGroupHd .car{color:var(--muted);font-size:12px;width:14px}
  .hr-app .empGroupHd .cnt{margin-left:auto;font-size:12px;font-weight:600;color:var(--muted)}
  .hr-app .empGroupHd.fx{background:#ffe3f0;color:#c01f6b}
  .hr-app .empGroupHd.y1{background:#d8f3e7;color:#0f6e56;border-left:4px solid #059669}
  .hr-app .empGroupHd.y2{background:#ffedd5;color:#9a3412;border-left:4px solid #ea580c}
  .hr-app .empGroupHd.chick{background:#fef9c;color:#854d0e;border-left:4px solid #eab308}
  .hr-app .empGroupHd.p104{background:#e0e7ff;color:#3730a3;border-left:4px solid #6366f1}
  .hr-app .empGroupHd.p1111{background:#f3e8ff;color:#6b21a8;border-left:4px solid #a855f7}
  .hr-app .empGroupBody{padding:10px 11px;border-top:1px solid var(--line)}
  .hr-app .empGroupBody.hide{display:none}

  .hr-app table{width:100%;border-collapse:collapse;font-size:14px}
  .hr-app th, .hr-app td{padding:9px 5px;text-align:right;border-bottom:1px solid var(--line)}
  .hr-app th:first-child, .hr-app td:first-child{text-align:left}
  .hr-app th{color:var(--muted);font-weight:500;font-size:12px}
  .hr-app tfoot td{font-weight:700;border-bottom:0;border-top:2px solid var(--line)}
  .hr-app .subttl{font-size:13px;font-weight:600;color:var(--muted);margin:17px 0 6px}
  .hr-app .dim{font-size:11px;color:var(--muted);text-align:left}

  /* ---- 排班 ---- */
  .hr-app .week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
  .hr-app .wd{border:1px solid var(--line);background:#fff;border-radius:10px;padding:6px 2px;
    text-align:center;font-family:inherit;cursor:pointer;line-height:1.35}
  .hr-app .wd .w{font-size:10px;color:var(--muted)}
  .hr-app .wd .d{font-size:15px;font-weight:600}
  .hr-app .wd .n{font-size:10px;color:var(--green);font-weight:600;min-height:13px}
  .hr-app .wd.sun .w, .hr-app .wd.sat .w{color:#c0663f}
  .hr-app .wd.on{background:var(--purple);border-color:var(--purple)}
  .hr-app .wd.on .w, .hr-app .wd.on .d, .hr-app .wd.on .n{color:#fff}
  .hr-app .wd.now{border-color:var(--blue);border-width:2px}
  .hr-app .sp{background:#fff;border:1px solid var(--line);border-radius:13px;padding:10px 12px;margin-bottom:8px;
    display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .hr-app .sp.on{border-color:var(--purple);background:#f6f3fd}
  .hr-app .sp .grow{flex:1;min-width:92px}
  .hr-app .sp .nm{font-weight:600;font-size:16px}
  .hr-app .sp .ph{font-size:12px;color:var(--muted);text-decoration:none;display:block;margin-top:1px}
  .hr-app .sw2{width:50px;height:29px;border-radius:20px;border:0;background:#dfe4ea;position:relative;
    cursor:pointer;flex-shrink:0;transition:.15s}
  .hr-app .sw2::after{content:'';position:absolute;top:3px;left:3px;width:23px;height:23px;border-radius:50%;
    background:#fff;transition:.15s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
  .hr-app .sw2.on{background:var(--purple)}
  .hr-app .sw2.on::after{transform:translateX(21px)}
  .hr-app .sp .tw{display:flex;align-items:center;gap:6px;width:100%}
  .hr-app .sp .tw input{flex:1;text-align:center;padding:8px 3px;font-variant-numeric:tabular-nums;font-size:15px;width:auto}
  .hr-app .sp .tw .h{font-size:12px;color:var(--muted);white-space:nowrap;min-width:52px;text-align:right}
  .hr-app .sp .tw .dash{color:var(--muted)}
  .hr-app .sp.off .tw{display:none}

  /* ---- 缺額 ---- */
  .hr-app .cov{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:11px}
  .hr-app .cov .ct{font-size:12px;color:var(--muted);margin-bottom:7px;display:flex;justify-content:space-between}
  .hr-app .covRow{display:flex;align-items:center;gap:9px;padding:6px 0;border-top:1px solid #f0f3f6;font-size:14px}
  .hr-app .covRow:first-of-type{border-top:0}
  .hr-app .covRow .tm{font-variant-numeric:tabular-nums;min-width:96px;font-weight:600}
  .hr-app .covRow .num{flex:1;color:var(--muted);font-size:13px}
  .hr-app .covRow .st{font-size:12px;padding:3px 10px;border-radius:20px;font-weight:600;white-space:nowrap}
  .hr-app .covRow .st.ok{background:var(--greenBg);color:#0d7d49}
  .hr-app .covRow .st.gap{background:var(--redBg);color:var(--red)}
  .hr-app .covRow .st.over{background:#eaf1fc;color:#2d5fa8}

  /* ---- 週班表 ---- */
  .hr-app .wkWrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;
    border:1px solid var(--line);border-radius:12px}
  .hr-app table.wk{border-collapse:collapse;width:100%;min-width:760px;font-size:13px}
  .hr-app table.wk th, .hr-app table.wk td{border:1px solid var(--line);padding:0;vertical-align:top;text-align:left}
  .hr-app table.wk thead th{background:#eef1f4;text-align:center;padding:6px 4px;font-weight:600;
    position:sticky;top:0;z-index:2;font-size:12px}
  .hr-app table.wk thead th .dd{font-size:14px;font-weight:700;color:var(--text)}
  .hr-app table.wk thead th .ww{font-size:11px;color:var(--muted)}
  .hr-app table.wk thead th.now{background:#dbe7fb}
  .hr-app table.wk thead th.now .ww{color:var(--blue)}
  .hr-app table.wk th.sh{background:#e7edf6;width:74px;min-width:74px;text-align:center;
    font-weight:700;font-size:13px;position:sticky;left:0;z-index:1}
  .hr-app table.wk td{min-width:112px}
  .hr-app table.wk td .cellIn{padding:5px 6px;min-height:62px;cursor:pointer}

  /* 週一~五填滿整個螢幕寬度；週六、日在右邊，左滑就看得到 */
  .hr-app .wkWrap.fitwidth{
    overflow-x:auto;
    width:calc(100vw - 20px);
    margin-left:calc(50% - 50vw + 10px);
    margin-right:calc(50% - 50vw + 10px);
  }
  .hr-app table.wk.fit{min-width:0;width:auto}
  .hr-app table.wk.fit th.sh{width:56px;min-width:56px;font-size:13px;padding:4px 2px}
  /* 每個日期欄 = (整個螢幕 - 門市欄) / 5，剛好 5 天填滿 */
  .hr-app table.wk.fit thead th:nth-child(n+2){
    width:calc((100vw - 76px) / 5);min-width:calc((100vw - 76px) / 5);
    font-size:12px;padding:6px 2px}
  .hr-app table.wk.fit thead th .dd{font-size:14px}
  .hr-app table.wk.fit thead th .ww{font-size:11px}
  .hr-app table.wk.fit tbody td{min-width:calc((100vw - 76px) / 5)}
  .hr-app table.wk.fit .wkP{white-space:normal;word-break:break-word;font-size:12.5px;line-height:1.35}
  .hr-app table.wk.fit .wkP .t{display:block;font-size:10.5px}
  .hr-app table.wk.fit td .cellIn{padding:5px 5px;min-height:56px}
  .hr-app table.wk td .cellIn:hover{background:#f7f9fb}
  .hr-app .wkP{display:block;line-height:1.4;margin-bottom:2px;white-space:nowrap}
  .hr-app .wkP .t{font-size:11px;color:var(--muted)}
  .hr-app .wkP.plan{color:#2140a8}
  .hr-app .wkP.plan .t{color:#5b7cc9}
  .hr-app .wkP.working{color:#0d7d49;font-weight:700}
  .hr-app .wkP.working .t{color:#0d7d49}
  .hr-app .wkP.done{color:#64748b}
  .hr-app .wkP.done .t{color:#94a3b8}
  .hr-app .wkP.absent{color:var(--red);text-decoration:line-through}
  .hr-app .wkP.absent .t{color:var(--red);text-decoration:line-through}
  .hr-app .wkGap{display:inline-block;margin-top:3px;background:var(--redBg);color:var(--red);
    font-size:11px;font-weight:700;padding:2px 7px;border-radius:20px}
  .hr-app .wkOk{display:inline-block;margin-top:3px;color:#9aa5ae;font-size:11px}
  /* 週表排班：可點的缺額時段、可移除的已排人 */
  .hr-app .gapBtn{display:block;margin-top:3px;background:var(--redBg);color:var(--red);border:1px dashed var(--red);
    border-radius:8px;font-size:11px;font-weight:700;padding:3px 6px;cursor:pointer;font-family:inherit;width:100%;text-align:left}
  .hr-app .gapBtn:active{transform:scale(.97)}
  .hr-app .picking .gapBtn{background:#fff4f9;border-color:#ff2d87;color:#c01f6b}
  .hr-app .gapBtn.okBtn{background:#eef6f0;border:1px dashed #9fc9b0;color:#5a7a66;font-weight:600}
  .hr-app .picking .gapBtn.okBtn{background:#e9f7f0;border-color:var(--green);color:#0d7d49}
  .hr-app .wkAvail{margin-top:4px;padding:4px 5px;background:#eef7ff;border-radius:7px;
    color:#2563c9;font-size:10.5px;line-height:1.45}
  .hr-app .wkAvail .avchip{display:inline-flex;align-items:center;margin:2px 2px 0 0;border:1px solid #a9c7ee;
    background:#fff;border-radius:12px;overflow:hidden;vertical-align:middle}
  .hr-app .wkAvail .avbtn{border:0;background:transparent;color:#1e4fa0;padding:2px 6px;
    font-size:10.5px;font-family:inherit;cursor:pointer}
  .hr-app .wkAvail .avbtn:hover{background:#dbeafe}
  .hr-app .wkAvail .avx{border:0;border-left:1px solid #cfe0f5;background:transparent;color:#9aa8b8;
    padding:2px 5px;font-size:10px;font-family:inherit;cursor:pointer;line-height:1}
  .hr-app .wkAvail .avx:hover{background:#fee2e2;color:var(--red)}
  .hr-app .wkP.fxp{border-left:3px solid #e879a9;padding-left:4px}
  .hr-app .wkP.y1{border-left:3px solid #059669;padding-left:4px}
  .hr-app .wkP.y2{border-left:3px solid #ea580c;padding-left:4px}
  .hr-app .wkP.chick{border-left:3px solid #eab308;padding-left:4px}
  .hr-app .wkP.p104{border-left:3px solid #6366f1;padding-left:4px}
  .hr-app .wkP.p1111{border-left:3px solid #a855f7;padding-left:4px}
  .hr-app .wkP.plan.y1{color:#16222f}
  .hr-app .wkP.plan.y2{color:#c2410c}
  .hr-app .wkP.plan.fxp{color:#c01f6b}
  .hr-app .wkP.plan.chick{color:#854d0e}
  .hr-app .wkP.plan.p104{color:#3730a3}
  .hr-app .wkP.plan.p1111{color:#6b21a8}
  .hr-app .wkP.rm{cursor:pointer}
  .hr-app .wkP.rm::after{content:' ✕';color:var(--red);font-size:10px}
  .hr-app .addBtn{display:block;margin-top:3px;background:#eef4ff;color:var(--blue);border:1px dashed var(--blue);
    border-radius:8px;font-size:11px;font-weight:600;padding:3px 6px;cursor:pointer;font-family:inherit;width:100%;text-align:center}
  /* 人力池 */
  .hr-app .poolBar{background:#eef2ff;color:#4338ca;border:1px solid #d9def7;border-bottom:0;border-radius:12px 12px 0 0;
    padding:9px 13px;font-size:13px;font-weight:600;margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .hr-app .poolBar .x{margin-left:auto;background:#fff;border:1px solid #cbd3f1;color:#5b3fb5;border-radius:8px;
    padding:5px 11px;font-size:13px;font-family:inherit;cursor:pointer}
  .hr-app .poolFilter{background:#f8f9fc;padding:10px 12px;border-left:1px solid var(--line);border-right:1px solid var(--line)}
  .hr-app .poolFilter .qrow{display:flex;gap:8px;margin-bottom:8px}
  .hr-app .poolFilter .qrow input{flex:1;padding:9px 11px;border:1px solid var(--line);border-radius:9px;
    font-size:15px;font-family:inherit;background:#fff;color:var(--text)}
  .hr-app .poolFilter .qrow input::placeholder{color:#9aa5ae}
  .hr-app .poolFilter .chipLbl{color:var(--muted)}
  .hr-app .poolFilter .chip{background:#fff;border-color:var(--line);color:var(--muted)}
  .hr-app .poolFilter .chip.on{background:#5b3fb5;border-color:#5b3fb5;color:#fff}
  .hr-app .poolFilter .btn.ghost{background:#fff;border-color:var(--line);color:var(--text)}
  .hr-app .poolGroup{width:100%;margin-bottom:8px}
  .hr-app .poolGroupHd{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;
    background:#eef1f5;color:var(--text);border-radius:9px;font-family:inherit;font-size:13px;font-weight:700;
    cursor:pointer;text-align:left;margin-bottom:6px}
  .hr-app .poolGroupHd .car{color:#9aa5ae;font-size:11px;width:12px}
  .hr-app .poolGroupHd .cnt{margin-left:auto;font-size:11px;color:#9aa5ae;font-weight:600}
  .hr-app .poolGroupHd.fx{color:#c01f6b}
  .hr-app .poolGroupHd.y1{color:#0f766e}
  .hr-app .poolGroupHd.y2{color:#b45309}
  .hr-app .poolGroupHd.chick{color:#854d0e}
  .hr-app .poolGroupHd.p104{color:#3730a3}
  .hr-app .poolGroupHd.p1111{color:#6b21a8}
  .hr-app .poolGroupBody{display:flex;flex-wrap:wrap;gap:7px;padding:0 2px 4px}
  .hr-app .poolGroupBody.hide{display:none}
  .hr-app .pool{background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;
    padding:11px;display:flex;flex-wrap:wrap;gap:7px}
  .hr-app .pchip{background:#f8fafc;border:2px solid var(--line);border-radius:12px;padding:7px 11px;
    font-size:14px;font-family:inherit;cursor:pointer;line-height:1.3;text-align:left}
  .hr-app .pchip .nm{font-weight:700}
  .hr-app .pchip .mt{font-size:10.5px;color:var(--muted);display:block}
  .hr-app .pchip.on{border-color:#ff2d87;box-shadow:0 0 0 3px rgba(255,45,135,.25)}
  .hr-app .pchip.fx{border-left:4px solid #e879a9}
  .hr-app .pchip.y1{border-left:4px solid #5bb89a}
  .hr-app .pchip.y2{border-left:4px solid #e8a86a}
  .hr-app .pchip.chick{border-left:4px solid #eab308}
  .hr-app .pchip.p104{border-left:4px solid #6366f1}
  .hr-app .pchip.p1111{border-left:4px solid #a855f7}

  /* ---- 人力需求 ---- */
  .hr-app .ndDay{border:1px solid var(--line);border-radius:12px;margin-bottom:9px;overflow:hidden}
  .hr-app .ndHd{background:#f3f5f8;padding:8px 11px;font-weight:700;font-size:14px;
    display:flex;justify-content:space-between;align-items:center}
  .hr-app .ndHd .cnt{font-size:11px;color:var(--muted);font-weight:400}
  .hr-app .ndBody{padding:9px 11px}
  /* 可打字的時間欄位 */
  .hr-app .tbox{font-variant-numeric:tabular-nums;text-align:center;letter-spacing:.5px}
  .hr-app .tbox:focus{outline:2px solid var(--blue);outline-offset:-1px}
  .hr-app .ndRow{display:flex;align-items:center;gap:6px;margin-bottom:7px}
  .hr-app .ndRow .tbox{flex:1;min-width:76px;padding:8px 4px;font-size:15px}
  .hr-app .ndRow input.q{width:62px;flex:0 0 62px;padding:8px 4px;text-align:center;font-size:15px}
  .hr-app .ndRow .lbl{font-size:12px;color:var(--muted);white-space:nowrap}
  .hr-app .ndRow .del{background:var(--redBg);color:var(--red);border:0;border-radius:9px;
    padding:8px 10px;font-size:14px;cursor:pointer}
  .hr-app .ndAdd{background:#fff;border:1px dashed var(--line);border-radius:9px;padding:7px;
    width:100%;font-size:13px;font-family:inherit;color:var(--muted);cursor:pointer}
  /* 整週人力：左邊日期、右邊時段 */
  .hr-app .ndwk{display:flex;gap:10px;background:#fff;border:1px solid var(--line);border-radius:13px;
    padding:11px 12px;margin-bottom:9px}
  .hr-app .ndwk.today{border-color:var(--blue);border-width:2px}
  .hr-app .ndwk.wknd{background:#fafbfc}
  .hr-app .ndwk .dcol{flex:0 0 62px;text-align:center}
  .hr-app .ndwk .dcol .wd{font-size:20px;font-weight:800;line-height:1}
  .hr-app .ndwk .dcol .dt{font-size:12px;color:var(--muted);margin-top:2px}
  .hr-app .ndwk .dcol .tt{font-size:11px;color:var(--blue);margin-top:4px;font-weight:600}
  .hr-app .ndwk .rcol{flex:1;min-width:0}
  .hr-app .ndwk .none{color:#b6bec6;font-size:13px;padding:7px 0}

  /* ---- 月曆 ---- */
  .hr-app .monthBar{display:flex;align-items:center;gap:8px;margin-bottom:11px}
  .hr-app .monthBar .mTitle{flex:1;text-align:center;font-size:17px;font-weight:700}
  .hr-app .monthBar button{border:1px solid var(--line);background:#fff;border-radius:10px;
    width:42px;height:38px;font-size:17px;font-family:inherit;color:var(--text);cursor:pointer}
  .hr-app .cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
  .hr-app .calHd{text-align:center;font-size:11px;color:var(--muted);padding:3px 0;font-weight:600}
  .hr-app .calHd.wk{color:#c0663f}
  .hr-app .cell{min-height:64px;border:1px solid var(--line);border-radius:9px;padding:4px 3px;
    background:#fff;cursor:pointer;overflow:hidden;text-align:left;font-family:inherit;
    display:flex;flex-direction:column;gap:2px}
  .hr-app .cell:disabled{background:transparent;border-color:transparent;cursor:default}
  .hr-app .cell .dnum{font-size:11px;color:var(--muted);font-weight:600;display:flex;
    justify-content:space-between;align-items:center;line-height:1.2}
  .hr-app .cell .big{font-size:20px;font-weight:700;line-height:1.05;color:var(--green)}
  .hr-app .cell .big span{font-size:10px;font-weight:400;color:var(--muted)}
  .hr-app .cell .brk{font-size:9.5px;color:var(--muted);line-height:1.45;word-break:break-all}
  .hr-app .cell .brk i{font-style:normal;color:var(--text)}
  .hr-app .cell.today{border-color:var(--blue);border-width:2px;padding:3px 2px}
  .hr-app .cell.today .dnum{color:var(--blue)}
  .hr-app .cell.has{background:var(--greenBg);border-color:#bfe4d1}
  .hr-app .cell.warn{background:#fdf3e0;border-color:#f0d9a8}
  .hr-app .cell.empty{background:#fafbfc}
  .hr-app .cell.plan{background:#f6f3fd;border-color:#d6cbf0}
  .hr-app .cell .mk{font-size:10px}
  .hr-app .cell .mk.ok{color:var(--green)}
  .hr-app .cell .mk.no{color:#c9820d}
  .hr-app .cell .abs{color:var(--red);font-size:9.5px}
  .hr-app .cell.sel{outline:3px solid var(--purple);outline-offset:-1px}
  .hr-app .dtHd{display:flex;align-items:baseline;gap:9px;margin-bottom:3px}
  .hr-app .dtHd .d{font-size:19px;font-weight:700}
  .hr-app .dtHd .s{font-size:12px;color:var(--muted)}
  .hr-app .dtStore{display:flex;align-items:baseline;gap:8px;margin:13px 0 6px;
    padding-bottom:5px;border-bottom:1px solid var(--line)}
  .hr-app .dtStore .n{font-weight:700;font-size:15px}
  .hr-app .dtStore .c{font-size:12px;color:var(--muted);flex:1}
  .hr-app .dtStore .c b{color:var(--text)}
  .hr-app .nchip{display:inline-flex;flex-direction:column;gap:1px;border:1px solid var(--line);
    background:#fff;border-radius:10px;padding:6px 10px;margin:0 5px 5px 0;font-size:13px;line-height:1.35}
  .hr-app .nchip .nn{font-weight:600}
  .hr-app .nchip .tt{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
  .hr-app .nchip.ok{background:var(--greenBg);border-color:#bfe4d1}
  .hr-app .nchip.work{background:var(--greenBg);border-color:var(--green)}
  .hr-app .nchip.late{background:#fdf3e0;border-color:#f0d9a8}
  .hr-app .nchip.miss{background:var(--redBg);border-color:#f3c9c9}
  .hr-app .nchip.plan{background:#f6f3fd;border-color:#d6cbf0}
  .hr-app .nchip.miss .nn{color:var(--red)}
  .hr-app .calLegend{font-size:11px;color:var(--muted);margin-top:10px;line-height:1.9}
  .hr-app .calLegend b{color:var(--text)}
  .hr-app .sw{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:-1px;margin-right:3px}

  .hr-app .qrCard{text-align:center;padding:20px 14px;page-break-after:always}
  .hr-app .qrCard .ttl{font-size:25px;font-weight:700}
  .hr-app .qrCard .store{font-size:15px;color:var(--purple);font-weight:600;margin:5px 0 3px}
  .hr-app .qrCard .desc{color:var(--muted);font-size:13px;margin-bottom:15px;line-height:1.7}
  .hr-app .qrImg{display:inline-block;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px}
  .hr-app .qrImg img, .hr-app .qrImg canvas{display:block;width:210px;height:210px}
  .hr-app .urlbox{font-size:11px;color:var(--muted);word-break:break-all;line-height:1.6}
  .hr-app .urlrow{background:#f7f9fb;border:1px solid var(--line);border-radius:10px;padding:9px 11px;margin-bottom:8px}
  .hr-app .urlrow .who{font-size:13px;font-weight:600;margin-bottom:3px}
  .hr-app .urlrow .u{font-size:11px;color:var(--muted);word-break:break-all;line-height:1.5}

  .hr-app .hrSaveBar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);
    padding:9px 13px calc(9px + env(safe-area-inset-bottom));z-index:30;
    height:auto;min-height:0;overflow:visible;margin:0;border-radius:0}
  .hr-app .bar .inner{max-width:680px;margin:0 auto}
  .hr-app .toast{position:fixed;left:50%;transform:translateX(-50%);bottom:86px;background:#16222f;color:#fff;
    padding:11px 18px;border-radius:24px;font-size:14px;z-index:50;opacity:0;transition:.25s;pointer-events:none;max-width:90%}
  .hr-app .toast.show{opacity:.95}
  .hr-app .note{font-size:13px;color:var(--muted);margin:8px 2px;line-height:1.7;text-align:left}
  .hr-app .empty{text-align:center;color:var(--muted);padding:26px 10px;font-size:14px;line-height:1.8}
  .hr-app .hide{display:none!important}
  .hr-app .ok-banner{background:var(--greenBg);border:1px solid #a9dcc4;color:#0d7d49;
    border-radius:12px;padding:10px 12px;font-size:14px;margin-bottom:11px}
  .hr-app .warn{background:#fdf3e0;border:1px solid #f0d9a8;color:#8a6112;
    border-radius:12px;padding:10px 12px;font-size:13px;margin-bottom:11px;line-height:1.6}

  /* ---- 可列印的打卡海報 ---- */
  .hr-app .poster{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
    margin-bottom:16px;max-width:720px;margin-left:auto;margin-right:auto}
  .hr-app .poster .phd{background:var(--blue);color:#fff;text-align:center;padding:18px 16px}
  .hr-app .poster .phd .sn{font-size:30px;font-weight:800;letter-spacing:2px}
  .hr-app .poster .phd .sub{font-size:15px;opacity:.9;margin-top:4px;letter-spacing:3px}
  .hr-app .poster .pbody{padding:20px 22px}
  .hr-app .steps{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
  .hr-app .step{flex:1;min-width:120px;max-width:160px;text-align:center;background:#f4f7fb;border-radius:12px;padding:12px 8px}
  .hr-app .step .n{width:30px;height:30px;line-height:30px;border-radius:50%;background:var(--blue);color:#fff;
    font-weight:800;font-size:16px;margin:0 auto 7px}
  .hr-app .step .tx{font-size:14px;font-weight:600;line-height:1.5}
  .hr-app .step .tx small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:2px}
  .hr-app .pqr{text-align:center;margin:8px 0 4px}
  .hr-app .pqr .qrImg{display:inline-block;padding:14px;background:#fff;border:2px solid var(--blue);border-radius:14px}
  .hr-app .pqr .qrImg img, .hr-app .pqr .qrImg canvas{display:block;width:300px;height:300px}
  .hr-app .pqr .cap{font-size:15px;font-weight:700;color:var(--blue);margin-top:8px}
  .hr-app .ptip{background:#f7f9fb;border-radius:10px;padding:11px 14px;margin-top:14px;font-size:13px;line-height:1.9;color:#4c5866}
  .hr-app .ptip b{color:var(--text)}
  .hr-app .pflex{border:2px solid #ff2d87;border-radius:14px;margin-top:16px;overflow:hidden}
  .hr-app .pflex .fhd{background:#ff2d87;color:#fff;text-align:center;padding:10px;font-size:16px;font-weight:800}
  .hr-app .pflex .fbody{padding:14px 16px;text-align:center}
  .hr-app .pflex .fbody .qrImg{display:inline-block;padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px}
  .hr-app .pflex .fbody .qrImg img, .hr-app .pflex .fbody .qrImg canvas{display:block;width:200px;height:200px}
  .hr-app .pflex .fbody .ft{font-size:13px;color:#c01f6b;line-height:1.7;margin-top:8px;font-weight:600}

  @media print{
    @page{size:A4;margin:8mm}
    .hr-app{background:#fff;padding:0;margin:0}
    .hr-app header, .hr-app nav, .hr-app .bar, .hr-app .noprint{display:none!important}
    .hr-app main{max-width:none;padding:0;margin:0}
    .hr-app .card{border:0;margin:0}
    .hr-app *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
    /* 一間店 = 剛好一張 A4：把尺寸與間距縮緊 */
    .hr-app .poster{border:0;margin:0;max-width:none;border-radius:0;
      page-break-after:always;break-after:page;page-break-inside:avoid}
    .hr-app .poster:last-child{page-break-after:auto;break-after:auto}
    .hr-app .poster .phd{padding:12px}
    .hr-app .poster .phd .sn{font-size:26px}
    .hr-app .poster .phd .sub{font-size:13px;margin-top:2px}
    .hr-app .poster .pbody{padding:12px 16px}
    .hr-app .steps{gap:7px;margin-bottom:10px}
    .hr-app .step{padding:8px 6px}
    .hr-app .step .n{width:24px;height:24px;line-height:24px;font-size:13px;margin-bottom:4px}
    .hr-app .step .tx{font-size:12.5px}
    .hr-app .step .tx small{font-size:11px}
    .hr-app .pqr{margin:2px 0}
    .hr-app .pqr .qrImg{padding:8px;border-width:1px}
    .hr-app .pqr .qrImg img, .hr-app .pqr .qrImg canvas{width:240px;height:240px}
    .hr-app .pqr .cap{font-size:13px;margin-top:5px}
    .hr-app .ptip{padding:8px 12px;margin-top:9px;font-size:12px;line-height:1.7}
    .hr-app .pflex{margin-top:10px}
    .hr-app .pflex .fhd{padding:7px;font-size:14px}
    .hr-app .pflex .fbody{padding:9px 12px}
    .hr-app .pflex .fbody .qrImg{padding:6px}
    .hr-app .pflex .fbody .qrImg img, .hr-app .pflex .fbody .qrImg canvas{width:150px;height:150px}
    .hr-app .pflex .fbody .ft{font-size:11.5px;margin-top:5px}
  }

  /* ---- app dialog (replaces alert/confirm) ---- */
  .hr-app .appDlgScrim{position:fixed;inset:0;background:rgba(22,34,47,.45);z-index:9000;
    display:flex;align-items:center;justify-content:center;padding:20px;
    -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
  .hr-app .appDlg{background:#fff;border-radius:16px;max-width:400px;width:100%;
    box-shadow:0 18px 50px rgba(22,34,47,.28);overflow:hidden;animation:appDlgIn .18s ease}
  @keyframes appDlgIn{.hr-app from{opacity:0;transform:translateY(8px) scale(.98)}.hr-app to{opacity:1;transform:none}}
  .hr-app .appDlg .hd{padding:16px 18px 0;font-size:16px;font-weight:800;color:#16222f}
  .hr-app .appDlg .bd{padding:12px 18px 18px;font-size:14px;line-height:1.7;color:#3a4654;
    white-space:pre-wrap;word-break:break-word;max-height:min(55vh,420px);overflow:auto}
  .hr-app .appDlg .ft{display:flex;gap:8px;justify-content:flex-end;padding:0 14px 14px}
  .hr-app .appDlg .ft button{border:0;border-radius:10px;padding:10px 16px;font-size:14px;
    font-weight:700;font-family:inherit;cursor:pointer}
  .hr-app .appDlg .ft .cancel{background:#eef2f6;color:#3a4654}
  .hr-app .appDlg .ft .ok{background:#5b3fb5;color:#fff}

  /* ---- 權限：手風琴 ---- */
  .hr-app .accList{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:11px}
  .hr-app .accRow{border-bottom:1px solid var(--line)}
  .hr-app .accRow:last-child{border-bottom:0}
  .hr-app .accHead{display:flex;align-items:center;gap:10px;width:100%;padding:13px 14px;border:0;
    background:transparent;text-align:left;font-family:inherit;cursor:pointer}
  .hr-app .accHead:hover{background:#f7f8fb}
  .hr-app .accHead .accTitle{flex:1;min-width:0;font-size:15px;font-weight:700;color:#16222f}
  .hr-app .accHead .accMeta{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46%}
  .hr-app .accHead .accCount{flex-shrink:0;min-width:28px;height:22px;padding:0 8px;border-radius:999px;
    background:#eef2f6;color:#3a4654;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
  .hr-app .accHead .accCount.on{background:#e8f6ee;color:#1b7a4a}
  .hr-app .accHead .accChev{flex-shrink:0;color:var(--muted);font-size:12px;transition:transform .15s}
  .hr-app .accRow.open .accChev{transform:rotate(180deg)}
  .hr-app .accRow.open .accHead{background:#f3f5f8}
  .hr-app .accBody{display:none;padding:0 14px 14px;border-top:1px dashed var(--line)}
  .hr-app .accRow.open .accBody{display:block;padding-top:12px}
  .hr-app .accHint{font-size:12px;color:var(--muted);line-height:1.55;margin:0 0 10px}
  .hr-app .accMails{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;min-height:28px}
  .hr-app .accMail{display:inline-flex;align-items:center;gap:6px;padding:6px 8px 6px 10px;border-radius:999px;
    background:#e8f6ee;border:1px solid #bfe4d1;font-size:13px;font-weight:600;color:#16222f}
  .hr-app .accMail button{border:0;background:transparent;color:#78848f;cursor:pointer;font-size:15px;line-height:1;padding:0 2px}
  .hr-app .accMail button:hover{color:#d84343}
  .hr-app .accEmpty{font-size:13px;color:var(--muted);padding:4px 0}
  .hr-app .accAdd{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
  .hr-app .accAdd input{flex:1;min-width:160px}
  .hr-app .accAdd .btn{width:auto}


/* Ensure HR controls win over shared order-prep component classes */
.hr-app header { text-align:left; justify-content:flex-start; }
.hr-app header .hdrBrand,
.hr-app header h1,
.hr-app header .sub { text-align:left; }
.hr-app .note { text-align:left; }
.hr-app .btn { display:block; width:100%; padding:13px; border:0; border-radius:12px; font-size:16px; font-family:inherit; font-weight:600; cursor:pointer; }
.hr-app .btn.primary { background:var(--blue,#2563c9); color:#fff; }
.hr-app .btn.ok { background:var(--green,#12a05f); color:#fff; }
.hr-app .btn.ghost { background:#fff; border:1px solid var(--line,#e2e7ec); color:var(--text,#16222f); font-weight:500; }
.hr-app .btn.sm, .hr-app .sm { padding:8px 12px; font-size:14px; width:auto; display:inline-block; }
.hr-app .btn.flex1 { flex:1; }
.hr-app .btn.w-full { width:100%; display:block; }
.hr-app .btnRow { display:flex; gap:7px; margin-bottom:11px; }
.hr-app .btnRow.flat { margin-bottom:0; }
.hr-app .btnRow.mt { margin-bottom:0; margin-top:8px; }
.hr-app .btnRow.mt7 { margin-bottom:0; margin-top:7px; }
.hr-app .btnRow.mt9 { margin-bottom:0; margin-top:9px; }
.hr-app .btnRow > .btn { flex:1; }
.hr-app .card { background:var(--card,#fff); border:1px solid var(--line,#e2e7ec); border-radius:14px; padding:13px; margin-bottom:11px; cursor:default; box-shadow:none; }
.hr-app .card.pad11 { padding:11px; }
.hr-app .card.pad9 { padding:9px; }
.hr-app .card:hover { border-color:var(--line,#e2e7ec); box-shadow:none; }
.hr-app .toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%) translateY(12px); background:#16222f; color:#fff; padding:10px 16px; border-radius:10px; font-size:14px; opacity:0; pointer-events:none; transition:.2s; z-index:80; right:auto; }
.hr-app .toast.show, .hr-app .toast.on { opacity:1; transform:translateX(-50%) translateY(0); }
.hr-app .hide { display:none !important; }
.hr-app .mb11 { margin-bottom:11px; }
.hr-app .mb8 { margin-bottom:8px; }
.hr-app .mb12 { margin-bottom:12px; }
.hr-app .mt6 { margin-top:6px; }
.hr-app .mt9 { margin-top:9px; }
.hr-app .mt0 { margin-top:0; }
.hr-app .note.center { text-align:center; }
.hr-app .hrSaveBar {
  position:fixed; left:0; right:0; bottom:0;
  height:auto !important; min-height:0; margin:0 !important; overflow:visible !important;
  border-radius:0; border-top:1px solid var(--line,#e2e7ec);
  background:rgba(255,255,255,.96); padding:10px 14px; z-index:30;
  box-shadow:none;
}
.hr-app .hrSaveBar .inner { max-width:680px; margin:0 auto; }
.hr-app .hrSaveBar .btn {
  display:block; width:100%; height:auto !important; min-height:48px;
  padding:13px; font-size:16px; font-weight:700; line-height:1.3;
}
.hr-app .btn.small,
.hr-app .feeSet .btn {
  display:inline-flex; width:auto; padding:8px 14px; font-size:14px;
  align-items:center; justify-content:center;
}
.hr-app .feeSet {
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
}
.hr-app .feeSet .note { width:100%; flex:1 0 100%; }
.hr-app .sumSaveBar .btn {
  display:inline-flex; width:auto; flex:none; padding:10px 14px;
  background:var(--green,#12a05f); color:#fff; border:0; min-height:42px;
  align-items:center; justify-content:center;
}
.hr-app .sumSaveBar .btn:disabled {
  opacity:.45; background:#9bb5a6; color:#fff;
}
.hr-app .hrSaveBar .btn.ok,
.hr-app .hrSaveBar .btn.primary {
  background:var(--green,#12a05f); color:#fff !important;
}
.hr-app .hrSaveBar .btn.primary { background:var(--blue,#2563c9); }
.hr-app .rangeField { width:100%; }
.hr-app .rangeCalActions .btn { width:auto; flex:1; }
.hr-app .rangeCalGrid button {
  background:transparent; border:0; padding:0; display:flex; align-items:center; justify-content:center;
}
.hr-app .rangeCalHead button {
  background:transparent; border:0; display:inline-flex; align-items:center; justify-content:center;
}
.hr-app .rangeCalGrid button.start .d,
.hr-app .rangeCalGrid button.end .d {
  background:#2f6ef6; color:#fff;
}

/* ---- 人力換算(獎金)報表 ---- */
.hr-app .mpWrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0}
.hr-app .mpTbl{width:100%;border-collapse:collapse;font-size:13px;min-width:420px}
.hr-app .mpTbl th,.hr-app .mpTbl td{
  border:1px solid var(--line,#e2e7ec);padding:7px 8px;text-align:center;white-space:nowrap}
.hr-app .mpTbl thead th{background:#f3f5f8;font-weight:700;font-size:12px}
.hr-app .mpTbl .mpSub{font-weight:500;color:var(--muted,#78848f);font-size:11px}
.hr-app .mpTbl .mpDate{text-align:left;min-width:64px}
.hr-app .mpTbl .mpWd{display:block;font-size:11px;color:var(--muted,#78848f);font-weight:500}
.hr-app .mpTbl .mpNum{font-variant-numeric:tabular-nums}
.hr-app .mpTbl .mpTot{font-weight:700;background:#fafbfc}
.hr-app .mpTbl tbody tr{cursor:pointer}
.hr-app .mpTbl tbody tr:hover{background:#f6f8fb}
.hr-app .mpTbl tbody tr.on{outline:2px solid var(--blue,#2563c9);outline-offset:-2px}
.hr-app .mpTbl tbody tr.wknd,.hr-app .mpDetailTbl tr.wknd{background:#fce8e8}
.hr-app .mpTbl tbody tr.wknd:hover{background:#f9dede}
.hr-app .mpTbl .mpFoot td{font-weight:700;background:#e8eef6}
.hr-app .mpStoreBlk{margin:10px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line,#e2e7ec)}
.hr-app .mpStoreBlk:last-child{border-bottom:0;margin-bottom:0}
.hr-app .mpStoreHd{display:flex;justify-content:space-between;gap:8px;font-weight:700;margin-bottom:6px}
.hr-app .mpStoreHd span{font-weight:500;color:var(--muted,#78848f);font-size:12px}
.hr-app .mpDetailRow{display:grid;grid-template-columns:minmax(72px,1.2fr) minmax(90px,1fr) 52px 52px;
  gap:6px;align-items:center;padding:5px 0;font-size:13px;border-top:1px solid #f0f2f5}
.hr-app .mpName{font-weight:600}
.hr-app .mpShift,.hr-app .mpHrs,.hr-app .mpRatio{color:#445;font-variant-numeric:tabular-nums}
.hr-app .mpDetailWrap{overflow-x:auto;max-height:360px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.hr-app .mpDetailTbl{width:100%;border-collapse:collapse;font-size:12px;min-width:480px}
.hr-app .mpDetailTbl th,.hr-app .mpDetailTbl td{
  border:1px solid var(--line,#e2e7ec);padding:5px 7px;text-align:left}
.hr-app .mpDetailTbl th{background:#f3f5f8;position:sticky;top:0;z-index:1}
.hr-app .mpDetailTbl .mpNum{text-align:right;font-variant-numeric:tabular-nums}
.hr-app .card.pad0{padding:0;overflow:hidden}
/* Auto-prepared for Tailwind pipeline; scoped root = .hr-punch */
.hr-punch {
  --bg:#0f1b2a; --line:#dde3ea; --text:#16222f; --muted:#7b8794;
  --green:#12a05f; --greenD:#0d7d49; --amber:#e08b1a; --amberD:#b96f0d;
  height:100%;
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;
  font-size:17px;
  -webkit-user-select:none;
  user-select:none;
}
.hr-punch *,
.hr-punch *::before,
.hr-punch *::after {
  box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
}

.hr-punch .screen{min-height:100%;display:none;flex-direction:column}
.hr-punch .screen.on{display:flex}

.hr-punch header{padding:16px 18px 13px;color:#fff;text-align:center}
.hr-punch .store{display:inline-block;font-size:13px;padding:3px 13px;border-radius:20px;
  background:rgba(255,255,255,.16);margin-bottom:9px;letter-spacing:.5px}
.hr-punch header .clock{font-size:42px;font-weight:200;letter-spacing:1px;line-height:1.1;font-variant-numeric:tabular-nums}
.hr-punch header .date{font-size:14px;opacity:.7;margin-top:4px}

.hr-punch .sheet{flex:1;background:#f4f6f8;border-radius:22px 22px 0 0;padding:18px 16px 28px}
.hr-punch h2{margin:0 0 14px;font-size:18px;text-align:center}
.hr-punch .search{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;
  font-size:16px;font-family:inherit;margin-bottom:12px;background:#fff}
.hr-punch .grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hr-punch .nameBtn{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 10px;
  font-size:19px;font-weight:600;font-family:inherit;color:var(--text);cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:5px;min-height:78px;justify-content:center}
.hr-punch .nameBtn:active{transform:scale(.97)}
.hr-punch .nameBtn .tag{font-size:12px;font-weight:500;padding:2px 9px;border-radius:20px;background:#eef1f4;color:var(--muted)}
.hr-punch .nameBtn.working{border-color:var(--green);background:#e9f7f0}
.hr-punch .nameBtn.working .tag{background:var(--green);color:#fff}
.hr-punch .nameBtn.done{opacity:.62}
.hr-punch .nameBtn.done .tag{background:#dfe4ea}
.hr-punch .empty{text-align:center;color:var(--muted);padding:40px 10px;grid-column:1/-1;line-height:1.8}

.hr-punch .mid{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:24px 20px;text-align:center}
.hr-punch .who{font-size:38px;font-weight:700;color:#fff;margin-bottom:6px}
.hr-punch .sub{color:#fff;opacity:.75;font-size:15px;margin-bottom:32px;line-height:1.7}
.hr-punch .bigBtn{width:100%;max-width:340px;border:0;border-radius:20px;padding:30px 16px;
  font-size:27px;font-weight:700;color:#fff;font-family:inherit;cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.3)}
.hr-punch .bigBtn:active{transform:scale(.97)}
.hr-punch .bigBtn small{display:block;font-size:14px;font-weight:400;opacity:.9;margin-top:6px}
.hr-punch .bigBtn.in{background:linear-gradient(180deg,var(--green),var(--greenD))}
.hr-punch .bigBtn.out{background:linear-gradient(180deg,var(--amber),var(--amberD))}
.hr-punch .bigBtn:disabled{opacity:.6}
.hr-punch .back{background:none;border:0;color:#fff;opacity:.6;font-size:16px;font-family:inherit;
  padding:20px;cursor:pointer}

.hr-punch .tick{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:54px;color:#fff;margin-bottom:18px;background:var(--green)}
.hr-punch .tick.amber{background:var(--amber)}
.hr-punch .tick.gray{background:#6b7785}
.hr-punch .rTime{font-size:58px;font-weight:200;color:#fff;font-variant-numeric:tabular-nums;line-height:1}
.hr-punch .rMsg{color:#fff;font-size:20px;font-weight:600;margin:13px 0 6px}
.hr-punch .rInfo{color:#fff;opacity:.78;font-size:15px;line-height:1.8}
.hr-punch .doneBtn{margin-top:30px;width:100%;max-width:340px;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:16px;padding:16px;
  font-size:17px;font-family:inherit;cursor:pointer}
.hr-punch .err{color:#ffb4b4;font-size:16px;margin-top:14px;line-height:1.6}
.hr-punch .undoBtn{margin-top:12px;background:none;border:0;color:#ffb4b4;font-size:15px;
  font-family:inherit;cursor:pointer;text-decoration:underline;padding:8px}

.hr-punch .fx{background:#fff;border:3px solid #ff2d87;border-radius:18px;padding:16px 14px;
  margin-top:22px;width:100%;max-width:360px;text-align:center;color:var(--text)}
.hr-punch .fx .bar{background:#ff2d87;color:#fff;border-radius:20px;padding:6px 14px;
  font-size:15px;font-weight:700;display:inline-block;margin-bottom:10px}
.hr-punch .fx .ttl{font-size:19px;font-weight:800;line-height:1.4;margin-bottom:6px}
.hr-punch .fx .body{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:12px}
.hr-punch .fx .qr{display:inline-block;padding:9px;background:#fff;border:1px solid var(--line);border-radius:12px}
.hr-punch .fx .qr img,
.hr-punch .fx .qr canvas{display:block;width:196px;height:196px}
.hr-punch .fx .foot{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.6}
.hr-punch .fx .foot b{color:#ff2d87}
.hr-punch .note{font-size:13px;color:var(--muted);text-align:center;margin-top:16px;line-height:1.6}

.hr-punch .appDlgScrim{position:fixed;inset:0;background:rgba(22,34,47,.45);z-index:9000;
  display:flex;align-items:center;justify-content:center;padding:20px;
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.hr-punch .appDlg{background:#fff;border-radius:16px;max-width:400px;width:100%;
  box-shadow:0 18px 50px rgba(22,34,47,.28);overflow:hidden;animation:hrPunchDlgIn .18s ease}
@keyframes hrPunchDlgIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.hr-punch .appDlg .hd{padding:16px 18px 0;font-size:16px;font-weight:800;color:#16222f}
.hr-punch .appDlg .bd{padding:12px 18px 18px;font-size:14px;line-height:1.7;color:#3a4654;
  white-space:pre-wrap;word-break:break-word;max-height:min(55vh,420px);overflow:auto}
.hr-punch .appDlg .ft{display:flex;gap:8px;justify-content:flex-end;padding:0 14px 14px}
.hr-punch .appDlg .ft button{border:0;border-radius:10px;padding:10px 16px;font-size:14px;
  font-weight:700;font-family:inherit;cursor:pointer}
.hr-punch .appDlg .ft .cancel{background:#eef2f6;color:#3a4654}
.hr-punch .appDlg .ft .ok{background:#5b3fb5;color:#fff}

.hr-punch .hide { display:none !important; }
