.portal-header{border-bottom:1px solid var(--line)}.portal-footer{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;font-size:12px}.portal-shell{max-width:1240px;margin:auto;padding:42px 5% 70px}.portal-top{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:32px}.portal-top h1{font-size:40px;letter-spacing:-1.5px;margin-bottom:12px}.portal-top p{margin:0;color:var(--muted)}.portal-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:26px;align-items:start}.portal-box{background:#fffef9;border:1px solid var(--line);padding:28px;border-radius:12px}.portal-box h2{font-size:25px;letter-spacing:-.7px;margin-bottom:14px}.portal-box h3{font-size:19px}.portal-box p{font-size:14px;color:var(--muted)}.portal-box+.portal-box{margin-top:22px}.portal-button{border-radius:7px;justify-content:center!important;min-height:46px}.portal-secondary{background:transparent;color:var(--ink)}.portal-muted{font-size:12px;color:var(--muted);line-height:1.6}.portal-badge{display:inline-block;border-radius:30px;padding:7px 12px;font-size:12px;background:#eef0e8;line-height:1.5}.portal-badge.confirmada,.portal-badge.adimplente{background:#e3f1dc;color:#284b23}.portal-badge.solicitada,.portal-badge.a_verificar{background:#fff0ca;color:#6f5014}.portal-badge.recusada,.portal-badge.inadimplente{background:#f8e3dc;color:#8a3525}.portal-badge.cancelada{background:#eee;color:#555}.portal-definition{display:grid;gap:15px;margin:20px 0}.portal-definition div{display:grid;gap:5px}.portal-definition dt{font-size:11px;letter-spacing:.7px;color:var(--muted);text-transform:uppercase}.portal-definition dd{margin:0;font-size:15px;overflow-wrap:anywhere}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin:22px 0 12px;gap:12px}.calendar-head h3{margin:0;font-size:16px;text-transform:capitalize}.calendar-nav{border:1px solid var(--line);background:transparent;border-radius:5px;min-width:40px;min-height:40px;cursor:pointer;color:var(--ink)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-grid>small{text-align:center;padding:8px 0;color:var(--muted);font-size:11px}.calendar-day{aspect-ratio:1.1;border:1px solid var(--line);background:#fffef9;border-radius:6px;cursor:pointer;color:var(--ink);font-size:14px}.calendar-day:not(:disabled):hover{background:var(--lime)}.calendar-day[aria-pressed=true]{background:var(--ink);color:#fff}.calendar-day:disabled{opacity:.5;cursor:default}.calendar-day.occupied{background:#e9e5df;text-decoration:line-through}.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;margin:14px 0}.calendar-legend span:before{content:'';display:inline-block;width:9px;height:9px;background:var(--lime);margin-right:6px;border:1px solid #b1c5a5}.calendar-legend span:last-child:before{background:#e9e5df;border-color:#c8c0b5}.portal-alert{padding:14px 18px;background:#edf2e6;border-radius:7px;line-height:1.6;font-size:13px;margin-bottom:22px}.portal-alert.error{background:#fbe8e2;color:#842e22}.portal-alert:empty{display:none}.portal-request{border-top:1px solid var(--line);padding:20px 0}.portal-request:first-of-type{border-top:0}.portal-request h3{margin:0 0 10px;font-size:16px}.portal-request p{margin:9px 0;font-size:13px;overflow-wrap:anywhere}.portal-request .button{font-size:12px;padding:9px 13px;min-height:38px}.portal-auth{max-width:1100px;margin:40px auto 70px;padding:0 5%;display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:start}.portal-auth h1{font-size:47px}.portal-photo{width:100%;height:225px;object-fit:cover;border-radius:10px;margin-top:22px}.portal-steps{padding-left:20px;font-size:14px;color:var(--muted);line-height:1.8}.portal-auth .notice{margin-bottom:24px}.portal-box input,.portal-box select,.portal-box textarea{border-radius:6px;background:#fffef9}.portal-box textarea{font:inherit;padding:12px;border:1px solid #abb8a5;color:var(--ink);width:100%;resize:vertical}.portal-box button:disabled{opacity:.55;cursor:not-allowed}.portal-small-title{font-size:13px;font-weight:600;margin:12px 0}.portal-tabbar{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}.portal-tabbar button{border:1px solid var(--line);background:transparent;padding:12px 18px;border-radius:7px;color:var(--ink);cursor:pointer}.portal-tabbar button[aria-pressed=true]{background:var(--ink);color:white}.portal-table-wrap{overflow-x:auto}.portal-table{border-collapse:collapse;width:100%;font-size:13px}.portal-table th,.portal-table td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.portal-table th{font-size:11px;text-transform:uppercase;color:var(--muted)}.portal-table td small{display:block;margin-top:6px}.portal-table select{min-width:135px}.portal-table .button{padding:8px 12px;font-size:12px;min-height:36px}.portal-admin-actions{display:flex;gap:8px;flex-wrap:wrap}.portal-link-output{display:grid;gap:12px;margin-top:20px}.portal-link-output input{font-size:12px}.portal-auth [hidden],.portal-shell [hidden]{display:none!important}.portal-stats{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:25px}.portal-stats>div{padding:18px 22px;border:1px solid var(--line);border-radius:9px;background:#fffef9;flex:1;min-width:145px}.portal-stats strong{font-size:26px;display:block}.portal-stats small{font-size:12px;color:var(--muted)}
@media(max-width:760px){.portal-auth,.portal-grid{grid-template-columns:1fr;gap:24px}.portal-auth{margin-top:28px}.portal-auth h1{font-size:36px}.portal-photo{height:170px}.portal-top h1{font-size:29px}.portal-top{flex-wrap:wrap}.portal-box{padding:21px}.portal-shell{padding-top:28px}.portal-header .official-brand img{width:90px;height:66px}.portal-header .text-link{font-size:11px}.portal-footer{flex-direction:column}.calendar-day{font-size:13px}}
.portal-confirm{border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);padding:28px;max-width:440px;width:calc(100% - 36px)}.portal-confirm::backdrop{background:rgba(16,40,33,.5)}.portal-confirm h2{font-size:24px}.portal-confirm form{display:flex;gap:12px;flex-wrap:wrap}.portal-confirm p{font-size:14px}

