:root{color-scheme:light;--paper:#f5f4ee;--ink:#173e35;--muted:#52645d;--rule:#dce2dc;--green:#246348;--wash:#edf3ed;--error:#973927;font-family:Tahoma,"Noto Sans Thai",sans-serif;color:var(--ink);background:var(--paper);font-size:15px;line-height:1.6}*{box-sizing:border-box}body{margin:0}::selection{background:#c4ddcb;color:var(--ink)}:focus-visible{outline:3px solid #548866;outline-offset:3px}a{color:var(--green);text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:8px;padding:11px 19px;background:var(--green);color:white;transition:background .15s}button:hover{background:#194e37}button:disabled{cursor:default;background:#e5eae5;color:#52645d}.secondary{background:white;color:var(--ink);border:1px solid var(--rule)}.secondary:hover{background:var(--wash)}.danger{color:var(--error)}input{width:100%;padding:11px 12px;border:1px solid #b5c2b8;background:white;border-radius:6px;color:var(--ink);caret-color:var(--green)}label{display:block;font-size:.9rem;margin:0 0 6px}h1,h2,p{margin:0}h1{font-size:2rem;line-height:1.35;letter-spacing:-.025em}h2{font-size:1.2rem}small,.muted{color:var(--muted)}.shell{max-width:1160px;margin:auto;padding:0 32px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:88px;border-bottom:1px solid var(--rule)}.wordmark{text-decoration:none;color:var(--ink);font-weight:700;font-size:1.4rem;letter-spacing:-.03em}.wordmark span{font-weight:400;font-size:.85rem;letter-spacing:0;margin-left:12px;color:var(--muted)}main{padding:42px 0 64px}.intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.intro p{margin-top:8px;max-width:68ch;color:var(--muted)}.notice{padding:16px 20px;background:#e9eee4;border-radius:8px;color:#3f5437;margin-bottom:28px;max-width:80ch}.workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px;align-items:start}.sheet{background:white;border-radius:12px;padding:30px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.field{margin-bottom:20px}.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.line{padding:18px 0;border-bottom:1px solid var(--rule)}.line:first-child{padding-top:0}.line-grid{display:grid;grid-template-columns:minmax(0,1fr) 72px 120px;gap:12px}.line-tools{display:flex;justify-content:flex-end;margin-top:8px}.text-button{background:transparent;padding:4px 0;color:var(--green);font-size:.9rem}.text-button:hover{background:transparent;text-decoration:underline}.line-add{margin:16px 0 26px}.total-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--rule);padding-top:20px;margin:10px 0 20px}.money{font-variant-numeric:tabular-nums}.total-row strong{font-size:1.6rem}.full{width:100%}.message{color:var(--error);margin:14px 0;white-space:pre-line}.message.success{color:var(--green)}[hidden]{display:none!important}.empty{padding:44px 12px;text-align:center;color:var(--muted)}.bill-row{padding:20px 0;border-top:1px solid var(--rule)}.bill-row:first-child{border-top:0;padding-top:0}.bill-head,.bill-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.bill-head{margin-bottom:6px}.bill-actions{justify-content:flex-start;margin-top:14px;flex-wrap:wrap}.bill-actions button{font-size:.85rem;padding:7px 12px}.bill-ref{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.status{font-size:.78rem;border-radius:5px;background:#eff1e6;color:#4c5630;padding:3px 8px;white-space:nowrap}.status.cancelled,.status.expired{background:#f4eae5;color:#883d2e}.login{max-width:470px;margin:42px auto}.login h1{font-size:1.75rem;margin-bottom:10px}.login p{margin-bottom:26px}.invoice-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:36px;align-items:start}.invoice-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;padding-bottom:28px;border-bottom:1px solid var(--rule)}.invoice-heading h1{font-size:1.7rem}.details{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0 36px}.details dt{font-size:.85rem;color:var(--muted);margin-bottom:5px}.details dd{margin:0;overflow-wrap:anywhere}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.85rem;font-weight:400;color:var(--muted);padding:0 0 12px;border-bottom:1px solid var(--rule)}td{padding:18px 0;border-bottom:1px solid var(--rule);vertical-align:top;overflow-wrap:anywhere}th:last-child,td:last-child{text-align:right;white-space:nowrap}th:nth-child(2),td:nth-child(2){text-align:center;width:55px}.payment-aside{background:#e7eee6;border-radius:12px;padding:28px}.amount{font-size:2.4rem;font-weight:700;letter-spacing:-.03em;margin:5px 0 24px;line-height:1.35}.payment-aside p{margin-bottom:18px}.payment-aside .fine{font-size:.88rem;color:#425b49;margin-top:18px}.invoice-footer{padding-top:28px;font-size:.85rem;color:var(--muted)}footer{border-top:1px solid var(--rule);padding:22px 0 30px;font-size:.8rem;color:var(--muted);display:flex;justify-content:space-between;gap:18px}.landing{max-width:640px;padding:60px 0}.landing h1{margin-bottom:20px}.landing p{margin-bottom:26px}.error-state{max-width:580px;margin:50px auto;padding:38px}.error-state h1{font-size:1.7rem;margin-bottom:16px}.inline-link{word-break:break-all}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:850px){.workspace,.invoice-layout{grid-template-columns:1fr}.shell{padding:0 20px}.intro{align-items:start}.payment-aside{max-width:none}.sheet{padding:24px}.topbar{min-height:76px}}@media(max-width:480px){.shell{padding:0 16px}.topbar{gap:10px}.wordmark span{display:block;margin:0;font-size:.75rem}.topbar button{padding:8px 12px;font-size:.85rem}main{padding-top:28px}h1{font-size:1.7rem}.intro{display:block}.intro>button{margin-top:16px}.sheet{padding:20px}.row{grid-template-columns:1fr;gap:0}.line-grid{grid-template-columns:1fr 75px;gap:12px}.line-grid>div:first-child{grid-column:1/-1}.details{gap:18px}.amount{font-size:2.2rem}.invoice-heading{flex-wrap:wrap}footer{flex-direction:column;gap:4px}.bill-head{align-items:start}.login{margin:18px auto}}@media print{.topbar,button,.notice,footer{display:none!important}body{background:white}.invoice-layout{display:block}.sheet{padding:0}.payment-aside{margin-top:30px}.shell{max-width:none}}

.bill-head>strong:first-child{min-width:0;overflow-wrap:anywhere}.bill-head>.money{flex-shrink:0;white-space:nowrap}
