:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1b302a;background:#f6f7f3;font-synthesis:none;font-size:15px;--green:#123d32;--muted:#63736c;--line:#dce3db}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:11px 17px;border:1px solid #ccd7ce;border-radius:9px;background:white;color:var(--green);cursor:pointer;font-weight:600}button:hover,.button:hover{background:#edf3eb}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#245544}input,select{width:100%;padding:12px;border:1px solid #cbd5cd;border-radius:8px;background:white;color:#1b302a;min-height:44px}input:focus,select:focus{outline:2px solid #518a65;outline-offset:2px}:focus-visible{outline:3px solid #b78c28;outline-offset:3px}[hidden]{display:none!important}.brand{font-size:29px;font-weight:800;letter-spacing:-1.5px;display:flex;align-items:center;gap:12px}.brand span{font-size:13px;font-weight:500;letter-spacing:.2px;border-left:1px solid #bec9bf;padding-left:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:225px;padding:30px 20px;background:#edf1e9;border-right:1px solid var(--line);display:flex;flex-direction:column}.nav-label{font-size:10px;letter-spacing:1.7px;color:var(--muted);margin:47px 14px 14px}nav{display:grid;gap:5px}nav button{background:transparent;border:0;justify-content:start;font-size:14px;font-weight:500;gap:14px}nav button.active{background:#dce7d8;color:#164a37;font-weight:700}nav .nav-icon{font-size:19px;width:20px;text-align:center}.sidebar-bottom{margin-top:auto;display:grid;gap:14px;padding:30px 12px 0;font-size:12px}.sidebar-bottom p{font-weight:600}.sidebar-bottom small{color:var(--muted);margin-top:25px}.main{margin-left:225px}.topbar{height:91px;padding:18px 40px;border-bottom:1px solid var(--line);display:flex;gap:20px;align-items:center;background:#fcfdf9}.restaurant-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.1px}.restaurant-label select{border:0;background:transparent;padding:5px 25px 0 0;font-size:15px;font-weight:650;letter-spacing:0;text-transform:none;min-height:30px}.period{margin-left:auto;display:flex;align-items:center;gap:12px}.period label{font-size:12px;color:var(--muted)}.period input{width:170px;font-size:13px}.badge{font-size:11px;background:#e9eee7;color:#355342;padding:6px 10px;border-radius:20px;white-space:nowrap}.badge.warn{background:#fff0d4;color:#88560e}.badge.good{background:#e0efdf;color:#265c38}#content{padding:36px 40px 55px;max-width:1700px;margin:auto;min-height:calc(100vh - 152px)}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}h1{font-size:29px;font-weight:650;letter-spacing:-1px;margin:0 0 8px}h2{font-size:17px;margin:0 0 8px}h3{font-size:15px}.subtitle,.muted{color:var(--muted);font-size:13px;line-height:1.65;margin:0}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--muted);display:block;margin-bottom:15px}.actions{display:flex;gap:10px;flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:26px 0}.metric{background:white;border:1px solid var(--line);border-radius:12px;padding:23px}.metric:first-child{background:#e5edde;border-color:#d4dec9}.metric .label{font-size:12px;color:#53665b}.metric strong{display:block;font-weight:600;font-size:28px;letter-spacing:-1px;margin:17px 0 10px}.metric small{font-size:11px;color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:23px;margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.columns{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.list-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid #edf0eb}.list-row:last-child{border-bottom:0}.list-row p{margin:4px 0}.list-row strong{font-size:14px}.positive{color:#2d7147}.negative{color:#9b4939}.empty{padding:45px 25px;text-align:center;background:#fafbf7;border:1px dashed #d5dfd1;border-radius:10px}.empty h3{font-size:17px;margin:0 0 9px}.empty p{max-width:470px;margin:0 auto 18px;color:var(--muted);font-size:13px;line-height:1.7}.banner{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f0eedc;border:1px solid #e0ddbf;border-radius:11px;padding:20px;margin-bottom:23px}.banner p{margin:6px 0 0;color:#6f6a4b;font-size:13px;line-height:1.6}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-weight:500;color:var(--muted);font-size:11px;letter-spacing:.3px;background:#f7f9f4;padding:13px 12px;white-space:nowrap}td{padding:15px 12px;border-bottom:1px solid #edf0e9;vertical-align:middle}td small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.table-action{padding:6px 10px;min-height:36px;font-size:12px}.toolbar{display:flex;gap:12px;margin-bottom:18px}.toolbar input{max-width:340px}.toolbar select{max-width:210px}.note{font-size:12px;color:var(--muted);line-height:1.7;padding:12px 0}.check{padding:15px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.loading{text-align:center;padding:25vh 24px;color:var(--muted)}footer{padding:20px 40px;color:var(--muted);font-size:11px;border-top:1px solid var(--line);display:flex;justify-content:space-between}dialog{width:min(580px,calc(100vw - 32px));max-height:88dvh;border:0;border-radius:16px;padding:26px;box-shadow:0 25px 100px #102c2d33}dialog::backdrop{background:#0d251e70;backdrop-filter:blur(3px)}dialog header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.icon{border:0;font-size:25px;min-width:44px;padding:5px;background:none}#fields{display:grid;gap:17px}#fields label{display:grid;gap:7px;font-size:13px;font-weight:600}#fields label small{font-weight:400;color:var(--muted);line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}#form-error{color:#a1362b;font-size:13px;line-height:1.6}#notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);background:#173b2d;color:white;padding:14px 20px;border-radius:9px;box-shadow:0 6px 30px #132a2d20;z-index:10;font-size:13px}#notice:empty{display:none}.public-header{display:flex;justify-content:space-between;align-items:center;padding:28px 6vw;border-bottom:1px solid var(--line)}.hero{max-width:1200px;margin:75px auto;padding:0 30px}.hero h1{font-size:clamp(38px,6vw,76px);line-height:1.07;letter-spacing:-3px;max-width:900px;margin:20px 0}.hero>p{max-width:650px;line-height:1.8;font-size:17px;color:var(--muted)}.hero>.button{margin:15px 0}.hero>.muted{font-size:12px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:70px;border-top:1px solid var(--line);padding-top:35px}.feature-grid b{font-size:11px;color:#5f7a57;letter-spacing:1px}.feature-grid h2{margin-top:17px}.feature-grid p{line-height:1.8;font-size:14px;color:var(--muted)}
@media(max-width:1100px){.sidebar{width:195px}.main{margin-left:195px}#content{padding:28px 24px}.topbar{padding:18px 24px}.metrics{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}.period label{display:none}}
@media(max-width:700px){.sidebar{position:static;width:auto;padding:19px 24px 0;border-right:0}.sidebar .brand{font-size:26px}.sidebar nav{display:flex;overflow:auto;margin:18px -24px 0;padding:0 16px 10px;gap:5px}.sidebar nav button{white-space:nowrap;padding:10px 12px;font-size:12px}.sidebar .nav-label,.sidebar-bottom{display:none}.nav-icon{display:none}.main{margin:0}.topbar{padding:14px 24px;height:auto;gap:12px;flex-wrap:wrap}.restaurant-label{max-width:calc(100% - 80px);flex:1}.period{order:3;flex-basis:100%;margin:0}.period label{display:block}.period input{margin-left:auto}.topbar>.badge{margin-left:auto}#content{padding:27px 24px 38px}h1{font-size:25px}.heading{align-items:start;flex-direction:column;margin-bottom:22px}.heading .actions{width:100%}.heading .actions button{flex:1;font-size:12px}.metrics{gap:10px;margin:20px 0}.metric{padding:17px 14px}.metric strong{font-size:23px;margin:14px 0}.metric small{font-size:10px}.metric .label{font-size:11px}.panel{padding:18px}.banner{align-items:start;flex-direction:column}.toolbar{flex-direction:column}.toolbar input,.toolbar select{max-width:none}.table-scroll{overflow:visible}table,tbody{display:block}thead{display:none}tr{display:block;padding:12px 0;border-bottom:1px solid var(--line)}td{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border:0;overflow-wrap:anywhere;text-align:right}td::before{content:attr(data-label);font-size:11px;color:var(--muted);text-align:left;flex-shrink:0;max-width:35%}td:first-child{font-weight:600}td small{font-weight:400}footer{padding:20px 24px}footer span{display:none}dialog{padding:22px}.public-header{padding:22px 24px;gap:15px}.public-header .button{font-size:12px;padding:10px}.public-header .brand span{display:none}.hero{margin:45px auto;padding:0 24px}.hero h1{letter-spacing:-1.8px}.feature-grid{grid-template-columns:1fr;gap:25px;margin-top:40px}.hero>p{font-size:15px}}

.public-header{flex-wrap:wrap}.hero code{overflow-wrap:anywhere;font-size:14px}.hero .panel p{line-height:1.7}.hero .panel .button{margin:6px 0}
