/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.blur{--tw-blur:blur(8px);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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#26312c;--muted:#7f8983;--line:#e8ebe7;--green:#52735f;--green-dark:#3f5f4c;--paper:#f7f7f3}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:5;background:#fff;flex-direction:column;width:238px;padding:28px 18px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 10px 32px;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:11px;place-items:center;width:39px;height:39px;font-family:serif;font-size:20px;display:grid;box-shadow:0 5px 15px #52735f30}.brand strong{letter-spacing:.12em;font-size:15px;display:block}.brand small{color:#a0a7a2;letter-spacing:.18em;margin-top:3px;font-size:9px;display:block}.nav-label{color:#a6ada8;letter-spacing:.12em;margin:0 12px 10px;font-size:10px}.nav-item{color:#68736d;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:13px;width:100%;margin:3px 0;padding:11px 13px;font-size:13px;display:flex}.nav-item span{text-align:center;width:18px;font-size:18px}.nav-item b{color:#ad6540;text-align:center;background:#f3e3d9;border-radius:20px;min-width:22px;margin-left:auto;padding:2px 6px;font-size:10px}.nav-item:hover,.nav-item.active{color:var(--green-dark);background:#edf2ed;font-weight:700}.sidebar-bottom{margin-top:auto}.sidebar-bottom>.nav-item{border-bottom:1px solid var(--line);border-radius:0;margin-bottom:18px;padding-bottom:18px}.profile{grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:0 5px;display:grid}.avatar,.mini-avatar{color:#fff;background:#c99775;border-radius:50%;place-items:center;font-weight:700;display:grid}.avatar{width:38px;height:38px}.mini-avatar{cursor:pointer;border:0;width:34px;height:34px;font-size:12px}.profile strong{font-size:12px;display:block}.profile small{color:#929b96;margin-top:3px;font-size:10px;display:block}.profile button{color:#9da49f;background:0 0;border:0}.workspace{width:calc(100% - 238px);margin-left:238px}.topbar{z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#ffffffea;justify-content:space-between;align-items:center;height:70px;padding:0 38px;display:flex;position:sticky;top:0}.search{color:#a0a7a2;background:#f6f7f4;border:1px solid #eceeea;border-radius:9px;align-items:center;gap:10px;width:min(390px,40vw);height:38px;padding:0 12px;display:flex}.search input{background:0 0;border:0;outline:0;flex:1;font-size:12px}.search kbd{color:#929b96;background:#fff;border:1px solid #dfe3df;border-radius:5px;padding:3px 6px;font-size:9px}.top-actions{align-items:center;gap:12px;display:flex}.top-actions select,.current-role{border:1px solid var(--line);color:#59645e;background:#fff;border-radius:8px;padding:7px 10px;font-size:11px}.icon-button{color:#67726c;background:0 0;border:0;font-size:22px;position:relative}.icon-button i{color:#fff;background:#b8644e;border:2px solid #fff;border-radius:50%;place-items:center;width:15px;height:15px;font-size:7px;font-style:normal;display:grid;position:absolute;top:-2px;right:-3px}.mobile-brand{display:none}.content{max-width:1280px;margin:auto;padding:42px 40px 60px}.welcome-row{justify-content:space-between;align-items:flex-end;margin-bottom:28px;display:flex}.eyebrow{letter-spacing:.05em;color:#9aa29d!important;margin-bottom:8px!important;font-size:11px!important}.welcome-row h1{letter-spacing:.03em;margin:0 0 8px;font-family:Georgia,Noto Serif TC,serif;font-size:30px;font-weight:500}.welcome-row h1 span{font-size:22px}.welcome-row p{color:#79837d;margin:0;font-size:13px}.primary{background:var(--green);color:#fff;border:0;border-radius:9px;padding:11px 17px;font-size:12px;box-shadow:0 5px 16px #52735f25}.primary:hover{background:var(--green-dark)}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:13px;min-height:124px;padding:20px;position:relative;overflow:hidden}.stat-card div>span{color:#7d8781;margin-bottom:8px;font-size:11px;display:block}.stat-card strong{font-family:Georgia,serif;font-size:27px;font-weight:500}.stat-card strong small{color:#919994;font-family:inherit;font-size:11px}.stat-card>b{color:#77827b;margin-top:12px;font-size:9px;font-weight:500;display:block}.stat-card>i{border-radius:10px;place-items:center;width:36px;height:36px;font-size:19px;font-style:normal;display:grid;position:absolute;top:18px;right:17px}.stat-card.green>i{color:#52735f;background:#e8f0e8}.stat-card.orange>i{color:#b2744e;background:#f6ebe2}.stat-card.blue>i{color:#557786;background:#e6eef1}.stat-card.purple>i{color:#756a8d;background:#ece9f2}.dashboard-grid{grid-template-columns:1.6fr 1fr;gap:18px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:13px;padding:23px}.panel-head{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.panel h2{margin:0 0 5px;font-family:Georgia,Noto Serif TC,serif;font-size:17px;font-weight:600}.panel-head p{color:#9aa29d;margin:0;font-size:10px}.panel-head>button{color:#587462;background:0 0;border:0;font-size:10px;font-weight:700}.status{color:#a17c6c;background:#f6eeea;border-radius:20px;padding:5px 8px;font-size:9px}.status.on{color:#4e765c;background:#e6f0e8}.timeline{position:relative}.timeline-empty{color:#929b95;text-align:center;border:1px dashed #dfe4df;border-radius:8px;margin:0 0 14px;padding:24px 12px;font-size:10px}.event{grid-template-columns:44px 12px 1fr 25px;align-items:start;gap:10px;min-height:63px;display:grid}.event time{color:#7e8882;padding-top:2px;font-size:10px}.dot{border-radius:50%;width:8px;height:8px;margin-top:3px;position:relative}.event:not(:last-child) .dot:after{content:"";background:#e3e7e3;width:1px;height:51px;position:absolute;top:11px;left:3px}.dot.green{background:#5e846c}.dot.blue{background:#5d8190}.dot.orange{background:#bb7850}.dot.purple{background:#7a7191}.event strong{margin-bottom:6px;font-size:12px;display:block}.event p{color:#959d98;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:9px;overflow:hidden}.tag{border-radius:4px;margin-right:8px;padding:2px 6px;display:inline-block}.tag.green{color:#52735f;background:#e5efe7}.tag.blue{color:#557786;background:#e5eef1}.tag.orange{color:#a76542;background:#f5e8df}.tag.purple{color:#726988;background:#edeaf3}.event>button{color:#a8afa9;background:0 0;border:0}.add-event{color:#728078;background:#fbfcfa;border:1px dashed #d8ddd8;border-radius:8px;width:100%;padding:8px;font-size:10px}.clock-time{text-align:center;padding:8px 0 15px}.clock-time strong{letter-spacing:.05em;font:500 39px/1 Georgia,serif;display:block}.clock-time span{color:#a1a8a3;margin-top:8px;font-size:9px;display:block}.dashboard-clock-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 13px;display:grid}.dashboard-clock-steps>span{color:#98a39b;background:#fbfcfa;border:1px dashed #d8e0d8;border-radius:8px;gap:3px;min-width:0;padding:7px 8px;display:grid}.dashboard-clock-steps>span.done{color:#466d53;background:#f2f8f2;border-style:solid;border-color:#c7dcc9}.dashboard-clock-steps small{font-size:9px}.dashboard-clock-steps b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.clock-button{background:var(--green);color:#fff;border:0;border-radius:10px;width:100%;padding:13px;font-size:12px}.clock-button:disabled{opacity:.65}.clock-button span{margin-right:8px}.clock-button.out{background:#b46f55}.dashboard-clock-complete{color:#466d53;text-align:center;background:#e1f0e2;border-radius:10px;padding:13px;font-size:12px;display:block}.clock-detail-link{color:#52705c;background:#fff;border:1px solid #d7e2d7;border-radius:8px;width:100%;margin-top:10px;padding:8px;font-size:10px;font-weight:700}.stock-list{flex-direction:column;gap:15px;display:flex}.stock-empty{color:#929b95;text-align:center;border:1px dashed #dfe4df;border-radius:8px;margin:0;padding:28px 10px;font-size:10px}.stock-item{grid-template-columns:40px 1fr 66px 40px;align-items:center;gap:12px;display:grid}.stock-icon{background:#f6f1e8;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.stock-info strong{font-size:11px;display:block}.stock-info p{color:#9aa19d;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 7px;font-size:8px;overflow:hidden}.progress{background:#eee;border-radius:3px;width:100%;height:3px;overflow:hidden}.progress span{background:#bd7652;height:100%;display:block}.stock-qty{text-align:right}.stock-qty strong{color:#b26748;font-size:11px;display:block}.stock-qty span{color:#9aa19d;font-size:7px}.stock-item button{color:#637069;background:#fff;border:1px solid #dde1dd;border-radius:6px;padding:5px;font-size:8px}.sop-list{flex-direction:column;gap:8px;display:flex}.sop-item{text-align:left;background:0 0;border:0;border-radius:9px;grid-template-columns:42px 1fr auto 10px;align-items:center;gap:11px;width:100%;padding:5px;display:grid}.sop-item:hover{background:#f7f8f5}.sop-icon{border-radius:9px;place-items:center;width:42px;height:42px;font-size:19px;display:grid}.sop-icon.cream{background:#f7efe2}.sop-icon.mint{background:#e9f0e9}.sop-icon.blue{background:#e7eef1}.sop-item strong,.sop-item small{display:block}.sop-item strong{font-size:10px}.sop-item small,.sop-item time{color:#9aa19d;margin-top:4px;font-size:8px}.sop-item b{color:#a7aea9}.permission-note{color:#607068;background:#f2f5f1;border-radius:9px;gap:10px;margin-top:16px;padding:12px;display:flex}.permission-note p{margin:0;font-size:8px;line-height:1.6}.permission-note strong{font-size:9px}.toast{color:#fff;z-index:20;background:#263f32;border-radius:10px;padding:13px 18px;font-size:11px;animation:.2s ease-out pop;position:fixed;bottom:28px;right:30px;box-shadow:0 12px 35px #1e2b2450}.mobile-nav{display:none}@keyframes pop{0%{opacity:0;transform:translateY(8px)}}.auth-page{background:radial-gradient(circle at 15% 10%,#eef3ec 0,#0000 30%),radial-gradient(circle at 90% 90%,#f5e8df 0,#0000 28%),#f7f7f3;place-items:center;min-height:100vh;padding:28px 16px;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(430px,100%);padding:34px;box-shadow:0 22px 70px #35483d18}.setup-card{width:min(500px,100%)}.auth-brand{align-items:center;gap:12px;margin-bottom:35px;display:flex}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{letter-spacing:.08em;font-size:14px}.auth-brand small{color:#9ba39e;letter-spacing:.18em;margin-top:4px;font-size:8px}.auth-eyebrow{color:#73847a;letter-spacing:.12em;margin:0 0 10px;font-size:10px}.auth-card h1{margin:0 0 9px;font:500 28px/1.2 Georgia,Noto Serif TC,serif}.auth-intro{color:#87918b;margin:0 0 22px;font-size:11px;line-height:1.7}.auth-card form{flex-direction:column;gap:15px;display:flex}.auth-card label{color:#5e6a63;font-size:10px;font-weight:700}.auth-card input{background:#fbfcfa;border:1px solid #dfe4df;border-radius:9px;outline:none;width:100%;margin-top:7px;padding:11px 12px;font-size:13px;display:block}.auth-card input:focus{border-color:#6f8a78;box-shadow:0 0 0 3px #52735f14}.auth-card label small{color:#9aa29d;margin-top:5px;font-weight:400;display:block}.auth-card .primary{width:100%;margin-top:5px;padding:12px}.auth-card .primary:disabled{opacity:.6}.auth-error{color:#a4533b;background:#f8e9e5;border-radius:8px;padding:9px 11px;font-size:10px}.setup-link{text-align:center;color:#52735f;margin:20px 0;font-size:10px;text-decoration:none;display:block}.auth-foot{text-align:center;color:#a1a8a3;margin-top:20px;font-size:8px;display:block}.auth-link{text-align:center;text-decoration:none;display:block}.auth-loading{color:#7c8881;place-content:center;justify-items:center;gap:12px;min-height:100vh;font-size:11px;display:grid}.auth-loading .brand-mark{width:48px;height:48px}.accounts-page{background:#f7f7f3;min-height:100vh}.accounts-top{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:68px;padding:0 max(24px,50vw - 590px);display:flex}.accounts-top>a,.accounts-top>button{color:#66736b;background:0 0;border:0;font-size:11px;text-decoration:none}.accounts-top>div{align-items:center;gap:10px;display:flex}.accounts-top .brand-mark{width:33px;height:33px;font-size:16px}.accounts-top strong{font-family:Georgia,Noto Serif TC,serif}.accounts-wrap{max-width:1180px;margin:auto;padding:42px 24px}.accounts-title{justify-content:space-between;align-items:flex-end;margin-bottom:26px;display:flex}.accounts-title p{color:#66806f;letter-spacing:.12em;margin:0 0 8px;font-size:10px}.accounts-title h1{margin:0 0 8px;font:500 29px Georgia,Noto Serif TC,serif}.accounts-title span{color:#87918b;font-size:11px}.accounts-title>b{color:#55705e;background:#e8efe8;border-radius:20px;padding:7px 11px;font-size:10px}.accounts-grid{grid-template-columns:330px 1fr;gap:18px;display:grid}.account-panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:23px}.account-panel h2{margin:0 0 6px;font:600 17px Georgia,Noto Serif TC,serif}.account-panel>p,.member-head p{color:#959d98;margin:0 0 20px;font-size:9px}.account-panel>form{flex-direction:column;gap:13px;display:flex}.account-panel label{color:#637068;font-size:10px;font-weight:700}.account-panel input,.account-panel select{background:#fbfcfa;border:1px solid #dfe4df;border-radius:8px;outline:none;width:100%;margin-top:6px;padding:10px;font-size:11px;display:block}.account-panel input:focus,.account-panel select:focus{border-color:#6d8977}.member-panel{min-width:0}.member-list{flex-direction:column;display:flex}.member-row{border-top:1px solid #eef0ed;grid-template-columns:38px minmax(120px,1fr) 110px 75px 140px;align-items:center;gap:11px;padding:13px 4px;display:grid}.member-row.inactive{opacity:.58}.member-avatar{color:#55705f;background:#e9efe9;border-radius:50%;place-items:center;width:35px;height:35px;font-size:12px;font-weight:700;display:grid}.member-name strong,.member-name span{display:block}.member-name strong{font-size:11px}.member-name span{color:#9ba29e;margin-top:4px;font-size:8px}.member-name em{color:#55705e;background:#e8efe8;border-radius:8px;margin-left:6px;padding:2px 5px;font-size:7px;font-style:normal}.member-row>select{margin:0;padding:7px;font-size:9px}.member-status{color:#52735f;font-size:8px}.member-status.off{color:#a96b55}.member-actions{justify-content:flex-end;gap:5px;display:flex}.member-actions button{color:#637068;background:#fff;border:1px solid #dde2dd;border-radius:6px;padding:6px 7px;font-size:8px}.member-actions button:disabled{opacity:.35}.reset-row{grid-template-columns:1fr auto;padding:8px 0 0;grid-column:2/-1!important;gap:8px!important;display:grid!important}.reset-row input{margin:0}.reset-row .primary{width:auto;margin:0;padding:9px 12px}@media (max-width:820px){.accounts-grid{grid-template-columns:1fr}.member-row{grid-template-columns:36px 1fr 95px}.member-status{display:none}.member-actions{grid-column:2/-1;justify-content:flex-start}.reset-row{grid-column:1/-1!important}.accounts-title{align-items:flex-start}.accounts-title>b{white-space:nowrap}}@media (max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.sop-panel{grid-column:auto}}@media (max-width:720px){.sidebar{display:none}.workspace{width:100%;margin:0}.topbar{height:62px;padding:0 18px}.mobile-brand{align-items:center;gap:8px;display:flex}.mobile-brand .brand-mark{width:31px;height:31px;font-size:15px}.search{display:none}.top-actions select{max-width:94px}.content{padding:25px 16px 90px}.welcome-row{align-items:flex-start}.welcome-row h1{font-size:25px}.welcome-row p{max-width:230px;line-height:1.6}.primary{padding:10px;font-size:0}.primary:first-letter{font-size:17px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{min-height:112px;padding:16px}.stat-card strong{font-size:23px}.dashboard-grid{display:block}.panel{margin-bottom:12px;padding:18px}.stock-item{grid-template-columns:36px 1fr 58px}.stock-item>button{display:none}.mobile-nav{z-index:10;border-top:1px solid var(--line);background:#fffffff5;justify-content:space-around;height:68px;padding:7px 6px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#879089;background:0 0;border:0;font-size:8px}.mobile-nav span{margin-bottom:4px;font-size:18px;display:block}.mobile-nav .active{color:#496a55;font-weight:700}.toast{text-align:center;bottom:82px;left:16px;right:16px}}.profile-card{width:min(440px,100%)}.first-password{color:#496a55;background:#edf3ed;border-radius:9px;margin:0 0 20px;padding:12px 14px;font-size:11px;line-height:1.6}.member-actions .delete-member{color:#a4533b;background:#fff8f6;border-color:#ead7d1}.attendance-page{background:#f7f7f3;min-height:100vh}.attendance-top{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:68px;padding:0 max(20px,50vw - 620px);display:flex}.attendance-top>div{align-items:center;gap:10px;display:flex}.attendance-top a{color:#66736b;font-size:11px;text-decoration:none}.attendance-wrap{max-width:1240px;margin:auto;padding:38px 20px 70px}.attendance-title{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.attendance-title p{color:#66806f;letter-spacing:.15em;margin:0 0 7px;font-size:9px}.attendance-title h1{margin:0 0 7px;font:500 29px Georgia,Noto Serif TC,serif}.attendance-title span{color:#87918b;font-size:11px}.attendance-title input{background:#fff;border:1px solid #dce2dc;border-radius:8px;padding:9px}.attendance-grid{grid-template-columns:330px 1fr;gap:18px;display:grid}.attendance-card{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:18px;padding:23px}.attendance-card h2{margin:0 0 6px;font:600 17px Georgia,Noto Serif TC,serif}.attendance-card p{color:#949d97;margin:0 0 19px;font-size:9px}.clock-entry form{flex-direction:column;gap:13px;display:flex}.clock-entry label{color:#637068;font-size:10px;font-weight:700}.clock-entry input{background:#fbfcfa;border:1px solid #dfe4df;border-radius:8px;width:100%;margin-top:6px;padding:10px;font-size:12px;display:block}.time-pair{grid-template-columns:1fr 1fr;gap:11px;display:grid}.approval-fields{border-top:1px solid var(--line);gap:12px;padding-top:13px;display:grid}.approval-fields .check{align-items:center;gap:7px;display:flex}.approval-fields .check input{width:auto;margin:0}.plain-button{color:#758179;background:0 0;border:0;font-size:10px}.records-head{justify-content:space-between;display:flex}.records-head b{color:#52705c;background:#e7efe7;border-radius:14px;height:max-content;padding:5px 8px;font-size:8px}.attendance-list article{border-top:1px solid #edf0ed;grid-template-columns:minmax(150px,1.5fr) 115px 100px 110px auto 45px;align-items:center;gap:12px;padding:14px 0;display:grid}.record-main strong,.record-main span,.attendance-list article>div>small,.attendance-list article>div>strong{display:block}.record-main strong{font-size:11px}.record-main span{color:#909a94;margin-top:5px;font-size:9px}.attendance-list article>div>small{color:#9aa29d;margin-bottom:4px;font-size:8px}.attendance-list article>div>strong{font-size:10px}.attendance-list .overtime{color:#ad6540}.record-flags{flex-wrap:wrap;gap:4px;display:flex}.record-flags i{color:#9a5d3f;background:#f5e9e2;border-radius:9px;padding:3px 5px;font-size:7px;font-style:normal}.attendance-list article>button{color:#637068;background:#fff;border:1px solid #dde2dd;border-radius:6px;padding:6px;font-size:8px}.empty{text-align:center;padding:35px}.wage-panel,.settlement{justify-content:space-between;gap:25px;display:flex}.wage-list{grid-template-columns:1fr 1fr;gap:8px 20px;width:min(760px,100%);display:grid}.wage-list label{border-bottom:1px solid #edf0ed;justify-content:space-between;align-items:center;padding:8px;font-size:10px;display:flex}.wage-list strong,.wage-list small{display:block}.wage-list small{color:#9aa29d;margin-top:3px}.wage-list input{text-align:right;border:1px solid #dfe4df;border-radius:7px;width:78px;padding:7px}.sheet-button{color:#fff;background:#52735f;border-radius:9px;padding:11px 16px;font-size:11px;text-decoration:none;display:inline-block}.settlement>div:last-child{align-items:center;display:flex}.settlement span{color:#87918b;font-size:10px}@media (max-width:900px){.attendance-grid{grid-template-columns:1fr}.attendance-list article{grid-template-columns:1.5fr 1fr 1fr}.attendance-list article>div:nth-child(4){display:none}.record-flags{grid-column:1/3}.wage-panel,.settlement{display:block}.wage-list{grid-template-columns:1fr;margin-top:15px}.settlement>div:last-child{margin-top:15px}.attendance-title{align-items:flex-start}.attendance-title span{max-width:230px;line-height:1.5;display:block}}.clock-entry select{background:#fbfcfa;border:1px solid #dfe4df;border-radius:8px;width:100%;margin-top:6px;padding:10px;font-size:11px;display:block}.time-wheel{background:#fbfcfa;border:1px solid #dfe4df;border-radius:8px;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);align-items:center;margin-top:6px;display:grid;overflow:hidden}.time-wheel select{color:#34443a;font-variant-numeric:tabular-nums;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:0;width:100%;min-width:0;margin:0;padding:10px 4px;font-size:14px}.time-wheel b{color:#728078;text-align:center;font-size:15px}.time-wheel.locked{background:#f2f4f1}.time-wheel.locked select{color:#7e8881;opacity:1;cursor:default}.record-actions{gap:5px;display:flex}.record-actions button{color:#637068;background:#fff;border:1px solid #dde2dd;border-radius:6px;padding:6px;font-size:8px}.record-actions .delete-record{color:#a4533b;background:#fff8f6;border-color:#ead7d1}.salary-summary{text-align:right}.salary-summary>small,.salary-summary>strong{display:block}.salary-summary>small{color:#929b96;margin-bottom:4px;font-size:8px}.salary-summary>strong{color:#496a55;font-size:13px}.salary-summary>b{margin-top:5px;display:inline-block}.member-filter{color:#78847d;font-size:8px}.member-filter select{background:#fbfcfa;border:1px solid #dfe4df;border-radius:7px;min-width:170px;margin-top:5px;padding:7px;font-size:10px;display:block}.google-sheet-button{color:#496a55;background:#f5f8f5;border:1px solid #b9c8bd;border-radius:9px;padding:11px 16px;font-size:11px;text-decoration:none;display:inline-block}.settlement>div:last-child{flex-wrap:wrap;gap:8px}.delete-settlement{color:#a14f38;background:#fff8f6;border:1px solid #e2c2b8;border-radius:9px;padding:10px 14px;font-size:11px}.delete-settlement:disabled{opacity:.55}.calendar-page{color:#26342c;background:#f7f7f3;min-height:100vh}.calendar-wrap{max-width:1280px;margin:auto;padding:38px 20px 70px}.calendar-title{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.calendar-title p{color:#66806f;letter-spacing:.15em;margin:0 0 7px;font-size:9px}.calendar-title h1{margin:0 0 7px;font:500 29px Georgia,Noto Serif TC,serif}.calendar-title span{color:#87918b;font-size:11px}.month-switch{align-items:center;gap:7px;display:flex}.month-switch button{color:#52705c;background:#fff;border:1px solid #dce2dc;border-radius:8px;width:36px;height:36px;font-size:20px}.month-switch input{background:#fff;border:1px solid #dce2dc;border-radius:8px;height:36px;padding:0 10px}.calendar-layout{grid-template-columns:300px 1fr;gap:18px;display:grid}.calendar-form-card,.calendar-board,.calendar-event-list{border:1px solid var(--line);background:#fff;border-radius:14px}.calendar-form-card{padding:23px}.calendar-form-card h2,.calendar-event-list h2{margin:0 0 6px;font:600 17px Georgia,Noto Serif TC,serif}.calendar-form-card>p,.calendar-event-list>div:first-child>p{color:#949d97;margin:0 0 18px;font-size:9px}.calendar-form-card form{flex-direction:column;gap:13px;display:flex}.calendar-form-card label{color:#637068;font-size:10px;font-weight:700}.calendar-form-card input,.calendar-form-card select,.calendar-form-card textarea{width:100%;font:inherit;color:#26342c;background:#fbfcfa;border:1px solid #dfe4df;border-radius:8px;margin-top:6px;padding:10px;display:block}.calendar-form-card textarea{resize:vertical}.calendar-board{padding:14px;overflow:hidden}.weekday-row,.month-grid{grid-template-columns:repeat(7,1fr);display:grid}.weekday-row b{text-align:center;color:#7c8880;padding:7px;font-size:9px}.month-grid{border-top:1px solid #e5e9e5;border-left:1px solid #e5e9e5}.day-cell{text-align:left;color:#34463a;background:#fff;border:1px solid #e5e9e5;border-top:0;border-left:0;min-height:108px;padding:8px}.day-cell:hover,.day-cell.selected{background:#f0f5f0}.day-cell.today time{color:#fff;background:#557662;border-radius:50%;place-items:center;width:24px;height:24px;display:inline-grid}.day-cell time{font-size:10px;font-weight:700}.day-cell>span{margin-top:5px;display:block}.day-cell i{text-overflow:ellipsis;white-space:nowrap;color:#4e6d59;background:#eaf1eb;border-radius:4px;margin:3px 0;padding:4px;font-size:8px;font-style:normal;display:block;overflow:hidden}.day-cell i em{color:#7d8d82;margin-right:4px;font-style:normal}.day-cell small{color:#8b958f;font-size:7px}.day-cell.blank{background:#fafbf9}.calendar-event-list{grid-template-columns:210px 1fr;gap:25px;margin-top:18px;padding:23px;display:grid}.calendar-event-list article{border-top:1px solid #edf0ed;grid-template-columns:85px 1fr auto;align-items:start;gap:12px;padding:14px 0;display:grid}.calendar-event-list article>time{color:#557662;font-size:10px;font-weight:700}.calendar-event-list article span{color:#55705e;background:#edf3ed;border-radius:10px;padding:3px 7px;font-size:7px;display:inline-block}.calendar-event-list article strong{margin:6px 0;font-size:12px;display:block}.calendar-event-list article p{color:#6f7973;white-space:pre-wrap;margin:0 0 5px;font-size:10px;line-height:1.6}.calendar-event-list article small{color:#9aa29d;font-size:8px}.calendar-event-list article button{color:#a4533b;background:#fff8f6;border:1px solid #ead7d1;border-radius:7px;padding:7px 10px;font-size:9px}.calendar-event-list .empty{text-align:center;color:#939c96;padding:28px}@media (max-width:900px){.calendar-layout{grid-template-columns:1fr}.calendar-form-card{order:2}.calendar-board{order:1}.day-cell{min-height:82px;padding:5px}.day-cell i{font-size:7px}.calendar-event-list{grid-template-columns:1fr}.calendar-title{align-items:flex-start;gap:16px}.calendar-event-list article{grid-template-columns:70px 1fr auto}}@media (max-width:600px){.calendar-wrap{padding:25px 12px 40px}.calendar-title{display:block}.month-switch{margin-top:16px}.calendar-board{display:none}.calendar-form-card{order:1}.calendar-event-list{margin-top:12px;padding:18px}.calendar-event-list article{grid-template-columns:62px 1fr}.calendar-event-list article button{grid-column:2;justify-self:start}.calendar-title h1{font-size:25px}}.inventory-page{color:#293b34;background:#f7f6f1;min-height:100vh}.inventory-wrap{width:min(1680px,100% - 48px);margin:0 auto;padding:52px 0 80px}.inventory-title{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:32px;display:flex}.inventory-title p,.inventory-form-card>div>p{color:#668675;letter-spacing:.16em;margin:0 0 12px;font:700 12px/1.2 Arial,sans-serif}.inventory-title h1{margin:0 0 13px;font:400 clamp(34px,4vw,56px)/1.05 Georgia,Noto Serif TC,serif}.inventory-title>div>span,.inventory-form-card>div>span{color:#819087}.inventory-stats{gap:12px;display:flex}.inventory-stats span{color:#7c8982;background:#fff;border:1px solid #e4e5df;border-radius:16px;min-width:132px;padding:16px 20px;font-size:13px}.inventory-stats b{color:#345546;margin-bottom:3px;font-size:24px;display:block}.inventory-stats .alert{color:#a4543a;background:#fff3ee;border-color:#efc8b9}.inventory-stats .alert b{color:#a64f32}.inventory-tabs{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.inventory-tabs button{color:#53675e;text-align:left;cursor:pointer;background:#fff;border:1px solid #dedfd9;border-radius:16px;justify-content:space-between;align-items:center;padding:19px 22px;display:flex}.inventory-tabs button:hover,.inventory-tabs button.active{color:#315441;background:#e9f0ea;border-color:#597e69}.inventory-tabs strong{font-size:18px}.inventory-tabs small{background:#ffffffb8;border-radius:99px;padding:5px 9px}.inventory-layout{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:24px;display:grid}.inventory-form-card,.inventory-list-card{background:#fff;border:1px solid #e1e2dc;border-radius:22px;box-shadow:0 8px 30px #233a3009}.inventory-form-card{padding:30px;position:sticky;top:24px}.inventory-form-card h2,.inventory-list-card h2{margin:0 0 8px;font:400 27px/1.2 Georgia,Noto Serif TC,serif}.inventory-form-card form{gap:17px;margin-top:28px;display:grid}.inventory-form-card label{color:#52685e;gap:8px;font-size:13px;font-weight:700;display:grid}.inventory-form-card input,.inventory-form-card textarea,.inventory-list-head input{color:#2e4138;background:#fbfcfa;border:1px solid #dfe3dd;border-radius:12px;outline:none;width:100%;padding:14px;font:500 16px/1.3 Arial,Noto Sans TC,sans-serif}.inventory-form-card input:focus,.inventory-form-card textarea:focus,.inventory-list-head input:focus{border-color:#688c77;box-shadow:0 0 0 3px #688c771f}.inventory-form-card textarea{resize:vertical}.inventory-form-card label small{color:#9aa49e;font-weight:400}.inventory-number-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.inventory-form-card button{cursor:pointer;border:0;border-radius:12px;min-height:52px;font-size:15px}.inventory-form-card .secondary{color:#5a6c63;background:#f1f2ee}.inventory-list-card{overflow:hidden}.inventory-list-head{border-bottom:1px solid #ecece7;justify-content:space-between;align-items:flex-end;padding:28px 30px;display:flex}.inventory-list-head h2{margin-bottom:5px}.inventory-list-head p{color:#8b9690;margin:0;font-size:13px}.inventory-list-head label{color:#6c7c74;gap:6px;width:260px;font-size:12px;display:grid}.inventory-list-head input{padding:11px 13px;font-size:14px}.inventory-table-head,.inventory-list article{grid-template-columns:minmax(220px,1.5fr) minmax(120px,.75fr) minmax(100px,.65fr) minmax(170px,1fr) 126px;align-items:center;gap:18px;display:grid}.inventory-table-head{color:#8a968f;background:#fafbf8;padding:13px 30px;font-size:12px}.inventory-list article{border-top:1px solid #eeeeea;min-height:94px;padding:17px 30px}.inventory-list article:first-child{border-top:0}.inventory-list article.low{background:#fffaf7}.inventory-name{align-items:center;gap:13px;min-width:0;display:flex}.inventory-name>span{color:#52705f;background:#e8efe9;border-radius:12px;flex:0 0 42px;place-items:center;height:42px;font:700 18px/1 Georgia,serif;display:grid}.inventory-name div{gap:4px;min-width:0;display:grid}.inventory-name strong{font-size:15px}.inventory-name small{color:#929c96;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inventory-quantity,.inventory-list article>div:nth-child(3){flex-wrap:wrap;align-items:baseline;gap:5px;display:flex}.inventory-quantity b,.inventory-list article>div:nth-child(3) b{font-size:19px}.inventory-quantity span,.inventory-list article>div:nth-child(3) span{color:#829088;font-size:12px}.inventory-quantity em{color:#b5593c;width:100%;font-size:11px;font-style:normal;font-weight:700;display:block}.inventory-update{color:#64746c;gap:4px;font-size:13px;display:grid}.inventory-update small{color:#a0a8a3}.inventory-actions{justify-content:flex-end;gap:7px;display:flex}.inventory-actions button{color:#52685d;cursor:pointer;background:#fff;border:1px solid #dce1dc;border-radius:9px;padding:9px 11px}.inventory-actions .danger{color:#b0593c;border-color:#efd7ce}.inventory-empty{color:#73837b;text-align:center;place-items:center;min-height:300px;display:grid}.inventory-empty span{color:#a0aaa5;margin-top:-110px;font-size:13px}@media (max-width:900px){.inventory-wrap{width:min(100% - 28px,720px);padding:30px 0 100px}.inventory-title{flex-direction:column;align-items:flex-start}.inventory-stats{width:100%}.inventory-stats span{flex:1;min-width:0}.inventory-tabs{gap:7px}.inventory-tabs button{flex-direction:column;align-items:flex-start;gap:7px;padding:14px}.inventory-tabs strong{font-size:14px}.inventory-layout{grid-template-columns:1fr}.inventory-form-card{position:static}.inventory-table-head{display:none}.inventory-list-card{overflow:visible}.inventory-list-head{flex-direction:column;align-items:stretch;gap:18px}.inventory-list-head label{width:100%}.inventory-list{gap:12px;padding:14px;display:grid}.inventory-list article{border-radius:15px;grid-template-columns:1fr 1fr;gap:14px;min-height:0;padding:18px;border:1px solid #e7e7e2!important}.inventory-name,.inventory-update{grid-column:1/-1}.inventory-actions{grid-column:1/-1;justify-content:stretch}.inventory-actions button{flex:1;min-height:42px}.inventory-empty{min-height:220px}.inventory-empty span{margin-top:-75px}}@media (max-width:520px){.inventory-page .attendance-top{padding-inline:14px}.inventory-page .attendance-top strong{font-size:14px}.inventory-wrap{width:calc(100% - 22px)}.inventory-title h1{font-size:36px}.inventory-stats span{padding:12px}.inventory-tabs button{padding:12px 9px}.inventory-tabs small{padding:3px 6px}.inventory-form-card{padding:22px 18px}.inventory-number-row{grid-template-columns:1fr}.inventory-list-head{padding:23px 20px}.inventory-list article{grid-template-columns:1fr}.inventory-name,.inventory-update,.inventory-actions{grid-column:auto}.inventory-quantity{padding-top:5px}.inventory-list article>div:nth-child(3):before{content:"安全庫存 ";color:#87938c;font-size:12px}}.inventory-weekly-note{color:#655a3e;background:#fffaf0;border:1px solid #e5d6ad;border-radius:16px;align-items:center;gap:14px;margin:-8px 0 24px;padding:17px 22px;display:flex}.inventory-weekly-note>span{color:#66562f;background:#e9d7a5;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:800}.inventory-weekly-note strong{font-size:16px}.inventory-weekly-note small{color:#918467}.inventory-table-head,.inventory-list article{grid-template-columns:minmax(200px,1.35fr) minmax(260px,1fr) minmax(90px,.55fr) minmax(150px,.85fr) 126px}.quantity-control{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.quantity-control button,.quantity-control input{color:#486052;background:#fff;border:1px solid #dce1dc;height:36px}.quantity-control button{cursor:pointer;border-radius:9px;min-width:34px;font-weight:700}.quantity-control input{border-radius:9px;width:70px;padding:0 8px;font-size:15px}.quantity-control>span{color:#829088;min-width:28px;font-size:12px}.quantity-control .quantity-save{color:#fff;background:#668a74;border-color:#668a74;padding:0 10px;font-weight:600}.quantity-control em{color:#b5593c;flex-basis:100%;font-size:11px;font-style:normal;font-weight:700;display:block}.quantity-control button:disabled{cursor:wait;opacity:.65}@media (max-width:900px){.inventory-weekly-note{flex-wrap:wrap;align-items:flex-start}.inventory-weekly-note small{flex-basis:100%;padding-left:0}.inventory-list article{grid-template-columns:1fr 1fr}.quantity-control{align-self:center}}@media (max-width:520px){.inventory-weekly-note{gap:8px;padding:15px}.inventory-weekly-note strong{font-size:14px}.inventory-list article{grid-template-columns:1fr}.quantity-control{justify-content:flex-start}.quantity-control input{width:82px}}.inventory-form-card select{color:#2e4138;background:#fbfcfa;border:1px solid #dfe3dd;border-radius:12px;outline:none;width:100%;padding:14px;font:500 16px/1.3 Arial,Noto Sans TC,sans-serif}.inventory-form-card select:focus{border-color:#688c77;box-shadow:0 0 0 3px #688c771f}.product-tags{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.product-tags i{color:#5a714f;background:#edf2e8;border-radius:99px;padding:3px 7px;font-size:10px;font-style:normal;font-weight:700}.inventory-name:has(.product-tags){align-items:flex-start}.inventory-name:has(.product-tags)>span{margin-top:2px}.supplier-info{color:#617368;background:#f7faf6;border-left:2px solid #8aa593;gap:2px;margin-top:3px;padding:6px 8px;display:grid}.supplier-info b{font-size:11px}.supplier-info small{font-size:10px;white-space:normal!important;color:#7d8b84!important}.supplier-info.missing{color:#a65a3e;background:#fff6f1;border-left-color:#d18a6c}.inventory-name:has(.supplier-info){align-items:flex-start}.inventory-name:has(.supplier-info)>span{margin-top:2px}.inventory-stats button{color:#7c8982;text-align:left;cursor:pointer;background:#fff;border:1px solid #e4e5df;border-radius:16px;min-width:154px;padding:14px 18px}.inventory-stats button b{color:#345546;margin-bottom:2px;font-size:24px;display:block}.inventory-stats button strong,.inventory-stats button small{display:block}.inventory-stats button strong{font-size:13px}.inventory-stats button small{color:#9b7b6b;margin-top:3px;font-size:10px}.inventory-stats button.alert{color:#a4543a;background:#fff3ee;border-color:#efc8b9}.inventory-stats button.alert b{color:#a64f32}.inventory-stats button:hover,.inventory-stats button.active{border-color:#bd765e;transform:translateY(-1px);box-shadow:0 7px 20px #a64f321a}.restock-kind{color:#57705f;background:#e7eee8;border-radius:99px;width:max-content;padding:3px 7px;font-size:10px;font-style:normal;font-weight:800}.calendar-form-card label>small{color:#98a19b;margin-top:5px;font-size:8px;font-weight:400;display:block}.calendar-event-list article .repeat-badge,.mobile-calendar-event-list .repeat-badge{color:#715f85;background:#f1ecf7;margin-left:5px}.day-cell i b{color:#6d5e7f;font-size:8px}.day-event-dots,.mobile-calendar-details{display:none}.day-cell.national-holiday{background:#fff9f4}.day-cell.national-holiday:hover,.day-cell.national-holiday.selected{background:#fff0e7}.day-cell .calendar-holiday{color:#9c4e34;background:#f9e1d5;font-weight:800}.day-cell .calendar-holiday em{color:#b66e51}.calendar-event-list article.holiday-entry,.mobile-calendar-event-list article.holiday-entry{background:#fff8f3;border-color:#edcfc0}.calendar-event-list article.holiday-entry span,.mobile-calendar-event-list article.holiday-entry span{color:#a9553b;background:#f8e0d5}.calendar-event-list article.holiday-entry>time,.mobile-calendar-event-list article.holiday-entry>time{color:#aa593d}.whiteboard-panel .panel-head{margin-bottom:13px}.whiteboard-panel .panel-head>b{color:#786e58;background:#f1eee6;border-radius:99px;padding:5px 8px;font-size:8px}.whiteboard-form{grid-template-columns:1fr 36px;gap:7px;margin-bottom:11px;display:grid}.whiteboard-form input{color:#34443a;background:#fbfcf8;border:1px solid #dfe3dc;border-radius:8px;outline:none;min-width:0;padding:10px 11px;font-size:10px}.whiteboard-form input:focus{border-color:#78917e;box-shadow:0 0 0 3px #78917e1a}.whiteboard-form button{color:#fff;cursor:pointer;background:#5b7b66;border:0;border-radius:8px;font-size:17px}.whiteboard-form button:disabled{opacity:.6}.whiteboard-list{flex-direction:column;gap:6px;max-height:238px;padding-right:3px;display:flex;overflow:auto}.whiteboard-list>article{background:#fffef9;border:1px solid #e9e9e2;border-radius:8px;grid-template-columns:22px 1fr 22px;align-items:start;gap:8px;padding:8px;display:grid}.whiteboard-list>article.done{opacity:.68;background:#f7f7f3}.whiteboard-list>article.done strong{text-decoration:line-through}.whiteboard-check{color:#52705c;cursor:pointer;background:#fff;border:1px solid #aab9ae;border-radius:5px;width:19px;height:19px;font-size:11px}.whiteboard-list article>div{gap:4px;min-width:0;display:grid}.whiteboard-list strong{overflow-wrap:anywhere;color:#425249;font-size:10px;line-height:1.45}.whiteboard-list small{color:#99a09b;font-size:7px}.whiteboard-delete{color:#b09e92;cursor:pointer;background:0 0;border:0;font-size:15px}.whiteboard-empty{text-align:center;color:#9aa39d;padding:34px 0;font-size:9px}.whiteboard-note{color:#9aa29d;text-align:center;margin:10px 0 0;font-size:7px}.calendar-form-card.editing{border-color:#8da493;box-shadow:0 0 0 3px #69877314}.calendar-form-card .calendar-cancel{color:#607068;background:#f7f8f5;border:1px solid #dce2dc;border-radius:8px;padding:10px;font-size:10px}.calendar-event-actions{gap:6px;display:flex}.calendar-event-list article .calendar-event-actions button:first-child{color:#52705c;background:#f6faf7;border-color:#cfddd3}.calendar-event-list article .calendar-event-actions .delete{color:#a4533b;background:#fff8f6;border-color:#ead7d1}@media (max-width:600px){.calendar-event-actions{grid-column:2;justify-self:start}.calendar-event-list article .calendar-event-actions button{grid-column:auto}.calendar-layout{gap:12px}.calendar-board{border-radius:12px;order:1;padding:10px;display:block}.calendar-form-card{order:2}.weekday-row b{padding:5px 1px;font-size:10px}.month-grid{min-width:0}.day-cell{flex-direction:column;justify-content:flex-start;align-items:center;min-height:52px;padding:5px 2px;display:flex}.day-cell>span:not(.day-event-dots),.day-cell small{display:none}.day-cell time{place-items:center;width:24px;height:24px;font-size:11px;display:grid}.day-cell.today time{width:24px;height:24px}.day-cell .day-event-dots{gap:3px;min-height:7px;margin-top:4px;display:flex}.day-event-dots i{background:#668b75;border-radius:50%;width:5px;height:5px;display:block}.day-event-dots .holiday-dot{background:#c16849}.day-cell.national-holiday:not(.selected) time{color:#a85339}.day-cell.selected{background:#e5efe6;box-shadow:inset 0 0 0 1px #91ad99}.day-cell.national-holiday.selected{background:#fff0e7;box-shadow:inset 0 0 0 1px #d28a6d}.day-cell.selected .day-event-dots i{background:#3e674b}.day-cell.national-holiday.selected .day-event-dots .holiday-dot{background:#a85339}.calendar-event-list{display:none}.mobile-calendar-details{background:#fbfdf9;border-top:1px solid #e5e9e5;margin-top:14px;padding:14px;display:block}.mobile-calendar-details-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.mobile-calendar-details-head p{color:#74877a;letter-spacing:.08em;margin:0 0 3px;font-size:10px;font-weight:700}.mobile-calendar-details-head h2{color:#35483d;margin:0;font:600 16px/1.3 Georgia,Noto Serif TC,serif}.mobile-calendar-details-head>span{color:#56745f;background:#e8f0e9;border-radius:99px;padding:5px 8px;font-size:10px;font-weight:700}.mobile-calendar-empty{text-align:center;color:#909b94;margin:0;padding:18px 0;font-size:13px}.mobile-calendar-event-list{gap:8px;display:grid}.mobile-calendar-event-list article{background:#fff;border:1px solid #e2e9e2;border-radius:10px;grid-template-columns:56px minmax(0,1fr);align-items:start;gap:9px;padding:11px;display:grid}.mobile-calendar-event-list article>time{color:#52715d;font-size:12px;font-weight:700}.mobile-calendar-event-list article>div:nth-child(2){gap:4px;min-width:0;display:grid}.mobile-calendar-event-list article span{text-overflow:ellipsis;white-space:nowrap;color:#55705e;background:#edf3ed;border-radius:99px;width:max-content;max-width:100%;padding:3px 7px;font-size:10px;overflow:hidden}.mobile-calendar-event-list article strong{font-size:14px;line-height:1.4}.mobile-calendar-event-list article p{color:#758078;white-space:pre-wrap;margin:0;font-size:12px;line-height:1.5}.mobile-calendar-event-list .calendar-event-actions{grid-column:2;gap:6px;display:flex}.mobile-calendar-event-list .calendar-event-actions button{color:#52705c;background:#f6faf7;border:1px solid #cfddd3;border-radius:7px;padding:6px 9px;font-size:11px}.mobile-calendar-event-list .calendar-event-actions .delete{color:#a4533b;background:#fff8f6;border-color:#ead7d1}}.menu-planner{background:linear-gradient(135deg,#fcfdf9,#f2f7f0);border:1px solid #d9e3d9;border-radius:22px;margin:0 0 24px;padding:28px 30px;box-shadow:0 8px 30px #233a3009}.menu-planner-head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.menu-planner-head p{color:#688371;letter-spacing:.16em;margin:0 0 8px;font:700 11px/1.2 Arial,sans-serif}.menu-planner-head h2{margin:0 0 8px;font:400 28px/1.15 Georgia,Noto Serif TC,serif}.menu-planner-head span{color:#7d8e83;font-size:13px}.menu-planner-head>b{color:#446953;background:#e3eee3;border-radius:999px;flex:none;padding:9px 12px;font-size:12px}.menu-planner-input{grid-template-columns:minmax(260px,.9fr) minmax(300px,1.35fr) 180px;align-items:end;gap:18px;margin-top:24px;display:grid}.menu-planner-input>label{color:#51675a;gap:8px;font-size:13px;font-weight:700;display:grid}.menu-planner-input textarea{resize:vertical;color:#304439;background:#fff;border:1px solid #d6e0d5;border-radius:13px;outline:none;width:100%;padding:13px;font:500 14px/1.5 Arial,Noto Sans TC,sans-serif}.menu-planner-input textarea:focus{border-color:#668b75;box-shadow:0 0 0 3px #668b751f}.menu-planner-input label small{color:#94a096;font-size:11px;font-weight:400}.recipe-picker{min-width:0}.recipe-picker>strong{color:#51675a;margin-bottom:8px;font-size:13px;display:block}.recipe-picker>div,.recipe-picker details>div{flex-wrap:wrap;gap:7px;max-height:132px;padding-right:3px;display:flex;overflow:auto}.recipe-picker button{color:#4a6b55;cursor:pointer;background:#fff;border:1px solid #d4e0d4;border-radius:999px;padding:7px 10px;font-size:11px}.recipe-picker button:hover{background:#e6f0e6;border-color:#668b75}.recipe-picker details{margin-top:9px}.recipe-picker summary{color:#718176;cursor:pointer;font-size:11px}.recipe-picker details>div{max-height:82px;margin-top:7px}.recipe-picker button i{color:#9c7c65;margin-left:5px;font-size:9px;font-style:normal}.menu-plan-button{cursor:pointer;border:0;border-radius:12px;align-self:stretch;min-height:54px}.menu-plan-button:disabled{cursor:wait;opacity:.6}.menu-error{margin:14px 0 0}.menu-plan-result{border-top:1px solid #dce7db;margin-top:22px;padding-top:18px}.menu-plan-summary{justify-content:space-between;align-items:center;gap:18px;margin-bottom:13px;display:flex}.menu-plan-summary>div{gap:4px;display:grid}.menu-plan-summary strong{color:#4d6456;font-size:12px}.menu-plan-summary span{color:#77867c;font-size:12px}.menu-plan-summary>b{border-radius:999px;padding:8px 11px;font-size:11px}.menu-plan-summary .needs-order{color:#ab583d;background:#fff0e9}.menu-plan-summary .all-ready{color:#477054;background:#e5f0e5}.menu-material-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.menu-material-list article{background:#fff;border:1px solid #e2e8df;border-radius:12px;gap:7px;min-height:90px;padding:13px;display:grid}.menu-material-list article>div{gap:3px;display:grid}.menu-material-list article strong{color:#35493d;font-size:14px}.menu-material-list article span{color:#839087;font-size:11px}.menu-material-list article b{font-size:11px;line-height:1.4}.menu-material-list article small{color:#9a7c6a;font-size:10px;line-height:1.4}.menu-material-list .material-enough b{color:#477554}.menu-material-list .material-shortage,.menu-material-list .material-notListed,.menu-material-list .material-unitMismatch{background:#fffaf7;border-color:#f0d6c9}.menu-material-list .material-shortage b,.menu-material-list .material-notListed b,.menu-material-list .material-unitMismatch b{color:#a9563b}.menu-material-list .material-notTracked{opacity:.66;background:#f7f8f5}.menu-material-list .material-notTracked b{color:#76817a}.manual-ingredients{color:#765f3a;background:#fffaf1;border:1px solid #e9ddbd;border-radius:11px;flex-wrap:wrap;gap:8px;margin-top:12px;padding:12px 13px;font-size:11px;display:flex}.manual-ingredients strong{margin-right:5px}.manual-ingredients span{color:#826c48;background:#fff;border-radius:7px;padding:3px 7px}@media (max-width:1100px){.menu-planner-input{grid-template-columns:1fr 1fr}.menu-plan-button{grid-column:1/-1;min-height:48px}.menu-material-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.menu-planner{padding:22px 18px}.menu-planner-head{display:block}.menu-planner-head>b{margin-top:13px;display:inline-block}.menu-planner-input{grid-template-columns:1fr}.menu-plan-button{grid-column:auto}.recipe-picker>div{max-height:150px}.menu-plan-summary{flex-direction:column;align-items:flex-start}.menu-material-list{grid-template-columns:1fr}.menu-planner-head h2{font-size:24px}}.menu-planner{padding:28px 30px}.menu-planner-input{grid-template-columns:minmax(0,1fr) 200px;gap:15px}.menu-planner-input>label{min-width:0}.menu-planner-input textarea{min-height:86px}.menu-plan-button{font-size:14px!important}.menu-quick-help{margin-top:10px}.menu-quick-help summary{color:#6d7e74;cursor:pointer;font-size:11px}.menu-quick-help>div{flex-wrap:wrap;gap:6px;max-height:102px;margin-top:9px;padding:3px;display:flex;overflow:auto}.menu-quick-help button{color:#526e5b;cursor:pointer;background:#fff;border:1px solid #d8e3d8;border-radius:999px;padding:6px 9px;font-size:10px}.menu-quick-help span{color:#8d9790;flex-basis:100%;font-size:10px;line-height:1.5}.menu-notice{color:#4f725a;margin:14px 0 0;font-size:12px;font-weight:700}.menu-plan-summary{margin-bottom:16px}.menu-plan-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.menu-plan-tools>button,.menu-order-button{color:#4c6d57;cursor:pointer;background:#fff;border:1px solid #cfddd0;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:700}.menu-plan-tools>button:hover,.menu-order-button:hover{background:#edf5ec;border-color:#668b75}.menu-material-list{grid-template-columns:1fr;gap:8px}.menu-material-list article{grid-template-columns:minmax(145px,.8fr) minmax(180px,1fr) minmax(270px,1.3fr);align-items:center;gap:16px;min-height:0;padding:15px 16px}.menu-material-name,.menu-material-status{gap:5px;min-width:0;display:grid}.menu-material-name strong{font-size:15px}.menu-material-status b{font-size:12px}.menu-material-status small{line-height:1.45}.menu-material-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.menu-material-actions .quantity-control{justify-content:flex-end}.menu-material-actions .quantity-control input{width:62px}.menu-material-actions .quantity-save{font-size:10px}.menu-order-button{color:#a85b3e;background:#fff9f6;border-color:#e9cfc4}.menu-material-list .material-enough{background:#fbfefb;border-color:#d4e4d4}.menu-material-list .material-notListed{background:#fffaf7}.manual-ingredients{margin-top:13px}@media (max-width:900px){.menu-material-list article{grid-template-columns:1fr 1fr}.menu-material-actions{grid-column:1/-1;justify-content:flex-start}.menu-material-actions .quantity-control{justify-content:flex-start}.menu-planner-input{grid-template-columns:1fr}.menu-plan-button{min-height:48px}.menu-plan-tools{align-items:flex-start}.menu-plan-summary{flex-direction:column;align-items:flex-start}}@media (max-width:520px){.menu-planner{padding:21px 16px}.menu-planner-head h2{font-size:24px}.menu-material-list article{grid-template-columns:1fr;padding:14px}.menu-material-actions{flex-direction:column;grid-column:auto;align-items:flex-start}.menu-material-actions .quantity-control{justify-content:flex-start;width:100%}.menu-material-actions .quantity-save{flex:1}.menu-order-button{width:100%;min-height:39px}.menu-quick-help>div{max-height:120px}}.inventory-form-card{overscroll-behavior:contain;max-height:calc(100vh - 48px);overflow-y:auto}@media (max-width:900px){.inventory-form-card{max-height:none;overflow:visible}}.production-log-page{color:#293b34;background:#f7f7f3;min-height:100vh}.production-log-wrap{width:min(1320px,100% - 40px);margin:0 auto;padding:42px 0 80px}.production-log-title{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.production-log-title p,.production-log-card-head p{color:#66806f;letter-spacing:.16em;margin:0 0 8px;font:700 11px/1.2 Arial,sans-serif}.production-log-title h1{margin:0 0 9px;font:400 clamp(34px,4vw,54px)/1.06 Georgia,Noto Serif TC,serif}.production-log-title span{color:#7d8d84;max-width:650px;font-size:13px;line-height:1.65;display:block}.production-log-title label{color:#607168;gap:7px;min-width:180px;font-size:12px;font-weight:700;display:grid}.production-log-title input{color:#304438;background:#fff;border:1px solid #dce3dc;border-radius:10px;padding:11px;font:600 14px Arial,Noto Sans TC,sans-serif}.production-log-tabs{gap:8px;margin-bottom:20px;display:flex}.production-log-tabs button{color:#617269;cursor:pointer;background:#fff;border:1px solid #d7e0d6;border-radius:10px;padding:12px 17px;font-size:13px;font-weight:700}.production-log-tabs button.active{color:#fff;background:#587a65;border-color:#668a74}.production-log-notice{color:#4d7058;background:#eaf3ea;border-radius:10px;margin:0 0 16px;padding:11px 13px;font-size:12px;font-weight:700}.production-log-grid{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:start;gap:20px;display:grid}.production-log-card{background:#fff;border:1px solid #dfe4dd;border-radius:20px;padding:28px;box-shadow:0 8px 28px #233a3009}.production-log-card-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.production-log-card-head h2{margin:0;font:400 28px/1.18 Georgia,Noto Serif TC,serif}.production-log-card-head>b{color:#4d7058;background:#e7efe7;border-radius:99px;padding:7px 10px;font-size:11px}.production-log-card form{gap:16px;display:grid}.production-log-card label{color:#586b61;gap:7px;font-size:12px;font-weight:700;display:grid}.production-log-card input,.production-log-card select{box-sizing:border-box;color:#31443a;background:#fbfcfa;border:1px solid #dce4dc;border-radius:10px;outline:none;width:100%;padding:11px 12px;font:500 14px Arial,Noto Sans TC,sans-serif}.production-log-card input:focus,.production-log-card select:focus{border-color:#71907b;box-shadow:0 0 0 3px #71907b1f}.log-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.time-inputs{color:#65756c;align-items:center;gap:5px;font-weight:500;display:flex}.time-inputs input{text-align:center;min-width:0;padding:10px 6px}.production-log-save{cursor:pointer;border:0;border-radius:10px;justify-self:start;min-width:170px;font-size:14px!important}.production-product-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.production-product-row details{position:relative}.production-product-row summary{color:#56735f;cursor:pointer;white-space:nowrap;padding:11px 0;font-size:12px;font-weight:700}.production-product-row details>form{z-index:3;background:#fff;border:1px solid #d9e3d8;border-radius:11px;width:260px;padding:12px;position:absolute;top:38px;right:0;box-shadow:0 12px 28px #20372b21}.production-product-row details>form input{padding:9px}.production-product-row details>form button{color:#fff;cursor:pointer;background:#5c7d67;border:0;border-radius:8px;padding:9px;font-size:11px}.production-log-history{min-height:360px}.production-log-list{gap:10px;display:grid}.production-log-list article{background:#fbfcfa;border:1px solid #e5e9e4;border-radius:12px;padding:15px}.production-log-list article>div{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.production-log-list strong{color:#385042;font-size:14px}.production-log-list small{color:#909b94;font-size:10px}.production-log-list p{color:#607066;margin:8px 0 0;font-size:12px;line-height:1.6}.production-log-empty{color:#97a19a;text-align:center;padding:75px 12px;font-size:13px}@media (max-width:900px){.production-log-wrap{width:min(100% - 28px,720px);padding:30px 0 92px}.production-log-title{flex-direction:column;align-items:flex-start}.production-log-title label{width:100%}.production-log-grid{grid-template-columns:1fr}.production-log-history{min-height:0}.production-log-card{padding:23px}.production-product-row{grid-template-columns:1fr}.production-product-row details>form{width:min(260px,100vw - 72px);left:0;right:auto}}@media (max-width:520px){.production-log-page .attendance-top{padding-inline:14px}.production-log-page .attendance-top strong{font-size:13px}.production-log-title h1{font-size:36px}.production-log-tabs{grid-template-columns:1fr 1fr;display:grid}.production-log-tabs button{padding:11px 8px}.production-log-card{padding:19px 16px}.production-log-card-head h2{font-size:23px}.log-form-grid{grid-template-columns:1fr}.production-log-save{width:100%;min-height:48px}.production-log-card .time-inputs input{flex:0 0 80px;width:80px}.production-log-list article>div{flex-direction:column;align-items:flex-start;gap:3px}}.production-product-row details>.production-product-add{z-index:3;background:#fff;border:1px solid #d9e3d8;border-radius:11px;width:260px;padding:12px;position:absolute;top:38px;right:0;box-shadow:0 12px 28px #20372b21}.production-product-row details>.production-product-add input{padding:9px}.production-product-row details>.production-product-add button{color:#fff;cursor:pointer;background:#5c7d67;border:0;border-radius:8px;padding:9px;font-size:11px}@media (max-width:900px){.production-product-row details>.production-product-add{width:min(260px,100vw - 72px);left:0;right:auto}}.production-product-actions{align-items:flex-end;gap:13px;display:flex}.production-product-sort{position:relative}.production-product-sort-panel{z-index:6;background:#fff;border:1px solid #d9e3d8;border-radius:12px;width:min(390px,100vw - 72px);max-height:380px;padding:13px;position:absolute;top:38px;right:0;overflow:auto;box-shadow:0 16px 32px #20372b26}.production-product-sort-panel>p{color:#77877e;margin:0 0 10px;font-size:11px;line-height:1.5}.production-product-sort-panel>div{gap:5px;display:grid}.production-product-sort-panel article{cursor:grab;background:#fbfcfa;border:1px solid #e1e8e0;border-radius:8px;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 7px;display:grid}.production-product-sort-panel article.is-dragging{opacity:.45}.product-sort-grip{color:#95a49a;letter-spacing:-4px;font-size:15px;transform:rotate(90deg)}.production-product-sort-panel strong{color:#405548;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.product-sort-buttons{gap:3px;display:flex}.product-sort-buttons button{color:#4f705a;cursor:pointer;background:#fff;border:1px solid #d9e3d8;border-radius:6px;width:25px;height:25px;line-height:1}.product-sort-buttons button:disabled{cursor:not-allowed;opacity:.35}.production-product-sort-panel small{color:#6d8977;margin-top:9px;font-size:11px;display:block}@media (max-width:900px){.production-product-actions{justify-content:space-between;align-items:flex-start;width:100%}.production-product-sort-panel{left:0;right:auto}}@media (max-width:520px){.production-product-actions{gap:8px}.production-product-row summary{font-size:11px}.production-product-sort-panel{width:calc(100vw - 60px)}}.production-log-card textarea{box-sizing:border-box;resize:vertical;color:#31443a;background:#fbfcfa;border:1px solid #dce4dc;border-radius:10px;outline:none;width:100%;min-height:92px;padding:11px 12px;font:500 14px/1.55 Arial,Noto Sans TC,sans-serif}.production-log-card textarea:focus{border-color:#71907b;box-shadow:0 0 0 3px #71907b1f}.production-log-cancel{color:#587061;cursor:pointer;background:#fff;border:1px solid #d9e3d8;border-radius:9px;padding:9px 11px;font-size:11px;font-weight:700}.log-process-section{background:#f8fbf7;border:1px solid #dbe7da;border-radius:14px;gap:13px;margin:3px 0;padding:17px;display:grid}.log-process-section.fermentation{background:#fdfaf5;border-color:#e9ddd0}.log-process-section legend{color:#456955;padding:0 7px;font-size:14px;font-weight:800}.log-process-section.fermentation legend{color:#8a644c}.log-process-section>p{color:#7d8d84;margin:-1px 0 2px;font-size:11px;line-height:1.5}.log-process-section.fermentation>p{color:#9b8775}.production-log-record-top{justify-content:space-between!important;align-items:flex-start!important;gap:12px!important;display:flex!important}.production-log-record-top>div:first-child{gap:3px;display:grid!important}.production-log-record-actions{flex:none;gap:6px;display:flex}.production-log-record-actions button{color:#4f715a;cursor:pointer;background:#fff;border:1px solid #d5e1d5;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:700}.production-log-record-actions button.delete{color:#ad5d43;background:#fffaf8;border-color:#eed6ce}.production-log-record-actions button:disabled{cursor:wait;opacity:.55}.production-log-record-note{white-space:pre-wrap;background:#f3f7f1;border-radius:8px;padding:8px 10px;color:#526b5a!important}.production-log-list p b{color:#496d56;font-size:11px}.production-log-google{background:linear-gradient(135deg,#fbfdf9,#eef6ee);border:1px solid #d8e4d7;border-radius:18px;justify-content:space-between;align-items:center;gap:22px;margin-top:22px;padding:24px 28px;display:flex}.production-log-google p{color:#66806f;letter-spacing:.14em;margin:0 0 7px;font:700 10px/1.2 Arial,sans-serif}.production-log-google h2{margin:0 0 7px;font:400 24px/1.15 Georgia,Noto Serif TC,serif}.production-log-google span{color:#6e8175;max-width:720px;font-size:12px;line-height:1.6;display:block}.production-log-google a{border-radius:10px;flex:none;padding:12px 15px;font-size:12px;font-weight:700;text-decoration:none}.water-ratio-hint{color:#617a68;background:#f6faf5;border:1px dashed #b9cdbb;border-radius:10px;align-content:center;gap:3px;min-height:43px;padding:9px 12px;display:grid}.water-ratio-hint span{font-size:11px;font-weight:700}.water-ratio-hint strong{font-size:16px;line-height:1}.water-ratio-hint small{color:#91a096;font-size:10px}@media (max-width:640px){.log-process-section{padding:14px}.production-log-record-top{flex-direction:column;align-items:flex-start!important}.production-log-record-actions{width:100%}.production-log-record-actions button{flex:1;min-height:36px}.production-log-google{flex-direction:column;align-items:stretch;padding:20px}.production-log-google a{text-align:center}}.sop-page{color:#293b34;background:#f7f7f3;min-height:100vh}.sop-wrap{width:min(1120px,100% - 40px);margin:0 auto;padding:46px 0 80px}.sop-title{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;display:flex}.sop-title p,.sop-group-head p{color:#66806f;letter-spacing:.16em;margin:0 0 8px;font:700 11px/1.2 Arial,sans-serif}.sop-title h1{margin:0 0 10px;font:400 clamp(36px,4.4vw,58px)/1.04 Georgia,Noto Serif TC,serif}.sop-title span{color:#7d8d84;max-width:660px;font-size:13px;line-height:1.7;display:block}.sop-inventory-link{color:#4f705a;background:#fff;border:1px solid #cedbd0;border-radius:11px;flex:none;padding:12px 16px;font-size:13px;font-weight:700;text-decoration:none}.sop-inventory-link:hover{background:#eff5ee;border-color:#77917e}.sop-loading{color:#7b8981;text-align:center;background:#fff;border:1px solid #e1e4df;border-radius:20px;padding:70px 24px}.sop-groups{gap:22px;display:grid}.sop-group{background:#fff;border:1px solid #dfe3dc;border-radius:20px;overflow:hidden;box-shadow:0 8px 30px #233a3009}.sop-group-head{background:linear-gradient(120deg,#fcfdf9,#f3f7f1);border-bottom:1px solid #edf0eb;justify-content:space-between;align-items:flex-start;gap:18px;padding:26px 30px;display:flex}.sop-group-head p{margin-bottom:7px}.sop-group-head h2{margin:0 0 6px;font:400 27px/1.15 Georgia,Noto Serif TC,serif}.sop-group-head span{color:#7e8d84;font-size:13px}.sop-group-head>b{color:#4d7058;white-space:nowrap;background:#e4eee5;border-radius:99px;padding:7px 10px;font-size:11px}.sop-documents{gap:0;display:grid}.sop-documents details{border-top:1px solid #edf0eb}.sop-documents details:first-child{border-top:0}.sop-documents summary{cursor:pointer;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:20px 30px;list-style:none;display:grid}.sop-documents summary::-webkit-details-marker{display:none}.sop-documents summary:hover{background:#fbfcf9}.sop-document-icon{color:#557361;background:#e8efe8;border-radius:10px;place-items:center;width:36px;height:36px;font-size:17px;display:grid}.sop-documents summary strong,.sop-documents summary small{display:block}.sop-documents summary strong{color:#34483d;font-size:15px}.sop-documents summary small{color:#98a29c;margin-top:4px;font-size:11px}.sop-documents summary i{color:#7b8b81;font-size:11px;font-style:normal}.sop-documents details[open] summary i{font-size:0}.sop-documents details[open] summary i:after{content:"收合";font-size:11px}.sop-document-content{color:#4d5f54;background:#f7f9f5;border-radius:13px;margin:0 30px 24px;padding:20px 22px;line-height:1.75}.sop-document-content p{white-space:pre-wrap;margin:0;font-size:13px}.sop-document-content p:first-child{color:#334c3e;font-weight:800}.sop-document-content p:has(+.sop-gap){color:#334c3e;font-weight:800}.sop-gap{height:13px}@media (max-width:720px){.sop-page .attendance-top{padding-inline:15px}.sop-page .attendance-top strong{font-size:14px}.sop-wrap{width:calc(100% - 24px);padding:31px 0 90px}.sop-title{flex-direction:column;align-items:flex-start;margin-bottom:22px}.sop-title h1{font-size:38px}.sop-title span{font-size:12px}.sop-inventory-link{box-sizing:border-box;text-align:center;width:100%}.sop-group-head{padding:21px 18px}.sop-group-head h2{font-size:23px}.sop-group-head span{font-size:12px}.sop-documents summary{grid-template-columns:34px minmax(0,1fr) auto;padding:17px 18px}.sop-document-icon{width:32px;height:32px}.sop-documents summary strong{font-size:14px}.sop-documents summary small{font-size:10px}.sop-document-content{margin:0 14px 16px;padding:17px}.sop-document-content p{font-size:12px;line-height:1.8}}.temperature-focus-field{background:#eef8f4;border:1px solid #a6c7bb;border-radius:11px;color:#356b5d!important;padding:10px 11px!important}.temperature-focus-field.ddt{background:#fff8e9;border-color:#d9aa66;color:#80551d!important}.temperature-focus-field input{font-weight:800;background:#fff!important;border-color:#8fb5a7!important}.temperature-focus-field.ddt input{border-color:#d7ae70!important}.temperature-focus-row{grid-template-columns:1fr 1fr;margin-top:11px;gap:9px!important;display:grid!important}.temperature-focus-row span{color:#376a5c;background:#eff9f4;border:1px solid #a8cabe;border-radius:10px;gap:3px;padding:10px 12px;display:grid}.temperature-focus-row span.ddt{color:#875918;background:#fff8eb;border-color:#dfb26d}.temperature-focus-row small{font-weight:800;color:inherit!important;font-size:11px!important}.temperature-focus-row strong{line-height:1.1;font-size:19px!important}.temperature-focus-row span:first-child strong{font-size:15px!important}.attendance-clock-flow{background:linear-gradient(118deg,#fbfefb,#eaf4ed);border:1px solid #cfe0d2;border-radius:18px;grid-template-columns:minmax(210px,.85fr) minmax(0,1.5fr) auto;align-items:center;gap:18px;margin:0 0 20px;padding:21px 24px;display:grid}.attendance-clock-flow p{color:#66816e;letter-spacing:.12em;margin:0 0 6px;font-size:11px;font-weight:800}.attendance-clock-flow h2{margin:0 0 5px;font:400 25px/1.15 Georgia,Noto Serif TC,serif}.attendance-clock-flow>div:first-child span{color:#738278;font-size:13px;line-height:1.55}.attendance-clock-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.attendance-time-stamp{color:#9ba59d;text-align:center;background:#fff;border:1px dashed #d4ddd4;border-radius:9px;gap:4px;min-width:0;padding:8px 9px;display:grid}.attendance-time-stamp.done{color:#426b50;background:#f4faf3;border-style:solid;border-color:#c6dbc8}.attendance-time-stamp small{font-size:10px}.attendance-time-stamp strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.attendance-clock-button{border:0;border-radius:10px;min-width:126px;min-height:47px;font-size:14px!important}.attendance-complete{color:#426b4f;background:#dceedd;border-radius:10px;padding:13px 14px;font-size:13px}.attendance-month-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px;display:grid}.attendance-month-summary article{background:#fff;border:1px solid #e0e6df;border-radius:14px;gap:6px;min-height:115px;padding:17px;display:grid}.attendance-month-summary small{color:#74827a;font-size:12px}.attendance-month-summary strong{color:#32473a;font:400 24px/1.1 Georgia,Noto Serif TC,serif}.attendance-month-summary span{color:#74827a;font-size:11px;line-height:1.45}.record-times{grid-template-columns:repeat(4,minmax(80px,1fr));gap:5px;margin-top:9px;display:grid}.record-times .attendance-time-stamp{text-align:left;padding:6px 7px}.record-times .attendance-time-stamp strong{font-size:12px}.attendance-list article{align-items:center}.attendance-list article .record-main{min-width:290px}.recipe-inventory-page .inventory-wrap{max-width:1440px}.recipe-inventory-wrap{padding-bottom:90px}.recipe-inventory-page .inventory-title span{max-width:710px}.recipe-inventory-page .inventory-stats{grid-template-columns:repeat(3,minmax(110px,1fr));gap:10px;display:grid}.recipe-inventory-page .inventory-stats>span{color:#76847a;background:#fff;border:1px solid #e0e7df;border-radius:13px;gap:4px;padding:15px 16px;font-size:12px;display:grid}.recipe-inventory-page .inventory-stats>span b{color:#385745;font:400 27px/1 Georgia,Noto Serif TC,serif}.recipe-inventory-page .inventory-stats>span.alert{color:#a45237;background:#fff7f3;border-color:#efc9b8}.recipe-workspace,.material-workspace{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:start;gap:18px;margin-top:24px;display:grid}.recipe-editor-card,.recipe-list-card,.material-editor-card,.material-list-card,.recipe-menu-card{background:#fff;border:1px solid #dee6dd;border-radius:18px;box-shadow:0 8px 26px #28403209}.recipe-editor-card,.recipe-list-card,.material-editor-card,.material-list-card{padding:25px}.recipe-section-head{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:19px;display:flex}.recipe-section-head p{color:#64806f;letter-spacing:.14em;margin:0 0 6px;font:800 10px/1.2 Arial,sans-serif}.recipe-section-head h2{color:#31483a;margin:0 0 6px;font:400 26px/1.15 Georgia,Noto Serif TC,serif}.recipe-section-head span{color:#78867e;font-size:13px;line-height:1.5;display:block}.recipe-section-head>b{color:#4b6e56;white-space:nowrap;background:#e8f0e7;border-radius:99px;padding:7px 10px;font-size:11px}.recipe-editor-form,.material-editor-form{gap:14px;display:grid}.recipe-editor-form label,.material-editor-form label{color:#50645a;gap:6px;font-size:13px;font-weight:800;display:grid}.recipe-editor-form input,.recipe-editor-form select,.recipe-editor-form textarea,.material-editor-form input,.material-editor-form select,.material-editor-form textarea{color:#31473a;background:#fbfcfa;border:1px solid #dbe4da;border-radius:9px;outline:none;width:100%;padding:10px 11px;font:500 14px/1.4 Arial,Noto Sans TC,sans-serif}.recipe-editor-form textarea,.material-editor-form textarea{resize:vertical;min-height:76px}.recipe-editor-form input:focus,.recipe-editor-form select:focus,.recipe-editor-form textarea:focus,.material-editor-form input:focus,.material-editor-form select:focus,.material-editor-form textarea:focus{border-color:#75947e;box-shadow:0 0 0 3px #698c741f}.recipe-editor-top{grid-template-columns:minmax(0,1fr) 150px 130px;gap:12px;display:grid}.recipe-ingredient-editor{background:#f8fbf7;border:1px solid #dbe8da;border-radius:12px;gap:8px;padding:15px;display:grid}.recipe-ingredient-editor>div:first-child{gap:3px;display:grid}.recipe-ingredient-editor>div:first-child strong{font-size:15px}.recipe-ingredient-editor>div:first-child small{color:#7a8980;font-size:11px}.recipe-ingredient-row{grid-template-columns:minmax(0,1fr) 116px 107px 30px;align-items:center;gap:8px;display:grid}.recipe-ingredient-row label{white-space:nowrap;align-items:center;gap:4px;display:flex;font-size:12px!important}.recipe-ingredient-row label input[type=number]{min-width:0}.recipe-ingredient-row .track-stock{font-weight:700}.recipe-ingredient-row .track-stock input{width:auto}.recipe-ingredient-row>button,.recipe-add-ingredient{color:#52725c;cursor:pointer;background:#fff;border:1px solid #d6e2d6;border-radius:8px;font-weight:800}.recipe-ingredient-row>button{color:#a76044;width:30px;height:34px}.recipe-add-ingredient{justify-self:start;padding:8px 10px;font-size:12px}.recipe-list{gap:8px;max-height:680px;display:grid;overflow:auto}.recipe-list article{background:#fcfdfb;border:1px solid #e1e8e1;border-radius:11px;justify-content:space-between;align-items:flex-start;gap:14px;padding:13px;display:flex}.recipe-list article>div:first-child{gap:4px;display:grid}.recipe-list strong{color:#375142;font-size:15px}.recipe-list span,.recipe-list small{color:#7b8981;font-size:11px;line-height:1.45}.recipe-list article>div:last-child{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.recipe-list button,.material-edit{color:#4c7057;cursor:pointer;background:#fff;border:1px solid #d5e1d4;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800}.recipe-list button.danger{color:#ad5e43;border-color:#efd7ce}.recipe-status{color:#50705a;background:#e7f0e6;border-radius:99px;padding:5px 7px;font-size:10px;font-style:normal}.recipe-status.paused{color:#906744;background:#f5eee6}.recipe-status.reference{color:#647181;background:#edf0f4}.recipe-menu-card{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:18px;margin-top:20px;padding:24px;display:grid}.recipe-menu-card p{color:#66806f;letter-spacing:.14em;margin:0 0 6px;font:800 10px/1.2 Arial,sans-serif}.recipe-menu-card h2{margin:0 0 7px;font:400 26px/1.15 Georgia,Noto Serif TC,serif}.recipe-menu-card>div>span{color:#75847b;font-size:13px;line-height:1.55;display:block}.recipe-menu-input{grid-template-columns:minmax(0,1fr) 145px;gap:10px;display:grid}.recipe-menu-input textarea{resize:vertical;background:#fbfcfa;border:1px solid #d9e4d8;border-radius:10px;min-height:95px;padding:11px;font:500 14px/1.55 Arial,Noto Sans TC,sans-serif}.recipe-menu-input button{border:0;border-radius:10px;font-size:14px!important}.recipe-menu-chips{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.recipe-menu-chips button{color:#55715e;cursor:pointer;background:#fff;border:1px solid #d9e5d9;border-radius:999px;padding:6px 9px;font-size:11px}.recipe-plan-result{border-top:1px solid #e6ece4;grid-column:1/-1;padding-top:17px}.recipe-plan-head{color:#405946;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:13px;display:flex}.recipe-plan-head button{color:#4d7057;cursor:pointer;background:#fff;border:1px solid #d3e2d4;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:800}.recipe-plan-materials{gap:7px;display:grid}.recipe-plan-materials article{background:#fbfefb;border:1px solid #dbe7db;border-radius:10px;grid-template-columns:minmax(150px,.8fr) minmax(190px,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.recipe-plan-materials article.shortage,.recipe-plan-materials article.notListed,.recipe-plan-materials article.unitMismatch{background:#fffaf7;border-color:#efd4c8}.recipe-plan-materials article>div{gap:3px;display:grid}.recipe-plan-materials strong{font-size:14px}.recipe-plan-materials span,.recipe-plan-materials small{color:#7d8982;font-size:11px}.recipe-plan-materials b{color:#486f54;font-size:12px}.recipe-plan-materials article.shortage b,.recipe-plan-materials article.notListed b,.recipe-plan-materials article.unitMismatch b{color:#aa593d}.recipe-plan-materials button{color:#4e7058;cursor:pointer;background:#fff;border:1px solid #d4e0d4;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:800}.material-editor-card{position:sticky;top:18px}.material-number-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.material-list{gap:8px;max-height:760px;display:grid;overflow:auto}.material-list article{background:#fcfdfb;border:1px solid #e1e8e1;border-radius:11px;grid-template-columns:minmax(170px,1.2fr) minmax(245px,1.1fr) 120px auto;align-items:center;gap:14px;padding:14px;display:grid}.material-list article.low{background:#fff9f6;border-color:#efcab9}.material-list-name{gap:4px;display:grid}.material-list-name strong{color:#375142;font-size:15px}.material-list-name small,.material-list-name span{color:#75847b;font-size:11px;line-height:1.45}.material-quantity{align-items:center;gap:5px;display:flex}.material-quantity button{color:#4c6e57;cursor:pointer;background:#fff;border:1px solid #d4e0d4;border-radius:7px;min-width:31px;height:32px;font-weight:800}.material-quantity button:last-child{min-width:auto;padding:0 8px;font-size:11px}.material-quantity input{text-align:center;background:#fff;border:1px solid #d9e4d9;border-radius:7px;width:66px;min-width:0;padding:7px}.material-quantity span{font-size:12px}.material-level{gap:3px;display:grid}.material-level strong{font-size:14px}.material-level span{color:#7b8980;font-size:11px}.material-level em{color:#aa593d;font-size:11px;font-style:normal;font-weight:800}.other-inventory{color:#586a60;background:#fff;border:1px solid #e0e6df;border-radius:13px;margin-top:16px;padding:16px 18px}.other-inventory summary{cursor:pointer;font-size:13px;font-weight:800}.other-inventory p{color:#7a8980;font-size:12px}.other-inventory>div{flex-wrap:wrap;gap:7px;display:flex}.other-inventory span{background:#f4f7f3;border-radius:8px;padding:6px 8px;font-size:11px}@media (max-width:1080px){.attendance-clock-flow{grid-template-columns:1fr}.attendance-clock-button{justify-self:start}.recipe-workspace,.material-workspace{grid-template-columns:1fr}.material-editor-card{position:static}.recipe-list,.material-list{max-height:none}.material-list article{grid-template-columns:minmax(180px,1fr) minmax(250px,1fr) auto}.material-list .material-edit{grid-column:3}.recipe-inventory-page .inventory-stats{width:100%}}@media (max-width:720px){.attendance-clock-flow{padding:18px}.attendance-clock-steps,.attendance-month-summary,.record-times{grid-template-columns:repeat(2,1fr)}.attendance-list article .record-main{min-width:0}.recipe-inventory-page .inventory-stats{grid-template-columns:repeat(3,1fr)}.recipe-editor-top,.recipe-menu-card,.recipe-menu-input{grid-template-columns:1fr}.recipe-menu-input button{min-height:45px}.recipe-plan-materials article{grid-template-columns:1fr}.material-number-row{grid-template-columns:1fr 1fr}.material-number-row label:last-child{grid-column:1/-1}.material-list article{grid-template-columns:1fr}.material-list .material-edit{grid-column:auto;width:100%}.material-quantity{flex-wrap:wrap}.recipe-ingredient-row{grid-template-columns:minmax(0,1fr) 93px 30px}.recipe-ingredient-row .track-stock{grid-column:1/-1}.temperature-focus-row{grid-template-columns:1fr}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
