:root {
  --ezrtl-teal:#008080;
  --ezrtl-teal-dark:#006060;
  --ezrtl-teal-soft:#e0f2f1;
  --ezrtl-bg:#f3f4f6;
  --ezrtl-card:#ffffff;
  --ezrtl-text:#1f2937;
  --ezrtl-muted:#6b7280;
  --ezrtl-border:#e5e7eb;
  --ezrtl-danger:#ef4444;
  --ezrtl-warn:#f59e0b;
  --ezrtl-success:#10b981;
  --ezrtl-shadow:0 10px 15px -3px rgba(0,0,0,.10),0 4px 6px -2px rgba(0,0,0,.05);
}
#ezrtl-app, #ezrtl-app * { box-sizing:border-box; }
#ezrtl-app { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; color:var(--ezrtl-text); background:var(--ezrtl-bg); min-height:760px; border-radius:14px; overflow:hidden; }
.ezrtl-loading { padding:32px; text-align:center; color:var(--ezrtl-muted); }
.ezrtl-hidden { display:none !important; }
.ezrtl-card { background:var(--ezrtl-card); border-radius:14px; padding:20px; box-shadow:var(--ezrtl-shadow); border:1px solid rgba(229,231,235,.7); }
.ezrtl-login { min-height:680px; display:flex; align-items:center; justify-content:center; padding:24px; }
.ezrtl-login-card { width:min(420px,100%); text-align:center; }
.ezrtl-brand { color:var(--ezrtl-teal); font-size:28px; font-weight:900; letter-spacing:.2px; }
.ezrtl-subtle { color:var(--ezrtl-muted); }
.ezrtl-input, .ezrtl-select, .ezrtl-textarea { width:100%; padding:10px 12px; border:1px solid #d1d5db; border-radius:8px; background:white; font-size:14px; min-height:42px; outline:0; }
.ezrtl-textarea { min-height:76px; resize:vertical; }
.ezrtl-input:focus, .ezrtl-select:focus, .ezrtl-textarea:focus { border-color:var(--ezrtl-teal); box-shadow:0 0 0 3px rgba(0,128,128,.12); }
.ezrtl-upper { text-transform:uppercase; }
.ezrtl-btn { background:var(--ezrtl-teal); color:white; border:0; border-radius:9px; padding:11px 14px; font-weight:800; cursor:pointer; min-height:40px; transition:.15s ease; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.ezrtl-btn:hover { background:var(--ezrtl-teal-dark); transform:translateY(-1px); }
.ezrtl-btn:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.ezrtl-btn-secondary { background:#e5e7eb; color:#374151; }
.ezrtl-btn-secondary:hover { background:#d1d5db; color:#111827; }
.ezrtl-btn-danger { background:var(--ezrtl-danger); }
.ezrtl-btn-danger:hover { background:#b91c1c; }
.ezrtl-btn-dark { background:#1f2937; }
.ezrtl-btn-dark:hover { background:#000; }
.ezrtl-btn-small { padding:6px 10px; min-height:30px; border-radius:7px; font-size:12px; }
.ezrtl-topbar { background:white; min-height:62px; border-bottom:1px solid var(--ezrtl-border); display:flex; align-items:center; justify-content:space-between; gap:14px; padding:0 20px; }
.ezrtl-tabs { display:flex; gap:18px; align-items:stretch; min-height:62px; }
.ezrtl-tab { display:flex; align-items:center; color:var(--ezrtl-muted); border-bottom:3px solid transparent; font-weight:800; cursor:pointer; padding-top:3px; }
.ezrtl-tab:hover, .ezrtl-tab.active { color:var(--ezrtl-teal); border-bottom-color:var(--ezrtl-teal); }
.ezrtl-userbar { display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.ezrtl-grid { display:grid; grid-template-columns:390px minmax(0,1fr); gap:22px; padding:22px; min-height:690px; }
.ezrtl-left { display:flex; flex-direction:column; gap:18px; }
.ezrtl-right { display:flex; flex-direction:column; gap:18px; min-width:0; }
.ezrtl-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ezrtl-field { margin-bottom:12px; }
.ezrtl-field label { display:block; font-size:11px; text-transform:uppercase; color:var(--ezrtl-muted); font-weight:900; margin-bottom:5px; letter-spacing:.04em; }
.ezrtl-section-title { margin:0 0 14px; font-size:18px; font-weight:900; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.ezrtl-table-wrap { overflow:auto; max-height:490px; border-radius:10px; border:1px solid var(--ezrtl-border); }
.ezrtl-table { width:100%; border-collapse:separate; border-spacing:0; background:white; }
.ezrtl-table th { position:sticky; top:0; z-index:2; background:#fff; color:var(--ezrtl-muted); font-size:11px; text-transform:uppercase; letter-spacing:.04em; text-align:left; border-bottom:1px solid var(--ezrtl-border); padding:11px 9px; white-space:nowrap; }
.ezrtl-table td { padding:10px 9px; border-bottom:1px solid #f3f4f6; font-size:13px; vertical-align:middle; }
.ezrtl-table tr:hover td { background:#f9fafb; }
.ezrtl-empty { text-align:center; padding:38px 15px; color:#c0c5cd; }
.ezrtl-pill { display:inline-flex; align-items:center; border-radius:999px; padding:3px 8px; font-size:12px; font-weight:900; white-space:nowrap; }
.ezrtl-pill-good { color:#166534; background:#dcfce7; }
.ezrtl-pill-warn { color:#92400e; background:#fef3c7; }
.ezrtl-pill-bad { color:#991b1b; background:#fee2e2; }
.ezrtl-pill-info { color:#0f766e; background:#ccfbf1; }
.ezrtl-resource-list { border-top:1px solid var(--ezrtl-border); margin-top:16px; padding-top:14px; display:flex; flex-direction:column; gap:8px; }
.ezrtl-resource-list a { color:var(--ezrtl-teal); font-size:13px; text-decoration:none; }
.ezrtl-resource-list a:hover { text-decoration:underline; }
.ezrtl-plate-box { background:#f0fdf4; color:#166534; border:1px solid #bbf7d0; border-radius:9px; padding:10px; font-size:13px; line-height:1.45; }
.ezrtl-panel { padding:22px; display:flex; flex-direction:column; gap:18px; }
.ezrtl-searchbar { display:grid; grid-template-columns:repeat(6,minmax(120px,1fr)); gap:12px; align-items:end; }
.ezrtl-searchbar .ezrtl-actions { display:flex; gap:8px; flex-wrap:wrap; }
.ezrtl-metrics { display:grid; grid-template-columns:repeat(6,minmax(120px,1fr)); gap:12px; }
.ezrtl-metric { background:white; border:1px solid var(--ezrtl-border); border-radius:12px; padding:14px; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.ezrtl-metric .label { color:var(--ezrtl-muted); font-size:11px; text-transform:uppercase; font-weight:900; }
.ezrtl-metric .value { font-size:26px; font-weight:950; margin-top:4px; color:#111827; }
.ezrtl-two-col { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ezrtl-modal-backdrop { position:fixed; inset:0; background:rgba(17,24,39,.55); z-index:99999; display:none; align-items:center; justify-content:center; padding:22px; }
.ezrtl-modal-backdrop.open { display:flex; }
.ezrtl-modal { width:min(760px,100%); max-height:92vh; overflow:auto; background:white; border-radius:16px; box-shadow:0 25px 70px rgba(0,0,0,.35); padding:22px; }
.ezrtl-modal-narrow { width:min(460px,100%); }
.ezrtl-modal-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:18px; flex-wrap:wrap; }
.ezrtl-toast-wrap { position:fixed; top:18px; left:50%; transform:translateX(-50%); z-index:100000; display:flex; flex-direction:column; gap:8px; pointer-events:none; }
.ezrtl-toast { background:#111827; color:white; border-radius:999px; padding:11px 18px; font-weight:800; box-shadow:0 10px 30px rgba(0,0,0,.28); opacity:0; transform:translateY(-12px); transition:.25s ease; pointer-events:auto; }
.ezrtl-toast.show { opacity:1; transform:translateY(0); }
.ezrtl-toast.success { background:var(--ezrtl-teal); }
.ezrtl-toast.error { background:var(--ezrtl-danger); }
.ezrtl-toast.warn { background:var(--ezrtl-warn); color:#111827; }
.ezrtl-live-dot { width:8px; height:8px; background:var(--ezrtl-success); border-radius:99px; display:inline-block; animation:ezrtlPulse 2s infinite; }
@keyframes ezrtlPulse { 0%,100%{opacity:1} 50%{opacity:.35} }
.ezrtl-sound { display:inline-flex; align-items:center; gap:6px; }
.ezrtl-filebox { border:1px dashed #cbd5e1; border-radius:12px; padding:14px; background:#f8fafc; }
.ezrtl-checkbox { display:flex; gap:8px; align-items:center; font-weight:700; color:#374151; }
.ezrtl-checkbox input { width:auto; }
.ezrtl-location-settings { display:grid; gap:10px; }
.ezrtl-location-row { display:grid; grid-template-columns:1.3fr .75fr 1.4fr .35fr .35fr .35fr; gap:8px; align-items:center; padding:10px; border:1px solid var(--ezrtl-border); border-radius:10px; }
.ezrtl-note { background:#fffbeb; border:1px solid #fde68a; color:#92400e; padding:10px 12px; border-radius:10px; font-size:13px; }
@media (max-width:1120px) {
  .ezrtl-grid { grid-template-columns:1fr; }
  .ezrtl-searchbar { grid-template-columns:repeat(3,1fr); }
  .ezrtl-metrics { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:720px) {
  #ezrtl-app { border-radius:0; }
  .ezrtl-topbar { align-items:flex-start; flex-direction:column; padding:14px; }
  .ezrtl-tabs { min-height:auto; overflow:auto; width:100%; gap:14px; }
  .ezrtl-tab { padding:8px 0; white-space:nowrap; }
  .ezrtl-grid, .ezrtl-panel { padding:14px; }
  .ezrtl-row, .ezrtl-two-col, .ezrtl-searchbar, .ezrtl-metrics { grid-template-columns:1fr; }
  .ezrtl-location-row { grid-template-columns:1fr; }
}
