:root{
  --primary:#1e293b; --primary-light:#3b6ef6; --primary-soft:#eef2ff; --bg:#f6f7fb; --card:#ffffff;
  --text:#1f2430; --muted:#8a91a3; --border:#eaecf2;
  --success:#12b76a; --warning:#f79009; --danger:#f04438; --secondary:#98a2b3;
  --radius:12px; --radius-sm:8px;
  --shadow-sm:0 1px 2px rgba(16,24,40,.05);
  --shadow-md:0 4px 20px rgba(16,24,40,.06);
}
*{box-sizing:border-box;}
body{margin:0;font-family:"Inter",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14.5px;line-height:1.5;}
a{color:var(--primary-light);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3{letter-spacing:-.01em;}

.topbar{display:flex;align-items:center;justify-content:space-between;background:var(--primary);color:#fff;padding:0 28px;height:58px;position:sticky;top:0;z-index:50;box-shadow:var(--shadow-sm);}
.topbar-brand{font-weight:600;font-size:16px;letter-spacing:-.01em;}
.topbar-brand span{font-weight:400;opacity:.65;font-size:12.5px;}
.topbar-nav{display:flex;gap:22px;align-items:center;}
.topbar-nav a{color:#fff;opacity:.72;font-size:13.5px;font-weight:500;transition:opacity .15s;}
.topbar-nav a:hover{opacity:1;text-decoration:none;}
.nav-dropdown{position:relative;font-size:13.5px;opacity:.72;transition:opacity .15s;}
.nav-dropdown-trigger{cursor:pointer;padding:20px 0;display:inline-block;font-weight:500;user-select:none;}
.nav-dropdown:hover,.nav-dropdown.open{opacity:1;}
.nav-dropdown-menu{display:none;position:absolute;top:100%;left:-14px;background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);border:1px solid var(--border);min-width:170px;padding:6px;z-index:60;}
.nav-dropdown.open .nav-dropdown-menu{display:block;}
.nav-dropdown-menu a{display:block;color:var(--text);padding:9px 12px;font-size:13.5px;border-radius:6px;opacity:1;font-weight:400;}
.nav-dropdown-menu a:hover{background:var(--primary-soft);text-decoration:none;}
.topbar-user{display:flex;align-items:center;gap:14px;font-size:13px;}
.topbar-user-link{display:flex;align-items:center;gap:8px;color:#fff;opacity:.9;}
.topbar-user-link:hover{opacity:1;text-decoration:none;}
.topbar-user-link small{opacity:.65;font-weight:400;}
.btn-link{color:#fff;opacity:.75;text-decoration:none;}
.btn-link:hover{opacity:1;text-decoration:underline;}

.content{max-width:1180px;margin:0 auto;padding:28px 24px 60px;}
.footer{text-align:center;color:var(--muted);font-size:12px;padding:24px;}

.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin-bottom:20px;box-shadow:var(--shadow-sm);}
.card h2, .card h3{margin-top:0;font-size:15.5px;font-weight:600;}

.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px;}
.page-header h1{margin:0;font-size:21px;font-weight:600;display:flex;align-items:center;gap:10px;}

table{width:100%;border-collapse:collapse;font-size:13.8px;}
table th, table td{padding:12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;}
table th{background:transparent;font-weight:600;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);}
table tr:last-child td{border-bottom:none;}
table tbody tr:hover{background:#fafbfd;}

.btn{display:inline-flex;align-items:center;gap:6px;background:var(--primary-light);color:#fff;border:none;border-radius:var(--radius-sm);padding:9px 16px;font-size:13.8px;font-weight:500;cursor:pointer;text-decoration:none;transition:background .15s,transform .05s;}
.btn:hover{background:#2954d4;text-decoration:none;}
.btn:active{transform:scale(.98);}
.btn-secondary{background:var(--secondary);}
.btn-success{background:var(--success);}
.btn-danger{background:var(--danger);}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text);}
.btn-outline:hover{background:#f5f6f9;}
.btn-sm{padding:6px 11px;font-size:12.5px;}

.form-group{margin-bottom:14px;}
.form-group label{display:block;margin-bottom:6px;font-size:12.5px;font-weight:600;color:var(--muted);}
.form-control{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13.8px;background:#fff;color:var(--text);transition:border-color .15s;}
.form-control:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px var(--primary-soft);}
.form-row{display:flex;gap:14px;flex-wrap:wrap;}
.form-row .form-group{flex:1;min-width:180px;}
.form-hint{font-size:12px;color:var(--muted);margin-top:4px;}

.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;color:#fff;letter-spacing:.02em;}
.badge-secondary{background:var(--secondary);}
.badge-warning{background:var(--warning);}
.badge-danger{background:var(--danger);}
.badge-success{background:var(--success);}

.alert{padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:13.8px;border:1px solid transparent;}
.alert-success{background:#ecfdf3;color:#027a48;border-color:#abefc6;}
.alert-error{background:#fef3f2;color:#b42318;border-color:#fecdca;}
.alert-warning{background:#fffaeb;color:#b54708;border-color:#fedf89;}
.alert-info{background:#eff8ff;color:#175cd3;border-color:#b2ddff;}

.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:20px;}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center;box-shadow:var(--shadow-sm);}
.stat-card .value{font-size:26px;font-weight:700;color:var(--primary);letter-spacing:-.02em;}
.stat-card .label{font-size:11.5px;color:var(--muted);margin-top:6px;text-transform:uppercase;letter-spacing:.04em;}

.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:18px;}

.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(160deg,#1e293b 0%,#111827 100%);}
.login-box{background:#fff;padding:40px 36px;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25);width:340px;}
.login-box h1{font-size:19px;font-weight:700;text-align:center;margin-bottom:4px;letter-spacing:-.02em;}
.login-box p{text-align:center;color:var(--muted);font-size:12.5px;margin-top:0;margin-bottom:26px;}

.timeline{border-left:2px solid var(--border);padding-left:20px;margin-left:6px;}
.timeline-item{position:relative;margin-bottom:22px;}
.timeline-item::before{content:'';position:absolute;left:-25px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--primary-light);box-shadow:0 0 0 3px var(--primary-soft);}
.timeline-item .meta{font-size:12px;color:var(--muted);margin-bottom:6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.timeline-item .desc{background:#fafbfd;border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px;font-size:13.5px;white-space:pre-wrap;}

.phones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;}
.phone-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;}
.phone-item label{font-size:12px;color:var(--muted);}
.checkbox-inline{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;}

.empty-state{text-align:center;padding:40px;color:var(--muted);font-size:13.5px;}
.text-muted{color:var(--muted);}
.actions-cell{white-space:nowrap;}
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(16,24,40,.45);align-items:center;justify-content:center;z-index:100;backdrop-filter:blur(2px);}
.modal-overlay.open{display:flex;}
.modal-box{background:#fff;border-radius:var(--radius);padding:26px;width:480px;max-width:92vw;max-height:90vh;overflow-y:auto;box-shadow:0 24px 70px rgba(0,0,0,.25);}
.modal-box h3{margin-top:0;}

.password-wrap{position:relative;}
.password-wrap input{padding-right:38px;}
.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:15px;padding:6px;line-height:1;opacity:.6;}
.password-toggle:hover{opacity:1;}

.notif-bell{font-size:18px;position:relative;padding:20px 4px;}
.notif-badge{position:absolute;top:12px;right:-2px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;}
.notif-menu{right:0;left:auto;width:320px;padding:0;max-height:420px;display:flex;flex-direction:column;}
.nav-dropdown.open .notif-menu{display:flex;}
.notif-header{padding:12px 14px;font-weight:600;font-size:13px;border-bottom:1px solid var(--border);color:var(--text);}
#notif-lista{overflow-y:auto;max-height:320px;}
.notif-item{display:block;padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text);}
.notif-item:hover{background:var(--primary-soft);text-decoration:none;}
.notif-item-text{font-size:13px;font-weight:500;}
.notif-item-data{font-size:11px;color:var(--muted);margin-top:2px;}
.notif-empty{padding:20px 14px;text-align:center;color:var(--muted);font-size:12.5px;}
.notif-ver-todos{display:block;text-align:center;padding:10px;font-size:12.5px;font-weight:600;border-top:1px solid var(--border);color:var(--primary-light);}

.avatar{border-radius:50%;object-fit:cover;display:inline-block;vertical-align:middle;border:1px solid var(--border);}
.avatar-placeholder{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:600;vertical-align:middle;}
