:root{--bg:#f6f6f7;--panel:#fff;--text:#121212;--muted:#777;--black:#111;--red:#e84242;--red-dark:#cf2828;--red-soft:#fff0f0;--line:#e7e7ec;--shadow:0 18px 45px rgba(0,0,0,.08);--radius:22px;--field-h:50px}
*{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:hidden}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}img,svg,video{max-width:100%;height:auto}.app-shell{display:flex;min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden}.sidebar{width:280px;background:#111;color:#fff;padding:22px;position:fixed;inset:0 auto 0 0;z-index:20;overflow-y:auto;overflow-x:hidden}.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.logo-badge{width:48px;height:48px;min-width:48px;border-radius:16px;background:linear-gradient(135deg,var(--red),#111);display:grid;place-items:center;font-size:24px;overflow:hidden}.logo-badge img{width:100%;height:100%;object-fit:cover}.brand strong{display:block;font-size:18px;line-height:1.1}.brand span{font-size:12px;color:#bbb}.nav{display:grid;gap:8px}.nav-link{padding:13px 14px;border-radius:16px;color:#ddd;transition:.2s;display:flex;gap:10px;align-items:center;white-space:nowrap}.nav-link:hover,.nav-link.active{background:linear-gradient(135deg,var(--red),#c82424);color:#fff;transform:translateX(2px)}.main{margin-left:280px;width:calc(100% - 280px);max-width:calc(100vw - 280px);padding:24px;overflow-x:hidden}.topbar{min-height:78px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;align-items:center;gap:16px;justify-content:space-between;padding:16px 18px;margin-bottom:22px;position:sticky;top:16px;z-index:10}.topbar-title{text-align:center;flex:1;min-width:0}.topbar h1{margin:0;font-size:24px}.topbar p{margin:4px 0 0;color:var(--muted);font-size:13px}.top-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.pill{background:#f1f1f3;border:1px solid var(--line);padding:9px 12px;border-radius:999px;font-size:13px}.icon-btn,.btn{border:0;border-radius:14px;padding:11px 16px;font-weight:800;cursor:pointer;background:#111;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;line-height:1.1;min-height:42px}.btn.red{background:var(--red)}.btn.red:hover{background:var(--red-dark)}.btn.ghost{background:#fff;color:#111;border:1px solid var(--line)}.btn.small{padding:8px 11px;font-size:12px;min-height:34px}.grid{display:grid;gap:18px;width:100%}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;max-width:100%;overflow:hidden}.stat{display:flex;justify-content:space-between;gap:10px;align-items:center}.stat .num{font-size:28px;font-weight:900}.stat .label{color:var(--muted);font-size:13px}.stat .ico{width:48px;height:48px;min-width:48px;border-radius:16px;background:#111;color:#fff;display:grid;place-items:center}.table-wrap{overflow-x:auto;overflow-y:hidden;max-width:100%;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;min-width:720px}.table th{text-align:left;color:#777;font-size:12px;text-transform:uppercase}.table th,.table td{padding:14px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:hover td{background:#fafafa}.form{display:grid;gap:18px;max-width:100%}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:grid;gap:9px;min-width:0}.form div:has(>label),.login-card div:has(>label){display:grid;gap:9px}label{font-size:13px;font-weight:800;color:#333;display:block;margin-bottom:2px}input,select,textarea{width:100%;max-width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px 14px;outline:0;font:inherit;min-height:var(--field-h);color:#111}select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#111 50%),linear-gradient(135deg,#111 50%,transparent 50%);background-position:calc(100% - 21px) 22px,calc(100% - 15px) 22px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:42px}input[type=file]{padding:8px;background:#fff;cursor:pointer}input[type=file]::file-selector-button{border:0;border-radius:12px;background:#111;color:#fff;padding:10px 14px;margin-right:12px;font-weight:800;cursor:pointer}input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(232,66,66,.12)}.date-input{cursor:pointer}.searchbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;max-width:100%;overflow-x:auto}.badge{padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#f2f2f2;white-space:nowrap}.badge.red{background:#ffe8e8;color:#b71919}.badge.green{background:#e9fff0;color:#138334}.toast{position:fixed;right:24px;top:24px;z-index:1000;background:#111;color:#fff;padding:14px 16px;border-radius:16px;box-shadow:var(--shadow);animation:slide .25s ease}.toast.error{background:#b71919}@keyframes slide{from{transform:translateY(-10px);opacity:0}}.pos-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:18px;max-width:100%}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;max-height:calc(100vh - 230px);overflow:auto;padding-right:4px}.product-card{border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff;cursor:pointer;transition:.18s;min-width:0}.product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.product-card img{width:100%;height:100px;object-fit:cover;border-radius:14px;background:#eee}.product-card strong{display:block;margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-list{display:grid;gap:10px;max-height:300px;overflow:auto}.cart-item{display:grid;grid-template-columns:1fr auto;gap:8px;border-bottom:1px solid var(--line);padding-bottom:10px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#2d2d2d,#111 50%,#060606);padding:22px}.login-card{width:min(440px,92vw);background:rgba(255,255,255,.96);border-radius:28px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.login-card h1{margin:0 0 6px}.login-brand{display:flex;align-items:center;gap:16px;margin-bottom:10px}.login-logo{width:66px;height:66px;min-width:66px;border-radius:22px;background:linear-gradient(135deg,var(--red),#111);display:grid;place-items:center;font-size:32px;color:#fff}.muted{color:var(--muted)}.developer-credit{text-align:center;font-size:12px;margin:10px 0 0}.developer-credit strong{color:#111}.invoice-print{background:#fff;padding:30px;border-radius:18px}.preloader{position:fixed;inset:0;background:radial-gradient(circle at top,#202020,#080808 65%);z-index:99999;display:grid;place-items:center;transition:.35s ease}.preloader.hide{opacity:0;visibility:hidden;pointer-events:none}.gift-loader{width:88px;height:88px;position:relative;display:grid;place-items:center}.gift-box{width:58px;height:48px;background:linear-gradient(135deg,var(--red),#b91f1f);border-radius:12px;position:relative;box-shadow:0 20px 35px rgba(232,66,66,.25);animation:giftBounce 1s ease-in-out infinite}.gift-box:before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:10px;height:100%;background:#ffd166;border-radius:8px}.gift-box:after{content:"";position:absolute;left:0;top:16px;width:100%;height:9px;background:#ffd166}.gift-lid{position:absolute;top:10px;width:68px;height:18px;border-radius:10px;background:linear-gradient(135deg,#ff5555,#c91d1d);animation:giftOpen 1s ease-in-out infinite;transform-origin:left bottom}.gift-loader span{position:absolute;bottom:-22px;color:#fff;font-size:13px;font-weight:800;letter-spacing:.3px}@keyframes giftBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes giftOpen{0%,100%{transform:rotate(0)}50%{transform:translateY(-13px) rotate(-10deg)}}
@media(max-width:1050px){.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-layout{grid-template-columns:1fr}.sidebar{transform:translateX(-105%);transition:.3s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%;max-width:100vw;padding:14px}.topbar{top:8px}.form-row{grid-template-columns:1fr}.table{min-width:680px}}@media(max-width:620px){.grid.cols-4,.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}.topbar{align-items:center;padding:14px;gap:10px}.topbar-title{text-align:left}.top-actions{margin-left:auto}.pill{display:none}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.main{padding:10px}.card{padding:15px;border-radius:18px}.topbar h1{font-size:19px}.topbar p{font-size:12px}.searchbar{align-items:stretch}.searchbar input{min-width:220px}.login-card{padding:28px 22px}.login-brand{align-items:center}.login-logo{width:58px;height:58px;min-width:58px}.btn,.icon-btn{padding:10px 14px}.table{min-width:620px}}@media print{.sidebar,.topbar,.btn,.searchbar{display:none!important}.main{margin:0;width:100%;padding:0}.card{box-shadow:none;border:0}}