.portal-steps li::marker{font-family:monospace;font-variant-numeric:tabular-nums}

.content-form{display:grid;gap:18px;margin:28px 0;padding:24px;border:1px solid var(--line);border-radius:10px}.content-form label{display:grid;gap:8px}.content-form input[type=checkbox]{width:auto;justify-self:start}.content-form select,.content-form input{max-width:100%}.content-form [hidden]{display:none!important}.content-form #content-event,.content-form #content-publication{display:grid;gap:18px}.content-preview{border:1px solid var(--line);border-radius:12px;max-width:850px;width:90vw;max-height:85vh;overflow:auto;padding:28px;background:#fffef9;color:var(--ink)}.content-preview::backdrop{background:#153f3780}.content-preview form{margin-top:24px}

.remember-session{display:flex!important;align-items:center;gap:10px}.remember-session input{width:auto!important;flex:none}
.password-auth{max-width:700px}.password-auth h1{font-size:36px;line-height:1.15;letter-spacing:-1px;margin-bottom:18px}.password-auth button.text-link{background:none;border:0;border-bottom:1px solid currentColor;font:inherit;font-size:13px;color:var(--ink);padding:8px 0;margin-right:18px;cursor:pointer;text-align:left}.password-auth form{margin-top:22px}.password-auth input{min-width:0}.password-auth .portal-button{width:100%}.password-auth [role=status]{overflow-wrap:anywhere}@media(max-width:480px){.password-auth h1{font-size:29px}}
