.custom-table{background:#fff;border:1px solid #cbd5e1;border-collapse:collapse;border-radius:12px;box-shadow:0 1px 3px #00000014;font-size:15px;overflow:visible;white-space:nowrap;width:100%}.custom-table thead th{background-color:#e2e8f0;border:none;border-bottom:1px solid #cbd5e1;color:#334155;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:14px 16px;text-transform:uppercase}.custom-table .center-column,.custom-table .view-photos{text-align:center}.custom-table tbody tr.unpaid{background-color:#fecaca99}.custom-table tbody tr.staff{background-color:#a5f3fc99}.custom-table tbody tr.sent{background-color:#bbf7d099}.custom-table tbody tr.paid{background-color:#fde68a99}.status-badge{border:1px solid #0000;border-radius:999px;box-shadow:0 1px 2px #0000000f;display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.02em;line-height:1.4;min-width:84px;padding:4px 12px;text-align:center;white-space:nowrap}.status-badge.status-sent{background-color:#dcfce7;border-color:#86efac;color:#15803d}.status-badge.status-unpaid{background-color:#fee2e2;border-color:#fca5a5;color:#b91c1c}.merged-order-badge{background:#e0e7ff;border-radius:4px;color:#4338ca;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.04em;margin-right:4px;padding:2px 6px;text-transform:uppercase;vertical-align:middle}.merge-due-amount{color:#b45309;display:block;font-weight:700}.merge-price-breakdown{color:#64748b;display:block;font-size:.72rem;white-space:nowrap}.status-badge.status-paid{background-color:#fef3c7;border-color:#fcd34d;color:#b45309}.status-badge.status-abandoned{background-color:#ffedd5;border-color:#fdba74;color:#c2410c}.status-badge.status-reminded{background-color:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.status-badge.status-deleted{background-color:#e2e8f0;border-color:#cbd5e1;color:#475569}.status-badge.status-comped{background-color:#ede9fe;border-color:#c4b5fd;color:#6d28d9}.status-badge.status-staff{background-color:#cffafe;border-color:#67e8f9;color:#0e7490}.status-badge.status-recovered-abandoned{background-color:#d1fae5;border-color:#6ee7b7;color:#047857}.status-badge.status-unknown{background-color:#f1f5f9;border-color:#cbd5e1;color:#475569}.custom-table tbody tr:last-child td{border-bottom:none}.custom-table .editable{cursor:pointer;position:relative}.custom-table .editable:after{content:"✎";opacity:0;position:absolute;right:5px;top:50%;transform:translateY(-50%);transition:opacity .3s ease-in-out}.custom-table .editable:hover:after{opacity:1}.custom-table td{border:none;border-bottom:1px solid #e2e8f0;color:#1e293b;line-height:1.5;padding:14px 16px}.custom-table td.email,.custom-table td.notes{overflow:hidden;text-overflow:ellipsis}.custom-table td.email{max-width:250px;word-break:break-word}.custom-table td.notes{max-width:200px;word-break:break-word}.custom-table tbody tr td{background-color:initial!important}.custom-table tbody tr.row-hover td{background-color:#e2e8f0e6!important}@media (hover:hover){.custom-table td.email:hover,.custom-table td.notes:hover,.custom-table td.view-photos:hover{background-color:#e2e8f0!important;box-shadow:0 1px 3px #00000014;z-index:1}}.custom-table a:focus,.custom-table button:focus,.custom-table td:focus,.custom-table td:focus-within{outline:none}.custom-table td{transition:background-color .15s ease-out}.custom-table button{transition:all .3s ease-in-out}.custom-table button:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-2px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.custom-table tbody tr{animation:fadeIn .5s ease-in-out}.content-wrapper .table,.table-responsive .table{border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}#orders.table,.table-responsive .table.custom-table{overflow:visible}.content-wrapper .table thead th,.table-responsive .table thead th{background-color:#e2e8f0!important;border:none;border-bottom:1px solid #cbd5e1;color:#334155;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:14px 16px;text-transform:uppercase}.content-wrapper .table td,.table td,.table-responsive .table td{border:none;border-bottom:1px solid #e2e8f0;color:#1e293b;padding:14px 16px}.content-wrapper .table tbody tr:last-child td,.table tbody tr:last-child td,.table-responsive .table tbody tr:last-child td{border-bottom:none}.table-hover tbody tr:hover td{background-color:#e2e8f0e6}.thead-light th{background-color:#e2e8f0!important;border:none;border-bottom:1px solid #cbd5e1;color:#334155}.table-container:has(.dropdown-menu.show),.table-responsive:has(.dropdown-menu.show){overflow:visible}#orders td.more-actions{overflow:visible;position:static}#orders .more-actions .dropdown-menu{z-index:1050}.navbar .navbar-nav .nav-link{border:1px solid #0000;border-radius:6px;color:#fff!important;font-size:.95rem;font-weight:500;margin:0 3px;padding:.6rem 1rem!important;transition:background-color .2s ease,color .2s ease,transform .2s ease}.navbar .navbar-nav .nav-link:hover{background-color:#ffffff1f!important;color:#fff!important;transform:translateY(-1px)}.navbar .navbar-nav .nav-link.active{background-color:#ffffff2e!important;border-color:#ffffff40;color:#fff!important}.navbar .navbar-nav .nav-link.active[disabled],.navbar .navbar-nav .nav-link[disabled]{cursor:default;opacity:.9}.navbar-text{font-size:24px}.sales-container{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px}.sales-title{color:var(--primary-color);font-weight:700}.sales-title,.total-sales{font-size:22px}.btn-gray{background-color:gray!important;border:1px solid #000;color:#fff}.btn-gray:hover{background-color:#a9a9a9!important}.btn-delete{background-color:#f87878!important;border:1px solid #000;color:#fff;height:2.5em;line-height:2.5em;padding:0 1em}.btn-delete:hover{background-color:#f0c0c0!important}.btn-custom{background-color:#3b3b3b;height:2.5em;line-height:2.5em;padding:0 1em}.btn-custom,.btn-down{border:1px solid #a3a3a3;font-size:1.2rem;font-weight:700;margin-right:10px}.btn-down{background-color:#0a1408}.custom-table td.notes{cursor:pointer;max-width:260px;min-width:140px;vertical-align:top}.order-notes-preview{align-items:center;display:flex;flex-wrap:wrap;gap:4px;line-height:1.35}.order-notes-empty{color:#94a3b8;font-size:.85rem;font-style:italic}.order-notes-more{background:#e2e8f0;color:#475569;font-size:.72rem;font-weight:600;padding:1px 6px}.order-note-chip,.order-notes-more{align-items:center;border-radius:999px;display:inline-flex;white-space:nowrap}.order-note-chip{font-size:.78rem;gap:4px;line-height:1.3;max-width:100%;overflow:hidden;padding:2px 8px;text-overflow:ellipsis}.order-note-chip--compact{max-width:9.5rem}.order-note-chip--user{background:#dbeafe;border:1px solid #bfdbfe;color:#1e40af}.order-note-chip--system{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.order-note-chip i{font-size:.65rem;opacity:.75}.order-notes-cell--empty:hover .order-notes-empty{color:#2563eb}#orderNotesModal .modal-body{max-height:55vh;overflow-y:auto}.order-notes-timeline{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.order-notes-timeline-empty{color:#64748b;font-style:italic;margin:0}.order-note-entry{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:2px;padding:10px 12px}.order-note-entry--user{background:#f8fbff;border-left:3px solid #3b82f6}.order-note-entry--system{background:#f8fafc;border-left:3px solid #94a3b8}.order-note-entry-label{color:#64748b;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.order-note-entry-text{color:#1e293b;white-space:pre-wrap;word-break:break-word}#orderNotesInput{min-height:72px;resize:vertical}.order-notes-hint{color:#64748b;font-size:.78rem;margin-top:6px}@media (hover:hover){.custom-table td.notes:hover .order-note-chip--user{background:#bfdbfe}}#gallery-header{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#f8f9fae6;border:none;box-shadow:0 2px 4px #0000001a}#gallery-header .card-body{padding:15px}#gallery-header h1{color:#000000de;font-size:24px;margin-bottom:15px}#gallery-form .form-group{margin-bottom:10px}#gallery-form label{color:#000000de;font-weight:700;margin-bottom:3px}#photo-container{margin-top:20px}.photo-item .card{transition:box-shadow .3s ease-in-out,transform .3s ease-in-out}.photo-item .card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-5px)}.photo-item .card-body{padding:1rem}.photo-item .card-title{font-size:1rem;margin-bottom:.5rem}.photo-item .card-text{color:#6c757d;font-size:.9rem}.photo-item .card-body .delete-photo,.photo-item .card-body .toggle-order{align-items:center!important;display:flex!important;flex:1 1!important;font-size:14px!important;height:38px!important;justify-content:center!important;line-height:1!important;margin-top:.5rem!important;padding:0 12px!important;white-space:nowrap!important}.photo-item .card-body .toggle-order{margin-right:5px!important}.photo-item .card-body .delete-photo{margin-left:5px!important}.photo-item .card-body .mt-3.d-flex{flex-wrap:nowrap!important}.photo-item.in-order .card{border:2px solid #28a745;box-shadow:0 0 10px #28a74580}#photo-container img{cursor:pointer;transition:.3s}#photo-container img:hover{opacity:.7}.gallery-detections-row{gap:.75rem 1.25rem;margin-top:.15rem}.gallery-detections-dropdown .dropdown-toggle{min-width:7.5rem}.gallery-detections-menu{min-width:13.5rem;padding:.5rem 0}.gallery-detection-filters-label{color:#00000073;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.gallery-detection-filter{align-items:center;color:#000c;cursor:pointer;display:flex;font-size:.9rem;gap:.45rem;-webkit-user-select:none;user-select:none}.gallery-detection-filter.dropdown-item-text{padding:.35rem 1rem}.gallery-detection-filter input{cursor:pointer;margin:0}.gallery-detection-note{color:#0000008c;font-size:.82rem;line-height:1.35}.gallery-modal-wrap,.gallery-thumb-wrap{line-height:0;overflow:hidden;position:relative}.gallery-modal-wrap #modalImage,.gallery-thumb-wrap .gallery-thumb{display:block;height:auto;width:100%}.detection-boxes{inset:0;pointer-events:none;position:absolute}.detection-box{border:2px solid #d4a017;border-radius:4px;box-shadow:0 0 0 1px #00000059,inset 0 0 0 1px #fff3;box-sizing:border-box;position:absolute}.detection-box[data-kind=person]{border-color:#2ecc71;box-shadow:0 0 0 1px #0006,0 0 8px #2ecc7159}.detection-box[data-kind=participant]{border-color:#eceff1;box-shadow:0 0 0 1px #00000073,0 0 8px #eceff166}.detection-box[data-kind=guide]{border-color:#f1c40f;box-shadow:0 0 0 1px #0006,0 0 8px #f1c40f66}.gallery-detection-summary{background:#f4f6f7;border-bottom:1px solid #0000000f;color:#000000b8;display:flex;flex-wrap:wrap;font-size:.8rem;font-weight:600;gap:.5rem .85rem;line-height:1.3;padding:.45rem .85rem}.gallery-detection-summary[hidden]{display:none!important}.detection-count-guide{color:#9a7b0a}.detection-count-participant{color:#455a64}.detection-count-person{color:#1e8449}.detection-count-none{color:#00000073;font-weight:500}.current-order-thumbnail{cursor:none;overflow:visible;position:relative}.current-order-thumbnail img{height:100%;object-fit:cover;width:100%}.magnifier{background-position:50%;background-repeat:no-repeat;background-size:contain;box-shadow:0 0 0 3px #ffffffd9,0 0 3px 3px #00000040;display:none;height:200px;left:-75px;pointer-events:none;position:absolute;top:55px;width:200px;z-index:1002}.image-popup{background-color:#000000e6;display:none;height:100%;left:0;overflow:auto;position:fixed;top:0;width:100%;z-index:1100}.popup-content{height:100%;position:relative;width:100%}.image-container,.popup-content{align-items:center;display:flex;justify-content:center}.image-container{height:80%;max-height:800px;max-width:1200px;width:80%}#popupImage{box-shadow:0 4px 8px #00000080;max-height:100%;max-width:100%;object-fit:contain}.close{color:#f1f1f1;font-size:40px;font-weight:700;position:absolute;right:35px;top:15px;transition:.3s;z-index:1101}.close:focus,.close:hover{color:#bbb;cursor:pointer;text-decoration:none}.login-page{align-items:center;background:linear-gradient(165deg,#f8f9fa,#eef1f4 45%,#f8f9fa);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;justify-content:center;min-height:100vh;padding:2rem 1rem 1.5rem}.login-shell{max-width:420px;width:100%}.login-card{background-color:#fff;border:1px solid #0000000f;border-radius:12px;box-shadow:0 1px 2px #0000000a,0 8px 24px #00000014;overflow:hidden;padding:2.25rem 2rem 2rem;position:relative}.login-card:before{background:linear-gradient(90deg,#007bff,#0056b3);content:"";height:4px;left:0;position:absolute;right:0;top:0}.login-brand{margin-bottom:1.75rem;text-align:center}.login-brand .logo{display:inline-block;height:auto;margin-bottom:1rem;max-width:180px}.login-brand .login-title{color:#212529;font-size:1.375rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .35rem}.login-brand .login-subtitle{color:#6c757d;font-size:.875rem;font-weight:400;margin:0}.login-card .alert{border:none;border-radius:8px;font-size:.875rem}.login-card .alert,.login-card .form-group{margin-bottom:1.25rem}.login-card label{color:#495057;font-size:.8125rem;font-weight:600;letter-spacing:.04em;margin-bottom:.4rem;text-transform:uppercase}.login-card .form-control{border:1px solid #ced4da;border-radius:8px;font-size:.9375rem;height:calc(1.5em + 1rem + 2px);padding:.5rem .875rem;transition:border-color .15s ease,box-shadow .15s ease}.login-card .form-control:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff26}.login-card .btn-primary{background-color:#007bff;border-color:#007bff;border-radius:8px;font-size:.9375rem;font-weight:600;height:calc(1.5em + 1rem + 2px);letter-spacing:.02em;margin-top:.25rem;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.login-card .btn-primary:hover{background-color:#0056b3;border-color:#0056b3}.login-card .btn-primary:active{transform:translateY(1px)}.login-footer{margin-top:1.75rem;padding-top:0;text-align:center}.login-footer p{color:#6c757d;font-size:.8125rem;margin:0 0 .35rem}.login-footer a{color:#007bff;font-size:.8125rem;font-weight:500;text-decoration:none}.login-footer a:hover{color:#0056b3;text-decoration:underline}@media (max-width:480px){.login-card{padding:1.75rem 1.25rem 1.5rem}.login-brand .logo{max-width:150px}}:root{--primary-color:#2c3e50;--accent-color:#28a745;--bg:#f4f6f9;--card:#fff;--ink:#1e293b;--muted:#64748b;--border:#e2e8f0;--border-strong:#cbd5e1;--brand-blue:#007bff;--brand-blue-dark:#0056b3;--danger:#dc3545}*{box-sizing:border-box}#root,body,html{margin:0;min-height:100%}body{background-color:#f4f6f9;background-color:var(--bg);color:#1e293b;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;padding-top:64px}.app-navbar{background:linear-gradient(90deg,#2c3e50,#4a4a4a);box-shadow:0 2px 6px #0000002e;padding:.4rem 1rem}.app-navbar .navbar-brand{align-items:center;display:flex;gap:.6rem;padding:0}.app-navbar .navbar-brand img{height:40px;transition:transform .3s ease}.app-navbar .navbar-brand img:hover{transform:scale(1.08)}.app-navbar .brand-word{color:#fff;font-size:1.1rem;font-weight:700;letter-spacing:.03em}.logout-btn{background-color:#dc3545;background-color:var(--danger);border:none;border-radius:.25rem;color:#fff!important;font-weight:600;padding:.375rem .9rem;transition:background-color .2s ease}.logout-btn:hover{background-color:#c82333}.navbar-username{color:#ffffffd9;white-space:nowrap}.client-switcher,.navbar-username{font-size:.85rem;margin-right:.75rem}.client-switcher{background:#ffffff24;border:1px solid #ffffff4d;border-radius:6px;color:#fff;max-width:220px;padding:.3rem .5rem}.client-switcher option{color:#1e293b}.client-badge{background:#ffffff29;border:1px solid #ffffff47;border-radius:999px;color:#fff;font-size:.8rem;margin-right:.75rem;padding:.25rem .65rem;white-space:nowrap}.content-wrapper{margin:0 auto;max-width:1300px;padding:1.25rem 1rem 3rem}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.page-header h1{color:#2c3e50;color:var(--primary-color);font-size:1.5rem;font-weight:700;margin:0}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.card{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:1.1rem 1.25rem}.card h2{color:#2c3e50;color:var(--primary-color);font-size:1.1rem;margin:0 0 .85rem}.stack{display:flex;flex-direction:column;gap:.75rem}.row-2{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.admin-grid{grid-gap:1rem;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.admin-grid,.metric-grid{display:grid;gap:1rem;margin-bottom:1rem}.metric-grid{grid-gap:1rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.metric{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:1rem 1.2rem}.metric .metric-label{color:#64748b;color:var(--muted);font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.metric .metric-value{color:#2c3e50;color:var(--primary-color);font-size:1.8rem;font-weight:700;margin-top:.25rem}.muted{color:#64748b;color:var(--muted)}.error{color:#dc3545;color:var(--danger)}.success{color:#15803d}.banner{border-radius:8px;margin-bottom:1rem;padding:.65rem .9rem}.banner.error{background:#fee2e2;border:1px solid #fca5a5;color:#b91c1c}.banner.success{background:#dcfce7;border:1px solid #86efac;color:#15803d}.linkish{background:#0000;border:none;color:#007bff;color:var(--brand-blue);cursor:pointer;padding:.25rem .4rem}.filter-bar{align-items:flex-end;background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #0000000f;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;padding:.85rem 1rem}.filter-bar .field{color:#64748b;color:var(--muted);display:flex;flex-direction:column;font-size:.78rem;font-weight:600;gap:.25rem}.fullscreen-msg{color:#64748b;color:var(--muted);display:grid;min-height:60vh;place-items:center}.adv-modal-backdrop{background:#0f172a99;display:grid;inset:0;padding:1.5rem;place-items:center;position:fixed;z-index:1060}.adv-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000059;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:min(760px,100%)}.adv-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:.85rem 1.1rem}.adv-modal-header h5{color:#2c3e50;color:var(--primary-color);font-size:1.05rem;margin:0}.adv-modal-body{overflow:auto;padding:1.1rem}.adv-modal-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1.1rem}.icon-close{background:#0000;border:none;color:#64748b;color:var(--muted);cursor:pointer;font-size:1.4rem;line-height:1}.carousel-shell{background:#0a0e12;border-radius:8px;overflow:hidden;position:relative}.carousel-shell img{display:block;max-height:68vh;object-fit:contain;width:100%}.carousel-nav{background:#00000080;border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:1.3rem;height:44px;position:absolute;top:50%;transform:translateY(-50%);width:44px}.carousel-nav.prev{left:10px}.carousel-nav.next{right:10px}.carousel-count{color:#64748b;color:var(--muted);font-size:.85rem;margin-top:.5rem;text-align:center}.gallery-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.gallery-tile{background:#fff;border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:10px;box-shadow:0 1px 3px #00000014;overflow:hidden;position:relative}.gallery-tile.selected{border-color:#007bff;border-color:var(--brand-blue);box-shadow:0 0 0 2px #007bff;box-shadow:0 0 0 2px var(--brand-blue)}.gallery-tile .tile-img-wrap{background:#0a0e12;border:none;cursor:pointer;display:block;padding:0;position:relative;width:100%}.gallery-tile img.tile-img{aspect-ratio:4/3;display:block;object-fit:cover;width:100%}.det-box{border:2px solid #22d3ee;border-radius:3px;box-shadow:0 0 0 1px #0006;pointer-events:none;position:absolute}.det-box.participant{border-color:#34d399}.det-box.guide{border-color:#fbbf24}.det-label{background:#22d3ee;border-radius:3px;color:#05242b;font-size:.6rem;font-weight:700;left:-2px;padding:1px 4px;position:absolute;top:-18px;white-space:nowrap}.tile-meta{align-items:center;color:#64748b;color:var(--muted);display:flex;font-size:.72rem;justify-content:space-between;padding:.35rem .5rem}.tile-check{background:#007bff;background:var(--brand-blue);border-radius:999px;color:#fff;display:grid;font-size:.9rem;height:26px;left:6px;place-items:center;position:absolute;top:6px;width:26px}.tile-badge,.tile-check{font-weight:700;z-index:2}.tile-badge{border-radius:4px;font-size:.62rem;padding:2px 6px;position:absolute;right:6px;top:6px}.tile-badge.sold{background:#fef3c7;color:#b45309}.lightbox{background:#06090ceb;display:grid;inset:0;padding:1.5rem;place-items:center;position:fixed;z-index:1070}.lightbox img{border-radius:10px;max-height:82vh;max-width:100%;object-fit:contain}.lightbox-close{background:#ffffff26;border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:1.3rem;height:42px;position:fixed;right:22px;top:18px;width:42px}.total-sales{color:#28a745;color:var(--accent-color);font-weight:700}.custom-table .btn-sm{white-space:nowrap}.course-pill{background:#eef2ff;border-radius:999px;color:#4338ca;display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px}.analytics{margin-bottom:1.25rem}.analytics-head{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.analytics-year{min-width:90px;width:auto}.kpi-row{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:1rem 0 1.25rem}.kpi{background:linear-gradient(135deg,#2c3e50,#4a4a4a);border-radius:10px;box-shadow:0 2px 8px #0000001f;color:#fff;display:flex;flex-direction:column;gap:2px;padding:.9rem 1rem}.kpi-label{font-size:.72rem;letter-spacing:.04em;opacity:.8;text-transform:uppercase}.kpi-value{font-size:1.65rem;font-weight:700;line-height:1.1}.kpi-sub{font-size:.78rem;opacity:.85}.analytics-cols{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1.6fr 1fr}@media (max-width:820px){.analytics-cols{grid-template-columns:1fr}}.analytics-chart h3,.analytics-locations h3{color:#64748b;color:var(--muted);font-size:.95rem;margin:0 0 .75rem}.bar-chart{align-items:flex-end;display:flex;gap:6px;height:200px}.bar-col{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%}.bar-track{align-items:flex-end;display:flex;flex:1 1;justify-content:center;width:100%}.bar-fill{background:linear-gradient(0deg,#007bff,#28a745);border-radius:4px 4px 0 0;min-height:2px;transition:height .3s ease;width:70%}.bar-label{color:#64748b;color:var(--muted);font-size:.68rem;margin-top:4px}.loc-bars{display:flex;flex-direction:column;gap:.55rem;list-style:none;margin:0;padding:0}.loc-bars li{grid-gap:.6rem;align-items:center;display:grid;font-size:.82rem;gap:.6rem;grid-template-columns:54px 1fr auto}.loc-code{color:#2c3e50;color:var(--primary-color);font-weight:700}.loc-track{background:#eef2f7;border-radius:6px;height:14px;overflow:hidden}.loc-fill{background:linear-gradient(90deg,#007bff,#28a745);border-radius:6px;display:block;height:100%}.loc-count{font-feature-settings:"tnum";color:#64748b;color:var(--muted);font-variant-numeric:tabular-nums}.kiosk-live{--bg:#0c0e13;--bg-elevated:#14171f;--surface:hsla(0,0%,100%,.045);--surface-hover:#ffffff17;--surface-solid:#1a1e28;--border:#ffffff17;--border-strong:#ffffff29;--text:#f2f4f8;--text-dim:#98a1b3;--accent:#2ecc71;--accent-strong:#27ae60;--accent-soft:#2ecc7129;--accent-glow:#2ecc7159;--danger:#ff5252;--radius-lg:22px;--radius-md:16px;--radius-sm:12px;--shadow-1:0 4px 14px #00000059;--shadow-2:0 16px 40px #00000080;--ease:cubic-bezier(0.22,1,0.36,1);background-color:var(--bg);background-image:radial-gradient(1200px 700px at 85% -10%,var(--accent-soft),#0000 60%),radial-gradient(900px 600px at -10% 110%,#5078ff12,#0000 60%);color:var(--text);display:flex;font-family:Segoe UI,system-ui,-apple-system,sans-serif;inset:0;overflow:hidden;position:fixed;-webkit-user-select:none;user-select:none;z-index:1000}.kiosk-live *{-webkit-tap-highlight-color:transparent;box-sizing:border-box}@keyframes klTileIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes klPopIn{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.kiosk-live .photo-grid-shell{height:100%;position:relative;width:58%}.kiosk-live #photo-grid{grid-gap:18px;display:grid;gap:18px;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;grid-template-columns:repeat(4,minmax(0,1fr));height:100%;overflow-y:auto;overscroll-behavior:contain;padding:104px 18px 24px;width:100%}.kiosk-live #photo-grid::-webkit-scrollbar{width:6px}.kiosk-live #photo-grid::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}@media (max-width:1100px){.kiosk-live #photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.kiosk-live{flex-direction:column}.kiosk-live .photo-grid-shell{height:60%;width:100%}.kiosk-live #preview-panel{height:40%;width:100%!important}.kiosk-live #photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.kiosk-live .filter-bar-slot{left:0;padding:16px;position:absolute;top:0;width:100%;z-index:10}.kiosk-live .filter-section{align-items:center;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);background:color-mix(in srgb,var(--surface-solid) 82%,#0000);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);display:flex;gap:16px;justify-content:space-between;padding:12px 14px}.kiosk-live .filter-group{display:flex;flex:1 1;flex-wrap:wrap;gap:10px;min-width:0}.kiosk-live .filter-button{background:var(--surface);border:1px solid #0000;border-radius:99px;color:var(--text-dim);cursor:pointer;font-size:16px;font-weight:600;min-height:50px;padding:0 22px;transition:background .2s,color .2s,transform .15s var(--ease);white-space:nowrap}.kiosk-live .filter-button:hover{background:var(--surface-hover);color:var(--text)}.kiosk-live .filter-button:active{transform:scale(.95)}.kiosk-live .filter-button.active{background:var(--accent-soft);border-color:var(--accent-glow);box-shadow:0 0 0 1px var(--accent-glow),0 4px 14px var(--accent-soft);color:var(--accent)}.kiosk-live .date-selector{flex-shrink:0}.kiosk-live .date-select-button{background:var(--surface);border:1px solid var(--border);border-radius:99px;color:var(--text);color-scheme:dark;font-size:15px;font-weight:600;min-height:50px;padding:0 16px}.kiosk-live .no-photos-message{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-dim);font-size:20px;left:50%;padding:32px 44px;position:absolute;text-align:center;top:55%;transform:translate(-50%,-50%)}.kiosk-live .photo-tile{animation:klTileIn .3s var(--ease) both;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);cursor:pointer;height:0;overflow:hidden;padding-bottom:100%;position:relative;transition:transform .25s var(--ease),box-shadow .25s,border-color .25s;width:100%}.kiosk-live .photo-tile:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2);transform:translateY(-3px)}.kiosk-live .photo-tile:active{transform:scale(.97)}.kiosk-live .photo-tile img{height:100%;inset:0;object-fit:cover;position:absolute;transition:opacity .22s ease-out;width:100%}.kiosk-live .photo-tile.in-cart{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow),var(--shadow-1)}.kiosk-live .photo-tile.in-cart:after{align-items:center;animation:klPopIn .3s var(--ease);background:var(--accent);box-shadow:0 4px 12px var(--accent-glow);content:"\2713";display:flex;font-size:18px;font-weight:700;justify-content:center;right:10px;top:10px}.kiosk-live .photo-tile.in-cart:after,.kiosk-live .tile-zoom{border-radius:50%;color:#fff;height:34px;position:absolute;width:34px;z-index:2}.kiosk-live .tile-zoom{background:#0000008c;border:none;bottom:8px;cursor:pointer;font-size:16px;left:8px;opacity:0;transition:opacity .2s}.kiosk-live .photo-tile:hover .tile-zoom{opacity:1}.kiosk-live #preview-panel{background:var(--bg-elevated);border-left:1px solid var(--border);display:flex;flex-direction:column;gap:16px;height:100%;padding:22px;width:42%}.kiosk-live .logo-section{align-items:center;display:flex;gap:22px;justify-content:center}.kiosk-live .logo-section .logo{max-height:74px;max-width:45%;object-fit:contain}.kiosk-live .kiosk-error{background:#ff525226;border:1px solid var(--danger);border-radius:var(--radius-sm);color:#ffd7d7;font-size:14px;padding:10px 14px}.kiosk-live .preview-content{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:0}.kiosk-live .preview-media{align-items:center;display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center;position:relative;width:100%}.kiosk-live #preview-image{border-radius:var(--radius-md);box-shadow:var(--shadow-2);max-height:70%;max-width:100%;object-fit:contain}.kiosk-live #preview-location{color:var(--text-dim);font-weight:600;letter-spacing:.05em}.kiosk-live #preview-button{background:var(--accent);border:none;border-radius:99px;color:#04140b;cursor:pointer;font-size:17px;font-weight:700;padding:12px 34px;transition:transform .15s var(--ease),background .2s}.kiosk-live #preview-button.in-cart{background:var(--surface-hover);color:var(--text)}.kiosk-live #preview-button:active{transform:scale(.95)}.kiosk-live .preview-nav{align-items:center;display:flex;gap:10px}.kiosk-live .preview-nav button{background:var(--surface);border:1px solid var(--border);border-radius:99px;color:var(--text);cursor:pointer;font-size:18px;height:40px;min-width:46px}.kiosk-live .preview-nav button:disabled{opacity:.35}.kiosk-live .preview-nav .preview-close{font-size:14px;padding:0 16px}.kiosk-live .preview-hint{color:var(--text-dim);text-align:center}.kiosk-live .preview-hint .muted-dim{font-size:14px;opacity:.6}.kiosk-live #cart-panel{grid-gap:16px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:grid;gap:16px;grid-template-columns:1fr auto auto;padding:16px}.kiosk-live .pricing-info{color:var(--text-dim);font-size:14px;line-height:1.6}.kiosk-live .pricing-info .highlight{color:var(--accent);font-weight:700}.kiosk-live #cart-total{font-size:22px;font-weight:700;white-space:nowrap}.kiosk-live .cart-icon{align-items:center;background:var(--accent);border:none;border-radius:50%;color:#04140b;cursor:pointer;display:flex;height:64px;justify-content:center;position:relative;transition:transform .15s var(--ease),background .2s;width:64px}.kiosk-live .cart-icon:hover{background:var(--accent-strong)}.kiosk-live .cart-icon:active{transform:scale(.94)}.kiosk-live .cart-icon:disabled{cursor:default;opacity:.4}.kiosk-live .cart-icon svg{fill:currentColor;height:30px;width:30px}.kiosk-live #cart-count{align-items:center;background:#fff;border-radius:99px;color:#04140b;display:flex;font-size:14px;font-weight:700;height:26px;justify-content:center;min-width:26px;padding:0 6px;position:absolute;right:-6px;top:-6px}.kiosk-live .kiosk-staff-link{align-self:center;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:13px;text-decoration:underline}.kiosk-live .modal{align-items:center;animation:klTileIn .2s var(--ease);background:#05070ab8;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1100}.kiosk-live .modal-content{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);display:flex;gap:22px;max-height:92vh;padding:24px;width:min(1100px,96vw)}.kiosk-live .checkout-left{display:flex;flex:1.3 1;flex-direction:column;gap:14px}.kiosk-live .checkout-right{display:flex;flex:1 1;flex-direction:column;gap:14px;min-width:0}.kiosk-live .modal-title{font-size:26px;margin:0}.kiosk-live .modal-input{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text);font-size:20px;padding:16px;text-align:center;width:100%}.kiosk-live .keyboard{display:flex;flex-direction:column;gap:8px}.kiosk-live .keyboard-row{display:flex;gap:8px}.kiosk-live .key{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;flex:1 1;font-size:18px;min-height:52px;transition:background .15s,transform .1s}.kiosk-live .key:hover{background:var(--surface-hover)}.kiosk-live .key:active{transform:scale(.94)}.kiosk-live .key.domain{color:var(--accent);flex:2 1;font-size:14px}.kiosk-live .key.clear{color:var(--danger);flex:1.4 1}.kiosk-live .key.backspace{flex:1.4 1}.kiosk-live .modal-buttons{display:flex;gap:12px;margin-top:auto}.kiosk-live .modal-button{border:none;border-radius:var(--radius-md);cursor:pointer;flex:1 1;font-size:18px;font-weight:700;min-height:54px}.kiosk-live .modal-button.primary{background:var(--accent);color:#04140b}.kiosk-live .modal-button.primary:disabled{opacity:.45}.kiosk-live .modal-button.secondary{background:var(--surface);border:1px solid var(--border);color:var(--text)}.kiosk-live .order-gallery{grid-gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);display:grid;flex:1 1;gap:8px;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));min-height:120px;overflow-y:auto;padding:10px}.kiosk-live .order-gallery img{aspect-ratio:1;border-radius:8px;object-fit:cover;width:100%}.kiosk-live .order-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 18px}.kiosk-live .order-summary p{color:var(--text-dim);display:flex;justify-content:space-between;margin:6px 0}.kiosk-live .order-summary p span{color:var(--text);font-weight:600}.kiosk-live .order-summary .total{font-size:20px;margin-top:10px}.kiosk-live .order-summary .total span{color:var(--accent)}.kiosk-live .order-complete-modal{align-items:center;animation:klTileIn .25s var(--ease);background:#05070acc;display:flex;inset:0;justify-content:center;position:fixed;z-index:1200}.kiosk-live .order-complete-content{background:var(--surface-solid);border:1px solid var(--accent-glow);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);max-width:92vw;padding:40px 48px;text-align:center}.kiosk-live .order-complete-title{color:var(--accent);font-size:30px;margin:0 0 10px}.kiosk-live .order-complete-message{color:var(--text-dim);font-size:17px;line-height:1.6}.kiosk-live .order-number{font-size:16px;margin:18px 0}.kiosk-live .order-number span{color:var(--accent);font-weight:700}.kiosk-live .order-complete-content .modal-button{min-width:160px}.kiosk-live .kiosk-screensaver{align-items:center;background:radial-gradient(circle at 50% 40%,#10151f,#05070a);cursor:pointer;display:flex;flex-direction:column;gap:26px;inset:0;justify-content:center;position:fixed;z-index:1300}.kiosk-live .kiosk-screensaver .ss-logo{max-width:320px;opacity:.95;width:60%}.kiosk-live .kiosk-screensaver .ss-touch{animation:klTileIn 1.4s ease-in-out infinite alternate;color:var(--text-dim);font-size:22px;letter-spacing:.08em;text-transform:uppercase}
/*# sourceMappingURL=main.cb029be0.css.map*/