@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#1b2722;background:#f3f1e9;font-synthesis:none;--ink:#14251f;--cream:#f3f1e9;--paper:#fffdf7;--accent:#d68446;--gold:#f1c765;--muted:#68746f;--line:#dcd9ce;--danger:#9d3a36;--ok:#2e7557}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink)}button,input,select,textarea{font:inherit}button,a{transition:.18s ease}a{color:inherit}.shell>header{height:68px;position:sticky;top:0;z-index:20;background:rgba(20,37,31,.97);color:white;display:flex;align-items:center;padding:0 24px;box-shadow:0 6px 25px #14251f1f}.brand{font-family:Manrope,sans-serif;font-weight:700;text-decoration:none;display:flex;align-items:center;gap:11px;font-size:19px}.logo-mark{width:38px;height:38px;border-radius:12px;background:var(--gold);color:var(--ink);display:inline-grid;place-items:center;font:700 13px Manrope;box-shadow:inset 0 0 0 1px #fff5}.menu-button{background:none;border:0;color:white;font-size:22px;margin-right:18px;cursor:pointer}.plan{margin-left:auto;border:1px solid #fff4;border-radius:99px;padding:5px 10px;font-size:11px;font-weight:700;letter-spacing:.08em}.plan.large{margin:0;background:var(--ink);color:white;padding:8px 16px}.shell aside{position:fixed;z-index:31;top:0;bottom:0;left:0;width:285px;background:var(--ink);color:white;transform:translateX(-102%);transition:.22s ease;padding:22px}.shell aside.open{transform:none}.overlay{position:fixed;inset:0;z-index:30;border:0;background:#07120dbb}.aside-head{display:flex;justify-content:space-between;align-items:center;font:700 19px Manrope;margin-bottom:24px}.aside-head button{border:0;background:none;color:white;font-size:26px;cursor:pointer}.shell nav{display:grid;gap:4px}.shell nav a,.nav-action{display:block;width:100%;border:0;background:none;color:#d7ded9;text-align:left;text-decoration:none;padding:12px 13px;border-radius:10px;cursor:pointer}.shell nav a:hover,.shell nav a.active,.nav-action:hover{background:#ffffff12;color:white}.language{position:absolute;bottom:24px;left:22px;right:22px}.language label{font-size:12px;color:#aebbb4}.language select{width:100%;margin-top:7px;background:#fff1;color:white;border:1px solid #fff3;border-radius:9px;padding:9px}.shell main{max-width:1180px;margin:auto;padding:54px 28px 80px}.hero{min-height:70vh;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:80px}.hero h1{font:700 clamp(42px,6vw,76px)/1.02 Manrope;margin:12px 0 22px;letter-spacing:-.045em}.hero p,.page-head p{font-size:18px;color:var(--muted);line-height:1.6;max-width:650px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:#a0542d}.button-link{display:inline-block;text-decoration:none}.primary,.secondary{border-radius:10px;padding:11px 17px;font-weight:700;cursor:pointer}.primary{border:1px solid var(--ink);background:var(--ink);color:white}.primary:hover{background:#274338}.primary:disabled{opacity:.5;cursor:wait}.secondary{border:1px solid var(--line);background:white;color:var(--ink)}.receipt-demo{position:relative;max-width:330px;min-height:420px;background:var(--paper);padding:65px 38px;box-shadow:0 25px 80px #15271f26;transform:rotate(2deg);display:flex;flex-direction:column;gap:22px}.receipt-demo small{letter-spacing:.2em}.receipt-demo strong{font-size:25px}.receipt-demo b{font:700 46px Manrope}.receipt-notch{position:absolute;top:0;left:0;right:0;height:16px;background:linear-gradient(135deg,var(--cream) 8px,transparent 0) 0 0/16px 16px repeat-x}.scan-line{height:3px;background:var(--accent);box-shadow:0 0 14px var(--accent)}.page-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.page-head h1{font:700 clamp(36px,5vw,58px)/1 Manrope;margin:10px 0}.page-head p{margin:0}.panel,.upload-zone,.auth-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 35px #14251f0b}.upload-zone{padding:24px;display:flex;align-items:center;gap:20px;margin-bottom:22px}.upload-zone input[type=file]{max-width:230px}.upload-copy{display:flex;flex:1;flex-direction:column;gap:3px}.upload-copy span,label small{color:var(--muted);font-size:12px}.alert{border-radius:10px;background:#e7e4da;padding:13px 16px;margin:14px 0}.alert.error{background:#f8e4e2;color:#7d2a27}.alert.success{background:#e2f1e9;color:#235d46}.ticket-editor{padding:28px}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title h2,.panel h2{font:700 24px Manrope;margin:6px 0 22px}.form-grid{display:grid;gap:15px}.form-grid.four{grid-template-columns:repeat(4,1fr)}.form-grid.two{grid-template-columns:repeat(2,1fr)}.span-2{grid-column:span 2}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}input,select,textarea{width:100%;border:1px solid #cfcfc5;background:white;color:var(--ink);border-radius:9px;padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d6844620}.line-table{margin:26px 0;overflow-x:auto}.line-head,.line-row{min-width:820px;display:grid;grid-template-columns:2fr 1.1fr .65fr .8fr .8fr 40px;gap:9px;align-items:start}.line-head{padding:0 5px 9px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.line-row{border-top:1px solid var(--line);padding:11px 0}.notes-inline{margin-top:5px;font-size:12px}.icon-button{border:0;background:transparent;font-size:22px;cursor:pointer}.icon-button.danger{color:var(--danger)}.ticket-bottom{display:grid;grid-template-columns:1fr 380px;gap:35px}.notes textarea{min-height:135px}.totals{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grand-total{grid-column:span 2}.grand-total input{font-size:20px;font-weight:700}.actions{display:flex;justify-content:flex-end;margin-top:20px}.filters{padding:20px;display:grid;grid-template-columns:repeat(5,1fr) auto;gap:12px;align-items:end}.stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.stats article{background:var(--ink);color:white;border-radius:17px;padding:24px;display:grid;gap:7px}.stats article span,.stats article small{color:#b9c7c0}.stats article strong{font:700 32px Manrope}.data-table{overflow:auto}.data-head,.data-row{min-width:650px;display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr;gap:14px;padding:12px;border-bottom:1px solid var(--line)}.data-head{font-size:11px;text-transform:uppercase;color:var(--muted)}a.data-row{text-decoration:none}.data-row:hover{background:#f3f1e9}.tabs{display:flex;gap:7px;overflow:auto;margin-bottom:16px}.tabs button{border:1px solid var(--line);background:white;padding:10px 15px;border-radius:99px;white-space:nowrap;cursor:pointer}.tabs button.active{background:var(--ink);color:white}.catalog-panel,.settings-card,.prose{padding:28px}.catalog-add{display:flex;gap:10px;max-width:650px}.catalog-list>div{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:15px;border-top:1px solid var(--line);padding:13px 0}.catalog-list span:first-child{display:flex;flex-direction:column}.status{font-size:11px;padding:5px 8px;border-radius:99px}.status.on{background:#e1f0e7;color:var(--ok)}.status.off{background:#eee;color:#777}.privacy-note{display:flex;gap:16px;background:#eef1e9;padding:18px;border-radius:13px;margin-bottom:22px}.privacy-note>span{font-size:25px}.privacy-note p{margin:4px 0;color:var(--muted)}.provider-help{border-top:1px solid var(--line);margin-top:25px;padding-top:18px;color:var(--muted)}.auth-card{max-width:450px;margin:7vh auto;padding:38px}.auth-card h1{font:700 39px Manrope;margin:9px 0}.auth-card form{display:grid;gap:16px;margin-top:25px}.prose{line-height:1.7}.prose h2{margin-top:25px}.boot{height:100vh;display:grid;place-content:center;justify-items:center;gap:12px}.boot .logo-mark{width:64px;height:64px}#blazor-error-ui{display:none;position:fixed;bottom:0;width:100%;background:#fff2c8;padding:12px;z-index:99}.validation-message{color:var(--danger);font-size:12px}
@media(max-width:850px){.shell main{padding:35px 18px 65px}.hero{grid-template-columns:1fr;gap:35px}.receipt-demo{display:none}.form-grid.four,.form-grid.two,.filters{grid-template-columns:1fr 1fr}.ticket-bottom{grid-template-columns:1fr}.span-2{grid-column:span 2}.upload-zone{align-items:stretch;flex-direction:column}.stats{grid-template-columns:1fr}}
@media(max-width:520px){.shell>header{padding:0 14px}.brand{font-size:16px}.shell main{padding-inline:13px}.page-head{align-items:start}.page-head .plan{display:none}.form-grid.four,.form-grid.two,.filters{grid-template-columns:1fr}.span-2{grid-column:span 1}.totals{grid-template-columns:1fr}.grand-total{grid-column:auto}.ticket-editor,.catalog-panel,.settings-card,.prose{padding:18px}.catalog-add{flex-direction:column}.catalog-list>div{grid-template-columns:1fr auto}.catalog-list .status{display:none}}
.install-pwa{width:100%;margin-top:12px;padding:10px 12px;border:1px solid #fff5;border-radius:9px;background:#fff2;color:white;text-align:left;cursor:pointer}.install-pwa:hover{background:#fff3}.install-hint{display:block;margin-top:8px;color:#d7ded9;font-size:12px;line-height:1.4}
.translation-status{position:fixed;z-index:50;top:76px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 24px);margin:0;padding:12px 16px;border-radius:10px;background:#fffdf7;box-shadow:0 8px 30px #14251f33;color:#14251f}.translation-status button{width:auto;margin-left:8px;padding:5px 9px;border:1px solid #dcd9ce;border-radius:7px;background:white;cursor:pointer}
.language select,.language select option{background:#fffdf7;color:#14251f}.language select{border-color:#cfcfc5}
.filters .quick-periods{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px;padding-top:4px}.filters .quick-period{display:inline-flex;flex-direction:row;align-items:center;gap:7px;width:auto;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.filters .quick-period input{width:auto;margin:0;accent-color:var(--ink)}.filters .quick-period:has(input:checked){border-color:var(--accent);background:#fff2e7}
.manual-entry{margin-bottom:18px}.manual-dialog-backdrop{position:fixed;inset:0;z-index:60;background:#07120dbb;display:grid;place-items:center;padding:16px}.manual-dialog{width:min(1050px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:26px}.manual-dialog .section-title h2{margin:0}.manual-dialog .actions{gap:10px}.manual-lines-title{margin-top:22px}.manual-lines-title h3{margin:0}.manual-lines{display:grid;gap:10px}.manual-line{display:grid;grid-template-columns:minmax(160px,2fr) repeat(4,minmax(95px,1fr)) 36px;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:10px}.manual-line .icon-button{align-self:end;height:41px}.manual-totals{margin-top:20px;align-items:end}.manual-totals>button{height:42px}@media(max-width:800px){.manual-line{grid-template-columns:repeat(2,minmax(0,1fr)) 36px}.manual-line label:first-child{grid-column:1/-1}.manual-line .icon-button{grid-column:3;grid-row:2}}@media(max-width:520px){.manual-dialog{padding:16px}.manual-line{grid-template-columns:1fr 1fr}.manual-line label:first-child{grid-column:1/-1}.manual-line .icon-button{grid-column:2;grid-row:auto}.manual-totals>button{grid-column:1/-1}}
.comparison-toggle{margin:16px 0}.comparison-panel{padding:24px;margin-bottom:22px}.comparison-panel .section-title p,.comparison-hint{color:var(--muted);font-size:13px}.comparison-establishments{display:flex;flex-wrap:wrap;gap:10px}.comparison-establishments label{width:auto;flex-direction:row;align-items:center;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:white;cursor:pointer}.comparison-establishments input{width:auto;margin:0}.comparison-actions{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.comparison-scroll{overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse;min-width:650px}.comparison-table th,.comparison-table td{padding:10px;border:1px solid var(--line);text-align:left;vertical-align:top}.comparison-table td:first-child{min-width:180px}.comparison-table td select{min-width:170px}.comparison-table td strong{display:block;margin-top:6px}.comparison-table tfoot{background:#f3f1e9}.comparison-add{margin-top:12px}
@media(max-width:800px){.manual-line{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-line .icon-button{grid-column:2;grid-row:auto}}@media(max-width:520px){.manual-line label:first-child{grid-column:1/-1}}
.comparison-choice{width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px;text-align:left;cursor:pointer;overflow-wrap:anywhere}.comparison-choice:hover{border-color:var(--accent)}
.logo-action{background:var(--gold);border-color:var(--gold);color:var(--ink);box-shadow:inset 0 0 0 1px #fff5}
