@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";.auth-container{background-color:var(--auth-bg);background-image:var(--auth-bg-gradient);min-height:100vh;transition:background-color var(--transition-speed) ease, background-image var(--transition-speed) ease;justify-content:center;align-items:center;padding:20px;font-family:Outfit,sans-serif;display:flex;position:relative;overflow-y:auto}.auth-container:before{content:"";filter:blur(120px);width:300px;height:300px;opacity:var(--auth-glow-opacity);transition:opacity var(--transition-speed) ease;background:linear-gradient(135deg,#f1c40f 0%,#f39c12 100%);border-radius:50%;position:absolute;top:-100px;right:-50px}.auth-container:after{content:"";filter:blur(150px);width:400px;height:400px;opacity:var(--auth-glow-opacity);transition:opacity var(--transition-speed) ease;background:linear-gradient(135deg,#2ecc71 0%,#27ae60 100%);border-radius:50%;position:absolute;bottom:-150px;left:-100px}.auth-card{background:var(--auth-card-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--auth-card-border);box-shadow:var(--auth-shadow);z-index:10;text-align:center;width:100%;max-width:420px;transition:background var(--transition-speed) ease, border var(--transition-speed) ease, box-shadow var(--transition-speed) ease;border-radius:20px;padding:40px;position:relative}.auth-logo-container{justify-content:center;align-items:center;margin-bottom:20px;display:flex}.auth-logo{object-fit:contain;filter:drop-shadow(0 4px 10px #f1c40f4d);background:#fffffff2;border-radius:12px;width:auto;height:75px;padding:8px}.auth-card h1{color:var(--auth-text);letter-spacing:-.5px;transition:color var(--transition-speed) ease;margin:0 0 5px;font-size:2.1rem;font-weight:700}.auth-card p{color:var(--auth-subtitle);transition:color var(--transition-speed) ease;margin:0 0 30px;font-size:.95rem;font-weight:400}.auth-form{text-align:left;flex-direction:column;gap:20px;display:flex}.auth-form-group{flex-direction:column;display:flex}.auth-form-group label{color:var(--auth-label);transition:color var(--transition-speed) ease;margin-bottom:8px;font-size:.9rem;font-weight:500}.auth-form-group input{background:var(--auth-input-bg);border:1px solid var(--auth-input-border);color:var(--auth-input-text);transition:all var(--transition-speed) cubic-bezier(.4, 0, .2, 1);border-radius:10px;padding:14px 16px;font-family:inherit;font-size:.95rem}.auth-form-group input::placeholder{color:var(--auth-input-placeholder)}.auth-form-group input:focus{border-color:var(--primary-color);background:var(--auth-input-bg);outline:none;box-shadow:0 0 0 3px #27ae6026}.auth-form button{background:var(--primary-color);color:var(--primary-text);cursor:pointer;transition:all var(--transition-speed) cubic-bezier(.4, 0, .2, 1);border:none;border-radius:10px;margin-top:10px;padding:14px 16px;font-family:inherit;font-size:1rem;font-weight:600;box-shadow:0 4px 15px #27ae6026}.auth-form button:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #27ae604d}.auth-form button:active{transform:translateY(0)}.auth-footer{color:var(--auth-subtitle);border-top:1px solid var(--auth-footer-border);transition:color var(--transition-speed) ease, border-color var(--transition-speed) ease;margin-top:25px;padding-top:15px;font-size:.85rem;line-height:1.5}.auth-error{color:#fca5a5;text-align:left;background:#dc262626;border:1px solid #dc26264d;border-radius:10px;margin-bottom:20px;padding:12px 16px;font-size:.9rem}.remember-me{align-items:center;gap:10px;display:flex}.remember-me input[type=checkbox]{accent-color:var(--primary-color);cursor:pointer;width:16px;height:16px}.remember-me label{color:var(--auth-subtitle);cursor:pointer;transition:color var(--transition-speed) ease;margin:0;font-size:.85rem;font-weight:400}.auth-theme-toggle{z-index:100;position:absolute;top:20px;right:20px}.auth-theme-toggle button{cursor:pointer;-webkit-backdrop-filter:blur(10px);box-shadow:var(--auth-shadow);transition:all var(--transition-speed) ease;border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-weight:500;display:flex;background:var(--auth-card-bg)!important;color:var(--auth-text)!important;border:1px solid var(--auth-card-border)!important;transform:none!important}.auth-theme-toggle button:hover{box-shadow:0 4px 12px #27ae6026;border-color:var(--primary-color)!important;color:var(--primary-color)!important;transform:translateY(-2px)!important}@media (width<=480px){.auth-card{border-radius:16px;padding:30px 20px}.auth-card h1{font-size:1.7rem}.auth-card p{margin-bottom:20px;font-size:.85rem}.auth-form-group label{margin-bottom:6px;font-size:.85rem}.auth-form-group input{border-radius:8px;padding:12px 14px;font-size:.9rem}.auth-form button{border-radius:8px;padding:12px 14px;font-size:.95rem}}.dashboard-container{padding:20px 0}.chart-container{background:var(--bg-card);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-radius:12px;margin-bottom:20px;padding:24px;transition:background .3s,border-color .3s}.chart-container h3{color:var(--text-primary);margin-top:0;margin-bottom:20px}.chart-wrapper{height:300px;position:relative}.section-title{color:var(--text-primary);border-bottom:2px solid var(--border-color);margin-bottom:20px;padding-bottom:12px;font-size:1.5rem}.recent-activities{background:var(--bg-card);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-radius:8px;padding:24px}.activity-item{border-bottom:1px solid var(--border-color);gap:16px;padding:16px 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-icon{background:var(--bg-header);width:40px;height:40px;color:var(--primary-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.activity-content{flex:1}.activity-title{color:var(--text-primary);margin-bottom:4px;font-weight:600}.activity-description{color:var(--text-secondary);font-size:.9rem}.activity-time{color:var(--text-secondary);font-size:.85rem}@media (width<=1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:16px}.stat-card-value{font-size:1.5rem}.chart-wrapper{height:250px}}@media (width<=480px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:12px}.stat-card-value,.stat-value{margin-bottom:4px;font-size:1.25rem}.stat-card-label,.stat-label{margin-bottom:4px;font-size:.8rem}.stat-card-subtitle,.stat-subtitle{font-size:.75rem}}.search-wrapper{width:100%;max-width:400px;margin-bottom:24px;position:relative}.search-input{border:1px solid var(--border-color);background:var(--bg-card);width:100%;color:var(--text-primary);border-radius:8px;padding:10px 14px 10px 40px;font-size:.95rem}.search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #27ae6026}.search-icon{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.explorer-list{flex-direction:column;gap:12px;display:flex}.explorer-item{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.explorer-item:hover{box-shadow:var(--shadow-md);border-color:var(--primary-color)}.explorer-header{cursor:pointer;background:var(--bg-card);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:16px 20px;transition:background-color .2s;display:flex}.explorer-header:hover{background-color:var(--table-hover)}.explorer-header-main{align-items:center;gap:16px;display:flex}.explorer-avatar{background:var(--bg-header);width:42px;height:42px;color:var(--primary-color);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.explorer-details{flex-direction:column;display:flex}.explorer-name{color:var(--text-primary);font-size:1.1rem;font-weight:600}.explorer-sub{color:var(--text-secondary);margin-top:2px;font-size:.85rem}.explorer-stats{align-items:center;gap:20px;display:flex}.explorer-stat{flex-direction:column;align-items:flex-end;display:flex}.explorer-stat-val{color:var(--text-primary);font-size:.95rem;font-weight:600}.explorer-stat-label{color:var(--text-secondary);font-size:.75rem}.explorer-chevron{color:var(--text-secondary);font-size:1.2rem;transition:transform .3s}.explorer-item.expanded>.explorer-header .explorer-chevron{transform:rotate(180deg)}.explorer-content{border-top:1px solid var(--border-color);background:var(--bg-primary);padding:16px 20px;transition:max-height .3s ease-out}.nested-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.95rem;font-weight:700;display:flex}.nested-list{flex-direction:column;gap:10px;display:flex}.nested-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;transition:all .2s;overflow:hidden}.nested-item:hover{border-color:var(--primary-color)}.nested-header{cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.nested-header:hover{background-color:var(--table-hover)}.nested-item.expanded>.nested-header .explorer-chevron{transform:rotate(180deg)}.nested-content{border-top:1px solid var(--border-color);background:var(--bg-header);padding:12px 16px}.spinner-container{color:var(--text-secondary);justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.spinner{border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.no-data-msg{text-align:center;color:var(--text-secondary);padding:20px;font-size:.9rem}@media (width<=600px){.explorer-header{flex-direction:column;align-items:flex-start;gap:12px;padding:12px 16px}.explorer-header-main{width:100%}.explorer-stats{border-top:1px solid var(--border-color);justify-content:space-between;gap:10px;width:100%;padding-top:12px}.explorer-stat{align-items:center}}.date-filter-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:15px;margin-bottom:30px;padding:16px 20px;display:flex}.date-filter-group{flex-direction:column;flex:1;gap:6px;min-width:150px;display:flex}.date-filter-group label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.date-filter-input{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:8px;padding:10px 14px;font-size:.95rem;transition:border-color .2s}.date-filter-input:focus{border-color:var(--primary-color);outline:none}.date-filter-clear-btn{border:1px solid var(--border-color);background:var(--bg-primary);height:42px;color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 16px;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.date-filter-clear-btn:hover{background:var(--table-hover);border-color:var(--primary-color)}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.dashboard-title{color:var(--text-primary);margin:0;font-size:2rem}.dashboard-actions{flex-wrap:wrap;gap:10px;display:flex}.dashboard-actions button{cursor:pointer;height:42px;transition:all var(--transition-speed) ease;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:600;display:inline-flex}.dashboard-actions .btn-secondary{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);padding:0 20px}.dashboard-actions .btn-secondary:hover{background:var(--table-hover);border-color:var(--primary-color)}.dashboard-actions .btn-primary{background:var(--primary-color);color:var(--primary-text);border:none;padding:0 25px}.dashboard-actions .btn-primary:hover{background:var(--primary-hover);box-shadow:0 4px 12px #27ae6033}@media (width<=600px){.dashboard-header{flex-direction:column;align-items:stretch}.dashboard-actions{width:100%}.dashboard-actions button{flex:calc(50% - 5px);padding:0 12px;font-size:.9rem}}@media (width<=380px){.dashboard-actions button{flex:100%}}.page-header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.page-header h1{margin:0}.page-header-actions{gap:12px;display:flex}.page-header-actions button{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-weight:600;transition:all .3s}.page-header-actions button.primary{background:var(--primary-color);color:#fff}.page-header-actions button.primary:hover{background:var(--primary-hover)}.page-header-actions button.secondary{background:var(--bg-header);color:var(--text-primary);border:1px solid var(--border-color)}.page-header-actions button.secondary:hover{background:var(--table-hover)}.filters-container{background:var(--bg-card);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-radius:8px;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:20px;transition:background .3s,border-color .3s;display:flex}.filters-container input,.filters-container select{border:1px solid var(--border-color);background:var(--input-bg);min-width:150px;color:var(--text-primary);border-radius:6px;flex:1;padding:10px 12px;font-size:.95rem}.filters-container button{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-weight:600}.filters-container button:hover{background:var(--primary-hover)}.table-responsive{background:var(--bg-card);-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-radius:8px;transition:background .3s,border-color .3s;overflow-x:auto}.table-responsive table{border-collapse:collapse;width:100%}.table-responsive th{background:var(--bg-header);text-align:left;color:var(--text-primary);border-bottom:2px solid var(--border-color);padding:16px;font-weight:600}.table-responsive td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:16px}.table-responsive tr:hover{background:var(--table-hover)}.table-responsive tbody tr:last-child td{border-bottom:none}.action-buttons{gap:8px;display:flex}.action-buttons a,.action-buttons button{cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:.85rem;text-decoration:none;transition:all .3s;display:inline-block}.action-buttons .view-btn{color:#fff!important;background:#3498db!important}.action-buttons .view-btn:hover{background:#2980b9!important}.action-buttons .edit-btn{background:var(--warning-text);color:#fff}.action-buttons .edit-btn:hover{background:var(--primary-hover)}.green-to-yellow-btn{color:#fff!important;background:#27ae60!important}.green-to-yellow-btn:hover{background:#219653!important}[data-theme=dark] .green-to-yellow-btn{background:var(--warning-text)!important;color:#fff!important}[data-theme=dark] .green-to-yellow-btn:hover{background:var(--primary-hover)!important}.action-buttons .delete-btn{background:var(--danger-text);color:#fff}.action-buttons .delete-btn:hover{background:#b91c1c}.status-badge{border-radius:20px;padding:6px 12px;font-size:.85rem;font-weight:600;display:inline-block}.status-badge.created{background:var(--created-bg);color:var(--created-text)}.status-badge.due{background:var(--warning-bg);color:var(--warning-text)}.status-badge.completed{background:var(--success-bg);color:var(--success-text)}.status-badge.cancelled{background:var(--danger-bg);color:var(--danger-text)}.status-badge.draft{background:var(--draft-bg,#e2e8f0);color:var(--draft-text,#475569)}.status-badge.pending{background:var(--warning-bg);color:var(--warning-text)}.status-badge.dispatched{color:#0369a1;background:#e0f2fe}[data-theme=dark] .status-badge.dispatched{color:#38bdf8;background:#38bdf826}.status-badge.delivered{background:var(--success-bg);color:var(--success-text)}.empty-state{text-align:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:40px 20px}.empty-state h3{color:var(--text-secondary);margin-bottom:10px}.empty-state p{color:var(--text-secondary)}.loading{text-align:center;color:var(--text-secondary);padding:40px 20px}.error-message{background:var(--danger-bg);color:var(--danger-text);border-left:4px solid var(--danger-text);border-top:1px solid var(--border-color);border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);border-radius:8px;margin-bottom:20px;padding:16px}.success-message{background:var(--success-bg);color:var(--success-text);border-left:4px solid var(--success-text);border-top:1px solid var(--border-color);border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);border-radius:8px;margin-bottom:20px;padding:16px}@media (width<=768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.page-header-actions{flex-direction:column;width:100%}.page-header-actions button{width:100%}.filters-container{flex-direction:column}.filters-container input,.filters-container select{min-width:unset}.table-responsive{font-size:.9rem}.table-responsive th,.table-responsive td{white-space:nowrap;padding:12px}.action-buttons{flex-direction:row;gap:6px}.action-buttons a,.action-buttons button{text-align:center;width:auto}.settings-content{padding:16px}.settings-tabs{flex-wrap:wrap;gap:6px}.tab-btn{text-align:center;flex:1;padding:8px 12px!important;font-size:.85rem!important}}.settings-container{max-width:800px;margin:0 auto}.settings-tabs{border-bottom:1px solid var(--border-color);transition:border-color var(--transition-speed) ease;gap:10px;margin-bottom:25px;padding-bottom:10px;display:flex}.tab-btn{cursor:pointer;color:var(--text-secondary)!important;box-shadow:none!important;transition:all var(--transition-speed) ease!important;background:0 0!important;border:none!important;border-radius:6px!important;padding:10px 20px!important;font-weight:500!important;transform:none!important}.tab-btn:hover{color:var(--primary-color)!important;background:var(--table-hover)!important}.tab-btn.active{background:var(--primary-color)!important;color:var(--primary-text)!important;font-weight:600!important;box-shadow:0 2px 8px #27ae6026!important}.settings-content{background:var(--bg-card);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:background var(--transition-speed) ease, border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;border-radius:8px;padding:30px}.settings-section h2{border-bottom:1px solid var(--border-color);transition:border-color var(--transition-speed) ease;margin-bottom:20px;padding-bottom:10px}.message{border-left:4px solid #0000;border-radius:6px;margin-bottom:20px;padding:12px 16px;font-weight:500}.message.success{background:var(--success-bg);color:var(--success-text);border-left-color:var(--success-text);border-top:1px solid var(--border-color);border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.message.error{background:var(--danger-bg);color:var(--danger-text);border-left-color:var(--danger-text);border-top:1px solid var(--border-color);border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.dropdown-item:hover{background:var(--table-hover)}.dropdown-item.quick-add-row:hover{background:#27ae601a!important}.printable-invoice{background:#fff;border:1px solid #eef2f5;border-radius:8px;padding:30px;transition:all .3s;box-shadow:0 4px 12px #00000014}.invoice-header-top{border-bottom:2px solid #f4f6f8;justify-content:space-between;margin-bottom:20px;padding-bottom:20px;display:flex}.invoice-addresses{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px;display:grid}@media (width<=600px){.printable-invoice{padding:16px}.invoice-header-top{flex-direction:column;align-items:flex-start;gap:15px}.invoice-header-top>div:last-child{text-align:left!important}.invoice-addresses{grid-template-columns:1fr;gap:15px}.invoice-addresses>div:last-child{text-align:left!important}}.customer-info-subtitle{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-top:5px;font-size:.95rem;display:flex}.customer-info-subtitle .meta-item{align-items:center;gap:4px;display:inline-flex}.customer-info-subtitle .meta-divider{color:var(--border-color)}@media (width<=580px){.customer-info-subtitle{flex-direction:column;align-items:flex-start;gap:4px}.customer-info-subtitle .meta-divider{display:none}}.metrics-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-top:20px;margin-bottom:30px;display:grid}.metric-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:10px;flex-direction:column;justify-content:center;padding:20px;transition:all .3s;display:flex}.metric-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-color);transform:translateY(-2px)}.metric-label{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem;font-weight:500}.metric-value{color:var(--text-primary);font-size:1.6rem;font-weight:700}.report-section{margin-top:40px;margin-bottom:20px}.report-section h2{color:var(--text-primary);border-bottom:1px solid var(--border-color);margin-bottom:15px;padding-bottom:8px;font-size:1.3rem}.filter-group{align-items:center;gap:10px;display:flex}.filter-group label{color:var(--text-primary);white-space:nowrap;font-size:.95rem;font-weight:600}@media (width<=900px){.metrics-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media (width<=768px){.filter-group{justify-content:space-between;width:100%}.filter-group select{width:70%}}@media (width<=480px){.metrics-grid{grid-template-columns:1fr}}.stats-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px;display:grid}.stat-card{background:var(--bg-card);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:12px;padding:24px;transition:all .3s}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.stat-card.success{border-top-color:var(--success-text)}.stat-card.info{border-top-color:var(--primary-color)}.stat-card.warning{border-top-color:var(--warning-text)}.stat-card.danger{border-top-color:var(--danger-text)}.stat-card-label,.stat-label{color:var(--text-secondary);margin-bottom:8px;font-size:.9rem;font-weight:500}.stat-card-value,.stat-value{color:var(--text-primary);margin-bottom:8px;font-size:2rem;font-weight:700}.stat-card-subtitle,.stat-subtitle{color:var(--text-secondary);font-size:.85rem}@media (width<=1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:16px}.stat-value{font-size:1.5rem}}@media (width<=480px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:12px}.stat-card-value,.stat-value{margin-bottom:4px;font-size:1.25rem}.stat-card-label,.stat-label{margin-bottom:4px;font-size:.8rem}.stat-card-subtitle,.stat-subtitle{font-size:.75rem}}.form-container{background:var(--bg-card);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);max-width:600px;transition:background var(--transition-speed) ease, border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;border-radius:8px;margin:0 auto;padding:30px}.form-group{margin-bottom:20px}.form-group label{color:var(--text-primary);transition:color var(--transition-speed) ease;margin-bottom:8px;font-size:.95rem;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text-primary);transition:all var(--transition-speed) ease;border-radius:6px;padding:10px 12px;font-size:1rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #27ae6026}.form-group textarea{resize:vertical;min-height:100px}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-group.full{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:12px;margin-top:30px;display:flex}.form-actions button{cursor:pointer;transition:all var(--transition-speed) ease;border:none;border-radius:6px;padding:10px 24px;font-weight:600}.form-actions button.primary{background:var(--primary-color);color:var(--primary-text)}.form-actions button.primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #27ae6033}.form-actions button.secondary{background:var(--bg-header);color:var(--text-primary);border:1px solid var(--border-color)}.form-actions button.secondary:hover{background:var(--table-hover);transform:translateY(-2px)}.form-error{color:var(--danger-text);margin-top:4px;font-size:.85rem}.form-success{color:var(--success-text);margin-top:4px;font-size:.85rem}@media (width<=768px){.form-container{padding:20px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.item-add-grid{grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:15px;display:grid}@media (width<=580px){.item-add-grid{grid-template-columns:1fr;gap:12px}}.sp-report-page{animation:.4s sp-fadeIn}@keyframes sp-fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.sp-report-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.sp-report-title{color:var(--text-primary);align-items:center;gap:10px;margin:0 0 4px;font-size:1.75rem;font-weight:800;display:flex}.sp-report-icon{font-size:1.5rem}.sp-report-subtitle{color:var(--text-secondary);margin:0;font-size:.95rem}.sp-month-picker-wrap{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.sp-month-picker-wrap label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.sp-month-input{border:2px solid var(--border-color);background:var(--input-bg,var(--bg-card));color:var(--text-primary);cursor:pointer;border-radius:10px;outline:none;padding:10px 14px;font-size:.95rem;font-weight:600;transition:border-color .2s,box-shadow .2s}.sp-month-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #27ae6026}.sp-loading{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 20px;font-size:.95rem;display:flex}.sp-spinner{border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite sp-spin}@keyframes sp-spin{to{transform:rotate(360deg)}}.sp-stats-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px;display:grid}.sp-stat-card{border:1px solid #0000;border-radius:14px;align-items:center;gap:16px;padding:22px 20px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.sp-stat-card:before{content:"";opacity:.08;border-radius:inherit;position:absolute;inset:0}.sp-stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001f}.sp-stat-blue{background:#3b82f61a;border-color:#3b82f640}.sp-stat-green{background:#22c55e1a;border-color:#22c55e40}.sp-stat-teal{background:#14b8a61a;border-color:#14b8a640}.sp-stat-orange{background:#f973161a;border-color:#f9731640}[data-theme=dark] .sp-stat-blue{background:#3b82f626;border-color:#3b82f64d}[data-theme=dark] .sp-stat-green{background:#22c55e26;border-color:#22c55e4d}[data-theme=dark] .sp-stat-teal{background:#14b8a626;border-color:#14b8a64d}[data-theme=dark] .sp-stat-orange{background:#f9731626;border-color:#f973164d}.sp-stat-icon{flex-shrink:0;font-size:2rem}.sp-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:800;line-height:1.2}.sp-stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:.8rem;font-weight:600}.sp-tabs{border-bottom:2px solid var(--border-color);gap:10px;margin-bottom:24px;padding-bottom:0;display:flex}.sp-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:8px;margin-bottom:-2px;padding:10px 20px;font-size:.95rem;font-weight:600;transition:color .2s,border-color .2s;display:flex}.sp-tab-btn:hover{color:var(--primary-color)}.sp-tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.sp-tab-badge{background:var(--primary-color);color:#fff;border-radius:20px;padding:1px 8px;font-size:.75rem;font-weight:700}.sp-section{animation:.3s sp-fadeIn}.sp-filters-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.sp-filter-search{flex:1;min-width:220px;position:relative}.sp-search-icon{pointer-events:none;font-size:.95rem;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.sp-search-input{border:1px solid var(--border-color);background:var(--input-bg,var(--bg-card));width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:8px;outline:none;padding:10px 12px 10px 36px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.sp-search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #27ae601f}.sp-select{border:1px solid var(--border-color);background:var(--input-bg,var(--bg-card));color:var(--text-primary);cursor:pointer;border-radius:8px;outline:none;min-width:180px;padding:10px 14px;font-size:.95rem;transition:border-color .2s}.sp-select:focus{border-color:var(--primary-color)}.sp-export-btn{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;white-space:nowrap;border-radius:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:background .2s,border-color .2s,transform .15s}.sp-export-btn:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px)}.sp-export-btn:disabled{opacity:.45;cursor:not-allowed}.sp-stock-meta{color:var(--text-secondary);flex:1;font-size:.9rem}.sp-table-wrap{border-radius:12px}.sp-bill-number{color:var(--primary-color);font-family:monospace;font-size:.9rem;font-weight:700}.sp-odoo-id{color:var(--primary-color);background:#27ae601a;border-radius:6px;padding:2px 8px;font-size:.85rem;font-weight:600}.sp-na{color:var(--text-secondary);font-size:.85rem}.sp-city{color:var(--text-secondary);font-size:.9rem}.sp-amount{color:var(--text-primary);font-weight:700}.sp-due-badge{border-radius:20px;padding:4px 10px;font-size:.88rem;font-weight:700;display:inline-block}.sp-due-high{color:#dc2626;background:#ef44441f}[data-theme=dark] .sp-due-high{color:#f87171;background:#ef444433}.sp-due-low{color:#ea580c;background:#f973161f}[data-theme=dark] .sp-due-low{color:#fb923c;background:#f9731633}.sp-view-link{color:var(--primary-color);border:1px solid var(--primary-color);border-radius:6px;padding:4px 10px;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.sp-view-link:hover{background:var(--primary-color);color:#fff}.sp-table-footer{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:8px;justify-content:space-between;align-items:center;margin-top:14px;padding:12px 16px;font-size:.88rem;display:flex}.sp-table-footer strong{color:var(--text-primary)}.sp-rank{text-align:center;font-size:1.1rem}.sp-qty-badge{color:#2563eb;background:#3b82f61f;border-radius:20px;padding:2px 10px;font-size:.9rem;font-weight:700}[data-theme=dark] .sp-qty-badge{color:#60a5fa;background:#3b82f633}.sp-pct-bar-wrap{align-items:center;gap:8px;min-width:120px;display:flex}.sp-pct-bar{background:linear-gradient(90deg, var(--primary-color), #34d399);border-radius:4px;flex-shrink:0;max-width:100%;height:8px;transition:width .4s}.sp-pct-label{color:var(--text-secondary);white-space:nowrap;font-size:.82rem;font-weight:600}.sp-empty{text-align:center;background:var(--bg-card);border:1px dashed var(--border-color);border-radius:12px;padding:60px 20px}.sp-empty-icon{margin-bottom:12px;font-size:3rem}.sp-empty h3{color:var(--text-primary);margin:0 0 8px;font-size:1.1rem}.sp-empty p{color:var(--text-secondary);margin:0;font-size:.9rem}@media (width<=1024px){.sp-stats-grid{grid-template-columns:repeat(2,1fr);gap:14px}}@media (width<=768px){.sp-report-header{flex-direction:column;align-items:flex-start}.sp-month-picker-wrap{align-items:flex-start}.sp-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.sp-stat-card{padding:16px 14px}.sp-stat-value{font-size:1.2rem}.sp-filters-row{flex-direction:column;align-items:stretch}.sp-filter-search,.sp-select,.sp-export-btn{width:100%}.sp-tabs{overflow-x:auto}}@media (width<=480px){.sp-stats-grid{grid-template-columns:1fr 1fr;gap:10px}.sp-stat-icon{font-size:1.5rem}.sp-stat-value{font-size:1.05rem}.sp-report-title{font-size:1.3rem}.table-responsive.sp-table-wrap{-webkit-overflow-scrolling:touch;border-radius:12px;overflow-x:auto}.table-responsive.sp-table-wrap table{min-width:540px}.table-responsive.sp-table-wrap:after{content:"";background:linear-gradient(to left, var(--bg-card,#fff) 0%, transparent 100%);pointer-events:none;flex-shrink:0;width:28px;height:100%;position:sticky;top:0;right:0}}.po-expand-btn{background:var(--bg-header);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;box-shadow:none;border-radius:6px;align-items:center;gap:6px;padding:5px 12px;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.po-expand-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:none;transform:none}.po-expand-arrow{opacity:.7;font-size:.7rem}.po-items-row td{background:var(--bg-header);padding:0!important}.po-items-table-wrap{padding:14px 20px}.po-items-table{border-collapse:collapse;width:100%;font-size:.88rem}.po-items-table th{background:var(--bg-card);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color);padding:8px 12px;font-size:.75rem;font-weight:600}.po-items-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:9px 12px}.po-items-table tbody tr:last-child td{border-bottom:none}.po-items-table tbody tr:hover{background:var(--table-hover)}.po-modal{border-radius:14px!important}.po-items-section{border:1px solid var(--border-color);border-radius:10px;margin-top:20px;overflow:visible}.po-items-header{background:var(--bg-header);border-bottom:1px solid var(--border-color);color:var(--text-primary);justify-content:space-between;align-items:center;padding:12px 16px;font-size:.9rem;font-weight:700;display:flex}.po-add-row-btn{background:var(--primary-color);color:#fff;cursor:pointer;box-shadow:none;border:none;border-radius:6px;padding:6px 14px;font-size:.85rem;font-weight:600;transition:background .15s,transform .1s}.po-add-row-btn:hover:not(:disabled){background:var(--primary-hover);box-shadow:none;transform:none}.po-item-row{border-bottom:1px solid var(--border-color);align-items:flex-end;gap:10px;padding:12px 14px;display:flex;position:relative}.po-item-row:last-of-type{border-bottom:none}.po-item-num{text-align:center;width:22px;color:var(--text-secondary);flex-shrink:0;padding-bottom:10px;font-size:.8rem;font-weight:700}.po-item-fields{flex:1;grid-template-columns:2fr 80px 120px auto;align-items:end;gap:10px;display:grid}.po-item-fields .form-group{margin:0}.po-item-fields .form-group label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:4px;font-size:.75rem;font-weight:600;display:block}.po-item-fields select,.po-item-fields input{width:100%;padding:8px 10px;font-size:.88rem}.po-line-total{color:var(--primary-color);white-space:nowrap;text-align:right;min-width:80px;padding-bottom:8px;font-size:.88rem;font-weight:700}.po-remove-row-btn{background:var(--danger-bg);width:28px;height:28px;color:var(--danger-text);border:1px solid var(--danger-text);cursor:pointer;box-shadow:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:8px;padding:0;font-size:.75rem;transition:background .15s,color .15s;display:flex}.po-remove-row-btn:hover:not(:disabled){background:var(--danger-text);color:#fff;box-shadow:none;transform:none}.po-grand-total{background:var(--bg-header);border-top:2px solid var(--border-color);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:12px 16px;font-size:.95rem;display:flex}.po-grand-total strong{color:var(--primary-color);font-size:1.1rem;font-weight:800}@media (width<=600px){.po-item-fields{grid-template-rows:auto auto;grid-template-columns:1fr 1fr}.po-field-product{grid-column:1/-1}.po-line-total{text-align:left;grid-column:1/-1;padding-bottom:0}}.navbar{width:100%;height:calc(70px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:var(--navbar-bg);box-shadow:var(--navbar-shadow);border-bottom:1px solid var(--navbar-border);z-index:1000;transition:background var(--transition-speed) ease, border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;justify-content:space-between;align-items:center;padding-left:20px;padding-right:20px;display:flex;position:fixed;top:0;left:0}.navbar-brand{color:var(--navbar-text);white-space:nowrap;transition:color var(--transition-speed) ease;margin:0;font-size:1.3rem;font-weight:600}.navbar div{align-items:center;gap:20px;display:flex}.navbar button{background:var(--primary-color);color:var(--primary-text);cursor:pointer;transition:all var(--transition-speed) ease;border:none;border-radius:6px;padding:8px 16px;font-weight:600}.navbar button:hover{background:var(--primary-hover);box-shadow:0 2px 8px #27ae6026}.navbar button.btn-danger{background:var(--danger-text);color:#fff}.navbar button.btn-danger:hover{background:#b91c1c;box-shadow:0 2px 8px #b91c1c33}.menu-toggle{cursor:pointer;transition:color var(--transition-speed) ease;margin-right:15px;color:var(--navbar-text)!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important;font-size:24px!important;line-height:1!important;display:block!important;transform:none!important}.menu-toggle:hover{color:var(--primary-color)!important;background:0 0!important}.navbar span{color:var(--navbar-text);transition:background var(--transition-speed) ease, color var(--transition-speed) ease;background:#7878781a;border-radius:20px;padding:6px 12px;font-size:.9rem;font-weight:500}@media (width<=768px){.navbar{height:calc(60px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:16px;padding-right:16px}.menu-toggle{margin-right:10px}.navbar-brand{font-size:1.15rem}.navbar div{gap:12px}}@media (width<=580px){.user-role,.navbar-brand{display:none!important}}@media (width<=480px){.navbar-brand{font-size:1.05rem}.navbar button{padding:6px 12px;font-size:.85rem}}[data-theme=light]{--sidebar-glass-bg:#ffffffb3;--sidebar-border:#0000000f;--sidebar-profile-bg:#00000005}[data-theme=dark]{--sidebar-glass-bg:#1e293bbf;--sidebar-border:#ffffff0d;--sidebar-profile-bg:#ffffff05}.sidebar{width:260px;height:calc(100vh - 70px - env(safe-area-inset-top,0px));top:calc(70px + env(safe-area-inset-top,0px));background:var(--sidebar-bg);-webkit-overflow-scrolling:touch;box-shadow:2px 0 15px var(--sidebar-shadow);border-right:1px solid var(--sidebar-border);z-index:99;transition:width .3s cubic-bezier(.4, 0, .2, 1), left .3s cubic-bezier(.4, 0, .2, 1), background var(--transition-speed) ease, border-color var(--transition-speed) ease;-webkit-backdrop-filter:blur(12px);flex-direction:column;gap:16px;padding:24px 16px;display:flex;position:fixed;left:0;overflow-y:auto;background:var(--sidebar-glass-bg)!important}.layout.sidebar-collapsed .sidebar{width:78px;padding:20px 8px}.sidebar-header{justify-content:space-between;align-items:center;margin-bottom:5px;padding:0 8px;display:flex}.sidebar-header h3{color:var(--sidebar-title);text-transform:uppercase;letter-spacing:1.5px;margin:0;font-size:.8rem;font-weight:700}.close-btn{display:none}.sidebar-profile{background:var(--sidebar-profile-bg);border:1px solid var(--sidebar-border);border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;transition:all .3s;display:flex}.profile-avatar{width:42px;height:42px;color:var(--sidebar-text-active);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.05rem;font-weight:700;transition:all .3s;display:flex;box-shadow:0 2px 8px #0000001a}[data-theme=light] .profile-avatar{background:linear-gradient(135deg,#27ae60 0%,#2ecc71 100%)}[data-theme=dark] .profile-avatar{color:#0f172a;background:linear-gradient(135deg,#f1c40f 0%,#f39c12 100%)}.profile-info{flex-direction:column;transition:opacity .25s;display:flex;overflow:hidden}.profile-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:.9rem;font-weight:600;overflow:hidden}.profile-role{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:1px;font-size:.72rem;font-weight:600}.layout.sidebar-collapsed .sidebar-profile{background:0 0;border-color:#0000;justify-content:center;padding:6px}.layout.sidebar-collapsed .profile-info{display:none}.sidebar-nav{flex-direction:column;gap:6px;display:flex}.sidebar a{color:var(--sidebar-text);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.nav-icon{justify-content:center;align-items:center;width:24px;min-width:24px;font-size:1.15rem;transition:transform .25s;display:flex}.nav-text{white-space:nowrap;transition:opacity .2s}.sidebar a:hover{background:var(--sidebar-link-hover);color:var(--sidebar-link-hover-text)}.sidebar a:hover .nav-icon{transform:scale(1.15)}.layout:not(.sidebar-collapsed) .sidebar a:hover{transform:translate(4px)}[data-theme=light] .sidebar a.active{box-shadow:0 4px 12px #27ae6038;color:#fff!important;background:linear-gradient(135deg,#27ae60 0%,#2ecc71 100%)!important}[data-theme=dark] .sidebar a.active{box-shadow:0 4px 12px #f1c40f38;color:#0f172a!important;background:linear-gradient(135deg,#f1c40f 0%,#f39c12 100%)!important}.layout.sidebar-collapsed .sidebar a{border-radius:50%;justify-content:center;width:48px;height:48px;margin:2px auto;padding:12px 0}.layout.sidebar-collapsed .sidebar .nav-text,.layout.sidebar-collapsed .sidebar-header{display:none}.sidebar-theme-toggle{border:1px solid var(--sidebar-border);background:#00000014;border-radius:10px;gap:4px;margin-top:auto;padding:4px;transition:all .3s;display:flex}[data-theme=dark] .sidebar-theme-toggle{background:#0003}.theme-btn{cursor:pointer;flex:1;justify-content:center;align-items:center;gap:6px;display:flex;color:var(--sidebar-text)!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:8px!important;padding:8px 10px!important;font-size:.85rem!important;font-weight:600!important;transition:all .25s!important;transform:none!important}.theme-btn:hover{color:var(--sidebar-link-hover-text)!important;background:#ffffff14!important}[data-theme=light] .theme-btn:hover{background:#00000008!important}.theme-btn.active{background:var(--primary-color)!important;color:var(--sidebar-text-active)!important;box-shadow:0 2px 8px #0000001f!important}[data-theme=light] .theme-btn.active{color:#27ae60!important;background:#fff!important;box-shadow:0 2px 8px #0000000f!important}[data-theme=dark] .theme-btn.active{color:#f1c40f!important;background:#1e293b!important}.layout.sidebar-collapsed .sidebar-theme-toggle{flex-direction:column;align-items:center;padding:4px}.layout.sidebar-collapsed .theme-btn{justify-content:center;width:38px;height:38px;border-radius:50%!important;padding:0!important}.layout.sidebar-collapsed .theme-text,.sidebar-overlay{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (width<=1024px){.sidebar{width:240px;padding:20px 12px}}@media (width<=768px){.sidebar-overlay{-webkit-backdrop-filter:blur(8px);z-index:1005;background:#0f172a73;width:100vw;height:100vh;animation:.25s ease-out fadeIn;display:block;position:fixed;top:0;left:0}.sidebar-header{margin-bottom:12px;padding:0 4px 0 8px}.sidebar{z-index:1006;width:270px;height:100dvh;padding:24px 16px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));border-right:1px solid var(--sidebar-border);-webkit-overflow-scrolling:touch;transition:left .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:-280px;overflow-y:auto;box-shadow:4px 0 25px #0000004d;background:var(--sidebar-bg)!important;-webkit-backdrop-filter:none!important}.sidebar.open{left:0!important}.layout.sidebar-collapsed .sidebar{width:270px;left:-280px!important}.layout.sidebar-collapsed .sidebar .nav-text,.layout.sidebar-collapsed .sidebar-header,.layout.sidebar-collapsed .sidebar-header h3,.layout.sidebar-collapsed .sidebar-profile .profile-info,.layout.sidebar-collapsed .theme-text{display:initial}.close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;font-size:20px;transition:all .2s;display:flex}.close-btn:hover{color:var(--text-primary);background:#0000000d;transform:rotate(90deg)}[data-theme=dark] .close-btn:hover{background:#ffffff0d}}@media (width<=480px){.sidebar{width:82%}}.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:#78787826;border-radius:10px}.sidebar::-webkit-scrollbar-thumb:hover{background:#7878784d}.install-prompt-overlay{-webkit-backdrop-filter:blur(4px);z-index:2000;background:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.3s ease-in-out fadeIn;display:flex;position:fixed;top:0;left:0}.install-prompt-modal{background:var(--bg-card,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:12px;width:90%;max-width:500px;max-height:80vh;padding:32px 24px;animation:.3s ease-in-out slideUp;position:relative;overflow-y:auto;box-shadow:0 10px 40px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.install-prompt-header{text-align:center;margin-bottom:24px}.install-prompt-header h2{color:var(--text-primary,#1a202c);margin:0 0 12px;font-size:24px;font-weight:700}.install-prompt-header p{color:var(--text-secondary,#718096);margin:0;font-size:14px;line-height:1.4}.install-prompt-benefits{background:var(--bg-header,#f7fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;margin-bottom:24px;padding:16px}.install-prompt-benefits h3{color:var(--text-primary,#1a202c);margin:0 0 12px;font-size:14px;font-weight:600}.install-prompt-benefits ul{color:var(--text-secondary,#718096);margin:0;padding-left:20px;font-size:13px;line-height:1.8}.install-prompt-benefits li{margin:4px 0}.install-prompt-toggle-btn{background:var(--bg-header,#f7fafc);border:1px solid var(--border-color,#e2e8f0);cursor:pointer;width:100%;color:var(--primary-color,#3182ce);border-radius:8px;margin-bottom:16px;padding:12px;font-size:14px;font-weight:600;transition:all .2s}.install-prompt-toggle-btn:hover{background:var(--bg-hover,#edf2f7)}.install-prompt-toggle-btn:active{transform:scale(.98)}.install-prompt-instructions{background:var(--bg-header,#f7fafc);border:1px solid var(--border-color,#e2e8f0);color:var(--text-secondary,#718096);border-radius:8px;margin-bottom:24px;padding:16px;font-size:13px;line-height:1.8;animation:.3s ease-in-out slideUp}.install-prompt-instructions h4{color:var(--text-primary,#1a202c);margin:0 0 12px;font-size:14px;font-weight:600}.install-prompt-instructions ol{margin:0;padding-left:20px}.install-prompt-instructions li{margin:8px 0}.install-prompt-instructions strong{color:var(--text-primary,#1a202c);font-weight:600}.install-prompt-instructions p{margin:12px 0 0;font-style:italic}.install-prompt-actions{gap:12px;margin-top:24px;display:flex}.install-prompt-btn{cursor:pointer;border:none;border-radius:8px;flex:1;padding:12px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.install-prompt-btn-secondary{background:var(--bg-header,#f7fafc);border:1px solid var(--border-color,#e2e8f0);color:var(--text-secondary,#718096)}.install-prompt-btn-secondary:hover{background:var(--bg-hover,#edf2f7);color:var(--text-primary,#1a202c)}.install-prompt-btn-secondary:active{transform:scale(.98)}.install-prompt-btn-primary{background:var(--primary-color,#3182ce);color:#fff;border:none}.install-prompt-btn-primary:hover{opacity:.9;transform:translateY(-1px)}.install-prompt-btn-primary:active{transform:translateY(0)}.install-prompt-close-btn{cursor:pointer;color:var(--text-secondary,#718096);background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;transition:color .2s;display:flex;position:absolute;top:16px;right:16px}.install-prompt-close-btn:hover{color:var(--text-primary,#1a202c)}.install-prompt-close-btn:active{transform:scale(.9)}@media (width<=480px){.install-prompt-overlay{padding:12px}.install-prompt-modal{width:95%;max-height:90vh;padding:20px 16px}.install-prompt-header h2{font-size:20px}.install-prompt-header p{font-size:13px}.install-prompt-benefits,.install-prompt-instructions{padding:12px}.install-prompt-benefits ul,.install-prompt-instructions{font-size:12px}.install-prompt-actions{flex-direction:column;gap:10px}.install-prompt-btn{padding:14px 12px}.install-prompt-close-btn{width:28px;height:28px;font-size:20px;top:12px;right:12px}}.install-prompt-btn:focus,.install-prompt-close-btn:focus,.install-prompt-toggle-btn:focus{outline:2px solid var(--primary-color,#3182ce);outline-offset:2px}.install-prompt-modal::-webkit-scrollbar{width:6px}.install-prompt-modal::-webkit-scrollbar-track{background:var(--bg-header,#f7fafc);border-radius:10px}.install-prompt-modal::-webkit-scrollbar-thumb{background:var(--border-color,#e2e8f0);border-radius:10px}.install-prompt-modal::-webkit-scrollbar-thumb:hover{background:var(--text-secondary,#718096)}.layout{min-height:100dvh;display:flex}.content{padding:30px;padding-bottom:calc(30px + env(safe-area-inset-bottom,0px));margin-top:calc(70px + env(safe-area-inset-top,0px));background:var(--bg-primary);width:calc(100% - 260px);max-width:100%;transition:margin-left .3s cubic-bezier(.4, 0, .2, 1), width .3s cubic-bezier(.4, 0, .2, 1), background var(--transition-speed) ease;flex:1;margin-left:260px}.layout.sidebar-collapsed .content{width:calc(100% - 78px);margin-left:78px}@media (width<=1024px){.content{width:calc(100% - 260px);margin-left:260px;padding:20px}.layout.sidebar-collapsed .content{width:calc(100% - 78px);margin-left:78px}}@media (width<=768px){.layout{flex-direction:column}.content{width:100%;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));margin-left:0}.layout.sidebar-collapsed .content{width:100%;margin-left:0}}@media (width<=480px){.content{padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));margin-top:calc(60px + env(safe-area-inset-top,0px))}}:root{--bg-primary:#f5f6fa;--bg-card:#fff;--bg-header:#f1f5f9;--text-primary:#1e293b;--text-secondary:#64748b;--border-color:#e2e8f0;--table-hover:#f8fafc;--input-bg:#fff;--input-border:#cbd5e1;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 6px #0000000d, 0 2px 8px #0000000d;--primary-color:#27ae60;--primary-hover:#219653;--primary-text:#fff;--success-bg:#d1fae5;--success-text:#065f46;--warning-bg:#fef3c7;--warning-text:#92400e;--danger-bg:#fee2e2;--danger-text:#991b1b;--created-bg:#dbeafe;--created-text:#0c4a6e;--transition-speed:.3s;--sidebar-bg:linear-gradient(180deg, #fff 0%, #f1f5f9 100%);--sidebar-text:#475569;--sidebar-text-active:#fff;--sidebar-shadow:#0000000a;--sidebar-border:#e2e8f0;--sidebar-link-hover:#f1f5f9;--sidebar-link-hover-text:#27ae60;--sidebar-title:#64748b;--navbar-bg:linear-gradient(135deg, #fff 0%, #f8fafc 100%);--navbar-text:#1e293b;--navbar-border:#e2e8f0;--navbar-shadow:0 2px 8px #0000000d;--auth-bg:#e2e8f0;--auth-bg-gradient:radial-gradient(at 10% 20%, #f1c40f14 0px, transparent 50%), radial-gradient(at 90% 80%, #2ecc7114 0px, transparent 50%);--auth-glow-opacity:.15;--auth-card-bg:#ffffffb3;--auth-card-border:#ffffff80;--auth-shadow:#00000014;--auth-text:#1e293b;--auth-subtitle:#64748b;--auth-label:#475569;--auth-input-bg:#ffffffd9;--auth-input-border:#00000014;--auth-input-text:#1e293b;--auth-input-placeholder:#94a3b8;--auth-footer-border:#0000000f}[data-theme=dark]{--bg-primary:#0f172a;--bg-card:#1e293b;--bg-header:#1e293b;--text-primary:#f8fafc;--text-secondary:#94a3b8;--border-color:#ffffff14;--table-hover:#334155;--input-bg:#0f172a80;--input-border:#ffffff1f;--shadow-sm:0 1px 3px #0003;--shadow-md:0 4px 15px #0000004d;--primary-color:#f1c40f;--primary-hover:#f39c12;--primary-text:#0f172a;--success-bg:#2ecc7126;--success-text:#2ecc71;--warning-bg:#f1c40f26;--warning-text:#f1c40f;--danger-bg:#e74c3c26;--danger-text:#e74c3c;--created-bg:#3498db26;--created-text:#3498db;--sidebar-bg:linear-gradient(180deg, #1e293b 0%, #0f172a 100%);--sidebar-text:#cbd5e1;--sidebar-text-active:#0f172a;--sidebar-shadow:#00000040;--sidebar-border:#ffffff0d;--sidebar-link-hover:#334155;--sidebar-link-hover-text:#f1c40f;--sidebar-title:#94a3b8;--navbar-bg:linear-gradient(135deg, #1e293b 0%, #0f172a 100%);--navbar-text:#fff;--navbar-border:#ffffff0d;--navbar-shadow:0 4px 12px #00000026;--auth-bg:#0f172a;--auth-bg-gradient:radial-gradient(at 10% 20%, #f1c40f26 0px, transparent 50%), radial-gradient(at 90% 80%, #2ecc711a 0px, transparent 50%);--auth-glow-opacity:.3;--auth-card-bg:#1e293b73;--auth-card-border:#ffffff14;--auth-shadow:#00000059;--auth-text:#fff;--auth-subtitle:#94a3b8;--auth-label:#cbd5e1;--auth-input-bg:#0f172a99;--auth-input-border:#ffffff1f;--auth-input-text:#fff;--auth-input-placeholder:#475569;--auth-footer-border:#ffffff0d}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);transition:background var(--transition-speed) ease, color var(--transition-speed) ease;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}a{color:inherit;text-decoration:none}ul{list-style:none}input,textarea,select{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);transition:background var(--transition-speed) ease, color var(--transition-speed) ease, border-color var(--transition-speed) ease;border-radius:6px;padding:8px 12px;font-family:inherit;font-size:1rem}input:focus,textarea:focus,select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #27ae6026}button{background:var(--primary-color);color:var(--primary-text);cursor:pointer;transition:all var(--transition-speed) ease;border:none;border-radius:6px;padding:8px 16px;font-size:.9rem;font-weight:600}button:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #27ae6033}button:active{transform:translateY(0)}table{border-collapse:collapse;width:100%}table th,table td{text-align:left;border-bottom:1px solid var(--border-color);padding:12px}table th{background:var(--bg-header);color:var(--text-primary);font-weight:600}table tr:hover{background:var(--table-hover)}h1{color:var(--text-primary);margin-bottom:20px;font-size:2rem}h2{color:var(--text-primary);margin-bottom:16px;font-size:1.5rem}h3{color:var(--text-primary);margin-bottom:12px;font-size:1.25rem}.card{background:var(--bg-card);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-radius:8px;margin-bottom:20px;padding:20px;transition:background .3s,border-color .3s}.badge{border-radius:20px;padding:4px 12px;font-size:.85rem;font-weight:600;display:inline-block}.badge-success{background:var(--success-bg);color:var(--success-text)}.badge-warning{background:var(--warning-bg);color:var(--warning-text)}.badge-danger{background:var(--danger-bg);color:var(--danger-text)}
