:root{--bg:#f8f9fa;--surface:#fff;--surface-alt:#f1f3f5;--border:#dde1e7;--text:#1a1d29;--text-muted:#6b7280;--primary:#1a3a7a;--primary-hover:#24488f;--danger:#b91c1c;--success:#15803d;--warning:#b45309;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--primary)}.layout{min-height:100vh;display:flex}.sidebar{background:var(--primary);flex-direction:column;flex-shrink:0;width:230px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .logo{flex-shrink:0;width:auto;height:40px;margin:4px 8px 20px;display:block}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar nav a{color:#ffffffbf;border-radius:8px;padding:8px 10px;font-size:14px;text-decoration:none;display:block}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff24}.sidebar-user{border-top:1px solid #ffffff26;margin-top:auto;padding-top:16px}.sidebar-user-name{color:#fff;margin:0 8px 8px;font-size:13px}.sidebar-user button{width:100%}.content{flex:1;min-width:0;padding:28px 32px}.page-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.page-header h2{margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:20px;box-shadow:0 1px 2px #1018280a}.table-wrapper{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%}td .row-actions{flex-wrap:nowrap;gap:8px;display:flex}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px;font-size:14px}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--text)}.table-toolbar{margin-bottom:12px}.table-toolbar input{max-width:320px}.pagination{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;display:flex}.pagination-info{color:var(--text-muted);font-size:13px}.pagination-buttons{gap:8px;display:flex}button,.btn{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:8px 14px;font-size:14px}button:hover,.btn:hover{background:var(--primary-hover)}button.secondary{background:var(--surface-alt);color:var(--text);border:1px solid var(--border)}button.danger{background:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;width:100%;padding:8px 10px;font-size:14px}label{color:var(--text-muted);margin-bottom:4px;font-size:13px;display:block}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px;display:grid}.badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge.pending{color:var(--warning);background:#b453091f}.badge.confirmed{color:var(--success);background:#15803d1f}.badge.vencido{color:var(--danger);background:#b91c1c1f}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px;display:grid}.stat-tile{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:12px;padding:18px 20px;box-shadow:0 1px 2px #1018280a}.stat-label{color:var(--text-muted);margin-bottom:8px;font-size:13px}.stat-value{color:var(--text);font-size:28px;font-weight:600}.stat-tile.stat-good{border-left-color:var(--success)}.stat-tile.stat-warning{border-left-color:var(--warning)}.stat-tile.stat-critical{border-left-color:var(--danger)}.stat-tile.stat-neutral{border-left-color:var(--primary)}.empty{color:var(--text-muted);padding:12px 0;font-size:14px}.error{color:var(--danger);margin:8px 0;font-size:14px}.login-page{background:var(--primary);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card{width:100%;max-width:360px}.login-logo{height:40px;margin:0 0 24px;display:block}.login-card h2{text-align:center;margin:0 0 20px}
