.db-state{color:#54705f;align-items:center;gap:7px;font-size:.72rem;font-weight:700;display:flex}.db-state i{background:#2e9b65;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #2e9b6518}.primary:disabled,.confirm:disabled{opacity:.6;cursor:wait}@media (max-width:430px){.db-state{display:none}}.absence-person{justify-content:space-between;align-items:center;gap:12px;display:flex}.absence-person .status{flex:none}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.team-card{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:17px;padding:23px;display:flex;box-shadow:0 5px 22px #15324e08}.team-symbol{color:#174f84;background:#e8f1fa;border-radius:13px;flex:0 0 50px;place-items:center;width:50px;height:50px;display:grid}.team-2{color:#247550;background:#e8f6ef}.team-3{color:#936307;background:#fff2d9}.team-4{color:#5d4d99;background:#ebe9f7}.team-5{color:#52687c;background:#edf1f5}.team-card span{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.7rem;font-weight:750}.team-card h3{margin:4px 0 7px;font-size:1.08rem}.team-card p{color:var(--muted);margin:0;font-size:.82rem}.team-card p b{color:var(--ink)}@media (max-width:1050px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.team-grid{grid-template-columns:1fr}}.stat-link{text-align:left;cursor:pointer;width:100%;transition:transform .16s,box-shadow .16s}.stat-link:hover{transform:translateY(-2px);box-shadow:0 10px 28px #15324e14}.officer-form,.timeoff-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.officer-form label>span,.timeoff-form label>span{color:#5a6b7e;margin-bottom:7px;font-size:.76rem;font-weight:700;display:block}.officer-form input,.officer-form select,.timeoff-form input,.timeoff-form select{border:1px solid var(--line);width:100%;height:43px;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:0 12px;font-size:.86rem}.absence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.absence-card{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.absence-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:19px 20px;display:flex}.absence-head span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:700}.absence-head h3{margin:4px 0 0}.absence-head>b{width:34px;height:34px;color:var(--primary);background:#eaf2fa;border-radius:50%;place-items:center;display:grid}.absence-list{padding:5px 20px}.absence-list>div{border-bottom:1px solid var(--line);padding:14px 0}.absence-list>div:last-child{border-bottom:0}.absence-list strong,.absence-list span,.absence-list small{display:block}.absence-list span,.absence-list small{color:var(--muted);margin-top:4px;font-size:.76rem}.empty-state{color:var(--muted);margin:0;padding:24px 20px;font-size:.84rem}.timeoff-summary{grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0;display:grid}.total-credit{padding:20px}.total-credit span,.total-credit strong,.total-credit small{display:block}.total-credit span{color:var(--muted);font-size:.78rem}.total-credit strong{margin:4px 0;font-size:2rem}.total-credit small{color:var(--muted)}@media (max-width:950px){.officer-form,.timeoff-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.absence-grid,.timeoff-summary,.officer-form,.timeoff-form{grid-template-columns:1fr}.stat-link:hover{transform:none}}.schedule-note{color:var(--muted);margin:-4px 24px 20px;font-size:.74rem}.engaged-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.engaged-card{align-items:flex-start;gap:15px;padding:20px;display:flex}.engaged-avatar{color:#23744d;background:#e7f5ed;border-radius:12px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.engaged-card span,.engaged-card small{color:var(--muted);font-size:.76rem;display:block}.engaged-card h3{margin:4px 0 12px;font-size:1rem}.engaged-card p{color:var(--ink);margin:0 0 6px;font-size:.88rem}.empty-panel{text-align:center;color:var(--muted);padding:42px}.empty-panel svg{color:#6b8296}.empty-panel h3{color:var(--ink);margin:12px 0 6px}.empty-panel p{margin:0}@media (max-width:700px){.engaged-grid{grid-template-columns:1fr}.schedule-note{margin-left:18px;margin-right:18px}}.mission-card{grid-template-columns:112px 1fr 190px}.date-block strong{white-space:nowrap;margin-top:5px;font-size:1rem}.date-block span{text-transform:uppercase;letter-spacing:.05em;font-size:.68rem}.mission-info .mission-duration{color:#4f657b;align-items:center;gap:5px;margin-top:7px;display:flex}.mission-duration b{color:var(--ink);font-weight:700}.mini-date b,.mini-date span,.mini-date small{display:block}.mini-date span{color:var(--primary)}.mini-date small{color:var(--muted);margin-top:2px;font-size:.68rem}.row-duration{color:var(--muted);margin-top:5px;font-size:.74rem;display:block}@media (max-width:1050px){.mission-card{grid-template-columns:104px 1fr}}@media (max-width:740px){.mission-card{grid-template-columns:92px 1fr}.date-block strong{font-size:.85rem}}.team-card-button{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.team-card-button:hover{border-color:#aac3da;transform:translateY(-2px);box-shadow:0 10px 28px #15324e14}.team-card-button.selected{border-color:var(--primary);box-shadow:0 0 0 3px #174f8412}.team-detail{margin-top:20px;overflow:hidden}.team-detail .panel-head{height:auto;min-height:68px}.team-detail .panel-head span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:700;display:block}.team-detail .panel-head h3{margin-top:4px}.team-roster{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 20px;display:grid}.team-roster>div{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 8px;display:grid}.roster-avatar{width:38px;height:38px;color:var(--primary);background:#eaf2fa;border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid}.team-roster strong,.team-roster span{display:block}.team-roster span{color:var(--muted);margin-top:3px;font-size:.76rem}.edit-button{border:1px solid var(--line);color:var(--primary);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-size:.76rem;font-weight:750;display:inline-flex}.edit-button:hover{background:#f2f7fb}.edit-heading{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.edit-heading span{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:750;display:block}.edit-heading h3{margin:4px 0 0}.edit-heading .icon-button{cursor:pointer}@media (max-width:900px){.team-roster{grid-template-columns:1fr}}@media (max-width:620px){.team-roster{padding:6px 12px}.team-roster>div{grid-template-columns:40px minmax(0,1fr) auto}.team-roster .status{grid-column:2}.team-roster .edit-button{grid-area:1/3/3}.team-card-button:hover{transform:none}}.dashboard-actions{justify-content:flex-end;margin-bottom:18px;display:flex}.team-card-copy{flex:1;min-width:0}.team-card-action{white-space:nowrap;flex:none;color:var(--primary)!important;font-size:.68rem!important}.team-card-button:focus-visible{outline-offset:2px;outline:3px solid #77a9d5}@media (max-width:620px){.dashboard-actions .primary{width:100%}.team-card{align-items:flex-start}.team-card-action{align-self:center}}.team-detail-page{margin-top:0}.install-app{color:var(--primary);cursor:pointer;white-space:nowrap;background:#f5f9fc;border:1px solid #c9d8e6;border-radius:10px;align-items:center;gap:7px;height:40px;padding:0 12px;font-size:.76rem;font-weight:750;display:inline-flex}.install-app:hover{background:#eaf2f8}@media (max-width:620px){.install-app{justify-content:center;width:40px;padding:0}.install-app span{display:none}}.dashboard-mission{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.dashboard-mission:last-child{border-bottom:0}.dashboard-mission>div{min-width:0}.dashboard-mission span:first-child{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:800;display:block}.dashboard-mission h4{margin:4px 0 5px}.dashboard-mission p,.dashboard-mission small{color:var(--muted);margin:0;font-size:.76rem;line-height:1.45;display:block}.dashboard-mission-empty{border-bottom:1px solid var(--line);color:var(--muted);margin:0;padding:17px 20px;font-size:.82rem}.officer-picker label{grid-template-columns:16px minmax(0,1fr);align-items:center;column-gap:10px;display:grid}.officer-picker input[type=checkbox]{-webkit-appearance:auto;appearance:auto;align-self:start;width:15px;height:15px;margin:2px 0 0}.officer-picker label>span{text-align:left;overflow-wrap:anywhere;min-width:0;line-height:1.3;display:block}.officer-picker label>span small{line-height:1.25}@media (max-width:740px){.officer-picker label{min-height:48px;padding:9px 10px}.dashboard-mission{align-items:flex-start}.dashboard-mission .status{flex:none}}.whatsapp-button{color:#176b3a;cursor:pointer;white-space:nowrap;background:#ecf8f1;border:1px solid #b8ddc8;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:.76rem;font-weight:750;display:inline-flex}.whatsapp-button:hover{background:#dcf2e6}.folga-balance{background:#f4f8fc;border:1px solid #c9d8e6;border-radius:10px;flex-direction:column;justify-content:center;padding:11px 13px;display:flex}.folga-balance span,.folga-balance small{color:var(--muted);font-size:.72rem}.folga-balance strong{color:var(--primary);margin:2px 0;font-size:1rem}.roster-absent{background:#fff8ea}.roster-absent .roster-avatar{color:#936307;background:#fff0ce}.form-help{color:var(--muted);margin:-10px 0 18px;font-size:.82rem}.swap-form{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;display:grid}.swap-form label>span{color:#5a6b7e;margin-bottom:7px;font-size:.76rem;font-weight:700;display:block}.swap-form input,.swap-form select{border:1px solid var(--line);width:100%;height:43px;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:0 12px;font-size:.86rem}.swap-list{gap:13px;display:grid}.swap-card{grid-template-columns:minmax(0,1.5fr) minmax(230px,.8fr) auto;align-items:center;gap:22px;padding:20px;display:grid}.swap-people{grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;display:grid}.swap-people>div,.swap-period{min-width:0}.swap-people span,.swap-people strong,.swap-people small,.swap-period span,.swap-period strong,.swap-period small{display:block}.swap-people span,.swap-period span{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);font-size:.68rem;font-weight:800}.swap-people strong,.swap-period strong{margin:4px 0;font-size:.88rem}.swap-people small,.swap-period small{color:var(--muted);font-size:.75rem;line-height:1.4}.swap-people>svg{color:var(--primary)}@media (max-width:1050px){.swap-form{grid-template-columns:repeat(2,minmax(0,1fr))}.swap-card{grid-template-columns:1fr auto}.swap-period{grid-column:1}}@media (max-width:700px){.swap-form{grid-template-columns:1fr}.swap-card{grid-template-columns:1fr;padding:16px}.swap-period{grid-column:auto}.swap-card>.status{justify-self:start}.swap-people{gap:9px}.swap-people strong{font-size:.8rem}}.form-actions-split{justify-content:space-between;align-items:center}.form-actions-split>div{gap:10px;display:flex}.danger-button{color:#a42c2c;cursor:pointer;background:#fff3f3;border:1px solid #e0b4b4;border-radius:10px;padding:11px 17px;font-weight:700}.danger-button:hover{background:#ffe7e7}.danger-button:disabled{opacity:.6;cursor:wait}@media (max-width:620px){.form-actions-split{flex-direction:column-reverse;align-items:stretch}.form-actions-split>div{grid-template-columns:1fr 1fr;display:grid}.danger-button{width:100%}}.absence-edit-button{margin-top:11px}.folga-edit-help{color:#7b641e;margin:14px 0 0}.mission-search-toolbar{align-items:flex-end}.mission-search-toolbar .search{flex:1}.date-range-filter{align-items:flex-end;gap:10px;display:flex}.date-range-filter label{gap:5px;display:grid}.date-range-filter label span{color:var(--muted);font-size:.7rem;font-weight:700}.date-range-filter input{border:1px solid var(--line);min-width:145px;height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:0 11px;font-size:.82rem}.date-range-filter button{border:1px solid var(--line);height:44px;color:var(--primary);cursor:pointer;white-space:nowrap;background:#fff;border-radius:10px;padding:0 13px;font-size:.76rem;font-weight:750}@media (max-width:920px){.mission-search-toolbar{align-items:stretch}.date-range-filter{grid-template-columns:1fr 1fr auto;display:grid}.date-range-filter input{width:100%;min-width:0}}@media (max-width:620px){.date-range-filter{grid-template-columns:1fr 1fr}.date-range-filter button{grid-column:1/-1;width:100%}}.page-actions{align-items:center;gap:10px;display:flex}.pdf-button{white-space:nowrap;justify-content:center;align-items:center;gap:7px;display:inline-flex}.mission-search-toolbar>.pdf-button{height:44px}@media (max-width:740px){.page-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.page-actions .primary,.page-actions .secondary,.mission-search-toolbar>.pdf-button{width:100%}}@media (max-width:430px){.page-actions{grid-template-columns:1fr}}.absence-edit-button{display:none}.timeoff-tabs{border:1px solid var(--line);background:#edf3f8;border-radius:11px;gap:4px;margin:0 0 14px;padding:4px;display:inline-flex}.timeoff-tabs button{min-height:39px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 17px;font-size:.82rem;font-weight:750}.timeoff-tabs button.active{color:var(--primary);background:#fff;box-shadow:0 2px 8px #15324e18}.timeoff-tabs button:focus-visible{outline-offset:1px;outline:3px solid #77a9d5}@media (max-width:620px){.timeoff-tabs{grid-template-columns:1fr 1fr;width:100%;display:grid}.timeoff-tabs button{height:auto;padding:8px 10px;line-height:1.25}}.auth-screen{color:#12263a;background:radial-gradient(circle at 20% 10%,#234d75 0,#0000 34%),linear-gradient(145deg,#081827,#0d2942 58%,#153e61);place-items:center;min-height:100dvh;padding:24px;font-family:Arial,sans-serif;display:grid}.auth-card{background:#fff;border:1px solid #ffffff26;border-radius:18px;width:min(100%,430px);padding:32px;box-shadow:0 24px 70px #0006}.auth-brand{border-bottom:1px solid #dde6ee;align-items:center;gap:15px;padding-bottom:22px;display:flex}.auth-brand img{object-fit:contain;border-radius:14px;width:68px;height:68px}.auth-brand span{color:#607287;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:750;display:block}.auth-brand h1{color:#0b2742;letter-spacing:.03em;margin:4px 0 0;font-size:1.75rem}.auth-copy{padding:24px 0 18px}.auth-copy h2{margin:0 0 8px;font-size:1.25rem}.auth-copy p{color:#65768a;margin:0;font-size:.9rem;line-height:1.55}.auth-card form{gap:15px;display:grid}.auth-card label span{color:#42566c;margin-bottom:7px;font-size:.8rem;font-weight:750;display:block}.auth-card input{color:#14283b;width:100%;height:48px;font:inherit;background:#fafdff;border:1px solid #cddae5;border-radius:10px;outline:0;padding:0 13px;font-size:.95rem}.auth-card input:focus{border-color:#2f76ad;box-shadow:0 0 0 3px #2f76ad1f}.auth-card form button{color:#fff;height:48px;font:inherit;cursor:pointer;background:#124f7f;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:flex}.auth-card form button:hover{background:#0d426c}.auth-card form button:disabled{opacity:.65;cursor:wait}.auth-card>small{text-align:center;color:#7b8998;margin-top:20px;font-size:.75rem;display:block}.auth-error{color:#9e2929;background:#fff1f1;border:1px solid #efc2c2;border-radius:9px;margin:0;padding:10px 12px;font-size:.82rem}.auth-loading{color:#173b5d;background:#fff;border-radius:13px;align-items:center;gap:12px;padding:20px 24px;font-weight:750;display:flex;box-shadow:0 15px 40px #0004}.auth-logout{z-index:120;color:#224760;height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #c9d7e3;border-radius:10px;align-items:center;gap:7px;padding:0 13px;font-size:.78rem;font-weight:800;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #102d461f}.auth-logout:hover{background:#edf5fa}@media (max-width:520px){.auth-card{padding:24px 20px}.auth-brand img{width:58px;height:58px}.auth-logout{justify-content:center;width:42px;padding:0;bottom:12px;right:12px}.auth-logout span{display:none}}
