/* Pamperland - minimalist light theme (bronze + navy from the logo) */
:root{--navy:#1b2a4e;--navy2:#33436b;--bronze:#a87647;--bronze-d:#8a5f35;--bronze-l:#c99a6b;--sand:#f5efe8;--sand2:#faf6f1;--bg:#fcfbf9;--card:#fff;--line:#e9e2d9;--ink:#1f2633;--mute:#6b7280;--ok:#2d7a59;--warn:#b7791f;--bad:#b4423a;--info:#3b6ea5;--r:12px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.5 "Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{color:var(--navy);margin:0 0 .5em;line-height:1.25}h2{font-size:1.15rem}h3{font-size:1rem}
a{color:var(--bronze-d);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%}.muted{color:var(--mute)}.center{text-align:center}.right{text-align:right}.sm{font-size:.85rem}.nowrap{white-space:nowrap}
:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
/* layout */
.side{position:fixed;inset:0 auto 0 0;width:236px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto;z-index:30;transition:transform .2s}
.brand{display:block;padding:14px 18px 6px}.brand img{width:100%;max-width:150px;display:block;margin:0 auto}
.side nav{padding:6px 10px;flex:1}.grp{font-size:.72rem;letter-spacing:.04em;color:var(--mute);padding:14px 10px 4px}
.side nav a{display:block;padding:8px 12px;margin:1px 0;border-radius:8px;color:var(--ink);border-left:3px solid transparent}
.side nav a:hover{background:var(--sand2);text-decoration:none}.side nav a.on{background:var(--sand);border-left-color:var(--bronze);color:var(--navy);font-weight:600}
.powered{padding:12px;text-align:center;border-top:1px solid var(--line);color:var(--mute);font-size:.72rem}.powered img{width:34px;display:block;margin:4px auto 0}
.main{margin-left:236px;min-height:100vh;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:12px;padding:12px 24px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top h1{margin:0;font-size:1.2rem;flex:1}.who{display:flex;align-items:center;gap:12px}.who a{display:flex;flex-direction:column;line-height:1.2;text-align:right;color:var(--ink)}.who small{color:var(--mute)}
.menu{display:none;background:none;border:0;padding:6px;cursor:pointer}.menu span{display:block;width:22px;height:2px;background:var(--navy);margin:5px 0}
.content{padding:24px;flex:1;max-width:1280px;width:100%}.foot{padding:14px 24px;color:var(--mute);font-size:.8rem;border-top:1px solid var(--line)}
.scrim{display:none}
/* components */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:18px}
.card>h2:first-child,.card>h3:first-child{margin-bottom:.8em}
.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}.stat b{display:block;font-size:1.5rem;color:var(--navy)}.stat span{color:var(--mute);font-size:.85rem}
.bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px}.bar form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn,button.btn{display:inline-block;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:9px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer;text-align:center}
.btn:hover{background:var(--navy2);text-decoration:none}.btn.gold{background:var(--bronze);border-color:var(--bronze)}.btn.gold:hover{background:var(--bronze-d)}
.btn.ghost{background:#fff;color:var(--navy);border-color:var(--line)}.btn.ghost:hover{background:var(--sand2)}.btn.danger{background:#fff;color:var(--bad);border-color:#e6c3bf}.btn.sm{padding:5px 10px;font-size:.85rem}.btn[disabled]{opacity:.5;cursor:not-allowed}
.alert{padding:10px 14px;border-radius:9px;margin-bottom:14px;border:1px solid}.alert.ok{background:#eef7f2;border-color:#bfe0cf;color:#1f5e44}.alert.err{background:#fcefee;border-color:#efc5c1;color:#8f302a}.alert.warn{background:#fdf6e8;border-color:#efd9a8;color:#7a5412}
.badge{display:inline-block;padding:2px 9px;border-radius:99px;font-size:.78rem;font-weight:600;background:#eee;color:#444}.badge.ok{background:#e4f3ea;color:#1f5e44}.badge.warn{background:#fbf0d9;color:#7a5412}.badge.bad{background:#fbe5e3;color:#8f302a}.badge.info{background:#e5eef8;color:#2a5585}.badge.mute{background:#eee;color:#666}.badge.gold{background:#f4e6d6;color:#7a4f27}
.form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 18px}.field.full{grid-column:1/-1}
label{display:block;font-weight:600;font-size:.88rem;margin-bottom:4px;color:var(--navy)}.req{color:var(--bad)}.check{display:flex;gap:8px;align-items:center;font-weight:500}
input,select,textarea{width:100%;font:inherit;color:var(--ink);padding:9px 11px;border:1px solid #d9d0c5;border-radius:9px;background:#fff}
input[type=checkbox],input[type=radio]{width:auto}input:focus,select:focus,textarea:focus{outline:2px solid #e8d3bd;border-color:var(--bronze)}
small.muted{display:block;margin-top:3px}.actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:.8rem;color:var(--mute);font-weight:600;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px;border-bottom:1px solid #f1ece5;vertical-align:middle}tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--sand2)}.inl{display:inline}.inl form{display:inline}td .btn+.btn,td form+form,td form+a,td a+form{margin-left:4px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}.tabs a{padding:9px 14px;color:var(--mute);border-bottom:2px solid transparent;white-space:nowrap}.tabs a.on{color:var(--navy);border-color:var(--bronze);font-weight:600}.tabs a:hover{text-decoration:none;color:var(--navy)}
.empty{padding:26px;text-align:center;color:var(--mute)}
.slots{display:flex;flex-wrap:wrap;gap:8px}.slot{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 12px;font:inherit;cursor:pointer}.slot:hover{border-color:var(--bronze)}.slot.on{background:var(--bronze);color:#fff;border-color:var(--bronze)}
.ac-box{position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:9px;z-index:15;max-height:240px;overflow:auto;box-shadow:0 8px 24px rgba(27,42,78,.12)}.ac-box:empty{display:none}.ac-box div{padding:9px 12px;cursor:pointer}.ac-box div:hover{background:var(--sand)}.acw{position:relative}
.modal{position:fixed;inset:0;background:rgba(27,42,78,.45);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal[hidden]{display:none}.modal .box{background:#fff;border-radius:14px;padding:24px;max-width:380px;width:100%;text-align:center}
.warnbox{background:#fdf6e8;border:1px solid #efd9a8;color:#7a5412;border-radius:10px;padding:10px 14px;margin-bottom:14px}
.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 14px}.kv dt{color:var(--mute)}.kv dd{margin:0}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.gallery figure{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.gallery figcaption{padding:8px;font-size:.8rem}
canvas#sig{width:100%;height:180px;border:1px dashed #b9ad9d;border-radius:10px;background:#fff;touch-action:none;display:block}
.yn{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;padding:8px 0;border-bottom:1px solid #f1ece5}.yn .opt{display:flex;gap:14px}.yn input[type=text]{grid-column:1/-1}
/* POS */
.pos{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;align-items:start}.cat{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-height:56vh;overflow:auto;padding:2px}
.item{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;text-align:left;cursor:pointer;font:inherit}.item:hover{border-color:var(--bronze);background:var(--sand2)}.item b{display:block;color:var(--navy);font-size:.92rem}.item span{color:var(--bronze-d);font-size:.85rem}
.cartrow{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:10px 0;border-bottom:1px solid #f1ece5}.cartrow .ctl{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.cartrow input[type=number]{width:70px;padding:5px 8px}.cartrow select{width:auto;max-width:170px;padding:5px 8px}
.tot{display:flex;justify-content:space-between;padding:4px 0}.tot.big{font-size:1.25rem;font-weight:700;color:var(--navy);border-top:1px solid var(--line);margin-top:6px;padding-top:10px}
.payrow{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;margin-bottom:6px}
/* public / login */
.pub{background:linear-gradient(180deg,#fff,var(--sand2) 60%)}.pubwrap{max-width:560px;margin:0 auto;padding:24px 16px 40px}.pub.wide .pubwrap{max-width:720px}.publogo{display:block;text-align:center;margin-bottom:8px}.publogo img{width:190px}
.pub .card{box-shadow:0 10px 30px rgba(27,42,78,.06)}.powered-line{text-align:center;color:var(--mute);font-size:.8rem;margin-top:18px}.powered-line img{width:18px;vertical-align:middle}
.receipt{max-width:380px;margin:0 auto;background:#fff;padding:20px;border:1px solid var(--line);border-radius:10px;font-size:.9rem}.receipt h2{text-align:center;margin-bottom:2px}.receipt hr{border:0;border-top:1px dashed #bbb;margin:10px 0}.receipt .row{display:flex;justify-content:space-between;gap:8px}
.voucher{border:2px solid var(--bronze);border-radius:16px;padding:26px;text-align:center;background:#fff;max-width:460px;margin:0 auto}.voucher .code{font:700 1.6rem/1 ui-monospace,Consolas,monospace;letter-spacing:.08em;color:var(--navy);margin:12px 0}.voucher .amt{font-size:2.2rem;color:var(--bronze-d);font-weight:700}
@media (max-width:960px){.side{transform:translateX(-100%)}.side.open{transform:none;box-shadow:0 0 40px rgba(0,0,0,.2)}.scrim.open{display:block;position:fixed;inset:0;background:rgba(27,42,78,.35);z-index:25}
.main{margin-left:0}.menu{display:block}.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}.pos{grid-template-columns:1fr}.top{padding:10px 14px}.content{padding:14px}.who a{display:none}}
@media (max-width:640px){.form,.g2,.g3{grid-template-columns:1fr}.g4{grid-template-columns:1fr 1fr}.kv{grid-template-columns:1fr}.payrow{grid-template-columns:1fr 1fr}.top h1{font-size:1.05rem}.card{padding:14px}
.rt thead{display:none}.rt tr{display:block;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:6px 10px;background:#fff}.rt td{display:flex;justify-content:space-between;gap:12px;border:0;padding:5px 0;text-align:right}.rt td::before{content:attr(data-l);color:var(--mute);font-size:.8rem;text-align:left}}
@media print{.side,.top,.foot,.noprint,.scrim,.modal{display:none!important}.main{margin:0}.content{padding:0}body{background:#fff}.receipt,.voucher{border:0}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
