:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#16253a;background:#f4f7fb;color-scheme:light}*{box-sizing:border-box}body{margin:0}body>header{background:#102a43;color:white;padding:20px max(24px,calc((100vw - 1200px)/2));display:flex;justify-content:space-between;gap:24px;align-items:center}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:white;font-size:30px;font-weight:800}.brand span{font-size:14px;letter-spacing:2px}.brand small{display:block;color:#bed0df;font-size:11px;font-weight:400;letter-spacing:1px;margin-top:5px}#identity{display:flex;gap:16px;align-items:center;font-size:14px;flex-wrap:wrap}main{max-width:1200px;margin:auto;padding:20px 24px 64px}h1{font-size:clamp(28px,4vw,38px);margin:8px 0 12px}h2{font-size:24px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:12px;color:#527285;letter-spacing:2px}.panel,.table-card{background:white;border:1px solid #dce5ee;border-radius:16px;padding:24px;box-shadow:0 6px 24px #102a4308}.login{max-width:460px;margin:5vh auto}.muted{color:#5c6e80;font-size:14px;line-height:1.6}form{display:grid;gap:16px;margin-top:24px}label{display:grid;gap:8px;font-size:14px}input,select,textarea,button{font:inherit;min-height:46px;border-radius:8px}input,select,textarea{border:1px solid #b9cad8;padding:10px 12px;background:white;min-width:0;width:100%}button{border:1px solid transparent;background:#087a74;color:white;padding:11px 18px;cursor:pointer;font-weight:600}button:hover{filter:brightness(.94)}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#eef4f7;border:1px solid #dce5ee;color:#23455e}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #e6a534;outline-offset:3px}.filters{display:flex;gap:16px}.filters label{min-width:170px}.summary{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.summary span{padding:12px 18px;border:1px solid #dce5ee;background:white;border-radius:30px;font-size:14px}.summary strong{margin-left:12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.table-card{text-align:left;color:#16253a;min-height:190px;font-weight:400}.table-card h2{margin:20px 0 8px}.table-card p{margin:8px 0}.state{border-radius:30px;padding:5px 10px;background:#fff1d7;color:#805618;font-size:12px}.state.free{background:#e2f4ec;color:#176044}.notice:not(:empty),.error:not(:empty){padding:12px 16px;border-radius:8px;border-left:4px solid #e6a534;background:#fff9e9;line-height:1.6;overflow-wrap:anywhere}.error:not(:empty){border-color:#a72222;color:#a72222;background:#fff0f0}dialog{border:1px solid #dce5ee;border-radius:20px;padding:28px;max-width:660px;width:calc(100% - 32px);max-height:90dvh;color:#16253a}dialog::backdrop{background:#102a4380}.close{float:right}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.inline{grid-template-columns:1fr auto;align-items:end}.bill{border-top:1px solid #dce5ee;margin-top:24px;padding-top:16px}.amount{font-size:36px;font-weight:700;margin:16px 0}.empty{text-align:center;grid-column:1/-1;padding:48px}.busy button{pointer-events:none;opacity:.6}@media(max-width:600px){body>header{padding:16px;align-items:flex-start;flex-direction:column;gap:16px}main{padding:16px 16px 48px}.heading{align-items:flex-start}.filters label{min-width:0;flex:1}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.table-card{padding:16px;min-height:180px}.table-card h2{font-size:21px}.summary{gap:6px}.summary span{padding:10px;font-size:12px}.summary strong{margin-left:6px}.inline{grid-template-columns:1fr}.actions button{flex:1 0 40%}dialog{padding:20px}.login{margin:16px auto}.brand{font-size:26px}}@media(max-width:350px){.grid{grid-template-columns:1fr}}
.service-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f5;flex-wrap:wrap}.service-row small{display:block}.service-row>div{flex:1;min-width:120px}
.busy .confirmation button{pointer-events:auto;opacity:1}.confirmation{max-width:430px}

textarea{min-height:88px;resize:vertical}#detail-content{overflow-wrap:anywhere}@media(max-width:600px){.heading{flex-wrap:wrap}.heading>.actions{margin:0}}

.stored-history{margin-top:20px}.member-choice{margin:8px 8px 0 0}#stored-options,#stored-order,#stored-history{overflow-wrap:anywhere}#stored-rule{display:grid;gap:16px}

