@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--bg-primary:#0a0a0a;--bg-secondary:#141414;--bg-tertiary:#1e1e1e;--accent-primary:#fff;--accent-secondary:#ccc;--accent-glow:#ffffff1a;--accent-gradient:linear-gradient(135deg, #fff, #a3a3a3);--text-main:#f5f5f5;--text-muted:#8e8e93;--text-inverse:#0a0a0a;--border-color:#ffffff14;--border-focus:#fff6;--status-available:#fff;--status-available-bg:#ffffff14;--status-available-border:#fff3;--status-unavailable:#555;--status-unavailable-bg:#ffffff05;--status-unavailable-border:#ffffff0d;--status-neutral:#8e8e93;--status-neutral-bg:#ffffff0a;--status-neutral-border:#ffffff1a;--sheet-header-bg:#222;--sheet-header-fg:#fff;--btn-shadow:#ffffff1a;--logo-url:url(/logo-white.png?v=2);--font-sans:"Inter", -apple-system, sans-serif;--font-title:"Outfit", sans-serif;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-premium:0 20px 25px -5px #0003, 0 10px 10px -5px #0000000a;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--container-width:1280px}[data-theme=light]{--bg-primary:#f5f5f7;--bg-secondary:#fff;--bg-tertiary:#e8e8ed;--text-main:#1d1d1f;--text-muted:#86868b;--text-inverse:#fff;--border-color:#00000014;--border-focus:#0006;--status-available:#000;--status-available-bg:#0000000d;--status-available-border:#0003;--status-unavailable:#8e8e93;--status-unavailable-bg:#00000005;--status-unavailable-border:#0000000f;--status-neutral:#8e8e93;--status-neutral-bg:#00000008;--status-neutral-border:#0000001a;--sheet-header-bg:#e5e5e5;--sheet-header-fg:#000;--btn-shadow:#00000026;--logo-url:url(/logo-black.png?v=2);--accent-glow:#0000000d;--accent-gradient:linear-gradient(135deg, #000, #555)}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-primary);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal)}button,input,textarea,select{color:inherit;font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{flex-direction:column;min-height:100vh;display:flex}header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:100;box-shadow:var(--shadow-sm);padding:1rem 0;position:sticky;top:0}.header-container{width:100%;max-width:var(--container-width);justify-content:space-between;align-items:center;margin:0 auto;padding:0 1.5rem;display:flex}.brand{align-items:center;gap:.5rem;display:flex}.brand-logo{aspect-ratio:626/238;background-image:var(--logo-url);height:28px;transition:background-image var(--transition-normal);background-position:0;background-repeat:no-repeat;background-size:contain}.brand-name{font-family:var(--font-title);letter-spacing:-.5px;font-size:1.25rem;font-weight:700}.brand-tag{background:var(--bg-tertiary);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-full);align-items:center;padding:.15rem .5rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}main.content-area{width:100%;max-width:var(--container-width);flex:1;margin:0 auto;padding:2rem 1.5rem}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);font-weight:700;line-height:1.2}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;display:inline-flex}.btn-primary{background:var(--accent-gradient);color:var(--text-inverse);box-shadow:0 4px 14px var(--btn-shadow)}.btn-primary:hover{box-shadow:0 6px 20px var(--btn-shadow);opacity:.95;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-main)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-muted)}.btn-danger{background:var(--status-unavailable-bg);border:1px solid var(--status-unavailable-border);color:var(--status-unavailable)}.btn-danger:hover{background:var(--status-unavailable);color:var(--text-inverse)}.btn-success{background:var(--status-available-bg);border:1px solid var(--status-available-border);color:var(--status-available)}.btn-success:hover{background:var(--status-available);color:var(--text-inverse)}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;max-width:500px;box-shadow:var(--shadow-premium);padding:2rem;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;position:relative}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.25rem;position:absolute;top:1.25rem;right:1.25rem}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.form-group label{color:var(--text-muted);font-size:.85rem;font-weight:500}.form-control{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-main);transition:all var(--transition-fast);outline:none;padding:.65rem 1rem}.form-control:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.grid-2{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=768px){.grid-2{grid-template-columns:repeat(2,1fr)}}.grid-3{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=768px){.grid-3{grid-template-columns:repeat(3,1fr)}}.table-responsive{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);width:100%;overflow-x:auto}table.schedule-grid-table{border-collapse:collapse;text-align:left;width:100%}table.schedule-grid-table th{background-color:var(--bg-tertiary);text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-color);padding:1rem;font-size:.85rem;font-weight:600}table.schedule-grid-table td{border-bottom:1px solid var(--border-color);padding:1rem;font-size:.9rem}table.schedule-grid-table tr:last-child td{border-bottom:none}.badge-status{border-radius:var(--radius-sm);align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-status.available{background-color:var(--status-available-bg);color:var(--status-available);border:1px solid var(--status-available-border)}.badge-status.unavailable{background-color:var(--status-unavailable-bg);color:var(--status-unavailable);border:1px solid var(--status-unavailable-border)}.badge-status.neutral{background-color:var(--status-neutral-bg);color:var(--text-muted);border:1px solid var(--status-neutral-border)}.theme-switch{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-full);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;font-size:1.25rem;display:flex}.theme-switch:hover{background-color:var(--bg-tertiary);color:var(--text-main)}.schedule-table-wrapper{border-radius:var(--radius-md);box-shadow:var(--shadow-premium);border:1px solid var(--border-color);background-color:var(--bg-secondary);margin-top:1.5rem;overflow:hidden}.schedule-sheet-header{background-color:var(--sheet-header-bg);color:var(--sheet-header-fg);text-align:center;font-family:var(--font-title);letter-spacing:.5px;border-bottom:2px solid var(--border-color);padding:.75rem 1rem;font-size:1.2rem;font-weight:800}.excel-schedule-table{border-collapse:collapse;width:100%;font-family:var(--font-sans)}.excel-schedule-table th,.excel-schedule-table td{border:1px solid var(--border-color);text-align:center;padding:.65rem .85rem}.excel-schedule-table th{background-color:var(--bg-tertiary);color:var(--text-main);font-size:.85rem;font-weight:700}.excel-schedule-table thead tr:first-child th{letter-spacing:.5px;padding:.75rem;font-size:.95rem}.excel-schedule-table .sub-header-row th{background-color:var(--bg-secondary);color:var(--text-muted);padding:.4rem;font-size:.75rem}.excel-schedule-table .date-cell{background-color:var(--bg-secondary);color:var(--text-main);font-size:.85rem;font-weight:500}.excel-schedule-table .volunteer-cell{font-size:.9rem;font-weight:700}.excel-schedule-table .active-slot-cell{background-color:var(--bg-primary);min-width:120px}.excel-schedule-table .clickable-cell{cursor:pointer;transition:background-color var(--transition-fast)}.excel-schedule-table .clickable-cell:hover{background-color:var(--bg-tertiary)}.excel-schedule-table .assigned-name{color:var(--text-main);font-weight:700}.excel-schedule-table .vago-name{color:var(--text-muted);opacity:.5;font-size:.8rem;font-style:italic;font-weight:400}.table-instructions{color:var(--text-muted);text-align:center;margin-top:1rem;font-size:.85rem}.modal-event-assign{flex-direction:column;max-width:550px;max-height:85vh;padding:1.5rem;display:flex}.modal-title{margin-bottom:.25rem;font-size:1.25rem}.modal-subtitle{color:var(--text-muted);margin-bottom:1.25rem;font-size:.9rem}.volunteers-list-section{flex-direction:column;flex:1;gap:1.25rem;margin-bottom:1.5rem;padding-right:.5rem;display:flex;overflow-y:auto}.group-section{flex-direction:column;gap:.5rem;display:flex}.group-title{text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);padding-bottom:.25rem;font-size:.75rem;font-weight:700}.title-available{color:var(--status-available)}.title-neutral{color:var(--text-muted)}.title-unavailable{color:var(--status-unavailable)}.volunteers-group-list{flex-direction:column;gap:.5rem;display:flex}.volunteer-select-item{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:.65rem 1rem;display:flex}.volunteer-select-item:hover{border-color:var(--accent-primary);background-color:var(--bg-tertiary);transform:translate(2px)}.volunteer-select-item.selected{border-color:var(--accent-primary);background-color:var(--accent-glow)}.volunteer-select-item.status-unav{opacity:.7}.vol-info{align-items:center;gap:1rem;display:flex}.vol-name{font-size:.9rem;font-weight:600}.vol-count{color:var(--text-muted);font-size:.8rem}.vol-note-badge{background-color:var(--bg-tertiary);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.15rem .4rem;font-size:.7rem;font-weight:600}.vol-actions{align-items:center;gap:.5rem;display:flex}.current-assigned-badge{background-color:var(--accent-primary);color:var(--text-inverse);border-radius:var(--radius-sm);padding:.2rem .5rem;font-size:.75rem;font-weight:600}.modal-actions-footer{border-top:1px solid var(--border-color);justify-content:space-between;gap:1rem;padding-top:1rem;display:flex}.empty-message{color:var(--text-muted);text-align:center;padding:1rem;font-size:.85rem;font-style:italic}.leader-dashboard-container{flex-direction:column;gap:2rem;animation:.3s ease-out fadeIn;display:flex}.dashboard-header-panel{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex}@media (width>=1024px){.dashboard-header-panel{flex-direction:row;align-items:center}}.subtitle-desc{color:var(--text-muted);margin-top:.25rem;font-size:.9rem}.header-actions{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.75rem;max-width:100%;padding-bottom:4px;display:flex;overflow-x:auto}@media (width>=768px){.header-actions{padding-bottom:0;overflow-x:visible}}.dashboard-grid{grid-template-columns:1fr;align-items:start;gap:2rem;display:grid}@media (width>=1024px){.dashboard-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}.dashboard-bottom-grid{grid-template-columns:1fr;align-items:start;gap:2rem;display:grid}@media (width>=1024px){.dashboard-bottom-grid{grid-template-columns:repeat(2,1fr)}}.card-header-toggle{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.role-selector-toggle{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:2px;display:flex}.toggle-btn{border-radius:calc(var(--radius-md) - 2px);cursor:pointer;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;border:none;padding:.4rem 1rem;font-size:.85rem;font-weight:600}.toggle-btn.active{background-color:var(--bg-tertiary);color:var(--text-main);box-shadow:var(--shadow-sm)}.sidebar-card{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.sidebar-card:last-child{margin-bottom:0}.section-instruction{color:var(--text-muted);font-size:.8rem}.inline-form{align-items:center;gap:.5rem;display:flex}.inline-form input{flex:1}.inline-form .form-control,.inline-form select,.inline-form .btn{box-sizing:border-box;height:40px;padding-top:0;padding-bottom:0}.inline-form button[type=submit]{flex-shrink:0;justify-content:center;align-items:center;width:40px;padding:0;display:inline-flex}.volunteers-list-scroll,.slots-list-scroll{flex-direction:column;gap:.5rem;max-height:300px;padding-right:.25rem;display:flex;overflow-y:auto}.volunteer-list-item,.slot-list-item{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:.65rem .85rem;display:flex}.vol-detail{align-items:center;gap:.75rem;display:flex}.vol-list-name{font-size:.9rem;font-weight:600}.vol-list-role{background-color:var(--bg-tertiary);color:var(--text-muted);border-radius:var(--radius-sm);padding:.1rem .4rem;font-size:.75rem}.vol-list-count{color:var(--text-muted);font-size:.8rem;font-weight:700}.vol-list-count.active-count{color:var(--accent-primary)}.volunteer-list-item .vol-actions{gap:.4rem;display:flex}.btn-sm{border-radius:var(--radius-sm);padding:.3rem .6rem;font-size:.75rem}.btn-secondary.copied{background-color:var(--status-available-bg);border-color:var(--status-available-border);color:var(--status-available)}.slot-form{flex-direction:column;gap:.5rem;display:flex}.form-group-inline{align-items:center;gap:.5rem;display:flex}.form-group-inline input{flex:1}.form-group-inline select{width:130px}.form-group-inline .form-control,.form-group-inline select,.form-group-inline .btn{box-sizing:border-box;height:40px;padding-top:0;padding-bottom:0}.mt-1{margin-top:.25rem}.slot-info-item{align-items:center;gap:.75rem;display:flex}.slot-date-text{font-size:.85rem;font-weight:600}.slot-name-text{color:var(--text-muted);font-size:.85rem}.slot-type-badge{border-radius:var(--radius-sm);text-transform:capitalize;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.slot-type-badge.quarta{background-color:var(--bg-tertiary);color:var(--text-main);border:1px solid var(--border-color)}.slot-type-badge.domingo_manha{color:var(--text-main);background-color:#ffffff1a;border:1px solid #fff3}[data-theme=light] .slot-type-badge.domingo_manha{background-color:#0000000d;border:1px solid #0000001a}.slot-type-badge.domingo_noite{color:var(--text-muted);border:1px solid var(--border-color);background-color:#ffffff0d}[data-theme=light] .slot-type-badge.domingo_noite{background-color:#00000005}.slot-type-badge.extra{background-color:var(--text-main);color:var(--text-inverse)}.error-text{color:var(--status-unavailable);margin-top:.25rem;font-size:.8rem}.volunteer-portal-container{flex-direction:column;gap:1.5rem;max-width:600px;margin:0 auto;animation:.3s ease-out fadeIn;display:flex}.volunteer-header-card{flex-direction:column;gap:1rem;display:flex}.vol-header-detail{align-items:center;gap:1rem;display:flex}.vol-avatar{border-radius:var(--radius-full);background:var(--accent-gradient);width:48px;height:48px;color:var(--text-inverse);font-family:var(--font-title);justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex;box-shadow:0 4px 10px #00000040}.role-tag{color:var(--text-muted);margin-top:.1rem;font-size:.85rem}.portal-intro-text{color:var(--text-muted);font-size:.9rem;line-height:1.5}.slots-availability-section h3{margin-bottom:.25rem}.slots-list-availability{flex-direction:column;gap:.75rem;margin:1.25rem 0;display:flex}.slot-availability-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);transition:all var(--transition-fast);flex-direction:column;gap:1rem;padding:1rem;display:flex}@media (width>=480px){.slot-availability-card{flex-direction:row;justify-content:space-between;align-items:center}}.slot-availability-card.available{border-color:var(--status-available-border);background-color:var(--status-available-bg)}.slot-availability-card.unavailable{border-color:var(--status-unavailable-border);background-color:var(--status-unavailable-bg)}.slot-meta{flex-direction:column;gap:.2rem;display:flex}.slot-date{font-size:1rem;font-weight:700}.slot-name{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.extra-tag{background-color:var(--text-main);color:var(--text-inverse);border-radius:var(--radius-sm);padding:.1rem .3rem;font-size:.65rem;font-weight:700}.availability-buttons{gap:.4rem;display:flex}.av-btn{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;color:var(--text-muted);transition:all var(--transition-fast);flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .75rem;font-size:.8rem;font-weight:600;display:flex}@media (width>=480px){.av-btn{flex:initial}}.btn-av-yes.active{background-color:var(--status-available);border-color:var(--status-available);color:var(--text-inverse);box-shadow:0 2px 8px var(--accent-glow)}.btn-av-neut.active{background-color:var(--status-neutral);border-color:var(--status-neutral);color:var(--text-inverse);box-shadow:0 2px 8px var(--accent-glow)}.btn-av-no.active{background-color:var(--status-unavailable);border-color:var(--status-unavailable);color:#fff;box-shadow:0 2px 8px #0000001a}.notes-group{margin-top:1.5rem}.textarea-notes{resize:vertical;min-height:80px}.portal-footer-actions{border-top:1px solid var(--border-color);flex-direction:column;align-items:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.btn-save-availability{width:100%}@media (width>=480px){.btn-save-availability{width:auto}}.success-text{color:var(--status-available);font-size:.9rem;font-weight:600}.volunteer-portal-error-card{text-align:center;border-color:var(--status-unavailable-border);background-color:var(--status-unavailable-bg);flex-direction:column;align-items:center;gap:1rem;max-width:500px;margin:3rem auto;padding:3rem 2rem;display:flex}.error-icon{font-size:3rem}.sub-hint{color:var(--text-muted);font-size:.85rem;line-height:1.4}.loading-screen,.error-screen{background-color:var(--bg-primary);min-height:100vh;color:var(--text-main);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.spinner{border:4px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:var(--radius-full);width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-card{border-color:var(--status-unavailable-border);flex-direction:column;align-items:center;gap:1.25rem;max-width:450px;padding:2.5rem;display:flex}.header-right{align-items:center;gap:1rem;display:flex}.month-picker-bar{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.month-picker-left{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.picker-label{color:var(--text-muted);font-size:.9rem;font-weight:600}.month-select-wrapper{display:flex}.month-select{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-main);cursor:pointer;outline:none;padding:.5rem 2rem .5rem 1rem;font-weight:600}.btn-pin-month{padding:.4rem .8rem;font-size:.75rem}.active-badge-indicator{background-color:var(--text-main);color:var(--text-inverse);border-radius:var(--radius-full);padding:.25rem .6rem;font-size:.75rem;font-weight:600}.new-month-form{flex-direction:column;gap:1rem;display:flex}.volunteer-portal-select-card{max-width:480px;box-shadow:var(--shadow-premium);border:1px solid var(--border-color);background-color:var(--bg-secondary);border-radius:var(--radius-lg);flex-direction:column;align-items:stretch;gap:2rem;margin:4rem auto;padding:3rem 2.5rem;display:flex}.portal-select-header{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.brand-logo-large{background-image:var(--logo-url);background-position:50%;background-repeat:no-repeat;background-size:contain;width:64px;height:64px;margin-bottom:.5rem}.portal-select-form{flex-direction:column;gap:1.5rem;display:flex}.form-label-bold{color:var(--text-main);margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:block}.select-large{border-radius:var(--radius-md);background-color:var(--bg-primary);width:100%;color:var(--text-main);border:1px solid var(--border-color);padding:0 1rem;font-size:1rem;height:48px!important}.btn-large{border-radius:var(--radius-md);justify-content:center;align-items:center;gap:.5rem;height:48px;font-size:1rem;font-weight:600;display:flex}.btn-block{width:100%}.volunteer-list-item.editing-mode{background-color:var(--bg-tertiary);border-color:var(--border-focus)}.edit-vol-name,.edit-vol-role{border-radius:var(--radius-sm);border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-main)}.edit-vol-name:focus,.edit-vol-role:focus{border-color:var(--border-focus);outline:none}.login-container{justify-content:center;align-items:center;min-height:calc(100vh - 160px);padding:2rem;animation:.3s ease-out fadeIn;display:flex}.login-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-premium);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:1.75rem;padding:3rem 2.25rem;display:flex}.login-header{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.login-form{flex-direction:column;gap:1.25rem;display:flex}.error-banner{color:#ff4b4b;border-radius:var(--radius-md);text-align:center;background-color:#ff4b4b1a;border:1px solid #ff4b4b40;padding:.75rem 1rem;font-size:.85rem;font-weight:500;animation:.2s ease-out fadeIn}[data-theme=light] .error-banner{color:#c00;background-color:#ff00000d;border-color:#ff000026}.modal-large{width:95%;max-width:680px}.users-list-scroll{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);flex-direction:column;max-height:280px;margin-top:1rem;display:flex;overflow-y:auto}.inline-form-users{grid-template-columns:1.5fr 1fr 1fr auto;align-items:center;gap:.5rem;margin-top:1rem;display:grid}@media (width<=580px){.inline-form-users{grid-template-columns:1fr;gap:.75rem}.inline-form-users button{height:44px}}.portal-tabs-container{background-color:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);justify-content:center;gap:.5rem;max-width:480px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;padding:.35rem;display:flex}.portal-tab-btn{color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600;display:flex}.portal-tab-btn:hover{color:var(--text-main);background-color:var(--bg-primary)}.portal-tab-btn.active{background-color:var(--accent-primary);color:var(--text-inverse);box-shadow:var(--shadow-md)}.show-mobile{display:none!important}.view-mode-toggle-container{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);justify-content:flex-end;padding:.75rem 1rem;display:flex}.view-mode-toggle{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:2px;display:flex}.view-toggle-btn{border-radius:calc(var(--radius-md) - 2px);cursor:pointer;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;border:none;padding:.35rem .85rem;font-size:.8rem;font-weight:600}.view-toggle-btn.active{background-color:var(--bg-tertiary);color:var(--text-main);box-shadow:var(--shadow-sm)}.mobile-timeline-list{background-color:var(--bg-secondary);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.timeline-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), border-color var(--transition-fast);flex-direction:column;gap:.5rem;padding:.85rem 1rem;display:flex}.timeline-card:hover{border-color:var(--border-focus)}.timeline-card-header{border-bottom:1px dashed var(--border-color);justify-content:space-between;align-items:center;padding-bottom:.4rem;display:flex}.timeline-date{color:var(--text-main);font-size:.9rem;font-weight:700}.timeline-card-body{justify-content:space-between;align-items:center;gap:1rem;display:flex}.timeline-event-name{color:var(--text-muted);text-align:left;font-size:.85rem;font-weight:500}.timeline-volunteer-select{text-align:right;flex-direction:column;align-items:flex-end;gap:.15rem;display:flex}.timeline-volunteer-select.clickable{cursor:pointer;border-radius:var(--radius-sm);background-color:var(--bg-tertiary);border:1px solid var(--border-color);transition:all var(--transition-fast);padding:.25rem .5rem}.timeline-volunteer-select.clickable:hover{background-color:var(--bg-secondary);border-color:var(--border-focus)}.label-escalado{color:var(--text-muted);text-transform:uppercase;font-size:.7rem;font-weight:600}.volunteer-val{font-size:.85rem;font-weight:700}.availability-buttons{border:1px solid var(--border-color);border-radius:var(--radius-md);gap:0;width:100%;display:flex;overflow:hidden}.av-btn{border:none;border-right:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-muted);transition:all var(--transition-fast);border-radius:0;flex:1;justify-content:center;align-items:center;margin:0;padding:.6rem .25rem;font-size:.75rem}.av-btn:last-child{border-right:none}.av-btn:hover{background-color:var(--bg-tertiary);color:var(--text-main)}.btn-av-yes.active{background-color:var(--status-available)!important;color:var(--text-inverse)!important}.btn-av-neut.active{background-color:var(--status-neutral)!important;color:var(--text-inverse)!important}.btn-av-no.active{background-color:var(--status-unavailable)!important;color:#fff!important}@media (width<=768px){.hide-mobile{display:none!important}.show-mobile{display:inline-block!important}header{padding:.75rem 0}.header-container{padding:0 .75rem}.header-right button{padding:.45rem .75rem;font-size:.8rem;margin-right:.5rem!important}main.content-area{padding:1rem .75rem}.card{border-radius:var(--radius-md);padding:1rem}.dashboard-header-panel{align-items:stretch;gap:1.25rem;padding:1rem}.header-actions{grid-template-columns:repeat(2,1fr);gap:.5rem;padding-bottom:0;display:grid;overflow-x:visible}.header-actions .btn{text-align:center;white-space:normal;width:100%;height:auto;padding:.6rem .5rem;font-size:.8rem}.modal-content{width:95%!important;max-height:90vh!important;padding:1.25rem!important}.modal-event-assign{max-height:90vh!important}.volunteers-list-section{margin-bottom:1rem;max-height:48vh!important}.modal-actions-footer{padding-top:.75rem}.month-picker-bar{flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem}.month-picker-left{flex-direction:column;align-items:stretch;gap:.5rem}.month-picker-left .month-select-wrapper,.month-picker-left .month-select,.month-picker-left button,.month-picker-right button{width:100%!important}.active-badge-indicator{text-align:center;width:100%;display:block}.share-link-actions{flex-direction:column;align-items:stretch;gap:.5rem;width:100%}.share-link-actions .month-select-wrapper,.share-link-actions .month-select,.share-link-actions input,.share-link-actions button{width:100%!important;max-width:100%!important;margin:0!important}.volunteer-list-item.editing-mode{flex-direction:column;align-items:stretch;gap:.75rem;padding:.85rem}.vol-detail-edit{flex-direction:column;gap:.5rem!important}.edit-vol-role{flex:none!important;width:100%!important}.vol-actions{justify-content:flex-end;width:100%}.inline-form{flex-direction:column;align-items:stretch;gap:.5rem}.inline-form button[type=submit]{height:40px;width:100%!important}}@media (width<=580px){.user-list-item.editing-mode{flex-direction:column;align-items:stretch;gap:.75rem;padding:.85rem}.user-detail-edit{flex-direction:column;gap:.5rem!important}.user-detail-edit .form-control{flex:none!important;width:100%!important}.user-actions{justify-content:flex-end;width:100%}.vol-header-detail{flex-direction:column;align-items:stretch!important}.vol-month-select-container{justify-content:space-between;width:100%}.vol-month-select-container select{flex:1}}@media (width<=480px){.login-container{min-height:calc(100vh - 120px);padding:1rem}.login-card{gap:1.25rem;padding:2rem 1.25rem}.volunteer-portal-select-card{margin:2rem auto;padding:2rem 1.25rem}.timeline-card-header{flex-wrap:wrap;gap:.5rem}.timeline-date{font-size:.85rem}}
