.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-container{background:var(--surface);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}.modal-sm{width:90%;max-width:400px}.modal-md{width:90%;max-width:600px}.modal-lg{width:90%;max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text)}.modal-close{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;color:var(--text-secondary);transition:all .2s ease}.modal-close:hover{background:var(--border);color:var(--text)}.modal-content{padding:24px;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.modal-overlay{padding:16px;align-items:flex-end}.modal-container{max-height:85vh;border-radius:16px 16px 0 0;animation:slideUpMobile .3s ease}.modal-sm,.modal-md,.modal-lg{width:100%;max-width:100%}.modal-header{padding:16px 20px}.modal-title{font-size:1.1rem}.modal-content{padding:20px}}@keyframes slideUpMobile{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.toast-container{position:fixed;bottom:80px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:12px}.toast{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:8px;background:var(--surface);box-shadow:0 4px 20px #00000026;animation:slideIn .3s ease;min-width:300px;max-width:450px}.toast-success{border-left:4px solid #28a745}.toast-error{border-left:4px solid #dc3545}.toast-warning{border-left:4px solid #ffc107}.toast-info{border-left:4px solid #17a2b8}.toast-icon{font-size:20px;flex-shrink:0}.toast-success .toast-icon{color:#28a745}.toast-error .toast-icon{color:#dc3545}.toast-warning .toast-icon{color:#ffc107}.toast-info .toast-icon{color:#17a2b8}.toast-message{flex:1;font-size:.95rem;color:var(--text)}.toast-close{background:none;border:none;cursor:pointer;padding:4px;color:var(--text-secondary);transition:color .2s}.toast-close:hover{color:var(--text)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:8px 16px;font-size:.875rem}.btn-md{padding:12px 24px;font-size:1rem}.btn-lg{padding:16px 32px;font-size:1.125rem}.btn-full{width:100%}.btn-primary{background:#000;color:#fff}.btn-primary:hover:not(:disabled){background:#333;transform:translateY(-1px)}[data-theme=dark] .btn-primary{background:#fff;color:#000}[data-theme=dark] .btn-primary:hover:not(:disabled){background:#e0e0e0}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-outline{background:transparent;color:var(--text);border:2px solid var(--text)}.btn-outline:hover:not(:disabled){background:var(--text);color:var(--background)}.btn-ghost{background:transparent;color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface)}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background:#c82333}.btn-icon{display:inline-flex;align-items:center;font-size:1.1em}.btn-loader{display:flex;align-items:center;justify-content:center}.spinner{width:18px;height:18px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.input-group{display:flex;flex-direction:column;gap:6px}.input-label{font-size:.875rem;font-weight:500;color:var(--text)}.input-icon{position:absolute;left:14px;color:var(--text-secondary);display:flex;align-items:center}.input{width:100%;padding:12px 16px;font-size:1rem;border:2px solid var(--border);border-radius:8px;background:var(--background);color:var(--text);transition:all .2s ease;font-family:inherit}.input-with-icon{padding-left:44px}.input:focus{outline:none;border-color:var(--text)}.input::placeholder{color:var(--text-secondary)}.input-error .input{border-color:#dc3545}.input-error-text{font-size:.8rem;color:#dc3545}select.input{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}textarea.input{min-height:100px;resize:vertical}.filter-container{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;padding:16px;background:var(--surface);border-radius:12px;margin-bottom:24px}.filter-search{position:relative;flex:1;min-width:250px}.filter-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.filter-search-input{width:100%;padding:12px 40px;font-size:.95rem;border:2px solid var(--border);border-radius:8px;background:var(--background);color:var(--text);transition:border-color .2s}.filter-search-input:focus{outline:none;border-color:var(--text)}.filter-clear-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;display:flex;align-items:center}.filter-clear-btn:hover{color:var(--text)}.filter-select-group{display:flex;flex-direction:column;gap:4px}.filter-label{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.filter-select{padding:12px 40px 12px 14px;font-size:.95rem;border:2px solid var(--border);border-radius:8px;background:var(--background);color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;min-width:150px}.filter-reset-btn{display:flex;align-items:center;gap:6px;padding:12px 16px;font-size:.9rem;font-weight:500;background:transparent;border:2px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.filter-reset-btn:hover{border-color:var(--text);color:var(--text)}@media(max-width:768px){.filter-container{flex-direction:column;align-items:stretch;padding:12px;gap:12px;margin-bottom:16px;border-radius:10px}.filter-search{min-width:100%}.filter-search-input{padding:10px 36px;font-size:.9rem}.filter-select{width:100%;padding:10px 36px 10px 12px;font-size:.9rem}.filter-reset-btn{padding:10px 14px;font-size:.85rem}}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid var(--border);background:var(--surface);width:100%;max-width:100%;box-sizing:border-box}.data-table{width:100%;min-width:500px;border-collapse:collapse}.data-table th,.data-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border)}.data-table th{font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background:var(--background);white-space:nowrap}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s,color .2s}.data-table th.sortable:hover{background:var(--border);color:var(--text)}.th-content{display:inline-flex;align-items:center;gap:6px}.sort-icon{display:inline-flex;align-items:center;opacity:.3;transition:opacity .2s;font-size:.9rem}.sort-icon.active{opacity:1;color:var(--text)}.sort-inactive{opacity:.3}.data-table th.sortable:hover .sort-icon{opacity:.6}.data-table th.sortable:hover .sort-icon.active{opacity:1}.data-table td{font-size:.95rem;color:var(--text)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--background)}.table-row-clickable{cursor:pointer}.table-row-clickable:hover{background:var(--border)!important}.table-empty{text-align:center!important;color:var(--text-secondary);padding:40px 16px!important}.table-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px;color:var(--text-secondary)}.table-spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--text);border-radius:50%;animation:spin .8s linear infinite}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:500}.status-active{background:#28a74526;color:#28a745}.status-inactive{background:#6c757d26;color:#6c757d}.table-actions{display:flex;gap:8px}.table-action-btn{padding:6px 10px;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s;display:flex;align-items:center;gap:4px}.table-action-btn.edit{background:var(--surface);color:var(--text);border:1px solid var(--border)}.table-action-btn.edit:hover{background:var(--border)}.table-action-btn.delete{background:#dc35451a;color:#dc3545}.table-action-btn.delete:hover{background:#dc354533}.table-action-btn.view{background:#0000000d;color:var(--text)}.table-action-btn.view:hover{background:#0000001a}@media(max-width:1024px){.table-container{border-radius:8px;position:relative}.table-container:after{content:"";position:absolute;top:0;right:0;bottom:0;width:30px;background:linear-gradient(to left,var(--surface),transparent);pointer-events:none}.data-table{min-width:600px}}@media(max-width:768px){.table-container{border-radius:0;width:calc(100% + 32px);margin-left:-16px;margin-right:-16px;border-left:none;border-right:none;max-width:none}.data-table{min-width:550px}.data-table th,.data-table td{padding:10px 12px;font-size:.85rem;white-space:nowrap}.data-table th{font-size:.75rem;padding:12px}.data-table td:first-child,.data-table th:first-child{padding-left:16px;position:sticky;left:0;background:var(--surface);z-index:1}.table-actions{flex-direction:row;gap:4px;flex-wrap:nowrap}.table-action-btn{padding:6px 10px;font-size:.75rem;white-space:nowrap}.status-badge{padding:3px 8px;font-size:.7rem;white-space:nowrap}}@media(max-width:480px){.table-container{width:calc(100% + 24px);margin-left:-12px;margin-right:-12px;border-radius:0;border-left:none;border-right:none}.data-table{min-width:500px}.data-table th,.data-table td{padding:8px 10px;font-size:.8rem}.data-table th{padding:10px;font-size:.7rem}.data-table td:first-child,.data-table th:first-child{padding-left:12px}.table-action-btn{padding:5px 8px;font-size:.7rem}.status-badge{padding:2px 6px;font-size:.65rem}}.table-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px;border-top:1px solid var(--border);background:var(--surface);border-radius:0 0 12px 12px;gap:16px}.pagination-info{font-size:.85rem;color:var(--text-secondary)}.pagination-controls{display:flex;align-items:center;gap:12px}.page-size-select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text);font-size:.85rem;cursor:pointer}.pagination-btn{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text);font-size:.85rem;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--border);border-color:var(--text)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-pages{font-size:.85rem;color:var(--text);padding:0 8px}@media(max-width:768px){.table-pagination{flex-direction:column;gap:12px;align-items:stretch}.pagination-controls{justify-content:center}.pagination-info{text-align:center}}@media(max-width:480px){.data-table th,.data-table td{padding:10px 8px;font-size:.8rem}.table-action-btn{padding:6px 8px}.pagination-controls{flex-wrap:wrap}.pagination-btn{padding:8px 12px}}.confirm-dialog{padding:8px 0}.confirm-message{font-size:.95rem;line-height:1.6;color:var(--text);margin-bottom:24px}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-danger .confirm-message{color:#dc3545}.confirm-warning .confirm-message{color:#ffc107}.confirm-info .confirm-message{color:var(--text)}@media(max-width:480px){.confirm-actions{flex-direction:column-reverse}.confirm-actions button{width:100%}}.file-upload{display:flex;flex-direction:column;gap:8px}.file-upload-label{font-size:.9rem;font-weight:500;color:var(--text)}.file-upload-dropzone{border:2px dashed var(--border);border-radius:12px;padding:32px 24px;text-align:center;cursor:pointer;transition:all .3s;background:var(--surface)}.file-upload-dropzone:hover{border-color:var(--text);background:var(--background)}.file-upload-dropzone.dragging{border-color:#3b82f6;background:#3b82f60d;transform:scale(1.02)}.file-upload-dropzone.error{border-color:#dc2626}.file-upload-dropzone svg{color:var(--text-secondary);margin-bottom:12px}.dropzone-text{font-size:.95rem;color:var(--text);margin:0 0 4px}.dropzone-link{color:var(--text);font-weight:600;text-decoration:underline}.dropzone-hint{font-size:.85rem;color:var(--text-secondary);margin:0}.file-input{display:none}.file-preview{position:relative;border:2px solid var(--border);border-radius:12px;padding:16px;background:var(--surface)}.preview-image{width:100%;max-height:300px;object-fit:contain;border-radius:8px;margin-bottom:12px}.preview-file{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;color:var(--text-secondary)}.preview-filename{font-size:.9rem;font-weight:500;color:var(--text);text-align:center;word-break:break-word}.preview-filesize{font-size:.85rem;color:var(--text-secondary)}.remove-button{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;margin:0 auto}.remove-button:hover{background:#b91c1c;transform:translateY(-1px)}.file-upload-error{font-size:.85rem;color:#dc2626;margin-top:4px}@media(max-width:768px){.file-upload-dropzone{padding:24px 16px}.preview-image{max-height:200px}}.language-selector{display:flex;flex-direction:column;gap:12px}.language-label{font-size:.9rem;font-weight:500;color:var(--text)}.language-options{display:flex;gap:12px}.language-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;border:2px solid var(--border);border-radius:10px;background:var(--background);cursor:pointer;transition:all .2s}.language-option:hover{border-color:var(--text);background:var(--surface)}.language-option.active{border-color:var(--text);background:var(--text);color:var(--background)}.language-name{font-size:1rem;font-weight:600}.language-code{font-size:.75rem;font-weight:500;opacity:.7}.language-selector-compact{display:flex;align-items:center}.language-select-compact{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;outline:none}.language-select-compact:hover{border-color:var(--text)}.language-select-compact:focus{border-color:var(--text);box-shadow:0 0 0 3px #0000001a}[data-theme=dark] .language-select-compact:focus{box-shadow:0 0 0 3px #ffffff1a}@media(max-width:480px){.language-options{flex-direction:column;gap:8px}.language-option{flex-direction:row;justify-content:space-between;padding:10px 14px}}.searchable-select{position:relative;display:flex;flex-direction:column;gap:6px}.searchable-select-label{font-size:.875rem;font-weight:500;color:var(--text)}.searchable-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;font-size:1rem;border:2px solid var(--border);border-radius:8px;background:var(--background);color:var(--text);cursor:pointer;transition:all .2s ease;min-height:48px;box-sizing:border-box}.searchable-select-trigger:hover{border-color:var(--text-secondary)}.searchable-select-trigger.open{border-color:var(--text)}.searchable-select-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-value.placeholder{color:var(--text-secondary)}.searchable-select-input{flex:1;border:none!important;background:transparent!important;outline:none!important;font-size:1rem;color:var(--text);padding:0!important;box-shadow:none!important;min-width:0}.searchable-select-input::placeholder{color:var(--text-secondary)}.searchable-select-arrow{font-size:.6rem;color:var(--text-secondary);margin-left:8px;flex-shrink:0}.searchable-select-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--background);border:2px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;z-index:100;max-height:200px;overflow-y:auto}.searchable-select-option{padding:10px 16px;cursor:pointer;font-size:.95rem;color:var(--text);transition:background .15s}.searchable-select-option:hover{background:var(--surface)}.searchable-select-option.selected{background:var(--surface);font-weight:600}.searchable-select-empty{padding:12px 16px;color:var(--text-secondary);font-size:.9rem;text-align:center}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.map-picker{display:flex;flex-direction:column;gap:10px;margin-top:12px}.map-picker-search{display:flex;gap:8px}.map-picker-search-input{flex:1;padding:10px 14px;border:2px solid var(--border);border-radius:8px;font-size:14px;background:var(--background);color:var(--text);outline:none;transition:border-color .2s}.map-picker-search-input:focus{border-color:var(--primary)}.map-picker-search-btn{padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .2s}.map-picker-search-btn:hover{opacity:.9}.map-picker-search-btn:disabled{opacity:.5;cursor:not-allowed}.map-picker-results{display:flex;flex-direction:column;background:var(--surface, var(--background));border:1px solid var(--border);border-radius:8px;max-height:180px;overflow-y:auto}.map-picker-result-item{padding:10px 14px;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;font-size:13px;color:var(--text);transition:background .15s}.map-picker-result-item:last-child{border-bottom:none}.map-picker-result-item:hover{background:#3b82f614}.map-picker-container{border-radius:8px;overflow:hidden;border:2px solid var(--border)}.map-picker-container .leaflet-container{z-index:1}.map-picker-hint{font-size:12px;color:var(--text-secondary, #888);text-align:center;margin:0}.cmd-palette-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;background:#00000073;animation:cmdp-fade-in .15s ease-out}@keyframes cmdp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cmdp-slide-down{0%{opacity:0;transform:translateY(-16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cmd-palette-overlay .cmdp-card{width:100%;max-width:560px;max-height:400px;background:var(--surface, #fff);border:1px solid var(--border, #e0e0e0);border-radius:12px;box-shadow:0 16px 48px #0003;display:flex;flex-direction:column;overflow:hidden;animation:cmdp-slide-down .18s ease-out}.cmd-palette-overlay .cmdp-search-wrapper{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border, #e0e0e0)}.cmd-palette-overlay .cmdp-search-icon{flex-shrink:0;color:var(--text, #333);opacity:.45;width:18px;height:18px}.cmd-palette-overlay .cmdp-search-input{flex:1;border:none;outline:none;background:transparent;font-size:15px;color:var(--text, #333);font-family:inherit}.cmd-palette-overlay .cmdp-search-input::placeholder{color:var(--text, #999);opacity:.5}.cmd-palette-overlay .cmdp-kbd-badge{flex-shrink:0;font-size:11px;padding:2px 7px;border-radius:5px;border:1px solid var(--border, #d0d0d0);color:var(--text, #888);opacity:.6;background:var(--background, #f5f5f5);font-family:inherit}.cmd-palette-overlay .cmdp-results{flex:1;overflow-y:auto;padding:6px 0;list-style:none;margin:0}.cmd-palette-overlay .cmdp-empty{padding:24px 16px;text-align:center;color:var(--text, #888);opacity:.6;font-size:14px}.cmd-palette-overlay .cmdp-result-item{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:background .1s;color:var(--text, #333)}.cmd-palette-overlay .cmdp-result-item:hover,.cmd-palette-overlay .cmdp-result-item.cmdp-active{background:var(--primary, #4f46e5);color:#fff}.cmd-palette-overlay .cmdp-result-item.cmdp-active .cmdp-section-tag{background:#fff3;color:#fff}.cmd-palette-overlay .cmdp-result-icon{flex-shrink:0;width:20px;height:20px;opacity:.75}.cmd-palette-overlay .cmdp-result-item.cmdp-active .cmdp-result-icon{opacity:1}.cmd-palette-overlay .cmdp-result-label{flex:1;font-size:14px;font-weight:500}.cmd-palette-overlay .cmdp-section-tag{flex-shrink:0;font-size:11px;padding:2px 8px;border-radius:4px;background:var(--background, #f0f0f0);color:var(--text, #666);opacity:.7}.cmd-palette-overlay .cmdp-footer{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 16px;border-top:1px solid var(--border, #e0e0e0);font-size:11px;color:var(--text, #888);opacity:.55}.cmd-palette-overlay .cmdp-footer kbd{display:inline-block;padding:1px 5px;border-radius:3px;border:1px solid var(--border, #d0d0d0);background:var(--background, #f5f5f5);font-family:inherit;font-size:11px;margin:0 2px}.ms-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:ms-fade-in .3s ease;padding:20px}@keyframes ms-fade-in{0%{opacity:0}to{opacity:1}}.ms-popup{background:#faf7f0;border-radius:24px;width:100%;max-width:480px;overflow:hidden;box-shadow:0 24px 80px #00000040,0 0 0 1px #e67e221a;animation:ms-slide-up .4s cubic-bezier(.16,1,.3,1);background-image:radial-gradient(ellipse at 20% 50%,rgba(230,126,34,.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(255,107,53,.03) 0%,transparent 50%),linear-gradient(180deg,#faf7f0,#f5f0e6)}[data-theme=dark] .ms-popup{background:#1a2e1a;background-image:radial-gradient(ellipse at 20% 50%,rgba(230,126,34,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(255,107,53,.05) 0%,transparent 50%),linear-gradient(180deg,#1a2e1a,#162616)}@keyframes ms-slide-up{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.ms-header{position:relative;padding:32px 28px 20px;text-align:center;overflow:hidden}.ms-header-pattern{position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%232d7a3a' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;opacity:.5;pointer-events:none}.ms-title{font-size:1.5rem;font-weight:700;color:#8b4513;margin-bottom:4px;position:relative}[data-theme=dark] .ms-title{color:#ffb74d}.ms-subtitle{font-size:.9rem;color:#6b7c6b;position:relative}[data-theme=dark] .ms-subtitle{color:#8aaa8a}.ms-options{display:flex;flex-direction:column;gap:14px;padding:0 24px 16px}.ms-card{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:16px;border:2px solid transparent;cursor:pointer;transition:all .25s ease;text-align:left;position:relative;overflow:hidden;background:transparent;font-family:inherit}.ms-card:before{content:"";position:absolute;inset:0;border-radius:14px;opacity:0;transition:opacity .25s}.ms-card:hover:before{opacity:1}.ms-card:active{transform:scale(.98)}.ms-card-hostel{background:#1a1a2e0f;border-color:#1a1a2e1f}.ms-card-hostel:hover{border-color:#1a1a2e;background:#1a1a2e1a;box-shadow:0 4px 20px #1a1a2e26}[data-theme=dark] .ms-card-hostel{background:#4fc3f714;border-color:#4fc3f726}[data-theme=dark] .ms-card-hostel:hover{border-color:#4fc3f7;background:#4fc3f71f}.ms-card-grocery{background:#e67e220f;border-color:#e67e221f}.ms-card-grocery:hover{border-color:#e67e22;background:#e67e221a;box-shadow:0 4px 20px #e67e2226}[data-theme=dark] .ms-card-grocery{background:#e67e221f;border-color:#ffb74d33}[data-theme=dark] .ms-card-grocery:hover{border-color:#ffb74d;background:#e67e222e}.ms-card-icon{width:56px;height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.ms-card-icon svg{width:48px;height:48px}.ms-card-title{display:block;font-size:1.05rem;font-weight:650;color:var(--text, #1a1a1a);line-height:1.2}.ms-card-desc{display:block;font-size:.8rem;color:var(--text-secondary, #666);margin-top:2px;line-height:1.3}.ms-card-arrow{margin-left:auto;width:28px;height:28px;flex-shrink:0;opacity:0;transform:translate(-8px);transition:all .25s ease;color:var(--text-secondary)}.ms-card:hover .ms-card-arrow{opacity:1;transform:translate(0)}.ms-card-arrow svg{width:20px;height:20px}.ms-footer-note{text-align:center;font-size:.75rem;color:#8a9a8a;padding:8px 24px 20px;font-style:italic}.floating-mode-btn{position:fixed;bottom:28px;right:28px;z-index:1000;width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;display:none;align-items:center;justify-content:center;font-size:1.5rem;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 6px 24px #0003;animation:ms-float-in .5s cubic-bezier(.16,1,.3,1);padding-bottom:env(safe-area-inset-bottom);gap:6px;overflow:hidden}.floating-mode-btn:hover{transform:scale(1.1);box-shadow:0 8px 32px #0000004d}.floating-mode-btn:active{transform:scale(.95)}.fm-pill-label{display:none}@keyframes ms-float-in{0%{opacity:0;transform:scale(0) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.floating-mode-btn.to-grocery{background:linear-gradient(135deg,#e67e22,#f39c12);color:#fff}.floating-mode-btn.to-grocery:hover{background:linear-gradient(135deg,#d35400,#e67e22)}.floating-mode-btn.to-hostel{background:linear-gradient(135deg,#1a1a2e,#2a2a4e);color:#fff}.floating-mode-btn.to-hostel:hover{background:linear-gradient(135deg,#12122a,#1a1a2e)}.floating-mode-btn .fm-tooltip{position:absolute;bottom:100%;right:0;margin-bottom:8px;padding:6px 12px;border-radius:8px;font-size:.75rem;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(4px);transition:all .2s ease;background:var(--surface, #fff);color:var(--text, #000);box-shadow:0 2px 12px #00000026}.floating-mode-btn:hover .fm-tooltip{opacity:1;transform:translateY(0)}.floating-mode-btn.to-grocery:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #e67e22;animation:ms-pulse-ring 2s ease-in-out infinite}@keyframes ms-pulse-ring{0%,to{opacity:0;transform:scale(1)}50%{opacity:.3;transform:scale(1.15)}}@media(max-width:768px){.ms-popup{max-width:100%;border-radius:20px}.ms-header{padding:24px 20px 16px}.ms-title{font-size:1.3rem}.ms-options{padding:0 16px 12px}.ms-card{padding:14px 16px}.ms-card-icon{width:48px;height:48px}.ms-card-icon svg{width:40px;height:40px}.floating-mode-btn{display:flex;width:54px;height:54px;bottom:20px;right:20px;font-size:1.3rem}.floating-mode-btn.fm-slide-pill{left:16px;right:auto;bottom:20px;width:44px;height:44px;font-size:1.1rem;border-radius:22px;opacity:.65;box-shadow:0 3px 12px #00000040;animation:fm-pill-nudge 3s ease-in-out 1s 1}.floating-mode-btn.fm-slide-pill .fm-tooltip{display:none}.floating-mode-btn.fm-slide-pill .fm-pill-label{display:none;font-size:.8rem;font-weight:600;white-space:nowrap;letter-spacing:.02em}.floating-mode-btn.fm-slide-pill.fm-pill-open{width:auto;padding:0 18px 0 14px;border-radius:22px;opacity:1;box-shadow:0 6px 24px #1a1a2e66}.floating-mode-btn.fm-slide-pill.fm-pill-open .fm-pill-label{display:inline}@keyframes fm-pill-nudge{0%,to{transform:translate(0)}15%{transform:translate(6px);opacity:.9}30%{transform:translate(0)}}.floating-mode-btn.fm-slide-pill:after{display:none}}.sidebar{width:260px;height:100vh;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100;padding-top:env(safe-area-inset-top)}.sidebar-header{padding:20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.sidebar-logo{width:42px;height:42px;background:#000;color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0}[data-theme=dark] .sidebar-logo{background:#fff;color:#000}.sidebar-title{font-weight:600;font-size:1.1rem;flex:1}.sidebar-close{display:none;padding:8px;border:none;background:transparent;color:var(--text);cursor:pointer;border-radius:8px;font-size:1.25rem}.sidebar-close:hover{background:var(--border)}.sidebar-nav{flex:1;overflow-y:auto;padding:16px 12px}.nav-section{margin-bottom:24px}.nav-section-title{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);padding:0 12px;margin-bottom:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:var(--text-secondary);font-size:.95rem;font-weight:500;transition:all .2s ease;margin-bottom:4px}.nav-item:hover{background:var(--background);color:var(--text)}.nav-item.active{background:#000;color:#fff}[data-theme=dark] .nav-item.active{background:#fff;color:#000}.nav-icon{font-size:1.15rem}.nav-badge{margin-left:auto;background:#ef4444;color:#fff;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:10px;min-width:20px;text-align:center}.nav-item.active .nav-badge{background:#fff;color:#ef4444}[data-theme=dark] .nav-item.active .nav-badge{background:#000;color:#ef4444}.sidebar-footer{padding:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px;flex-shrink:0}.sidebar-user-row{display:flex;align-items:center;justify-content:space-between;width:100%}.sidebar-care-number{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f9731614;border:1px solid rgba(249,115,22,.15);border-radius:8px;color:var(--primary, #e67e22);font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s;width:100%}.sidebar-care-number:hover{background:#f9731626}.user-info{display:flex;align-items:center;gap:12px;overflow:hidden}.user-avatar{width:40px;height:40px;border-radius:10px;background:var(--border);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.user-details{display:flex;flex-direction:column;overflow:hidden}.user-name{font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.75rem;color:var(--text-secondary)}.logout-btn{padding:10px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:8px;transition:all .2s;flex-shrink:0}.logout-btn:hover{background:var(--border);color:#dc3545}.sidebar .sidebar-sub-badge{margin:12px 12px 0;padding:10px 14px;border-radius:12px;display:flex;align-items:center;gap:10px;position:relative;overflow:hidden}.sidebar .sidebar-sub-badge:before{content:"";position:absolute;inset:0;opacity:.12;border-radius:12px}.sidebar .sidebar-sub-badge.tier-monthly{background:linear-gradient(135deg,#3b82f61f,#6366f114);border:1px solid rgba(59,130,246,.25)}.sidebar .sidebar-sub-badge.tier-monthly .sub-badge-plan{color:#3b82f6}.sidebar .sidebar-sub-badge.tier-quarterly{background:linear-gradient(135deg,#f59e0b1f,#eab30814);border:1px solid rgba(245,158,11,.25)}.sidebar .sidebar-sub-badge.tier-quarterly .sub-badge-plan{color:#f59e0b}.sidebar .sidebar-sub-badge.tier-yearly{background:linear-gradient(135deg,#8b5cf61f,#a855f714);border:1px solid rgba(139,92,246,.25)}.sidebar .sidebar-sub-badge.tier-yearly .sub-badge-plan{color:#8b5cf6}.sidebar .sub-badge-icon{font-size:1.4rem;line-height:1;flex-shrink:0}.sidebar .sub-badge-info{display:flex;flex-direction:column;min-width:0}.sidebar .sub-badge-plan{font-size:.85rem;font-weight:700;letter-spacing:.5px;line-height:1.2}.sidebar .sub-badge-label{font-size:.65rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;font-weight:600}@media(max-width:1024px){.sidebar{transform:translate(-100%);transition:transform .3s ease;box-shadow:none;width:280px}.sidebar.open{transform:translate(0);box-shadow:4px 0 20px #00000026}.sidebar-close{display:flex;align-items:center;justify-content:center}.sidebar-header{padding:16px}.sidebar-nav{padding:12px 10px}.nav-item{padding:14px 16px;font-size:1rem}.sidebar-footer{padding:14px}}@media(max-width:480px){.sidebar{width:85%;max-width:300px}.sidebar-logo{width:38px;height:38px;font-size:1rem}.sidebar-title{font-size:1rem}.nav-item{padding:12px 14px;font-size:.95rem}.user-avatar{width:36px;height:36px}.user-name{font-size:.85rem}.user-role{font-size:.7rem}}.header{min-height:56px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;padding-top:env(safe-area-inset-top,0px);position:sticky;top:0;z-index:50;flex-shrink:0}.header-left{display:flex;align-items:center;gap:16px}.menu-toggle{display:none;padding:10px;border:none;background:transparent;color:var(--text);cursor:pointer;border-radius:8px;font-size:1.25rem}.menu-toggle:hover{background:var(--border)}.pg-indicator{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--background);border-radius:8px}.pg-label{font-size:.8rem;color:var(--text-secondary)}.pg-name{font-weight:600;font-size:.9rem}.pg-selector{position:relative;z-index:100}.pg-selector-btn{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--background);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.pg-selector-btn:hover{border-color:var(--text-secondary)}.pg-selector-label{font-size:.8rem;color:var(--text-secondary)}.pg-selector-value{font-weight:600;font-size:.9rem;color:var(--text);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pg-selector-icon{color:var(--text-secondary);transition:transform .2s}.pg-selector-icon.open{transform:rotate(180deg)}.pg-dropdown-backdrop{position:fixed;inset:0;z-index:999}.pg-dropdown{position:fixed;min-width:250px;max-height:400px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #00000026;z-index:1000}.pg-dropdown-item{display:flex;flex-direction:column;gap:2px;padding:12px 16px;cursor:pointer;transition:background .2s}.pg-dropdown-item:hover,.pg-dropdown-item.active{background:var(--background)}.pg-dropdown-item.active .pg-dropdown-name{color:var(--text);font-weight:600}.pg-dropdown-name{font-size:.95rem;font-weight:500;color:var(--text)}.pg-dropdown-city,.pg-dropdown-count{font-size:.8rem;color:var(--text-secondary)}.pg-dropdown-divider{height:1px;background:var(--border);margin:4px 0}.header-right{display:flex;align-items:center;gap:8px}.header-btn{padding:10px;border:none;background:transparent;color:var(--text);cursor:pointer;border-radius:8px;font-size:1.15rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.header-btn:hover{background:var(--border)}.notification-btn{position:relative}.notification-badge{position:absolute;top:4px;right:4px;width:18px;height:18px;background:#dc3545;color:#fff;font-size:.65rem;font-weight:600;border-radius:50%;display:flex;align-items:center;justify-content:center}.logout-btn:hover{background:#dc35451a;color:#dc3545}.mode-toggle-btn.grocery-active{color:#e67e22;background:#e67e221a}.mode-toggle-btn.grocery-active:hover{background:#e67e222e}[data-theme=dark] .mode-toggle-btn.grocery-active{color:#ffb74d;background:#ffb74d1f}@media(max-width:1024px){.menu-toggle{display:flex}.header{padding:0 16px;height:60px}}@media(max-width:768px){.pg-selector-label{display:none}.pg-selector-value{max-width:100px}}@media(max-width:600px){.pg-indicator{display:none}.pg-selector{display:block}.pg-selector-btn{padding:4px 8px;gap:4px}.pg-selector-value{max-width:80px;font-size:.8rem}.header{padding:0 12px}.header-btn{padding:8px}}.layout{display:flex;min-height:100vh;overflow-x:hidden;width:100%}.main-content{flex:1;margin-left:260px;display:flex;flex-direction:column;min-width:0;max-width:100%;height:100vh;overflow:hidden}.page-content{flex:1;padding:24px;overflow-y:auto;overflow-x:hidden;max-width:100%;min-width:0;width:100%}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:99}@media(max-width:1024px){.layout{overflow-x:visible}.main-content{margin-left:0;overflow-x:visible}.sidebar-overlay.active{display:block}.page-content{padding:16px;overflow-x:visible}}@media(max-width:480px){.layout,.main-content{overflow-x:visible}.page-content{padding:12px;overflow-x:visible}}.pg-watermark{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-30deg);font-size:8rem;font-weight:900;color:#00000008;white-space:nowrap;pointer-events:none;z-index:0;text-transform:uppercase;letter-spacing:.1em;-webkit-user-select:none;user-select:none}@media(max-width:768px){.pg-watermark{font-size:4rem}}@media(max-width:480px){.pg-watermark{font-size:2.5rem}}.layout-location-popup{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem .5rem;text-align:center}.layout-location-icon{color:var(--primary, #4f46e5);background:#4f46e514;border-radius:50%;width:72px;height:72px;display:flex;align-items:center;justify-content:center}.layout-location-text{margin:0;font-size:.92rem;color:var(--text-secondary, #666);line-height:1.5}.layout-location-actions{display:flex;gap:.75rem;width:100%;justify-content:center;margin-top:.5rem}.layout-loc-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem 1.2rem;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;border:none;transition:all .2s}.layout-loc-btn-secondary{background:var(--border, #e0e0e0);color:var(--text-secondary, #666)}.layout-loc-btn-secondary:hover{background:var(--border-dark, #ccc)}.layout-loc-btn-primary{background:var(--primary, #4f46e5);color:#fff}.layout-loc-btn-primary:hover{opacity:.9}.layout-loc-btn-primary:disabled{opacity:.5;cursor:not-allowed}.layout-loc-form{width:100%;display:flex;flex-direction:column;gap:.75rem;text-align:left}.layout-loc-field{display:flex;flex-direction:column;gap:4px}.layout-loc-field label{font-size:.75rem;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.03em}.layout-loc-field input,.layout-loc-field textarea{padding:.55rem .75rem;border:1px solid var(--border, #e0e0e0);border-radius:8px;font-size:.88rem;color:var(--text, #1a1a1a);background:var(--background, #fff);outline:none;font-family:inherit;resize:vertical}.layout-loc-field input:focus,.layout-loc-field textarea:focus{border-color:var(--primary, #4f46e5)}.layout-loc-capture-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem;border:1.5px dashed var(--primary, #4f46e5);border-radius:8px;background:#4f46e50a;color:var(--primary, #4f46e5);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.layout-loc-capture-btn:hover:not(:disabled){background:#4f46e51a}.layout-loc-capture-btn:disabled{opacity:.6;cursor:wait}.layout-loc-coords{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#059669;font-weight:500;padding:.4rem .6rem;background:#ecfdf5;border-radius:6px}.layout-loc-manual{display:flex;gap:.75rem}.layout-loc-half{flex:1}.customer-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--background)}.customer-header{position:fixed;top:0;left:0;right:0;min-height:64px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;padding-top:env(safe-area-inset-top,0);z-index:100}.header-left{display:flex;align-items:center;gap:12px;overflow:hidden}.header-logo{width:40px;height:40px;background:#000;color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}[data-theme=dark] .header-logo{background:#fff;color:#000}.header-info{display:flex;flex-direction:column;gap:1px;overflow:hidden}.header-title{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-user{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.header-btn{width:40px;height:40px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:10px;font-size:1.15rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.header-btn:hover{background:var(--background);color:var(--text)}.header-btn.logout:hover{color:#dc3545}.customer-main{flex:1;padding:80px 20px;padding-top:calc(80px + env(safe-area-inset-top,0px));max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.customer-nav{position:fixed;bottom:0;left:0;right:0;height:68px;background:var(--surface);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-evenly;padding:0 8px;padding-bottom:env(safe-area-inset-bottom,0);z-index:100}.customer-nav .nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0;flex:1;border-radius:10px;border:none;background:transparent;color:var(--text-secondary);font-size:.65rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;min-width:0}.customer-nav .nav-item svg{font-size:1.3rem}.customer-nav .nav-item:hover{color:var(--text)}.customer-nav .nav-item.active{color:#000;background:#000;color:#fff}[data-theme=dark] .customer-nav .nav-item.active{background:#fff;color:#000}.customer-call-fab{position:fixed;bottom:80px;right:16px;width:48px;height:48px;border-radius:50%;background:#22c55e;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #22c55e66;z-index:90;text-decoration:none;transition:transform .2s,box-shadow .2s}.customer-call-fab:hover{transform:scale(1.1);box-shadow:0 6px 20px #22c55e80}@media(min-width:768px){.customer-call-fab{bottom:24px;right:24px}}@media(min-width:768px){.customer-main{padding:90px 24px 24px}.customer-nav{display:none}.customer-header{height:70px;padding:0 24px}.header-brand:after{content:"";display:block;width:1px;height:24px;background:var(--border);margin-left:16px}}.customer-food-menu-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem;animation:cfm-fadeIn .2s ease}@keyframes cfm-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes cfm-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.customer-food-menu{background:var(--surface, #fff);border-radius:16px;width:100%;max-width:700px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:cfm-slideUp .3s ease-out}.cfm-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface, #fff);z-index:1;border-radius:16px 16px 0 0}.cfm-title{margin:0;font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:.5rem;color:var(--text)}.cfm-close{width:36px;height:36px;border:none;background:var(--background);color:var(--text-secondary);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .2s}.cfm-close:hover{background:var(--border);color:var(--text)}.cfm-table-wrap{padding:1rem 1.5rem 1.5rem}.cfm-table{width:100%;border-collapse:collapse;font-size:.88rem}.cfm-table th{text-align:left;padding:.65rem .75rem;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:2px solid var(--border)}.cfm-table td{padding:.7rem .75rem;border-bottom:1px solid var(--border);color:var(--text);line-height:1.4}.cfm-table .cfm-day-name{font-weight:600;white-space:nowrap;display:flex;align-items:center;gap:.4rem}.cfm-table tr.cfm-today td{background:#f59e0b14}.cfm-today-badge{display:inline-block;background:#f59e0b;color:#fff;font-size:.6rem;font-weight:700;padding:.15rem .4rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.cfm-cards{display:none;padding:1rem;gap:.6rem;flex-direction:column}.cfm-day-card{background:var(--background);border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem}.cfm-day-card.cfm-today{border-color:#f59e0b;background:#f59e0b0f}.cfm-day-card-title{margin:0 0 .6rem;font-size:.95rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:.4rem}.cfm-card-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.35rem 0;gap:.75rem}.cfm-card-row:not(:last-child){border-bottom:1px solid var(--border)}.cfm-meal-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);flex-shrink:0;min-width:65px}.cfm-meal-value{font-size:.85rem;color:var(--text);text-align:right;line-height:1.4}@media(max-width:600px){.cfm-table-wrap{display:none}.cfm-cards{display:flex}.customer-food-menu{max-height:90vh;margin:0;border-radius:16px}.cfm-header{padding:1rem 1.25rem}}.login-page{height:100vh;display:flex;background:var(--background);overflow:hidden}.login-branding{flex:1;background:linear-gradient(135deg,#7c2d12,#431407,#1c0a00);display:flex;flex-direction:column;justify-content:center;padding:40px 48px;position:relative;overflow:hidden}.login-branding:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 25% 25%,rgba(255,255,255,.03) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(255,255,255,.02) 0%,transparent 50%);pointer-events:none}.login-branding:after{content:"";position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(249,115,22,.15) 0%,transparent 70%);top:-200px;right:-200px;animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-30px,30px) scale(1.1)}}.branding-content{position:relative;z-index:1;max-width:540px}.brand-logo{display:flex;align-items:center;gap:16px;margin-bottom:32px}.logo-icon{width:52px;height:52px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff}.logo-icon svg{width:28px;height:28px}.logo-text{display:flex;flex-direction:column}.logo-title{font-size:1.25rem;font-weight:700;color:#fff;letter-spacing:-.5px}.logo-tagline{font-size:.8rem;color:#fff9;margin-top:2px}.brand-hero{margin-bottom:28px}.brand-hero h1{font-size:1.8rem;font-weight:800;color:#fff;line-height:1.2;margin-bottom:10px;letter-spacing:-1px}.brand-hero p{font-size:.88rem;color:#ffffffa6;line-height:1.5;max-width:440px}.brand-features{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin-bottom:24px}.feature-item{display:flex;align-items:flex-start;gap:10px}.feature-check{width:20px;height:20px;min-width:20px;background:#22c55e33;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#22c55e;font-size:10px;margin-top:2px}.feature-content{display:flex;flex-direction:column;gap:2px}.feature-title{font-size:.85rem;font-weight:600;color:#fff}.feature-desc{font-size:.75rem;color:#ffffff73;line-height:1.3}.brand-stats{display:flex;align-items:center;gap:28px;padding:20px 0;border-top:1px solid rgba(255,255,255,.1)}.stat-item{display:flex;flex-direction:column;gap:2px}.stat-value{font-size:1.5rem;font-weight:800;color:#fff}.stat-label{font-size:.875rem;color:#ffffff80}.stat-divider{width:1px;height:40px;background:#ffffff26}.branding-footer{position:relative;z-index:1}.branding-footer p{font-size:.8rem;color:#fff6}.login-panel{width:100%;max-width:480px;height:100vh;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 48px;position:relative;box-shadow:-20px 0 60px #0000001a;animation:slideInRight .6s ease-out forwards;overflow:hidden}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.login-controls{position:absolute;top:24px;right:24px;display:flex;align-items:center;gap:12px}.theme-toggle{width:44px;height:44px;border-radius:12px;border:1px solid var(--border);background:var(--background);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.theme-toggle:hover{background:var(--border);transform:translateY(-2px)}.login-container{width:100%;max-width:380px}.login-header{text-align:center;margin-bottom:28px}.login-header h2{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:6px;letter-spacing:-.5px}.login-header p{font-size:.9rem;color:var(--text-secondary)}.login-tabs{display:flex;gap:8px;margin-bottom:24px;background:var(--background);padding:5px;border-radius:12px}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;background:transparent;border-radius:8px;font-size:.85rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.tab-btn:hover:not(.active){color:var(--text)}.tab-btn.active{background:var(--surface);color:var(--text);box-shadow:0 2px 8px #00000014}.login-form{display:flex;flex-direction:column;gap:18px}.form-group label{font-size:.875rem;font-weight:600;color:var(--text)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;color:var(--text-secondary);font-size:18px;pointer-events:none;transition:color .2s}.input-wrapper:focus-within .input-icon{color:#ea580c}.input-wrapper input{width:100%;padding:14px 14px 14px 44px;background:var(--background);border:2px solid var(--border);border-radius:10px;font-size:.95rem;color:var(--text);transition:all .2s ease}.input-wrapper input::placeholder{color:var(--text-secondary);opacity:.6}.input-wrapper input:focus{outline:none;border-color:#ea580c;background:var(--surface);box-shadow:0 0 0 4px #3b82f61a}.password-toggle{position:absolute;right:14px;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover{color:var(--text)}.submit-btn{width:100%;padding:14px 20px;background:linear-gradient(135deg,#ea580c,#c2410c);border:none;border-radius:10px;font-size:.95rem;font-weight:600;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s ease;margin-top:4px;box-shadow:0 4px 14px #3b82f659}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3b82f673}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.btn-loader{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.qr-section{text-align:center;padding:20px 0}.qr-placeholder{width:120px;height:120px;margin:0 auto 24px;background:var(--background);border:2px dashed var(--border);border-radius:20px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.qr-instruction{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:8px}.qr-subtext{font-size:.9rem;color:var(--text-secondary);margin-bottom:24px}.camera-buttons{display:flex;gap:12px}.camera-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;background:var(--background);border:2px solid var(--border);border-radius:14px;color:var(--text);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:600}.camera-btn:hover{border-color:#ea580c;background:#3b82f60d}.qr-scanner-container{width:100%}#qr-reader{border-radius:16px;overflow:hidden;margin-bottom:16px;border:2px solid var(--border)}#qr-reader video{border-radius:14px}#qr-reader__dashboard{padding:12px!important;background:var(--background)!important}#qr-reader__dashboard button{background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--text)!important;padding:10px 18px!important;border-radius:8px!important;font-size:.875rem!important;font-weight:600!important}.cancel-btn{width:100%;padding:14px 24px;background:#ef4444;border:none;border-radius:12px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:#dc2626}.mobile-brand{display:none;position:absolute;bottom:24px;left:0;right:0;text-align:center}.mobile-brand span{font-size:.875rem;font-weight:600;color:var(--text-secondary)}@media(max-width:1024px){.login-branding{padding:36px}.brand-hero h1{font-size:2.25rem}.login-panel{max-width:480px;padding:36px}}@media(max-width:900px){.login-branding{display:none}.login-panel{max-width:100%;box-shadow:none}.mobile-brand{display:block}}@media(max-width:480px){.login-panel{padding:24px}.login-controls{top:16px;right:16px}.theme-toggle{width:40px;height:40px}.login-header h2{font-size:1.5rem}.camera-buttons{flex-direction:column}.submit-btn{padding:14px 20px}}[data-theme=dark] .login-panel{box-shadow:-20px 0 60px #0000004d}[data-theme=dark] .tab-btn.active{box-shadow:0 2px 8px #0003}[data-theme=dark] .input-wrapper input:focus{box-shadow:0 0 0 4px #3b82f633}.login-controls .language-selector select{background:var(--background);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:10px 12px;font-weight:500}.login-page .forgot-password-row{text-align:right;margin:-.25rem 0 .5rem}.login-page .forgot-password-link{background:none;border:none;color:var(--primary);font-size:.85rem;cursor:pointer;font-weight:500;padding:0}.login-page .forgot-password-link:hover{text-decoration:underline}.login-page .forgot-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:login-fadeIn .2s ease}.login-page .forgot-modal{background:var(--background, #fff);border-radius:16px;padding:2rem;width:90%;max-width:420px;position:relative;box-shadow:0 20px 60px #00000026;animation:login-slideDown .3s ease}.login-page .forgot-close{position:absolute;top:.75rem;right:1rem;background:none;border:none;font-size:1.5rem;color:var(--text-secondary, #888);cursor:pointer;line-height:1}.login-page .forgot-modal h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text)}.login-page .forgot-desc{font-size:.875rem;color:var(--text-secondary, #888);margin:0 0 1.25rem;line-height:1.5}.login-page .forgot-input-wrap{position:relative;margin-bottom:1rem}.login-page .forgot-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary, #888)}.login-page .forgot-input-wrap input{width:100%;padding:.75rem .75rem .75rem 2.5rem;border:1px solid var(--border, #ddd);border-radius:10px;font-size:.95rem;background:var(--surface, #f8f9fa);color:var(--text);outline:none;transition:border-color .2s;box-sizing:border-box}.login-page .forgot-input-wrap input:focus{border-color:var(--primary)}.login-page .forgot-error{font-size:.875rem;color:#ef4444;background:#ef444414;border-radius:8px;padding:.625rem .75rem;margin-bottom:1rem;line-height:1.4}.login-page .forgot-success-msg{font-size:.95rem;color:var(--primary);font-weight:500;margin:0 0 .5rem;text-align:center}.login-page .forgot-success-icon{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:1.75rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.login-page .forgot-accounts{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;max-height:240px;overflow-y:auto}.login-page .forgot-account-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--border, #ddd);border-radius:10px;background:var(--surface, #f8f9fa);cursor:pointer;transition:all .2s;text-align:left;width:100%}.login-page .forgot-account-card:hover{border-color:var(--primary);background:#6366f10a}.login-page .forgot-account-card:disabled{opacity:.6;cursor:not-allowed}.login-page .forgot-acc-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.login-page .forgot-acc-info{display:flex;flex-direction:column;min-width:0}.login-page .forgot-acc-name{font-weight:600;font-size:.9rem;color:var(--text)}.login-page .forgot-acc-detail{font-size:.78rem;color:var(--text-secondary, #888)}.login-page .forgot-acc-email{font-size:.78rem;color:var(--primary)}.login-page .forgot-acc-no-email{font-size:.78rem;color:#ef4444;font-style:italic}.login-page .forgot-back{background:none;border:none;color:var(--text-secondary, #888);font-size:.875rem;cursor:pointer;padding:.5rem 0;width:100%;text-align:center}.login-page .forgot-back:hover{color:var(--text)}.login-page .forgot-submit{width:100%;padding:.75rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.login-page .forgot-submit:hover{opacity:.9}.login-page .forgot-submit:disabled{opacity:.6;cursor:not-allowed}@keyframes login-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes login-slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.register-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:24px;background:#0a0a0f;position:relative;overflow:hidden}.register-page:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(139,92,246,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(139,92,246,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0}.register-page:after{content:"";position:fixed;width:500px;height:500px;background:radial-gradient(circle,rgba(139,92,246,.12) 0%,transparent 70%);top:-150px;right:-150px;pointer-events:none;z-index:0}.register-page .register-container{width:100%;max-width:700px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:40px;position:relative;z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.register-page .register-container:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#8b5cf6,#06b6d4,transparent);border-radius:20px 20px 0 0}.register-page .register-header{text-align:center;margin-bottom:40px}.register-page .register-header h1{font-size:2rem;font-weight:800;margin:0 0 10px;color:#fff;letter-spacing:-.5px;background:linear-gradient(135deg,#fff,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.register-page .pg-info{font-size:1rem;color:#ffffff80;margin:0}.register-page .pg-info strong{color:#8b5cf6;font-weight:600}.register-page .register-form{display:flex;flex-direction:column;gap:28px}.register-page .form-section{display:flex;flex-direction:column;gap:16px;padding:24px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:16px;position:relative;transition:all .3s}.register-page .form-section:hover{border-color:#8b5cf633;background:#8b5cf605}.register-page .form-section h3{font-size:1rem;font-weight:700;margin:0;color:#fff;text-transform:uppercase;letter-spacing:1.5px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:8px}.register-page .form-section h3:before{content:"";width:3px;height:18px;background:linear-gradient(180deg,#8b5cf6,#06b6d4);border-radius:2px}.register-page .required-note{margin-top:8px;font-size:.85rem;color:#f87171;font-weight:500}.register-page .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.register-page input,.register-page select{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;border-radius:10px!important;transition:all .3s!important}.register-page input:focus,.register-page select:focus{border-color:#8b5cf6!important;box-shadow:0 0 20px #8b5cf626!important;background:#8b5cf60d!important;outline:none!important}.register-page input::placeholder{color:#ffffff4d!important}.register-page label{color:#ffffffb3!important;font-size:.85rem;font-weight:500;letter-spacing:.3px}.register-page .address-textarea{width:100%;padding:14px;border:1px solid rgba(255,255,255,.12)!important;border-radius:10px!important;font-family:inherit;font-size:.95rem;background:#ffffff0d!important;color:#fff!important;resize:vertical;transition:all .3s}.register-page .address-textarea:focus{outline:none;border-color:#8b5cf6!important;box-shadow:0 0 20px #8b5cf626;background:#8b5cf60d!important}.register-page .address-textarea::placeholder{color:#ffffff4d}.register-page .error-banner{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#f871711a;border:1px solid rgba(248,113,113,.3);color:#fca5a5;border-radius:12px;font-size:.9rem;font-weight:500}.register-page .form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px}.register-page .form-actions button{min-width:130px;padding:14px 28px;border-radius:12px;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .3s;text-transform:uppercase;letter-spacing:.5px}.register-page .form-actions button[type=submit]{background:linear-gradient(135deg,#8b5cf6,#6366f1)!important;color:#fff!important;border:none!important;box-shadow:0 0 30px #8b5cf64d}.register-page .form-actions button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 0 50px #8b5cf680}.register-page .form-actions button[type=submit]:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.register-page .form-actions button[type=button]{background:transparent!important;color:#fff9!important;border:1px solid rgba(255,255,255,.15)!important}.register-page .form-actions button[type=button]:hover{border-color:#ffffff4d!important;color:#fff!important}.register-page .success-state{text-align:center;padding:60px 30px;display:flex;flex-direction:column;align-items:center;gap:20px}.register-page .success-state svg{color:#4ade80;filter:drop-shadow(0 0 20px rgba(74,222,128,.5))}.register-page .success-state h2{font-size:2rem;font-weight:800;margin:0;color:#fff;background:linear-gradient(135deg,#fff,#4ade80);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.register-page .success-state p{font-size:1rem;color:#fff9;margin:0;max-width:450px}.register-page .success-message{padding:18px 24px;background:#4ade801a;border:1px solid rgba(74,222,128,.3);color:#4ade80;border-radius:12px;font-weight:500}.register-page .success-state button{margin-top:20px;background:linear-gradient(135deg,#8b5cf6,#6366f1)!important;color:#fff!important;border:none!important;padding:14px 40px!important;border-radius:12px!important;font-weight:700!important;font-size:1rem!important;box-shadow:0 0 30px #8b5cf64d;text-transform:uppercase;letter-spacing:.5px}.register-page .success-state button:hover{transform:translateY(-2px);box-shadow:0 0 50px #8b5cf680}.register-page .error-state{text-align:center;padding:60px 30px;display:flex;flex-direction:column;align-items:center;gap:20px}.register-page .error-state svg{color:#f87171;filter:drop-shadow(0 0 20px rgba(248,113,113,.5))}.register-page .error-state h2{font-size:2rem;font-weight:800;margin:0;color:#fff}.register-page .error-state p{font-size:1rem;color:#fff9;margin:0}.register-page .error-state button{margin-top:20px;background:linear-gradient(135deg,#8b5cf6,#6366f1)!important;color:#fff!important;border:none!important;padding:14px 40px!important;border-radius:12px!important;font-weight:700!important;box-shadow:0 0 30px #8b5cf64d}.register-page .loader{width:48px;height:48px;border:3px solid rgba(255,255,255,.1);border-top-color:#8b5cf6;border-radius:50%;animation:reg-spin .8s linear infinite;margin:80px auto}@keyframes reg-spin{to{transform:rotate(360deg)}}.register-page .terms-section{margin-top:0}.register-page .terms-box{max-height:200px;overflow-y:auto;overflow-x:hidden;padding:18px;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:12px;max-width:100%}.register-page .terms-box::-webkit-scrollbar{width:6px}.register-page .terms-box::-webkit-scrollbar-track{background:transparent}.register-page .terms-box::-webkit-scrollbar-thumb{background:#8b5cf64d;border-radius:3px}.register-page .terms-content{font-family:inherit;font-size:.9rem;line-height:1.6;color:#fff9!important;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;margin:0;max-width:100%;overflow-x:hidden}.register-page .terms-checkbox{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:14px;background:#8b5cf60d;border:1px solid rgba(139,92,246,.15);border-radius:10px;margin-top:12px;transition:all .3s}.register-page .terms-checkbox:hover{border-color:#8b5cf64d;background:#8b5cf614}.register-page .terms-checkbox input[type=checkbox]{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:#8b5cf6}.register-page .terms-checkbox span{font-size:.95rem;color:#fffc!important;font-weight:500}.register-page .bed-selection-section{background:#8b5cf608;border-color:#8b5cf61f!important}.register-page .section-note{font-size:.9rem;color:#ffffff80;margin:0 0 16px}.register-page .selected-bed-info{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#4ade801a;border:1px solid rgba(74,222,128,.3);border-radius:10px;margin-bottom:16px;color:#4ade80;font-weight:500;font-size:.95rem}.register-page .clear-selection-btn{background:transparent;border:1px solid rgba(74,222,128,.4);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:.8rem;color:#4ade80;transition:all .3s}.register-page .clear-selection-btn:hover{background:#4ade801a}.register-page .bed-groups{display:flex;flex-direction:column;gap:16px}.register-page .bed-group{border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden;background:#0003}.register-page .bed-group-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06)}.register-page .room-label{font-weight:700;color:#fff;font-size:.95rem}.register-page .sharing-label{font-size:.8rem;color:#8b5cf6;text-transform:capitalize;font-weight:600;padding:4px 10px;background:#8b5cf61a;border-radius:20px}.register-page .bed-options{display:flex;flex-wrap:wrap;gap:10px;padding:14px}.register-page .bed-option{display:flex;flex-direction:column;align-items:center;padding:14px 22px;border:2px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff05;cursor:pointer;transition:all .3s;min-width:110px}.register-page .bed-option:hover{border-color:#8b5cf666;transform:translateY(-3px);box-shadow:0 10px 30px #0000004d;background:#8b5cf60d}.register-page .bed-option.selected{border-color:#8b5cf6;background:#8b5cf626;box-shadow:0 0 25px #8b5cf633}.register-page .bed-name{font-weight:700;color:#fff;font-size:.95rem}.register-page .bed-price{font-size:.8rem;color:#ffffff80;margin-top:4px}.register-page .bed-option.selected .bed-name{color:#c4b5fd}.register-page .bed-option.selected .bed-price{color:#8b5cf6}.register-page .file-upload-area{border-color:#ffffff1f!important;background:#ffffff08!important;border-style:dashed!important}.register-page .file-upload-area:hover{border-color:#8b5cf666!important;background:#8b5cf60d!important}@media(max-width:768px){.register-page{padding:16px;align-items:flex-start}.register-page .register-container{padding:24px 20px;border-radius:16px}.register-page .register-header h1{font-size:1.5rem}.register-page .form-section{padding:18px}.register-page .form-grid{grid-template-columns:1fr}.register-page .form-actions{flex-direction:column-reverse}.register-page .form-actions button{width:100%}.register-page .selected-bed-info{flex-direction:column;gap:10px;text-align:center}}.public-landing-container{min-height:100vh;background:#000;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#fff!important;position:relative;overflow-x:hidden}.public-landing-container h1,.public-landing-container h2,.public-landing-container h3,.public-landing-container p,.public-landing-container span,.public-landing-container a,.public-landing-container label{color:inherit}.public-landing-container .landing-nav{position:sticky;top:0;z-index:500;background:#000000f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);padding:0 15px}.public-landing-container .nav-content{display:flex;align-items:center;justify-content:space-between;max-width:800px;margin:0 auto;padding:10px 0}.public-landing-container .nav-links{display:flex;gap:20px;overflow-x:auto;scrollbar-width:none}.public-landing-container .nav-links::-webkit-scrollbar{display:none}.public-landing-container .nav-link{color:#fff9;text-decoration:none;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;transition:color .3s;padding:4px 0}.public-landing-container .nav-link:hover{color:#fff}.public-landing-container .nav-login-btn{background:#fff;color:#000!important;border:none;padding:8px 20px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.public-landing-container .nav-login-btn:hover{background:#ffffffe6}.public-landing-container #photos,.public-landing-container #about,.public-landing-container #rooms,.public-landing-container #contact{scroll-margin-top:55px}.public-landing-container .loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;position:relative;z-index:1}.public-landing-container .spinner{width:50px;height:50px;border:2px solid rgba(255,255,255,.1);border-top-color:#fff;border-radius:50%;animation:plc-spin 1s linear infinite}.public-landing-container .loading-spinner p{margin-top:20px;color:#fff9;font-size:.9rem;letter-spacing:.5px}@keyframes plc-spin{to{transform:rotate(360deg)}}.public-landing-container .error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;padding:20px;position:relative;z-index:1}.public-landing-container .error-message h2{font-size:2.5rem;font-weight:700;margin-bottom:10px;color:#fff}.public-landing-container .error-message p{color:#fff9;font-size:1rem;margin-bottom:30px}.public-landing-container .btn-primary{background:#fff;color:#000!important;border:none;padding:14px 40px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.public-landing-container .btn-primary:hover{background:#ffffffe6;transform:translateY(-2px)}.public-landing-container .pg-header{padding:20px 20px 30px;position:relative;z-index:1}.public-landing-container .header-content{display:flex;flex-direction:column;align-items:center;max-width:600px;margin:0 auto;text-align:center}.public-landing-container .header-text{flex:1}.public-landing-container .logo-container{position:fixed;top:60px;right:15px;z-index:100}.public-landing-container .pg-logo{width:60px;height:60px;border-radius:12px;object-fit:cover;border:1px solid rgba(255,255,255,.2);background:#111}.public-landing-container .logo-placeholder{width:60px;height:60px;border-radius:12px;background:#111;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;border:1px solid rgba(255,255,255,.2)}.public-landing-container .pg-name{font-size:2rem;font-weight:700;margin:0 0 6px;color:#fff!important;letter-spacing:-.5px;text-align:center}.public-landing-container .pg-city{font-size:.85rem;color:#ffffff80!important;margin:0;font-weight:500;letter-spacing:2px;text-transform:uppercase;text-align:center}.public-landing-container .photo-filter-pills{display:flex;gap:8px;padding:0 20px 15px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.public-landing-container .photo-filter-pills::-webkit-scrollbar{display:none}.public-landing-container .filter-pill{padding:8px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff9;font-size:.75rem;cursor:pointer;white-space:nowrap;transition:all .3s;text-transform:uppercase;letter-spacing:.5px}.public-landing-container .filter-pill.active{background:#fff;color:#000!important;border-color:#fff}.public-landing-container .filter-pill:hover:not(.active){border-color:#ffffff80;color:#fff}.public-landing-container .photo-gallery{padding:0;position:relative;z-index:1;margin-bottom:30px}.public-landing-container .carousel{position:relative;display:flex;align-items:center;justify-content:center;width:100%}.public-landing-container .carousel-image-container{width:100%;overflow:hidden;position:relative;cursor:pointer}.public-landing-container .carousel-image{width:100%;height:70vh;max-height:500px;object-fit:cover;display:block}.public-landing-container .click-to-expand{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:10px 20px;border-radius:4px;font-size:.85rem;opacity:0;transition:opacity .3s;pointer-events:none}.public-landing-container .carousel-image-container:hover .click-to-expand{opacity:1}.public-landing-container .carousel-btn{position:absolute;background:#000000b3;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1rem;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .3s;z-index:10}.public-landing-container .carousel-btn:hover{background:#fff3}.public-landing-container .carousel-btn.prev{left:15px}.public-landing-container .carousel-btn.next{right:15px}.public-landing-container .carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:15px;padding:0 20px}.public-landing-container .dot{width:8px;height:8px;border-radius:50%;background:#ffffff4d;cursor:pointer;transition:all .3s}.public-landing-container .dot.active{background:#fff;transform:scale(1.2)}.public-landing-container .quick-stats{display:flex;justify-content:center;gap:15px;padding:20px;position:relative;z-index:1}.public-landing-container .stat-card{background:#111;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px 30px;text-align:center;flex:1;max-width:180px}.public-landing-container .stat-value{display:block;font-size:1.5rem;font-weight:700;color:#fff!important}.public-landing-container .stat-label{display:block;font-size:.7rem;color:#ffffff80!important;margin-top:5px;text-transform:uppercase;letter-spacing:1px}.public-landing-container .about-section{background:#0a0a0a;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);padding:30px 20px;position:relative;z-index:1}.public-landing-container .about-section h3{font-size:1.2rem;font-weight:600;margin:0 0 15px;color:#fff;text-transform:uppercase;letter-spacing:1px}.public-landing-container .about-text{color:#ffffffb3;font-size:1rem;line-height:1.7;margin:0;white-space:pre-line}.public-landing-container .room-availability{padding:30px 20px;position:relative;z-index:1}.public-landing-container .room-availability h3{font-size:1.2rem;font-weight:600;margin:0 0 20px;color:#fff;text-transform:uppercase;letter-spacing:1px}.public-landing-container .sharing-type-cards{display:grid;grid-template-columns:1fr;gap:15px}.public-landing-container .sharing-card{background:#111;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;transition:all .3s}.public-landing-container .sharing-card:hover{border-color:#ffffff4d}.public-landing-container .sharing-card.full{opacity:.5}.public-landing-container .sharing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.public-landing-container .sharing-type-label{font-weight:600;color:#fff;font-size:1.1rem;text-transform:capitalize}.public-landing-container .availability-badge{padding:5px 12px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.public-landing-container .availability-badge.available{background:#ffffff1a;color:#4ade80!important;border:1px solid rgba(74,222,128,.3)}.public-landing-container .availability-badge.full{background:#ffffff1a;color:#f87171!important;border:1px solid rgba(248,113,113,.3)}.public-landing-container .sharing-price{margin-bottom:15px}.public-landing-container .price-amount{font-size:1.5rem;font-weight:700;color:#fff}.public-landing-container .price-period{font-size:.85rem;color:#fff6;font-weight:400}.public-landing-container .sharing-rooms{display:flex;flex-wrap:wrap;gap:8px}.public-landing-container .room-tag{background:#ffffff0d;padding:6px 12px;border-radius:6px;font-size:.75rem;color:#fff9;border:1px solid rgba(255,255,255,.1)}.public-landing-container .room-tag.full{text-decoration:line-through;opacity:.4}.public-landing-container .no-rooms{color:#fff6;text-align:center;padding:30px 20px;font-style:italic}.public-landing-container .contact-section{padding:30px 20px 120px;position:relative;z-index:1;background:#0a0a0a;border-top:1px solid rgba(255,255,255,.1)}.public-landing-container .contact-section h3{font-size:1.2rem;font-weight:600;margin:0 0 20px;color:#fff;text-transform:uppercase;letter-spacing:1px}.public-landing-container .address-card{display:flex;align-items:flex-start;gap:12px;padding:18px;background:#111;border:1px solid rgba(255,255,255,.1);border-radius:12px;margin-bottom:15px}.public-landing-container .address-icon{font-size:1.3rem;margin-top:2px}.public-landing-container .address-text{color:#ffffffb3;font-size:.95rem;line-height:1.5;margin:0}.public-landing-container .contact-actions{display:grid;grid-template-columns:1fr;gap:10px}.public-landing-container .contact-action-btn{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#111;border:1px solid rgba(255,255,255,.1);border-radius:12px;text-decoration:none;color:inherit;cursor:pointer;transition:all .3s}.public-landing-container .contact-action-btn:hover{background:#1a1a1a;border-color:#ffffff4d}.public-landing-container .directions-btn{background:#1a1a1a}.public-landing-container .action-icon{font-size:1.4rem}.public-landing-container .action-text{display:flex;flex-direction:column}.public-landing-container .action-label{font-size:.65rem;color:#fff6;text-transform:uppercase;letter-spacing:1px}.public-landing-container .action-value{font-size:.95rem;font-weight:600;color:#fff}.public-landing-container .pg-footer{background:#000;padding:15px;text-align:center;color:#ffffff4d;font-size:.75rem;position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.1)}.public-landing-container .floating-register-container{position:fixed;bottom:0;left:0;right:0;padding:15px 20px;background:linear-gradient(to top,rgba(0,0,0,1) 0%,rgba(0,0,0,.95) 60%,transparent 100%);z-index:1000}.public-landing-container .floating-register-btn{display:block;width:100%;max-width:400px;margin:0 auto;background:#fff;color:#000!important;border:none;padding:16px 40px;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s;text-transform:uppercase;letter-spacing:1px}.public-landing-container .floating-register-btn:hover{background:#ffffffe6;transform:translateY(-2px)}.public-landing-container .floating-register-btn:active{transform:translateY(0)}.public-landing-container .fullscreen-viewer{position:fixed;inset:0;background:#000000fa;z-index:2000;display:flex;align-items:center;justify-content:center;animation:plc-fadeIn .3s ease}@keyframes plc-fadeIn{0%{opacity:0}to{opacity:1}}.public-landing-container .fullscreen-close{position:absolute;top:15px;right:15px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;width:44px;height:44px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s;z-index:2001}.public-landing-container .fullscreen-close:hover{background:#fff3}.public-landing-container .fullscreen-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;width:50px;height:50px;border-radius:50%;font-size:1.2rem;cursor:pointer;transition:all .3s;z-index:2001}.public-landing-container .fullscreen-nav:hover{background:#fff3}.public-landing-container .fullscreen-nav.prev{left:15px}.public-landing-container .fullscreen-nav.next{right:15px}.public-landing-container .fullscreen-image-container{max-width:95vw;max-height:90vh;position:relative}.public-landing-container .fullscreen-image{max-width:100%;max-height:85vh;object-fit:contain}.public-landing-container .fullscreen-counter{position:absolute;bottom:-35px;left:50%;transform:translate(-50%);background:#ffffff1a;padding:6px 16px;border-radius:20px;color:#fff9;font-size:.8rem}@media(max-width:640px){.public-landing-container .pg-header{padding:15px 15px 20px}.public-landing-container .pg-name{font-size:1.6rem}.public-landing-container .pg-city{font-size:.75rem}.public-landing-container .logo-container{top:55px;right:12px}.public-landing-container .pg-logo,.public-landing-container .logo-placeholder{width:50px;height:50px;border-radius:10px}.public-landing-container .logo-placeholder{font-size:22px}.public-landing-container .nav-links{gap:15px}.public-landing-container .nav-link{font-size:.75rem}.public-landing-container .nav-login-btn{padding:6px 14px;font-size:.75rem}.public-landing-container .carousel-image{height:60vh;min-height:350px;max-height:none}.public-landing-container .carousel-btn{width:36px;height:36px;font-size:.9rem}.public-landing-container .carousel-btn.prev{left:10px}.public-landing-container .carousel-btn.next{right:10px}.public-landing-container .quick-stats{flex-direction:row;gap:10px;padding:15px}.public-landing-container .stat-card{padding:15px 10px;max-width:none}.public-landing-container .stat-value{font-size:1.3rem}.public-landing-container .stat-label{font-size:.65rem}.public-landing-container .fullscreen-nav{width:40px;height:40px;font-size:1rem}.public-landing-container .fullscreen-nav.prev{left:10px}.public-landing-container .fullscreen-nav.next{right:10px}.public-landing-container .fullscreen-close{width:38px;height:38px;font-size:1.3rem;top:12px;right:12px}}@media(min-width:480px){.public-landing-container .contact-actions{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(min-width:768px){.public-landing-container .photo-gallery{padding:0 20px;margin-bottom:40px}.public-landing-container .photo-filter-pills{padding:0 20px 15px;justify-content:center}.public-landing-container .carousel{max-width:800px;margin:0 auto}.public-landing-container .carousel-image-container{border-radius:16px;border:1px solid rgba(255,255,255,.1)}.public-landing-container .carousel-image{height:450px;max-height:450px}.public-landing-container .sharing-type-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.policy-page{min-height:100vh;background:var(--background);color:var(--text);display:flex;justify-content:center;padding:2rem 1rem}.policy-page .policy-container{max-width:800px;width:100%}.policy-page .policy-header{margin-bottom:2rem;text-align:center}.policy-page .policy-pg-name{font-size:.95rem;color:var(--text-secondary, #888);margin:0 0 .5rem}.policy-page .policy-title{font-size:1.75rem;font-weight:700;margin:0}.policy-page .policy-content{background:var(--surface, var(--background));border:1px solid var(--border);border-radius:12px;padding:2rem;line-height:1.8;font-size:.95rem;white-space:pre-wrap}.policy-page .policy-content h3{font-size:1.1rem;font-weight:600;margin:1.5rem 0 .75rem}.policy-page .policy-content h3:first-child{margin-top:0}.policy-page .policy-content p{margin:.5rem 0}.policy-page .policy-content ul{margin:.5rem 0;padding-left:1.5rem}.policy-page .policy-content li{margin:.25rem 0}.policy-page .policy-back-link{display:inline-flex;align-items:center;gap:.25rem;margin-top:1.5rem;color:var(--primary);text-decoration:none;font-size:.9rem;font-weight:500}.policy-page .policy-back-link:hover{text-decoration:underline}.policy-page .policy-loader{display:flex;justify-content:center;padding:4rem 0}.policy-page .policy-spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:policy-spin .8s linear infinite}@keyframes policy-spin{to{transform:rotate(360deg)}}.policy-page .policy-error{text-align:center;padding:3rem;color:var(--text-secondary, #888)}@media(max-width:600px){.policy-page{padding:1rem .75rem}.policy-page .policy-content{padding:1.25rem;font-size:.9rem}.policy-page .policy-title{font-size:1.4rem}}.pg-register-page{min-height:100vh;background:var(--background);color:var(--text);display:flex;justify-content:center;padding:2rem 1rem}.pg-register-page .pg-register-container{max-width:720px;width:100%}.pg-register-page .pg-register-header{text-align:center;margin-bottom:2rem}.pg-register-page .pg-register-header h1{font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.pg-register-page .pg-register-header p{color:var(--text-secondary, #888);margin:0;font-size:.95rem}.pg-register-page .pg-register-form{display:flex;flex-direction:column;gap:1.5rem}.pg-register-page .form-section{background:var(--surface, var(--background));border:1px solid var(--border);border-radius:12px;padding:1.5rem}.pg-register-page .form-section h3{font-size:1.05rem;font-weight:600;margin:0 0 1rem}.pg-register-page .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.pg-register-page .form-grid{grid-template-columns:1fr}}.pg-register-page .subscription-section{background:var(--surface, var(--background));border:1px solid var(--border);border-radius:12px;padding:1.5rem}.pg-register-page .subscription-section h3{font-size:1.05rem;font-weight:600;margin:0 0 .5rem}.pg-register-page .subscription-note{color:var(--text-secondary, #888);font-size:.85rem;margin:0 0 1.25rem}.pg-register-page .subscription-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:700px){.pg-register-page .subscription-cards{grid-template-columns:1fr}}.pg-register-page .sub-card{position:relative;border:2px solid var(--border);border-radius:14px;padding:1.5rem 1.25rem;cursor:pointer;transition:all .25s ease;background:var(--background);text-align:center;overflow:hidden}.pg-register-page .sub-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 24px #3b82f61a}.pg-register-page .sub-card.selected{border-color:var(--primary);background:linear-gradient(135deg,#3b82f60a,#3b82f614);box-shadow:0 4px 20px #3b82f626}.pg-register-page .sub-card .card-badge{position:absolute;top:0;right:0;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.7rem;font-weight:700;padding:.3rem .75rem;border-radius:0 12px;text-transform:uppercase;letter-spacing:.5px}.pg-register-page .sub-card .card-check{position:absolute;top:12px;left:12px;width:24px;height:24px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all .2s}.pg-register-page .sub-card.selected .card-check{background:var(--primary);border-color:var(--primary);color:#fff}.pg-register-page .sub-card .plan-name{font-size:1rem;font-weight:600;margin:.5rem 0 .75rem;color:var(--text)}.pg-register-page .sub-card .plan-price{font-size:2rem;font-weight:800;color:var(--primary);line-height:1}.pg-register-page .sub-card .plan-price .currency{font-size:1.1rem;font-weight:600;vertical-align:top;margin-right:2px}.pg-register-page .sub-card .plan-period{font-size:.8rem;color:var(--text-secondary, #888);margin-top:.25rem}.pg-register-page .sub-card .plan-per-month{font-size:.8rem;color:var(--text-secondary, #888);margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.pg-register-page .free-badge{display:inline-block;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .75rem;border-radius:20px;margin-top:.75rem}.pg-register-page .form-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:.5rem}.pg-register-page .success-state{text-align:center;padding:3rem 1.5rem;background:var(--surface, var(--background));border:1px solid var(--border);border-radius:12px}.pg-register-page .success-state svg{color:var(--success, #10b981);margin-bottom:1rem}.pg-register-page .success-state h2{font-size:1.5rem;margin:0 0 .75rem}.pg-register-page .success-state p{color:var(--text-secondary, #888);margin:.25rem 0}.pg-register-page .success-state .success-message{background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:8px;padding:1rem;margin:1.25rem 0;font-size:.9rem;color:var(--text)}.pg-register-page .pg-reg-loader{display:flex;justify-content:center;padding:4rem 0}.pg-register-page .pg-reg-spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:pg-reg-spin .8s linear infinite}@keyframes pg-reg-spin{to{transform:rotate(360deg)}}.rp-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0a1a,#1a1a2e,#0d0d20);position:relative;overflow:hidden;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}.rp-bg-effects{position:fixed;inset:0;pointer-events:none;z-index:0}.rp-grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:60px 60px;animation:rp-grid-drift 20s linear infinite}@keyframes rp-grid-drift{0%{transform:translate(0)}to{transform:translate(60px,60px)}}.rp-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5}.rp-glow-1{width:400px;height:400px;background:radial-gradient(circle,rgba(99,102,241,.3) 0%,transparent 70%);top:-100px;left:-100px;animation:rp-float-1 12s ease-in-out infinite}.rp-glow-2{width:350px;height:350px;background:radial-gradient(circle,rgba(139,92,246,.25) 0%,transparent 70%);bottom:-80px;right:-80px;animation:rp-float-2 15s ease-in-out infinite}.rp-glow-success{background:radial-gradient(circle,rgba(34,197,94,.3) 0%,transparent 70%)!important}@keyframes rp-float-1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,30px) scale(1.1)}66%{transform:translate(-20px,50px) scale(.95)}}@keyframes rp-float-2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-30px,-40px) scale(1.15)}}.rp-card{position:relative;z-index:1;background:#ffffff0d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:40px 36px;width:90%;max-width:420px;box-shadow:0 20px 60px #00000080,inset 0 1px #ffffff1a;animation:rp-card-enter .5s ease-out;display:flex;flex-direction:column;align-items:center}@keyframes rp-card-enter{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.rp-card-error{border-color:#ef44444d;box-shadow:0 20px 60px #00000080,0 0 40px #ef44441a}.rp-card-success{border-color:#22c55e4d;box-shadow:0 20px 60px #00000080,0 0 40px #22c55e1a}.rp-loading-spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.1);border-top-color:#6366f1;border-radius:50%;animation:rp-spin .8s linear infinite;margin-bottom:16px}@keyframes rp-spin{to{transform:rotate(360deg)}}.rp-loading-text{color:#fff9;font-size:.95rem;margin:0}.rp-timer-section{text-align:center;margin-bottom:20px}.rp-timer-ring{position:relative;width:120px;height:120px;margin:0 auto 12px}.rp-timer-svg{width:100%;height:100%;transform:rotate(-90deg)}.rp-timer-bg{fill:none;stroke:#ffffff14;stroke-width:6}.rp-timer-progress{fill:none;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke .5s ease;filter:drop-shadow(0 0 8px currentColor)}.rp-timer-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:color .5s ease}.rp-timer-digits{font-size:1.75rem;font-weight:800;font-family:JetBrains Mono,Fira Code,SF Mono,monospace;letter-spacing:2px;text-shadow:0 0 20px currentColor}.rp-timer-label{color:#ffffff80;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;margin:0}.rp-user-badge{display:inline-flex;align-items:center;gap:8px;background:#6366f126;border:1px solid rgba(99,102,241,.3);border-radius:20px;padding:8px 18px;margin-bottom:24px;color:#a5b4fc;font-size:.875rem;font-weight:600}.rp-badge-icon{font-size:16px;color:#6366f1}.rp-form{width:100%;display:flex;flex-direction:column;gap:16px}.rp-form-title{color:#fff;font-size:1.25rem;font-weight:700;text-align:center;margin:0 0 4px;letter-spacing:-.5px}.rp-input-group{position:relative;display:flex;align-items:center}.rp-input-icon{position:absolute;left:14px;color:#ffffff59;font-size:18px;pointer-events:none;transition:color .2s;z-index:1}.rp-input-group:focus-within .rp-input-icon{color:#6366f1}.rp-input{width:100%;padding:14px 44px 14px 42px;background:#ffffff0f;border:1.5px solid rgba(255,255,255,.12);border-radius:12px;font-size:.95rem;color:#fff;outline:none;transition:all .25s ease;box-sizing:border-box}.rp-input::placeholder{color:#ffffff4d}.rp-input:focus{border-color:#6366f1;background:#6366f114;box-shadow:0 0 0 4px #6366f126,0 0 20px #6366f11a}.rp-input:disabled{opacity:.5;cursor:not-allowed}.rp-toggle-pw{position:absolute;right:12px;background:none;border:none;color:#fff6;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s;font-size:18px}.rp-toggle-pw:hover{color:#ffffffb3}.rp-error-msg{background:#ef44441f;border:1px solid rgba(239,68,68,.3);border-radius:10px;padding:10px 14px;font-size:.85rem;color:#fca5a5;text-align:center;line-height:1.4}.rp-btn{padding:14px 24px;border-radius:12px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .25s ease;border:none;text-transform:uppercase;letter-spacing:1px}.rp-btn-primary{width:100%;background:linear-gradient(135deg,#6366f1,#8b5cf6,#6366f1);background-size:200% 200%;color:#fff;box-shadow:0 4px 20px #6366f166;animation:rp-gradient-shift 3s ease-in-out infinite}@keyframes rp-gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.rp-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 30px #6366f180}.rp-btn-primary:active:not(:disabled){transform:translateY(0)}.rp-btn-primary:disabled{opacity:.5;cursor:not-allowed;animation:none}.rp-btn-secondary{background:transparent;border:1.5px solid rgba(255,255,255,.2);color:#fffc;margin-top:8px}.rp-btn-secondary:hover{border-color:#fff6;background:#ffffff0d;color:#fff}.rp-error-icon{color:#ef4444;margin-bottom:16px;filter:drop-shadow(0 0 20px rgba(239,68,68,.5));animation:rp-pulse-error 2s ease-in-out infinite}@keyframes rp-pulse-error{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.rp-error-title{color:#fff;font-size:1.5rem;font-weight:800;margin:0 0 8px;text-align:center;letter-spacing:-.5px}.rp-error-desc{color:#ffffff80;font-size:.9rem;text-align:center;margin:0 0 24px;line-height:1.5}.rp-success-icon{color:#22c55e;margin-bottom:16px;filter:drop-shadow(0 0 20px rgba(34,197,94,.5));animation:rp-success-bounce .6s ease-out}@keyframes rp-success-bounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.rp-success-title{color:#fff;font-size:1.5rem;font-weight:800;margin:0 0 8px;text-align:center;letter-spacing:-.5px}.rp-success-desc{color:#fff9;font-size:.95rem;text-align:center;margin:0 0 20px;line-height:1.5}.rp-redirect-info{background:#22c55e1a;border:1px solid rgba(34,197,94,.25);border-radius:10px;padding:10px 20px;color:#86efac;font-size:.875rem;font-weight:600;text-align:center;animation:rp-pulse-success 1.5s ease-in-out infinite}@keyframes rp-pulse-success{0%,to{opacity:1}50%{opacity:.7}}@media(max-width:480px){.rp-card{padding:32px 24px;border-radius:16px;max-width:100%;margin:0 12px}.rp-timer-ring{width:100px;height:100px}.rp-timer-digits{font-size:1.4rem}.rp-error-title,.rp-success-title{font-size:1.25rem}.rp-form-title{font-size:1.1rem}.rp-btn{padding:12px 20px;font-size:.9rem}}@media(max-width:360px){.rp-card{padding:24px 18px}.rp-timer-ring{width:90px;height:90px}.rp-timer-digits{font-size:1.2rem}}.spl-screen{position:fixed;inset:0;z-index:9999;background:#0c0a14;display:flex;align-items:center;justify-content:center;overflow:hidden;font-family:Rajdhani,Segoe UI,system-ui,sans-serif;transition:opacity .5s ease}.spl-fade-out{opacity:0;pointer-events:none}.spl-grid{position:absolute;inset:-50px;background-image:linear-gradient(rgba(234,88,12,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(234,88,12,.04) 1px,transparent 1px);background-size:50px 50px}.spl-power-svg{position:absolute;inset:0;width:100%;height:100%;z-index:1}.spl-pwr{fill:none;stroke:url(#splGrad1);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:250;stroke-dashoffset:500;opacity:0}.spl-pa{animation:splTravel 3.5s ease-in-out infinite}.spl-pb{animation:splTravel 4s ease-in-out .6s infinite}.spl-pc{animation:splTravel 3s ease-in-out 1.2s infinite}.spl-pd{animation:splTravel 4.5s ease-in-out .3s infinite}.spl-pe{animation:splTravel 3.2s ease-in-out 1.8s infinite}.spl-pf{animation:splTravel 3.8s ease-in-out .9s infinite}@keyframes splTravel{0%{stroke-dashoffset:500;opacity:0}8%{opacity:.7}55%{opacity:.4}to{stroke-dashoffset:0;opacity:0}}.spl-jn{position:absolute;width:5px;height:5px;border-radius:50%;background:#f97316;opacity:0;box-shadow:0 0 10px #f97316;animation:splJPulse 2.5s ease-in-out infinite}.spl-jn1{top:20%;left:30%;animation-delay:.2s}.spl-jn2{top:40%;left:70%;animation-delay:1s}.spl-jn3{top:60%;left:20%;animation-delay:1.8s}.spl-jn4{top:80%;left:60%;animation-delay:.6s}.spl-jn5{top:30%;left:80%;animation-delay:2.2s}.spl-jn6{top:70%;left:40%;animation-delay:1.4s}@keyframes splJPulse{0%,to{opacity:0;transform:scale(.5)}35%{opacity:1;transform:scale(2)}65%{opacity:.4;transform:scale(1)}}.spl-pt{position:absolute;border-radius:50%;opacity:0;animation:splPUp linear infinite}.spl-pt1{width:2px;height:2px;left:12%;background:#fb923c;animation-duration:7s}.spl-pt2{width:3px;height:3px;left:28%;background:#f97316;animation-duration:5s;animation-delay:1s}.spl-pt3{width:2px;height:2px;left:45%;background:#fdba74;animation-duration:8s;animation-delay:2s}.spl-pt4{width:4px;height:4px;left:58%;background:#f97316;animation-duration:6s;animation-delay:.5s;box-shadow:0 0 6px #f97316}.spl-pt5{width:2px;height:2px;left:72%;background:#fb923c;animation-duration:9s;animation-delay:3s}.spl-pt6{width:3px;height:3px;left:85%;background:#fdba74;animation-duration:6s;animation-delay:1.5s}.spl-pt7{width:2px;height:2px;left:35%;background:#f97316;animation-duration:7s;animation-delay:4s}.spl-pt8{width:3px;height:3px;left:65%;background:#fb923c;animation-duration:5s;animation-delay:2.5s}@keyframes splPUp{0%{transform:translateY(100vh);opacity:0}8%{opacity:.6}90%{opacity:.4}to{transform:translateY(-10vh);opacity:0}}.spl-glow{position:absolute;border-radius:50%;filter:blur(100px);animation:splGPulse 6s ease-in-out infinite}.spl-g1{width:280px;height:280px;background:#f9731614;top:8%;left:8%}.spl-g2{width:220px;height:220px;background:#fb923c0f;bottom:12%;right:8%;animation-delay:3s}@keyframes splGPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.spl-content{position:relative;z-index:10;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.spl-logo{opacity:0;transform:scale(4);transition:none}.spl-logo.spl-go{animation:splLogoIn .6s cubic-bezier(.34,1.56,.64,1) forwards}.spl-logo-box{width:84px;height:84px;border-radius:20px;background:linear-gradient(135deg,#ea580c,#f97316,#fb923c);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 40px #f9731673}.spl-logo-text{color:#fff;font-size:1.9rem;font-weight:900;text-shadow:0 2px 6px rgba(0,0,0,.25);line-height:1;font-family:Orbitron,sans-serif}.spl-logo-text span{font-size:.6rem;display:block;font-weight:500;letter-spacing:.2em;opacity:.85;margin-top:3px;font-family:Rajdhani,sans-serif}@keyframes splLogoIn{0%{opacity:0;transform:scale(4);filter:blur(10px)}60%{opacity:1;transform:scale(.95);filter:blur(0)}to{opacity:1;transform:scale(1)}}.spl-title{font-size:2.4rem;font-weight:700;letter-spacing:.04em;min-height:3rem;display:flex;justify-content:center;flex-wrap:nowrap;font-family:Orbitron,sans-serif}.spl-letter{display:inline-block;opacity:0;transform:scale(5);animation:splLetterIn .35s cubic-bezier(.16,1,.3,1) forwards;color:#fffffff2;text-shadow:0 0 20px rgba(249,115,22,.3);position:relative;will-change:transform,opacity}.spl-letter:after{content:attr(data-char);position:absolute;left:0;top:0;color:#f97316;opacity:0;animation:splGlitch .12s steps(2) forwards;animation-delay:inherit}.spl-space{width:.35em}@keyframes splLetterIn{0%{opacity:0;transform:scale(5);filter:blur(6px)}50%{opacity:1;filter:blur(0)}75%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes splGlitch{0%{opacity:.7;transform:translate(-2px,1px)}50%{opacity:.4;transform:translate(2px,-1px)}to{opacity:0;transform:translate(0)}}.spl-tagline{font-size:1rem;color:#fbbf9299;letter-spacing:.05em;max-width:320px;line-height:1.5;min-height:1.5rem;display:flex;justify-content:center;flex-wrap:wrap;font-family:Rajdhani,sans-serif;font-weight:600}.spl-tl{display:inline-block;opacity:0;transform:scale(3);animation:splTlIn .2s cubic-bezier(.16,1,.3,1) forwards;will-change:transform,opacity}.spl-sp{width:.3em}@keyframes splTlIn{0%{opacity:0;transform:scale(3);filter:blur(3px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.spl-divider{width:40px;height:1.5px;background:linear-gradient(90deg,transparent,#f97316,transparent);opacity:0;transition:opacity .4s ease 1.8s}.spl-divider.spl-go{opacity:1}.spl-quote{font-size:.78rem;color:#fbbf924d;font-style:italic;max-width:240px;line-height:1.4;margin:0;opacity:0;transform:scale(2);transition:all .5s ease 2s;font-family:Rajdhani,sans-serif}.spl-quote.spl-go{opacity:1;transform:scale(1)}.spl-loader{display:flex;gap:5px;margin-top:8px;opacity:0;transition:opacity .3s ease 2.2s}.spl-loader.spl-go{opacity:1}.spl-loader span{width:5px;height:5px;background:#f97316;border-radius:50%;animation:splBounce 1.4s ease-in-out infinite}.spl-loader span:nth-child(2){animation-delay:.2s}.spl-loader span:nth-child(3){animation-delay:.4s}@keyframes splBounce{0%,80%,to{transform:scale(.5);opacity:.3}40%{transform:scale(1.2);opacity:1}}.spl-ak{position:absolute;bottom:12px;right:14px;font-size:.5rem;font-weight:700;letter-spacing:.2em;color:#f9731626;z-index:10}@media(max-width:480px){.spl-title{font-size:1.7rem;min-height:2.2rem}.spl-logo-box{width:70px;height:70px;border-radius:18px}.spl-logo-text{font-size:1.6rem}.spl-tagline{font-size:.88rem}.spl-quote{font-size:.7rem}}.dev-panel{min-height:100vh;background:#0c0a14;display:flex;align-items:center;justify-content:center;padding:20px;font-family:Segoe UI,sans-serif}.dev-panel__card{background:#161224;border:1px solid #2a2440;border-radius:16px;padding:40px;max-width:480px;width:100%;box-shadow:0 0 40px #f973160d}.dev-panel__title{color:#f97316;font-size:24px;font-weight:700;margin:0 0 4px;letter-spacing:1px;text-transform:uppercase}.dev-panel__subtitle{color:#6b6580;font-size:13px;margin:0 0 32px;letter-spacing:.5px}.dev-panel__status-section{background:#1a1530;border:1px solid #2a2440;border-radius:10px;padding:16px 20px;margin-bottom:24px}.dev-panel__status-row{display:flex;align-items:center;justify-content:space-between}.dev-panel__status-indicator{display:flex;align-items:center;gap:8px}.dev-panel__dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dev-panel__dot--green{background:#22c55e;box-shadow:0 0 8px #22c55e99}.dev-panel__dot--red{background:#ef4444;box-shadow:0 0 8px #ef444499;animation:dev-panel-pulse 1.5s ease-in-out infinite}@keyframes dev-panel-pulse{0%,to{opacity:1}50%{opacity:.4}}.dev-panel__status-text{font-size:14px;font-weight:600}.dev-panel__status-text--green{color:#22c55e}.dev-panel__status-text--red{color:#ef4444}.dev-panel__enabled-since{color:#6b6580;font-size:12px;margin-top:8px}.dev-panel__toggle-section{display:flex;align-items:center;gap:14px;margin-bottom:28px}.dev-panel__toggle-btn{width:52px;height:28px;border-radius:14px;background:#2a2440;border:none;cursor:pointer;position:relative;transition:background .3s;padding:0}.dev-panel__toggle-btn--active{background:#f97316}.dev-panel__toggle-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .3s}.dev-panel__toggle-btn--active .dev-panel__toggle-knob{transform:translate(24px)}.dev-panel__toggle-label{color:#a09ab0;font-size:14px}.dev-panel__field{margin-bottom:20px}.dev-panel__label{display:block;color:#a09ab0;font-size:13px;font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.dev-panel__input,.dev-panel__textarea{width:100%;background:#1a1530;border:1px solid #2a2440;border-radius:8px;padding:12px 14px;color:#e0dce8;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s;box-sizing:border-box}.dev-panel__input:focus,.dev-panel__textarea:focus{border-color:#f97316}.dev-panel__textarea{resize:vertical}.dev-panel__save-btn{width:100%;padding:14px;background:#f97316;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;letter-spacing:.5px;text-transform:uppercase;transition:background .2s,transform .1s}.dev-panel__save-btn:hover{background:#ea6c0e}.dev-panel__save-btn:active{transform:scale(.98)}.maintenance-page{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0c0a14;display:flex;align-items:center;justify-content:center;overflow:hidden;font-family:Segoe UI,sans-serif;z-index:99999}.maintenance-page__grid{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(249,115,22,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(249,115,22,.04) 1px,transparent 1px);background-size:60px 60px;animation:mp-grid-move 20s linear infinite}@keyframes mp-grid-move{0%{transform:translate(0)}to{transform:translate(60px,60px)}}.maintenance-page__power-line{position:absolute;height:2px;background:linear-gradient(90deg,transparent,#f97316,transparent);opacity:0;animation:mp-power-travel 4s ease-in-out infinite}.maintenance-page__power-line--1{top:20%;left:0;width:40%;animation-delay:0s}.maintenance-page__power-line--2{top:55%;right:0;width:35%;animation-delay:1.5s}.maintenance-page__power-line--3{top:80%;left:10%;width:50%;animation-delay:3s}@keyframes mp-power-travel{0%{opacity:0;transform:translate(-100%)}20%{opacity:.8}80%{opacity:.8}to{opacity:0;transform:translate(200%)}}.maintenance-page__particle{position:absolute;bottom:-10px;background:#f97316;border-radius:50%;animation:mp-float-up linear infinite;pointer-events:none}@keyframes mp-float-up{0%{transform:translateY(0) scale(1);opacity:0}10%{opacity:.6}90%{opacity:.2}to{transform:translateY(-100vh) scale(.3);opacity:0}}.maintenance-page__content{position:relative;z-index:10;text-align:center;padding:20px;max-width:600px}.maintenance-page__icon{position:relative;width:80px;height:80px;margin:0 auto 30px}.maintenance-page__gear{position:absolute;top:0;left:10px;width:50px;height:50px;animation:mp-gear-spin 6s linear infinite}.maintenance-page__gear-center{position:absolute;top:50%;left:50%;width:20px;height:20px;background:#f97316;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px #f9731680}.maintenance-page__gear-center:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;background:#0c0a14;border-radius:50%;transform:translate(-50%,-50%)}.maintenance-page__gear-tooth{position:absolute;top:50%;left:50%;width:10px;height:44px;margin-left:-5px;margin-top:-22px}.maintenance-page__gear-tooth:before,.maintenance-page__gear-tooth:after{content:"";position:absolute;left:0;width:10px;height:10px;background:#f97316;border-radius:2px}.maintenance-page__gear-tooth:before{top:0}.maintenance-page__gear-tooth:after{bottom:0}.maintenance-page__gear-tooth--1{transform:rotate(0)}.maintenance-page__gear-tooth--2{transform:rotate(30deg)}.maintenance-page__gear-tooth--3{transform:rotate(60deg)}.maintenance-page__gear-tooth--4{transform:rotate(90deg)}.maintenance-page__gear-tooth--5{transform:rotate(120deg)}.maintenance-page__gear-tooth--6{transform:rotate(150deg)}@keyframes mp-gear-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.maintenance-page__wrench{position:absolute;bottom:0;right:5px;transform:rotate(-30deg)}.maintenance-page__wrench-head{width:18px;height:18px;border:4px solid #a09ab0;border-radius:50%;border-bottom-color:transparent;border-right-color:transparent;transform:rotate(45deg)}.maintenance-page__wrench-handle{width:5px;height:28px;background:#a09ab0;margin-left:2px;margin-top:-4px;border-radius:0 0 3px 3px}.maintenance-page__title{font-size:42px;font-weight:900;color:#f97316;text-transform:uppercase;letter-spacing:6px;margin:0 0 8px;position:relative;animation:mp-glitch-text 3s infinite;text-shadow:0 0 20px rgba(249,115,22,.4),0 0 40px rgba(249,115,22,.2)}.maintenance-page__title:before,.maintenance-page__title:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.maintenance-page__title:before{color:#ff6b6b;animation:mp-glitch-1 2s infinite linear alternate-reverse;clip-path:polygon(0 0,100% 0,100% 35%,0 35%)}.maintenance-page__title:after{color:#4ecdc4;animation:mp-glitch-2 2s infinite linear alternate-reverse;clip-path:polygon(0 65%,100% 65%,100% 100%,0 100%)}@keyframes mp-glitch-text{0%,92%,to{transform:none}93%{transform:skew(2deg)}94%{transform:skew(-2deg)}95%{transform:none}96%{transform:skew(4deg)}97%{transform:none}}@keyframes mp-glitch-1{0%,90%,to{transform:none}92%{transform:translate(3px,-2px)}94%{transform:translate(-3px,2px)}96%{transform:none}}@keyframes mp-glitch-2{0%,90%,to{transform:none}91%{transform:translate(-3px,2px)}93%{transform:translate(3px,-2px)}95%{transform:none}}.maintenance-page__tagline{color:#6b6580;font-size:16px;margin:0 0 40px;letter-spacing:3px;text-transform:uppercase}.maintenance-page__info{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:40px}.maintenance-page__info-card{background:#f973160f;border:1px solid rgba(249,115,22,.15);border-radius:12px;padding:16px 28px;min-width:240px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.maintenance-page__info-card--wide{min-width:300px;max-width:460px}.maintenance-page__info-label{display:block;color:#f97316;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:6px}.maintenance-page__info-value{display:block;color:#e0dce8;font-size:16px;line-height:1.5}.maintenance-page__countdown{font-family:Courier New,monospace;font-size:1.5rem;font-weight:700;color:#f97316;letter-spacing:.05em}.maintenance-page__progress{width:200px;height:3px;background:#f973161a;border-radius:2px;margin:0 auto;overflow:hidden}.maintenance-page__progress-bar{width:40%;height:100%;background:#f97316;border-radius:2px;animation:mp-progress-slide 2s ease-in-out infinite}@keyframes mp-progress-slide{0%{transform:translate(-100%)}to{transform:translate(400%)}}.maintenance-page__watermark{position:absolute;bottom:20px;right:24px;font-size:14px;font-weight:800;color:#f9731626;letter-spacing:4px;-webkit-user-select:none;user-select:none}@media(max-width:600px){.maintenance-page__title{font-size:24px;letter-spacing:3px}.maintenance-page__info-card{min-width:auto;padding:14px 20px}.maintenance-page__info-card--wide{min-width:auto;max-width:90vw}}.dashboard{max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box;overflow-x:hidden}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:var(--text-secondary)}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:24px;width:100%}@media(min-width:700px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}.occupancy-chart{padding:20px 0}.occupancy-bar{height:24px;border-radius:12px;background:var(--background);display:flex;overflow:hidden;margin-bottom:20px}.occupancy-fill{height:100%;transition:width .5s ease}.occupancy-fill.occupied{background:#dc3545}.occupancy-fill.available{background:#28a745}.occupancy-fill.maintenance{background:#ffc107}.occupancy-legend{display:flex;flex-wrap:wrap;gap:20px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary)}.legend-color{width:14px;height:14px;border-radius:4px}.legend-color.occupied{background:#dc3545}.legend-color.available{background:#28a745}.legend-color.maintenance{background:#ffc107}.payment-status-section{margin-top:32px}.payment-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:20px}.payment-status-card{background:var(--surface);border-radius:12px;padding:16px;cursor:pointer;transition:all .3s ease;border:2px solid transparent;position:relative;overflow:hidden}.payment-status-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transition:height .3s ease}.payment-status-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.payment-status-card:hover:before{height:100%;opacity:.05}.overdue-card{border-color:#dc262633}.overdue-card:before{background:linear-gradient(135deg,#dc2626,#991b1b)}.due-soon-card{border-color:#f59e0b33}.due-soon-card:before{background:linear-gradient(135deg,#f59e0b,#d97706)}.upcoming-card{border-color:#3b82f633}.upcoming-card:before{background:linear-gradient(135deg,#3b82f6,#2563eb)}.paid-card{border-color:#10b98133}.paid-card:before{background:linear-gradient(135deg,#10b981,#059669)}.payment-card-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.payment-icon-wrapper{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.overdue-icon{background:#dc26261a;color:#dc2626}.due-soon-icon{background:#f59e0b1a;color:#f59e0b}.upcoming-icon{background:#3b82f61a;color:#3b82f6}.paid-icon{background:#10b9811a;color:#10b981}.payment-card-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.payment-card-body{display:flex;flex-direction:column;gap:4px}.payment-count{font-size:2rem;font-weight:700;color:var(--text);line-height:1}.payment-amount{font-size:1rem;font-weight:600;color:var(--text-secondary)}.payment-amount.success{color:#10b981}.payment-subtitle{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.quick-stats{display:flex;flex-direction:column;gap:16px}.quick-stat-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--background);border-radius:10px}.quick-stat-label{font-size:.9rem;color:var(--text-secondary)}.quick-stat-value{font-size:1.25rem;font-weight:600}@media(max-width:768px){.dashboard{margin:0}}@media(max-width:700px){.dashboard-grid{gap:16px}.payment-status-grid{grid-template-columns:repeat(2,1fr);gap:16px}.payment-count{font-size:2rem}.payment-amount{font-size:1rem}}@media(max-width:600px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.dashboard-grid{margin-top:16px}.occupancy-legend{flex-direction:column;gap:8px}.legend-item{font-size:.8rem}.quick-stat-item{padding:12px;flex-direction:column;align-items:flex-start;gap:4px}.quick-stat-label{font-size:.8rem}.quick-stat-value{font-size:1.1rem}.payment-status-section{margin-top:24px}.payment-status-card{padding:16px}.payment-card-header{margin-bottom:12px}.payment-icon-wrapper{width:36px;height:36px}.payment-card-label{font-size:.8rem}}@media(max-width:400px){.stats-grid{grid-template-columns:1fr;gap:10px}.payment-status-grid{grid-template-columns:1fr;gap:12px}.payment-count{font-size:1.75rem}}.leaving-card{border-left:4px solid #ef4444!important}.stat-badge{position:absolute;top:-8px;right:-8px;background:#ef4444;color:#fff;font-size:.7rem;padding:2px 8px;border-radius:12px;font-weight:600;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.leaving-customers-section{border-left:4px solid #ef4444}.leaving-customers-list{display:flex;flex-direction:column;gap:12px;padding:16px}.leaving-customer-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:all .2s}.leaving-customer-item:hover{box-shadow:0 4px 12px #0000001a}.leaving-customer-item.urgent{border-left:4px solid #ef4444;background:#fef2f2}.leaving-customer-item.soon{border-left:4px solid #f59e0b;background:#fffbeb}.leaving-customer-info{display:flex;align-items:center;gap:12px}.leaving-customer-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:600}.leaving-customer-details{display:flex;flex-direction:column;gap:2px}.leaving-customer-name{font-weight:600;color:var(--text);font-size:.95rem}.leaving-customer-room{font-size:.8rem;color:var(--text-secondary)}.leaving-customer-date{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.leaving-date{font-size:1rem;font-weight:600;color:var(--text)}.days-remaining{font-size:.8rem;padding:2px 10px;border-radius:12px;background:#e5e7eb;color:#374151}.days-remaining.urgent{background:#fecaca;color:#991b1b;font-weight:600}.days-remaining.soon{background:#fef3c7;color:#92400e}.days-remaining.past{background:#fee2e2;color:#991b1b;font-weight:600}.updated-badge{font-size:.7rem;padding:2px 8px;border-radius:8px;background:#dbeafe;color:#1e40af;cursor:help}.period-badge{font-size:.7rem;padding:2px 8px;border-radius:8px;margin-left:8px;font-weight:500}.period-badge.this-month{background:#fef3c7;color:#92400e}.period-badge.next-month{background:#dbeafe;color:#1e40af}@media(max-width:600px){.leaving-customer-item{flex-direction:column;align-items:flex-start;gap:12px}.leaving-customer-date{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:8px}}.customers-page{max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}.tabs-container{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid var(--border)}.tab-button{padding:12px 24px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:-2px;position:relative;display:flex;align-items:center;gap:8px}.tab-button:hover{color:var(--text);background:var(--surface)}.tab-button.active{color:var(--text);border-bottom-color:var(--text);font-weight:600}.tab-button .badge{background:#ef4444;color:#fff;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:12px;min-width:20px;text-align:center}.approval-modal-content{display:flex;flex-direction:column;gap:24px}.approval-modal-content .customer-info{padding:16px;background:var(--surface);border-radius:8px;text-align:center}.approval-modal-content .customer-info h4{font-size:1.25rem;margin:0 0 8px;color:var(--text)}.approval-modal-content .customer-info p{margin:4px 0;color:var(--text-secondary);font-size:.95rem}.approval-modal-content .previous-bed-warning{background:#fef3c7;color:#92400e;padding:8px 12px;border-radius:6px;font-size:.85rem;margin-top:8px}.selected-bed-info{background:#d1fae5;padding:12px 16px;border-radius:8px;border:1px solid #a7f3d0}.selected-bed-info p{margin:0;color:#065f46;font-size:1rem}.customer-form{display:flex;flex-direction:column;gap:20px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group.full-width{grid-column:1 / -1}.qr-modal-content{display:flex;flex-direction:column;align-items:center;gap:24px}.qr-customer-info{text-align:center}.qr-customer-info h4{font-size:1.25rem;margin-bottom:4px}.qr-customer-info p{color:var(--text-secondary);font-size:.95rem}.qr-code-text{font-family:monospace;font-size:.8rem!important;margin-top:8px;padding:8px 12px;background:var(--surface);border-radius:6px}.customer-details{padding:8px 0}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.detail-item label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.detail-item p{font-size:.95rem;color:var(--text);margin:0}.detail-item.full-width{grid-column:1 / -1;margin-top:8px;padding-top:20px;border-top:1px solid var(--border)}@media(max-width:768px){.customers-page{margin:0}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.details-grid{grid-template-columns:1fr}}@media(max-width:480px){.qr-modal-content{gap:16px}.qr-code-container{padding:16px}.qr-customer-info h4{font-size:1.1rem}.qr-code-text{font-size:.7rem!important;padding:6px 10px}}.customer-name-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.leaving-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.leaving-thisweek{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.leaving-thismonth{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.leaving-future{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}[data-theme=dark] .leaving-thisweek{background:#dc262633;border-color:#dc262666}[data-theme=dark] .leaving-thismonth{background:#d9770633;border-color:#d9770666}[data-theme=dark] .leaving-future{background:#2563eb33;border-color:#2563eb66}.aadhar-card-preview{display:flex;flex-direction:column;gap:12px;margin-top:8px}.aadhar-card-image{max-width:100%;max-height:300px;object-fit:contain;border-radius:8px;border:1px solid var(--border);cursor:pointer;transition:transform .2s}.aadhar-card-image:hover{transform:scale(1.02)}.view-aadhar-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.85rem;cursor:pointer;transition:all .2s;width:fit-content}.view-aadhar-btn:hover{background:var(--background);border-color:var(--text)}.view-aadhar-btn:disabled{opacity:.5;cursor:not-allowed}.aadhar-loading,.aadhar-error{display:flex;align-items:center;justify-content:center;width:100%;max-width:300px;height:150px;background:var(--background);border-radius:8px;color:var(--text-secondary);font-size:.9rem}.aadhar-error{color:#dc2626}.customer-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-section{background:var(--background);border-radius:8px;padding:16px;border:1px solid var(--border)}.detail-section h4{margin:0 0 12px;font-size:.9rem;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;padding-bottom:8px;border-bottom:1px solid var(--border)}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0;gap:12px}.detail-row .label{font-size:.85rem;color:var(--text-secondary);flex-shrink:0}.detail-row .value{font-size:.9rem;color:var(--text);font-weight:500;text-align:right;word-break:break-word}.detail-row.warning .value{color:#d97706;font-size:.8rem}.detail-section.full-width{grid-column:1 / -1}.detail-section .aadhar-card-preview{margin-top:12px}.detail-section .aadhar-card-image{max-width:100%;max-height:250px;object-fit:contain;border-radius:8px;border:1px solid var(--border);cursor:pointer;transition:transform .2s,box-shadow .2s}.detail-section .aadhar-card-image:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.detail-section .aadhar-loading,.detail-section .aadhar-error{display:flex;align-items:center;justify-content:center;width:100%;height:150px;background:var(--background);border-radius:8px;color:var(--text-secondary);font-size:.9rem}.detail-section .aadhar-error{color:#dc2626}@media(max-width:768px){.customer-details-grid{grid-template-columns:1fr}}.beds-page{max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}.page-header-actions{display:flex;gap:12px}.status-select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.85rem;cursor:pointer;transition:border-color .2s}.status-select:hover:not(:disabled){border-color:var(--text)}.status-select:disabled{opacity:.5;cursor:not-allowed}.bulk-info{padding:12px;background:var(--background);border-left:3px solid var(--text);border-radius:6px;font-size:.9rem;color:var(--text-secondary)}.section-title{font-size:1.1rem;font-weight:600;margin-bottom:16px}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.room-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.room-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--background);border-bottom:1px solid var(--border)}.room-header>div{display:flex;align-items:center;gap:12px}.room-delete-btn{padding:6px 8px;border:none;border-radius:6px;background:#dc35451a;color:#dc3545;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.room-delete-btn:hover{background:#dc354533}.room-number{font-weight:600}.room-count{font-size:.8rem;color:var(--text-secondary)}.room-beds{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:16px}.bed-item{padding:12px;border-radius:8px;text-align:center;transition:transform .2s,box-shadow .2s;cursor:default;position:relative;overflow:hidden;min-width:0}.bed-item.bed-clickable{cursor:pointer}.bed-item.bed-clickable:hover{box-shadow:0 2px 8px #0000001f}.bed-paid-tick{position:absolute;top:4px;right:4px;width:18px;height:18px;background:#28a745;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;box-shadow:0 1px 3px #0003}.bed-paid{box-shadow:0 0 0 2px #28a745,0 2px 4px #28a7454d}.bed-item:hover{transform:scale(1.05)}.bed-available{background:#28a74526;border:2px solid #28a745}.bed-occupied{background:#dc354526;border:2px solid #dc3545}.bed-maintenance{background:#ffc10726;border:2px solid #ffc107}.bed-number{display:block;font-weight:600;font-size:1.1rem}.bed-occupant{display:block;font-size:.7rem;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bed-info{font-weight:500}.bed-form{display:flex;flex-direction:column;gap:16px}.form-group label{font-size:.875rem;font-weight:500}.bed-legend{display:flex;gap:20px;margin-top:16px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.85rem}.legend-dot{width:12px;height:12px;border-radius:50%}.legend-dot.available{background:#28a745}.legend-dot.occupied{background:#dc3545}.legend-dot.maintenance{background:#ffc107}.legend-dot.paid{background:#28a745;display:flex;align-items:center;justify-content:center;color:#fff}.bed-grid-section{margin-bottom:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.section-header .section-title{margin-bottom:0}.section-header .bed-legend{margin-top:0}.status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500;text-transform:uppercase}.status-available{background:#28a74526;color:#28a745}.status-occupied{background:#dc354526;color:#dc3545}.status-maintenance{background:#ffc10726;color:#d39e00}[data-theme=dark] .status-available{background:#28a74540}[data-theme=dark] .status-occupied{background:#dc354540}[data-theme=dark] .status-maintenance{background:#ffc10740}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--background)}.card-title{font-size:1.1rem;font-weight:600;margin:0}.card-actions{display:flex;gap:8px}.room-setup-table{min-width:100%}.room-setup-table td{padding:8px 12px}.inline-input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text);font-size:.9rem;transition:border-color .2s}.inline-input:focus{outline:none;border-color:var(--text)}.inline-input::placeholder{color:var(--text-secondary)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-state p{margin:0 0 8px;font-size:.95rem}.empty-state-hint{font-size:.85rem;opacity:.8}.quick-setup-content{display:flex;flex-direction:column;gap:20px}.quick-setup-header{display:flex;flex-direction:column;gap:16px}.quick-setup-description{margin:0;font-size:.9rem;color:var(--text-secondary)}.quick-setup-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:768px){.beds-page{margin:0}.beds-page .page-header{flex-direction:column;align-items:stretch;gap:12px}.beds-page .page-header button{width:100%;justify-content:center}.card-header{flex-direction:column;gap:12px;align-items:stretch}.card-actions{flex-direction:row;justify-content:stretch}.card-actions button{flex:1}.room-setup-table{font-size:.85rem}.inline-input{padding:6px 10px;font-size:.85rem}.rooms-grid{grid-template-columns:1fr}.room-beds{grid-template-columns:repeat(2,1fr)}.bed-legend{flex-wrap:wrap;gap:12px}}@media(max-width:480px){.room-beds{grid-template-columns:1fr 1fr;gap:8px;padding:12px}.bed-item{padding:10px 8px}.bed-number{font-size:1rem}.bed-occupant{font-size:.65rem}}.bp-backdrop{position:fixed;inset:0;background:#00000080;z-index:300;animation:bpFadeIn .2s ease}@keyframes bpFadeIn{0%{opacity:0}to{opacity:1}}.bp-sheet{position:fixed;bottom:0;left:50%;transform:translate(-50%);z-index:301;background:var(--surface, #fff);border-radius:24px 24px 0 0;padding:12px 24px 28px;width:420px;max-width:100vw;max-height:85vh;overflow-y:auto;box-shadow:0 -8px 40px #0003;animation:bpSlideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes bpSlideUp{0%{transform:translate(-50%) translateY(100%)}to{transform:translate(-50%) translateY(0)}}.bp-handle{width:40px;height:4px;background:var(--border, #ddd);border-radius:4px;margin:0 auto 14px}.bp-close{position:absolute;top:16px;right:16px;background:var(--background, #f5f5f5);border:none;color:var(--text-secondary);cursor:pointer;padding:6px;display:flex;font-size:1rem;border-radius:50%;transition:all .2s}.bp-close:hover{background:var(--border)}.bp-glow{position:absolute;top:0;left:10%;right:10%;height:3px;background:linear-gradient(90deg,transparent,#f97316,#fb923c,#f97316,transparent);border-radius:0 0 4px 4px;animation:bpGlowPulse 2s ease-in-out infinite}@keyframes bpGlowPulse{0%,to{opacity:.6}50%{opacity:1;box-shadow:0 0 12px #f9731666}}.bp-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}.bp-avatar{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#ea580c,#f97316);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:800;flex-shrink:0;box-shadow:0 4px 12px #f973164d}.bp-header-info{flex:1;min-width:0}.bp-name{margin:0;font-size:1.1rem;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp-location{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--text-secondary);margin-top:2px}.bp-status-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:.72rem;font-weight:700;flex-shrink:0}.bp-paid{background:#dcfce7;color:#166534}.bp-unpaid{background:#fef3c7;color:#92400e}.bp-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.bp-detail-card{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 8px;background:var(--background, #f8f9fa);border-radius:12px;text-align:center;color:var(--text-secondary)}.bp-detail-card svg{opacity:.5}.bp-detail-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.bp-detail-value{font-size:.85rem;font-weight:700;color:var(--text)}.bp-link{color:var(--primary, #e67e22)!important;text-decoration:none}.bp-loading-bar{height:2px;background:linear-gradient(90deg,transparent,#f97316,transparent);border-radius:2px;margin-bottom:12px;animation:bpLoadingSlide 1s ease-in-out infinite}@keyframes bpLoadingSlide{0%{transform:translate(-100%)}to{transform:translate(100%)}}.bp-actions{display:flex;flex-direction:column;gap:8px}.bp-action-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border, #e0e0e0);border-radius:14px;background:var(--surface, #fff);color:var(--text);cursor:pointer;transition:all .2s;text-align:left}.bp-action-btn:hover{border-color:var(--primary, #e67e22);transform:translate(4px)}.bp-action-btn:disabled{opacity:.5;cursor:wait;transform:none}.bp-action-title{display:block;font-size:.9rem;font-weight:700}.bp-action-sub{display:block;font-size:.72rem;color:var(--text-secondary);margin-top:1px}.bp-action-move svg{color:#2563eb}.bp-action-remove svg{color:#ef4444}.bp-action-remove{border-color:#fecaca}.bp-action-remove:hover{border-color:#ef4444;background:#fef2f2}.bp-change-section{display:flex;flex-direction:column;gap:10px}.bp-change-label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.bp-select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:.88rem;outline:none}.bp-select:focus{border-color:var(--primary)}[data-theme=dark] .bp-select{color-scheme:dark}.bp-change-btns{display:flex;gap:8px;justify-content:flex-end}.bp-btn{padding:9px 20px;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;border:none;transition:all .2s}.bp-btn-sec{background:var(--border);color:var(--text)}.bp-btn-pri{background:linear-gradient(135deg,#ea580c,#f97316);color:#fff}.bp-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.bp-sheet{width:100%;border-radius:20px 20px 0 0;padding:10px 16px 24px}.bp-details-grid{grid-template-columns:1fr 1fr;gap:6px}.bp-detail-card{padding:10px 6px}}.pgs-page{max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}.pg-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.pg-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:transform .2s,box-shadow .2s}.pg-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.pg-card-header{display:flex;align-items:center;gap:16px;padding:20px;border-bottom:1px solid var(--border)}.pg-card-logo{width:50px;height:50px;background:#000;color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}[data-theme=dark] .pg-card-logo{background:#fff;color:#000}.pg-card-info{flex:1}.pg-card-info h3{font-size:1.1rem;font-weight:600;margin-bottom:4px}.pg-card-edit{padding:10px;border:none;background:var(--background);color:var(--text-secondary);border-radius:8px;cursor:pointer;transition:all .2s}.pg-card-edit:hover{background:var(--border);color:var(--text)}.pg-card-body{padding:20px;display:flex;flex-direction:column;gap:12px}.pg-card-detail{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--text-secondary)}.pg-card-detail svg{flex-shrink:0}.pg-card-footer{display:flex;border-top:1px solid var(--border)}.pg-stat{flex:1;padding:16px;text-align:center;border-right:1px solid var(--border)}.pg-stat:last-child{border-right:none}.pg-stat-value{display:block;font-size:1.25rem;font-weight:600;margin-bottom:2px}.pg-stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.pg-card-actions{padding:16px 20px;border-top:1px solid var(--border)}.qr-modal-content{display:flex;flex-direction:column;align-items:center;gap:24px;padding:8px 0}.qr-header-info{text-align:center;width:100%}.qr-header-info h4{font-size:1.25rem;font-weight:600;margin:0 0 8px;color:var(--text)}.qr-header-info p{margin:0;color:var(--text-secondary);font-size:.95rem}.qr-code-container{padding:20px;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a}.qr-url-section{width:100%;display:flex;flex-direction:column;gap:8px}.qr-url-section label{font-size:.875rem;font-weight:500;color:var(--text)}.url-display{display:flex;gap:8px}.url-input{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:.875rem;background:var(--background);color:var(--text);font-family:monospace}.url-input:focus{outline:none;border-color:var(--text)}.copy-button{padding:10px 16px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.copy-button:hover{background:var(--border);border-color:var(--text)}.qr-actions{width:100%}.pg-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.admin-section{padding:20px;border:1px solid var(--border);border-radius:8px;background:#f0f9ff;margin-top:8px}[data-theme=dark] .admin-section{background:#3b82f61a}.admin-section .section-title{color:#1e40af}[data-theme=dark] .admin-section .section-title{color:#60a5fa}.section-help{font-size:.85rem;color:var(--text-secondary);margin:-8px 0 16px}.razorpay-section{padding:20px;border:1px solid var(--border);border-radius:8px;background:var(--background);margin-top:8px}.section-title{font-size:.95rem;font-weight:600;margin:0 0 16px;color:var(--text)}.checkbox-group{margin-bottom:16px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.95rem}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{font-weight:500}.checkbox-help{margin:8px 0 0 28px;font-size:.85rem;color:var(--text-secondary)}.pg-name-cell{display:flex;align-items:center;gap:10px}.pg-name{font-weight:500}.pg-location{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.pg-contact{display:flex;flex-direction:column;gap:4px}.contact-item{display:flex;align-items:center;gap:6px;font-size:.9rem}.reset-password-modal{display:flex;flex-direction:column;gap:20px}.reset-password-info{padding:16px;background:var(--background);border-radius:8px;border:1px solid var(--border)}.reset-password-info p{margin:6px 0;font-size:.9rem}.reset-password-info strong{color:var(--text)}.no-admin-warning{color:#dc3545;font-weight:500}.create-admin-section{padding:20px;border:1px solid #28a745;border-radius:8px;background:#f0fff4;margin-top:8px}[data-theme=dark] .create-admin-section{background:#28a7451a;border-color:#28a745}.create-admin-section h4{margin:0 0 8px;color:#155724;font-size:1rem;font-weight:600}[data-theme=dark] .create-admin-section h4{color:#48bb78}.create-admin-section p{margin:0 0 16px;color:var(--text-secondary);font-size:.9rem}.terms-section{padding:20px;border:1px solid var(--border);border-radius:8px;background:var(--background);margin-top:8px}.terms-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.terms-header .section-title{margin:0}.reset-terms-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s}.reset-terms-btn:hover{background:var(--border);color:var(--text)}.section-help{margin:0 0 16px;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.terms-textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:.9rem;background:var(--surface);color:var(--text);resize:vertical;line-height:1.6;transition:all .2s}.terms-textarea:focus{outline:none;border-color:var(--text)}.terms-textarea::placeholder{color:var(--text-secondary)}.qr-upload-section{margin-top:12px}.qr-upload-section .form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:4px}.qr-upload-container{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.qr-preview{width:120px;height:120px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center}.qr-preview img{max-width:100%;max-height:100%;object-fit:contain}.qr-upload-input{display:flex;flex-direction:column;gap:8px}.qr-upload-input .file-name{font-size:.85rem;color:var(--text-secondary)}@media(max-width:768px){.pgs-page{margin:0}.pg-cards,.form-row{grid-template-columns:1fr}.qr-upload-container{flex-direction:column}}.delete-pg-btn{color:#dc2626!important;border-color:#dc2626!important}.delete-pg-btn:hover{background:#fef2f2!important}[data-theme=dark] .delete-pg-btn:hover{background:#dc262626!important}.delete-pg-modal{text-align:center}.delete-warning{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:16px}.delete-warning .warning-icon{font-size:3rem;color:#dc2626}.delete-warning p{font-size:1.1rem;margin:0}.delete-info{color:var(--text-secondary);font-size:.9rem;margin-bottom:12px}.delete-note{background:#fffbeb;color:#92400e;padding:12px;border-radius:8px;font-size:.85rem;margin-bottom:20px}[data-theme=dark] .delete-note{background:#d9770626;color:#fbbf24}.delete-confirm-btn{background:#dc2626!important;border-color:#dc2626!important}.delete-confirm-btn:hover:not(:disabled){background:#b91c1c!important;border-color:#b91c1c!important}.reports-page{max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}.reports-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:20px;flex-wrap:wrap}.header-content{flex:1}.page-title{font-size:1.75rem;font-weight:700;margin:0 0 8px;color:var(--text)}.page-subtitle{font-size:.95rem;color:var(--text-secondary);margin:0}.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.month-selector{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text-secondary)}.month-selector svg{width:18px;height:18px}.month-select{border:none;background:transparent;color:var(--text);font-size:.95rem;font-weight:500;cursor:pointer;padding-right:8px}.month-select:focus{outline:none}.export-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#000;color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.export-btn:hover{background:#333;transform:translateY(-2px);box-shadow:0 4px 12px #0003}[data-theme=dark] .export-btn{background:#fff;color:#000}[data-theme=dark] .export-btn:hover{background:#e5e5e5}.reports-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.reports-stats-grid .report-stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--surface);border-radius:12px;border:1px solid var(--border);transition:all .2s}.reports-stats-grid .report-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.reports-stats-grid .report-stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;font-size:1.25rem}.reports-stats-grid .report-stat-icon.users{background:#ede9fe;color:#7c3aed}.reports-stats-grid .report-stat-icon.expected{background:#e0e7ff;color:#4f46e5}.reports-stats-grid .report-stat-icon.collected{background:#d1fae5;color:#059669}.reports-stats-grid .report-stat-icon.pending{background:#fee2e2;color:#dc2626}.reports-stats-grid .report-stat-icon.rate{background:#fef3c7;color:#d97706}[data-theme=dark] .reports-stats-grid .report-stat-icon.users{background:#7c3aed33}[data-theme=dark] .reports-stats-grid .report-stat-icon.expected{background:#4f46e533}[data-theme=dark] .reports-stats-grid .report-stat-icon.collected{background:#05966933}[data-theme=dark] .reports-stats-grid .report-stat-icon.pending{background:#dc262633}[data-theme=dark] .reports-stats-grid .report-stat-icon.rate{background:#d9770633}.reports-stats-grid .report-stat-content{flex:1}.reports-stats-grid .report-stat-value{font-size:1.5rem;font-weight:700;color:var(--text);line-height:1.2}.reports-stats-grid .report-stat-label{font-size:.85rem;color:var(--text-secondary);margin-top:4px}.filter-tabs{margin-bottom:24px}.filter-tabs-container{display:flex;gap:8px;background:var(--surface);padding:8px;border-radius:12px;flex-wrap:wrap;border:1px solid var(--border)}.filter-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;background:transparent;border-radius:8px;font-size:.95rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.filter-tab:hover{background:var(--background);color:var(--text)}.filter-tab.active{background:var(--text);color:var(--surface);font-weight:600}.filter-tab.paid.active{background:#10b981;color:#fff}.filter-tab.partial.active{background:#f59e0b;color:#fff}.filter-tab.not-paid.active{background:#dc2626;color:#fff}.filter-tab.overdue.active{background:#991b1b;color:#fff}.filter-tab.upcoming.active{background:#3b82f6;color:#fff}.filter-tab svg{width:18px;height:18px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:.85rem;font-weight:600}.status-badge svg{width:16px;height:16px}.status-paid{background:#d1fae5;color:#059669}.status-partial{background:#fef3c7;color:#d97706}.status-not-paid{background:#fee2e2;color:#dc2626}[data-theme=dark] .status-paid{background:#05966933;color:#6ee7b7}[data-theme=dark] .status-partial{background:#d9770633;color:#fcd34d}[data-theme=dark] .status-not-paid{background:#dc262633;color:#fca5a5}.amount-paid{color:#059669;font-weight:600}.amount-pending{color:#dc2626;font-weight:600}.amount-zero{color:var(--text-secondary)}.loading-state{display:flex;justify-content:center;align-items:center;min-height:400px}.loader{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--text);border-radius:50%;animation:spin .8s linear infinite}@media(max-width:1200px){.reports-stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.reports-page{margin:0}.reports-header{flex-direction:column;gap:16px}.header-actions{width:100%;flex-direction:column}.month-selector{width:100%;justify-content:center}.month-select{flex:1}.export-btn{width:100%;justify-content:center}.reports-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.reports-stats-grid .report-stat-card{padding:16px}.reports-stats-grid .report-stat-icon{width:40px;height:40px;font-size:1rem}.reports-stats-grid .report-stat-value{font-size:1.25rem}.reports-stats-grid .report-stat-label{font-size:.8rem}.filter-tabs-container{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:6px;gap:6px}.filter-tabs-container::-webkit-scrollbar{display:none}.filter-tab{flex-shrink:0;padding:10px 16px;font-size:.875rem}}@media(max-width:480px){.page-title{font-size:1.5rem}.page-subtitle{font-size:.875rem}.reports-stats-grid{grid-template-columns:1fr}.reports-stats-grid .report-stat-card{flex-direction:row;justify-content:flex-start}.filter-tab{padding:8px 12px;font-size:.8rem}}.export-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.export-modal{background:var(--surface);border-radius:16px;width:100%;max-width:480px;padding:24px;box-shadow:0 20px 60px #0000004d}.export-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.export-modal-header h3{font-size:1.25rem;font-weight:600;color:var(--text)}.export-modal-close{background:none;border:none;cursor:pointer;padding:8px;color:var(--text-secondary);border-radius:8px;transition:all .2s}.export-modal-close:hover{background:var(--background);color:var(--text)}.export-form-group{margin-bottom:20px}.export-form-group label{display:block;font-size:.9rem;font-weight:500;color:var(--text);margin-bottom:8px}.month-range-inputs{display:flex;gap:12px;align-items:center}.month-range-inputs select{flex:1;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--background);color:var(--text);font-size:.95rem;cursor:pointer}.month-range-inputs select:focus{outline:none;border-color:var(--text)}.month-range-separator{color:var(--text-secondary);font-weight:500}.export-options{display:flex;flex-direction:column;gap:12px}.export-option{display:flex;align-items:center;gap:10px;padding:12px;background:var(--background);border-radius:10px;cursor:pointer;transition:all .2s}.export-option:hover{background:var(--border)}.export-option input[type=checkbox]{width:18px;height:18px;cursor:pointer}.export-option span{font-size:.95rem;color:var(--text)}.export-modal-actions{display:flex;gap:12px;margin-top:24px}.export-modal-actions button{flex:1;padding:12px 20px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel{background:var(--background);border:1px solid var(--border);color:var(--text)}.btn-cancel:hover{background:var(--border)}.btn-export{background:#000;border:none;color:#fff}.btn-export:hover{background:#333}[data-theme=dark] .btn-export{background:#fff;color:#000}[data-theme=dark] .btn-export:hover{background:#e5e5e5}.payments-page{max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box;padding:0}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;flex-wrap:wrap}.header-content h1{font-size:1.75rem;font-weight:700;margin-bottom:4px}.header-content p{color:var(--text-secondary);font-size:.9rem}.filters-bar{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.search-box{position:relative;flex:1;min-width:200px;max-width:400px}.search-box .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.search-box input{width:100%;padding:12px 12px 12px 42px;border:1px solid var(--border);border-radius:10px;font-size:.9rem;background:var(--surface);transition:all .2s}.filter-select{padding:12px 16px;border:1px solid var(--border);border-radius:10px;font-size:.9rem;background:var(--surface);min-width:150px;cursor:pointer}.payments-table-container{background:var(--surface);border-radius:12px;border:1px solid var(--border);overflow:hidden}.payments-table{width:100%;border-collapse:collapse}.payments-table th,.payments-table td{padding:14px 16px;text-align:left}.payments-table th{background:var(--background);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--border)}.payments-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s,color .2s}.payments-table th.sortable:hover{background:var(--border);color:var(--text)}.payments-table .th-content{display:inline-flex;align-items:center;gap:6px}.payments-table .sort-icon{font-size:.85rem;opacity:.3;transition:opacity .2s}.payments-table .sort-icon.active{opacity:1;color:var(--text)}.payments-table .sort-icon.inactive{opacity:.3}.payments-table th.sortable:hover .sort-icon{opacity:.6}.payments-table th.sortable:hover .sort-icon.active{opacity:1}.payments-table td{border-bottom:1px solid var(--border);font-size:.9rem}.payments-table tr:last-child td{border-bottom:none}.payments-table tr:hover td{background:var(--background)}.receipt-number{font-family:monospace;font-weight:600}.pg-badge{font-size:.7rem;color:var(--text-secondary);background:var(--background);padding:2px 8px;border-radius:4px;width:fit-content}.amount{font-weight:600;color:#10b981}.mode-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500;text-transform:uppercase}.action-btn{padding:8px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:8px;transition:all .2s}.action-btn:hover{background:var(--border);color:var(--text)}.invoice-btn{font-size:1.1rem}.empty-state{text-align:center;padding:40px;color:var(--text-secondary)}.payments-cards{display:none}.form-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.form-group select,.form-group input[type=month],.form-group input[type=date],.form-group textarea{padding:12px;border:1px solid var(--border);border-radius:10px;font-size:.9rem;background:var(--surface);color:var(--text);transition:all .2s}.form-group select:focus,.form-group input[type=month]:focus,.form-group input[type=date]:focus,.form-group textarea:focus{outline:none;border-color:var(--text)}.form-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.invoice-modal .modal-content{max-width:650px}.invoice-address{color:#444;font-size:.85rem;margin:4px 0}.invoice-contact{color:#666;font-size:.8rem;margin-bottom:8px}.detail-label{color:#666;font-size:.9rem}.detail-value{font-weight:500;color:#000;font-size:.9rem}@media(max-width:1024px){.payments-page{margin:0}.payments-table-container{display:none}.payments-cards{display:flex;flex-direction:column;gap:12px}.payment-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;cursor:pointer;transition:all .2s}.payment-card:hover{border-color:var(--text-secondary);box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.payment-card-content{display:flex;justify-content:space-between;align-items:center;gap:16px}.payment-left{flex:1;display:flex;flex-direction:column;gap:6px}.payment-customer{font-weight:600;font-size:1rem;color:var(--text)}.payment-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.75rem;color:var(--text-secondary)}.payment-separator{opacity:.5}.payment-month,.payment-date{font-size:.75rem}.payment-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.payment-amount{font-size:1.25rem;font-weight:700;color:#10b981}.payment-receipt{font-size:.7rem;color:var(--text-secondary);font-family:monospace;overflow:hidden}.form-row{grid-template-columns:1fr}}@media(max-width:480px){.page-header{flex-direction:column;align-items:stretch}.page-header button{width:100%;justify-content:center}.search-box{max-width:none}.filters-bar{flex-direction:column}.invoice-container{padding:20px}.invoice-meta{flex-direction:column;gap:16px}.invoice-title{font-size:1.25rem}.total-row{font-size:1.1rem}}.page-loader{display:flex;justify-content:center;align-items:center;min-height:400px}.admin-complaints-page{max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.complaints-list{display:grid;gap:16px}.complaint-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;transition:all .2s ease}.complaint-card:hover{box-shadow:0 4px 12px #00000014}.complaint-header{margin-bottom:10px}.complaint-meta-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.complaint-customer{display:flex;flex-direction:column;gap:4px;flex:1}.customer-name{font-size:.95rem;font-weight:600;color:var(--text)}.customer-details{font-size:.85rem;color:var(--text-secondary)}.complaint-content{margin-bottom:12px}.complaint-subject{font-size:1rem;font-weight:600;margin:0 0 6px;color:var(--text)}.complaint-description{color:var(--text-secondary);margin:0;line-height:1.5;font-size:.9rem}.complaint-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--border)}.complaint-info{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.complaint-date{font-size:.85rem;color:var(--text-secondary)}.admin-response{margin-top:12px;padding:12px;background:#17a2b81a;border-left:3px solid #17a2b8;border-radius:6px;font-size:.9rem;color:var(--text)}.admin-response strong{color:#17a2b8}.update-form{display:flex;flex-direction:column;gap:20px}.complaint-details-summary{padding:16px;background:var(--background);border-radius:8px;font-size:.9rem}.complaint-details-summary p{margin:8px 0}.complaint-details-summary strong{color:var(--text)}@media(max-width:768px){.admin-complaints-page{margin:0}.complaint-card{padding:16px}.complaint-meta-row{flex-direction:column;gap:8px}.complaint-footer{flex-direction:column;align-items:flex-start;gap:12px}.complaint-footer button{width:100%}.complaint-info{width:100%;justify-content:space-between}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.status-tabs{gap:4px}.status-tab{padding:10px 12px;font-size:.85rem}.tab-count{min-width:20px;height:20px;font-size:.7rem}}.admin-maintenance-page{max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.maintenance-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:var(--text-secondary)}.status-tabs{display:flex;gap:8px;margin:20px 0;border-bottom:2px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch}.status-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.status-tab:hover{color:var(--text);background:var(--surface)}.status-tab.active{color:var(--text);border-bottom-color:var(--text)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:var(--background);border-radius:12px;font-size:.75rem;font-weight:600}.status-tab.active .tab-count{background:var(--text);color:var(--background)}.search-bar{margin-bottom:20px}.maintenance-list{display:grid;gap:16px}.maintenance-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;transition:all .2s ease}.maintenance-card:hover{box-shadow:0 4px 12px #00000014}.maintenance-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.maintenance-meta{flex:1}.maintenance-title{font-size:1.05rem;font-weight:600;margin:0 0 6px;color:var(--text)}.maintenance-location{font-size:.85rem;color:var(--text-secondary)}.maintenance-actions{display:flex;gap:8px}.maintenance-description{color:var(--text-secondary);margin:0 0 12px;line-height:1.5;font-size:.9rem}.maintenance-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:12px;padding:12px;background:var(--background);border-radius:8px}.detail-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.detail-value{font-size:.9rem;font-weight:500;color:var(--text)}.detail-value.cost{font-size:1rem;font-weight:600;color:#28a745}.maintenance-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--border)}.created-by{font-size:.8rem;color:var(--text-secondary)}.status-icon.in-progress{color:#dc3545}.status-icon.completed{color:#28a745}.maintenance-remarks{margin-top:12px;padding:12px;background:#28a7451a;border-left:3px solid #28a745;border-radius:6px;font-size:.9rem;color:var(--text)}.maintenance-remarks strong{color:#28a745}.maintenance-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group textarea{resize:vertical;min-height:80px;font-family:inherit}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px;text-align:center;color:var(--text-secondary)}@media(max-width:768px){.admin-maintenance-page{margin:0}.maintenance-card{padding:16px}.maintenance-header{flex-direction:column;gap:12px}.maintenance-actions{width:100%;justify-content:flex-end}.maintenance-details{grid-template-columns:1fr;gap:8px}.maintenance-footer{flex-direction:column;align-items:flex-start;gap:12px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.status-tabs{gap:4px}.status-tab{padding:10px 12px;font-size:.85rem}.tab-count{min-width:20px;height:20px;font-size:.7rem}}.qr-approvals-page{max-width:1400px;margin:0 auto}.page-header{margin-bottom:24px}.page-header h1{font-size:1.75rem;font-weight:700;margin-bottom:8px}.tabs-container{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:12px}.tab-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s}.tab-btn:hover{background:var(--background);color:var(--text)}.tab-btn.active{background:var(--text);color:var(--surface)}.tab-badge{background:#ef4444;color:#fff;font-size:.75rem;padding:2px 8px;border-radius:12px;font-weight:600}.filter-select{padding:10px 16px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;background:var(--surface);color:var(--text);cursor:pointer;min-width:150px}.filter-select:focus{outline:none;border-color:var(--text)}.requests-table-container{display:block;overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px}.requests-table{width:100%;border-collapse:collapse}.requests-table th,.requests-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border)}.requests-table th{font-weight:600;font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--background)}.requests-table tbody tr:last-child td{border-bottom:none}.requests-table tbody tr:hover{background:var(--background)}.customer-cell{display:flex;flex-direction:column;gap:4px}.customer-name{font-weight:500}.pg-badge{display:inline-block;font-size:.75rem;padding:2px 8px;background:var(--background);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary)}.amount{font-weight:600;color:var(--text)}.transaction-id{font-family:monospace;font-size:.85rem;color:var(--text-secondary)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.status-badge.approved{background:#d1fae5;color:#065f46}.status-badge.rejected{background:#fee2e2;color:#991b1b}.action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.action-btn.receipt-btn{background:#e0e7ff;color:#4338ca}.action-btn.receipt-btn:hover{background:#c7d2fe}.action-btn.approve-btn{background:#d1fae5;color:#065f46}.action-btn.approve-btn:hover{background:#a7f3d0}.action-btn.reject-btn{background:#fee2e2;color:#991b1b}.action-btn.reject-btn:hover{background:#fecaca}.no-receipt{font-size:.85rem;color:var(--text-secondary)}.requests-cards{display:none}.receipt-modal{display:flex;flex-direction:column;gap:20px}.receipt-info{background:var(--background);border-radius:8px;padding:16px}.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.info-row:last-child{border-bottom:none}.info-row .label{color:var(--text-secondary);font-size:.9rem}.info-row .value{font-weight:500}.receipt-image-container{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}.receipt-image-container img{width:100%;height:auto;display:block}.receipt-loading,.receipt-error{padding:40px;text-align:center;color:var(--text-secondary)}.receipt-error{color:#dc2626}.action-modal{display:flex;flex-direction:column;gap:20px}.action-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.action-receipt-section{display:flex;flex-direction:column;gap:12px}.action-receipt-section h4{font-size:.95rem;font-weight:600;margin:0}.action-receipt-section .receipt-image-container{max-height:400px;overflow:auto}.action-details-section{display:flex;flex-direction:column;gap:16px}.action-summary{background:var(--background);border-radius:8px;padding:16px}@media(max-width:768px){.action-content-grid{grid-template-columns:1fr}.action-receipt-section .receipt-image-container{max-height:250px}}.action-notice{padding:12px 16px;border-radius:8px;font-size:.9rem}.action-notice.success{background:#d1fae5;color:#065f46}.action-notice.warning{background:#fef3c7;color:#92400e}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;font-size:.9rem}.form-group textarea{padding:12px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;resize:vertical;font-family:inherit;background:var(--surface);color:var(--text)}.form-group textarea:focus{outline:none;border-color:var(--text)}.transaction-input.has-warning{border-color:#ef4444;background:#fef2f2}.transaction-warning{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.85rem;font-weight:500}.transaction-warning svg{flex-shrink:0}.form-checking{font-size:.85rem;color:var(--text-secondary);font-style:italic;margin:0}.approve-action{background:#059669!important}.approve-action:hover{background:#047857!important}.reject-action{background:#dc2626!important}.reject-action:hover{background:#b91c1c!important}.transaction-input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;font-size:.95rem;font-family:monospace;background:var(--surface);color:var(--text)}.transaction-input:focus{outline:none;border-color:var(--text)}.ocr-confidence{font-size:.8rem;color:var(--text-secondary);margin-left:8px}@media(max-width:1024px){.requests-table-container{display:none}.requests-cards{display:flex;flex-direction:column;gap:16px}.request-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.request-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-bottom:1px solid var(--border);background:var(--background)}.customer-info{display:flex;flex-direction:column;gap:4px}.customer-info .customer-name{font-weight:600;font-size:1rem}.bed-info{font-size:.85rem;color:var(--text-secondary)}.request-card-body{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.request-detail{display:flex;flex-direction:column;gap:2px}.request-detail .label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.request-detail .value{font-weight:500;font-size:.9rem}.request-card-actions{display:flex;gap:8px;padding:16px;border-top:1px solid var(--border);flex-wrap:wrap}.request-card-actions button{flex:1;min-width:100px}.request-remarks{padding:12px 16px;background:var(--background);font-size:.85rem;border-top:1px solid var(--border)}.request-remarks .label{font-weight:500;color:var(--text-secondary)}}@media(max-width:640px){.tabs-container{overflow-x:auto;padding-bottom:16px}.tab-btn{white-space:nowrap}.filters-bar{flex-direction:column}.search-box{min-width:100%}.filter-select{width:100%}.request-card-body{grid-template-columns:1fr}}.ocr-value{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.no-ocr{color:var(--text-secondary);font-style:italic}.refresh-ocr-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.refresh-ocr-btn:hover:not(:disabled){background:var(--surface);border-color:var(--text);color:var(--text)}.refresh-ocr-btn:disabled{opacity:.6;cursor:not-allowed}.refresh-ocr-btn svg{font-size:.9rem}.refresh-ocr-btn svg.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.current-bills-page{max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{font-size:1.75rem;font-weight:700;margin-bottom:4px}.page-header p{color:var(--text-secondary);font-size:.95rem}.error-banner{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fee2e2;color:#991b1b;border-radius:8px;margin-bottom:20px}.error-banner button{background:none;border:none;color:#991b1b;cursor:pointer;font-weight:500}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:4px}.summary-value{font-size:1.5rem;font-weight:700;color:var(--text)}.summary-label{font-size:.85rem;color:var(--text-secondary)}.filters-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.search-box{position:relative;flex:1;min-width:250px}.search-box .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.search-box input{width:100%;padding:10px 12px 10px 40px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;background:var(--surface);color:var(--text)}.search-box input:focus{outline:none;border-color:var(--text)}.filter-select,.filter-input{padding:10px 16px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;background:var(--surface);color:var(--text);cursor:pointer;min-width:150px}.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--text)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:12px}.empty-state svg{color:var(--text-secondary);margin-bottom:16px}.empty-state h3{font-size:1.1rem;font-weight:600;margin-bottom:8px}.empty-state p{color:var(--text-secondary);font-size:.9rem}.bills-table-container{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.bills-table{width:100%;border-collapse:collapse}.bills-table th,.bills-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border)}.bills-table th{font-weight:600;font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--background)}.bills-table tbody tr:last-child td{border-bottom:none}.bills-table tbody tr:hover{background:var(--background)}.room-cell strong{font-weight:600}.paid-amount{color:#059669}.pending-amount{color:#dc2626}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:500}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.partiallypaid{background:#dbeafe;color:#1e40af}.status-badge.paid{background:#d1fae5;color:#065f46}.action-buttons{display:flex;gap:8px}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.action-btn.view-btn{background:#e0e7ff;color:#4338ca}.action-btn.view-btn:hover{background:#c7d2fe}.action-btn.allocate-btn{background:#dbeafe;color:#1e40af}.action-btn.allocate-btn:hover{background:#bfdbfe}.action-btn.edit-btn{background:#fef3c7;color:#92400e}.action-btn.edit-btn:hover{background:#fde68a}.action-btn.delete-btn{background:#fee2e2;color:#991b1b}.action-btn.delete-btn:hover{background:#fecaca}.bill-form{display:flex;flex-direction:column;gap:16px}.bill-form .form-group{display:flex;flex-direction:column;gap:6px}.bill-form label{font-size:.875rem;font-weight:500;color:var(--text)}.bill-form select,.bill-form input[type=month],.bill-form input[type=number],.bill-form input[type=text],.bill-form textarea{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;background:var(--surface);color:var(--text);font-family:inherit}[data-theme=dark] .bill-form select,[data-theme=dark] .bill-form input[type=month],[data-theme=dark] .bill-form input[type=number],[data-theme=dark] .bill-form input[type=text],[data-theme=dark] .bill-form textarea{color-scheme:dark}.bill-form select option{background:var(--surface);color:var(--text)}.bill-form select:focus,.bill-form input[type=month]:focus,.bill-form input[type=number]:focus,.bill-form input[type=text]:focus,.bill-form textarea:focus{outline:none;border-color:var(--text)}.allocate-form{display:flex;flex-direction:column;gap:20px}.allocate-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--background);border-radius:8px;flex-wrap:wrap;gap:12px}.allocate-buttons{display:flex;gap:8px}.allocate-help{font-size:.85rem;color:var(--text-secondary);margin:0 0 16px;padding:12px;background:var(--background);border-radius:6px;line-height:1.5}.bill-info{display:flex;gap:24px}.bill-info span{font-size:.95rem;color:var(--text-secondary)}.bill-info strong{color:var(--text)}.no-customers{padding:24px;text-align:center;color:var(--text-secondary);background:var(--background);border-radius:8px}.allocations-list{display:flex;flex-direction:column;gap:12px}.allocation-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.allocation-row .customer-info{display:flex;flex-direction:column;gap:2px}.allocation-row .customer-name{font-weight:500}.allocation-row .bed-number{font-size:.85rem;color:var(--text-secondary)}.allocation-row .amount-input{width:120px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:.9rem;text-align:right;background:var(--surface);color:var(--text)}.allocation-row .amount-input:focus{outline:none;border-color:var(--text)}.allocation-summary{display:flex;justify-content:space-between;padding:12px 16px;background:var(--background);border-radius:8px;font-weight:500}.allocation-summary .match{color:#059669}.allocation-summary .mismatch{color:#dc2626}.bill-details{display:flex;flex-direction:column;gap:20px}.details-header{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:16px;background:var(--background);border-radius:8px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item .label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase}.detail-item .value{font-size:1.1rem;font-weight:600}.detail-item .value.paid{color:#059669}.detail-item .value.pending{color:#dc2626}.bill-details h4{font-size:1rem;font-weight:600;margin:0}.no-allocations{padding:24px;text-align:center;color:var(--text-secondary);background:var(--background);border-radius:8px}.allocations-table-container{overflow-x:auto}.allocations-table{width:100%;border-collapse:collapse}.allocations-table th,.allocations-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border)}.allocations-table th{font-weight:600;font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;background:var(--background)}.allocations-table tbody tr:last-child td{border-bottom:none}.payment-form{display:flex;flex-direction:column;gap:16px}.payment-info{background:var(--background);border-radius:8px;padding:16px}.payment-info .info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.payment-info .info-row:last-child{border-bottom:none}.payment-info .label{color:var(--text-secondary)}.payment-info .value{font-weight:500}.payment-info .value.pending{color:#dc2626}.payment-form .form-group{display:flex;flex-direction:column;gap:6px}.payment-form label{font-size:.875rem;font-weight:500}.payment-form select,.payment-form textarea{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;background:var(--surface);color:var(--text);font-family:inherit}.payment-form select:focus,.payment-form textarea:focus{outline:none;border-color:var(--text)}.loading{display:flex;align-items:center;justify-content:center;padding:60px;color:var(--text-secondary)}@media(max-width:1024px){.summary-cards,.details-header{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.summary-cards{grid-template-columns:1fr}.filters-bar{flex-direction:column}.search-box{min-width:100%}.filter-select,.filter-input{width:100%}.bills-table-container{overflow-x:auto}.allocate-header{flex-direction:column;gap:12px;align-items:flex-start}.bill-info{flex-direction:column;gap:8px}.details-header{grid-template-columns:1fr}}.screenshot-upload{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.screenshot-upload .file-name{display:flex;align-items:center;gap:6px;font-size:.9rem;color:#059669}.allocation-actions{display:flex;gap:8px;flex-wrap:wrap}.transaction-details{display:flex;flex-direction:column;gap:20px}.transaction-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--background);border-radius:12px}.customer-badge{display:flex;align-items:center;gap:12px}.customer-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600}.customer-badge .customer-info{display:flex;flex-direction:column;gap:2px}.customer-badge .customer-name{font-size:1.1rem;font-weight:600;color:var(--text)}.customer-badge .bed-info{font-size:.85rem;color:var(--text-secondary)}.transaction-amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.amount-item{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;text-align:center}.amount-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.amount-value{font-size:1.25rem;font-weight:700;color:var(--text)}.amount-item.paid{background:#d1fae5;border-color:#a7f3d0}.amount-item.paid .amount-value{color:#065f46}.amount-item.pending{background:#fee2e2;border-color:#fecaca}.amount-item.pending .amount-value{color:#991b1b}.transaction-info{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.transaction-info h4{margin:0 0 16px;font-size:.95rem;font-weight:600;color:var(--text)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item.full-width{grid-column:1 / -1}.info-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:.95rem;font-weight:500;color:var(--text)}.info-value.transaction-ref{font-family:monospace;background:var(--background);padding:4px 8px;border-radius:4px;font-size:.9rem}.transaction-screenshot{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.transaction-screenshot h4{margin:0 0 12px;font-size:.95rem;font-weight:600;color:var(--text)}.screenshot-container{display:flex;flex-direction:column;align-items:center;gap:8px}.screenshot-container img{max-width:100%;max-height:300px;border-radius:8px;cursor:pointer;transition:transform .2s;box-shadow:0 2px 8px #0000001a}.screenshot-container img:hover{transform:scale(1.02)}.screenshot-hint{font-size:.8rem;color:var(--text-secondary)}.screenshot-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:var(--surface, #f8f9fa);border:2px dashed var(--border, #e2e8f0);border-radius:10px;color:var(--text)}.screenshot-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-secondary);font-size:.9rem}@media(max-width:768px){.transaction-amounts,.info-grid{grid-template-columns:1fr}.transaction-header{flex-direction:column;gap:12px;align-items:flex-start}}.cb-tabs{display:flex;gap:0;border-bottom:2px solid var(--border, #e5e7eb);margin-bottom:24px}.cb-tab{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:.95rem;font-weight:600;color:var(--text-secondary, #6b7280);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;display:flex;align-items:center;gap:8px}.cb-tab:hover{color:var(--text, #111)}.cb-tab.active{color:var(--primary, #e67e22);border-bottom-color:var(--primary, #e67e22)}.cb-tab-badge{background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}.cb-approvals-list{display:flex;flex-direction:column;gap:16px}.cb-approval-card{background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:16px;transition:box-shadow .2s}.cb-approval-card:hover{box-shadow:0 2px 12px #00000014}.cb-approval-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cb-approval-customer{display:flex;align-items:center;gap:12px}.cb-approval-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary, #e67e22);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.cb-approval-customer div{display:flex;flex-direction:column}.cb-approval-meta{font-size:.8rem;color:var(--text-secondary, #6b7280);margin-top:2px}.cb-approval-amount{font-size:1.25rem;font-weight:700;color:var(--primary, #e67e22)}.cb-approval-details{display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px 0;border-top:1px solid var(--border, #e5e7eb);border-bottom:1px solid var(--border, #e5e7eb);margin-bottom:12px}.cb-approval-detail{font-size:.85rem;color:var(--text-secondary, #6b7280)}.cb-approval-detail strong{color:var(--text, #111)}.cb-ocr-confidence{font-size:.75rem;color:#16a34a;margin-left:4px}.cb-approval-actions{display:flex;justify-content:flex-end;gap:8px}.cb-approval-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cb-approval-screenshot{display:flex;flex-direction:column}.cb-approval-screenshot .screenshot-container{flex:1;min-height:250px}.cb-approval-screenshot .screenshot-container img{max-height:400px;width:100%;object-fit:contain;cursor:pointer;border-radius:8px;border:1px solid var(--border, #e5e7eb)}.cb-approval-info .info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.status-badge.pendingapproval{background:#fef3c7;color:#b45309}@media(max-width:768px){.cb-approval-modal-grid{grid-template-columns:1fr}.cb-approval-header{flex-direction:column;align-items:flex-start;gap:8px}.cb-tabs{overflow-x:auto}}.admin-events-page{padding:1.5rem;max-width:1400px;margin:0 auto}.events-loading,.events-no-pg{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary);gap:1rem}.events-loading .spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.page-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.page-subtitle{color:var(--text-secondary);margin:.25rem 0 0;font-size:.9rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem}.stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.stat-icon.primary{background:#6366f11a;color:#6366f1}.stat-icon.success{background:#22c55e1a;color:#22c55e}.stat-icon.warning{background:#f59e0b1a;color:#f59e0b}.stat-icon.danger{background:#ef44441a;color:#ef4444}.stat-label{font-size:.85rem;color:var(--text-secondary)}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.status-tabs{display:flex;gap:.5rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:.5rem}.status-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:.9rem;color:var(--text-secondary);white-space:nowrap;transition:all .2s}.status-tab:hover{border-color:var(--primary-color);color:var(--text-primary)}.status-tab.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.tab-count{background:#0000001a;padding:.2rem .5rem;border-radius:10px;font-size:.8rem;font-weight:600}.status-tab.active .tab-count{background:#fff3}.search-bar{margin-bottom:1.5rem}.search-bar .input{width:100%;max-width:400px}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state h3{margin:1rem 0 .5rem;color:var(--text-primary)}.events-list{display:grid;gap:1rem}.event-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:box-shadow .2s}.event-card:hover{box-shadow:0 4px 12px #0000001a}.event-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);gap:1rem}.event-meta{flex:1}.event-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.event-dates{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.event-actions{display:flex;gap:.5rem}.event-content{padding:1.25rem}.event-image{margin-bottom:1rem;border-radius:8px;overflow:hidden;max-height:200px}.event-image img{width:100%;height:100%;object-fit:cover}.event-message{color:var(--text-primary);line-height:1.6;margin:0;white-space:pre-wrap}.event-footer{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;background:var(--bg-secondary);border-top:1px solid var(--border-color);flex-wrap:wrap}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.active{background:#22c55e1a;color:#22c55e}.status-badge.inactive{background:#6b72801a;color:#6b7280}.status-badge.upcoming{background:#3b82f61a;color:#3b82f6}.status-badge.expired{background:#ef44441a;color:#ef4444}.priority-badge{font-size:.75rem;color:var(--text-secondary);background:var(--border-color);padding:.25rem .5rem;border-radius:4px}.created-date{font-size:.75rem;color:var(--text-secondary);margin-left:auto}.event-form{padding:1rem 0}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary)}.form-group .input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.95rem}.form-group textarea{resize:vertical;font-family:inherit}.form-group select{cursor:pointer}.form-hint{display:block;margin-top:.25rem;font-size:.8rem;color:var(--text-secondary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.image-upload-section{display:flex;flex-direction:column;gap:.75rem}.current-image{max-width:300px;border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}.current-image img{width:100%;height:auto;display:block}.upload-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px;cursor:pointer;color:var(--text-secondary);font-size:.9rem;transition:all .2s;width:fit-content}.upload-button:hover{border-color:var(--primary-color);color:var(--primary-color);background:#6366f10d}@media(max-width:768px){.admin-events-page{padding:1rem}.page-header{flex-direction:column;align-items:stretch}.page-header button{width:100%}.status-tabs{flex-wrap:nowrap}.event-header{flex-direction:column;gap:1rem}.event-actions{width:100%;justify-content:flex-end}.event-footer{flex-direction:column;align-items:flex-start}.created-date{margin-left:0}}.platform-settings-page{display:flex;flex-direction:column;gap:1.5rem}.platform-settings-page .page-header h2{font-size:1.4rem;font-weight:700;margin:0}.platform-settings-page .settings-card{background:var(--surface, var(--background));border:1px solid var(--border);border-radius:12px;padding:1.5rem}.platform-settings-page .settings-card h3{font-size:1.1rem;font-weight:600;margin:0 0 1rem}.platform-settings-page .setting-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border)}.platform-settings-page .setting-row:last-child{border-bottom:none}.platform-settings-page .setting-label{font-weight:500}.platform-settings-page .setting-desc{font-size:.8rem;color:var(--text-secondary, #888);margin-top:.15rem}.platform-settings-page .toggle-switch{position:relative;width:48px;height:26px;background:var(--border);border-radius:13px;cursor:pointer;transition:background .2s;border:none;padding:0}.platform-settings-page .toggle-switch.active{background:var(--primary)}.platform-settings-page .toggle-switch .toggle-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s}.platform-settings-page .toggle-switch.active .toggle-knob{transform:translate(22px)}.platform-settings-page .price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}@media(max-width:600px){.platform-settings-page .price-grid{grid-template-columns:1fr}}.platform-settings-page .save-row{display:flex;justify-content:flex-end;margin-top:1rem}.platform-settings-page .pending-list{display:flex;flex-direction:column;gap:1rem}.platform-settings-page .pending-card{border:1px solid var(--border);border-radius:10px;padding:1.25rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;background:var(--background)}@media(max-width:600px){.platform-settings-page .pending-card{flex-direction:column}}.platform-settings-page .pending-info h4{font-size:1rem;font-weight:600;margin:0 0 .5rem}.platform-settings-page .pending-detail{font-size:.85rem;color:var(--text-secondary, #888);margin:.2rem 0}.platform-settings-page .pending-plan-badge{display:inline-block;background:#3b82f61a;color:var(--primary);font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:6px;margin-top:.5rem}.platform-settings-page .pending-actions{display:flex;gap:.5rem;flex-shrink:0}.platform-settings-page .no-pending{text-align:center;padding:2rem;color:var(--text-secondary, #888);font-size:.9rem}.platform-settings-page .ps-subs-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.platform-settings-page .ps-subs-table{width:100%;border-collapse:collapse;font-size:.85rem}.platform-settings-page .ps-subs-table th{text-align:left;padding:.6rem .75rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #888);border-bottom:2px solid var(--border);white-space:nowrap}.platform-settings-page .ps-subs-table td{padding:.65rem .75rem;border-bottom:1px solid var(--border);white-space:nowrap}.platform-settings-page .ps-subs-table tbody tr:hover{background:var(--hover, rgba(0,0,0,.02))}.platform-settings-page .ps-cell-pg{font-weight:600}.platform-settings-page .ps-cell-amount{font-weight:700}.platform-settings-page .ps-status-badge,.platform-settings-page .ps-payment-badge{display:inline-block;padding:.15rem .5rem;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.platform-settings-page .ps-badge-active{background:#10b9811a;color:#10b981}.platform-settings-page .ps-badge-expired{background:#ef44441a;color:#ef4444}.platform-settings-page .ps-badge-pending{background:#f59e0b1a;color:#f59e0b}.platform-settings-page .ps-badge-paid{background:#3b82f61a;color:#3b82f6}.platform-settings-page .ps-badge-free{background:#10b9811a;color:#10b981}.platform-settings-page .ps-badge-due{background:#ef44441a;color:#ef4444}.platform-settings-page .ps-loader{display:flex;justify-content:center;padding:3rem 0}.platform-settings-page .ps-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:ps-spin .8s linear infinite}@keyframes ps-spin{to{transform:rotate(360deg)}}.platform-settings-page .ps-card-desc{font-size:.875rem;color:var(--text-secondary, #888);margin:-.5rem 0 1.25rem;line-height:1.5}.platform-settings-page .ps-password-field{position:relative}.platform-settings-page .ps-version-textarea-wrap{margin-top:1rem}.platform-settings-page .ps-version-textarea-label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.4rem;color:var(--text)}.platform-settings-page .ps-version-textarea{width:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.9rem;font-family:inherit;background:var(--background);color:var(--text);resize:vertical;min-height:60px;box-sizing:border-box}.platform-settings-page .ps-version-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3b82f626}.platform-settings-page .ps-password-toggle{position:absolute;right:10px;top:38px;background:none;border:none;color:var(--text-secondary, #888);cursor:pointer;padding:4px;display:flex;align-items:center}.admin-settings-page{display:flex;flex-direction:column;gap:1.5rem}.admin-settings-page .page-header h2{font-size:1.4rem;font-weight:700;margin:0}.admin-settings-page .settings-card{background:var(--surface, var(--background));border:1px solid var(--border);border-radius:12px;padding:1.5rem}.admin-settings-page .settings-card h3{font-size:1.1rem;font-weight:600;margin:0 0 1rem}.admin-settings-page .password-form{display:flex;flex-direction:column;gap:1rem;max-width:400px}.admin-settings-page .save-row{margin-top:.5rem}.admin-settings-page .membership-card-wrapper{max-width:380px;animation:as-slideUp .5s ease-out}@keyframes as-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.admin-settings-page .membership-card{background:linear-gradient(135deg,#0f172a,#1e3a5f,#0f172a);border-radius:18px;padding:1.5rem;color:#fff;position:relative;overflow:hidden;box-shadow:0 10px 30px #0f172a4d;transition:transform .3s ease,box-shadow .3s ease;aspect-ratio:1.6 / 1;display:flex;flex-direction:column;justify-content:space-between}.admin-settings-page .membership-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0f172a73}.admin-settings-page .membership-card:before{content:"";position:absolute;top:-50%;right:-30%;width:250px;height:250px;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);border-radius:50%;animation:as-glow 4s ease-in-out infinite alternate}.admin-settings-page .membership-card:after{content:"";position:absolute;bottom:-40%;left:-20%;width:200px;height:200px;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);border-radius:50%}@keyframes as-glow{0%{opacity:.5;transform:scale(1)}to{opacity:1;transform:scale(1.15)}}.admin-settings-page .card-chip{width:36px;height:26px;background:linear-gradient(135deg,#d4a853,#f0d68a,#d4a853);border-radius:5px;position:relative;z-index:1}.admin-settings-page .card-chip:after{content:"";position:absolute;inset:4px;border:1px solid rgba(0,0,0,.15);border-radius:3px}.admin-settings-page .membership-top{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:1}.admin-settings-page .membership-pg-name{font-size:1rem;font-weight:700;margin:.5rem 0 0;letter-spacing:.5px;position:relative;z-index:1}.admin-settings-page .membership-status{padding:.2rem .6rem;border-radius:20px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.admin-settings-page .membership-status.active{background:#10b98140;color:#34d399}.admin-settings-page .membership-status.pending{background:#f59e0b40;color:#fbbf24}.admin-settings-page .membership-status.expired{background:#ef444440;color:#f87171}.admin-settings-page .membership-middle{position:relative;z-index:1}.admin-settings-page .card-amount{font-size:1.6rem;font-weight:800;letter-spacing:1px;margin:0}.admin-settings-page .card-plan-type{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;opacity:.6;margin:.15rem 0 0}.admin-settings-page .membership-bottom{display:flex;justify-content:space-between;align-items:flex-end;position:relative;z-index:1}.admin-settings-page .card-date-group{display:flex;flex-direction:column;gap:.1rem}.admin-settings-page .card-date-label{font-size:.55rem;text-transform:uppercase;letter-spacing:1.5px;opacity:.5}.admin-settings-page .card-date-value{font-size:.8rem;font-weight:600;letter-spacing:.5px}.admin-settings-page .card-brand{font-size:.65rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;opacity:.4}.admin-settings-page .membership-actions{margin-top:1rem;max-width:380px;display:flex;flex-direction:column;gap:.75rem;animation:as-slideUp .5s ease-out .15s both}.admin-settings-page .status-badges{display:flex;flex-wrap:wrap;gap:.5rem}.admin-settings-page .free-note,.admin-settings-page .paid-note,.admin-settings-page .expiry-warning,.admin-settings-page .expired-note{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;padding:.35rem .75rem;border-radius:8px}.admin-settings-page .free-note{background:#10b9811a;color:#10b981}.admin-settings-page .paid-note{background:#3b82f61a;color:#3b82f6}.admin-settings-page .expiry-warning{background:#f59e0b1a;color:#f59e0b}.admin-settings-page .expired-note{background:#ef44441a;color:#ef4444}.admin-settings-page .last-payment-info{font-size:.8rem;color:var(--text-secondary, #888)}.admin-settings-page .as-pay-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.25rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .25s;justify-content:center;width:100%}.admin-settings-page .as-pay-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#7c3aed);transform:translateY(-2px);box-shadow:0 6px 20px #6366f159}.admin-settings-page .as-pay-btn:disabled{opacity:.7;cursor:not-allowed}.admin-settings-page .as-payment-verifying{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-settings-page .as-verifying-card{background:var(--surface, #fff);border-radius:16px;padding:2.5rem;text-align:center;max-width:360px;box-shadow:0 20px 40px #0000004d}.admin-settings-page .as-verifying-card .as-spinner{margin:0 auto 1rem}.admin-settings-page .as-verifying-card p{font-size:1.1rem;font-weight:600;margin:0 0 .5rem;color:var(--text)}.admin-settings-page .as-verifying-card span{font-size:.85rem;color:var(--text-secondary, #888)}.admin-settings-page .no-subscription{text-align:center;padding:2rem;color:var(--text-secondary, #888)}.admin-settings-page .as-loader{display:flex;justify-content:center;padding:3rem 0}.admin-settings-page .as-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:as-spin .8s linear infinite}@keyframes as-spin{to{transform:rotate(360deg)}}.admin-settings-page .as-pg-form{display:flex;flex-direction:column;gap:1.5rem}.admin-settings-page .as-section{border-top:1px solid var(--border);padding-top:1.25rem}.admin-settings-page .as-section:first-child{border-top:none;padding-top:0}.admin-settings-page .as-section-title{font-size:.95rem;font-weight:600;margin:0 0 1rem;color:var(--text);display:flex;align-items:center;gap:.4rem}.admin-settings-page .as-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.admin-settings-page .as-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.admin-settings-page .as-checkbox-group{margin-bottom:.75rem}.admin-settings-page .as-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500;font-size:.9rem}.admin-settings-page .as-checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.admin-settings-page .as-help-text{font-size:.8rem;color:var(--text-secondary, #888);margin:.25rem 0 .5rem;line-height:1.4}.admin-settings-page .as-label{font-size:.85rem;font-weight:600;color:var(--text);display:block;margin-bottom:.25rem}.admin-settings-page .as-textarea-group{margin-top:1rem}.admin-settings-page .as-textarea{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--text);font-family:inherit;font-size:.85rem;resize:vertical;line-height:1.5}.admin-settings-page .as-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4361ee1a}.admin-settings-page .as-upload-section{margin-top:1rem}.admin-settings-page .as-upload-container{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.admin-settings-page .as-preview{border-radius:8px;overflow:hidden;border:1px solid var(--border);flex-shrink:0}.admin-settings-page .as-preview img{width:100%;height:100%;object-fit:cover}.admin-settings-page .as-file-name{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem;display:block}.admin-settings-page .as-location-btns{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.admin-settings-page .as-location-info{color:var(--success, #10b981);font-size:.85rem;margin:.5rem 0;display:flex;align-items:center;gap:.25rem}.admin-settings-page .as-photo-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem}.admin-settings-page .as-photo-item{position:relative;width:100px;height:100px}.admin-settings-page .as-photo-item img{width:100%;height:100%;object-fit:cover;border-radius:8px}.admin-settings-page .as-photo-caption{position:absolute;bottom:0;left:0;right:0;background:#000000bf;color:#fff;font-size:.6rem;padding:2px 4px;border-radius:0 0 8px 8px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-settings-page .as-photo-delete{position:absolute;top:-8px;right:-8px;background:#dc2626;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center}.admin-settings-page .as-photo-upload-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.admin-settings-page .as-select{padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.85rem}.admin-settings-page .as-reset-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .2s}.admin-settings-page .as-reset-btn:hover{background:var(--surface);color:var(--text)}.admin-settings-page .as-save-row{padding-top:1rem;border-top:1px solid var(--border)}.admin-settings-page .as-no-data{text-align:center;padding:2rem;color:var(--text-secondary, #888)}.admin-settings-page .as-food-menu-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .25s}.admin-settings-page .as-food-menu-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-2px);box-shadow:0 4px 14px #f59e0b59}.admin-settings-page .as-fm-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem}.admin-settings-page .as-fm-modal{background:var(--surface, #fff);border-radius:16px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:as-slideUp .3s ease-out}.admin-settings-page .as-fm-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface, #fff);z-index:1;border-radius:16px 16px 0 0}.admin-settings-page .as-fm-header h3{margin:0;font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:.5rem;color:var(--text)}.admin-settings-page .as-fm-close{width:36px;height:36px;border:none;background:var(--background);color:var(--text-secondary);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .2s}.admin-settings-page .as-fm-close:hover{background:var(--border);color:var(--text)}.admin-settings-page .as-fm-table-wrap{padding:1.25rem 1.5rem;overflow-x:auto}.admin-settings-page .as-fm-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-settings-page .as-fm-table th{text-align:left;padding:.6rem .75rem;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:2px solid var(--border)}.admin-settings-page .as-fm-table td{padding:.4rem .5rem;border-bottom:1px solid var(--border)}.admin-settings-page .as-fm-day-label{font-weight:600;color:var(--text);white-space:nowrap;min-width:90px}.admin-settings-page .as-fm-cell{position:relative;display:flex;align-items:center;gap:.4rem}.admin-settings-page .as-fm-cell input{width:100%;padding:.5rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text);font-size:.85rem;font-family:inherit;transition:border-color .2s}.admin-settings-page .as-fm-cell input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4361ee1a}.admin-settings-page .as-fm-cell--saving input{border-color:#f59e0b}.admin-settings-page .as-fm-saved{font-size:.7rem;color:#10b981;font-weight:600;white-space:nowrap;animation:as-fadeIn .3s ease}@keyframes as-fadeIn{0%{opacity:0}to{opacity:1}}.admin-settings-page .as-fm-cards{display:none;padding:1rem;gap:.75rem;flex-direction:column}.admin-settings-page .as-fm-day-card{background:var(--background);border:1px solid var(--border);border-radius:12px;padding:1rem}.admin-settings-page .as-fm-day-card-title{margin:0 0 .75rem;font-size:.95rem;font-weight:700;color:var(--text)}.admin-settings-page .as-fm-card-row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.6rem}.admin-settings-page .as-fm-card-row:last-child{margin-bottom:0}.admin-settings-page .as-fm-meal-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}@media(max-width:480px){.admin-settings-page .membership-card-wrapper{max-width:100%}.admin-settings-page .membership-card{padding:1.25rem}.admin-settings-page .card-amount{font-size:1.3rem}.admin-settings-page .membership-actions{max-width:100%}.admin-settings-page .as-form-row{grid-template-columns:1fr}.admin-settings-page .as-location-btns{flex-direction:column}.admin-settings-page .as-upload-container{flex-direction:column;align-items:flex-start}.admin-settings-page .as-fm-table-wrap{display:none}.admin-settings-page .as-fm-cards{display:flex}}.admin-profile-page{padding:20px;max-width:900px;margin:0 auto}.admin-profile-page .ap-page-header h2{margin:0 0 20px;font-size:1.5rem;color:var(--text)}.admin-profile-page .ap-card{background:var(--card-bg, #fff);border:1px solid var(--border, #e2e8f0);border-radius:14px;padding:24px;margin-bottom:20px}.admin-profile-page .ap-card-title{font-size:1.1rem;font-weight:600;color:var(--text);margin:0 0 20px;display:flex;align-items:center;gap:8px}.admin-profile-page .ap-info-row{display:flex;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border, #f0f0f0)}.admin-profile-page .ap-info-row:last-child{border-bottom:none}.admin-profile-page .ap-info-label{font-size:.85rem;color:var(--text-secondary, #64748b);min-width:130px;display:flex;align-items:center;gap:6px;padding-top:2px}.admin-profile-page .ap-info-value{flex:1;font-size:.95rem;color:var(--text);word-break:break-word}.admin-profile-page .ap-edit-toggle{background:none;border:none;cursor:pointer;color:var(--primary, #4f46e5);padding:4px;border-radius:6px;display:flex;align-items:center;transition:background .2s}.admin-profile-page .ap-edit-toggle:hover{background:var(--hover-bg, #f1f5f9)}.admin-profile-page .ap-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:4px}.admin-profile-page .ap-textarea{width:100%;min-height:80px;padding:10px 12px;border:1px solid var(--border, #d1d5db);border-radius:8px;font-family:inherit;font-size:.9rem;color:var(--text);background:var(--input-bg, #fff);resize:vertical;box-sizing:border-box}.admin-profile-page .ap-textarea:focus{outline:none;border-color:var(--primary, #4f46e5);box-shadow:0 0 0 3px #4f46e51a}.admin-profile-page .ap-textarea-group{margin-bottom:12px}.admin-profile-page .ap-textarea-label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary, #64748b);margin-bottom:6px}.admin-profile-page .ap-map-section{margin-top:12px;border-radius:10px;overflow:hidden}.admin-profile-page .ap-location-btns{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.admin-profile-page .ap-location-info{font-size:.85rem;color:var(--text-secondary, #64748b);margin-bottom:12px;padding:8px 12px;background:var(--hover-bg, #f8fafc);border-radius:8px;display:flex;align-items:center;gap:6px}.admin-profile-page .ap-save-btn{margin-top:16px;display:flex;justify-content:flex-end}.admin-profile-page .ap-loader{display:flex;justify-content:center;padding:40px 0}.admin-profile-page .ap-spinner{width:32px;height:32px;border:3px solid var(--border, #e2e8f0);border-top-color:var(--primary, #4f46e5);border-radius:50%;animation:ap-spin .8s linear infinite}@keyframes ap-spin{to{transform:rotate(360deg)}}.admin-profile-page .ap-no-data{text-align:center;color:var(--text-secondary, #64748b);padding:40px 0}@media(max-width:640px){.admin-profile-page{padding:12px}.admin-profile-page .ap-card{padding:16px}.admin-profile-page .ap-form-row{grid-template-columns:1fr}.admin-profile-page .ap-info-row{flex-direction:column;gap:4px}.admin-profile-page .ap-info-label{min-width:unset}.admin-profile-page .ap-location-btns{flex-direction:column}}.grocery-browse-page{display:flex;flex-direction:column;height:calc(100vh - 120px);background:var(--background, #fff);overflow:hidden}.grocery-browse-page .gb-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 0;color:var(--text)}.grocery-browse-page .gb-spinner{width:44px;height:44px;border:3px solid var(--border, #e2e8f0);border-top-color:var(--primary, #e67e22);border-radius:50%;animation:gb-spin .8s linear infinite;margin-bottom:1rem}@keyframes gb-spin{to{transform:rotate(360deg)}}.grocery-browse-page .gb-search-section{padding:.75rem 1rem;flex-shrink:0;background:var(--background, #fff);border-bottom:1px solid var(--border, #e2e8f0)}.grocery-browse-page .gb-search-bar{position:relative;display:flex;align-items:center}.grocery-browse-page .gb-search-icon{position:absolute;left:.85rem;color:var(--text);opacity:.4;font-size:1rem;pointer-events:none}.grocery-browse-page .gb-search-bar input{width:100%;padding:.7rem 2.2rem .7rem 2.5rem;border:1.5px solid var(--border, #e2e8f0);border-radius:10px;background:var(--surface, var(--background));color:var(--text, #333);font-size:.88rem;outline:none;transition:border-color .2s}.grocery-browse-page .gb-search-bar input:focus{border-color:var(--primary, #e67e22)}.grocery-browse-page .gb-search-clear{position:absolute;right:.6rem;background:none;border:none;color:var(--text);opacity:.4;cursor:pointer;padding:4px;display:flex}.grocery-browse-page .gb-main-layout{display:flex;flex:1;overflow:hidden}.grocery-browse-page .gb-cat-sidebar{width:90px;flex-shrink:0;border-right:1px solid var(--border, #e2e8f0);overflow-y:scroll;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:.5rem 0 4.5rem;background:var(--surface, #fafafa);scrollbar-width:none}.grocery-browse-page .gb-cat-sidebar::-webkit-scrollbar{display:none}.grocery-browse-page .gb-cat-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:.65rem .35rem;cursor:pointer;transition:all .2s;border-left:3px solid transparent;text-align:center}.grocery-browse-page .gb-cat-item:hover{background:#e67e220d}.grocery-browse-page .gb-cat-item--active{background:#e67e2214;border-left-color:var(--primary, #e67e22)}.grocery-browse-page .gb-cat-icon{width:48px;height:48px;border-radius:50%;background:var(--background, #fff);border:2px solid var(--border, #e2e8f0);display:flex;align-items:center;justify-content:center;font-size:1.4rem;transition:all .2s}.grocery-browse-page .gb-cat-item--active .gb-cat-icon{border-color:var(--primary, #e67e22);background:#e67e2214}.grocery-browse-page .gb-cat-label{font-size:.65rem;font-weight:600;color:var(--text-secondary, #666);line-height:1.2;max-width:80px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.grocery-browse-page .gb-cat-item--active .gb-cat-label{color:var(--primary, #e67e22)}.grocery-browse-page .gb-items-area{flex:1;min-width:0;overflow-y:scroll;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:5rem}.grocery-browse-page .gb-empty{display:flex;flex-direction:column;align-items:center;padding:4rem 1rem;color:var(--text);opacity:.5}.grocery-browse-page .gb-empty-icon{font-size:3rem;margin-bottom:1rem}.grocery-browse-page .gb-empty-text{font-size:1rem;font-weight:600;margin:0}.grocery-browse-page .gb-empty-sub{font-size:.85rem;margin:.25rem 0 0}.grocery-browse-page .gb-category-heading{font-size:.9rem;font-weight:700;color:var(--text);margin:0;padding:.7rem 1rem;background:var(--surface, #f8f9fa);border-bottom:1px solid var(--border, #e2e8f0);position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:.5rem}.grocery-browse-page .gb-category-heading:after{content:"";flex:1;height:1px;background:var(--border, #e2e8f0)}.grocery-browse-page .gb-items-list{display:flex;flex-direction:column}.grocery-browse-page .gb-item-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border, #e2e8f0);transition:background .15s}.grocery-browse-page .gb-item-row:hover{background:#00000004}.grocery-browse-page .gb-item-row--oos{opacity:.5}.grocery-browse-page .gb-item-thumb{width:56px;height:56px;min-width:56px;border-radius:10px;overflow:hidden;background:var(--border, #e2e8f0);display:flex;align-items:center;justify-content:center}.grocery-browse-page .gb-item-thumb img{width:100%;height:100%;object-fit:cover}.grocery-browse-page .gb-item-thumb-placeholder{font-size:1.3rem;color:var(--text);opacity:.2}.grocery-browse-page .gb-item-info{flex:1;min-width:0}.grocery-browse-page .gb-item-name{font-size:.88rem;font-weight:600;color:var(--text);margin:0 0 .1rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.grocery-browse-page .gb-item-qty-info{font-size:.72rem;color:var(--text-secondary, #888)}.grocery-browse-page .gb-item-price-row{display:flex;align-items:baseline;gap:.25rem;margin-top:.15rem}.grocery-browse-page .gb-item-price{font-size:.88rem;font-weight:700;color:var(--text)}.grocery-browse-page .gb-item-extra{display:block;font-size:.65rem;color:var(--text-secondary, #888)}.grocery-browse-page .gb-item-oos{display:inline-flex;align-items:center;gap:.2rem;font-size:.7rem;color:#ef4444;font-weight:500;margin-top:.15rem}.grocery-browse-page .gb-item-actions{flex-shrink:0}.grocery-browse-page .gb-add-btn{display:flex;align-items:center;justify-content:center;padding:.4rem 1.2rem;border:2px solid #43a047;border-radius:8px;background:#fff;color:#43a047;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.03em}.grocery-browse-page .gb-add-btn:hover:not(:disabled){background:#43a047;color:#fff}.grocery-browse-page .gb-add-btn:disabled{opacity:.3;cursor:not-allowed}.grocery-browse-page .gb-qty-control{display:flex;align-items:center;gap:0;background:#43a047;border-radius:8px;overflow:hidden}.grocery-browse-page .gb-qty-control--small{gap:0}.grocery-browse-page .gb-qty-btn{width:30px;height:30px;border:none;border-radius:0;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;transition:background .2s}.grocery-browse-page .gb-qty-btn:hover:not(:disabled){background:#ffffff26}.grocery-browse-page .gb-qty-btn:disabled{opacity:.4;cursor:not-allowed}.grocery-browse-page .gb-qty-value{font-size:.85rem;font-weight:700;min-width:24px;text-align:center;color:#fff}.grocery-browse-page .gb-stock-limit{font-size:.65rem;color:#e67e22;font-weight:500;margin-top:2px;text-align:center}.grocery-browse-page .gb-cart-fab{position:fixed;bottom:0;left:0;right:0;z-index:90;background:#43a047;color:#fff;border:none;border-radius:0;height:auto;width:100%;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.2rem;font-size:.9rem;font-weight:700;cursor:pointer;box-shadow:0 -2px 12px #00000026;gap:.5rem}.grocery-browse-page .gb-cart-fab-badge{position:static;border:none;background:#fff3;color:#fff;font-size:.85rem;min-width:auto;height:auto;padding:2px 10px;border-radius:6px;display:flex;align-items:center;font-weight:700}.grocery-browse-page .gb-cart-fab-total{position:static;transform:none;background:none;color:#fff;font-size:.9rem;font-weight:700;padding:0;box-shadow:none;margin-left:auto}.grocery-browse-page .gb-cart-fab:after{content:"VIEW CART ›";font-size:.85rem;font-weight:700;letter-spacing:.03em}.grocery-browse-page .gb-cart{display:none;width:380px;background:var(--surface, var(--background));border-left:1px solid var(--border, #e2e8f0);padding:0;flex-direction:column;position:fixed;top:0;right:-400px;bottom:0;z-index:200;box-shadow:-8px 0 30px #0000001f;transition:right .3s cubic-bezier(.4,0,.2,1)}.grocery-browse-page .gb-cart--open{display:flex;right:0}.grocery-browse-page .gb-cart-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:199;opacity:0;transition:opacity .3s ease}.grocery-browse-page .gb-cart-overlay--visible{display:block;opacity:1}.grocery-browse-page .gb-cart-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border, #e2e8f0);background:#43a047;color:#fff}.grocery-browse-page .gb-cart-title{font-size:1rem;font-weight:700;margin:0;display:flex;align-items:center;gap:.5rem}.grocery-browse-page .gb-cart-close{background:#ffffff26;border:none;color:#fff;cursor:pointer;padding:6px;display:flex;font-size:1rem;border-radius:8px}.grocery-browse-page .gb-cart-empty{display:flex;flex-direction:column;align-items:center;padding:3rem 0;color:var(--text);opacity:.4}.grocery-browse-page .gb-cart-empty-icon{font-size:2.5rem;margin-bottom:.75rem}.grocery-browse-page .gb-cart-items{flex:1;overflow-y:auto;padding:.5rem 1.25rem}.grocery-browse-page .gb-cart-item{padding:.75rem 0;border-bottom:1px solid var(--border, #e2e8f0)}.grocery-browse-page .gb-cart-item:last-child{border-bottom:none}.grocery-browse-page .gb-cart-item-info{display:flex;flex-direction:column;margin-bottom:.4rem}.grocery-browse-page .gb-cart-item-name{font-size:.85rem;font-weight:600;color:var(--text)}.grocery-browse-page .gb-cart-item-meta{font-size:.72rem;color:var(--text);opacity:.5}.grocery-browse-page .gb-cart-item-controls{display:flex;align-items:center;gap:.5rem}.grocery-browse-page .gb-cart-items .gb-qty-control{background:var(--border, #e2e8f0);border-radius:8px}.grocery-browse-page .gb-cart-items .gb-qty-btn{width:28px;height:28px;color:var(--text)}.grocery-browse-page .gb-cart-items .gb-qty-btn:hover:not(:disabled){background:#00000014}.grocery-browse-page .gb-cart-items .gb-qty-value{color:var(--text);font-size:.8rem;min-width:22px}.grocery-browse-page .gb-cart-item-total{font-size:.85rem;font-weight:700;color:var(--text);margin-left:auto}.grocery-browse-page .gb-cart-item-remove{background:none;border:none;color:#ef4444;cursor:pointer;padding:4px;display:flex;font-size:.85rem;opacity:.6;transition:opacity .2s}.grocery-browse-page .gb-cart-item-remove:hover{opacity:1}.grocery-browse-page .gb-cart-footer{border-top:1px solid var(--border, #e2e8f0);padding:1rem 1.25rem;background:var(--background, #fff)}.grocery-browse-page .gb-cart-summary{margin-bottom:.75rem}.grocery-browse-page .gb-cart-row{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text);padding:.2rem 0}.grocery-browse-page .gb-cart-row--total{font-weight:800;font-size:1rem;padding-top:.5rem;margin-top:.35rem;border-top:1.5px dashed var(--border, #e2e8f0)}.grocery-browse-page .gb-cart-notes{margin-bottom:.75rem}.grocery-browse-page .gb-cart-notes-label{display:block;font-size:.72rem;font-weight:600;color:var(--text);margin-bottom:.35rem;opacity:.7;text-transform:uppercase}.grocery-browse-page .gb-cart-notes-input{width:100%;padding:.55rem .75rem;border:1px solid var(--border, #e2e8f0);border-radius:10px;background:var(--surface, var(--background));color:var(--text);font-size:.85rem;resize:vertical;outline:none;font-family:inherit;box-sizing:border-box}.grocery-browse-page .gb-cart-notes-input:focus{border-color:#43a047}.grocery-browse-page .gb-payment-mode{margin-bottom:.75rem}.grocery-browse-page .gb-payment-mode-label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:.4rem}.grocery-browse-page .gb-payment-mode-options{display:flex;gap:8px}.grocery-browse-page .gb-payment-mode-btn{flex:1;padding:8px 12px;border:2px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}.grocery-browse-page .gb-payment-mode-btn.gb-pm-active{border-color:#43a047;background:#43a04714;color:#43a047}.grocery-browse-page .gb-place-order-btn{width:100%;padding:.85rem;background:#43a047;color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:700;cursor:pointer;transition:opacity .2s;text-transform:uppercase}.grocery-browse-page .gb-place-order-btn:hover:not(:disabled){opacity:.9}.grocery-browse-page .gb-place-order-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.grocery-browse-page{height:calc(100vh - 100px)}.grocery-browse-page .gb-cat-sidebar{width:75px}.grocery-browse-page .gb-cat-icon{width:42px;height:42px;font-size:1.2rem}.grocery-browse-page .gb-cat-label{font-size:.6rem}.grocery-browse-page .gb-cart{width:100%;inset:auto auto 0 0;border-left:none;border-radius:20px 20px 0 0;max-height:80vh;box-shadow:0 -4px 30px #00000026;transition:transform .3s cubic-bezier(.4,0,.2,1);transform:translateY(100%)}.grocery-browse-page .gb-cart--open{right:auto;transform:translateY(0)}.grocery-browse-page .gb-item-thumb{width:50px;height:50px;min-width:50px;border-radius:8px}.grocery-browse-page .gb-item-row{padding:.6rem .75rem;gap:.6rem}.grocery-browse-page .gb-item-name,.grocery-browse-page .gb-item-price{font-size:.82rem}.grocery-browse-page .gb-add-btn{padding:.35rem .9rem;font-size:.75rem}}@media(max-width:380px){.grocery-browse-page{height:calc(100vh - 90px)}.grocery-browse-page .gb-cat-sidebar{width:65px}.grocery-browse-page .gb-cat-icon{width:38px;height:38px;font-size:1.1rem}.grocery-browse-page .gb-cat-label{font-size:.55rem}}@media(min-width:1024px){.grocery-browse-page .gb-cat-sidebar{width:110px}.grocery-browse-page .gb-cat-icon{width:56px;height:56px;font-size:1.6rem}.grocery-browse-page .gb-cat-label{font-size:.72rem}.grocery-browse-page .gb-item-thumb{width:64px;height:64px;min-width:64px}.grocery-browse-page .gb-cart-fab{bottom:1.5rem;left:auto;right:1.5rem;width:auto;border-radius:50px;padding:.65rem 1.5rem;box-shadow:0 4px 20px #43a04766}}.grocery-orders-page{padding:1.5rem;max-width:1100px;margin:0 auto}.grocery-orders-page .go-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 1rem;color:var(--text-secondary, #666)}.grocery-orders-page .go-spinner{width:36px;height:36px;border:3px solid var(--border, #e0e0e0);border-top-color:var(--primary, #4f46e5);border-radius:50%;animation:go-spin .8s linear infinite}@keyframes go-spin{to{transform:rotate(360deg)}}.grocery-orders-page .go-header{margin-bottom:1.25rem}.grocery-orders-page .go-title{font-size:1.5rem;font-weight:700;color:var(--text, #1a1a1a);margin:0}.grocery-orders-page .go-status-tabs{display:flex;gap:0;margin-bottom:1.25rem;border-bottom:2px solid var(--border, #e0e0e0);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.grocery-orders-page .go-status-tabs::-webkit-scrollbar{display:none}.grocery-orders-page .go-status-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.1rem;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;border-radius:0;background:none;color:var(--text-secondary, #666);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .25s ease;white-space:nowrap;flex-shrink:0}.grocery-orders-page .go-status-tab:hover{color:var(--primary)}.grocery-orders-page .go-status-tab.go-active{color:var(--primary);border-bottom-color:var(--primary);background:none;font-weight:600}.grocery-orders-page .go-tab-count{font-size:.7rem;background:var(--border, #e0e0e0);color:var(--text-secondary, #666);padding:.1rem .5rem;border-radius:10px;font-weight:600;min-width:20px;text-align:center}.grocery-orders-page .go-status-tab.go-active .go-tab-count{background:var(--primary);color:#fff}.grocery-orders-page .go-empty{text-align:center;padding:4rem 1rem;color:var(--text-secondary, #666)}.grocery-orders-page .go-empty h3{margin:1rem 0 .25rem;color:var(--text, #1a1a1a)}.grocery-orders-page .go-empty p{margin:0;font-size:.9rem}.grocery-orders-page .go-orders-list{display:flex;flex-direction:column;gap:.75rem}.grocery-orders-page .go-order-card{background:var(--card-bg, #fff);border:1px solid var(--border, #e0e0e0);border-radius:10px;overflow:hidden;transition:box-shadow .2s}.grocery-orders-page .go-order-card:hover{box-shadow:0 2px 8px #0000000f}.grocery-orders-page .go-order-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;gap:1rem}.grocery-orders-page .go-order-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.grocery-orders-page .go-order-number{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.grocery-orders-page .go-order-hash{font-weight:600;color:var(--text, #1a1a1a);font-size:.95rem}.grocery-orders-page .go-order-by{font-size:.82rem;color:var(--text-secondary, #888)}.grocery-orders-page .go-order-date{font-size:.8rem;color:var(--text-secondary, #888)}.grocery-orders-page .go-order-meta{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.grocery-orders-page .go-item-count{font-size:.85rem;color:var(--text-secondary, #666)}.grocery-orders-page .go-grand-total{font-weight:700;font-size:.95rem;color:var(--text, #1a1a1a)}.grocery-orders-page .go-expand-icon{color:var(--text-secondary, #888);display:flex}.grocery-orders-page .go-status-badge{display:inline-block;padding:.2rem .65rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.grocery-orders-page .go-status-pending{background:#fff3e0;color:#e65100}.grocery-orders-page .go-status-confirmed{background:#e3f2fd;color:#1565c0}.grocery-orders-page .go-status-processing{background:#f3e5f5;color:#7b1fa2}.grocery-orders-page .go-status-dispatched{background:#e0f2f1;color:#00695c}.grocery-orders-page .go-status-delivered{background:#e8f5e9;color:#2e7d32}.grocery-orders-page .go-status-cancelled{background:#fbe9e7;color:#c62828}.grocery-orders-page .go-order-details{padding:0 1.25rem 1.25rem;border-top:1px solid var(--border, #e0e0e0)}.grocery-orders-page .go-items-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.875rem}.grocery-orders-page .go-items-table th{text-align:left;padding:.5rem .75rem;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary, #888);border-bottom:1px solid var(--border, #e0e0e0)}.grocery-orders-page .go-items-table td{padding:.5rem .75rem;color:var(--text, #1a1a1a);border-bottom:1px solid var(--border-light, #f0f0f0)}.grocery-orders-page .go-items-table th:nth-child(n+2),.grocery-orders-page .go-items-table td:nth-child(n+2){text-align:right}.grocery-orders-page .go-items-table th:nth-child(3),.grocery-orders-page .go-items-table td:nth-child(3){text-align:center}.grocery-orders-page .go-order-summary{margin-top:.75rem;display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}.grocery-orders-page .go-summary-row{display:flex;justify-content:space-between;width:220px;font-size:.875rem;color:var(--text-secondary, #666)}.grocery-orders-page .go-summary-total{font-weight:700;font-size:.95rem;color:var(--text, #1a1a1a);border-top:1px solid var(--border, #e0e0e0);padding-top:.35rem;margin-top:.15rem}.grocery-orders-page .go-delivery-notes,.grocery-orders-page .go-cancel-reason{margin-top:.75rem;font-size:.85rem;color:var(--text-secondary, #666);padding:.5rem .75rem;background:var(--background-secondary, #f9f9f9);border-radius:6px}.grocery-orders-page .go-cancel-reason{background:#fbe9e7;color:#c62828}.grocery-orders-page .go-order-actions{margin-top:1rem;display:flex;gap:.5rem}.grocery-orders-page .go-order-actions button{display:inline-flex;align-items:center;gap:.35rem}.grocery-orders-page .go-cancel-form{display:flex;flex-direction:column;gap:1rem}.grocery-orders-page .go-cancel-info{margin:0;font-size:.9rem;color:var(--text, #1a1a1a)}.grocery-orders-page .go-form-group{display:flex;flex-direction:column;gap:.35rem}.grocery-orders-page .go-form-group label{font-size:.85rem;font-weight:600;color:var(--text, #1a1a1a)}.grocery-orders-page .go-textarea{padding:.6rem .75rem;border:1px solid var(--border, #e0e0e0);border-radius:6px;font-size:.875rem;font-family:inherit;resize:vertical;background:var(--background, #fff);color:var(--text, #1a1a1a)}.grocery-orders-page .go-textarea:focus{outline:none;border-color:var(--primary, #4f46e5);box-shadow:0 0 0 2px #4f46e526}.grocery-orders-page .go-form-actions{display:flex;justify-content:flex-end;gap:.5rem}@media(max-width:640px){.grocery-orders-page{padding:1rem}.grocery-orders-page .go-order-row{flex-direction:column;align-items:flex-start;gap:.5rem}.grocery-orders-page .go-order-meta{width:100%;justify-content:space-between}.grocery-orders-page .go-items-table{font-size:.8rem}.grocery-orders-page .go-items-table th,.grocery-orders-page .go-items-table td{padding:.4rem .5rem}.grocery-orders-page .go-summary-row{width:100%}}.grocery-orders-page .go-pg-info{margin-top:1rem;padding:.75rem 1rem;background:var(--background-secondary, #f8f9fa);border-radius:8px;border-left:3px solid var(--primary, #4f46e5);margin-bottom:.75rem}.grocery-orders-page .go-pg-info-title{margin:0 0 .5rem;font-size:.95rem;font-weight:700;color:var(--text, #1a1a1a)}.grocery-orders-page .go-pg-info-row{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-secondary, #666);margin-bottom:.3rem}.grocery-orders-page .go-pg-info-row a{color:var(--primary, #4f46e5);text-decoration:none}.grocery-orders-page .go-pg-info-row a:hover{text-decoration:underline}.grocery-orders-page .go-map-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;padding:.35rem .75rem;background:var(--primary, #4f46e5);color:#fff;border-radius:6px;font-size:.8rem;font-weight:600;text-decoration:none;transition:opacity .2s}.grocery-orders-page .go-map-link:hover{opacity:.85}.grocery-orders-page .go-loading-items{padding:1rem;text-align:center;color:var(--text-secondary, #888);font-size:.85rem}.grocery-orders-page .go-payment-badge{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase}.grocery-orders-page .go-payment-badge.go-paid{background:#dcfce7;color:#16a34a}.grocery-orders-page .go-payment-badge.go-unpaid{background:#fef3c7;color:#d97706}.grocery-orders-page .go-receipt-badge{font-size:.7rem;color:var(--text-secondary);font-family:monospace}.grocery-orders-page .go-order-date-receipt{display:flex;flex-direction:column;gap:2px}.grocery-orders-page .go-payment-info{padding:8px 12px;background:#f0fdf4;border-radius:6px;font-size:.85rem;color:#166534;margin-bottom:8px}.grocery-orders-page .go-txn-id{font-family:monospace;font-size:.8rem}.grocery-orders-page .go-invoice-modal{padding:0}.grocery-orders-page .go-invoice-actions{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.grocery-orders-page .go-invoice-container{padding:16px;max-height:70vh;overflow-y:auto}.grocery-orders-page .go-invoice-container .invoice{max-width:800px;margin:0 auto;box-shadow:0 2px 12px #00000014;border-radius:8px;overflow:hidden}.grocery-orders-page .go-load-more-btn{display:block;margin:20px auto;padding:10px 32px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:.88rem;font-weight:600;cursor:pointer}.grocery-orders-page .go-load-more-btn:hover{border-color:var(--primary);color:var(--primary)}.grocery-orders-page .go-load-more-btn:disabled{opacity:.5;cursor:wait}.grocery-item-master-page{padding:24px;max-width:1200px;margin:0 auto}.grocery-item-master-page .gim-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.grocery-item-master-page .gim-title{font-size:1.5rem;font-weight:700;color:var(--text);margin:0}.grocery-item-master-page .gim-header-actions{display:flex;gap:10px;align-items:center}.grocery-item-master-page .gim-tabs{display:flex;border-bottom:2px solid var(--border, #e2e8f0);margin-bottom:20px;gap:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.grocery-item-master-page .gim-tabs::-webkit-scrollbar{display:none}.grocery-item-master-page .gim-tab{display:flex;align-items:center;gap:6px;padding:.65rem 1.25rem;border:none;background:none;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-secondary, #64748b);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .25s ease;white-space:nowrap;flex-shrink:0}.grocery-item-master-page .gim-tab:hover{color:var(--primary)}.grocery-item-master-page .gim-tab-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.grocery-item-master-page .gim-content{min-height:200px}.grocery-item-master-page .gim-loading{display:flex;justify-content:center;align-items:center;padding:60px 20px;color:var(--text-secondary, #64748b);font-size:.95rem}.grocery-item-master-page .gim-empty{text-align:center;padding:60px 20px;color:var(--text-secondary, #64748b);font-size:.95rem}.grocery-item-master-page .gim-filters{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.grocery-item-master-page .gim-filter-group{flex-shrink:0}.grocery-item-master-page .gim-search-group{position:relative;flex:1;min-width:200px}.grocery-item-master-page .gim-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary, #64748b);pointer-events:none}.grocery-item-master-page .gim-search-input{width:100%;padding:8px 12px 8px 36px;border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:.9rem;background:var(--background, #fff);color:var(--text);outline:none;transition:border-color .2s;box-sizing:border-box}.grocery-item-master-page .gim-search-input:focus{border-color:var(--primary, #3b82f6)}.grocery-item-master-page .gim-select{padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:.9rem;background:var(--background, #fff);color:var(--text);outline:none;cursor:pointer;min-width:160px}.grocery-item-master-page .gim-select:focus{border-color:var(--primary, #3b82f6)}.grocery-item-master-page .gim-table-wrapper{overflow-x:auto;border-radius:10px;border:1px solid var(--border, #e2e8f0)}.grocery-item-master-page .gim-table{width:100%;border-collapse:collapse;font-size:.9rem}.grocery-item-master-page .gim-table thead{background:var(--surface, #f8fafc)}.grocery-item-master-page .gim-table th{padding:12px 16px;text-align:left;font-weight:600;color:var(--text-secondary, #64748b);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.grocery-item-master-page .gim-table td{padding:12px 16px;border-top:1px solid var(--border, #e2e8f0);color:var(--text);vertical-align:middle}.grocery-item-master-page .gim-table tbody tr:hover{background:var(--surface-hover, #f1f5f9)}.grocery-item-master-page .gim-cell-name{font-weight:600}.grocery-item-master-page .gim-cell-desc{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grocery-item-master-page .gim-item-thumb{width:40px;height:40px;border-radius:6px;object-fit:cover}.grocery-item-master-page .gim-item-thumb-placeholder{width:40px;height:40px;border-radius:6px;background:var(--surface, #f1f5f9);display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #94a3b8)}.grocery-item-master-page .gim-status-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.78rem;font-weight:600;white-space:nowrap}.grocery-item-master-page .gim-status-active{background:#dcfce7;color:#166534}.grocery-item-master-page .gim-status-inactive{background:#fee2e2;color:#991b1b}.grocery-item-master-page .gim-toggle-switch{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer}.grocery-item-master-page .gim-toggle-switch input{opacity:0;width:0;height:0}.grocery-item-master-page .gim-toggle-switch .gim-toggle-slider{position:absolute;inset:0;background:#ccc;border-radius:22px;transition:.3s}.grocery-item-master-page .gim-toggle-switch .gim-toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.grocery-item-master-page .gim-toggle-switch input:checked+.gim-toggle-slider{background:#22c55e}.grocery-item-master-page .gim-toggle-switch input:checked+.gim-toggle-slider:before{transform:translate(18px)}.grocery-item-master-page .gim-stock-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.78rem;font-weight:600;white-space:nowrap}.grocery-item-master-page .gim-stock-in{background:#dbeafe;color:#1e40af}.grocery-item-master-page .gim-stock-out{background:#fef3c7;color:#92400e}.grocery-item-master-page .gim-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--surface, #f1f5f9);color:var(--text-secondary, #64748b);border-radius:6px;cursor:pointer;transition:all .15s}.grocery-item-master-page .gim-action-btn:hover{background:var(--primary, #3b82f6);color:#fff}.grocery-item-master-page .gim-form{display:flex;flex-direction:column;gap:16px}.grocery-item-master-page .gim-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grocery-item-master-page .gim-form-col{display:flex;flex-direction:column;gap:16px}.grocery-item-master-page .gim-textarea{width:100%;padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:.9rem;font-family:inherit;background:var(--background, #fff);color:var(--text);resize:vertical;outline:none;box-sizing:border-box}.grocery-item-master-page .gim-textarea:focus{border-color:var(--primary, #3b82f6)}.grocery-item-master-page .gim-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.grocery-item-master-page .gim-toggle-label{font-size:.9rem;font-weight:500;color:var(--text)}.grocery-item-master-page .gim-toggle{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.grocery-item-master-page .gim-toggle input{opacity:0;width:0;height:0}.grocery-item-master-page .gim-toggle-slider{position:absolute;inset:0;background:#cbd5e1;border-radius:24px;transition:background .2s}.grocery-item-master-page .gim-toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}.grocery-item-master-page .gim-toggle input:checked+.gim-toggle-slider{background:var(--primary, #3b82f6)}.grocery-item-master-page .gim-toggle input:checked+.gim-toggle-slider:before{transform:translate(20px)}.grocery-item-master-page .gim-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.grocery-item-master-page .gim-import{display:flex;flex-direction:column;gap:16px}.grocery-item-master-page .gim-import-desc{font-size:.875rem;color:var(--text-secondary, #666);margin:0;line-height:1.5}.grocery-item-master-page .gim-import-actions{display:flex;gap:10px;flex-wrap:wrap}.grocery-item-master-page .gim-import-file-info{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;background:var(--grocery-highlight-light, #fff3e0);color:var(--grocery-highlight-dark, #bf5f00);font-size:.85rem;font-weight:500}.grocery-item-master-page .gim-import-file-count{margin-left:auto;font-weight:600}.grocery-item-master-page .gim-import-preview{border:1px solid var(--border, #e2e8f0);border-radius:10px;overflow:hidden}.grocery-item-master-page .gim-import-preview h4{margin:0;padding:10px 14px;font-size:.85rem;background:var(--surface, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.grocery-item-master-page .gim-import-preview .gim-table-wrapper{max-height:250px;overflow-y:auto}.grocery-item-master-page .gim-import-textarea{min-height:200px;font-family:Courier New,monospace;font-size:.85rem}.grocery-item-master-page .gim-import-result{padding:16px;border-radius:10px;background:var(--surface, #f8fafc);border:1px solid var(--border, #e2e8f0)}.grocery-item-master-page .gim-import-result h4{margin:0 0 10px;font-size:.95rem;color:var(--text)}.grocery-item-master-page .gim-import-stats{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px}.grocery-item-master-page .gim-import-stat{font-size:.85rem;font-weight:600;padding:4px 12px;border-radius:6px}.grocery-item-master-page .gim-import-created{background:#dcfce7;color:#166534}.grocery-item-master-page .gim-import-updated{background:#dbeafe;color:#1e40af}.grocery-item-master-page .gim-import-failed{background:#fee2e2;color:#991b1b}.grocery-item-master-page .gim-import-errors{margin-top:8px;font-size:.85rem;color:#991b1b}.grocery-item-master-page .gim-import-errors ul{margin:4px 0 0;padding-left:20px}.grocery-item-master-page .gim-import-errors li{margin-bottom:2px}@media(max-width:768px){.grocery-item-master-page{padding:16px}.grocery-item-master-page .gim-header{flex-direction:column;align-items:flex-start}.grocery-item-master-page .gim-form-grid{grid-template-columns:1fr}.grocery-item-master-page .gim-filters{flex-direction:column}.grocery-item-master-page .gim-select{width:100%}}.grocery-order-mgmt-page{padding:20px;max-width:1600px;margin:0 auto}.grocery-order-mgmt-page .gom-loader-wrap{display:flex;justify-content:center;align-items:center;min-height:300px}.grocery-order-mgmt-page .gom-loader{width:40px;height:40px;border:4px solid var(--border, #e0e0e0);border-top-color:var(--primary, #4f46e5);border-radius:50%;animation:gom-spin .8s linear infinite}@keyframes gom-spin{to{transform:rotate(360deg)}}.grocery-order-mgmt-page .gom-header{margin-bottom:24px}.grocery-order-mgmt-page .gom-header h1{font-size:1.5rem;font-weight:700;color:var(--text, #1a1a2e);margin:0 0 4px}.grocery-order-mgmt-page .gom-header p{color:var(--text-secondary, #6b7280);margin:0;font-size:.9rem}.grocery-order-mgmt-page .gom-returns-btn{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:7px 16px;border:1px solid #f97316;border-radius:8px;background:#f973160f;color:#f97316;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.grocery-order-mgmt-page .gom-returns-btn:hover{background:#f97316;color:#fff}.grocery-order-mgmt-page .gom-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.grocery-order-mgmt-page .gom-summary-card{background:var(--card-bg, #fff);border:1px solid var(--border, #e0e0e0);border-radius:12px;padding:16px;display:flex;align-items:center;gap:14px}.grocery-order-mgmt-page .gom-summary-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.grocery-order-mgmt-page .gom-summary-icon.gom-pending{background:#fef3c7;color:#d97706}.grocery-order-mgmt-page .gom-summary-icon.gom-active{background:#dbeafe;color:#2563eb}.grocery-order-mgmt-page .gom-summary-icon.gom-revenue{background:#d1fae5;color:#059669}.grocery-order-mgmt-page .gom-summary-icon.gom-items{background:#ede9fe;color:#7c3aed}.grocery-order-mgmt-page .gom-summary-info{display:flex;flex-direction:column}.grocery-order-mgmt-page .gom-summary-value{font-size:1.25rem;font-weight:700;color:var(--text, #1a1a2e)}.grocery-order-mgmt-page .gom-summary-label{font-size:.8rem;color:var(--text-secondary, #6b7280)}.grocery-order-mgmt-page .gom-filters{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid var(--border, #e0e0e0);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.grocery-order-mgmt-page .gom-filters::-webkit-scrollbar{display:none}.grocery-order-mgmt-page .gom-filter-tab{padding:.6rem 1.1rem;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;border-radius:0;background:none;color:var(--text-secondary, #666);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .25s ease;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem}.grocery-order-mgmt-page .gom-filter-tab:hover{color:var(--primary)}.grocery-order-mgmt-page .gom-filter-tab.gom-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.grocery-order-mgmt-page .gom-tab-count{font-size:.7rem;background:var(--border, #e0e0e0);color:var(--text-secondary, #666);padding:.1rem .5rem;border-radius:10px;font-weight:600;min-width:20px;text-align:center}.grocery-order-mgmt-page .gom-filter-tab.gom-active .gom-tab-count{background:var(--primary);color:#fff}.grocery-order-mgmt-page .gom-order-count{font-size:.85rem;color:var(--text-secondary, #6b7280);margin-left:auto}.grocery-order-mgmt-page .gom-empty{text-align:center;padding:60px 20px;color:var(--text-secondary, #6b7280)}.grocery-order-mgmt-page .gom-empty h3{margin:16px 0 8px;color:var(--text, #1a1a2e)}.grocery-order-mgmt-page .gom-empty p{margin:0}.grocery-order-mgmt-page .gom-orders-list{display:flex;flex-direction:column;gap:12px}.grocery-order-mgmt-page .gom-order-card{background:var(--card-bg, #fff);border:1px solid var(--border, #e0e0e0);border-radius:12px;overflow:hidden;transition:box-shadow .2s}.grocery-order-mgmt-page .gom-order-card:hover{box-shadow:0 2px 8px #0000000f}.grocery-order-mgmt-page .gom-order-card.gom-expanded{border-color:var(--primary, #4f46e5)}.grocery-order-mgmt-page .gom-order-header{display:flex;align-items:center;padding:16px;cursor:pointer;gap:16px;flex-wrap:wrap}.grocery-order-mgmt-page .gom-order-main{display:flex;align-items:center;gap:12px;flex-shrink:0}.grocery-order-mgmt-page .gom-order-number{font-weight:700;font-size:.95rem;color:var(--text, #1a1a2e)}.grocery-order-mgmt-page .gom-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.grocery-order-mgmt-page .gom-status-pending{background:#fef3c7;color:#92400e}.grocery-order-mgmt-page .gom-status-confirmed{background:#dbeafe;color:#1e40af}.grocery-order-mgmt-page .gom-status-processing{background:#e0e7ff;color:#3730a3}.grocery-order-mgmt-page .gom-status-dispatched{background:#fce7f3;color:#9d174d}.grocery-order-mgmt-page .gom-status-delivered{background:#d1fae5;color:#065f46}.grocery-order-mgmt-page .gom-status-cancelled{background:#fee2e2;color:#991b1b}.grocery-order-mgmt-page .gom-order-meta{display:flex;align-items:center;gap:16px;flex:1;flex-wrap:wrap;font-size:.85rem;color:var(--text-secondary, #6b7280)}.grocery-order-mgmt-page .gom-meta-item strong{color:var(--text, #1a1a2e)}.grocery-order-mgmt-page .gom-grand-total{font-weight:700;color:var(--primary, #4f46e5)!important;font-size:.95rem}.grocery-order-mgmt-page .gom-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.grocery-order-mgmt-page .gom-header-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:none;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;transition:opacity .2s;white-space:nowrap}.grocery-order-mgmt-page .gom-header-btn:disabled{opacity:.6;cursor:not-allowed}.grocery-order-mgmt-page .gom-header-btn.gom-btn-primary{background:var(--primary, #4f46e5);color:#fff}.grocery-order-mgmt-page .gom-header-btn.gom-btn-primary:hover:not(:disabled){opacity:.9}.grocery-order-mgmt-page .gom-header-btn.gom-btn-danger{background:#ef4444;color:#fff}.grocery-order-mgmt-page .gom-header-btn.gom-btn-danger:hover:not(:disabled){opacity:.9}.grocery-order-mgmt-page .gom-header-btn.gom-btn-secondary{background:var(--border, #e0e0e0);color:var(--text, #1a1a2e)}.grocery-order-mgmt-page .gom-header-btn.gom-btn-secondary:hover:not(:disabled){opacity:.8}.grocery-order-mgmt-page .gom-expand-icon{color:var(--text-secondary, #6b7280);font-size:1.1rem;flex-shrink:0}.grocery-order-mgmt-page .gom-order-details{padding:0 16px 16px;border-top:1px solid var(--border, #e0e0e0)}.grocery-order-mgmt-page .gom-items-section{margin-top:16px}.grocery-order-mgmt-page .gom-items-section h4{margin:0 0 10px;font-size:.95rem;color:var(--text, #1a1a2e)}.grocery-order-mgmt-page .gom-vendor-section{margin-bottom:16px;border:1px solid var(--border, #e0e0e0);border-radius:10px;overflow:hidden}.grocery-order-mgmt-page .gom-vendor-section-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--background-secondary, #f8f9fa);font-size:.9rem}.grocery-order-mgmt-page .gom-vendor-section-header strong{color:var(--text, #1a1a2e)}.grocery-order-mgmt-page .gom-vendor-section .gom-items-table{margin:0}.grocery-order-mgmt-page .gom-vendor-section .gom-items-cards{padding:8px}.grocery-order-mgmt-page .gom-items-table{width:100%;border-collapse:collapse;font-size:.85rem}.grocery-order-mgmt-page .gom-items-table th,.grocery-order-mgmt-page .gom-items-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border, #e0e0e0)}.grocery-order-mgmt-page .gom-items-table th{font-weight:600;color:var(--text-secondary, #6b7280);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.grocery-order-mgmt-page .gom-items-table tbody tr:last-child td{border-bottom:none}.grocery-order-mgmt-page .gom-items-table tfoot td{font-weight:600;border-bottom:none}.grocery-order-mgmt-page .gom-total-label{text-align:right}.grocery-order-mgmt-page .gom-grand-total-row td{font-weight:700;font-size:.95rem;color:var(--primary, #4f46e5);padding-top:10px}.grocery-order-mgmt-page .gom-order-totals{margin-top:12px;padding:10px 14px;background:var(--card-bg, #fff);border:1px solid var(--border, #e0e0e0);border-radius:8px}.grocery-order-mgmt-page .gom-total-line{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-secondary, #555);padding:3px 0}.grocery-order-mgmt-page .gom-grand-total-line{font-weight:700;font-size:.95rem;color:var(--primary, #4f46e5);border-top:1px solid var(--border, #e0e0e0);margin-top:4px;padding-top:6px}.grocery-order-mgmt-page .gom-delivery-notes{margin-top:12px;padding:10px 12px;background:#f0f9ff;border-radius:8px;font-size:.85rem;color:var(--text, #1a1a2e)}.grocery-order-mgmt-page .gom-cancel-reason{margin-top:12px;padding:10px 12px;background:#fef2f2;border-radius:8px;font-size:.85rem;color:#991b1b}.grocery-order-mgmt-page .gom-info-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}@media(max-width:768px){.grocery-order-mgmt-page .gom-info-row{grid-template-columns:1fr}}.grocery-order-mgmt-page .gom-customer-info{margin-bottom:0;padding:12px 14px;background:var(--background-secondary, #f8f9fa);border-radius:8px;border-left:3px solid var(--primary, #4f46e5)}.grocery-order-mgmt-page .gom-map-link{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:4px 10px;background:var(--primary, #4f46e5);color:#fff;border-radius:6px;font-size:.8rem;font-weight:600;text-decoration:none;transition:opacity .2s}.grocery-order-mgmt-page .gom-map-link:hover{opacity:.85}.grocery-order-mgmt-page .gom-customer-info h4{margin:0 0 8px;font-size:.85rem;font-weight:700;color:var(--text, #1a1a1a);display:flex;align-items:center;gap:6px}.grocery-order-mgmt-page .gom-customer-grid{display:flex;flex-wrap:wrap;gap:12px 24px}.grocery-order-mgmt-page .gom-customer-item{display:flex;align-items:center;gap:5px;font-size:.85rem;color:var(--text-secondary, #555)}.grocery-order-mgmt-page .gom-customer-item a{color:var(--primary, #4f46e5);text-decoration:none}.grocery-order-mgmt-page .gom-customer-item a:hover{text-decoration:underline}.grocery-order-mgmt-page .gom-payment-info{margin-top:12px;padding:10px 12px;background:#f0fdf4;border-radius:8px;font-size:.85rem;color:#166534}.grocery-order-mgmt-page .gom-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.grocery-order-mgmt-page .gom-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .2s}.grocery-order-mgmt-page .gom-btn:disabled{opacity:.6;cursor:not-allowed}.grocery-order-mgmt-page .gom-btn-primary{background:var(--primary, #4f46e5);color:#fff}.grocery-order-mgmt-page .gom-btn-primary:hover:not(:disabled){opacity:.9}.grocery-order-mgmt-page .gom-btn-danger{background:#ef4444;color:#fff}.grocery-order-mgmt-page .gom-btn-danger:hover:not(:disabled){opacity:.9}.grocery-order-mgmt-page .gom-btn-secondary{background:var(--border, #e0e0e0);color:var(--text, #1a1a2e)}.grocery-order-mgmt-page .gom-btn-secondary:hover:not(:disabled){opacity:.8}.grocery-order-mgmt-page .gom-cancel-form{margin-top:16px;padding:14px;background:#fef2f2;border-radius:10px;border:1px solid #fecaca}.grocery-order-mgmt-page .gom-cancel-form label{display:block;font-size:.85rem;font-weight:600;color:#991b1b;margin-bottom:8px}.grocery-order-mgmt-page .gom-cancel-input{width:100%;padding:10px 12px;border:1px solid #fecaca;border-radius:8px;font-size:.85rem;resize:vertical;background:#fff;color:var(--text, #1a1a2e);box-sizing:border-box}.grocery-order-mgmt-page .gom-cancel-input:focus{outline:none;border-color:#ef4444}.grocery-order-mgmt-page .gom-cancel-form-actions{display:flex;gap:10px;margin-top:12px;justify-content:flex-end}.grocery-order-mgmt-page .gom-loading-items{padding:1rem;text-align:center;color:var(--text-secondary, #888);font-size:.85rem}.grocery-order-mgmt-page .gom-mobile-only{display:none}.grocery-order-mgmt-page .gom-items-cards{display:flex;flex-direction:column;gap:8px}.grocery-order-mgmt-page .gom-item-card{padding:10px 12px;background:var(--background-secondary, #f8f9fa);border-radius:8px;border:1px solid var(--border, #e0e0e0)}.grocery-order-mgmt-page .gom-item-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.grocery-order-mgmt-page .gom-item-card-name{font-weight:600;font-size:.9rem;color:var(--text, #1a1a2e)}.grocery-order-mgmt-page .gom-item-card-total{font-weight:700;font-size:.9rem;color:var(--primary, #4f46e5)}.grocery-order-mgmt-page .gom-item-card-details{display:flex;gap:12px;font-size:.8rem;color:var(--text-secondary, #6b7280)}.grocery-order-mgmt-page .gom-mobile-totals{margin-top:8px;padding:10px 12px;background:var(--card-bg, #fff);border-radius:8px;border:1px solid var(--border, #e0e0e0)}.grocery-order-mgmt-page .gom-mobile-total-row{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-secondary, #555);padding:3px 0}.grocery-order-mgmt-page .gom-mobile-grand{font-weight:700;font-size:.95rem;color:var(--primary, #4f46e5);border-top:1px solid var(--border, #e0e0e0);margin-top:4px;padding-top:6px}.grocery-order-mgmt-page .gom-pg-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.grocery-order-mgmt-page .gom-pg-card{background:var(--card-bg, #fff);border:1px solid var(--border, #e0e0e0);border-radius:12px;padding:18px 16px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:10px}.grocery-order-mgmt-page .gom-pg-card:hover{border-color:var(--primary, #4f46e5);box-shadow:0 4px 12px #4f46e51a;transform:translateY(-2px)}.grocery-order-mgmt-page .gom-pg-card-name{font-size:1rem;font-weight:700;color:var(--text, #1a1a2e)}.grocery-order-mgmt-page .gom-pg-card-badges{display:flex;gap:8px;flex-wrap:wrap}.grocery-order-mgmt-page .gom-pg-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;background:#dbeafe;color:#1e40af}.grocery-order-mgmt-page .gom-pg-pending{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;background:#fef3c7;color:#92400e}.grocery-order-mgmt-page .gom-back-row{display:flex;align-items:center;gap:16px;margin-bottom:20px}.grocery-order-mgmt-page .gom-back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--border, #e0e0e0);border-radius:8px;padding:6px 14px;font-size:.85rem;font-weight:600;color:var(--primary, #4f46e5);cursor:pointer;transition:all .2s}.grocery-order-mgmt-page .gom-back-btn:hover{background:var(--primary, #4f46e5);color:#fff;border-color:var(--primary, #4f46e5)}.grocery-order-mgmt-page .gom-pg-title{font-size:1.15rem;font-weight:700;color:var(--text, #1a1a2e);margin:0}.grocery-order-mgmt-page .gom-bulk-confirm-row{margin-bottom:16px}.grocery-order-mgmt-page .gom-bulk-confirm-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:.9rem;font-weight:600;background:#059669;color:#fff;cursor:pointer;transition:opacity .2s}.grocery-order-mgmt-page .gom-bulk-confirm-btn:hover{opacity:.9}.grocery-order-mgmt-page .gom-vendor-summary{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.grocery-order-mgmt-page .gom-vendor-group{border:1px solid var(--border, #e0e0e0);border-radius:10px;overflow:hidden}.grocery-order-mgmt-page .gom-vendor-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--background-secondary, #f8f9fa);font-size:.9rem}.grocery-order-mgmt-page .gom-vendor-header strong{color:var(--text, #1a1a2e)}.grocery-order-mgmt-page .gom-vendor-phone{display:inline-flex;align-items:center;gap:4px;color:var(--primary, #4f46e5);text-decoration:none;font-size:.85rem}.grocery-order-mgmt-page .gom-vendor-phone:hover{text-decoration:underline}.grocery-order-mgmt-page .gom-vendor-items{padding:8px 14px}.grocery-order-mgmt-page .gom-vendor-item-row{display:flex;justify-content:space-between;padding:5px 0;font-size:.85rem;color:var(--text, #1a1a2e);border-bottom:1px solid var(--border, #e0e0e0)}.grocery-order-mgmt-page .gom-vendor-item-row:last-child{border-bottom:none}.grocery-order-mgmt-page .gom-bulk-confirm-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:12px;border-top:1px solid var(--border, #e0e0e0)}.grocery-order-mgmt-page .gom-est-delivery{margin-top:12px;padding:12px 14px;background:#f0f9ff;border-radius:8px;border-left:3px solid #2563eb}.grocery-order-mgmt-page .gom-est-delivery-label{display:block;font-size:.8rem;font-weight:600;color:#1e40af;margin-bottom:6px}.grocery-order-mgmt-page .gom-est-delivery-input{width:100%;padding:8px 10px;border:1px solid var(--border, #e0e0e0);border-radius:8px;font-size:.85rem;color:var(--text, #1a1a2e);background:#fff;outline:none;font-family:inherit}.grocery-order-mgmt-page .gom-est-delivery-input:focus{border-color:#2563eb}.grocery-order-mgmt-page .gom-est-badge{font-size:.72rem;font-weight:600;color:#2563eb;background:#dbeafe;padding:2px 8px;border-radius:10px}.grocery-order-mgmt-page .gom-item-card-vendor{display:block;font-size:.75rem;color:var(--text-secondary, #6b7280);font-weight:400;margin-top:2px}.grocery-order-mgmt-page .gom-rejected-item{text-decoration:line-through;opacity:.6}.grocery-order-mgmt-page .gom-rejected-item .gom-rejected-badge,.grocery-order-mgmt-page .gom-rejected-item .gom-reject-reason-text{text-decoration:none}.grocery-order-mgmt-page .gom-rejected-badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:.68rem;font-weight:700;background:#fee2e2;color:#991b1b;margin-left:6px;text-decoration:none}.grocery-order-mgmt-page .gom-reject-reason-text{font-size:.78rem;color:#991b1b;font-style:italic;text-decoration:none}.grocery-order-mgmt-page .gom-reject-modal-items{display:flex;flex-direction:column;gap:0;max-height:400px;overflow-y:auto}.grocery-order-mgmt-page .gom-reject-item{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border, #e0e0e0)}.grocery-order-mgmt-page .gom-reject-item:last-child{border-bottom:none}.grocery-order-mgmt-page .gom-reject-checkbox{display:flex;align-items:center;gap:6px;flex-shrink:0}.grocery-order-mgmt-page .gom-reject-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#ef4444}.grocery-order-mgmt-page .gom-reject-checkbox label{font-size:.8rem;font-weight:600;color:#991b1b;cursor:pointer}.grocery-order-mgmt-page .gom-reject-item-info{flex:1;min-width:0}.grocery-order-mgmt-page .gom-reject-item-name{display:block;font-weight:600;font-size:.9rem;color:var(--text, #1a1a2e)}.grocery-order-mgmt-page .gom-reject-item-detail{display:block;font-size:.8rem;color:var(--text-secondary, #6b7280);margin-top:2px}.grocery-order-mgmt-page .gom-reject-reason{width:100%;padding-left:34px}.grocery-order-mgmt-page .gom-reject-reason input{width:100%;padding:7px 10px;border:1px solid #fecaca;border-radius:6px;font-size:.82rem;background:#fff;color:var(--text, #1a1a2e);box-sizing:border-box}.grocery-order-mgmt-page .gom-reject-reason input:focus{outline:none;border-color:#ef4444}.grocery-order-mgmt-page .gom-return-modal-items{display:flex;flex-direction:column;gap:0;max-height:400px;overflow-y:auto}.grocery-order-mgmt-page .gom-return-item{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border, #e0e0e0)}.grocery-order-mgmt-page .gom-return-item:last-child{border-bottom:none}.grocery-order-mgmt-page .gom-return-qty{display:flex;align-items:center;gap:6px;flex-shrink:0}.grocery-order-mgmt-page .gom-return-qty label{font-size:.8rem;font-weight:600;color:var(--text-secondary, #6b7280)}.grocery-order-mgmt-page .gom-return-qty input{width:60px;padding:5px 8px;border:1px solid var(--border, #e0e0e0);border-radius:6px;font-size:.85rem;text-align:center;background:#fff;color:var(--text, #1a1a2e)}.grocery-order-mgmt-page .gom-return-qty input:focus{outline:none;border-color:var(--primary, #4f46e5)}.grocery-order-mgmt-page .gom-main-with-sidebar{display:flex;gap:20px;align-items:flex-start}.grocery-order-mgmt-page .gom-orders-column{flex:1;min-width:0;overflow-y:auto}.grocery-order-mgmt-page .gom-pending-sidebar{width:30%;min-width:280px;max-width:380px;border:1px solid var(--border, #e0e0e0);border-radius:12px;background:var(--card-bg, #fff);padding:16px;position:sticky;top:20px;max-height:calc(100vh - 120px);overflow-y:auto;flex-shrink:0}.grocery-order-mgmt-page .gom-ps-title{font-size:1rem;font-weight:700;color:var(--text, #1a1a2e);margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--primary, #4f46e5)}.grocery-order-mgmt-page .gom-ps-vendor-group{margin-bottom:14px;border:1px solid var(--border, #e0e0e0);border-radius:10px;overflow:hidden}.grocery-order-mgmt-page .gom-ps-vendor-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--background-secondary, #f8f9fa);font-size:.85rem;gap:8px;flex-wrap:wrap}.grocery-order-mgmt-page .gom-ps-vendor-header strong{color:var(--text, #1a1a2e)}.grocery-order-mgmt-page .gom-ps-email-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--primary, #4f46e5);border-radius:6px;background:none;color:var(--primary, #4f46e5);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.grocery-order-mgmt-page .gom-ps-email-btn:hover{background:var(--primary, #4f46e5);color:#fff}.grocery-order-mgmt-page .gom-ps-items{padding:6px 12px}.grocery-order-mgmt-page .gom-ps-item-row{display:flex;justify-content:space-between;padding:5px 0;font-size:.85rem;color:var(--text, #1a1a2e);border-bottom:1px solid var(--border, #e0e0e0)}.grocery-order-mgmt-page .gom-ps-item-row:last-child{border-bottom:none}.grocery-order-mgmt-page .gom-ps-toggle{display:none;position:fixed;bottom:80px;right:20px;width:48px;height:48px;border-radius:50%;border:none;background:var(--primary, #4f46e5);color:#fff;align-items:center;justify-content:center;box-shadow:0 4px 12px #4f46e54d;cursor:pointer;z-index:100}.grocery-order-mgmt-page .gom-sidebar-backdrop{display:none}@media(max-width:900px){.grocery-order-mgmt-page .gom-summary-cards,.grocery-order-mgmt-page .gom-pg-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grocery-order-mgmt-page .gom-main-with-sidebar{display:block}.grocery-order-mgmt-page .gom-pending-sidebar{display:none;position:fixed;top:0;right:0;bottom:0;width:85%;max-width:380px;min-width:0;border-radius:0;border:none;border-left:1px solid var(--border, #e0e0e0);z-index:200;max-height:100vh;box-shadow:-4px 0 20px #00000026}.grocery-order-mgmt-page .gom-pending-sidebar.gom-sidebar-open{display:block}.grocery-order-mgmt-page .gom-ps-toggle{display:flex}.grocery-order-mgmt-page .gom-sidebar-backdrop{display:block;position:fixed;inset:0;background:#0006;z-index:199}}@media(max-width:600px){.grocery-order-mgmt-page{padding:12px}.grocery-order-mgmt-page .gom-summary-cards,.grocery-order-mgmt-page .gom-pg-cards{grid-template-columns:1fr}.grocery-order-mgmt-page .gom-order-header{flex-direction:column;align-items:flex-start;gap:8px;position:relative}.grocery-order-mgmt-page .gom-order-meta{flex-direction:column;gap:4px;align-items:flex-start}.grocery-order-mgmt-page .gom-header-actions{flex-wrap:wrap}.grocery-order-mgmt-page .gom-expand-icon{position:absolute;top:16px;right:16px}.grocery-order-mgmt-page .gom-desktop-only{display:none}.grocery-order-mgmt-page .gom-mobile-only{display:flex}}.grocery-order-mgmt-page .gom-search-bar{margin-bottom:16px;position:relative}.grocery-order-mgmt-page .gom-search-input{width:100%;padding:10px 14px 10px 40px;border:1px solid var(--border);border-radius:10px;font-size:.88rem;background:var(--surface);color:var(--text);outline:none}.grocery-order-mgmt-page .gom-search-input:focus{border-color:var(--primary)}.grocery-order-mgmt-page .gom-search-bar svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-secondary);opacity:.5}.grocery-order-mgmt-page .gom-load-more-btn{display:block;margin:20px auto;padding:10px 32px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s}.grocery-order-mgmt-page .gom-load-more-btn:hover{border-color:var(--primary);color:var(--primary)}.grocery-order-mgmt-page .gom-load-more-btn:disabled{opacity:.5;cursor:wait}.customer-dashboard{display:flex;flex-direction:column;gap:20px}.welcome-section{display:flex;align-items:center;gap:16px;padding:8px 0}.welcome-avatar{width:56px;height:56px;border-radius:16px;background:#000;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0}[data-theme=dark] .welcome-avatar{background:#fff;color:#000}.welcome-text h1{font-size:.9rem;color:var(--text-secondary);font-weight:400;margin-bottom:2px}.welcome-text h2{font-size:1.35rem;font-weight:700}.payment-alert{display:flex;align-items:flex-start;gap:16px;padding:16px;border-radius:12px;border:2px solid;animation:pulse 2s ease-in-out infinite}.payment-alert.alert-danger{background:#fee2e2;border-color:#dc2626;color:#991b1b}.payment-alert.alert-warning{background:#fef3c7;border-color:#f59e0b;color:#92400e}[data-theme=dark] .payment-alert.alert-danger{background:#dc262626;border-color:#dc2626;color:#fca5a5}[data-theme=dark] .payment-alert.alert-warning{background:#f59e0b26;border-color:#f59e0b;color:#fcd34d}.payment-alert svg{flex-shrink:0;margin-top:2px}.alert-content{flex:1}.alert-content h4{font-size:1rem;font-weight:600;margin-bottom:4px}.alert-content p{font-size:.9rem;margin:4px 0}.alert-amount{font-weight:700;font-size:1.05rem;margin-top:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.85}}.status-card{display:flex;align-items:center;gap:16px;padding:20px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}.status-card.paid{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.status-card.pending{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a}[data-theme=dark] .status-card.paid{background:linear-gradient(135deg,#10b98126,#10b9811a);border-color:#10b9814d}[data-theme=dark] .status-card.pending{background:linear-gradient(135deg,#f59e0b26,#f59e0b1a);border-color:#f59e0b4d}.status-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.status-card.paid .status-icon{background:#dcfce7;color:#16a34a}.status-card.pending .status-icon{background:#fef3c7;color:#d97706}[data-theme=dark] .status-card.paid .status-icon{background:#10b98133;color:#34d399}[data-theme=dark] .status-card.pending .status-icon{background:#f59e0b33;color:#fbbf24}.status-content{flex:1;display:flex;flex-direction:column;gap:2px}.status-label{font-size:.8rem;color:var(--text-secondary)}.status-text{font-size:1.1rem;font-weight:600}.status-card.paid .status-text{color:#16a34a}.status-card.pending .status-text{color:#d97706}[data-theme=dark] .status-card.paid .status-text{color:#34d399}[data-theme=dark] .status-card.pending .status-text{color:#fbbf24}.status-card.partial{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}[data-theme=dark] .status-card.partial{background:linear-gradient(135deg,#f59e0b33,#f59e0b26);border-color:#f59e0b66}.status-card.partial .status-icon{background:#fde68a;color:#b45309}[data-theme=dark] .status-card.partial .status-icon{background:#f59e0b40;color:#fbbf24}.status-card.partial .status-text{color:#b45309}[data-theme=dark] .status-card.partial .status-text{color:#fbbf24}.status-detail{font-size:.8rem;color:var(--text-secondary);margin-top:2px}.status-amount{font-size:1.35rem;font-weight:700}.info-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.info-icon{width:40px;height:40px;border-radius:10px;background:var(--background);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--text-secondary);flex-shrink:0}.info-content{display:flex;flex-direction:column;gap:2px;overflow:hidden}.info-label{font-size:.75rem;color:var(--text-secondary)}.info-value{font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section{margin-top:8px}.section-title{font-size:1rem;font-weight:600;margin-bottom:12px}.payment-list{display:flex;flex-direction:column;gap:10px}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.payment-info{display:flex;flex-direction:column;gap:2px}.payment-month{font-weight:500;font-size:.95rem}.payment-date{font-size:.8rem;color:var(--text-secondary)}.payment-amount{font-weight:600;font-size:1rem;color:#10b981}.empty-state{text-align:center;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text-secondary)}.current-bills-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.current-bills-section .section-title{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:#d97706}.section-icon{font-size:1.1rem}.current-bills-list{display:flex;flex-direction:column;gap:10px}.current-bill-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--background);border-radius:8px;border:1px solid var(--border)}.bill-info{display:flex;flex-direction:column;gap:2px}.bill-month{font-weight:600;font-size:.95rem}.bill-room{font-size:.8rem;color:var(--text-secondary)}.bill-amounts{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.bill-allocated{font-size:.85rem;color:var(--text-secondary);text-decoration:line-through}.bill-paid{font-size:.8rem;color:#10b981}.bill-pending{font-weight:600;color:#dc2626}.current-bill-item.bill-awaiting{border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 6%,var(--background))}.bill-approval-status{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.bill-approval-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;background:#fef3c7;color:#b45309;white-space:nowrap}.bill-txn-ref{font-size:.72rem;color:var(--text-secondary)}.total-pending{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;border-top:1px solid var(--border);font-weight:500}.total-amount{font-size:1.1rem;font-weight:700;color:#dc2626}.pay-bill-btn{padding:8px 16px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.pay-bill-btn:hover{background:#059669}.bill-payment-form{display:flex;flex-direction:column;gap:16px}.bill-payment-info{background:var(--background);border-radius:8px;padding:12px}.bill-payment-info .info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.bill-payment-info .info-row:last-child{border-bottom:none}.bill-payment-info .label{color:var(--text-secondary);font-size:.9rem}.bill-payment-info .value{font-weight:500;font-size:.9rem}.bill-payment-info .value.paid{color:#10b981}.bill-payment-info .value.pending{color:#dc2626;font-weight:600}.bill-payment-form .form-group{display:flex;flex-direction:column;gap:6px}.bill-payment-form label{font-size:.875rem;font-weight:500;color:var(--text)}.bill-payment-form input,.bill-payment-form select,.bill-payment-form textarea{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;background:var(--surface);color:var(--text);font-family:inherit}.bill-payment-form input:focus,.bill-payment-form select:focus,.bill-payment-form textarea:focus{outline:none;border-color:var(--text)}.bill-payment-form .form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border)}.upi-payment-section{background:var(--background);border-radius:8px;padding:16px;margin-bottom:16px}.upi-payment-section h4,.payment-details-section h4{font-size:.95rem;font-weight:600;margin-bottom:12px;color:var(--text)}.upi-payment-methods{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.qr-code-display p,.upi-deeplink p{font-size:.85rem;color:var(--text-secondary);margin-bottom:8px}.qr-code-image{max-width:150px;border-radius:8px;border:1px solid var(--border)}.upi-deeplink{flex:1;min-width:200px}.upi-pay-button{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:#10b981;color:#fff;border-radius:8px;text-decoration:none;font-weight:500;transition:background .2s}.upi-pay-button:hover{background:#059669}.upi-id-display{margin-top:12px;font-size:.85rem}.payment-details-section{margin-bottom:16px}.form-help{font-size:.8rem;color:var(--text-secondary);margin-top:4px}.file-name{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#10b981}.payment-note{text-align:center;font-size:.85rem;color:var(--text-secondary);margin-top:12px}.pending-approvals-section{background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;padding:16px;margin-bottom:20px}.pending-approvals-section .section-title{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:600;color:#92400e;margin-bottom:12px}.pending-approvals-section .section-icon{color:#d97706}.pending-approvals-list{display:flex;flex-direction:column;gap:10px}.pending-approval-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fffbeb;border-radius:8px}.approval-info{display:flex;flex-direction:column;gap:2px}.approval-months{font-weight:500;color:#78350f}.approval-date{font-size:.8rem;color:#a16207}.approval-status{display:flex;align-items:center;gap:10px}.approval-amount{font-weight:600;color:#78350f}.pending-approvals-section .status-badge.pending{background:#fcd34d;color:#78350f;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.approval-note{text-align:center;font-size:.8rem;color:#a16207;margin-top:10px;margin-bottom:0}.event-notification-banner{display:flex;gap:14px;padding:16px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;color:#fff;position:relative;overflow:hidden;animation:slideInDown .4s ease-out}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.event-notification-banner:before{content:"";position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translate(-100%) rotate(25deg)}to{transform:translate(100%) rotate(25deg)}}.event-banner-icon{width:44px;height:44px;background:#fff3;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;animation:bellRing 2s ease-in-out infinite}@keyframes bellRing{0%,to{transform:rotate(0)}5%,15%{transform:rotate(10deg)}10%,20%{transform:rotate(-10deg)}25%{transform:rotate(0)}}.event-banner-content{flex:1;min-width:0}.event-banner-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.event-banner-title{font-size:1.05rem;font-weight:700;margin:0;line-height:1.3}.event-dismiss-btn{background:#fff3;border:none;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;flex-shrink:0;transition:background .2s}.event-dismiss-btn:hover{background:#ffffff4d}.event-banner-message{font-size:.9rem;margin:8px 0;line-height:1.5;opacity:.95;white-space:pre-wrap}.event-banner-image{margin:12px 0;border-radius:10px;overflow:hidden;max-height:150px}.event-banner-image img{width:100%;height:100%;object-fit:cover;display:block}.event-banner-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;flex-wrap:wrap;gap:8px}.event-banner-dates{font-size:.8rem;opacity:.85}.event-banner-nav{display:flex;align-items:center;gap:8px}.event-nav-btn{background:#fff3;border:none;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background .2s}.event-nav-btn:hover{background:#ffffff4d}.event-counter{font-size:.8rem;opacity:.85}[data-theme=dark] .event-notification-banner{background:linear-gradient(135deg,#4f46e5,#7c3aed)}@media(max-width:400px){.info-cards{grid-template-columns:1fr}.status-card{flex-wrap:wrap}.status-amount{width:100%;text-align:right;margin-top:8px}.current-bill-item{flex-direction:column;align-items:flex-start;gap:8px}.bill-amounts{align-items:flex-start;width:100%;flex-direction:row;justify-content:space-between;flex-wrap:wrap;gap:8px}.pay-bill-btn{width:100%;text-align:center}}.customer-payments{display:flex;flex-direction:column;gap:20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.page-title{font-size:1.5rem;font-weight:700;margin-bottom:0}.pay-now-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #3b82f64d}.pay-now-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 16px #3b82f666;transform:translateY(-2px)}.pay-now-btn:disabled{opacity:.6;cursor:not-allowed}.pay-now-btn svg{font-size:1.1rem}.payments-list{display:flex;flex-direction:column;gap:12px}.payment-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;cursor:pointer;transition:all .2s}.payment-card:hover{border-color:var(--text-secondary);box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.payment-card-content{display:flex;justify-content:space-between;align-items:center;gap:16px}.payment-left{flex:1;display:flex;flex-direction:column;gap:6px}.payment-month{font-weight:600;font-size:1rem;color:var(--text)}.payment-meta{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-secondary)}.payment-separator{opacity:.5}.payment-date{font-size:.8rem}.payment-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.payment-amount{font-size:1.25rem;font-weight:700;color:#10b981}.payment-receipt{font-size:.75rem;color:var(--text-secondary);font-family:monospace}.mode-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.mode-badge.cash{background:#f0fdf4;color:#16a34a}.mode-badge.upi{background:#eff6ff;color:#2563eb}.mode-badge.bank{background:#fef3c7;color:#d97706}.mode-badge.card{background:#f3e8ff;color:#9333ea}.mode-badge.cheque{background:#f1f5f9;color:#475569}.mode-badge.razorpay,.mode-badge.online{background:#eff6ff;color:#2563eb}[data-theme=dark] .mode-badge.cash{background:#10b98133}[data-theme=dark] .mode-badge.upi{background:#2563eb33}[data-theme=dark] .mode-badge.bank{background:#d9770633}[data-theme=dark] .mode-badge.card{background:#9333ea33}[data-theme=dark] .mode-badge.cheque{background:#47556933}[data-theme=dark] .mode-badge.razorpay,[data-theme=dark] .mode-badge.online{background:#2563eb33}.empty-state{text-align:center;padding:48px 24px;background:var(--surface);border:1px solid var(--border);border-radius:14px}.empty-icon{font-size:3rem;color:var(--border);margin-bottom:16px}.empty-state p{color:var(--text-secondary)}.invoice-actions{display:flex;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.invoice-action-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s}.invoice-action-btn:hover{background:var(--background)}.invoice-container{background:#fff;border-radius:12px;padding:30px;color:#000}[data-theme=dark] .invoice-container{border:1px solid var(--border)}.invoice{max-width:100%}.invoice-header{text-align:center;margin-bottom:30px;border-bottom:2px solid #000;padding-bottom:20px}.invoice-title{font-size:1.5rem;font-weight:700;margin-bottom:5px;color:#000}.invoice-subtitle{color:#666;font-size:.9rem}.invoice-meta{display:flex;justify-content:space-between;margin-bottom:30px}.meta-group{display:flex;flex-direction:column;gap:4px}.meta-label{font-size:.7rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.meta-value{font-size:.95rem;font-weight:600;color:#000}.invoice-details{margin-bottom:20px}.detail-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eee}.invoice-details .detail-label{color:#666;font-size:.9rem}.invoice-details .detail-value{font-weight:500;color:#000;font-size:.9rem}.invoice-total{background:#f5f5f5;padding:20px;border-radius:8px;margin-top:20px}.total-row{display:flex;justify-content:space-between;font-size:1.25rem;font-weight:700;color:#000}.invoice-footer{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid #eee;color:#666;font-size:.8rem}.invoice-footer p{margin-bottom:4px}.loading-state{display:flex;justify-content:center;align-items:center;min-height:300px}.loader{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--text);border-radius:50%;animation:spin .8s linear infinite}.qr-payment-modal{padding:16px 0}.qr-payment-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border)}.qr-payment-section:last-of-type{border-bottom:none;margin-bottom:16px}.qr-payment-section h4{font-size:1rem;font-weight:600;margin-bottom:16px;color:var(--text)}.month-checkboxes{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.month-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.95rem}.month-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.custom-amount-toggle{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.custom-amount-input{padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;width:150px;background:var(--surface);color:var(--text)}.custom-amount-input:focus{outline:none;border-color:var(--text)}.amount-summary{margin-top:16px;padding:12px 16px;background:var(--background);border-radius:8px;font-size:1.1rem}.amount-breakdown{display:flex;flex-direction:column;gap:4px;margin-top:8px;font-size:.9rem;font-weight:400;color:var(--text-secondary)}.current-bill-option{margin-top:12px;padding:12px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px}[data-theme=dark] .current-bill-option{background:#10b98126;border-color:#10b98166}.current-bill-option .month-checkbox span{color:#059669;font-weight:500}[data-theme=dark] .current-bill-option .month-checkbox span{color:#34d399}.qr-payment-methods{display:flex;flex-direction:column;gap:20px}.qr-code-display{text-align:center}.qr-code-display p{margin-bottom:12px;color:var(--text-secondary);font-size:.9rem}.qr-code-image{max-width:200px;height:auto;border:1px solid var(--border);border-radius:8px;padding:8px;background:#fff}.upi-deeplink{text-align:center;padding:20px;background:var(--background);border-radius:8px}.upi-deeplink p{margin-bottom:12px;color:var(--text-secondary);font-size:.9rem}.upi-pay-button{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #0596694d}.upi-pay-button:hover{background:linear-gradient(135deg,#047857,#065f46);transform:translateY(-2px);box-shadow:0 6px 16px #05966966}.upi-id-display{margin-top:16px;font-size:.85rem;color:var(--text-secondary)}.upi-id-display strong{color:var(--text);font-family:monospace;background:var(--surface);padding:4px 8px;border-radius:4px}.upi-app-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.upi-pay-button.gpay{background:linear-gradient(135deg,#4285f4,#3367d6);box-shadow:0 4px 12px #4285f44d;padding:12px 20px;font-size:.9rem}.upi-pay-button.gpay:hover{background:linear-gradient(135deg,#3367d6,#2851a3);box-shadow:0 6px 16px #4285f466}.upi-pay-button.phonepe{background:linear-gradient(135deg,#5f259f,#4a1d7a);box-shadow:0 4px 12px #5f259f4d;padding:12px 20px;font-size:.9rem}.upi-pay-button.phonepe:hover{background:linear-gradient(135deg,#4a1d7a,#3a1760);box-shadow:0 6px 16px #5f259f66}.upi-pay-button.paytm{background:linear-gradient(135deg,#00baf2,#09c);box-shadow:0 4px 12px #00baf24d;padding:12px 20px;font-size:.9rem}.upi-pay-button.paytm:hover{background:linear-gradient(135deg,#09c,#007aa3);box-shadow:0 6px 16px #00baf266}.ios-note{margin-top:12px;font-size:.8rem;color:var(--text-secondary);font-style:italic}.qr-payment-section .form-group{margin-bottom:16px}.qr-payment-section .form-group label{display:block;font-size:.9rem;font-weight:500;margin-bottom:8px;color:var(--text)}.qr-payment-section .input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;font-size:.95rem;background:var(--surface);color:var(--text)}.qr-payment-section .input:focus{outline:none;border-color:var(--text)}.form-help{margin-top:6px;font-size:.8rem;color:var(--text-secondary)}.receipt-upload{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.receipt-upload .file-name{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#059669}.qr-payment-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border)}.qr-payment-note{margin-top:16px;padding:12px;background:#fef3c7;color:#92400e;border-radius:8px;font-size:.85rem;text-align:center}@media(max-width:480px){.qr-payment-methods{gap:16px}.qr-code-image{max-width:180px}.qr-payment-actions{flex-direction:column}.qr-payment-actions button{width:100%}}.customer-profile{display:flex;flex-direction:column;gap:24px}.customer-profile .profile-header{display:flex;align-items:center;gap:16px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:16px}.customer-profile .profile-avatar{width:72px;height:72px;border-radius:18px;background:#000;color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;flex-shrink:0}[data-theme=dark] .customer-profile .profile-avatar{background:#fff;color:#000}.customer-profile .profile-info{display:flex;flex-direction:column;gap:4px;min-width:0}.customer-profile .profile-info h1{font-size:1.35rem;font-weight:700;margin:0;word-break:break-word}.customer-profile .profile-username{font-size:.9rem;color:var(--text-secondary);word-break:break-all}.customer-profile .profile-section{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}.customer-profile .section-title{font-size:1rem;font-weight:600;margin-bottom:16px;color:var(--text)}.customer-profile .info-list{display:flex;flex-direction:column;gap:16px}.customer-profile .info-item{display:flex;align-items:flex-start;gap:14px}.customer-profile .info-icon{width:42px;height:42px;border-radius:10px;background:var(--background);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--text-secondary);flex-shrink:0}.customer-profile .info-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.customer-profile .info-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.customer-profile .info-value{font-size:.95rem;font-weight:500;word-break:break-word;overflow-wrap:break-word}.customer-profile .payment-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.customer-profile .payment-info-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;background:var(--background);border-radius:12px;text-align:center;overflow:hidden}.customer-profile .payment-info-card .card-icon{font-size:1.5rem;color:var(--text-secondary)}.customer-profile .payment-info-card .card-label{font-size:.72rem;color:var(--text-secondary)}.customer-profile .payment-info-card .card-value{font-size:1rem;font-weight:700;word-break:break-word;max-width:100%}.customer-profile .qr-code-section{text-align:center}.customer-profile .qr-code-container{display:flex;flex-direction:column;align-items:center;gap:16px}.customer-profile .qr-code-wrapper{padding:16px;background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a;display:inline-block}[data-theme=dark] .customer-profile .qr-code-wrapper{box-shadow:0 4px 12px #0000004d}.customer-profile .qr-code-info{display:flex;flex-direction:column;align-items:center;gap:8px}.customer-profile .qr-hint{margin:0;font-size:.9rem;color:var(--text-secondary)}.customer-profile .qr-code-value{font-family:monospace;font-size:.8rem;padding:8px 16px;background:var(--background);border-radius:8px;color:var(--text-secondary);word-break:break-all;max-width:100%}.customer-profile .download-qr-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;margin-top:12px}.customer-profile .download-qr-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.customer-profile .download-qr-btn svg{font-size:1rem}.customer-profile .leaving-section .section-title{display:flex;align-items:center;gap:8px}.customer-profile .section-description{margin:0 0 16px;font-size:.9rem;color:var(--text-secondary)}.customer-profile .leaving-date-form{display:flex;flex-direction:column;gap:12px}.customer-profile .leaving-date-input-group{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.customer-profile .leaving-date-input{padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--text);font-size:.95rem;min-width:160px}.customer-profile .leaving-date-input:focus{outline:none;border-color:var(--text)}.customer-profile .leaving-status{padding:10px 14px;border-radius:8px;font-size:.9rem;font-weight:500}.customer-profile .leaving-status-thisweek{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.customer-profile .leaving-status-thismonth{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.customer-profile .leaving-status-future{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}[data-theme=dark] .customer-profile .leaving-status-thisweek{background:#dc262626;border-color:#dc26264d}[data-theme=dark] .customer-profile .leaving-status-thismonth{background:#d9770626;border-color:#d977064d}[data-theme=dark] .customer-profile .leaving-status-future{background:#2563eb26;border-color:#2563eb4d}.customer-profile .settings-content{max-width:500px}.customer-profile .loading-state{display:flex;justify-content:center;align-items:center;min-height:300px}.customer-profile .cp-loader{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--text);border-radius:50%;animation:cp-spin .8s linear infinite}@keyframes cp-spin{to{transform:rotate(360deg)}}@media(max-width:480px){.customer-profile .profile-header{flex-direction:column;text-align:left}.customer-profile .profile-info{width:100%}.customer-profile .payment-cards{grid-template-columns:1fr}.customer-profile .payment-info-card .card-value{font-size:.95rem}.customer-profile .info-item{gap:10px}.customer-profile .info-icon{width:36px;height:36px;font-size:.95rem}}.customer-profile .cp-terms-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:14px;color:var(--text);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.customer-profile .cp-terms-btn:hover{border-color:var(--primary, #e67e22);background:#e67e220a}.customer-profile .cp-terms-btn:disabled{opacity:.6;cursor:wait}.customer-profile .cp-terms-btn-left{display:flex;align-items:center;gap:12px}.customer-profile .cp-terms-backdrop{position:fixed;inset:0;background:#00000080;z-index:300}.customer-profile .cp-terms-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:301;background:var(--surface, #fff);border-radius:16px;width:500px;max-width:92vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #0003;animation:cpTermsIn .2s ease}@keyframes cpTermsIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.customer-profile .cp-terms-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.customer-profile .cp-terms-header h3{margin:0;font-size:1.05rem;font-weight:700}.customer-profile .cp-terms-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;font-size:1.1rem;border-radius:6px}.customer-profile .cp-terms-close:hover{background:var(--border)}.customer-profile .cp-terms-body{padding:20px;overflow-y:auto;flex:1}.customer-profile .cp-terms-content{margin:0;font-size:.88rem;line-height:1.7;color:var(--text);white-space:pre-wrap;word-break:break-word;font-family:inherit}.complaints-page{max-width:1000px;margin:0 auto}.complaints-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--text);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;text-align:center;color:var(--text-secondary)}.empty-state svg{opacity:.5}.empty-state h3{font-size:1.25rem;color:var(--text);margin:0}.empty-state p{margin:0}.complaints-list{display:grid;gap:16px;margin-top:24px}.complaint-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;cursor:pointer;transition:all .2s ease}.complaint-card:hover{border-color:var(--text);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.complaint-header{margin-bottom:12px}.complaint-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}.complaint-title{font-size:1.1rem;font-weight:600;margin:0;flex:1}.complaint-meta{display:flex;align-items:center;gap:12px;font-size:.85rem;color:var(--text-secondary)}.complaint-date{display:flex;align-items:center;gap:4px}.complaint-description{color:var(--text-secondary);margin:0 0 16px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.complaint-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.priority-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.priority-high{background:#dc354526;color:#dc3545}.priority-medium{background:#ffc10726;color:#d39e00}.priority-low{background:#28a74526;color:#28a745}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--background);border-radius:20px;font-size:.85rem;font-weight:500}.status-icon{font-size:1rem}.status-icon.pending{color:#ffc107}.status-icon.in-progress{color:#17a2b8}.status-icon.resolved{color:#28a745}.has-notes{font-size:.8rem;color:#17a2b8;font-weight:500}.complaint-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.875rem;font-weight:500;color:var(--text)}.form-group textarea{resize:vertical;min-height:100px;font-family:inherit}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border)}.complaint-details{display:flex;flex-direction:column;gap:20px}.detail-row{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:start}.detail-label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.detail-value{font-size:.95rem;color:var(--text);margin:0;line-height:1.6}.admin-notes{margin-top:12px;padding:16px;background:#17a2b81a;border-left:3px solid #17a2b8;border-radius:8px}.admin-notes h4{margin:0 0 8px;font-size:.95rem;color:#17a2b8}.admin-notes p{margin:0;color:var(--text);line-height:1.6}@media(max-width:768px){.complaint-card{padding:16px}.complaint-title{font-size:1rem}.complaint-description{font-size:.9rem}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.detail-row{grid-template-columns:1fr;gap:6px}.detail-label{font-weight:600;color:var(--text)}}@media(max-width:480px){.page-header button{padding:10px 14px;font-size:.9rem}.complaint-title-row,.complaint-footer{flex-direction:column;align-items:flex-start;gap:8px}.priority-badge{font-size:.7rem;padding:3px 10px}.status-badge{font-size:.8rem}}:root{--primary: #000000;--secondary: #666666;--background: #ffffff;--surface: #f5f5f5;--text: #000000;--text-secondary: #666666;--border: #a0a0a0;--success: #28a745;--error: #dc3545;--warning: #ffc107}[data-theme=dark]{--primary: #ffffff;--secondary: #b0b0b0;--background: #121212;--surface: #1e1e1e;--text: #ffffff;--text-secondary: #b0b0b0;--border: #333333;color-scheme:dark}[data-theme=dark] select,[data-theme=dark] input[type=date],[data-theme=dark] input[type=month],[data-theme=dark] input[type=datetime-local],[data-theme=dark] input[type=time]{color-scheme:dark}[data-theme=dark] select option{background:var(--surface, #1e1e1e);color:var(--text, #ffffff)}[data-mode=grocery]{--primary: #e67e22;--secondary: #d35400;--background: #fffaf5;--surface: #fff5eb;--text: #3e2c1a;--text-secondary: #7a6552;--border: #e8d5c0;--success: #27ae60;--error: #c0392b;--warning: #f39c12;--grocery-accent: #ff6b35;--grocery-highlight-light: #fff3e0;--grocery-highlight-dark: #bf5f00;--grocery-paper: #fffaf5;--grocery-paper-dark: #f5ead8}[data-mode=grocery][data-theme=dark]{--primary: #ffb74d;--secondary: #ff9800;--background: #1a1008;--surface: #2a1e10;--text: #f0e0d0;--text-secondary: #b8a090;--border: #3e2e1e;--success: #66bb6a;--error: #ef5350;--warning: #ffa726;--grocery-accent: #ff8a65;--grocery-highlight-light: #3e2a1a;--grocery-highlight-dark: #ffcc80;--grocery-paper: #2a1e10;--grocery-paper-dark: #352818}[data-mode=grocery] .sidebar{border-right-color:#e67e2233;background:linear-gradient(180deg,var(--surface) 0%,var(--grocery-paper-dark, var(--surface)) 100%)}[data-mode=grocery] .sidebar-logo{background:#e67e22;color:#fff}[data-theme=dark][data-mode=grocery] .sidebar-logo{background:#ffb74d;color:#1a1008}[data-mode=grocery] .nav-item.active{background:#e67e22;color:#fff}[data-theme=dark][data-mode=grocery] .nav-item.active{background:#ffb74d;color:#1a1008}[data-mode=grocery] .header{border-bottom-color:#e67e2226}[data-mode=grocery] .page-content{background-image:radial-gradient(ellipse at 30% 20%,rgba(230,126,34,.04) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(255,107,53,.03) 0%,transparent 50%)}[data-mode=grocery] .nav-item.active .nav-badge{background:#fff;color:#e67e22}[data-theme=dark][data-mode=grocery] .nav-item.active .nav-badge{background:#1a1008;color:#ffb74d}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--background);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}#root{height:100%}a{color:inherit;text-decoration:none}button{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1rem}h6{font-size:.875rem}.container{max-width:1400px;margin:0 auto;padding:0 24px}.text-center{text-align:center}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:20px}.mt-6{margin-top:24px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:20px}.mb-6{margin-bottom:24px}.card{background:var(--surface);border-radius:12px;padding:24px;border:1px solid var(--border);overflow:hidden;width:100%;max-width:100%;margin-left:0;margin-right:0;box-sizing:border-box}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-title{font-size:1.25rem;font-weight:600}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.page-title{font-size:1.75rem;font-weight:700}.page-subtitle{color:var(--text-secondary);font-size:.95rem;margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:24px;width:100%}.stat-card{background:var(--surface);border-radius:12px;padding:20px;border:1px solid var(--border);transition:transform .2s,box-shadow .2s;overflow:hidden;min-width:0}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{border-color:var(--text);transform:translateY(-4px)}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text);word-break:break-word;overflow-wrap:break-word}.stat-subtitle{font-size:.7rem;color:var(--text-secondary);margin-top:4px}.stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;font-size:1.1rem}.stat-icon.primary{background:#00000014;color:var(--text)}[data-theme=dark] .stat-icon.primary{background:#ffffff1a}.stat-icon.success{background:#28a74526;color:#28a745}.stat-icon.warning{background:#ffc10726;color:#d39e00}.stat-icon.danger{background:#dc354526;color:#dc3545}@media(max-width:768px){h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.15rem}.page-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.page-title{font-size:1.35rem}.container{padding:0 12px}.card{padding:16px;border-radius:10px}.card-header{margin-bottom:16px}.card-title{font-size:1.1rem}}@media(max-width:480px){.page-header{gap:10px}.page-header button{width:100%;justify-content:center}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:12px}.stat-label{font-size:.65rem;line-height:1.3}.stat-value{font-size:1.15rem}.stat-icon{width:32px;height:32px;margin-bottom:8px;font-size:1rem}}.app-update-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:99999;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-update-popup{background:var(--background, #fff);border-radius:16px;padding:2rem;max-width:380px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d;animation:app-update-slide-in .3s ease-out}@keyframes app-update-slide-in{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.app-update-icon{margin-bottom:.75rem}.app-update-title{font-size:1.3rem;font-weight:700;margin:0 0 1rem;color:var(--text, #000)}.app-update-versions{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem;padding:.75rem;background:var(--surface, #f5f5f5);border-radius:10px}.app-update-version-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.app-update-version-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #888)}.app-update-version-value{font-size:1rem;font-weight:700;padding:.2rem .6rem;border-radius:6px}.app-update-version-old{background:#ef44441a;color:#ef4444}.app-update-version-new{background:#10b9811a;color:#10b981}.app-update-arrow{font-size:1.2rem;color:var(--text-secondary, #888);font-weight:700}.app-update-message{font-size:.9rem;color:var(--text-secondary, #666);margin:0 0 1.25rem;line-height:1.5}.app-update-actions{display:flex;flex-direction:column;gap:.6rem}.app-update-btn{padding:.75rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;border:none;transition:opacity .2s,transform .1s}.app-update-btn:active{transform:scale(.98)}.app-update-btn-primary{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.app-update-btn-primary:hover{opacity:.9}.app-update-btn-secondary{background:transparent;color:var(--text-secondary, #888);font-weight:500}.app-update-btn-secondary:hover{background:var(--surface, #f5f5f5)}.app-update-required-note{font-size:.75rem;color:#ef4444;margin:.75rem 0 0;font-weight:500}
