:root{--primary:#b5030f;--primary-dark:#8e0209;--primary-rgb:181, 3, 15;--accent:#31373d;--bg:#f5f6f1;--surface:#fff;--surface-alt:#f4f4f4;--border:#d7d7d7;--text:#31373d;--text-muted:#51515d;--danger:#dc2626;--danger-light:#dc26261a;--success:#16a34a;--warning:#f59e0b;--interrupted:#9333ea;--state-green:#15803d;--state-yellow:#b45309;--state-red:#b91c1c;--state-interrupted:#7e22ce;--state-green-dot:#16a34a;--state-yellow-dot:#f59e0b;--state-red-dot:#dc2626;--state-interrupted-dot:#9333ea;--radius:6px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 8px #00000014;--sidebar-width:220px;--header-height:56px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;color:var(--text);background:var(--bg);font-family:Titillium Web,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}button{cursor:pointer;font-family:inherit}input,button,select,textarea{font-size:inherit;font-family:inherit}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.login-page-container{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-page-container .login-form{background:var(--surface);border-radius:var(--radius);width:100%;max-width:360px;box-shadow:var(--shadow-md);flex-direction:column;gap:16px;padding:32px;display:flex}.login-page-container .login-logo{width:100%;max-width:180px;height:auto;margin:0 auto 4px;display:block}.login-page-container .login-subtitle{text-align:center;color:var(--text-muted);margin-bottom:8px}.login-page-container .login-label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.login-page-container .login-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:10px 12px}.login-page-container .login-input:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}.login-page-container .login-error{background:var(--danger-light);color:var(--danger);border-radius:var(--radius);padding:10px 12px;font-size:13px}.login-page-container .login-submit{background:var(--primary);color:#fff;border-radius:var(--radius);border:none;padding:12px 16px;font-weight:600}.login-page-container .login-submit:hover:not(:disabled){background:var(--primary-dark)}.login-page-container .login-submit:disabled{opacity:.6;cursor:not-allowed}.change-password-page-container{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.change-password-page-container .change-password-form{background:var(--surface);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow-md);flex-direction:column;gap:14px;padding:32px;display:flex}.change-password-page-container .change-password-title{color:var(--primary);font-size:20px}.change-password-page-container .change-password-subtitle{color:var(--text-muted);margin-bottom:8px;font-size:13px}.change-password-page-container .change-password-label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.change-password-page-container .change-password-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:10px 12px}.change-password-page-container .change-password-input:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}.change-password-page-container .change-password-error{background:var(--danger-light);color:var(--danger);border-radius:var(--radius);padding:10px 12px;font-size:13px}.change-password-page-container .change-password-submit{background:var(--primary);color:#fff;border-radius:var(--radius);border:none;padding:12px 16px;font-weight:600}.change-password-page-container .change-password-submit:hover:not(:disabled){background:var(--primary-dark)}.change-password-page-container .change-password-submit:disabled{opacity:.6;cursor:not-allowed}.app-modal-overlay{z-index:200;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.app-modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:560px;max-height:80vh;box-shadow:var(--shadow-md);flex-direction:column;display:flex}.app-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.app-modal-header h3{font-size:16px;font-weight:600}.app-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1}.app-modal-close:hover{color:var(--text)}.app-modal-body{padding:16px 20px;overflow-y:auto}.epd-scraper-page-container{flex-direction:column;flex:1;display:flex;overflow:hidden}.epd-scraper-page-container .page-header{background:var(--surface);border-bottom:1px solid var(--border);height:var(--header-height);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.epd-scraper-page-container .page-header h2{font-size:18px;font-weight:600}.epd-scraper-page-container .content-area{flex:1;padding:24px;overflow:hidden auto}.epd-scraper-page-container .error-banner{background:var(--danger-light);color:var(--danger);border-radius:var(--radius);margin-bottom:16px;padding:12px 16px}.epd-scraper-page-container .control-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:16px;display:flex}.epd-scraper-page-container .fresh-run-toggle{align-items:center;gap:10px;display:flex}.epd-scraper-page-container .fresh-toggle{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.epd-scraper-page-container .fresh-toggle-input{opacity:0;width:0;height:0;position:absolute}.epd-scraper-page-container .fresh-toggle-track{background:var(--border);border-radius:999px;flex-shrink:0;width:40px;height:22px;transition:background-color .2s;position:relative}.epd-scraper-page-container .fresh-toggle-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.epd-scraper-page-container .fresh-toggle-input:checked+.fresh-toggle-track{background:var(--primary)}.epd-scraper-page-container .fresh-toggle-input:checked+.fresh-toggle-track .fresh-toggle-thumb{transform:translate(18px)}.epd-scraper-page-container .fresh-toggle-input:focus-visible+.fresh-toggle-track{outline:2px solid var(--primary);outline-offset:2px}.epd-scraper-page-container .fresh-toggle-input:disabled+.fresh-toggle-track{opacity:.5}.epd-scraper-page-container .fresh-toggle:has(.fresh-toggle-input:disabled){cursor:not-allowed}@media (prefers-reduced-motion:reduce){.epd-scraper-page-container .fresh-toggle-track,.epd-scraper-page-container .fresh-toggle-thumb{transition:none}}.epd-scraper-page-container .start-btn{background:var(--primary);color:#fff;border-radius:var(--radius);border:none;padding:8px 16px;font-weight:600}.epd-scraper-page-container .start-btn:hover:not(:disabled){background:var(--primary-dark)}.epd-scraper-page-container .resume-btn{background:var(--interrupted);color:#fff;border-radius:var(--radius);border:none;padding:8px 16px;font-weight:600}.epd-scraper-page-container .resume-btn:hover:not(:disabled){filter:brightness(.92)}.epd-scraper-page-container .cancel-btn{background:var(--surface);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius);padding:8px 16px;font-weight:600}.epd-scraper-page-container .cancel-btn:hover:not(:disabled){background:#dc262614}.epd-scraper-page-container .start-btn:disabled,.epd-scraper-page-container .resume-btn:disabled,.epd-scraper-page-container .cancel-btn:disabled,.epd-scraper-page-container .dl-btn:disabled{opacity:.5;cursor:not-allowed}.epd-scraper-page-container .download-buttons{align-items:center;gap:8px;margin-left:auto;display:flex}.epd-scraper-page-container .dl-btn{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 14px}.epd-scraper-page-container .dl-btn:hover:not(:disabled){background:var(--surface);border-color:var(--text-muted)}.epd-scraper-page-container .dl-error{color:var(--danger);font-size:12px}.epd-scraper-page-container .run-banner{background:rgba(var(--primary-rgb), .08);border:1px solid rgba(var(--primary-rgb), .2);border-radius:var(--radius);align-items:center;gap:8px;padding:7px 14px;font-size:13px;display:flex}.epd-scraper-page-container .queue-info{color:var(--text-muted)}.epd-scraper-page-container .pulse-dot{background:var(--primary);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite epd-pulse}@keyframes epd-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.epd-scraper-page-container .idle-hint{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);text-align:center;margin-bottom:16px;padding:24px}.epd-scraper-page-container .action-msg{color:#92670a;border-radius:var(--radius);background:#f59e0b1f;margin-top:16px;padding:10px 14px;font-size:13px}.epd-scraper-page-container .steps-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.epd-scraper-page-container .step-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 16px}.epd-scraper-page-container .step-card-executing{border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb), .15)}.epd-scraper-page-container .step-card-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.epd-scraper-page-container .step-card-title{font-size:13px;font-weight:600;line-height:1.3}.epd-scraper-page-container .step-card-note{color:var(--text-muted);margin-bottom:6px;font-size:11px;font-style:italic}.epd-scraper-page-container .step-card-time{color:var(--text-muted);margin-top:8px;font-size:11px}.epd-scraper-page-container .step-card-badges{align-items:center;gap:6px;display:inline-flex}.epd-scraper-page-container .step-issues-btn{color:#b45309;cursor:pointer;white-space:nowrap;background:#f59e0b26;border:1px solid #f59e0b8c;border-radius:10px;align-items:center;gap:4px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-flex}.epd-scraper-page-container .step-issues-btn:hover{background:#f59e0b47}.epd-scraper-page-container .step-card-error{background:var(--danger-light);border-radius:var(--radius);color:#b91c1c;border:1px solid #dc26264d;margin-top:8px;padding:8px 10px;font-size:12px;line-height:1.45}.epd-scraper-page-container .issue-group{margin-bottom:14px}.epd-scraper-page-container .issue-group:last-child{margin-bottom:0}.epd-scraper-page-container .issue-group-title{margin-bottom:6px;font-size:13px;font-weight:600}.epd-scraper-page-container .issue-count{color:var(--text-muted);font-weight:400}.epd-scraper-page-container .issue-list{flex-direction:column;gap:6px;list-style:none;display:flex}.epd-scraper-page-container .issue-item{background:var(--bg);border-radius:var(--radius);flex-direction:column;gap:1px;padding:6px 8px;font-size:12px;display:flex}.epd-scraper-page-container .issue-name{font-weight:600}.epd-scraper-page-container .issue-link{word-break:break-all;font-size:11px}.epd-scraper-page-container .issue-sub{color:var(--text-muted);font-size:11px}.epd-scraper-page-container .issue-detail{color:#b45309;font-size:11px}.epd-scraper-page-container .issue-empty{color:var(--text-muted);font-size:13px}.epd-scraper-page-container .step-badge{white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.epd-scraper-page-container .step-spinner{vertical-align:-1px;border:2px solid;border-top-color:#0000;border-radius:50%;width:10px;height:10px;margin-right:5px;animation:.7s linear infinite step-spin;display:inline-block}@keyframes step-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.epd-scraper-page-container .step-spinner{animation:none}}.epd-scraper-page-container .state-green{color:#15803d;background:#16a34a26}.epd-scraper-page-container .state-yellow{color:#b45309;background:#f59e0b2e}.epd-scraper-page-container .state-red{color:#b91c1c;background:#dc262626}.epd-scraper-page-container .state-interrupted{color:#7e22ce;background:#9333ea26}.epd-scraper-page-container .state-pending{background:var(--bg);color:var(--text-muted)}.epd-scraper-page-container .state-running{background:rgba(var(--primary-rgb), .15);color:var(--primary)}.epd-scraper-page-container .state-queued{background:rgba(var(--primary-rgb), .1);color:var(--primary)}.epd-scraper-page-container .state-unknown,.epd-scraper-page-container .state-idle{background:var(--bg);color:var(--text-muted)}.epd-scraper-page-container .all-runs-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:24px;padding:16px}.epd-scraper-page-container .all-runs-title{margin-bottom:10px;font-size:14px;font-weight:600}.epd-scraper-page-container .all-runs-empty{color:var(--text-muted);font-size:13px}.epd-scraper-page-container .all-runs-table{border-collapse:collapse;width:100%}.epd-scraper-page-container .all-runs-table th,.epd-scraper-page-container .all-runs-table td{text-align:left;border-bottom:1px solid var(--border);padding:7px 10px;font-size:13px}.epd-scraper-page-container .all-runs-table th{background:var(--bg);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.epd-scraper-page-container .all-runs-table tbody tr:last-child td{border-bottom:none}.epd-scraper-page-container .all-runs-table .mono{font-variant-numeric:tabular-nums}.epd-scraper-page-container .all-runs-badge{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.epd-scraper-page-container .all-runs-table .expand-cell{text-align:center;width:36px;padding-right:0}.epd-scraper-page-container .all-runs-row.expandable{cursor:pointer}.epd-scraper-page-container .all-runs-row.expandable:hover,.epd-scraper-page-container .all-runs-row.open{background:var(--bg)}.epd-scraper-page-container .expand-btn{width:24px;height:24px;color:var(--primary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform .2s,background-color .15s;display:inline-flex}.epd-scraper-page-container .expand-btn:hover,.epd-scraper-page-container .all-runs-row.expandable:hover .expand-btn{background:rgba(var(--primary-rgb), .12)}.epd-scraper-page-container .expand-btn.open{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.epd-scraper-page-container .expand-btn{transition:background-color .15s}}.epd-scraper-page-container .run-detail-row td{background:var(--bg);padding:14px}.epd-scraper-page-container .run-detail-row .steps-grid{margin:0}.epd-scraper-page-container .state-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.epd-scraper-page-container .state-dot.state-green{background:#16a34a}.epd-scraper-page-container .state-dot.state-yellow{background:#f59e0b}.epd-scraper-page-container .state-dot.state-red{background:#dc2626}.epd-scraper-page-container .state-dot.state-interrupted{background:#9333ea}.epd-scraper-page-container .state-dot.state-pending,.epd-scraper-page-container .state-dot.state-unknown{background:var(--text-muted)}.admin-page-container{flex-direction:column;flex:1;display:flex;overflow:hidden}.admin-page-container .page-header{background:var(--surface);border-bottom:1px solid var(--border);height:var(--header-height);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.admin-page-container .page-header h2{font-size:18px;font-weight:600}.admin-page-container .page-header .primary{background:var(--primary);color:#fff;border-radius:var(--radius);border:none;padding:8px 14px;font-weight:500}.admin-page-container .page-header .primary:hover{background:var(--primary-dark)}.admin-page-container .content-area{flex:1;padding:24px;overflow:hidden auto}.admin-page-container .loading-state,.admin-page-container .empty-state{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);text-align:center;padding:40px}.admin-page-container .error-state{background:var(--danger-light);color:var(--danger);border-radius:var(--radius);padding:16px}.admin-page-container .user-table{border-collapse:collapse;background:var(--surface);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm);overflow:hidden}.admin-page-container .user-table th,.admin-page-container .user-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px;font-size:13px}.admin-page-container .user-table th{background:var(--bg);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.admin-page-container .user-table tbody tr:last-child td{border-bottom:none}.admin-page-container .user-table tbody tr:hover{background:var(--bg)}.admin-page-container .role-selector{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:4px 8px}.admin-page-container .role-selector:disabled{opacity:.5;cursor:not-allowed}.admin-page-container .row-delete{border:1px solid var(--border);color:var(--danger);border-radius:var(--radius);background:0 0;padding:4px 10px}.admin-page-container .row-delete:hover:not(:disabled){border-color:var(--danger);background:#dc262614}.admin-page-container .row-delete:disabled{opacity:.4;cursor:not-allowed}.admin-page-container .modal-overlay{z-index:100;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-page-container .modal-container{background:var(--surface);border-radius:var(--radius);width:100%;max-width:460px;box-shadow:var(--shadow-md);flex-direction:column;display:flex}.admin-page-container .modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.admin-page-container .modal-header h3{font-size:16px;font-weight:600}.admin-page-container .modal-close{color:var(--text-muted);background:0 0;border:none;font-size:22px;line-height:1}.admin-page-container .modal-body{flex-direction:column;gap:14px;padding:20px;display:flex}.admin-page-container .modal-body label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.admin-page-container .modal-body input,.admin-page-container .modal-body select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:8px 10px}.admin-page-container .modal-body input:focus,.admin-page-container .modal-body select:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}.admin-page-container .modal-body .input-row{gap:6px;display:flex}.admin-page-container .modal-body .input-row input{flex:1;font-family:SF Mono,Monaco,monospace}.admin-page-container .modal-body .input-row button{border:1px solid var(--border);background:var(--bg);border-radius:var(--radius);padding:6px 10px}.admin-page-container .modal-body .input-row button:hover{background:var(--surface);border-color:var(--text-muted)}.admin-page-container .modal-body .hint{color:var(--text-muted);font-size:11px}.admin-page-container .modal-error{background:var(--danger-light);color:var(--danger);border-radius:var(--radius);padding:10px 12px;font-size:13px}.admin-page-container .modal-footer{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.admin-page-container .modal-footer button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:8px 14px}.admin-page-container .modal-footer button:hover:not(:disabled){background:var(--bg)}.admin-page-container .modal-footer button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.admin-page-container .modal-footer button.primary:hover:not(:disabled){background:var(--primary-dark)}.admin-page-container .modal-footer button:disabled{opacity:.6;cursor:not-allowed}.admin-page-container .cache-panel{margin-top:32px}.admin-page-container .cache-panel-title{margin-bottom:12px;font-size:15px;font-weight:600}.admin-page-container .cache-stats-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:16px;display:grid}.admin-page-container .stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:12px 14px}.admin-page-container .stat-card.stat-stale{background:#f59e0b0f;border-color:#f59e0b80}.admin-page-container .stat-num{color:var(--primary);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.admin-page-container .stat-card.stat-stale .stat-num{color:#b45309}.admin-page-container .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:4px;font-size:11px}.admin-page-container .cache-search{gap:8px;margin-bottom:12px;display:flex}.admin-page-container .cache-search input{border:1px solid var(--border);border-radius:var(--radius);flex:1;max-width:360px;padding:8px 10px}.admin-page-container .cache-search input:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}.admin-page-container .cache-search button{background:var(--primary);color:#fff;border-radius:var(--radius);border:none;padding:8px 16px}.admin-page-container .cache-search button:hover{background:var(--primary-dark)}.admin-page-container .cache-count{color:var(--text-muted);margin-bottom:8px;font-size:12px}.admin-page-container .cache-empty{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);text-align:center;padding:24px}.admin-page-container .cache-table{border-collapse:collapse;background:var(--surface);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm);overflow:hidden}.admin-page-container .cache-table th,.admin-page-container .cache-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 12px;font-size:12px}.admin-page-container .cache-table th{background:var(--bg);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.admin-page-container .cache-table .sede-cell{max-width:380px}.admin-page-container .cache-table tr.row-stale{background:#f59e0b0d}.admin-page-container .stale-tag{color:#b45309;background:#f59e0b33;border-radius:8px;padding:1px 6px;font-size:10px}.admin-page-container .cache-table .cache-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-page-container .cache-edit-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;padding:3px 10px;font-size:11px}.admin-page-container .cache-edit-btn:hover{border-color:var(--primary);color:var(--primary)}.admin-page-container .edit-sede-form{flex-direction:column;gap:14px;display:flex}.admin-page-container .edit-sede-meta{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.admin-page-container .edit-sede-azienda{color:var(--text);font-weight:600}.admin-page-container .edit-sede-piva{color:var(--text-muted);font-family:SF Mono,Monaco,monospace;font-size:11px}.admin-page-container .edit-sede-form label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.admin-page-container .edit-sede-form textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;resize:vertical;padding:8px 10px}.admin-page-container .edit-sede-form textarea:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}.admin-page-container .edit-sede-hint{color:var(--text-muted);margin:0;font-size:11px}.admin-page-container .logs-panel{margin-top:32px}.admin-page-container .logs-panel-title{margin-bottom:12px;font-size:15px;font-weight:600}.admin-page-container .logs-date-row{margin-bottom:12px}.admin-page-container .logs-date-row label{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.admin-page-container .logs-date-row input{border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px}.admin-page-container .logs-empty{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);text-align:center;padding:20px}.admin-page-container .logs-table{border-collapse:collapse;background:var(--surface);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm);overflow:hidden}.admin-page-container .logs-table th,.admin-page-container .logs-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 12px;font-size:13px}.admin-page-container .logs-table th{background:var(--bg);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.admin-page-container .logs-table tbody tr:last-child td{border-bottom:none}.admin-page-container .logs-badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.admin-page-container .logs-dl-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:4px 10px;font-size:12px}.admin-page-container .logs-dl-btn:hover{background:var(--surface);border-color:var(--text-muted)}.admin-page-container .state-green{color:#15803d;background:#16a34a26}.admin-page-container .state-yellow{color:#b45309;background:#f59e0b2e}.admin-page-container .state-red{color:#b91c1c;background:#dc262626}.admin-page-container .state-interrupted{color:#7e22ce;background:#9333ea26}.admin-page-container .state-pending,.admin-page-container .state-queued,.admin-page-container .state-running,.admin-page-container .state-unknown,.admin-page-container .state-idle{background:var(--bg);color:var(--text-muted)}.sidebar{width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex}.sidebar .sidebar-brand{border-bottom:1px solid var(--border);align-items:center;padding:18px 20px;display:flex}.sidebar .sidebar-logo{width:100%;max-width:140px;height:auto;display:block}.sidebar .sidebar-nav{flex-direction:column;flex:1;padding:12px 0;display:flex}.sidebar .sidebar-link{color:var(--text);border-left:3px solid #0000;padding:10px 20px;text-decoration:none}.sidebar .sidebar-link:hover{background:var(--bg);text-decoration:none}.sidebar .sidebar-link.active{background:var(--bg);border-left-color:var(--primary);color:var(--primary);font-weight:600}.sidebar .sidebar-footer{border-top:1px solid var(--border);padding:12px 20px}.sidebar .sidebar-user{margin-bottom:8px}.sidebar .sidebar-user-name{font-weight:600}.sidebar .sidebar-user-role{color:var(--text-muted);text-transform:capitalize;font-size:12px}.sidebar .sidebar-logout{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);width:100%;color:var(--text-muted);padding:6px 10px}.sidebar .sidebar-logout:hover{background:var(--bg);color:var(--text)}.authenticated-layout{height:100vh;display:flex;overflow:hidden}.authenticated-layout .main-content{background:var(--bg);flex-direction:column;flex:1;display:flex;overflow:hidden}.authenticated-layout .main-content>*{flex-direction:column;flex:1;display:flex;overflow:hidden}
