*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Segoe UI',sans-serif;
}
html,body{
    width:100%;
    min-height:100%;
    background:#050914;
    color:white;
    overflow-x:hidden;
    overflow-y:auto;
}
button,a,input,select{font-family:inherit;}
button,a{cursor:pointer;}
::-webkit-scrollbar{width:7px;height:7px;}
::-webkit-scrollbar-thumb{background:#7c3aed;border-radius:99px;}
::-webkit-scrollbar-track{background:#070d1a;}

/* ========== LAYOUT ========== */
.pro-pos{
    display:grid;
    min-height:100vh;
    background:#050914;
}
.cashier-layout{
    grid-template-columns:280px minmax(0,1fr) 460px;
    height:100vh;
    overflow:hidden;
}
.dashboard-layout{
    grid-template-columns:280px minmax(0,1fr);
    min-height:100vh;
}
.pro-sidebar{
    grid-column:1;
    background:rgba(7,12,26,.97);
    border-right:1px solid rgba(255,255,255,.08);
    padding:22px 16px;
    height:100vh;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    position:relative;
    z-index:20;
}
.pro-main{
    grid-column:2;
    min-width:0;
    height:100vh;
    overflow-y:auto;
    overflow-x:hidden;
    padding:24px;
    position:relative;
    z-index:1;
}
.cashier-layout .pro-cart{
    grid-column:3;
    display:block;
    height:100vh;
    width:460px;
    min-width:460px;
    padding:26px 22px;
    background:rgba(5,9,20,.72);
    border-left:1px solid rgba(255,255,255,.08);
    overflow-y:auto;
    overflow-x:hidden;
    position:relative;
    z-index:10;
}
.dashboard-layout .pro-cart{display:none;}

/* ========== SIDEBAR ========== */
.pro-logo{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:28px;
}
.pro-logo i{
    font-size:42px;
    color:#a855f7;
    text-shadow:0 0 25px rgba(168,85,247,.7);
}
.pro-logo h2{
    font-size:25px;
    line-height:24px;
    font-weight:900;
}
.pro-logo span{
    color:#a78bfa;
    font-weight:900;
    font-size:13px;
}
.collapse-btn{
    margin-left:auto;
    width:42px;
    height:42px;
    border:1px solid rgba(168,85,247,.35);
    border-radius:12px;
    background:rgba(124,58,237,.12);
    color:#c084fc;
    font-size:22px;
}
.pro-menu{
    flex:1;
    overflow-y:auto;
    padding-right:5px;
    display:flex;
    flex-direction:column;
    gap:8px;
}
.pro-menu a{
    min-height:48px;
    display:flex;
    align-items:center;
    gap:13px;
    padding:0 14px;
    color:#d1d5db;
    text-decoration:none;
    border-radius:14px;
    font-size:14px;
    font-weight:700;
    transition:.2s;
}
.pro-menu a i{font-size:18px;}
.pro-menu a.active,.pro-menu a:hover{
    background:linear-gradient(135deg,#7c3aed,#4c1d95);
    color:white;
    box-shadow:0 0 25px rgba(124,58,237,.35);
}
.pro-user{
    margin-top:14px;
    padding:14px;
    border-radius:18px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.08);
    display:flex;
    align-items:center;
    gap:12px;
}
.avatar{
    width:46px;
    height:46px;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-weight:900;
    background:linear-gradient(135deg,#7c3aed,#9333ea);
}
.pro-user strong{display:block;font-size:15px;}
.pro-user span{color:#a78bfa;font-size:12px;font-weight:800;}
.logout{
    margin-top:12px;
    height:52px;
    border-radius:16px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    color:white;
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-weight:900;
}

/* collapse */
.pro-pos.sidebar-collapsed.cashier-layout{grid-template-columns:86px minmax(0,1fr) 460px;}
.pro-pos.sidebar-collapsed.dashboard-layout{grid-template-columns:86px minmax(0,1fr);}
.pro-pos.sidebar-collapsed .pro-sidebar{align-items:center;padding:22px 10px;}
.pro-pos.sidebar-collapsed .pro-logo{flex-direction:column;}
.pro-pos.sidebar-collapsed .pro-logo h2,
.pro-pos.sidebar-collapsed .pro-logo span,
.pro-pos.sidebar-collapsed .pro-menu a span,
.pro-pos.sidebar-collapsed .pro-user div:not(.avatar),
.pro-pos.sidebar-collapsed .logout span{display:none;}
.pro-pos.sidebar-collapsed .collapse-btn{margin-left:0;}
.pro-pos.sidebar-collapsed .pro-menu a{justify-content:center;}

/* ========== CASHIER ========== */
.pro-topbar{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:24px;
}
.pro-topbar h1{font-size:30px;font-weight:900;}
.pro-topbar p{color:#9ca3af;margin-top:4px;}
.top-buttons{display:flex;gap:12px;flex-wrap:wrap;}
.top-buttons button{
    height:52px;
    padding:0 18px;
    border-radius:14px;
    border:1px solid rgba(168,85,247,.35);
    background:rgba(15,23,42,.88);
    color:#e9d5ff;
    font-weight:900;
}
.products-area{
    background:rgba(8,13,26,.68);
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    padding:18px;
    position:relative;
}
.filter-bar{
    display:grid;
    grid-template-columns:minmax(240px,1fr) repeat(5,auto);
    gap:12px;
    margin-bottom:20px;
}
.search-box{
    height:54px;
    border-radius:16px;
    background:rgba(15,23,42,.9);
    border:1px solid rgba(255,255,255,.08);
    display:flex;
    align-items:center;
    padding:0 16px;
}
.search-box input{
    flex:1;
    border:none;
    outline:none;
    background:transparent;
    color:white;
    font-size:15px;
}
.search-box i{font-size:24px;color:#cbd5e1;}
.filter{
    height:54px;
    padding:0 18px;
    border-radius:15px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(15,23,42,.9);
    color:white;
    font-weight:900;
}
.filter.active{
    background:linear-gradient(135deg,#7c3aed,#9333ea);
    box-shadow:0 0 25px rgba(124,58,237,.35);
}
.product-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
    gap:18px;
}
.pro-product{
    min-height:260px;
    background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(8,13,26,.98));
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    padding:18px;
    display:flex;
    flex-direction:column;
    transition:.2s;
    position:relative;
}
.pro-product:hover{
    transform:translateY(-4px);
    border-color:rgba(168,85,247,.7);
    box-shadow:0 0 30px rgba(124,58,237,.25);
}
.product-image{
    height:90px;
    display:grid;
    place-items:center;
    margin-bottom:12px;
}
.product-image i{font-size:62px;color:#94a3b8;filter:drop-shadow(0 12px 15px rgba(0,0,0,.5));}
.product-image img{max-width:100%;max-height:90px;object-fit:contain;}
.pro-product h3{font-size:16px;line-height:20px;min-height:42px;}
.stock{color:#94a3b8;font-size:13px;margin-top:8px;}
.product-bottom{
    margin-top:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.product-bottom strong{font-size:20px;font-weight:900;}
.product-bottom button{
    width:42px;
    height:42px;
    border-radius:13px;
    border:1px solid #a855f7;
    background:rgba(124,58,237,.18);
    color:white;
    font-size:20px;
}
.quick-actions{
    margin-top:18px;
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:14px;
    padding-bottom:20px;
}
.quick-actions button{
    height:76px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(15,23,42,.9);
    color:white;
    font-weight:900;
}
.quick-actions i{display:block;font-size:24px;color:#a855f7;margin-bottom:5px;}
.quick-actions small{color:#c084fc;}
.quick-actions .danger,.quick-actions .danger i{color:#ff4d4d;}

/* cart */
.cart-head{
    display:flex;
    justify-content:space-between;
    gap:14px;
    margin-bottom:20px;
}
.cart-head h2{font-size:28px;font-weight:900;}
.cart-head p{color:#a78bfa;font-size:13px;margin-top:4px;font-weight:800;}
.cart-mini-actions,.cart-head div:last-child{display:flex;gap:8px;position:relative;}
.cart-head button,.cart-mini-actions button{
    height:42px;
    padding:0 14px;
    border-radius:12px;
    border:1px solid rgba(168,85,247,.45);
    background:rgba(124,58,237,.12);
    color:#c084fc;
    font-weight:900;
}
.cart-table-head,.cart-row{
    display:grid;
    grid-template-columns:1.4fr .7fr .8fr;
    gap:10px;
}
.cart-table-head{
    color:#cbd5e1;
    font-size:13px;
    padding:14px 0;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
}
.cart-body{min-height:145px;}
.cart-row{
    align-items:center;
    padding:15px 0;
    border-bottom:1px solid rgba(255,255,255,.06);
    font-size:14px;
}
.qty{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    background:rgba(15,23,42,.9);
    border:1px solid rgba(255,255,255,.08);
    border-radius:10px;
    height:34px;
}
.qty button{
    width:24px;
    height:24px;
    border:none;
    border-radius:7px;
    background:rgba(124,58,237,.2);
    color:white;
}
.barcode-btn{
    width:100%;
    height:54px;
    margin:18px 0;
    border-radius:16px;
    border:1px solid rgba(168,85,247,.45);
    background:rgba(124,58,237,.1);
    color:#c084fc;
    font-weight:900;
}
.totals{
    display:flex;
    flex-direction:column;
    gap:13px;
    margin-bottom:20px;
}
.totals div{display:flex;justify-content:space-between;align-items:center;}
.totals span{color:#cbd5e1;}
.totals strong{font-size:16px;}
.totals .grand span{color:white;font-size:18px;font-weight:900;}
.totals .grand strong{font-size:34px;color:#a855f7;font-weight:900;}
.credit-customer-box{
    display:none;
    margin-bottom:16px;
    padding:14px;
    border-radius:16px;
    background:rgba(124,58,237,.12);
    border:1px solid rgba(168,85,247,.35);
}
.credit-customer-box label{display:block;color:#c084fc;font-weight:900;margin-bottom:8px;}
.credit-customer-box select{
    width:100%;
    height:48px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.08);
    background:#0f172a;
    color:white;
    padding:0 12px;
}
.payment-methods{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}
.payment-methods button{
    height:86px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(15,23,42,.92);
    color:white;
    font-weight:900;
}
.payment-methods button i{display:block;font-size:25px;margin-bottom:8px;}
.payment-methods .active{
    background:linear-gradient(135deg,#7c3aed,#9333ea);
    box-shadow:0 0 25px rgba(124,58,237,.35);
}
.pay-button{
    width:100%;
    height:76px;
    margin:18px 0;
    border:none;
    border-radius:22px;
    background:linear-gradient(135deg,#7c3aed,#9333ea);
    color:white;
    font-size:22px;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:45px;
    box-shadow:0 0 35px rgba(124,58,237,.35);
}
.last-sales{
    background:rgba(8,13,26,.75);
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    padding:18px;
}
.last-sales h3{display:flex;justify-content:space-between;margin-bottom:15px;}
.last-sales a{color:#c084fc;text-decoration:none;font-size:13px;}
.last-sales div{display:grid;grid-template-columns:.8fr 1fr .8fr;padding:9px 0;font-size:13px;}
.green{color:#22c55e}.orange{color:#f59e0b}.blue{color:#38bdf8}
.held-panel{
    display:none;
    background:rgba(8,13,26,.96);
    border:1px solid rgba(168,85,247,.35);
    border-radius:18px;
    padding:14px;
    margin-bottom:16px;
}
.held-panel.show{display:block;}
.held-title{display:flex;justify-content:space-between;margin-bottom:12px;}
.held-title button{
    width:30px;height:30px;border:none;border-radius:8px;
    background:rgba(239,68,68,.15);color:#f87171;
}
.held-row{
    display:grid;
    grid-template-columns:1fr 48px 48px;
    gap:8px;
    padding:10px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.held-row span{display:block;color:#94a3b8;font-size:12px;}
.held-row button{
    border-radius:8px;
    border:1px solid rgba(168,85,247,.4);
    background:rgba(124,58,237,.15);
    color:#c084fc;
}
.empty-held{color:#94a3b8;text-align:center;padding:15px;}

/* ========== COMMON MODULES ========== */
.module-page{width:100%;max-width:none;min-height:100%;}
.module-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px;
}
.module-header h1{font-size:30px;font-weight:900;}
.module-header p{color:#94a3b8;margin-top:4px;}
.module-back,.purple-btn,.save-btn{
    min-height:46px;
    border:none;
    border-radius:14px;
    background:linear-gradient(135deg,#7c3aed,#a855f7);
    color:white;
    font-weight:900;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 16px;
}
.table-card{
    margin-top:20px;
    background:rgba(15,23,42,.7);
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    padding:20px;
    overflow-x:auto;
}
.product-table{
    width:100%;
    min-width:900px;
    border-collapse:collapse;
}
.product-table th{
    text-align:left;
    padding:10px 12px;
    color:#c084fc;
    border-bottom:1px solid rgba(255,255,255,.08);
    font-size:14px;
}
.product-table td{
    padding:10px 12px;
    border-bottom:1px solid rgba(255,255,255,.05);
    font-size:14px;
}
.product-table tr:hover{background:rgba(124,58,237,.08);}
.table-top{margin-bottom:15px;}
.table-top input{
    width:350px;
    max-width:100%;
    height:45px;
    background:#08111f;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    color:white;
    padding:0 15px;
}
.success-alert,.success-box{
    background:rgba(20,83,45,.9);
    border:1px solid rgba(34,197,94,.35);
    padding:12px;
    border-radius:12px;
    margin-bottom:12px;
}
.error-box{
    background:rgba(127,29,29,.9);
    border:1px solid rgba(239,68,68,.35);
    padding:12px;
    border-radius:12px;
    margin-bottom:12px;
}
.mini-action{
    padding:8px 12px;
    border-radius:10px;
    border:1px solid rgba(168,85,247,.4);
    background:rgba(124,58,237,.15);
    color:#c084fc;
    font-weight:800;
    margin-right:5px;
    text-decoration:none;
    display:inline-flex;
}
.mini-action.danger{
    border-color:rgba(239,68,68,.45);
    background:rgba(239,68,68,.12);
    color:#f87171;
}
.stock-badge,.payment-badge{
    padding:7px 12px;
    border-radius:999px;
    font-weight:900;
    font-size:12px;
    display:inline-flex;
}
.payment-badge{background:rgba(124,58,237,.16);color:#c084fc;}
.stock-badge.success{background:rgba(34,197,94,.16);color:#86efac;}
.stock-badge.danger{background:#dc2626;color:white;}
.sales-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin-bottom:18px;
}
.sales-stats div{
    background:linear-gradient(180deg,rgba(15,23,42,.97),rgba(8,13,26,.97));
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding:18px;
    min-height:105px;
}
.sales-stats span{color:#94a3b8;font-size:14px;}
.sales-stats strong{display:block;margin-top:10px;font-size:24px;color:white;}

/* forms */
.form-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}
.form-group{display:flex;flex-direction:column;gap:8px;}
.form-group.full{grid-column:span 2;}
.form-group label{color:#cbd5e1;font-weight:800;}
.form-group input,.form-group select,
.credit-form input,.credit-form select,
.sales-filter input,.sales-filter select,
.report-filter input{
    width:100%;
    height:50px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.08);
    background:#0f172a;
    color:white;
    padding:0 14px;
}
.settings-form,.credit-form{display:flex;flex-direction:column;gap:14px;}
.save-btn{width:100%;height:54px;margin-top:20px;}

/* Dashboard */
.dashboard-pro-grid{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.dash-card{
    width:100%;
    background:rgba(15,23,42,.75);
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    padding:18px;
    box-shadow:0 0 30px rgba(124,58,237,.10);
}
.dash-card h2{margin-bottom:12px;font-size:20px;}
.dash-card canvas{width:100%!important;max-width:100%!important;}
#paymentChart{height:380px!important;max-height:380px!important;}
#last7DaysChart{height:260px!important;max-height:260px!important;}
.notification-panel{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-bottom:18px;
}
.notification-card{
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px;
    min-height:82px;
    border-radius:18px;
    background:rgba(15,23,42,.75);
    border:1px solid rgba(255,255,255,.08);
}
.notification-card i{font-size:28px;}
.notification-card strong{display:block;font-size:15px;}
.notification-card span{display:block;color:#94a3b8;margin-top:4px;font-size:13px;}
.notification-card.warning i{color:#f59e0b;}
.notification-card.success i{color:#22c55e;}
.notification-card.info i{color:#38bdf8;}

/* File/settings/credit/report */
.file-grid,.credit-grid,.settings-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}
.settings-grid{grid-template-columns:1.2fr .8fr;}
.file-card,.settings-preview-card{
    background:rgba(15,23,42,.75);
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    padding:24px;
}
.file-card.wide{grid-column:span 2;}
.file-icon{
    width:58px;height:58px;border-radius:16px;
    background:rgba(124,58,237,.15);
    border:1px solid rgba(168,85,247,.35);
    color:#c084fc;
    display:grid;place-items:center;
    font-size:28px;margin-bottom:18px;
}
.file-card h2{margin-bottom:10px;}
.file-card p{color:#94a3b8;margin-bottom:20px;}
.file-card form{display:flex;flex-direction:column;gap:12px;}
.file-card label{color:#cbd5e1;font-weight:800;}
.file-card input{
    height:48px;border-radius:12px;border:1px solid rgba(255,255,255,.08);
    background:#0f172a;color:white;padding:0 14px;
}
.file-card input[type=file]{padding:12px;}
.template-link{
    display:inline-flex;align-items:center;gap:8px;margin-top:18px;
    color:#c084fc;text-decoration:none;font-weight:900;
}
.receipt-preview{
    background:#fff;color:#111;border-radius:16px;padding:20px;
    font-family:Consolas,monospace;margin-top:15px;
}
.receipt-preview .center{text-align:center;}
.receipt-logo{max-width:80px;max-height:80px;object-fit:contain;margin-bottom:8px;}
.receipt-line{border-top:1px dashed #111;margin:12px 0;}
.receipt-row{display:flex;justify-content:space-between;margin:8px 0;}
.receipt-row.total{font-weight:900;}
.sales-filter,.report-filter{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap;}

/* modals/toast */
.modal-overlay{
    position:fixed;
    inset:0;
    display:none;
    justify-content:center;
    align-items:center;
    background:rgba(0,0,0,.65);
    z-index:999999;
}
.modal-overlay.show{display:flex;}
.product-modal{
    position:relative;
    z-index:1000000;
    width:min(760px,94vw);
    max-height:85vh;
    overflow-y:auto;
    background:#08111f;
    border:1px solid rgba(255,255,255,.10);
    border-radius:22px;
    padding:24px;
}
.modal-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
}
.modal-header button{
    width:36px;height:36px;border:none;border-radius:10px;
    background:rgba(239,68,68,.15);color:#f87171;font-size:22px;
}
.toast-box{
    position:fixed;right:24px;top:24px;z-index:9999;
    display:flex;flex-direction:column;gap:12px;
}
.toast{
    min-width:320px;max-width:420px;padding:16px 18px;border-radius:16px;
    background:rgba(15,23,42,.96);border:1px solid rgba(255,255,255,.08);
    box-shadow:0 20px 50px rgba(0,0,0,.35);color:white;font-weight:800;
    animation:toastIn .25s ease;
}
.toast.success{border-color:rgba(34,197,94,.45);}
.toast.error{border-color:rgba(239,68,68,.45);}
.toast.warning{border-color:rgba(245,158,11,.45);}
@keyframes toastIn{from{transform:translateX(30px);opacity:0}to{transform:translateX(0);opacity:1}}

/* Auth */
.auth-page,.login-pro-page{
    min-height:100vh;
    overflow-y:auto;
    padding:30px;
    background:
        radial-gradient(circle at 10% 10%,rgba(124,58,237,.35),transparent 30%),
        radial-gradient(circle at 85% 85%,rgba(14,165,233,.18),transparent 30%),
        #050914;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
}
.auth-card{
    width:420px;background:#091325;padding:35px;border-radius:20px;
    border:1px solid rgba(255,255,255,.08);
}
.auth-card form{display:flex;flex-direction:column;gap:15px;}
.auth-card input,.auth-card select{
    height:50px;background:#111c35;color:white;border:none;border-radius:12px;padding:0 15px;
}
.auth-card button{height:50px;border:none;border-radius:12px;background:#7c3aed;color:white;font-weight:700;}
.auth-links{display:flex;justify-content:space-between;margin-top:20px;}
.login-bg-glow{position:fixed;width:360px;height:360px;border-radius:999px;filter:blur(90px);opacity:.35;pointer-events:none;}
.login-bg-glow.one{background:#7c3aed;top:-120px;left:-100px;}
.login-bg-glow.two{background:#0ea5e9;bottom:-130px;right:-100px;}
.login-shell{
    width:min(1120px,94%);
    min-height:650px;
    display:grid;
    grid-template-columns:1.15fr .85fr;
    border-radius:32px;
    overflow:hidden;
    background:rgba(15,23,42,.72);
    border:1px solid rgba(255,255,255,.09);
    box-shadow:0 35px 90px rgba(0,0,0,.45);
    backdrop-filter:blur(20px);
}
.login-hero{
    padding:46px;
    background:linear-gradient(135deg,rgba(124,58,237,.25),rgba(15,23,42,.2)),rgba(2,6,23,.45);
    display:flex;flex-direction:column;justify-content:space-between;
}
.login-brand{display:flex;align-items:center;gap:16px;}
.login-logo{
    width:64px;height:64px;border-radius:20px;display:grid;place-items:center;
    background:linear-gradient(135deg,#7c3aed,#a855f7);
    box-shadow:0 0 35px rgba(168,85,247,.5);
}
.login-logo i{font-size:34px;}
.login-brand h1{font-size:30px;font-weight:900;line-height:30px;}
.login-brand span{color:#c4b5fd;font-weight:800;font-size:13px;}
.login-hero-content h2{font-size:48px;line-height:54px;max-width:560px;font-weight:900;}
.login-hero-content p{margin-top:18px;color:#cbd5e1;max-width:520px;line-height:26px;}
.login-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.login-feature-grid div{padding:18px;border-radius:20px;background:rgba(15,23,42,.65);border:1px solid rgba(255,255,255,.08);}
.login-feature-grid i{font-size:26px;color:#c084fc;}
.login-feature-grid strong{display:block;margin-top:10px;font-size:14px;}
.login-feature-grid span{display:block;color:#94a3b8;font-size:12px;margin-top:5px;}
.login-card-pro,.forgot-card{
    width:460px;
    max-width:94vw;
    padding:46px;
    background:rgba(8,13,26,.92);
    border-radius:28px;
    border:1px solid rgba(255,255,255,.09);
    box-shadow:0 35px 90px rgba(0,0,0,.45);
}
.login-chip{
    display:inline-flex;width:fit-content;padding:7px 12px;border-radius:999px;
    background:rgba(124,58,237,.18);color:#c084fc;border:1px solid rgba(168,85,247,.35);
    font-size:12px;font-weight:900;margin-bottom:16px;
}
.login-card-header h2{font-size:34px;font-weight:900;}
.login-card-header p{color:#94a3b8;margin-top:8px;line-height:22px;}
.login-error{
    margin-top:22px;padding:14px;border-radius:16px;background:rgba(239,68,68,.13);
    border:1px solid rgba(239,68,68,.35);color:#fca5a5;font-weight:800;
    display:flex;gap:10px;align-items:center;
}
.login-form-pro{margin-top:28px;display:flex;flex-direction:column;gap:18px;}
.login-form-pro label{color:#cbd5e1;font-weight:800;font-size:14px;}
.login-input{
    height:54px;margin-top:8px;border-radius:16px;background:rgba(15,23,42,.9);
    border:1px solid rgba(255,255,255,.09);display:flex;align-items:center;padding:0 14px;gap:10px;
}
.login-input i{color:#a78bfa;font-size:20px;}
.login-input input,.login-input select{flex:1;border:none;outline:none;background:transparent;color:white;height:100%;}
.login-input button{border:none;background:transparent;color:#cbd5e1;}
.login-submit{
    height:56px;border:none;border-radius:18px;background:linear-gradient(135deg,#7c3aed,#a855f7);
    color:white;font-size:16px;font-weight:900;display:flex;justify-content:center;align-items:center;gap:12px;
    box-shadow:0 0 30px rgba(124,58,237,.35);
}
.login-actions{display:flex;justify-content:space-between;margin-top:22px;}
.login-actions a{color:#c084fc;text-decoration:none;font-weight:800;font-size:14px;}
.login-demo,.reset-code-box{
    margin-top:26px;padding:14px;border-radius:16px;background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);color:#cbd5e1;
}
.reset-code-box{background:rgba(124,58,237,.16);border-color:rgba(168,85,247,.35);color:#e9d5ff;font-weight:800;}
.reset-code-box strong{color:white;font-size:20px;letter-spacing:3px;}

/* responsive */
@media(max-width:1450px){
    .cashier-layout{grid-template-columns:260px minmax(0,1fr) 420px;}
    .cashier-layout .pro-cart{width:420px;min-width:420px;}
    .product-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));}
}
@media(max-width:1200px){
    .cashier-layout,.dashboard-layout{
        height:auto;
        min-height:100vh;
        grid-template-columns:230px minmax(0,1fr);
        overflow:auto;
    }
    .cashier-layout .pro-cart{
        grid-column:2;
        width:100%;
        min-width:0;
        height:auto;
        border-left:none;
        border-top:1px solid rgba(255,255,255,.08);
    }
    .pro-sidebar,.pro-main{height:auto;min-height:100vh;}
    .quick-actions{grid-template-columns:repeat(3,1fr);}
    .sales-stats,.notification-panel,.dashboard-pro-grid,.file-grid,.credit-grid,.settings-grid{grid-template-columns:1fr;}
    .file-card.wide{grid-column:span 1;}
}
@media(max-width:900px){
    .login-shell{grid-template-columns:1fr;}
    .login-hero{display:none;}
    .form-grid{grid-template-columns:1fr;}
    .form-group.full{grid-column:span 1;}
}
.pro-product.out-of-stock {
    opacity: .65;
}

.stock-overlay {
    position: absolute;
    inset: 0;
    background: rgba(220,38,38,.88);
    color: white;
    display: grid;
    place-items: center;
    font-weight: 900;
    font-size: 20px;
}

.product-info {
    padding: 4px 0 0;
}

.barcode {
    display: block;
    color: #94a3b8;
    font-size: 12px;
    margin: 4px 0 6px;
}

.stock.critical {
    color: #ef4444;
    font-weight: 900;
}

.price {
    font-size: 21px;
}
@media (max-width: 768px) {
    body {
        overflow-x: hidden !important;
    }

    .login-shell {
        width: 94% !important;
        min-height: auto !important;
        grid-template-columns: 1fr !important;
        border-radius: 22px !important;
    }

    .login-hero {
        display: none !important;
    }

    .login-card-pro {
        padding: 28px 22px !important;
    }

    .login-card-header h2 {
        font-size: 28px !important;
    }

    .pro-pos,
    .dashboard-layout,
    .cashier-layout {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
    }

    .pro-sidebar {
        width: 100% !important;
        height: auto !important;
        position: relative !important;
        border-right: none !important;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .pro-menu {
        max-height: 260px;
    }

    .pro-main {
        width: 100% !important;
        height: auto !important;
        padding: 16px !important;
        overflow: visible !important;
    }

    .pro-cart {
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        position: relative !important;
        border-left: none !important;
        border-top: 1px solid rgba(255,255,255,.08);
    }

    .pro-topbar,
    .module-header,
    .cart-head {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .top-buttons,
    .cart-head div:last-child {
        width: 100%;
        flex-wrap: wrap;
    }

    .filter-bar {
        grid-template-columns: 1fr 1fr !important;
    }

    .search-box {
        grid-column: span 2;
    }

    .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .pro-product {
        min-height: 220px !important;
    }

    .product-image {
        height: 100px !important;
    }

    .quick-actions {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .payment-methods {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .sales-stats,
    .notification-panel,
    .dashboard-pro-grid,
    .credit-grid,
    .file-grid,
    .settings-grid {
        grid-template-columns: 1fr !important;
    }

    .file-card.wide {
        grid-column: span 1 !important;
    }

    .table-card {
        overflow-x: auto !important;
    }

    .product-table {
        min-width: 750px !important;
    }

    .form-grid {
        grid-template-columns: 1fr !important;
    }

    .form-group.full {
        grid-column: span 1 !important;
    }
}