*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=light]{--bg:#f1f5f9;--bg-card:#fff;--text:#0f172a;--text-muted:#64748b;--border:#e2e8f0;--primary:#0ea5e9;--primary-dark:#0284c7;--sidebar-bg:#0f172a;--sidebar-text:#e2e8f0;--shadow:0 1px 3px #00000014;--input-bg:#fff}[data-theme=dark]{--bg:#0f172a;--bg-card:#1e293b;--text:#f1f5f9;--text-muted:#94a3b8;--border:#334155;--primary:#38bdf8;--primary-dark:#0ea5e9;--sidebar-bg:#020617;--sidebar-text:#cbd5e1;--shadow:0 1px 3px #0000004d;--input-bg:#1e293b}html{font-size:15px}body{background:var(--bg);color:var(--text);direction:rtl;min-height:100vh;font-family:Cairo,sans-serif}#root{min-height:100vh}a{color:inherit;text-decoration:none}.app-layout{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);width:260px;color:var(--sidebar-text);z-index:100;flex-direction:column;height:100vh;transition:transform .3s;display:flex;position:fixed;top:0;right:0}.sidebar-brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding:20px;display:flex}.sidebar-brand h1{color:#fff;font-size:1rem;font-weight:700}.sidebar-brand span{opacity:.7;font-size:.75rem}.sidebar-brand svg{color:var(--primary);flex-shrink:0}.sidebar-nav{flex:1;padding:12px 8px;overflow-y:auto}.nav-link{color:var(--sidebar-text);opacity:.85;border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:10px 14px;font-size:.9rem;transition:all .2s;display:flex}.nav-link:hover{opacity:1;background:#ffffff14}.nav-link.active{background:var(--primary);color:#fff;opacity:1}.sidebar-footer{border-top:1px solid #ffffff1a;align-items:center;gap:8px;padding:16px;display:flex}.user-info{flex:1}.user-name{color:#fff;font-size:.85rem;font-weight:600;display:block}.user-role{opacity:.6;font-size:.75rem}.main-content{flex:1;min-height:100vh;margin-right:260px}.top-bar{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:50;align-items:center;gap:12px;padding:12px 16px;display:none;position:sticky;top:0}.page-content{max-width:1400px;padding:24px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-header h1{font-size:1.5rem;font-weight:700}.page-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card{background:var(--bg-card);box-shadow:var(--shadow);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:20px}.card h3{margin-bottom:16px;font-size:1rem;font-weight:600}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:16px;padding:20px;display:flex}.stat-card svg{color:var(--accent,var(--primary))}.stat-label{color:var(--text-muted);font-size:.8rem;display:block}.stat-value{font-size:1.25rem;font-weight:700}.chart-card{min-height:320px}.form-group{margin-bottom:14px}.form-group label{color:var(--text-muted);margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.95rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0ea5e926}.form-row{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.form-group-wide{grid-column:1/-1}.hint{color:var(--text-muted);margin-top:4px;font-size:.8rem}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-ghost{color:var(--text);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--bg)}.btn-block{justify-content:center;width:100%}.btn-lg{padding:14px 24px;font-size:1rem}.btn-sm{padding:6px 12px;font-size:.8rem}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-icon{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;display:inline-flex}.btn-icon:hover{background:var(--bg);color:var(--text)}.btn-icon.danger:hover{color:#ef4444;background:#ef44441a}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:right;border-bottom:1px solid var(--border);padding:12px}th{color:var(--text-muted);background:var(--bg);font-size:.8rem;font-weight:600}tr:hover td{background:#0ea5e90a}.empty{text-align:center;color:var(--text-muted);padding:32px!important}.actions{gap:4px;display:flex}.badge{border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:600}.badge-present{color:#166534;background:#dcfce7}.badge-absent{color:#991b1b;background:#fee2e2}.badge-leave{color:#92400e;background:#fef3c7}.badge-paid{color:#166534;background:#dcfce7}.badge-unpaid{color:#991b1b;background:#fee2e2}.badge-partial{color:#1e40af;background:#dbeafe}.login-page{background:linear-gradient(135deg,#0f172a 0%,#0c4a6e 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--bg-card);border-radius:16px;width:100%;max-width:400px;padding:40px;box-shadow:0 25px 50px #00000040}.login-brand{text-align:center;margin-bottom:32px}.login-brand svg{color:var(--primary);margin-bottom:12px}.login-brand h1{font-size:1.4rem}.login-brand p{color:var(--text-muted);font-size:.9rem}.service-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:24px;display:grid}.service-btn{border:2px solid var(--border);background:var(--input-bg);cursor:pointer;text-align:center;color:var(--text);border-radius:10px;padding:14px;font-family:inherit;transition:all .2s}.service-btn span{font-size:.85rem;font-weight:600;display:block}.service-btn small{color:var(--text-muted);font-size:.75rem}.service-btn.active{border-color:var(--primary);background:#0ea5e91a}.amount-preview{background:var(--bg);text-align:center;border-radius:8px;margin-bottom:20px;padding:16px;font-size:1.2rem}.amount-preview strong{color:var(--primary);font-size:1.4rem}.print-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.print-modal{max-height:90vh;overflow:auto}.print-actions{justify-content:center;gap:8px;margin-bottom:16px;display:flex}.receipt-paper{color:#000;background:#fff;width:80mm;max-width:80mm;margin:0 auto;padding:8mm 4mm;font-family:Cairo,sans-serif;font-size:11px}.receipt-header{text-align:center;border-bottom:1px dashed #000;margin-bottom:8px;padding-bottom:8px}.receipt-header h2{font-size:14px;font-weight:700}.receipt-num{margin-top:4px;font-size:12px;font-weight:600}.receipt-row{justify-content:space-between;padding:3px 0;font-size:11px;display:flex}.receipt-amount{border-top:1px dashed #000;margin-top:6px;padding-top:6px;font-size:13px;font-weight:700}.receipt-qr{justify-content:center;margin:10px 0;display:flex}.receipt-footers{border-top:1px dashed #000;padding-top:8px;font-size:9px;line-height:1.5}.receipt-footers p{margin-bottom:4px}.receipt-contact{border-top:1px dashed #000;margin-top:10px;padding-top:0}.receipt-contact-title{text-align:center;letter-spacing:.3px;border-bottom:1px dashed #000;margin:0;padding:7px 0;font-size:10px;font-weight:700}.receipt-contact-row{direction:ltr;border-bottom:1px dashed #000;justify-content:center;align-items:center;gap:8px;padding:7px 4px;font-size:11px;font-weight:600;display:flex}.receipt-contact-row:last-child{border-bottom:none;padding-bottom:2px}.receipt-contact-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.receipt-contact-icon svg{opacity:.9}.receipt-contact-text{text-align:left;letter-spacing:.2px}.payment-type-section{margin-bottom:20px}.payment-type-section>label{margin-bottom:8px;font-weight:600;display:block}.payment-type-toggle{gap:10px;display:flex}.payment-btn{border:2px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:8px;flex:1;padding:12px 16px;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s}.payment-btn.active{border-color:var(--primary);color:var(--primary);background:#0ea5e91a}.company-badge{color:var(--primary);font-size:.9rem}.company-profile-grid{gap:20px;display:grid}.company-info-card{padding:24px}.company-info-header{color:var(--primary);align-items:center;gap:12px;margin-bottom:16px;display:flex}.company-info-header h3{font-size:1.3rem}.company-info-rows{gap:8px;margin-bottom:20px;display:grid}.company-info-rows div{gap:8px;display:flex}.company-info-rows span{color:var(--text-muted);min-width:80px}.company-stats{gap:16px;display:flex}.stat-box{background:var(--bg);text-align:center;border-radius:8px;flex:1;padding:16px}.stat-box span{color:var(--text-muted);margin-bottom:4px;font-size:.85rem;display:block}.stat-box strong{color:var(--primary);font-size:1.2rem}.stat-box strong.text-warning{color:var(--warning,#f59e0b)}.section-title{align-items:center;gap:8px;margin-bottom:16px;display:flex}.link-btn{color:var(--primary);cursor:pointer;font-family:inherit;font-weight:600;font-size:inherit;background:0 0;border:none}.empty-cell{text-align:center;color:var(--text-muted);padding:24px!important}.voucher-paper .voucher-title{text-align:center;letter-spacing:2px;border:2px solid #000;margin-bottom:8px;padding:6px;font-size:16px;font-weight:700}.voucher-divider{border-top:1px dashed #000;margin:8px 0}.voucher-company{text-align:center;padding:8px 0;font-size:12px}.voucher-company span{margin-bottom:4px;font-size:10px;display:block}.voucher-company strong{font-size:14px;display:block}.voucher-amount-box{text-align:center;border:2px solid #000;margin:8px 0;padding:10px}.voucher-amount-box span{margin-bottom:4px;font-size:10px;display:block}.voucher-amount-box strong{font-size:16px;display:block}.voucher-signatures{justify-content:space-between;gap:16px;margin:12px 0;display:flex}.voucher-sign{text-align:center;flex:1;font-size:9px}.voucher-sign .sign-line{border-top:1px solid #000;margin-bottom:4px;padding-top:24px}@media print{@page thermal80{size:80mm auto;margin:0}@page thermal58{size:58mm auto;margin:0}html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important;width:80mm!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}body.print-paper-58{width:58mm!important}body *{visibility:hidden!important}.print-overlay{z-index:99999!important;background:#fff!important;margin:0!important;padding:0!important;display:block!important;position:fixed!important;inset:0!important}.print-modal{max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important}#receipt-print,#receipt-print *,#voucher-print,#voucher-print *{visibility:visible!important}#receipt-print,#voucher-print{page:thermal80;box-shadow:none!important;width:80mm!important;max-width:80mm!important;margin:0!important;position:absolute!important;top:0!important;left:0!important;right:auto!important}body.print-paper-58 #receipt-print,body.print-paper-58 #voucher-print{page:thermal58;width:58mm!important;max-width:58mm!important;padding:4mm 2mm!important;font-size:9px!important}body.print-paper-58 #receipt-print .receipt-header h2{font-size:11px!important}body.print-paper-58 #receipt-print .receipt-row{font-size:9px!important}body.print-paper-58 #receipt-print .receipt-amount{font-size:11px!important}body.print-paper-58 #receipt-print .receipt-qr svg{width:64px!important;height:64px!important}.no-print{visibility:hidden!important;display:none!important}}.modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border-radius:12px;width:100%;max-width:440px;max-height:90vh;overflow:auto}.modal-wide{max-width:560px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-body{padding:20px}.toast-container{z-index:9999;flex-direction:column;gap:8px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.toast{border-radius:8px;padding:12px 24px;font-weight:600;animation:.3s slideIn;box-shadow:0 4px 12px #00000026}.toast-success{color:#fff;background:#10b981}.toast-error{color:#fff;background:#ef4444}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}}.loading,.loading-screen{min-height:200px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.search-bar{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:16px;display:flex}.search-bar .form-group{flex:1;min-width:180px;margin:0}.summary-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:12px 16px}.month-input{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:8px;padding:8px 12px;font-family:inherit}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.car-types-grid{flex-wrap:wrap;gap:8px;display:flex}.car-type-chip{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:.85rem;display:flex}.car-type-chip.active{border-color:var(--primary);background:#0ea5e91f}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.report-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.preset-btns{flex-wrap:wrap;gap:8px;display:flex}.export-btns{gap:8px;margin-bottom:16px;display:flex}.report-summary{gap:24px;margin-bottom:16px;font-size:1rem;display:flex}.backup-page .backup-info-card{align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.backup-info-card .backup-icon{color:var(--primary);flex-shrink:0}.backup-info-card h3{margin-bottom:6px}.backup-info-card p{color:var(--text-muted);font-size:.9rem;line-height:1.6}.backup-list-title{margin-bottom:16px;font-size:1rem}.backup-table code{background:var(--bg);border-radius:4px;padding:2px 6px;font-size:.8rem}.backup-table .inline-icon{vertical-align:middle;color:var(--primary);margin-left:6px}.restore-warning{background:#ef444414;border:1px solid #ef44444d;border-radius:8px;margin-bottom:16px;padding:16px}.restore-warning code{margin:10px 0;font-size:.85rem;display:block}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.report-type-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:20px;display:grid}.report-type-card{border:2px solid var(--border);background:var(--bg-card);cursor:pointer;text-align:center;color:var(--text);border-radius:12px;padding:16px;font-family:inherit;font-weight:600;transition:all .2s}.report-type-card.active{border-color:var(--rc,var(--primary));background:color-mix(in srgb, var(--rc,var(--primary)) 12%, transparent);box-shadow:0 4px 12px #00000014}.report-type-card strong{margin-top:8px;font-size:.95rem;display:block}.report-type-card small{color:var(--text-muted);margin-top:2px;font-size:.75rem;display:block}.report-type-icon{margin-bottom:6px;font-size:1.5rem;display:block}.report-output{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.report-document-header{background:var(--bg-card);border:2px solid;border-radius:14px;align-items:flex-start;gap:20px;margin-bottom:20px;padding:24px;display:flex}.report-doc-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.report-doc-titles h2{margin-bottom:4px;font-size:1.4rem}.report-doc-station{color:var(--text-muted);font-size:.95rem}.report-doc-period{color:var(--primary);margin-top:8px;font-weight:600}.report-doc-date{color:var(--text-muted);margin-top:4px;font-size:.8rem}.report-kpi-row{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:20px;display:grid}.report-kpi{background:var(--bg-card);border:1px solid var(--border);border-right:4px solid var(--kc,var(--primary));border-radius:10px;padding:16px}.report-kpi span{color:var(--text-muted);margin-bottom:6px;font-size:.8rem;display:block}.report-kpi strong{color:var(--kc,var(--primary));font-size:1.25rem}.report-breakdown-card{margin-bottom:20px}.report-breakdown-card h3{margin-bottom:16px;font-size:1rem}.service-bars{flex-direction:column;gap:12px;display:flex}.service-bar-label{justify-content:space-between;margin-bottom:4px;font-size:.85rem;display:flex}.service-bar-track{background:var(--bg);border-radius:4px;height:8px;overflow:hidden}.service-bar-fill{background:linear-gradient(90deg, var(--primary), #38bdf8);border-radius:4px;height:100%;transition:width .4s}.report-table-title{border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px;font-size:1rem}.report-table .col-num{text-align:center;width:40px;color:var(--text-muted);font-size:.8rem}.report-table .col-money{color:var(--primary);white-space:nowrap;font-weight:600}.report-table tbody tr.row-even{background:#0ea5e90a}.report-table tfoot .report-total-row{background:var(--bg);font-weight:700}.report-table tfoot td{border-top:2px solid var(--border)}.text-left{text-align:left}@media print{.no-print,.sidebar,.top-bar,.page-header,.report-type-grid,.report-filters-card{display:none!important}.main-content{margin:0!important}.page-content{padding:0!important}.report-output{break-inside:avoid}}.report-filters-card{padding:20px 24px}.report-filter-toolbar{flex-wrap:wrap;align-items:flex-end;gap:16px 20px;display:flex}.filter-field{flex-direction:column;flex:none;gap:8px;min-width:0;display:flex}.filter-caption{color:var(--text-muted);white-space:nowrap;margin:0;font-size:.8rem;font-weight:600;line-height:1.2;display:block}.filter-input{border:1px solid var(--border);background:var(--input-bg);width:168px;max-width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.95rem;line-height:1.2}.filter-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0ea5e91f}.filter-presets{min-width:200px}.filter-presets .preset-btns{flex-wrap:wrap;gap:8px;display:flex}.filter-presets .preset-btns .btn{justify-content:center;min-width:56px}.filter-submit{white-space:nowrap;flex-shrink:0;margin-inline-start:auto;padding:11px 22px}@media (width<=768px){.report-filter-toolbar{flex-direction:column;align-items:stretch}.filter-input{width:100%}.filter-submit{justify-content:center;width:100%;margin-inline-start:0}}.report-stats-row{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.report-stat-box{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:10px;padding:16px}.report-stat-box span{color:var(--text-muted);font-size:.85rem;display:block}.report-stat-box strong{color:var(--primary);font-size:1.3rem}.report-breakdown{margin-bottom:16px}.breakdown-list{flex-direction:column;gap:8px;display:flex}.breakdown-item{background:var(--bg);border-radius:8px;justify-content:space-between;padding:10px 14px;display:flex}.report-table-card{overflow:hidden}.report-table th{white-space:nowrap}.grand-total-bar{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.grand-total-bar>div{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:10px;padding:14px}.grand-total-bar span{color:var(--text-muted);font-size:.8rem;display:block}.grand-total-bar strong{font-size:1.1rem}.rentals-list{flex-direction:column;gap:12px;display:flex}.rental-list-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:16px;transition:box-shadow .2s}.rental-list-card:hover{box-shadow:var(--shadow)}.rental-list-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.rental-list-head h3{font-size:1rem}.rental-list-stats{flex-wrap:wrap;gap:12px;margin-bottom:10px;font-size:.85rem;display:flex}.rental-list-stats .paid{color:#10b981}.rental-list-stats .rem{color:#f59e0b}.rental-summary-cards{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-bottom:20px;display:grid}.rental-summary-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:10px;padding:12px}.rental-summary-card span{color:var(--text-muted);font-size:.75rem;display:block}.rental-summary-card strong{font-size:1rem}.rental-summary-card.accent strong{color:#10b981}.rental-summary-card.warn strong{color:#f59e0b}.rental-months-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:12px;display:grid}.rental-month-box{border:2px solid var(--border);background:var(--input-bg);cursor:pointer;text-align:center;color:var(--text);border-radius:10px;padding:12px 8px;font-family:inherit;transition:all .2s;position:relative}.rental-month-box:hover{border-color:var(--primary)}.rental-month-box.paid{background:#10b9811a;border-color:#10b981}.month-check{color:#10b981;position:absolute;top:6px;left:6px}.month-label{font-size:.8rem;font-weight:600;display:block}.month-amount{color:var(--text-muted);margin-top:4px;font-size:.75rem;display:block}.month-paid-tag{color:#10b981;margin-top:4px;font-size:.7rem;display:block}.empty-state{text-align:center;color:var(--text-muted);padding:40px}.car-image-section{margin-bottom:16px}.car-image-section>label{margin-bottom:8px;font-weight:600;display:block}.car-image-box{border:1px dashed var(--border);background:var(--bg);border-radius:12px;padding:16px}.car-image-preview{max-width:280px;margin:0 auto 12px;position:relative}.car-image-preview img{object-fit:cover;border-radius:8px;width:100%;max-height:180px}.car-image-preview .btn-icon{color:#fff;background:#00000080;position:absolute;top:8px;left:8px}.car-image-placeholder{text-align:center;color:var(--text-muted);margin-bottom:12px;padding:24px}.car-image-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.car-image-actions label{cursor:pointer;margin:0}.receipt-car-photo{text-align:center;margin-bottom:8px}.receipt-car-photo img{object-fit:cover;border-radius:4px;max-width:60mm;max-height:40mm}.sidebar-overlay,.mobile-only{display:none}@media (width<=768px){.sidebar{transform:translate(100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:99;background:#00000080;display:block;position:fixed;inset:0}.main-content{margin-right:0}.top-bar{display:flex}.mobile-only{display:inline-flex}.page-content{padding:16px}}body.pwa-bar-visible{padding-top:48px}.install-top-bar{z-index:10000;color:#fff;background:linear-gradient(135deg,#0ea5e9 0%,#0284c7 100%);position:fixed;top:0;left:0;right:0;box-shadow:0 2px 12px #00000026}.install-top-bar-inner{justify-content:space-between;align-items:center;gap:12px;max-width:1200px;min-height:48px;margin:0 auto;padding:10px 16px;display:flex}.install-top-bar-text{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.install-top-bar-text span{flex-direction:column;gap:1px;min-width:0;display:flex}.install-top-bar-text strong{font-size:13px;font-weight:700;line-height:1.2}.install-top-bar-text em{opacity:.92;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-style:normal;line-height:1.2;overflow:hidden}.install-top-bar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.install-top-btn{color:#0284c7;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:700}.install-top-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.install-top-fab{z-index:10000;color:#fff;cursor:pointer;background:#0ea5e9;border:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex;position:fixed;top:12px;left:12px;box-shadow:0 4px 14px #0ea5e973}.row-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}@media (width<=480px){body.pwa-bar-visible{padding-top:64px}.install-top-bar-inner{flex-wrap:wrap;padding:8px 12px}.install-top-bar-text em{white-space:normal}}
