@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--navy:#101e31;--blue:#168af0;--ink:#1d2939;--muted:#667085;--line:#e8edf3;--bg:#f5f7fb}
*{font-family:Inter,system-ui,sans-serif}body{background:var(--bg);color:var(--ink);font-size:14px}.app-shell{min-height:100vh}.sidebar{width:248px;background:var(--navy);color:#fff;position:fixed;inset:0 auto 0 0;padding:25px 16px;display:flex;flex-direction:column;z-index:10}.brand,.login-brand{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:800;color:#fff;text-decoration:none;padding:0 9px 35px}.brand-icon{width:34px;height:34px;background:#3d70ee;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:#fff}.brand-light{color:#8eafff}.nav-caption{font-size:10px;letter-spacing:1.2px;color:#8493a8;font-weight:700;margin:18px 10px 9px}.nav-link-custom{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:8px;color:#b9c5d5;text-decoration:none;margin:2px 0;font-weight:500}.nav-link-custom i{font-size:17px}.nav-link-custom:hover,.nav-link-custom.active{background:#263b59;color:#fff}.nav-link-custom.active{box-shadow:inset 3px 0 #6e98ff}.sidebar-bottom{margin-top:auto;border-top:1px solid #34445a;padding-top:17px}.user-mini{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;background:#344f78;display:grid;place-items:center;font-weight:700}.user-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.user-mini small{font-size:10px;color:#9eacbf}.btn-logout{border:0;background:transparent;color:#b9c5d5;font-size:18px}.main-area{margin-left:248px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:91px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px}.topbar-kicker{font-size:9px;letter-spacing:1.4px;color:#98a2b3;font-weight:700}.topbar h1{font-size:20px;margin:3px 0 0;font-weight:700}.topbar-date{color:#667085;font-size:12px}.content-area{padding:29px 34px;flex:1}.footer{padding:16px 34px;color:#98a2b3;font-size:11px;border-top:1px solid var(--line);background:#fff}.footer span{padding:0 5px}.welcome-row,.page-actions{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:16px}.welcome-row h2{font-size:18px;font-weight:700;margin:0 0 5px}.welcome-row p,.page-description{color:var(--muted);margin:0;font-size:12px}.btn{border-radius:7px;font-size:12px;font-weight:600;padding:9px 14px}.btn-primary{background:#356ae6;border-color:#356ae6}.btn-primary:hover{background:#2859c8}.stat-card,.panel{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 2px 8px rgba(16,24,40,.025)}.stat-card{padding:19px 20px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#667085;font-size:11px;font-weight:600}.stat-icon{width:35px;height:35px;border-radius:9px;display:grid;place-items:center;font-size:17px}.stat-icon.blue{background:#edf3ff;color:#356ae6}.stat-icon.green{background:#e9f8f0;color:#12a36b}.stat-icon.purple{background:#f3edff;color:#805ad5}.stat-icon.orange{background:#fff3e8;color:#e58a32}.stat-value{font-size:27px;font-weight:800;margin:12px 0 3px}.stat-foot{font-size:10px;color:#98a2b3}.panel{padding:20px;margin-bottom:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.panel-heading h3,.section-heading h3{font-size:14px;font-weight:700;margin:0}.panel-heading p,.section-heading p{font-size:11px;color:#98a2b3;margin:4px 0 0}.link-primary{font-size:11px;text-decoration:none;font-weight:600}.table{font-size:12px;margin:0}.table thead th{font-size:9px;letter-spacing:.7px;color:#98a2b3;font-weight:700;border-bottom:1px solid var(--line);padding:12px 10px}.table tbody td{padding:13px 10px;border-color:#f0f2f6}.table-primary{font-weight:600;color:#26354b}.status-pill{display:inline-block;border-radius:20px;background:#eaf7ef;color:#168653;padding:4px 9px;font-size:10px;font-weight:600}.empty-state{text-align:center;color:#98a2b3;padding:35px!important}.empty-state i{display:block;font-size:24px;margin-bottom:8px}.empty-state strong,.empty-state span{display:block}.search-bar{display:flex;gap:9px;margin-bottom:15px}.search-input{height:38px;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;padding:0 11px;gap:8px;flex:1;max-width:440px;color:#98a2b3}.search-input input{border:0;outline:0;width:100%;font-size:12px}.result-count{font-size:10px;color:#98a2b3;display:block;margin-top:7px}.pagination-wrap{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;color:#98a2b3;font-size:11px}.form-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.back-link{font-size:12px;text-decoration:none;color:#667085}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px}.form-main .panel{padding:22px}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.section-icon{width:36px;height:36px;border-radius:9px;background:#edf3ff;color:#356ae6;display:grid;place-items:center;font-size:17px}.section-icon.violet{background:#f3edff;color:#805ad5}.form-label{font-size:11px;font-weight:600;color:#475467;margin-bottom:6px}.required:after{content:' *';color:#e05252}.form-control,.form-select{font-size:12px;border-color:#e2e7ef;border-radius:7px;min-height:39px}.form-control:focus,.form-select:focus{border-color:#8eafff;box-shadow:0 0 0 3px #edf3ff}.contact-row{display:grid;grid-template-columns:140px minmax(150px,1fr) minmax(130px,.8fr) 95px;gap:10px;align-items:end;border-top:1px solid #f0f2f6;padding:14px 0}.contact-remove{padding-bottom:7px}.remove-check{font-size:10px;color:#c04444}.contact-empty{background:#fafbfc;border:1px dashed #dfe5ed;border-radius:8px;text-align:center;padding:25px;color:#98a2b3;font-size:11px}.contact-empty i{display:block;font-size:22px;margin-bottom:6px}.side-title{font-size:13px;font-weight:700;margin-bottom:18px}.side-item{display:flex;gap:9px;color:#667085;font-size:10px;margin:14px 0;line-height:1.5}.side-item i{color:#356ae6;font-size:15px}.bottom-actions{display:flex;justify-content:flex-end;gap:9px;margin:18px 0 5px}.module-placeholder{text-align:center;padding:70px 25px}.placeholder-icon{font-size:35px;color:#356ae6;margin-bottom:15px}.module-placeholder h2{font-size:20px}.module-placeholder p{max-width:520px;margin:10px auto 22px;color:#667085;font-size:12px;line-height:1.8}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 20%,#e6edff,transparent 35%),#f5f7fb}.login-card{background:#fff;width:min(100%,420px);padding:38px;border:1px solid var(--line);border-radius:15px;box-shadow:0 15px 50px #243a5b12}.login-brand{color:var(--navy);padding:0;font-size:22px}.login-foot{border-top:1px solid var(--line);margin-top:25px;padding-top:17px;text-align:center;color:#98a2b3;font-size:10px}@media(max-width:900px){.sidebar{width:70px;padding:20px 10px}.brand{padding:0 7px 30px;font-size:0}.brand-icon{flex-shrink:0}.nav-caption,.nav-link-custom:not(i){font-size:0}.nav-link-custom{justify-content:center;padding:12px}.nav-link-custom i{font-size:19px}.sidebar-bottom .user-mini>div:nth-child(2),.btn-logout{display:none}.main-area{margin-left:70px}.form-grid{grid-template-columns:1fr}.form-side{order:-1}}@media(max-width:600px){.topbar{padding:0 17px;height:76px}.content-area{padding:18px 14px}.footer{padding:14px}.welcome-row,.page-actions{align-items:flex-start;flex-direction:column}.contact-row{grid-template-columns:1fr 1fr}.contact-row>div:nth-child(3){grid-column:1}.form-toolbar{align-items:flex-start;gap:10px;flex-direction:column}.panel{padding:15px}.topbar-date{display:none}}


/* Identidade visual TARDIGSYS */
.brand.brand--logo{display:flex;align-items:center;justify-content:center;width:100%;padding:7px;background:#fff;border-radius:13px;margin-bottom:23px;box-shadow:0 6px 15px rgba(0,0,0,.1);text-decoration:none;min-height:126px}
.brand-logo{display:block;width:100%;height:auto;max-height:132px;object-fit:contain}
.login-brand.login-brand--logo{display:flex;justify-content:center;align-items:center;padding:0;margin:0 0 10px;max-width:none}
.login-logo{width:min(100%,290px);height:auto;display:block;object-fit:contain}
.login-card .text-secondary.mt-3{margin-top:5px!important;text-align:center}
.login-card{width:min(100%,450px)}
@media(max-width:900px){.sidebar{width:82px;padding:18px 8px}.brand.brand--logo{padding:3px;border-radius:8px;min-height:51px;margin-bottom:16px}.brand-logo{max-height:64px}.main-area{margin-left:82px}}
@media(max-width:600px){.login-logo{width:min(100%,260px)}}


/* TARDIGSYS — correção de rolagem do menu lateral (04/11/2026)
   O menu e o rodapé podem ser alcançados mesmo em telas de pouca altura. */
.sidebar {
    height: 100vh;
    height: 100dvh;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #60748e transparent;
}
.sidebar::-webkit-scrollbar { width: 7px; }
.sidebar::-webkit-scrollbar-thumb { background: #60748e; border-radius: 8px; }
.sidebar > .brand,
.sidebar > .nav-caption,
.sidebar > .nav-link-custom,
.sidebar > .sidebar-bottom { flex-shrink: 0; }
.sidebar .sidebar-bottom { padding-bottom: 5px; }
.sidebar .nav-link-custom { min-height: 41px; }
@media (max-width: 900px) {
    .sidebar .nav-link-custom { min-height: 43px; }
}
