/* Identidade F.A.L.T — Fluxo de Acesso e Liberação TES: paleta TES preservada. */
:root{
  --brand-green:#199f7c;
  --brand-turquoise:#5ebfb5;
  --brand-blue:#1581bc;
  --brand-gradient:linear-gradient(35deg,var(--brand-green) 0%,var(--brand-turquoise) 40%,var(--brand-turquoise) 65%,var(--brand-blue) 100%);
  --blue:#08748a;
  --navy:#073e4a;
  --muted:#587b80;
  --line:#d9e9e7;
  color:#173f46;
  background:#f2f8f7;
}
.sidebar{background:var(--brand-gradient);color:#082e35}
.brand{background:transparent;padding:12px;border-radius:0}
.nav-label{color:#163f49}
nav a{color:#103a44}
nav a:hover{background:#ffffff38}
nav a.active{background:#074658;color:#fff;box-shadow:inset 3px 0 #adede0}
.sidebar-foot{border-color:#12495338}
.sidebar-foot p,.sidebar-foot>span{color:#123e46}
.shield{color:#064956}
.logout-btn{color:#073c45}
.demo{background:#e5f4f0;border-color:#d1e9e4;color:#406b70}
.demo span{color:#096779}
.topbar{border-bottom-color:var(--line)}
.breadcrumb b{color:#245761}
.avatar{background:#e1f5ef;color:#096d73}
.btn{border-color:#c8e2df;color:#20545b}
.btn.primary{background:var(--brand-gradient);border-color:#269e9e;color:#fff;box-shadow:0 3px 8px #0b7a731c}
.btn.primary:hover{filter:brightness(1.04)}
.stat-icon{background:#e4f5f1;color:#087b86}
.stat label{color:#456c73}
.stat small{color:#68868b}
.stat-icon.green{background:#e4f7ef;color:var(--green)}
.stat-icon.red{background:#fff0f2;color:var(--red)}
.stat-icon.amber{background:#fff5df;color:var(--amber)}
.track{background:#e7f2ef}
.track span{background:var(--brand-gradient)}
.legend i{background:#1581bc}
.legend i.green{background:#199f7c}
.panel-head{border-bottom-color:#eef5f3}
th{background:#f3f9f7;color:#4f7279}
td{border-bottom-color:#e8f1ee;color:#365f66}
td b{color:#204c54}
.panel-foot{background:#f8fcfa;color:#5d7d80}
.badge{background:#e4f4f3;color:#096d78}
.badge.green{background:#e6f7ef;color:#05865e}
.badge.red{background:#ffebef;color:#c42e47}
.badge.amber{background:#fff5df;color:#a77008}
.segmented button.active{background:#def2ed;color:#096e76}
input,select,textarea{border-color:#cce2df;color:#21515a}
input:focus,select:focus,textarea:focus{outline-color:#ade2d8;border-color:#218e97}
.person-option:hover,.person-option.selected{background:#ebf8f3;border-color:#5db9ae}
.steps{border-color:var(--line)}
.step span{background:#e8f3ef;color:#5a8586}
.step.active span{background:var(--brand-gradient);color:#01232a}
.note{background:#eaf7f3;border-color:#d0ebe4;color:#356d72}
.note.warning{background:#fff8ea;border-color:#f4e3bc;color:#946a22}
.summary{background:#f0f8f5}
.batch-chip{background:#e8f6f0;border-color:#afdacc;color:#206363}
.import-drop{background:#f1faf6;border-color:#8fcbbc}
.tabs button.active{color:#086c7a;border-bottom-color:#168e92}
#toast{background:#07525e}
.login-page{background:#eff8f5}
.login-brand{
  background-color:#156c70;
  background-image:linear-gradient(35deg,rgba(10,111,86,.89) 0%,rgba(22,105,107,.82) 50%,rgba(9,81,127,.86) 100%),url('/terminal-login.png');
}
.login-eyebrow{color:#b3f2e4}
.login-welcome p,.login-welcome .login-product-description{color:#edf9f5}
.login-benefits{color:#effbf7}
.login-benefits svg{stroke:#a2f0db}
.login-tag{color:#477b7d}
.login-fields input:disabled{background:#f4f9f7}
.login-security{color:#527d7d}
.btn.danger{color:#bb3048;border-color:#edc2cc;background:#fff}
.btn.danger-solid{color:#fff;border-color:#bb3048;background:#bb3048}
.sidebar-foot,.sidebar-foot .logout-btn,.sidebar-foot .shield,.sidebar-foot p,.sidebar-foot>span{color:#fff}

/* Checkbox animation adapted from Uiverse.io by SelfMadeSystem. */
.animated-check{position:relative;display:inline-flex;width:20px;height:20px;flex:0 0 20px;align-items:center;justify-content:center;margin:2px;cursor:pointer}
.animated-check input[type=checkbox]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;z-index:1;cursor:inherit}
.animated-check svg{width:18px;height:18px;overflow:visible;pointer-events:none}
.checkbox-path{fill:none;stroke:#000;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;transition:stroke-dasharray .5s ease,stroke-dashoffset .5s ease;stroke-dasharray:241 9999999;stroke-dashoffset:0}
.animated-check input:checked~svg .checkbox-path{stroke-dasharray:70.5096664428711 9999999;stroke-dashoffset:-262.2723388671875}
.animated-check input:focus-visible~svg{outline:2px solid #000;outline-offset:5px;border-radius:2px}
.animated-check:has(input:disabled){opacity:.35;cursor:not-allowed}
.radio-control{display:inline-flex;flex-shrink:0}
@media(prefers-reduced-motion:reduce){.checkbox-path{transition:none}}

/* Explicit control styles override general form/label rules. */
.field label.person-option{display:flex;align-items:center;gap:14px;margin:0;padding:14px;font-weight:400}
.person-option .person-copy{min-width:0;flex:1}
.person-option .badge{flex-shrink:0}
.field label.vehicle-check{display:flex;align-items:center;gap:12px}
.animated-check{width:24px;height:24px;flex-basis:24px}
.animated-check input:is([type=checkbox],[type=radio]){
  appearance:none;-webkit-appearance:none;position:absolute;inset:0;
  width:100%;height:100%;padding:0;margin:0;border:0;border-radius:0;
  background:transparent;box-shadow:none;opacity:0;z-index:1;cursor:inherit;
}
.animated-check svg{display:block;width:22px;height:22px;overflow:visible}
.animated-check input:checked~svg .checkbox-path{stroke-dasharray:70.5096664428711 9999999;stroke-dashoffset:-262.2723388671875}
.animated-check input:focus-visible~svg{outline:2px solid #000;outline-offset:5px}

.employee-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.delete-person{color:#bb3048}.course-edit-row{display:flex;align-items:end;gap:10px;margin:12px 0}.course-edit-row label{flex:1;min-width:0;font-size:12px}.course-edit-row input{margin-top:6px}.course-edit-row button{margin-bottom:3px}dialog{max-height:90vh;overflow-y:auto}
.course-edit-row label:first-child{flex:2}.course-edit-row select{width:100%;margin-top:6px}.course-rule-field{min-width:0;margin:24px 0 18px;padding:18px;border:1px solid var(--line);border-radius:12px}.course-rule-field legend{padding:0 8px;font-weight:600}.course-rule-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.course-rule-option{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:var(--surface);color:var(--ink)}.course-rule-option input{flex:0 0 auto;accent-color:#199f7c;margin-top:3px}.course-rule-option span{line-height:1.5}.course-catalog-panel{margin-bottom:24px}.course-catalog-list{display:flex;flex-wrap:wrap;gap:10px}.service-copy b,.service-copy small{overflow-wrap:anywhere}
@media(max-width:640px){.course-rule-options{grid-template-columns:1fr}.course-edit-row{flex-wrap:wrap;align-items:flex-end;gap:12px}.course-edit-row label:first-child{flex-basis:100%}}
.preview-role{position:fixed;right:22px;bottom:22px;z-index:100;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:0 10px 32px #073e4a33;display:flex;align-items:center;gap:10px}.preview-role label{font-size:12px;font-weight:700;color:var(--muted)}.preview-role select{width:auto;padding:8px}@media(max-width:600px){.preview-role{left:12px;right:12px;bottom:12px;justify-content:center}}

/* Service selection follows the existing TES palette. */
.services-field{margin:24px 0 0;padding:22px;border:1px solid #cce3e4;border-radius:14px;background:#f6fbfa;min-width:0}
.services-field[hidden]{display:none!important}
.services-field legend{padding:0 8px;font-weight:700;color:#084b59;font-size:1.05rem}
.services-help{margin:0 0 16px;color:#537482;font-size:.9rem}
.service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.service-card{position:relative;cursor:pointer;display:block;min-width:0}
.service-card input{position:absolute;opacity:0;width:1px;height:1px}
.service-card-body{display:flex;align-items:center;gap:12px;padding:17px 14px;border:1px solid #d2e5e7;border-radius:12px;background:white;min-height:90px;transition:background .15s,border-color .15s,box-shadow .15s}
.service-symbol{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:12px;background:#edf7f5;color:#168c84;font-size:1.4rem;isolation:isolate}
.service-icon{display:block;width:36px;height:36px;object-fit:contain;filter:contrast(8);mix-blend-mode:multiply}
[data-theme=dark] .service-icon{filter:contrast(8) invert(1);mix-blend-mode:screen}
.service-copy{flex:1;min-width:0}.service-copy b{display:block;font-size:.95rem;color:#104e5c}.service-copy small{display:block;margin-top:5px;font-size:.85rem;line-height:1.4;color:#527683}
.service-tick{border:1px solid #b9d4d7;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;color:transparent;flex-shrink:0}
.service-card input:checked+.service-card-body{border-color:#199f7c;background:#e9f8f2;box-shadow:0 0 0 1px #199f7c}
.service-card input:checked+.service-card-body .service-tick{background:#199f7c;color:white;border-color:#199f7c}
.service-card input:focus-visible+.service-card-body{outline:3px solid #1581bc;outline-offset:3px}
.service-card:hover .service-card-body{border-color:#199f7c}.services-foot{font-size:.8rem;color:#527683;margin:16px 0 0}
@media(max-width:640px){.service-options{grid-template-columns:1fr}.services-field{padding:16px}}

.confirmation-person{padding:18px 16px 0}.confirmation-person h3{font-size:1rem;margin:0 0 14px;color:#104e5c}
.confirmation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:0 0 20px}.confirmation-grid dt{font-size:.85rem;color:#567785;margin-bottom:4px}.confirmation-grid dd{margin:0;font-size:1rem;color:#104e5c;font-weight:600;overflow-wrap:anywhere}
.confirmation-vehicle{border-top:1px solid #d2e5e7;padding-top:16px;margin-top:8px}.confirmation-vehicle p{color:#567785;margin:0 0 20px}
@media(max-width:580px){.confirmation-grid{grid-template-columns:1fr}}

/* Clear metadata rows and aligned vehicle prompt. */
.person-option .person-copy{display:flex;flex-direction:column;gap:4px;line-height:1.45}
.person-option .person-copy small{display:block;white-space:normal;overflow-wrap:anywhere}
label.vehicle-check{display:flex;align-items:center;gap:10px;line-height:1.5;cursor:pointer}
label.vehicle-check .animated-check{margin:0;align-self:center;flex-shrink:0}

.new-person-documents{border-top:1px solid #d2e5e7;margin-top:24px;padding-top:20px}.new-person-documents h3{color:#104e5c;margin-bottom:16px}

.cards .stat-icon svg{display:block;flex-shrink:0;width:30px;height:30px}