.receipt-dialog{max-width:600px}.receipt-preview{max-width:100%;width:var(--receipt-width);margin:24px auto;background:white;color:black;border:1px dashed #aaa;padding:3mm}.receipt-paper{font:12px/1.5 system-ui,sans-serif;overflow-wrap:anywhere;color:#000}.receipt-paper h1,.receipt-paper h2{text-align:center;font-size:17px;margin:10px 0}.receipt-paper p{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:6px 0}.receipt-paper strong{font-weight:600}.receipt-tools{display:grid;gap:12px}#receipt-print-sheet{display:none}@media print{@page{margin:3mm}body>*{display:none!important}body>#receipt-print-sheet{display:block!important;width:var(--receipt-width);max-width:100%;margin:0;padding:3mm}body{background:white}.receipt-paper{break-inside:auto}}
.report-filter{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}#report-result{overflow-wrap:anywhere}.report-filter+div{margin-top:24px}#report-export{color:#087a74;display:inline-block;padding:12px 0}
.registration{max-width:620px}.registration input[type=file]{white-space:normal;font-size:13px}#assistant-register,#back-login{margin-top:20px;width:100%}#entry-status:not(:empty){color:#805618;line-height:1.6;overflow-wrap:anywhere}.registration #registration-result{line-height:1.7;overflow-wrap:anywhere}

#notice:empty,#recovery:empty{display:none}
body>header{background:#fff;color:#254b46;border-bottom:1px solid #e0eae6;padding:18px max(24px,calc((100vw - 1200px)/2))}
body>header .brand{color:#087a74}body>header .brand small{color:#718a85}
.quote-preview{background:#eef8f3;border:1px solid #c7e8d9;padding:16px;border-radius:12px;margin-top:20px}.quote-preview h4{margin:0}.quote-preview .amount{font-size:28px;margin:10px 0}
#detail{border-radius:16px;padding:28px;background:#fcfefd}#detail .bill{border-color:#dce9e3}#detail .amount{color:#087a74}#detail .close{position:sticky;top:0;z-index:1}
@media(min-width:1000px){#detail{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:600px;max-width:50vw;border-radius:18px 0 0 18px;padding:28px 32px}}
@media(max-width:600px){body>header{padding:16px}#detail{padding:18px;max-height:94dvh;width:calc(100% - 16px)}#identity{gap:8px;font-size:12px}#identity button{padding:8px 10px;font-size:12px}}

body.is-auth-page>header{display:none}body.is-auth-page main{max-width:none;padding:0}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:360px minmax(0,1fr);background:#edf1f5}.auth-brand{background:#173b33;color:#d4e5df;padding:40px 36px;display:flex;flex-direction:column;gap:20px;font-size:14px;line-height:1.8}.auth-logo{font-size:21px;font-weight:700;display:flex;align-items:center;gap:12px}.auth-logo span{padding:9px 11px;background:#2a554b;border-radius:12px;font-size:15px}.auth-brand small{margin-top:auto;line-height:1.8}.auth-main{display:flex;align-items:center;justify-content:center;padding:32px}.auth-main .login{width:460px;max-width:100%;margin:0;padding:32px;box-shadow:none}.auth-main h1{font-size:26px}.auth-main form{gap:14px;margin-top:22px}.auth-main button[type=submit]{background:#1d6053}.auth-lease{font-size:12px;line-height:1.7;color:#62758a;margin-top:20px}.auth-takeover,.auth-open{max-width:560px;padding:30px;border-radius:18px;box-shadow:0 25px 70px #173b3326}.auth-takeover h2,.auth-open h2{font-size:23px;margin:0 0 12px}.auth-takeover p,.auth-open p{font-size:14px;line-height:1.75}.auth-modal-actions{display:flex;gap:12px}.auth-modal-actions>button:first-child{flex:1;background:#1d6053}.auth-rule{background:#f1f6f8;padding:16px;border-radius:10px;line-height:1.8;font-size:14px}.auth-open dl{display:grid;grid-template-columns:80px 1fr;gap:12px;margin:24px 0}.auth-open dd{text-align:right;margin:0}.auth-open dt{color:#64748b}.auth-takeover [data-takeover-error]:not(:empty){padding:12px;background:#fff1ee;color:#a12626;border-radius:8px}body.is-auth-page #notice:not(:empty),body.is-auth-page #recovery:not(:empty){margin:16px 24px 16px 384px}@media(max-width:760px){.auth-shell{grid-template-columns:1fr}.auth-brand{padding:24px;gap:6px}.auth-brand p{margin:6px 0}.auth-brand small{display:none}.auth-main{padding:20px 14px}.auth-main .login{padding:24px}.auth-takeover,.auth-open{padding:24px 20px}body.is-auth-page #notice:not(:empty),body.is-auth-page #recovery:not(:empty){margin:12px 14px}.auth-modal-actions{flex-wrap:wrap}}
.auth-main{min-width:0}.auth-main .login{min-width:0}.auth-main #entry-status:empty{display:none}.auth-main #retry-entry{min-height:32px;padding:6px 10px;font-size:12px;justify-self:start}.auth-main form>.muted{margin:0}.auth-main #assistant-register{margin-top:12px}