/* 2026 polish fixes */
html,body{overflow-x:hidden!important}.main{padding:26px}.topbar{margin-bottom:26px}.topbar-title{text-align:left;flex:1}.topbar h1{font-size:22px}.topbar p{margin-top:3px}.icon-btn#menuBtn{display:none}.sidebar-close{display:none}.sidebar-overlay{display:none}.grid{gap:26px}.grid.cols-4{gap:26px}.dashboard-grid,.stats-grid{margin-bottom:26px}.card{overflow:visible}.table-wrap{overflow-x:auto;overflow-y:hidden}.table{width:100%;min-width:0}.table th,.table td{padding:13px 14px}.table th:last-child,.table td:last-child{text-align:right;white-space:nowrap}.form{gap:20px}.form-row{gap:20px}.field,.form div:has(>label),.login-card div:has(>label){gap:10px}label{margin-bottom:4px}.btn{width:max-content!important}.searchbar .btn[type=submit],.searchbar button:not(.keep-search-btn){display:none}.searchbar{overflow:visible}.login-card h1{font-size:28px;line-height:1;margin-bottom:2px}.login-brand{gap:14px}.login-brand p{margin-top:0}.login-card .btn{margin-top:2px}.developer-credit{width:100%;text-align:center}.preloader .gift-loader span{display:none}.gift-loader{filter:drop-shadow(0 18px 38px rgba(232,66,66,.35))}.gift-box{animation:giftBounce 1s ease-in-out infinite, giftGlow 1.8s ease-in-out infinite}.gift-lid{animation:giftOpen 1s ease-in-out infinite}.pos-layout{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.product-card{padding:14px;display:grid;gap:6px}.product-card strong{font-size:15px;margin-top:0}.product-card .muted{font-size:13px}.product-card b{font-size:15px}.cart-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:4px}.cart-summary h2{font-size:22px;margin:0}.cart-list{margin-bottom:20px}.custom-select{position:relative;width:100%;font:inherit}.custom-select select{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}.custom-select-trigger{width:100%;min-height:var(--field-h);border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px 42px 13px 14px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;position:relative;color:#111}.custom-select-trigger:after{content:"";position:absolute;right:17px;top:50%;width:9px;height:9px;border-right:2px solid #111;border-bottom:2px solid #111;transform:translateY(-65%) rotate(45deg);transition:.18s}.custom-select.open .custom-select-trigger{border-color:var(--red);box-shadow:0 0 0 4px rgba(232,66,66,.12)}.custom-select.open .custom-select-trigger:after{transform:translateY(-30%) rotate(225deg)}.custom-options{position:absolute;left:0;right:0;top:calc(100% + 7px);background:#fff;border:1px solid var(--line);box-shadow:0 20px 48px rgba(0,0,0,.14);border-radius:16px;padding:6px;z-index:500;max-height:230px;overflow:auto;display:none}.custom-select.open .custom-options{display:block}.custom-option{padding:11px 12px;border-radius:12px;cursor:pointer}.custom-option:hover,.custom-option.selected{background:#111;color:#fff}.file-ui{position:relative}.file-ui input[type=file]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.file-picker{min-height:var(--field-h);border:1px dashed #d8d8dd;border-radius:14px;background:#fff;display:flex;align-items:center;gap:12px;padding:8px 12px;cursor:pointer}.file-picker-btn{background:#111;color:#fff;border-radius:12px;padding:10px 14px;font-weight:800;font-size:13px}.file-picker-name{color:#777;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:2000;display:none;align-items:center;justify-content:center;padding:20px}.modal-overlay.show{display:flex}.confirm-modal{width:min(420px,94vw);background:#fff;border-radius:24px;padding:24px;box-shadow:0 35px 80px rgba(0,0,0,.24);text-align:center}.confirm-modal .modal-icon{width:56px;height:56px;border-radius:18px;background:#fff0f0;color:var(--red);display:grid;place-items:center;margin:0 auto 14px;font-size:28px}.confirm-modal h3{margin:0 0 8px}.confirm-modal p{color:#777;margin:0 0 18px}.modal-actions{display:flex;justify-content:center;gap:10px}.invoice-print{max-width:900px;margin:auto;border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.08);padding:38px;border-radius:24px}.invoice-print h2{font-size:24px}.invoice-print .table{min-width:0}.invoice-print .table th,.invoice-print .table td{padding:12px 10px}.invoice-print .table th:last-child,.invoice-print .table td:last-child{text-align:right}@keyframes giftGlow{0%,100%{box-shadow:0 20px 35px rgba(232,66,66,.25)}50%{box-shadow:0 24px 55px rgba(232,66,66,.48)}}
@media(max-width:1050px){.icon-btn#menuBtn{display:inline-flex}.topbar{margin-bottom:20px}.topbar-title{display:block}.sidebar{z-index:1001;width:min(285px,82vw)}.sidebar.open{transform:translateX(0);box-shadow:20px 0 60px rgba(0,0,0,.35)}.sidebar-close{display:inline-flex;position:absolute;right:18px;top:26px;background:transparent;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer}.sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:1000;opacity:0;visibility:hidden;transition:.25s}.sidebar-overlay.show{opacity:1;visibility:visible}.brand{padding-right:42px}.main{padding:14px}.topbar{top:8px}.grid,.grid.cols-4{gap:18px}.card{overflow:hidden}.table{width:max-content;min-width:100%}.table th,.table td{padding:12px 12px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.pos-layout{grid-template-columns:1fr}.custom-options{max-height:210px}.invoice-print{padding:24px;border-radius:18px}}
@media(max-width:620px){.topbar h1{font-size:19px}.topbar p{font-size:12px}.login-card h1{font-size:25px}.login-brand p{font-size:14px;line-height:1.35}.product-card{padding:12px;gap:7px}.product-card strong{font-size:14px}.product-card .muted{font-size:11px}.product-card b{font-size:14px}.product-card .badge{font-size:11px;padding:5px 7px}.cart-summary h2{font-size:20px}.cart-summary{align-items:flex-end}.cart-summary .btn{padding:11px 13px;font-size:13px}.table{font-size:14px}.table th,.table td{padding:10px 10px}.top-actions .btn{padding:10px 13px}.custom-select-trigger{font-size:15px}.invoice-print{padding:18px;font-size:13px}.invoice-print .table{font-size:12px}.invoice-print h2{font-size:20px}}
@media print{body{background:#fff}.invoice-print{box-shadow:none;border:0;border-radius:0;padding:0}.invoice-print .table{width:100%!important;min-width:0!important}.main{max-width:100%!important}}

/* Requested refinements - clean forms, POS cards, mobile reports */
textarea{resize:vertical!important;min-height:110px}
.form label,.login-card label{display:none!important}.field,.form div:has(>label),.login-card div:has(>label){gap:0!important}.form{gap:18px}.form-row{gap:18px}
input::placeholder,textarea::placeholder{color:#8a8a91;opacity:1}.custom-select-trigger{color:#111}.custom-option:hover,.custom-option.selected{background:#f1f1f3!important;color:#111!important}.custom-options{scrollbar-width:thin;scrollbar-color:#aaa transparent}
.product-card{gap:0!important}.product-card .muted{display:block;margin-bottom:10px!important}.product-card .product-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:0}.product-card .product-meta b{white-space:nowrap}.product-card .product-meta .badge{white-space:nowrap}.product-card br{display:none!important}
.login-brand{align-items:center!important}.login-card h1{font-size:24px!important;line-height:1.05!important;margin:0 0 1px!important}.login-brand p{margin:0!important}.login-logo{width:62px;height:62px;min-width:62px}.preloader{background:radial-gradient(circle at center,#1c1c1c,#090909 62%)}.gift-loader{width:92px;height:92px;perspective:500px}.gift-box{width:62px;height:50px;border-radius:13px;background:linear-gradient(145deg,#ff5050 0%,#d9232b 45%,#8d1f24 100%);box-shadow:0 18px 42px rgba(232,66,66,.34), inset -8px -9px 16px rgba(0,0,0,.20), inset 8px 7px 14px rgba(255,255,255,.18);transform-style:preserve-3d;animation:giftFloat3d 1.35s ease-in-out infinite}.gift-box:before{background:linear-gradient(#ffe38d,#efbd39);box-shadow:inset -2px -2px 4px rgba(0,0,0,.12)}.gift-box:after{background:linear-gradient(90deg,#ffe38d,#efbd39)}.gift-lid{top:12px;width:72px;height:19px;border-radius:12px;background:linear-gradient(145deg,#ff5555,#c8232d 70%,#811a20);box-shadow:0 8px 20px rgba(0,0,0,.22), inset 6px 5px 12px rgba(255,255,255,.16);animation:giftLid3d 1.35s ease-in-out infinite;transform-origin:20% 100%}@keyframes giftFloat3d{0%,100%{transform:translateY(0) rotateX(0) rotateY(0)}50%{transform:translateY(-7px) rotateX(7deg) rotateY(-8deg)}}@keyframes giftLid3d{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) translateX(-4px) rotate(-13deg)}}
@media(max-width:620px){.product-grid,.pos-products{grid-template-columns:1fr!important}.product-card strong{font-size:13px!important}.product-card .muted{font-size:11px!important;margin-bottom:10px!important}.product-card .product-meta b{font-size:14px!important}.product-card .product-meta .badge{font-size:11px!important}.reports-page .stat .num,.stat .num{font-size:25px!important}.login-card h1{font-size:22px!important}.login-logo{width:56px;height:56px;min-width:56px}.login-brand{gap:13px!important}.custom-options{max-height:235px}.product-card{padding:13px!important}}
