:root{--bg:#faf6ef;--text:#2a2620;--muted:#7a7266;--accent:#2f5d4f;--accent-dark:#1f4438;--accent-light:#e6efe9;--highlight:#c76f45;--border:#e8e1d3;--card:#fffdfa;--radius:12px}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.55}.wrap{max-width:1000px;margin:0 auto;padding:1.5rem 1rem 4rem}h1,h2,h3{margin:0 0 .35rem;font-family:Fraunces,Georgia,serif;font-weight:600}h1{font-size:1.9rem;line-height:1.2}h2{font-size:1.15rem}.sub{color:var(--muted);max-width:64ch;margin:0 0 1.4rem}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.1rem;padding:1.1rem 1.15rem}.row{flex-wrap:wrap;align-items:flex-end;gap:.6rem;display:flex}label{color:var(--muted);margin-bottom:.2rem;font-size:.78rem;display:block}input,select{font:inherit;border:1px solid var(--border);color:var(--text);background:#fff;border-radius:8px;max-width:100%;padding:.48rem .55rem;font-size:.9rem}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;cursor:pointer;border:1px solid var(--border);color:var(--text);background:#fff;border-radius:8px;padding:.45rem .7rem;font-size:.85rem}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark)}.btn-ghost{background:0 0}.muted{color:var(--muted)}.small{font-size:.78rem}.hint{color:var(--muted);margin:.5rem 0 0;font-size:.78rem}.pill{background:var(--accent-light);color:var(--accent-dark);border-radius:999px;padding:.14rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.pill-warn{color:#a8582f;background:#f7e6e0}.note{background:var(--accent-light);color:var(--accent-dark);border-radius:10px;padding:.7rem .85rem;font-size:.88rem}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;margin-top:.7rem;display:grid}.kpi{border:1px solid var(--border);background:#fff;border-radius:10px;padding:.7rem .8rem}.kpi b{font-family:Fraunces,Georgia,serif;font-size:1.35rem;line-height:1.15;display:block}.kpi span{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.7rem}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{text-align:left;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;vertical-align:middle;padding:.4rem .35rem}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap;font-size:.7rem;font-weight:600}td.num,th.num{text-align:right}tr.under td{background:#fdf4f0}.svc-name{background:0 0;border:1px solid #0000;width:100%;padding:.25rem .3rem;font-weight:500}.svc-name:hover{border-color:var(--border)}.mini{text-align:right;width:5rem;padding:.3rem .35rem;font-size:.85rem}.mini-cat{padding:.3rem .35rem;font-size:.82rem}.del{color:var(--muted);padding:.2rem .4rem;line-height:1}.del:hover{color:var(--highlight);border-color:var(--highlight)}.empty-note{color:var(--muted);padding:.5rem 0;font-size:.85rem}.tablewrap{overflow-x:auto}#menu{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:2rem 2.2rem}#menu .m-name{text-align:center;margin:0;font-family:Fraunces,Georgia,serif;font-size:1.7rem}#menu .m-tag{text-align:center;color:var(--muted);margin:.15rem 0 1.4rem;font-size:.9rem}#menu .m-cat{border-bottom:1px solid var(--border);margin:1.2rem 0 .3rem;padding-bottom:.2rem;font-family:Fraunces,Georgia,serif;font-size:1.05rem}#menu .m-row{align-items:baseline;gap:.5rem;padding:.22rem 0;font-size:.92rem;display:flex}#menu .m-dots{border-bottom:1px dotted #cfc7b8;flex:auto;transform:translateY(-3px)}#menu .m-dur{color:var(--muted);font-size:.78rem}#menu .m-price{font-variant-numeric:tabular-nums;font-weight:600}#menu .m-foot{text-align:center;color:var(--muted);margin-top:1.6rem;font-size:.75rem}.bridge{border-top:1px solid var(--border);color:var(--muted);margin-top:1.6rem;padding-top:1rem;font-size:.9rem}.bridge a{color:var(--accent-dark);font-weight:600}.toast{background:var(--accent-dark);color:#fff;z-index:50;border-radius:999px;padding:.55rem .9rem;font-size:.85rem;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0000002e}@media print{body{background:#fff}.wrap{max-width:none;padding:0}.noprint{display:none!important}#menu{border:0;border-radius:0;padding:0}#menu .m-cat{page-break-after:avoid}}
