:root{--pink:#c0064d;--pink2:#e3266b;--pinkSoft:#fff0f5;--line:#efbfd1;--ink:#17212b;--muted:#7f8892;--paper:#fff;--bg:#f7f7f8;--orange:#ff9818;--red:#e63131;--green:#0f8a65;--shadow:0 8px 24px rgba(64,15,34,.12)}*{box-sizing:border-box}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden}button,input,select,textarea{font:inherit}.hidden{display:none!important}.app{min-height:100vh}.topbar{height:58px;background:linear-gradient(90deg,#a90042,var(--pink));color:white;display:flex;align-items:stretch;gap:2px;position:sticky;top:0;z-index:10;box-shadow:0 2px 8px #46001f33}.terminal,.warehouse,.top-user{display:flex;align-items:center;padding:0 14px}.terminal{gap:9px}.terminal>strong{width:34px;height:34px;border-radius:9px;background:white;color:var(--pink);display:grid;place-items:center;font-family:Georgia,serif}.terminal small{opacity:.65}.top-link{border:0;background:transparent;color:#ffe9f2;padding:0 14px;font-weight:650;cursor:pointer}.top-link:hover,.top-link.active{background:#8e0037;color:white}.warehouse{display:grid;margin-right:auto;border-left:1px solid #ffffff24;min-width:150px}.warehouse small{opacity:.7}.top-search{margin:auto 8px;align-self:center;width:min(280px,22vw);height:36px;background:white;border-radius:8px;display:flex;align-items:center;color:#999;padding:0 10px;gap:6px}.top-search input{width:100%;border:0;outline:0}.top-user{gap:8px}.avatar{width:31px;height:31px;border-radius:50%;border:1px solid #ffffff55;display:grid;place-items:center}.top-user button{background:none;border:0;color:white;font-size:18px;cursor:pointer}.sale-top{height:455px;display:grid;grid-template-columns:34% 33% 33%;border-bottom:1px solid var(--line);background:#fff9fb}.ticket-panel{border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.ticket-tools{height:52px;display:flex;align-items:center;gap:8px;padding:7px;border-bottom:1px solid #ddd}.ticket-tools button{border:0;background:var(--pink);color:#fff;padding:9px 12px;border-radius:6px;font-weight:700;cursor:pointer}.ticket-tools label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);flex:1}.ticket-tools select{min-width:0;width:100%;padding:8px;border:1px solid #ddd;border-radius:6px}.ticket-summary{height:56px;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #ddd}.ticket-summary span{text-align:center;padding:7px 4px;font-size:11px;color:var(--muted)}.ticket-summary b{display:block;color:var(--ink);font-size:16px;margin-top:3px}.ticket-items{overflow:auto;flex:1}.empty-ticket{height:100%;display:grid;place-items:center;color:#aaa}.ticket-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:11px 12px;border-bottom:1px solid #eee;cursor:pointer}.ticket-row.selected{background:#fff0f5;border-left:4px solid var(--pink)}.ticket-row h4{margin:0 0 3px;font-size:13px}.ticket-row small{color:var(--muted)}.ticket-row .row-qty{border:1px solid #ddd;border-radius:6px;padding:5px 8px}.ticket-row .row-total{font-weight:800;min-width:70px;text-align:right}.keypad-panel{display:grid;grid-template-columns:3fr 1fr;grid-template-rows:1fr 34px;gap:3px;padding:7px}.number-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.number-pad button,.key-actions button{border:1px solid var(--line);border-radius:9px;background:white;font-size:22px;font-weight:750;cursor:pointer}.number-pad button:active,.key-actions button:active{transform:scale(.98)}.number-pad .clear-key{background:var(--orange);color:white;border-color:var(--orange)}.key-actions{display:grid;gap:3px}.key-actions button{font-size:13px;background:var(--pink2);color:white;border-color:var(--pink2)}.key-actions .delete-key{background:var(--red);border-color:var(--red);font-size:20px}.key-display{grid-column:1/-1;background:#252a31;color:white;border-radius:5px;text-align:right;padding:6px 12px;font-weight:700}.quick-actions{padding:7px;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:92px;gap:4px}.quick-actions button{border:1px solid var(--line);background:var(--pinkSoft);color:#a50040;border-radius:10px;font-weight:700;cursor:pointer}.quick-actions button:hover{background:#ffe1ec}.quick-actions button:disabled{opacity:.45}.quick-actions b{display:block;font-size:18px;margin-bottom:6px}.quick-actions small{opacity:.55}.catalog-area{background:#fff;min-height:calc(100vh - 513px)}.catalog-head{height:42px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee;color:#5f6872}.back-btn{border:0;background:none;color:var(--pink);font-weight:700;cursor:pointer;margin-right:10px}.tile-grid{display:grid;grid-template-columns:repeat(10,minmax(110px,1fr));grid-auto-rows:138px;overflow:auto}.catalog-tile,.product-tile{border:1px solid var(--line);background:white;padding:0;cursor:pointer;position:relative;text-align:center;overflow:hidden}.catalog-tile:hover,.product-tile:hover{box-shadow:inset 0 0 0 2px var(--pink);z-index:1}.tile-art{height:102px;display:grid;place-items:center;background:linear-gradient(145deg,#fff6f9,#f7dfe8);font-size:34px;font-weight:900;color:var(--pink);font-family:Georgia,serif}.tile-label{height:35px;display:grid;place-items:center;padding:3px;font-size:12px;font-weight:650}.product-tile .tile-art{font-family:inherit;font-size:16px;color:#902044;padding:9px}.product-tile .tile-price{position:absolute;right:5px;top:5px;background:var(--pink);color:white;border-radius:12px;padding:3px 7px;font-size:11px}.product-tile .tile-stock{position:absolute;left:5px;top:5px;background:#fff;border-radius:12px;padding:3px 6px;font-size:10px}.admin-view{padding:28px;max-width:1400px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.eyebrow{font-size:11px;letter-spacing:1.6px;color:var(--pink);font-weight:800;margin:0 0 6px}.page-head h2{font:700 30px Georgia,serif;margin:0}.search-box{height:44px;display:flex;align-items:center;gap:7px;border:1px solid #ddd;background:white;border-radius:8px;padding:0 13px;margin-bottom:15px}.search-box input{border:0;outline:0;width:100%}.table-card{background:white;border:1px solid #ddd;border-radius:10px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:13px 15px;border-bottom:1px solid #eee;text-align:left}th{background:#faf9fa;text-transform:uppercase;font-size:10px;color:var(--muted);letter-spacing:.6px}.badge{display:inline-block;padding:4px 8px;border-radius:14px;background:#e4f3ee;color:var(--green);font-weight:700}.badge.low{background:#fee8e8;color:var(--red)}.notice{background:#fff1f1;color:#a82c2c;padding:11px;border-radius:7px;margin-bottom:10px}.notice:empty{display:none}.primary,.secondary{border:0;border-radius:7px;padding:11px 16px;font-weight:750;cursor:pointer}.primary{background:var(--pink);color:#fff}.secondary{background:#ececef;color:var(--ink)}.wide{width:100%}.link-btn{border:0;background:none;color:var(--pink);font-weight:700;cursor:pointer}.muted{color:var(--muted)}dialog{border:0;border-radius:14px;padding:0;box-shadow:0 25px 70px #30001566;max-width:calc(100vw - 20px)}dialog::backdrop{background:#26001088;backdrop-filter:blur(2px)}.modal-card{width:520px;padding:24px;background:white}.modal-head{display:flex;justify-content:space-between}.modal-head h3{font:700 24px Georgia,serif;margin:0}.icon-btn{width:32px;height:32px;border:0;border-radius:50%;font-size:20px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.field{display:grid;gap:5px;margin:14px 0}.field span{font-size:12px;color:var(--muted);font-weight:700}.field input,.field textarea{border:1px solid #ddd;border-radius:7px;padding:10px}.form-grid .field{margin:0}.form-grid .full{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.payment-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}.payment-methods input{display:none}.payment-methods span{display:block;border:1px solid #ddd;padding:16px 5px;text-align:center;border-radius:8px;cursor:pointer}.payment-methods input:checked+span{border-color:var(--pink);background:var(--pinkSoft);color:var(--pink);font-weight:800}.change-box{background:#f4f4f5;padding:14px;border-radius:8px;display:flex;justify-content:space-between}.receipt{text-align:center;width:420px}.receipt table{text-align:left;margin:14px 0}.receipt-actions{display:flex;justify-content:center;gap:8px;margin-top:18px}.toast{position:fixed;right:18px;bottom:18px;background:#20242a;color:white;padding:13px 18px;border-radius:8px;box-shadow:var(--shadow);transform:translateY(90px);opacity:0;transition:.2s;z-index:30}.toast.show{transform:none;opacity:1}.toast.error-toast{background:var(--red)}.login-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#8b0036,var(--pink));padding:20px}.login-card{background:#fff;width:390px;max-width:100%;padding:38px;border-radius:16px;text-align:center;box-shadow:0 30px 80px #47001e88}.brand-mark{width:60px;height:60px;display:grid;place-items:center;margin:0 auto 18px;background:var(--pink);color:white;border-radius:13px;font:900 28px Georgia}.login-card h1{font-family:Georgia,serif}.login-card input{width:100%;text-align:center;font-size:24px;letter-spacing:8px;padding:10px;border:1px solid #ddd;border-radius:7px;margin:12px 0}.hint{font-size:12px;color:var(--muted)}.error{color:var(--red);font-size:13px}@media(max-width:1200px){.tile-grid{grid-template-columns:repeat(7,minmax(105px,1fr))}.sale-top{grid-template-columns:38% 32% 30%}.quick-actions{grid-template-columns:repeat(2,1fr);overflow:auto}}@media(max-width:850px){.warehouse,.terminal small,.top-search{display:none}.sale-top{height:auto;grid-template-columns:1fr}.ticket-panel{height:380px}.keypad-panel{height:390px}.quick-actions{grid-template-columns:repeat(3,1fr);grid-auto-rows:80px}.tile-grid{grid-template-columns:repeat(4,1fr)}.topbar{overflow:auto}.top-user{margin-left:auto}}@media(max-width:520px){.top-link{padding:0 9px;font-size:12px}.quick-actions{grid-template-columns:repeat(2,1fr)}.tile-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:125px}.tile-art{height:90px}.admin-view{padding:16px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}@media print{body *{visibility:hidden}.receipt,.receipt *{visibility:visible}.receipt{position:absolute;left:0;top:0;width:100%;box-shadow:none}.receipt-actions{display:none}}
