@keyframes erp-pop{0%{transform:translateY(-50%) translateX(30%);opacity:0}40%{transform:translateY(-50%) translateX(-6%);opacity:1}to{transform:translateY(-50%) translateX(0);opacity:1}}@keyframes admin-pop{0%{transform:translateY(-50%) translateX(20%) scale(.9);opacity:0}50%{transform:translateY(-50%) translateX(-6%) scale(1.06);opacity:1}to{transform:translateY(-50%) translateX(0) scale(1);opacity:1}}*{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}body{margin:0;background:#f7f9fb;color:#222;font-size:16px;line-height:1.5;overflow-x:hidden}.site-header{background-image:url(../img/header.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;color:#fff;padding:32px 16px;text-align:center;will-change:background-position;contain:layout style paint}.site-header::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,107,107,.65);z-index:1}.site-logo{max-height:200px;width:auto;margin-bottom:20px;display:block;margin-left:auto;margin-right:auto;position:relative;z-index:2;contain:paint}.header-content,.header-inner{width:100%;display:flex;flex-direction:column;align-items:center}.header-content{position:relative;z-index:2}.header-inner{max-width:1100px;gap:12px;margin:0 auto;padding:0 16px}.header-inner .site-logo{margin-right:0}.header-inner .header-text{max-width:760px}.page-tabs{overflow-x:auto;contain:layout style}.page-tab{white-space:nowrap;flex:0 0 auto;will-change:background-color}.container{max-width:1200px;margin:24px auto;padding:0 16px;display:grid;grid-template-columns:1fr minmax(220px,340px) minmax(140px,220px);gap:20px;contain:layout}.form-panel,.list-panel{background:#fff;padding:16px;border-radius:8px;box-shadow:0 2px 8px rgba(12,20,32,.06);contain:layout style paint}.row{margin-bottom:12px}.row label{display:block;font-weight:600;margin-bottom:6px}.row input,.row select,.row textarea{width:100%;padding:8px;border:1px solid #d7e0ef;border-radius:6px;font-size:16px;transition:border-color .2s;-webkit-appearance:none;appearance:none}.row input:focus,.row select:focus,.row textarea:focus{border-color:#ff6b6b;outline:0;box-shadow:0 0 0 3px rgba(255,107,107,.1)}.actions,.two-cols{display:flex;gap:12px}.two-cols>div{flex:1}.actions{gap:8px;align-items:center;flex-wrap:wrap}button{background:#ff6b6b;color:#fff;border:0;padding:10px 14px;border-radius:6px;cursor:pointer;transition:background-color .2s,transform .15s ease,box-shadow .2s;font-size:14px;font-weight:500;will-change:transform,background-color;-webkit-tap-highlight-color:transparent}button:active{transform:scale(.98)}button:hover{background:#ff5252;box-shadow:0 4px 12px rgba(255,107,107,.3)}button.secondary{background:#6c757d}.list-actions{margin-top:12px;display:flex;gap:8px}.booking{border:1px solid #eef3ff;padding:10px;border-radius:6px;margin-bottom:8px}.booking h3{margin:0 0 6px;font-size:16px}.booking p{margin:4px 0;color:#333}.booking button{background:#dc3545}.split-container{display:flex;gap:12px;flex:1}.split-container.three-col{align-items:flex-start}.bookings-list{flex:1;max-height:60vh;overflow:auto;padding-right:6px}.booking-detail,.history-panel{width:100%;min-width:220px;max-height:60vh;overflow:auto;padding:12px;border-left:1px solid #f0f0f0}.history-panel{width:180px;min-width:150px;max-height:55vh;padding:8px;background:#fff;font-size:.95em}.history-panel-large{width:100%;min-width:300px;max-height:85vh;padding:12px;border-radius:8px;border:1px solid #eee;box-shadow:0 2px 8px rgba(0,0,0,.04)}.history-column{flex:1 1 420px}.history-item.entered{border-left:6px solid #ff6b6b;background:linear-gradient(90deg,rgba(255,107,107,.02),transparent)}.history-item.done{border-left:6px solid #28a745;background:linear-gradient(90deg,rgba(40,167,69,.03),transparent)}.history-item.cancelled{border-left:6px solid #6c757d;background:linear-gradient(90deg,rgba(108,117,125,.03),transparent);opacity:.85}.history-item .history-edit{background:#3bb54a}.history-item .history-delete{background:#e55353}.booking.selected{border-color:#ff6b6b;background:#fff7f7}.history-item{padding:6px;border-radius:6px;border:1px solid #f0f0f0;margin-bottom:6px;cursor:pointer}.history-item.done{opacity:.7;text-decoration:line-through;background:#f9f9f9}.history-item:hover{box-shadow:0 1px 4px rgba(0,0,0,.05)}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-left:8px;vertical-align:middle}.status-dot.blue{background:#007bff}.status-dot.green{background:#28a745}.status-dot.red{background:#dc3545}.status-dot.double{box-shadow:12px 0 0 0#28a745}.paid-btn{background:#fff;color:#28a745;border:1px dashed #28a745;padding:4px 6px;border-radius:6px;cursor:pointer;font-size:.8em}.paid-btn.paid{background:#28a745;color:#fff;border:1px solid #28a745}.history-section{margin-bottom:10px;border-radius:6px;overflow:hidden}.history-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;background:#fff;border:1px solid #eee;padding:8px 10px;border-radius:6px;cursor:pointer;font-weight:600}.history-toggle .count{background:#ff6b6b;color:#fff;padding:2px 8px;border-radius:999px;font-size:12px}.history-items{display:none;padding:8px 0}.history-section.open .history-items,img{display:block}.history-toggle .arrow{transition:transform .18s ease}.history-section.open .history-toggle .arrow{transform:rotate(90deg)}.site-footer{text-align:center;padding:24px 16px;color:#666}.footer-content{display:flex;flex-direction:column;align-items:center;gap:12px}.footer-logo{max-height:80px;width:auto}.footer-content p{margin:0;font-size:1.2em;font-weight:600;color:#ff6b6b}.whatsapp-btn{background:#25d366!important}@media (max-width:1200px){.container{grid-template-columns:1fr minmax(220px,320px)}}@media (max-width:900px){.container{grid-template-columns:1fr}}@media (max-width:420px){.page-tab,button{min-height:48px;min-width:48px;padding:12px 14px}.header-inner .header-text{padding:0 6px}.bookings-list,.dash-list,.history-panel-large{max-height:48vh}}@media (max-width:600px){.actions{flex-direction:column}.site-header{padding:18px 12px}.site-logo{max-height:120px;margin-bottom:12px}.site-header h1{font-size:1.2rem;margin:8px 0}.site-header p{font-size:.95rem}button{padding:12px 16px;font-size:1rem;border-radius:8px}.row input,.row select,.row textarea{padding:12px}.page-tabs{gap:6px;padding:8px}}@media (max-width:900px){.card,.dash-card,.form-panel,.list-panel{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:700px;display:block}}@media (max-width:420px){.site-header{padding:16px 8px}.header-inner{padding:0 8px}.site-logo{max-height:90px}.row input,.row select,.row textarea{padding:10px;font-size:.98rem}.two-cols{flex-direction:column}.page-tabs{padding:6px}.page-tab{padding:10px 12px}.erp-button{right:8px;bottom:12px}}@media (min-width:1400px){.container{max-width:1350px;padding:0 28px}.header-inner{max-width:1200px}}@media (max-width:1000px){.container{grid-template-columns:1fr}.split-container.three-col{flex-direction:column}.history-panel{min-width:auto;border-top:1px solid #f0f0f0}.booking-detail,.history-panel{width:auto;border-left:none}}@media (min-width:1000px){.site-logo{max-height:240px}.site-header{padding:36px 24px}.site-header h1{font-size:2.1rem;line-height:1.05;letter-spacing:.2px;font-weight:700}.site-header p{font-size:1.05rem;color:rgba(255,255,255,.95)}.header-inner{flex-direction:row;align-items:center;justify-content:space-between}.header-inner .site-logo{margin-right:20px}.header-inner .header-text{text-align:left}}h1{font-size:1.6rem}h2{font-size:1.25rem}@media (min-width:900px){h1{font-size:2rem}h2{font-size:1.4rem}}img{max-width:100%;height:auto}.page-tab,a,button{min-height:44px;min-width:44px}a,button,input,select,textarea{-webkit-tap-highlight-color:rgba(0,0,0,.06)}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:3px solid rgba(255,107,107,.18);outline-offset:2px}.page-tabs{-webkit-overflow-scrolling:touch}.row input,.row select,.row textarea{font-size:1rem}.preview-modal-content{box-sizing:border-box}#adminReauthModal>div,#loginModal>div,#qrModal>div{max-width:760px;width:92%;box-sizing:border-box}@media (max-width:900px){[style*="width:520px"]{width:100%!important;min-width:0!important}[style*="min-width:320px"]{min-width:0!important}[style*="grid-column: 1 / -1"]{padding:12px!important}.container{padding:0 12px}}.flex-1{flex:1}.min-w-0{min-width:0}.min-w-150{min-width:150px}.min-w-180{min-width:180px}.min-w-220{min-width:220px}.min-w-260{min-width:260px}.min-w-280{min-width:280px}.min-w-300{min-width:300px}.min-w-320{min-width:320px}.min-w-360{min-width:360px}.max-w-420{max-width:420px}.w-100{width:100%}@media (max-width:900px){.min-w-150,.min-w-180,.min-w-220,.min-w-260,.min-w-300,.min-w-320,.min-w-360{min-width:0!important}.max-w-420{max-width:100%!important}}.right-column{width:520px;min-width:320px}@media (max-width:900px){.right-column{width:100%!important;min-width:0!important}}@media (max-width:600px){.form-panel,.list-panel{padding:12px}.history-panel-large{padding:8px}.site-footer{padding:16px}}.preview-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999}.preview-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.2);max-width:500px;width:92%}.preview-close-btn{position:absolute;top:8px;right:8px;background:0 0;border:0;font-size:28px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.preview-close-btn:hover{color:#000}.erp-button{position:fixed;right:16px;top:50%;transform:translateY(-50%) translateX(100%);display:inline-flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;color:#333;border-radius:28px;box-shadow:0 6px 18px rgba(0,0,0,.12);text-decoration:none;border:1px solid #eee;font-weight:600;z-index:20000;opacity:0;transition:transform 420ms cubic-bezier(.22,.9,.33,1),opacity 300ms ease,box-shadow 300ms ease}.erp-button .erp-icon{display:inline-flex;font-size:18px}#adminSettingsModal label,.erp-button .erp-label{font-size:14px}.erp-button.erp-visible{transform:translateY(-50%) translateX(0);opacity:1}.erp-button.erp-animate{animation:erp-pop 720ms cubic-bezier(.22,.9,.33,1)}@media (max-width:900px){.erp-button{right:12px;top:auto;bottom:18px;transform:translateX(100%)}.erp-button.erp-visible{transform:translateX(0)}}#admin-page .admin-panels{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;justify-content:space-between}.admin-settings-button{position:fixed;right:20px;top:38%;transform:translateY(-50%) translateX(100%);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:#fff;color:#333;border-radius:50%;box-shadow:0 6px 18px rgba(0,0,0,.12);text-decoration:none;border:1px solid #eee;z-index:20001;opacity:0;transition:transform 420ms cubic-bezier(.22,.9,.33,1),opacity 300ms ease}.admin-settings-button.admin-settings-visible{transform:translateY(-50%) translateX(0);opacity:1}.admin-settings-button .admin-settings-icon{font-size:18px}.admin-settings-button.admin-settings-animate{animation:admin-pop 640ms cubic-bezier(.22,.9,.33,1)}@media (max-width:900px){.admin-settings-button{right:80px;top:auto;bottom:22px;transform:translateX(100%)}.admin-settings-button.admin-settings-visible{transform:translateX(0)}}#adminSettingsModal .admin-settings-row{display:flex;gap:8px;align-items:center}#admin-page .admin-card{background:#fff;padding:18px;border-radius:10px;box-shadow:0 8px 24px rgba(12,20,32,.06);min-height:140px;flex:1 1 280px;display:flex;flex-direction:column;justify-content:flex-start}#admin-page .admin-card h3{margin-top:0;margin-bottom:12px}#admin-page .admin-card .card-header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid #f0f0f0;cursor:pointer;user-select:none;transition:background .2s ease}#admin-page .admin-card .card-header:hover{background:rgba(255,107,107,.04)}#admin-page .admin-card .card-header h3{margin:0;font-size:14px;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.5px}#admin-page .admin-card .collapse-btn{background:0 0;border:0;padding:6px 4px;border-radius:4px;cursor:pointer;color:#666;font-weight:300;font-size:18px;line-height:1;transition:color .2s ease}#admin-page .admin-card .collapse-btn:hover{color:#333}#admin-page .admin-card.collapsed{opacity:.95}#admin-page .admin-card .card-body{max-height:2000px;overflow:hidden;transition:max-height .28s ease,opacity .2s ease;padding-top:12px}#admin-page .admin-card.collapsed .card-body{max-height:0;padding-top:0;opacity:0}#admin-page .admin-card .actions{margin-top:12px}#admin-page .admin-badge{display:inline-block;background:#ff6b6b;color:#fff;padding:6px 10px;border-radius:999px;font-size:12px;margin-left:8px}@media (min-width:1200px){#admin-page .admin-panels>div{flex-basis:32%}}@media (min-width:1000px){#admin-page .admin-panels>div{flex:1;min-width:260px}}@media (max-width:999px){#admin-page .admin-panels{flex-direction:column}#admin-page .admin-card{width:100%}}.admin-dashboard{display:grid;grid-template-columns:1fr 360px;gap:18px;align-items:start}.dash-card{background:#fff;padding:16px;border-radius:12px;box-shadow:0 8px 26px rgba(0,0,0,.06)}.dash-stats{grid-column:1/-1;display:flex;gap:16px;flex-wrap:wrap}.stat-item{flex:1;min-width:200px;padding:16px;border-radius:10px;background:linear-gradient(90deg,#fff,#fff);border:1px solid #f1f1f1}.stat-item h4{margin:0;font-size:20px;color:#ff6b6b}.stat-item p{margin:6px 0 0;color:#666}.recent-panel{grid-column:1/2}.clients-panel{grid-column:2/3}.quick-actions{display:flex;gap:8px;flex-wrap:wrap}.dash-list{max-height:380px;overflow:auto;padding-right:6px}@media (max-width:900px){.clients-panel,.recent-panel{grid-column:span 12}}#admin-page #adminBookingsList,#admin-page #adminClientsList,#admin-page #adminNotificationsList,#admin-page #stockList,#admin-page #usersList,#admin-page .dash-list{max-height:420px;overflow:auto;padding-right:6px}.amount-buttons,.option-buttons{display:flex;gap:8px;flex-wrap:wrap}.amount-btn,.occasion-btn{background:#f1f5f8;color:#333;border:1px solid #d7e0ef;padding:6px 10px;border-radius:6px;cursor:pointer}.amount-btn.active,.occasion-btn.active{background:#ff6b6b;color:#fff;border-color:#ff6b6b}.receipt-preview{max-width:340px;margin:0 auto;font-family:"Courier New",monospace;font-size:12px;line-height:1.2;color:#222}@page{size:A4 portrait;margin:6mm}@media print{*{visibility:hidden!important}.receipt-preview,.receipt-preview *{visibility:visible!important}.receipt-preview{display:block!important;position:relative!important;top:0!important;left:0!important;transform:none!important;margin:0 auto!important;box-shadow:none!important;background:0 0!important;width:78mm!important;max-width:78mm!important}.receipt-preview,.receipt-preview *{font-size:9px!important;line-height:1.05!important}.receipt-preview img{max-width:100%!important;height:auto!important}.booking-detail,.bookings-list,.container,.history-panel,.page,.page-tabs,.preview-close-btn,.preview-modal,.site-footer,.site-header,button,input,select,textarea{display:none!important}.receipt-footer,.receipt-header,.receipt-row{page-break-inside:avoid!important}body{margin:0!important}}body::before{content:"";position:fixed;inset:0;background-image:url(../img/logo2.png);background-repeat:no-repeat;background-position:center center;background-size:40vmin;opacity:.06;pointer-events:none;z-index:0}.container,.page,.preview-modal-content,.site-footer,.site-header{position:relative;z-index:1}.page{display:flex;justify-content:center;align-items:flex-start}.page>.container{margin-top:28px;margin-bottom:28px}@media print{body::before{display:none!important}}