@import"https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;500;600;700&display=swap";:root{font-family:Noto Sans Thai,Tahoma,sans-serif;color:#202124;background:#fff;font-synthesis:none;--accent:#7f7f7f;--line:#e3e5e8;--muted:#666b70;--surface:#f5f5f6;--radius:10px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;font-size:16px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.button{min-height:48px;border:1px solid #a4a4a4;background:#fff;color:#252525;border-radius:8px;padding:10px 17px;display:inline-flex;gap:9px;align-items:center;justify-content:center;cursor:pointer;font-weight:600;text-decoration:none}button:hover,.button:hover{background:#ededee}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #333;outline-offset:3px}button:disabled{opacity:.48;cursor:not-allowed}.primary{background:var(--accent);border-color:var(--accent);color:#080808}.primary:hover{background:#929292}.danger-outline{border-color:#a64335;color:#8a3025}input,select,textarea{width:100%;min-width:0;border:1px solid #c9ccd1;border-radius:8px;min-height:48px;background:#fff;color:#202124;padding:10px 12px}input:disabled{background:#f4f4f4;color:#5d6168}input::placeholder{color:#858585}textarea{resize:vertical}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.3;letter-spacing:-.6px;margin-bottom:10px}h2{font-size:19px;margin-bottom:12px}h3{font-size:17px;margin-bottom:8px}p{margin-bottom:14px}small{font-size:13px;color:var(--muted);display:block}a{color:#333;text-underline-offset:4px}.muted{color:var(--muted);font-size:14px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:14px;color:#555b63}.input-unit{display:flex;align-items:stretch;min-width:0}.input-unit input{border-radius:8px 0 0 8px;text-align:right;font-variant-numeric:tabular-nums}.input-unit>span{display:flex;align-items:center;padding:8px 12px;background:#ededee;border:1px solid #c9ccd1;border-left:0;border-radius:0 8px 8px 0;white-space:nowrap;font-size:14px}.input-unit input:only-child{border-radius:8px}.badge,.type-label{display:inline-flex;align-items:center;border-radius:6px;background:#ededee;color:#4d5157;padding:3px 9px;font-size:12px;line-height:1.6;width:max-content}.badge.warn{background:#fff0d6;color:#805200}.badge.bad{background:#fff0ed;color:#942d25}.type-label{letter-spacing:.2px}.sample{display:flex;align-items:center;gap:10px;background:#fff0d3;color:#805000;border-radius:8px;padding:12px 16px;font-size:14px;margin:0 0 24px}.sample svg{flex-shrink:0}.app{min-height:100vh}.sidebar{width:236px;background:var(--accent);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:30px 12px 20px;color:#080808}.brand{font-size:30px;font-weight:700;padding:0 15px 28px}.brand span{font-size:12px;display:block;font-weight:500}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button{justify-content:flex-start;border:0;background:transparent;color:#080808;text-align:left;font-size:15px;padding:12px 16px;font-weight:500}.sidebar nav button.active{background:#555;color:#fff}.sidebar nav button:hover{background:#a3a3a3}.logout{margin-top:auto;background:transparent;border:0;font-size:14px;justify-content:flex-start;color:#080808}.workspace{margin-left:236px}.topbar{height:94px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:28px;padding:14px 38px}.branch-select{display:flex;align-items:center;gap:10px;font-size:13px}.branch-select select{width:130px}.account{display:flex;align-items:center;gap:12px}.account>span{font-weight:600}.account small{font-weight:400}.icon-button{border:0;padding:10px;min-width:44px}.mobile-brand{display:none}.workspace main{max-width:1480px;margin:0 auto;padding:26px 38px 12px}.context-controls{display:flex;justify-content:flex-end;gap:18px;margin-bottom:20px;align-items:flex-end}.context-controls>.field{max-width:230px}.context-controls input{min-width:160px}.period-controls{display:flex;gap:12px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:28px 0 26px}.page-heading p{color:var(--muted);margin:0;font-size:15px}.entry-layout{display:grid;grid-template-columns:minmax(0,1fr) 205px;gap:28px}.form-guide{border-left:1px solid var(--line);padding-left:22px;font-size:14px}.form-guide h2{display:flex;gap:9px;align-items:center}.form-guide ol{padding-left:22px}.form-guide li{margin:20px 0}.form-guide p{color:var(--muted);font-size:13px}.expense-table-header{display:grid;grid-template-columns:1.05fr .8fr 1fr;gap:16px;background:var(--surface);padding:17px;font-size:13px;font-weight:600;border:1px solid var(--line);border-radius:8px 8px 0 0}.entry-row{display:grid;grid-template-columns:1.05fr .8fr 1fr;gap:16px;align-items:start;border:1px solid var(--line);border-top:0;padding:19px 17px}.entry-row:last-child{border-radius:0 0 8px 8px}.entry-title h2{font-size:15px;margin:6px 0}.entry-inputs{display:flex;flex-direction:column;gap:12px}.entry-inputs>.field:first-child>span,.entry-row .note>span{display:none}.entry-row input{font-size:15px}.reason{margin:24px 0}.action-area{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}.action-summary{display:flex;gap:18px;align-items:center;font-size:14px}.action-buttons{display:flex;gap:10px}.locked{display:flex;align-items:center;gap:8px;font-size:14px;margin:0}.stock-list{border-top:1px solid var(--line)}.stock-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.stock-row h2{margin:0}.stock-row>.field{width:240px}.opening-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.employee-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.notice{background:#f4f4f5;border-left:3px solid var(--accent);padding:15px 18px;font-size:14px;line-height:1.8;margin-bottom:24px}.module-section{padding:24px 0;border-bottom:1px solid var(--line)}.module-section:last-child{border:0}.section-title{margin-top:32px}.button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.record-list{margin:20px 0}.record-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.record-list article>div{min-width:0}.record-list strong{font-size:15px}.record-list p{font-size:14px;margin:6px 0}.record-list select{max-width:220px}.record-list .badge{margin-top:6px}.align-right{text-align:right}.align-right .badge{margin-left:auto}.upload-box{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 20px;border:1px dashed #a7a7a7;border-radius:10px;background:#fafafa;text-align:center}.upload-box h2,.upload-box p{margin:0}.upload-box input{max-width:420px}.upload-box a{font-size:14px}.batch{margin:25px 0;padding:20px;border:1px solid var(--line);border-radius:10px}.code-input{font-family:monospace;font-size:13px}.check{display:flex;align-items:flex-start;gap:12px;margin:18px 0;line-height:1.7;font-size:14px}.check input{min-height:24px;width:24px;flex-shrink:0;accent-color:#5f5f5f}.reconciliation{display:flex;flex-wrap:wrap;gap:15px;align-items:center;padding:16px 0}details{border:1px solid var(--line);border-radius:8px;margin:20px 0;padding:0 18px}details>summary{cursor:pointer;min-height:52px;padding:14px 0;font-weight:600;font-size:15px}details>p,details>.form-grid{margin-top:16px}details details{border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0}.empty{padding:35px 15px;text-align:center;color:var(--muted);background:#fafafa;border-radius:8px;font-size:14px}.issues{list-style:none;padding:0;margin:20px 0}.issues li{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.issues strong{font-size:14px}.issues button{white-space:nowrap;font-size:13px;min-height:44px}.period-summary{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0}.request{border-bottom:1px solid var(--line);padding:20px 0}.request p{margin:7px 0}.request .badge{margin-top:8px}.report-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:20px 0}.tabs{display:flex;gap:8px}.tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;font-size:14px;padding:12px}.tabs .selected{border-bottom-color:var(--accent);background:#f3f3f3}.report-status{display:flex;gap:9px;flex-wrap:wrap;font-size:13px;align-items:center}.profit-total{padding:28px 0;margin:15px 0;border-bottom:1px solid var(--line)}.profit-total>span{font-size:14px;color:var(--muted)}.profit-total strong{display:block;font-size:34px;font-weight:600;margin:5px 0;line-height:1.5}.component-list{max-width:750px}.component-list>div{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:14px 0}.component-list strong{font-variant-numeric:tabular-nums;font-weight:600}.record-list details>summary{display:flex;justify-content:space-between;gap:15px;font-size:14px}.hash{font-size:12px;word-break:break-all}.task-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.task{border:0;border-bottom:1px solid var(--line);border-radius:0;justify-content:flex-start;text-align:left;padding:24px 10px;gap:22px}.task>span{flex:1}.task .badge{margin-top:8px}.help-block{display:flex;gap:12px;color:var(--muted);padding:24px 0}.help-block svg{flex-shrink:0}.help-block p{font-size:14px}.page-footer{display:flex;justify-content:space-between;color:#737373;border-top:1px solid var(--line);padding:24px 0;font-size:12px;margin-top:50px}.bottom-nav{display:none}.login{max-width:540px;margin:7vh auto;padding:24px}.login-brand{font-size:44px;font-weight:700;margin-bottom:28px;line-height:1.5}.login-brand span{font-size:16px;display:block;color:var(--muted);font-weight:400}.login h1{font-size:28px}.login-options{display:flex;flex-direction:column;gap:14px;margin:25px 0}.login-options button{text-align:left;justify-content:flex-start;gap:20px;padding:18px}.login-options strong{display:block}.login-options small{font-weight:400}.role-circle{background:#ededee;min-width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:16px}.loading{padding:35px;text-align:center;color:var(--muted)}.toast{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ececec;padding:13px 16px;border-radius:8px;margin:20px 0;font-size:14px}.toast button,.error-box button{border:0;padding:5px;min-height:36px;background:transparent}.error-box{display:flex;align-items:flex-start;gap:12px;border:1px solid #d69c92;background:#fff7f4;color:#822f24;padding:16px;border-radius:8px;margin:20px 0;font-size:14px}.error-box>div{flex:1}.error-box>svg{flex-shrink:0}.error-text{color:#942d25}.more-menu{display:flex;flex-direction:column}.more-menu button{border:0;border-bottom:1px solid var(--line);justify-content:flex-start;border-radius:0;padding:18px 5px}.more-menu button:last-child{margin-top:20px}@media (min-width:1600px){h1{font-size:36px}.entry-title h2{font-size:17px}}@media (max-width:1190px){.entry-layout{grid-template-columns:1fr}.form-guide{display:none}.workspace main{padding:24px}.topbar{padding:14px 24px}.sidebar{width:210px}.workspace{margin-left:210px}.employee-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:760px){h1{font-size:27px;letter-spacing:-.5px}h2{font-size:18px}.sidebar{display:none}.workspace{margin-left:0}.workspace main{padding:0 18px 104px;max-width:600px}.topbar{height:auto;min-height:89px;padding:17px 18px;border:0;gap:13px;max-width:600px;margin:0 auto}.mobile-brand{display:block;font-size:28px;font-weight:700;line-height:1.15;margin-right:auto}.mobile-brand small{font-size:12px;font-weight:400;margin-top:4px}.branch-select{display:none}.account{gap:6px;font-size:14px}.account>svg{display:none}.account small{font-size:11px}.account .icon-button{min-width:40px;padding:8px}.context-controls{justify-content:flex-start;display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 20px}.context-controls>.field{max-width:none;width:100%}.context-controls>.field>span{font-size:12px}.context-controls input{min-width:0}.period-controls{width:100%;display:grid;grid-template-columns:1.3fr 1fr}.page-heading{margin:24px 0 20px;display:block}.page-heading>.badge{margin-top:10px}.page-heading p{font-size:14px}.sample{font-size:14px;padding:10px 13px;margin-bottom:20px}.desktop-inline,.expense-table-header{display:none}.entry-list{display:flex;flex-direction:column;gap:14px}.entry-row{border:1px solid #d8dadd;border-radius:10px!important;display:block;padding:16px}.entry-title{margin-bottom:12px}.entry-title h2{font-size:18px;line-height:1.45;margin:0 0 5px}.entry-inputs{gap:12px;flex-direction:row}.entry-inputs>.field{flex:1}.entry-inputs>.field>span{font-size:12px}.entry-inputs>.field:first-child>span{display:none}.entry-inputs:has(>.field:nth-child(2))>.field:first-child>span{display:block;font-size:0;height:19px}.entry-inputs:has(>.field:nth-child(2))>.field:first-child>span:after{content:"จำนวนเงิน";font-size:12px}.entry-row input{font-size:16px;min-height:48px}.entry-row .note{margin-top:12px}.entry-row .note input{font-size:14px;min-height:44px}.entry-row .note input:placeholder-shown:not(:focus){background:#fafafa}.action-area{display:block;margin-top:22px;padding-top:18px}.action-summary{justify-content:space-between;font-size:13px;gap:12px;margin-bottom:16px}.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action-buttons button{font-size:15px;padding:10px 7px;min-height:50px}.action-buttons button svg{width:17px}.action-buttons button:only-child{grid-column:1/-1}.stock-row{gap:14px}.stock-row>div:first-child{flex:1}.stock-row>.field{width:160px;max-width:50%}.stock-row>.field>span{font-size:11px}.stock-row h2{font-size:17px}.stock-row small{font-size:11px}.opening-row{grid-template-columns:1fr 1fr;gap:12px}.opening-row h2{grid-column:1/-1;margin:0}.form-grid{grid-template-columns:1fr;gap:16px}.employee-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.input-unit>span{padding:8px 10px}.employee-grid .input-unit>span{padding:6px;font-size:12px}.employee-grid input{padding:8px}.module-section{padding:22px 0}.reason{margin:20px 0}.notice{font-size:13px;padding:12px 14px}.button-row{align-items:stretch;gap:10px}.button-row>*{flex:1}.record-list article{align-items:flex-start;gap:10px;flex-wrap:wrap}.record-list strong{font-size:14px}.record-list small{font-size:12px}.record-list select{max-width:100%;font-size:14px}.upload-box{padding:22px 14px}.upload-box p{font-size:13px}.upload-box input{font-size:13px;padding:10px}.upload-box button{width:100%}.batch{padding:14px;margin:20px 0}.batch .button-row button{flex-basis:100%;font-size:14px}details{padding:0 13px}details summary{font-size:14px;line-height:1.7}.report-toolbar{display:block}.report-toolbar>.field{margin-top:20px}.tabs{display:grid;grid-template-columns:1fr 1fr}.tabs button{font-size:13px;padding:10px 6px}.profit-total strong{font-size:27px}.component-list{font-size:14px}.component-list strong{font-size:15px}.record-list details>summary{font-size:13px}.issues button{padding:8px;min-height:44px;font-size:12px}.issues li{gap:10px}.issues strong{font-size:13px}.issues small{font-size:11px}.period-summary{font-size:15px}.task{padding:20px 0;gap:14px}.task strong{font-size:16px}.task small{font-size:12px}.page-footer{font-size:11px;margin-top:32px;display:block;padding:20px 0}.page-footer span{display:block;margin-top:3px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 10px max(8px,env(safe-area-inset-bottom));border-top:1px solid #d9dadd;background:#fffffff7;gap:5px}.bottom-nav button{border:0;border-radius:12px;display:flex;flex-direction:column;gap:2px;min-height:56px;padding:5px;font-size:11px;font-weight:500;color:#626262}.bottom-nav button.active{background:#e9e9eb;color:#202124}.login{margin:1vh auto;padding:22px 20px}.login-brand{font-size:36px}.login-options button{padding:15px;gap:14px}.error-box{padding:12px;gap:8px}.error-box>div{min-width:0;overflow-wrap:anywhere}.toast{font-size:13px}.bottom-nav:has(~*){display:grid}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.login-identity{margin-bottom:28px}.login .login-identity h1{font-size:32px;line-height:1.25;letter-spacing:-.5px;margin:0 0 18px;font-weight:700;text-wrap:balance}.login-business{font-size:21px;font-weight:600;line-height:1.6;margin:0 0 5px}.login-branch{font-size:16px;color:var(--muted);margin:0}.login-title{font-size:26px;line-height:1.35;margin-bottom:10px}.login .page-heading p{font-size:14px}@media (max-width:760px){.login .login-identity h1{font-size:28px}.login-business{font-size:20px}.login-branch{font-size:15px}.login-title{font-size:24px}}.login-options .level-tile{min-height:82px;border:0;gap:22px;color:#171717}.level-tile>span{min-width:72px;font-size:18px}.login-options .level-1{background:#e5e5e5}.login-options .level-2{background:#b5b5b5}.login-options .level-3{background:#7f7f7f;color:#080808}.login-options .level-tile:hover{box-shadow:inset 0 0 0 2px #333}.login-form{display:flex;flex-direction:column;gap:18px;margin:24px 0}.login-selected{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0}.login-selected button{font-size:14px;padding:8px 12px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.permission-grid .check{margin:8px 0;padding:8px 0}.bottom-nav{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:1fr}@media (max-width:760px){.permission-grid{grid-template-columns:1fr}.level-tile strong{font-size:17px}.login-selected{font-size:14px}}.expense-settings fieldset{border:0;padding:0;margin:0;min-width:0}.category-editor{display:flex;align-items:end;gap:16px;margin:16px 0}.category-editor>.field{flex:1}.order-buttons{display:flex;gap:8px}.order-buttons button{min-width:48px}.expense-item-editor{padding:0 18px 14px;border:1px solid var(--line);border-radius:10px;margin:18px 0}.item-settings-footer{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.item-settings-footer .order-buttons{margin-left:auto}.expense-category{margin:0 0 28px}.expense-category-title{font-size:18px;border-left:4px solid var(--accent);padding-left:12px}.expense-display.without-notes .expense-table-header,.expense-display.without-notes .entry-row{grid-template-columns:1.05fr .8fr}.expense-display.force-cards .expense-table-header{display:none}.expense-display.force-cards .entry-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.expense-display.force-cards .entry-row{display:block;border:1px solid var(--line);border-radius:10px;padding:18px}.force-cards .entry-title{margin-bottom:12px}.force-cards .note{margin-top:12px}.expense-preview .preview-row{display:flex;gap:18px;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line);font-size:14px}.expense-preview .preview-row>*{flex:1}.expense-preview.cards .preview-row{border:1px solid var(--line);border-radius:8px;margin:10px 0;display:block}.expense-preview.cards .preview-row>*{display:block;margin:6px 0}.expense-preview{padding:16px;background:#fafafa;border:1px solid var(--line);border-radius:10px}.expense-preview h3{margin:16px 0 0}.bottom-nav button span{overflow-wrap:anywhere}@media (max-width:760px){.category-editor{display:block}.category-editor .order-buttons{margin-top:10px}.expense-item-editor{padding:0 14px 14px}.expense-display.force-cards .entry-list{grid-template-columns:minmax(0,1fr)}.item-settings-footer{gap:8px}.bottom-nav button{font-size:11px}.account{max-width:72%}.account small{overflow-wrap:anywhere}}.monthly-expenses{max-width:960px}.monthly-month{max-width:340px;margin:0 0 28px}.monthly-section{padding:24px 0;border-bottom:1px solid var(--line);margin-bottom:24px}.monthly-section h2{font-size:22px;margin-bottom:20px}.monthly-col-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}.monthly-cor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.monthly-expenses input{text-align:right;font-variant-numeric:tabular-nums}.monthly-expenses input[readonly]{background:#f0f0f0;color:#555}.monthly-expenses .field>span{font-size:15px}.monthly-expenses .field small{font-size:12px}.monthly-expenses form>.primary{margin-top:8px}@media (max-width:760px){.monthly-month{max-width:none}.monthly-col-grid{gap:20px 14px}.monthly-cor-grid{gap:22px 10px}.monthly-expenses .field>span{font-size:13px;min-height:42px;display:flex;align-items:flex-end}.monthly-month>span{min-height:0!important}.monthly-expenses input{padding:10px 8px}.monthly-section{padding:20px 0}.monthly-section h2{font-size:21px}.monthly-expenses form>.primary{width:100%}.bottom-nav button span{line-height:1.35}.bottom-nav button{justify-content:flex-start;padding-top:6px}}.monthly-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:26px 0 22px}.monthly-heading h1{font-size:28px;line-height:1.4;letter-spacing:0;margin:0;min-width:0}.monthly-select{width:160px;flex-shrink:0;font-size:18px;font-weight:600;min-height:48px;background:#f5f5f5}.topbar .account{background:#7f7f7f;border-radius:14px;padding:10px 14px;min-height:66px;gap:12px;color:#080808}.topbar .account>span{font-size:20px;line-height:1.3}.topbar .account small{font-size:14px;line-height:1.5;color:#151515;margin-top:4px}.topbar .account .icon-button{background:transparent;color:#080808;flex-shrink:0}.topbar .account .icon-button:hover{background:#fff3}@media (max-width:760px){.monthly-heading{gap:10px;margin:24px 0 12px}.monthly-heading h1{font-size:20px;line-height:1.45}.monthly-select{width:116px;font-size:16px;padding:10px 8px}.topbar .account{padding:10px 12px;gap:8px;max-width:75%;min-height:70px}.topbar .account>span{font-size:20px}.topbar .account small{font-size:14px}.topbar .account .icon-button{min-width:36px;padding:6px}}@media (max-width:359px){.monthly-heading h1{font-size:18px}.monthly-select{width:108px}.topbar .account{max-width:76%;padding:9px}.topbar .account small{font-size:13px}}.stock-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:26px 0}.stock-heading h1{margin:0;font-size:28px;line-height:1.4;min-width:0;letter-spacing:0}.stock-heading select{width:258px;flex-shrink:0;font-size:17px;font-weight:600;background:#f5f5f5}.stock-save{margin-top:26px}.stock-save button{min-width:200px}.stock-save p{margin-top:12px}@media (max-width:760px){.stock-heading{gap:8px;margin:24px 0 20px}.stock-heading h1{font-size:20px;line-height:1.4}.stock-heading select{width:184px;padding:10px 7px;font-size:14px}.stock-save button{width:100%}}@media (max-width:359px){.stock-heading h1{font-size:18px}.stock-heading select{width:168px;font-size:13px}}.stock-missing-dialog{width:min(440px,calc(100vw - 32px));max-height:80vh;overflow:auto;border:0;border-radius:18px;padding:24px;color:#262626;box-shadow:0 20px 70px #0004}.stock-missing-dialog::backdrop{background:#0007}.stock-missing-dialog h2{font-size:22px;margin:0 0 12px}.stock-missing-dialog p{line-height:1.7}.stock-missing-dialog ul{padding-left:24px;line-height:1.8;margin:16px 0 24px}.stock-missing-dialog button{width:100%}.executive-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0 12px}.executive-kpis article{background:#f2f2f2;border:1px solid #dedede;border-radius:16px;padding:20px;min-width:0}.executive-kpis span{display:block;color:#555;font-size:14px;margin-bottom:10px}.executive-kpis strong{font-size:24px;line-height:1.5;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.executive-section{margin:28px 0;padding-top:12px;border-top:1px solid #dedede}.executive-section h2{font-size:20px;line-height:1.5}.executive-section .component-list>div{gap:18px}.executive-section .component-list strong{text-align:right}.report-pending{padding-left:22px;line-height:1.8}@media (max-width:760px){.executive-kpis{gap:10px}.executive-kpis article{padding:14px}.executive-kpis strong{font-size:19px}.executive-kpis span{font-size:13px}.executive-section h2{font-size:19px}.executive-section .record-list article{gap:12px}.executive-section .record-list article>strong{text-align:right}.bottom-nav button{min-width:0;padding-left:2px;padding-right:2px;font-size:10px}}.dashboard-tabs{margin:0 0 20px}.dashboard-date{display:flex;align-items:center;gap:10px;width:100%;justify-content:flex-start;margin-bottom:20px;background:#f7f7f7}.dashboard-date small{margin-left:auto;font-size:12px;color:#666}.dashboard-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.dashboard-kpis article{padding:20px 12px;border:1px solid #ddd;border-radius:14px;background:#f2f2f2;min-width:0;text-align:center}.dashboard-kpis span,.dashboard-kpis small{display:block}.dashboard-kpis strong{display:block;font-size:24px;margin:10px 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.dashboard-kpis small{font-size:12px;color:#666}.dashboard-table-wrap{overflow-x:auto;border:1px solid #ddd;border-radius:12px}.dashboard-table{border-collapse:collapse;width:100%;font-size:14px}.dashboard-table th,.dashboard-table td{padding:16px 10px;border-bottom:1px solid #e5e5e5;text-align:right}.dashboard-table th:first-child{text-align:left;width:35%}.dashboard-table thead{background:#7f7f7f;color:#080808}.dashboard-table tbody th{font-weight:500}.dashboard-table td small{display:block;font-size:11px;color:#666}.dashboard-table tbody tr:last-child>*{border-bottom:0}.dashboard-note{color:#666;font-size:12px;margin:14px 0}.dashboard-explanation{margin-top:20px;font-size:14px;line-height:1.8}.dashboard-calendar{width:min(420px,calc(100vw - 32px));border:0;border-radius:18px;padding:24px;max-height:85vh;overflow:auto}.dashboard-calendar::backdrop{background:#0007}.dashboard-calendar h2{font-size:22px;margin-top:0}.dashboard-calendar .field{margin:20px 0}.dashboard-calendar input{min-width:0;width:100%}.dashboard-period{margin:20px 0;max-width:400px;gap:10px}@media (max-width:760px){.dashboard-kpis{gap:7px}.dashboard-kpis article{padding:15px 5px}.dashboard-kpis strong{font-size:17px}.dashboard-kpis span{font-size:14px}.dashboard-table{font-size:12px}.dashboard-table th,.dashboard-table td{padding:14px 5px}.dashboard-date{font-size:14px}.dashboard-date small{font-size:11px}.dashboard-table th:first-child{width:36%}}.dashboard-table td.dashboard-quantity{white-space:nowrap}.dashboard-table td.dashboard-quantity small{display:inline;font-size:inherit;color:inherit}.dashboard-simulation{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:#555;margin:12px 0}.dashboard-simulation button{font-size:12px;padding:7px 10px}.dashboard-date span{min-width:0;overflow-wrap:anywhere}@media (max-width:760px){.dashboard-table{font-size:11px}.dashboard-table th,.dashboard-table td{padding-left:4px;padding-right:4px}.dashboard-table th:first-child{width:28%}.dashboard-date small{flex-shrink:0}.dashboard-table-wrap{overflow-x:auto}.dashboard-table{min-width:340px}}@media (max-width:760px){.dashboard-table{min-width:0;table-layout:fixed}.dashboard-table th:first-child{width:25%}.dashboard-table th,.dashboard-table td{padding:14px 2px;font-size:10px}.dashboard-table td{font-variant-numeric:tabular-nums}.dashboard-table th{overflow-wrap:anywhere}}.profit-pie{margin:16px 0 20px;padding:20px 22px;border:1px solid #e2e4e8;border-radius:22px;background:linear-gradient(150deg,#fff,#f1f3f6);box-shadow:0 7px 24px #26344908}.profit-pie figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.profit-pie figcaption strong{font-size:16px}.profit-pie figcaption>span{font-size:12px;color:#747982}.profit-pie svg{display:block;width:100%;max-width:410px;margin:0 auto}.profit-pie-legend{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:410px;margin:0 auto}.profit-pie-legend>div{display:grid;grid-template-columns:1fr auto;gap:5px 10px}.profit-pie-legend span{display:flex;gap:7px;align-items:center;font-size:13px}.profit-pie-legend i{width:10px;height:10px;border-radius:50%;border:1px solid #6b707a33}.profit-pie-legend strong{font-size:17px;font-variant-numeric:tabular-nums}.profit-pie-legend small{grid-column:1/-1;color:#676d77;font-size:12px;padding-left:17px}.profit-pie-empty{padding:28px 0;line-height:1.8;color:#676d77;text-align:center}@media (max-width:760px){.profit-pie{padding:16px 14px}.profit-pie figcaption{display:block}.profit-pie figcaption>span{display:block;margin-top:4px}.profit-pie-legend{gap:16px}.profit-pie-legend strong{font-size:16px}.profit-pie svg{margin-top:-4px}}.pie-detail-legend{grid-template-columns:1fr;gap:3px;max-width:none}.pie-detail-legend>button{display:grid;grid-template-columns:1fr auto;gap:4px 12px;border:0;border-radius:9px;background:transparent;text-align:left;padding:9px 8px;min-height:48px}.pie-detail-legend>button:hover,.pie-detail-legend>button.selected{background:#e2e6ec}.pie-detail-legend span{font-size:13px;line-height:1.5}.pie-detail-legend strong{font-size:14px}.pie-detail-legend small{grid-column:1/-1;padding-left:17px}.pie-selection{font-size:12px;line-height:1.6;color:#586270;min-height:38px;margin:0 0 8px;text-align:center}.period-picker{border:1px solid #e2e4e7;border-radius:18px;padding:12px;background:#fff;box-shadow:0 4px 18px #20212405}.period-month-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:6px}.period-month-row>button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;border:0;background:transparent}.period-month-row>.period-month-button{gap:10px;font-size:17px;text-align:left}.period-month-button span{line-height:1.5}.period-month-button small{display:block;color:#747982;font-size:11px;font-weight:400}.period-month-button strong{font-weight:600}.period-halves{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#f1f2f4;border-radius:13px;padding:5px;margin-top:12px}.period-halves button{border:0;background:transparent;border-radius:10px;min-height:64px;padding:9px 5px;color:#6a6e76}.period-halves strong,.period-halves small{display:block}.period-halves strong{font-size:15px}.period-halves small{font-size:12px;margin-top:3px;font-weight:400}.period-halves button[aria-pressed=true]{background:#7f7f7f;color:#080808;box-shadow:0 2px 6px #0001}.period-picker button:disabled,.month-picker-dialog button:disabled{opacity:.28;cursor:not-allowed}.month-picker-dialog{border:0;border-radius:22px;width:min(390px,calc(100vw - 32px));padding:22px;max-height:85vh;overflow:auto;box-shadow:0 20px 80px #0003}.month-picker-dialog::backdrop{background:#20242c66;backdrop-filter:blur(3px)}.month-picker-title{display:flex;align-items:center;justify-content:space-between}.month-picker-title h2{font-size:21px;margin:0}.month-picker-title button,.picker-year button{display:flex;align-items:center;justify-content:center;border:0;width:44px;min-height:44px;padding:8px;background:transparent}.picker-year{display:flex;align-items:center;justify-content:space-between;margin:18px 0}.picker-year strong{font-size:23px}.picker-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.picker-month-grid button{border:0;background:#f2f3f5;border-radius:10px;min-height:48px;font-size:14px;padding:10px 5px}.picker-month-grid button[aria-pressed=true]{background:#7f7f7f;color:#080808}.month-picker-dialog p{font-size:12px;color:#727780;margin:18px 0 0;text-align:center}.period-halves{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:760px){.period-halves strong{font-size:13px}.period-halves small{font-size:11px}.period-halves{gap:3px}}.period-halves button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.period-halves strong,.period-halves small{white-space:nowrap}.period-month-button .period-month-label{font-size:26px;font-weight:800;line-height:1.4;letter-spacing:.2px}.grouped-pie svg{max-width:480px}.grouped-pie figcaption{display:block}.grouped-pie figcaption>span{display:block;margin-top:6px;line-height:1.6}.grouped-pie{padding:16px 8px}.grouped-pie figcaption{padding:0 10px}.period-pies>.dashboard-note{line-height:1.8}.pending-back{display:flex;align-items:center;gap:8px;margin:14px 0 22px;color:#60656e;background:#f5f5f6;border:0;border-radius:10px;padding:10px 14px;font-size:14px;min-height:44px}.permission-all{display:flex;align-items:center;gap:12px;margin:24px 0 16px;padding:18px;background:#e9e9eb;border-radius:14px}.permission-all input,.permission-module-title input{margin-left:auto;width:22px;height:22px;flex-shrink:0}.permission-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.permission-modules section{padding:18px;border:1px solid #dedee2;border-radius:14px;background:#fafafa}.permission-module-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.permission-module-title h2{font-size:17px;margin:0}.permission-modules .check{font-size:14px;line-height:1.6;min-height:44px;margin:5px 0}.permission-modules .muted{font-size:13px}@media (max-width:760px){.permission-modules{grid-template-columns:1fr}}.permission-modules-simple>.permission-module-title{margin:0;padding:20px 18px;border:1px solid #dedee2;border-radius:14px;background:#fafafa;min-height:76px;cursor:pointer}.permission-modules-simple strong{font-size:16px}.permission-modules-simple label:has(input:disabled){opacity:.5;cursor:default}.permission-level-options{margin:24px 0}.user-actions{display:flex;flex-wrap:wrap;gap:8px}.delete-user{background:#c62828;color:#fff;border-color:#c62828}.delete-user:hover{background:#a51d1d;color:#fff}.delete-user-dialog{border:0;border-radius:18px;padding:24px;width:min(440px,calc(100vw - 32px));box-shadow:0 20px 80px #0003}.delete-user-dialog::backdrop{background:#0007}.delete-user-dialog p{overflow-wrap:anywhere}.delete-user-dialog .button-row{justify-content:flex-end}@media (max-width:600px){.record-list .user-actions{width:100%}.user-actions button{flex:1}}.bottom-nav button:disabled{opacity:.4;cursor:not-allowed;background:transparent}.topbar .account{flex-shrink:0}.ingredient-grid-wrap{width:100%;overflow-x:auto;border:1px solid #d9d9dd;border-radius:12px;background:#fff}.ingredient-grid{width:100%;min-width:320px;table-layout:fixed;border-collapse:collapse;font-size:13px}.ingredient-grid th,.ingredient-grid td{direction:ltr;text-align:center;padding:14px 4px;line-height:1.6;overflow-wrap:anywhere;border:1px solid #e1e1e5}.ingredient-grid th{background:#7f7f7f;color:#fff;font-weight:700;white-space:nowrap;font-size:12px}.ingredient-grid th:nth-child(1){width:21%}.ingredient-grid th:nth-child(2){width:20%}.ingredient-grid th:nth-child(3){width:29%}.ingredient-grid th:nth-child(4),.ingredient-grid th:nth-child(5){width:15%}.ingredient-grid td:nth-child(3){text-align:left;font-weight:600}.ingredient-grid tbody tr:nth-child(2n){background:#f6f6f7}.ingredient-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.ingredient-actions button{min-height:44px}.ingredient-editor{border:1px solid #ddd;border-radius:12px;padding:16px;margin:16px 0;background:#fafafa}.ingredient-editor h2{font-size:18px;margin:0 0 16px}.ingredient-grid-hint{font-size:12px;color:#666;line-height:1.7}.ingredient-master-wrap{width:100%;overflow-x:auto;border:1px solid #d4d4d8;border-radius:12px;overscroll-behavior-x:contain}.ingredient-master-grid{width:100%;min-width:780px;table-layout:fixed;border-collapse:collapse;font-size:14px}.ingredient-master-grid th,.ingredient-master-grid td{padding:12px 10px;border:1px solid #ddd;line-height:1.5;text-align:left;overflow-wrap:anywhere}.ingredient-master-grid th{background:#7f7f7f;color:#fff;padding:0}.ingredient-master-grid th button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;border:0;border-radius:0;padding:10px;color:#fff;background:transparent;font-size:13px;white-space:nowrap}.ingredient-master-grid th:nth-child(1){width:100px}.ingredient-master-grid th:nth-child(2){width:125px}.ingredient-master-grid th:nth-child(3){width:190px}.ingredient-master-grid th:nth-child(4){width:105px}.ingredient-master-grid th:nth-child(5),.ingredient-master-grid th:nth-child(6){width:75px}.ingredient-master-grid th:nth-child(7){width:110px}.ingredient-master-grid tbody tr:nth-child(2n){background:#f7f7f8}.ingredient-master-grid tbody tr.is-selected{background:#e4e4e7}.ingredient-select{display:flex;align-items:center;gap:8px;min-height:30px;cursor:pointer}.ingredient-select input{width:18px;height:18px;accent-color:#666;flex-shrink:0}.ingredient-status{font-size:12px;padding:8px;min-height:40px;background:#e8e8e9;border:1px solid #bcbcc0;border-radius:8px;white-space:nowrap}.ingredient-status.is-off{background:#fff;color:#777}.ingredient-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0}.ingredient-pagination button{min-height:44px}.ingredient-actions button:disabled,.ingredient-pagination button:disabled{opacity:.45;cursor:not-allowed}.ingredient-master-grid.ingredient-compact{min-width:0;width:100%;font-size:12px}.ingredient-compact th:nth-child(1){width:18%}.ingredient-compact th:nth-child(2){width:19%}.ingredient-compact th:nth-child(3){width:27%}.ingredient-compact th:nth-child(4),.ingredient-compact th:nth-child(5),.ingredient-compact th:nth-child(6){width:12%}.ingredient-compact th button{padding:8px 2px;min-height:48px;font-size:10px;justify-content:center;flex-wrap:wrap;gap:2px;white-space:normal;line-height:1.5}.ingredient-compact td{padding:10px 3px;text-align:center}.ingredient-name-link{border:0!important;background:transparent!important;color:#242424;padding:4px 0!important;min-height:44px;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px;width:100%;white-space:normal;overflow-wrap:anywhere}.ingredient-status-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#258749;box-shadow:0 0 0 3px #25874918}.ingredient-status-dot.is-off{background:#d03232;box-shadow:0 0 0 3px #d0323218}.ingredient-detail-delete{border-top:1px solid #ddd;margin-top:22px;padding-top:18px}.udon-fields{display:grid;gap:14px}.ingredient-detail-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.udon-fields .field{min-width:0;margin:0}.udon-fields input,.udon-fields select{width:100%;min-width:0;font-size:16px;padding:10px 8px;min-height:44px}.ingredient-conversions{min-width:0;border:1px solid #d5d5d5;border-radius:10px;padding:12px 8px;margin:0}.ingredient-conversions legend{font-size:14px;padding:0 5px}.ingredient-conversion-row{display:grid;grid-template-columns:minmax(0,1fr) 15px minmax(0,1fr) 28px;gap:4px;align-items:center;margin-bottom:10px}.conversion-side{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px;min-width:0}.conversion-side input{padding:10px 3px;text-align:center;appearance:textfield;-moz-appearance:textfield}.conversion-side input::-webkit-inner-spin-button,.conversion-side input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.conversion-side select{padding:10px 2px;font-size:14px}.conversion-equals{text-align:center}.ingredient-conversions .conversion-remove{padding:0;min-width:28px;min-height:44px;background:transparent;border:0;color:#a42626;font-size:22px}.ingredient-conversions .conversion-add{font-size:13px;min-height:44px;padding:8px 10px}.conversion-result-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.conversion-validation{font-size:22px;font-weight:800;line-height:1.4}.conversion-validation.is-valid{color:#218543}.conversion-validation.is-invalid{color:#c62828}.stock-heading h1{white-space:nowrap;font-size:24px}.stock-heading select{width:190px}.stock-count-row{display:block}.stock-count-row h2{display:flex;align-items:center;gap:10px;font-size:17px;margin:0 0 12px}.stock-count-row h2 .ingredient-status-dot{flex-shrink:0}.stock-count-details{display:flex;gap:12px;align-items:center}.stock-count-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;flex:1;min-width:0}.stock-count-inputs .field>span{display:none}.stock-count-inputs .input-unit>span{padding:8px 5px;font-size:12px}.stock-count-inputs input{padding:10px 6px}.stock-photo{width:54px;flex-shrink:0}.stock-photo label{position:relative;display:flex;align-items:center;justify-content:center;width:54px;height:54px;border:1px dashed #aaa;border-radius:9px;overflow:hidden;background:#f6f6f6;cursor:pointer;text-align:center}.stock-photo label>span{font-size:20px;line-height:1}.stock-photo small{font-size:11px;margin-top:4px}.stock-photo input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.stock-photo img{width:100%;height:100%;object-fit:cover}.stock-photo button{min-height:28px;font-size:11px;padding:2px 4px;width:100%;border:0;color:#b42323}.stock-photo .is-disabled{opacity:.5}@media (max-width:760px){.stock-heading{gap:6px}.stock-heading h1{font-size:18px;flex:1}.stock-heading select{width:125px;font-size:11px;padding:8px 2px}.stock-count-row{padding:16px 0}.stock-count-details{gap:8px}}@media (max-width:359px){.stock-heading h1{font-size:16px}.stock-heading select{width:112px;font-size:10px}}.stock-status-filters{display:flex;gap:6px;margin:12px 0 16px}.stock-status-filters button{flex:1;padding:8px 5px;font-size:12px;gap:7px;min-width:0}.stock-status-filters button[aria-pressed=true]{background:#e6e6e8;border-color:#7f7f7f}.stock-status-filters small{font-size:11px}.stock-status-filters .ingredient-status-dot{width:9px;height:9px;flex-shrink:0}.stock-count-details{align-items:flex-start}.stock-photo{position:relative;width:97.2px;height:97.2px}.stock-photo label{width:97.2px;height:97.2px}.stock-photo button{position:absolute;right:3px;bottom:3px;width:auto;min-height:24px;background:#fffe;padding:1px 6px;border-radius:5px}.stock-count-fields{flex:1;min-width:0;display:grid;grid-template-rows:44px 45.2px;gap:8px;height:97.2px}.stock-count-inputs{gap:6px}.stock-count-inputs input{min-height:44px;height:44px;padding:8px 4px;font-size:16px}.stock-count-inputs .input-unit>span{font-size:11px;padding:5px 4px}.stock-count-fields .stock-count-note{min-height:0;height:45.2px;padding:8px;font-size:14px;width:100%}.stock-count-inputs .field{gap:0}.ingredient-master-note{margin-top:18px}.stock-count-note[readonly]{background:#f5f5f6;color:#4d5157;cursor:default}.save-success-dialog{border:0;border-radius:22px;padding:30px 26px;width:min(340px,calc(100vw - 32px));text-align:center;box-shadow:0 18px 70px #0003}.save-success-dialog::backdrop{background:#16191e66}.save-success-dialog>svg{color:#287247}.save-success-dialog h2{font-size:24px;margin:12px 0 24px}.save-success-dialog button{width:100%;min-height:46px}.daily-expense-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 6px}.daily-expense-heading h1{margin:0;white-space:nowrap}.daily-expense-heading input{width:166px;min-width:0;min-height:44px;padding:9px 7px;font-size:16px}.ingredient-photo-editor{display:grid;grid-template-columns:108px minmax(0,1fr);gap:14px;align-items:center;margin:0 0 22px}.ingredient-photo-preview{height:108px;border:1px dashed #aaa;border-radius:14px;overflow:hidden;background:#f4f4f4;display:flex;align-items:center;justify-content:center;color:#777;font-size:13px}.ingredient-photo-preview img{width:100%;height:100%;object-fit:cover}.ingredient-photo-editor .field{margin:0 0 6px}.ingredient-photo-editor input{max-width:100%;font-size:13px;padding:8px 2px}.ingredient-photo-editor small{display:block;color:#777;font-size:12px}.ingredient-photo-editor button{margin-top:8px;min-height:36px;padding:6px 10px;font-size:13px}@media (max-width:760px){.daily-expense-heading{gap:8px}.daily-expense-heading h1{font-size:20px}.daily-expense-heading input{width:145px;font-size:16px}}@media (max-width:359px){.daily-expense-heading{gap:4px}.daily-expense-heading h1{font-size:17px}.daily-expense-heading input{width:132px;padding:8px 3px;font-size:14px}}.entry-inputs .input-unit input{padding-inline:6px;font-variant-numeric:tabular-nums}.entry-inputs .input-unit>span{padding-inline:6px}
