/* Camada de layout semântico e acessibilidade. */
.skip-link{position:fixed;z-index:1000;top:8px;left:8px;transform:translateY(-160%);padding:10px 14px;background:#fff;color:var(--navy);border:2px solid var(--pink);font-weight:700;text-decoration:none}.skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #ff4fb3;outline-offset:2px}
.content:focus{outline:0}.form-intro{max-width:1050px;margin:-10px 0 16px;color:var(--muted)}
.form-panel{display:block;max-width:1100px;margin:0;padding:0;background:transparent;border:0}
.form-section{min-width:0;margin:0 0 20px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:3px;box-shadow:0 1px 2px #06182a08}
.form-section legend{display:flex;align-items:center;gap:10px;padding:0 8px;color:var(--navy);font-size:18px;font-weight:700}
.form-section legend span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px}
.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;margin-top:6px}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-12{grid-column:1/-1}
.field{display:flex;min-width:0;flex-direction:column;align-items:stretch;gap:6px}.field label{display:block;color:var(--navy);font-size:12px;font-weight:700;letter-spacing:.25px;line-height:1.35;text-transform:none}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:44px}.field textarea{resize:vertical}.field small,.section-help{color:var(--muted);font-size:12px;line-height:1.45}.section-help{display:block;margin:8px 0 0}
.field-disclosure{margin-top:8px;padding:8px 10px;border:1px dashed #bdc9d5;background:#f8fafc}.field-disclosure summary{color:var(--navy);cursor:pointer;font-size:12px;font-weight:700}.field-disclosure[open] summary{margin-bottom:10px}.field-disclosure label{margin-bottom:5px}
.uniform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.uniform-card{display:grid;gap:12px;padding:16px;border:1px solid var(--line);background:#f8fafc}.uniform-card h3{margin:0;padding-bottom:8px;border-bottom:2px solid var(--pink);color:var(--navy);font-size:15px}
.authorization-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin-top:14px}.authorization-field{justify-content:space-between;padding:14px;border:1px solid var(--line);background:#f8fafc}.authorization-field label{min-height:34px}
.form-actions{position:sticky;z-index:5;bottom:0;display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding:14px 0;background:linear-gradient(transparent 0,#f4f6f8 18%,#f4f6f8 100%)}
.compact-form{display:flex;flex-wrap:wrap;align-items:end;gap:14px}.compact-form>label{display:flex;min-width:180px;flex:1 1 190px;flex-direction:column;gap:6px;color:var(--navy);font-size:12px;font-weight:700;letter-spacing:.25px;text-transform:none}.compact-form>label>input,.compact-form>label>select{width:100%;min-width:0;min-height:44px}.stack-form{display:block;max-width:1050px}.choice-group{margin:18px 0;padding:14px;border:1px solid var(--line)}.choice-group legend{padding:0 6px;color:var(--navy);font-weight:700}.choice-group label{display:flex;align-items:center;gap:8px;text-transform:none}.choice-group input[type="checkbox"],.team-choice input[type="checkbox"],.check-field input,.checks input{width:18px;min-width:18px;height:18px;min-height:18px;margin:0}.check-field{display:flex;min-height:44px;align-items:center;align-self:end;gap:8px;color:var(--navy);font-size:12px;font-weight:700;text-transform:none}.check-field span{line-height:1.3}
.schedule-section{margin-bottom:22px}.section-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}.section-heading h2{margin:0}.section-heading p{margin:5px 0 0;color:var(--muted)}.schedule-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(250px,.9fr) auto;align-items:end;gap:18px;margin:0;padding:22px}.schedule-form .field{min-width:0}.team-choice{display:flex;min-height:70px;align-items:center;gap:10px;margin:0;padding:10px 14px;border:1px solid var(--line)}.team-choice legend{padding:0 6px;color:var(--navy);font-size:12px;font-weight:700}.team-choice label{display:flex;min-width:0;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--line);background:#f8fafc;color:var(--navy);font-size:12px;font-weight:700;text-transform:none}.schedule-form>button{min-height:44px;white-space:nowrap}.participant-manager{margin:0 0 28px;padding:0}.participant-manager>summary{display:flex;justify-content:space-between;gap:18px;padding:18px 20px;cursor:pointer;color:var(--navy);font-weight:700}.participant-manager>summary small{color:var(--muted);font-weight:400}.participant-manager[open]>summary{border-bottom:1px solid var(--line)}.participant-manager form{margin:0;border:0}.manager-target{max-width:360px}.empty-state{padding:22px!important;color:var(--muted);text-align:center!important}
.table-wrap:focus-visible{outline:3px solid #ff4fb3;outline-offset:2px}.table-wrap table{margin:0}.inline-form{display:inline-flex;margin:16px 0;padding:0;border:0;background:transparent}
.alert[tabindex="-1"]:focus{outline:3px solid #ff4fb3;outline-offset:2px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.line-item>div{display:flex;flex-direction:column;gap:3px}.scale-list{padding:0 20px}.button.danger{border-color:#b42318;background:#fff;color:#b42318}.pending-assignment{display:flex;flex-wrap:nowrap;gap:8px;margin:0;padding:0;border:0;background:transparent}.pending-assignment select{min-width:210px}.pending-assignment button{padding:8px 10px}.badge{display:inline-block;padding:4px 8px;border:1px solid #aab7c4;border-radius:999px;background:#fff;color:var(--navy);font-size:11px;font-weight:700;line-height:1.2;text-transform:uppercase;white-space:nowrap}.status-ativo,.status-sim{border-color:#178552;background:#f4fcf7;color:#12663f}.status-inativo,.status-nao,.status-expirada{border-color:#c63838;background:#fff7f7;color:#a12424}.status-nao_informado{border-color:#9aa8b5;background:#f8fafc;color:#526273}.status-pendente{border-color:#d5912d;background:#fffaf0;color:#8a4b00}.status-previsto{border-color:#459774;background:#f4fcf7;color:#166340}.authorization-matrix table{min-width:1420px;table-layout:fixed}.authorization-matrix th,.authorization-matrix td{width:175px;white-space:normal}.authorization-matrix th:first-child,.authorization-matrix td:first-child{position:sticky;left:0;z-index:2;width:250px;background:#fff;box-shadow:1px 0 0 var(--line)}.authorization-matrix thead th:first-child{z-index:3;background:#f8fafc}.authorization-matrix th:last-child,.authorization-matrix td:last-child{width:80px}.authorization-expiry{display:block;margin-top:5px;color:#68778a;font-size:11px}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.panel .line-item:last-child{border-bottom:0}@media(max-width:850px){.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:1150px){.schedule-form{grid-template-columns:1fr 1fr}.team-choice{grid-column:1/-1}.schedule-form>button{justify-self:end}.span-3{grid-column:span 6}.uniform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.form-section{padding:18px 14px}.form-grid,.schedule-form{grid-template-columns:1fr;gap:14px}.schedule-form{padding:16px}.team-choice{grid-column:1;flex-wrap:wrap}.schedule-form>button{width:100%;justify-self:stretch}.participant-manager>summary{flex-direction:column;gap:3px}.span-3,.span-4,.span-6,.span-12{grid-column:1}.uniform-grid,.authorization-grid{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions .button,.form-actions button{flex:1;text-align:center}.authorization-field label{min-height:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
