*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-1: #0d0f1a;--bg-2: #13162a;--bg-card: rgba(255,255,255,.05);--bg-card-hover: rgba(255,255,255,.08);--border: rgba(255,255,255,.1);--accent: #6c63ff;--accent-2: #00d4aa;--accent-3: #ff6584;--text-1: #f0f2ff;--text-2: #9da5c7;--text-3: #5a6180;--sidebar-w: 240px;--radius: 16px;--radius-sm: 10px;--shadow: 0 8px 32px rgba(0,0,0,.4);--transition: .22s ease;--font: "Outfit", sans-serif}html{font-size:15px}body{font-family:var(--font);background:var(--bg-1);color:var(--text-1);min-height:100vh;overflow-x:hidden}.app-container{display:flex;width:100%;min-height:100vh}button{font-family:var(--font);cursor:pointer}input,textarea,select{font-family:var(--font)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:99px}.sidebar{width:var(--sidebar-w);height:100vh;background:linear-gradient(180deg,#1a1d35,#0f1120);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:100;transition:transform var(--transition)}.sidebar.collapsed{transform:translate(calc(-1 * var(--sidebar-w)))}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:28px 20px 24px;border-bottom:1px solid var(--border)}.logo-icon{width:42px;height:42px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 4px 16px #6c63ff66}.logo-name{font-size:1.15rem;font-weight:700;color:var(--text-1);display:block}.logo-tagline{font-size:.72rem;color:var(--text-2);display:block}.sidebar-nav{flex:1;padding:20px 14px 20px 12px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;scrollbar-gutter:stable}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:99px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#fff3}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-2);font-size:.92rem;font-weight:500;transition:all var(--transition);width:100%;text-align:left}.nav-item:hover{background:var(--bg-card-hover);color:var(--text-1)}.nav-item.active{background:linear-gradient(135deg,#6c63ff40,#00d4aa1f);color:var(--text-1);border:1px solid rgba(108,99,255,.3);box-shadow:0 4px 12px #6c63ff26}.nav-icon{font-size:1.1rem;width:22px;text-align:center}.nav-group{margin-bottom:2px}.nav-group-title{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-2);font-size:.92rem;font-weight:600;transition:all var(--transition);width:100%;text-align:left;cursor:pointer}.nav-group-title:hover{background:var(--bg-card-hover);color:var(--text-1)}.nav-group-title .chevron{margin-left:auto;transition:transform .2s}.nav-submenu{display:flex;flex-direction:column;gap:4px;padding-left:34px;margin-top:4px;margin-bottom:8px}.nav-submenu .nav-item{padding:8px 12px;font-size:.86rem}.sidebar-footer{padding:16px 20px;border-top:1px solid var(--border)}.pharmacy-info{font-size:.82rem;font-weight:600;color:var(--accent-2);margin-bottom:4px}.sidebar-version{font-size:.72rem;color:var(--text-3)}.main-content{flex:1;margin-left:var(--sidebar-w);min-height:100vh;display:flex;flex-direction:column;transition:margin var(--transition);background:radial-gradient(ellipse at top left,rgba(108,99,255,.08) 0%,transparent 60%),radial-gradient(ellipse at bottom right,rgba(0,212,170,.05) 0%,transparent 60%),var(--bg-1)}.main-content.expanded{margin-left:0}.top-header{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;background:#0d0f1acc;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.header-left{display:flex;align-items:center;gap:16px}.menu-toggle{background:var(--bg-card);border:1px solid var(--border);color:var(--text-1);border-radius:var(--radius-sm);width:36px;height:36px;font-size:1rem;transition:all var(--transition)}.menu-toggle:hover{background:var(--accent);border-color:var(--accent)}.breadcrumb{font-size:1rem;font-weight:600;color:var(--text-1)}.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.header-time{font-size:1rem;font-weight:700;color:var(--accent-2)}.header-date{font-size:.75rem;color:var(--text-2)}.view{display:none;padding:28px;animation:fadeIn .3s ease;width:100%}.view.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.view-title{margin-bottom:24px}.view-title h1{font-size:1.6rem;font-weight:700;margin-bottom:4px}.view-title p{color:var(--text-2);font-size:.9rem}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin-bottom:20px;box-shadow:var(--shadow);transition:border-color var(--transition)}.card:hover{border-color:#6c63ff33}.card-header{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.card-header h2{font-size:1rem;font-weight:600;flex:1}.card-icon{font-size:1.2rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}label{font-size:.8rem;font-weight:500;color:var(--text-2)}.required{color:var(--accent-3)}input,textarea,select{background:#ffffff0f;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);padding:10px 14px;font-size:.9rem;transition:all var(--transition);outline:none;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--accent);background:#6c63ff14;box-shadow:0 0 0 3px #6c63ff26}textarea{resize:vertical;min-height:90px}input[type=text],input[type=search],textarea{text-transform:uppercase}input::placeholder,textarea::placeholder{color:var(--text-3);text-transform:none}select{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236c63ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:18px;padding-right:35px;appearance:none;-webkit-appearance:none;-moz-appearance:none}select option{background:#13162a;color:var(--text-1);padding:8px}select option:checked{background:linear-gradient(#6c63ff,#6c63ff);background-color:#6c63ff;color:#fff}.btn{padding:10px 18px;border-radius:var(--radius-sm);border:none;font-size:.88rem;font-weight:600;transition:all var(--transition);display:inline-flex;align-items:center;gap:6px}.btn-primary{background:linear-gradient(135deg,var(--accent),#8b85ff);color:#fff;box-shadow:0 4px 16px #6c63ff4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6c63ff73}.btn-secondary{background:linear-gradient(135deg,var(--accent-2),#00b890);color:#fff;box-shadow:0 4px 16px #00d4aa40}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00d4aa66}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-2)}.btn-outline:hover{border-color:var(--accent-3);color:var(--accent-3)}.btn-danger{background:linear-gradient(135deg,#ff4d6d,#c9184a);color:#fff}.btn-danger:hover{transform:translateY(-2px)}.btn-info{background:linear-gradient(135deg,#00b4d8,#0077b6);color:#fff}.btn-info:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00b4d84d}.btn-sm{padding:6px 12px;font-size:.8rem}.table-wrapper{overflow-x:auto;margin-bottom:14px;border-radius:var(--radius-sm)}.items-table{width:100%;border-collapse:collapse;min-width:860px}.items-table thead th{background:#6c63ff1a;color:var(--text-2);font-size:.78rem;font-weight:600;padding:10px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.items-table tbody tr{border-bottom:1px solid rgba(255,255,255,.04);transition:background var(--transition)}.items-table tbody tr:hover{background:#ffffff08}.items-table td{padding:8px 6px;vertical-align:middle}.items-table td input{padding:7px 9px;font-size:.84rem;background:#ffffff0a;border-radius:8px}.items-table td:first-child{color:var(--text-3);font-size:.82rem;text-align:center}.item-total{font-weight:600;color:var(--accent-2);font-size:.9rem}.remove-row-btn{background:#ff4d6d1f;border:none;color:var(--accent-3);border-radius:6px;width:28px;height:28px;font-size:1rem;transition:all var(--transition);cursor:pointer}.remove-row-btn:hover{background:#ff4d6d40}.pack-select{background:#ffffff0f;border:1px solid var(--border);border-radius:8px;color:var(--text-1);padding:7px 8px;font-size:.84rem;font-family:var(--font);width:100px;cursor:pointer;outline:none;transition:all var(--transition)}.pack-select:focus{border-color:var(--accent);background:#6c63ff14}.pack-select option{background:#1a1d35;color:var(--text-1)}.add-item-row{padding:10px 0 4px}.medicine-search-bar{position:relative;max-width:520px}.medicine-search-bar input{padding-left:14px}.medicine-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#1a1d35;border:1px solid var(--border);border-radius:var(--radius-sm);z-index:200;max-height:200px;overflow-y:auto;display:none}.medicine-dropdown.open{display:block}.dropdown-item{padding:10px 14px;cursor:pointer;font-size:.88rem;transition:background var(--transition);display:flex;justify-content:space-between}.dropdown-item:hover{background:#6c63ff26}.dropdown-item .di-price{color:var(--accent-2);font-weight:600}.bill-summary-container{display:grid;grid-template-columns:1fr 340px;gap:20px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;font-size:.9rem;color:var(--text-2);border-bottom:1px dashed rgba(255,255,255,.05)}.discount-text{color:var(--accent-3)}.summary-divider{height:1px;background:var(--border);margin:8px 0}.grand-total-row{font-size:1.15rem!important;font-weight:700!important;color:var(--text-1)!important;border-bottom:none!important}#sum-grand-total{color:var(--accent-2);font-size:1.3rem}.summary-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.search-wrapper{margin-left:auto}.search-wrapper input{min-width:220px}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;transition:all var(--transition)}.history-item:hover{border-color:#6c63ff4d;background:#6c63ff0d}.hi-num{font-size:.75rem;color:var(--text-3);font-weight:600;min-width:80px}.hi-name{font-weight:600;flex:1}.hi-date{color:var(--text-2);font-size:.82rem}.hi-total{font-weight:700;color:var(--accent-2);margin-left:auto;font-size:1rem}.hi-actions{display:flex;gap:8px}.empty-state{text-align:center;padding:48px 20px;color:var(--text-3);font-size:.9rem}.empty-state .empty-icon{font-size:3rem;margin-bottom:12px}.medicine-catalogue-list{display:flex;flex-direction:column;gap:10px}.med-cat-item{background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;transition:all var(--transition)}.med-cat-item:hover{border-color:#00d4aa4d}.mci-name{font-weight:600;flex:1}.mci-cat{font-size:.78rem;color:var(--text-3);background:#ffffff0f;border-radius:99px;padding:2px 10px}.mci-price{color:var(--accent-2);font-weight:700}.mci-gst{color:var(--text-3);font-size:.82rem}.data-mgmt-row{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px dashed rgba(255,255,255,.05);flex-wrap:wrap}.data-mgmt-row:last-child{border-bottom:none}.data-mgmt-info{flex:1}.data-mgmt-info strong{font-size:.9rem;display:block;margin-bottom:2px}.data-mgmt-info p{font-size:.8rem;color:var(--text-2)}.danger-row .data-mgmt-info strong{color:var(--accent-3)}.toast{position:fixed;bottom:28px;right:28px;background:#1a1d35;border:1px solid var(--border);color:var(--text-1);padding:12px 22px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500;z-index:9999;opacity:0;pointer-events:none;transform:translateY(16px);transition:all .3s ease;box-shadow:var(--shadow);max-width:320px}.toast.show{opacity:1;pointer-events:auto;transform:translateY(0)}.toast.success{border-color:var(--accent-2);color:var(--accent-2)}.toast.error{border-color:var(--accent-3);color:var(--accent-3)}.toast.info{border-color:var(--accent);color:var(--accent)}.print-area{display:none}.print-template-container{position:absolute;left:0;top:10000px;width:210mm;background:#fff;z-index:-1;pointer-events:none}.print-template-container .print-area{display:block!important;visibility:visible!important}@media print{@page{margin:0;size:auto}#root>div>*:not(.print-template-container){display:none!important}#root>div{display:block!important;padding:0!important;margin:0!important}.print-template-container{position:static!important;left:0!important;z-index:9999!important;display:block!important;width:100%!important}.print-area{display:block!important;font-family:Inter,Segoe UI,Arial,sans-serif;color:#000;background:#fff;padding:15mm;min-height:100vh;box-sizing:border-box}.print-type{text-align:right;font-size:10px;font-weight:700;color:#444;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px}.print-header{text-align:center;border:2px solid #000;background:#f0f0f0!important;-webkit-print-color-adjust:exact;padding:20px 15px;margin-bottom:20px}.print-header h1{font-size:28px;font-weight:900;text-transform:uppercase;margin-bottom:5px;color:#000}.print-header p{font-size:13px;margin:2px 0;font-weight:500}.print-licenses{margin-top:8px;font-size:12px;font-weight:600;display:flex;justify-content:center;gap:20px}.print-meta-grid{display:flex;justify-content:space-between;margin-bottom:20px;border:1px solid #000;padding:12px}.meta-left,.meta-right{flex:1}.meta-row{font-size:13px;margin:4px 0}.meta-row strong{width:100px;display:inline-block}.print-main-table{width:100%;border-collapse:collapse;border:1px solid #000;margin-bottom:0}.print-main-table th{border:1px solid #000;background:#f0f0f0!important;-webkit-print-color-adjust:exact;padding:8px 5px;font-size:12px;font-weight:800;text-transform:uppercase}.print-main-table td{border-left:1px solid #000;border-right:1px solid #000;padding:4px 6px;font-size:11px}.print-main-table tbody tr{height:25px}.print-main-table tbody tr:last-child td{border-bottom:1px solid #000}.text-center{text-align:center}.text-right{text-align:right}.empty-row td{height:25px}.total-label{border:1px solid #000;font-weight:700;text-align:right;padding-right:15px}.total-val{border:1px solid #000;text-align:right;font-weight:600}.grand{font-size:16px!important;background:#f0f0f0!important;-webkit-print-color-adjust:exact;padding:10px!important}.no-border{border:none!important}.border-bottom{border-bottom:1px solid #000!important}.print-amount-words{padding:10px 0;font-size:11px;text-transform:capitalize}.print-notes-section{margin-top:10px;border-bottom:1px solid #000;padding-bottom:5px}.print-notes-content{font-size:12px;font-style:normal;color:#000}.print-footer-section{display:flex;justify-content:space-between;margin-top:20px}.footer-left{flex:1.5;font-size:11px}.terms-list{padding-left:15px;margin-top:5px}.footer-right{flex:1;text-align:right}.auth-sign{display:flex;flex-direction:column;align-items:flex-end}.sign-space{height:60px;width:200px}.auth-sign p{margin:2px 0;font-size:12px}.print-watermark{position:fixed;bottom:10mm;left:15mm;font-size:10px;color:#888}}@media (max-width: 900px){.bill-summary-container{grid-template-columns:1fr}}@media (max-width: 700px){:root{--sidebar-w: 220px}.view{padding:18px 14px}.top-header{padding:12px 16px}.summary-actions{justify-content:stretch}.summary-actions .btn{flex:1;justify-content:center}}.login-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at top right,#2a2d45,#121421);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.login-card{width:100%;max-width:420px;background:#ffffff08;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:40px;text-align:center;box-shadow:0 20px 40px #0006}.login-logo h1{font-size:2rem;font-weight:800;margin-bottom:8px;background:linear-gradient(135deg,#fff,#a5a9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-logo p{color:var(--text-3);font-size:.95rem;margin-bottom:32px}.auth-tabs{display:flex;background:#ffffff0d;border-radius:12px;padding:4px;margin-bottom:24px}.auth-tab{flex:1;padding:10px;border:none;background:transparent;color:var(--text-3);font-family:var(--font);font-weight:500;cursor:pointer;border-radius:8px;transition:all .3s ease}.auth-tab.active{background:var(--accent);color:#fff;box-shadow:0 4px 12px #6c63ff4d}.auth-form{display:flex;flex-direction:column;gap:16px;text-align:left}.auth-divider{display:flex;align-items:center;margin:24px 0;color:var(--text-3);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.auth-divider span{padding:0 12px}.btn-google{width:100%;padding:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-1);border-radius:12px;font-family:var(--font);font-weight:500;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:all .3s ease}.btn-google:hover{background:#ffffff1a}.auth-error{font-size:.85rem;padding:10px;border-radius:8px;margin-bottom:16px;display:none}.auth-error.show{display:block}.auth-error.error{background:#ff4d6d1a;color:#ff4d6d;border:1px solid rgba(255,77,109,.2)}.auth-error.success{background:#00d4a31a;color:#00d4a3;border:1px solid rgba(0,212,163,.2)}.sidebar-footer{padding-bottom:10px!important}.user-email{font-size:.75rem;color:var(--text-3);margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{width:100%;padding:8px;background:#ff4d6d1a;color:#ff4d6d;border:1px solid rgba(255,77,109,.2);border-radius:8px;font-family:var(--font);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-logout:hover{background:#ff4d6d;color:#fff}
