@font-face{font-family:ExpenseThai;src:url('/assets/logo-studio-thai.ttf') format('truetype');font-display:swap}
body.expense-page{--ink:#183629;--muted:#50685b;--line:#d8e4dc;--blue:#287a4e;--blue-soft:#eef7f0;--navy:#183629;--green:#287a4e;--green-soft:#eef7f0;--shadow:none;background:#f6f8f7;color:#183629;font:16px/1.65 ExpenseThai,system-ui,sans-serif}
.expense-page [hidden]{display:none!important}.expense-page :is(button,input,select,textarea){font-family:inherit;max-width:100%;min-height:44px}.expense-page :is(input,select,textarea){border:1px solid #c5d8cb!important;border-radius:10px!important;background:#fff;color:#183629;font-size:15px}.expense-page :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #287a4e!important;outline-offset:3px}.expense-page :is(h1,h2,h3){letter-spacing:0;line-height:1.5}.expense-page .eyebrow{color:#185c39;letter-spacing:.05em}.expense-page .primary{background:#287a4e!important;background-image:none!important;color:#fff!important;border-radius:10px;box-shadow:none;min-height:46px;padding:10px 16px}.expense-page .primary:hover{background:#185c39!important}.expense-page :is(.secondary,.ghost){background:#fff;color:#185c39;border:1px solid #d8e4dc;min-height:44px;border-radius:10px}.expense-page :disabled{opacity:.6;cursor:not-allowed}
.expense-page .login-shell{background:#f6f8f7;padding:32px 20px;min-height:100dvh}.expense-page .login-card{width:min(480px,100%);padding:32px;border:1px solid #d8e4dc;border-radius:20px;background:#fff;color:#183629;box-shadow:0 8px 28px #18362908}.expense-page .login-card h1{font-size:27px;color:#183629}.expense-page .login-intro,.expense-page .login-card>small{font-size:14px;line-height:1.7;color:#50685b}.expense-page .login-card label{font-size:15px}.expense-page .login-logo{width:52px;height:52px;object-fit:contain;box-shadow:none}.expense-page .login-card input{min-height:46px}
.expense-page .expense-header{background:#fff;color:#183629;box-shadow:none;border-bottom:1px solid #d8e4dc;padding:16px max(24px,calc((100vw - 1180px)/2));gap:20px}.expense-page .expense-brand{color:#183629}.expense-page .expense-brand small{color:#50685b;font-size:13px}.expense-page .expense-header-actions{gap:8px}.expense-page .expense-header-actions label{font-size:13px;color:#50685b;letter-spacing:0}.expense-page .expense-header-actions input{background:#fff;color:#183629;min-height:44px}.expense-page .expense-header-actions :is(.secondary,.ghost){color:#185c39;background:#fff;border-color:#d8e4dc}.expense-page .expense-workspace{width:min(1180px,calc(100% - 48px));padding:0;margin:28px auto 40px}.expense-page .expense-title{gap:20px;margin-bottom:24px}.expense-page .expense-title h1{font-size:clamp(25px,3vw,32px)}.expense-page .expense-title p:last-child{font-size:15px;line-height:1.65}
.expense-page .expense-panel{background:#fff;border:1px solid #d8e4dc;border-radius:16px;box-shadow:none;margin-bottom:24px}.expense-page .expense-panel-head{padding:20px 24px;background:#fff!important;gap:20px;flex-wrap:wrap}.expense-page .expense-panel-head h2{font-size:21px}.expense-page .expense-panel-head p{font-size:14px;line-height:1.65}.expense-page .expense-panel-head>div{min-width:0}.expense-page .expense-supply-warning{font-size:14px;margin:16px 24px 0}.expense-page #expense-batch-form{padding:20px 24px 24px;gap:20px}.expense-page .expense-batch-camera{color:#185c39;background:#eef7f0;box-shadow:none;border:2px dashed #a8c9b3;border-radius:14px;min-height:108px}.expense-page .expense-batch-camera strong{font-size:21px}.expense-page .expense-batch-camera small{color:#50685b}.expense-page .expense-batch-step-title>span{background:#e0f2e5;color:#185c39}.expense-page .expense-batch-step-title small{font-size:13px;line-height:1.6}.expense-page .expense-batch-capture-options{gap:12px}.expense-page .expense-batch-editor{gap:18px}.expense-page .expense-batch-reference{background:#f5f8f6;border:1px solid #d8e4dc;box-shadow:none;backdrop-filter:none}.expense-page .expense-batch-reference>div small{font-size:13px}.expense-page .expense-batch-reference-actions button{min-height:44px;color:#185c39;border-color:#c5d8cb;background:#fff}.expense-page .expense-batch-shared-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.expense-page #expense-batch-form label{font-size:15px}.expense-page .expense-batch-category{background:#f6f9f7;border-color:#d8e4dc;padding:16px}.expense-page .expense-batch-category legend{color:#183629}.expense-page .expense-category-options{gap:10px}.expense-page .expense-category-options span{color:#185c39;border-color:#c5d8cb;box-shadow:none;font-size:14px;min-height:46px;line-height:1.5}.expense-page .expense-category-options input:checked+span{background:#287a4e;color:#fff;border-color:#287a4e;box-shadow:none;transform:none}.expense-page .expense-category-options input{min-height:0}.expense-page .expense-category-options input:focus-visible+span{outline:3px solid #287a4e;outline-offset:3px}.expense-page .expense-batch-progress strong,.expense-page .expense-batch-submit span{color:#183629}.expense-page .expense-batch-progress span{color:#185c39;background:#eef7f0;font-size:13px}.expense-page .expense-batch-payment-hint{font-size:14px;line-height:1.65}.expense-page .expense-batch-detail{background:#f6f9f7}.expense-page .expense-batch-detail summary{color:#185c39;font-size:14px}.expense-page .expense-batch-submit{background:#fff;border-color:#d8e4dc;box-shadow:0 -4px 16px #18362908;backdrop-filter:none;bottom:16px}.expense-page .expense-batch-item{padding:14px;gap:12px}.expense-page .expense-batch-item small{font-size:13px;line-height:1.6}.expense-page .expense-batch-item b{overflow-wrap:anywhere}.expense-page .expense-batch-item-actions button{min-height:44px}.expense-page .expense-batch-empty{font-size:14px}
.expense-page .cash-summary{gap:16px;margin-bottom:20px}.expense-page .cash-summary article{padding:20px;border:1px solid #d8e4dc;border-radius:14px;box-shadow:none;background:#fff}.expense-page .cash-summary small{font-size:14px}.expense-page .cash-summary strong{font-size:28px;line-height:1.5;overflow-wrap:anywhere}.expense-page .cash-summary p{font-size:13px;line-height:1.65}.expense-page .cash-summary .balance-card{background:#eef7f0;color:#183629;border-color:#a8c9b3}.expense-page .cash-summary .balance-card :is(small,p){color:#50685b}.expense-page .cash-summary .balance-card.negative{background:#fff0ed;color:#b42318;border-color:#efb8ae}.expense-page .vat-note{font-size:14px;line-height:1.65;margin-bottom:24px}.expense-page .expense-history-actions>b{font-size:16px;color:#183629;overflow-wrap:anywhere}.expense-page .expense-history-actions button{min-height:44px}.expense-page .expense-row{padding:18px 24px;gap:16px}.expense-page .expense-row-main{min-width:0}.expense-page .expense-row-main b{font-size:16px;overflow-wrap:anywhere}.expense-page .expense-row-main small{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.expense-page .expense-row time{font-size:14px}.expense-page .expense-row-amount{font-size:19px}.expense-page :is(.expense-source-badge,.expense-payment-badge){font-size:13px;line-height:1.5;white-space:normal}.expense-page .expense-readonly-note{font-size:13px}.expense-page .expense-evidence-button,.expense-page .expense-row-actions button{min-height:44px}.expense-page .expense-empty{font-size:15px;padding:28px 20px}
.expense-page .expense-action-dialog{max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border:1px solid #d8e4dc;border-radius:18px;color:#183629}.expense-page .expense-action-dialog h2{font-size:24px}.expense-page .expense-action-dialog p{font-size:15px;line-height:1.65}.expense-page .expense-action-dialog small{font-size:13px}.expense-page .expense-action-dialog button{min-height:44px}.expense-page .expense-action-dialog input{width:100%;min-width:0}.expense-page .expense-action-dialog textarea{min-height:90px}.expense-page .toast{font-size:15px;line-height:1.6;max-width:calc(100vw - 32px)}
body.expense-page #logo-studio-universal-hub-back{position:static;z-index:auto;box-shadow:none;transform:none;border:1px solid #c5d8cb;border-radius:10px;min-height:44px;padding:10px 12px;background:#fff;font:600 14px/1.5 ExpenseThai,system-ui}body.expense-page #logo-studio-universal-hub-back,body.expense-page #logo-studio-universal-hub-back *{color:#185c39!important}.expense-page .login-card #logo-studio-universal-hub-back{display:flex;justify-content:center;margin-top:20px}
@media(max-width:960px){.expense-page .expense-header{flex-wrap:wrap;position:static;gap:14px}.expense-page .expense-header-actions{justify-content:flex-start}.expense-page .cash-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-page .expense-title{align-items:flex-start;flex-direction:column}.expense-page .expense-month-controls{justify-content:flex-start}.expense-page .expense-batch-reference{position:static}}
@media(max-width:600px){.expense-page .expense-workspace{width:calc(100% - 32px);margin-top:24px}.expense-page .expense-header{padding:16px}.expense-page .expense-header-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.expense-page .expense-header-actions label{grid-column:1/-1}.expense-page .expense-header-actions input{width:100%}.expense-page .expense-header-actions button{width:100%;min-width:0;white-space:normal;padding:8px}.expense-page .expense-header-actions #logo-studio-universal-hub-back{grid-column:1/-1;justify-content:center}.expense-page .expense-panel-head{padding:20px 16px}.expense-page #expense-batch-form{padding:20px 16px}.expense-page .expense-supply-warning{margin:14px 16px 0}.expense-page .expense-batch-shared-grid{grid-template-columns:minmax(0,1fr)}.expense-page .expense-category-options{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-page .expense-batch-submit{position:static;grid-template-columns:minmax(0,1fr);box-shadow:none}.expense-page .expense-batch-item{grid-template-columns:28px minmax(0,1fr)}.expense-page .expense-batch-item>strong{grid-column:2}.expense-page .expense-batch-item-actions{grid-column:1/-1;justify-content:flex-end}.expense-page .cash-summary article{padding:14px}.expense-page .cash-summary strong{font-size:23px}.expense-page .expense-history-actions{justify-items:start}.expense-page .expense-history-actions>div{justify-content:flex-start}.expense-page .expense-row{padding:20px 16px;gap:12px;grid-template-columns:minmax(0,1fr)}.expense-page .expense-row>*{grid-column:1!important;min-width:0}.expense-page .expense-row-amount{white-space:normal}.expense-page .expense-row-actions{justify-content:flex-end}.expense-page .login-card{padding:26px 22px}.expense-page .login-card h1{font-size:25px}}
@media(max-width:360px){.expense-page .cash-summary{grid-template-columns:minmax(0,1fr)}.expense-page .expense-batch-capture-options>*{width:100%}.expense-page .expense-batch-reference{grid-template-columns:minmax(0,1fr)}}
.expense-page .expense-header-actions input{width:200px}.expense-page .expense-brand span{display:block!important}
.expense-page #expense-batch-form .expense-batch-shared-grid>label,.expense-page #expense-batch-editor>label{display:block}.expense-page .expense-batch-shared-grid :is(input,select),.expense-page #expense-batch-editor>label>input{display:block;margin-top:8px}.expense-page #expense-batch-form label>b{display:inline}
@media(max-width:600px){.expense-page .expense-header-actions input{width:100%}body.expense-page .expense-header{display:flex!important;flex-direction:column!important;align-items:stretch!important;flex-wrap:wrap!important}body.expense-page .expense-header-actions{width:100%!important;flex:none!important;max-width:100%}.expense-page .expense-brand{align-self:flex-start}}
@media(max-width:600px){body.expense-page .expense-header-actions #expense-refresh{grid-column:1/-1}body.expense-page .expense-header-actions #logo-studio-universal-hub-back{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.expense-page *{scroll-behavior:auto!important;transition:none!important}}

.expense-page .expense-batch-submit #expense-batch-error{grid-column:1/-1;width:100%;box-sizing:border-box;margin:0 0 10px;padding:12px 14px;border:1px solid #e9b9b3;border-radius:10px;background:#fff4f2;color:#8b3029;font-size:14px;line-height:1.7;overflow-wrap:anywhere}

