:root{--burgundy:#6b1a2a;--burgundy-dark:#4a1020;--gold:#b8972a;--gold-light:#f5e9c0;--gold-pale:#fdf8e8;--cream:#faf6ee;--ink:#1c1c1c;--slate:#5a5a6a;--border:#ddd0b8;--shadow:0 4px 28px rgba(107,26,42,0.09);--wa:#25D366;--sage:#3a6b4a;--especial:#7c3aed;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Lato',sans-serif;background:var(--cream);color:var(--ink);min-height:100vh;}
#loading-overlay{position:fixed;inset:0;background:var(--burgundy-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity 0.4s;}
#loading-overlay.hide{opacity:0;pointer-events:none;}
.loading-cross{font-size:3rem;color:var(--gold);animation:pulse 1.5s infinite;}
.loading-text{color:var(--gold-light);font-family:'Cormorant Garamond',serif;font-size:1.3rem;margin-top:1rem;font-style:italic;}
.loading-sub{color:rgba(245,233,192,0.45);font-size:0.78rem;margin-top:0.4rem;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.4;}}
#screen-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--burgundy-dark) 0%,#2a0818 60%,#1a0810 100%);padding:1.5rem;}
.login-box{background:white;border-radius:16px;padding:2.5rem 2rem;max-width:400px;width:100%;text-align:center;border-top:5px solid var(--gold);box-shadow:0 24px 64px rgba(0,0,0,0.4);}
.login-title{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:700;color:var(--burgundy-dark);}
.login-logo{width:90px;height:90px;object-fit:contain;margin:0 auto 0.75rem;display:block;border-radius:50%;background:white;padding:6px;box-shadow:0 2px 12px rgba(107,26,42,0.15);}
.login-logo-placeholder{width:90px;height:90px;border-radius:50%;background:rgba(184,151,42,0.15);display:flex;align-items:center;justify-content:center;margin:0 auto 0.75rem;font-size:2.2rem;}
.nav-logo{width:34px;height:34px;object-fit:contain;border-radius:50%;background:rgba(255,255,255,0.1);padding:3px;}
.page-logo{width:56px;height:56px;object-fit:contain;border-radius:8px;border:1px solid var(--border);padding:4px;background:white;}
.upload-area{border:2px dashed var(--border);border-radius:10px;padding:1.5rem;text-align:center;cursor:pointer;transition:all 0.2s;background:white;position:relative;overflow:hidden;}
.upload-area:hover{border-color:var(--gold);background:var(--gold-pale);}
.upload-area input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.upload-preview{width:80px;height:80px;object-fit:contain;border-radius:8px;border:1px solid var(--border);margin:0 auto 0.5rem;display:block;}
.login-subtitle{font-size:0.82rem;color:var(--slate);margin-bottom:2rem;font-style:italic;}
.login-tabs{display:flex;border:1.5px solid var(--border);border-radius:8px;margin-bottom:1.5rem;overflow:hidden;}
.login-tab{flex:1;padding:0.6rem;border:none;background:white;cursor:pointer;font-family:'Lato',sans-serif;font-size:0.82rem;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:0.05em;transition:all 0.2s;}
.login-tab.active{background:var(--burgundy-dark);color:var(--gold-light);}
.login-field-label{font-size:0.75rem;font-weight:700;color:var(--slate);text-align:left;display:block;margin-bottom:0.3rem;text-transform:uppercase;letter-spacing:0.06em;}
.login-input{width:100%;padding:0.75rem 1rem;border:1.5px solid var(--border);border-radius:8px;font-family:'Lato',sans-serif;font-size:1rem;margin-bottom:1rem;transition:border-color 0.2s;text-align:center;letter-spacing:0.08em;}
.login-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,151,42,0.12);}
.login-btn{width:100%;padding:0.85rem;border:none;border-radius:8px;background:var(--burgundy-dark);color:var(--gold-light);font-family:'Lato',sans-serif;font-weight:700;font-size:1rem;cursor:pointer;transition:background 0.2s;display:flex;align-items:center;justify-content:center;gap:0.5rem;}
.login-btn:hover{background:var(--burgundy);}
.login-btn:disabled{opacity:0.6;cursor:not-allowed;}
.login-error{background:#fff0f0;color:#b5451b;border:1px solid #f5c5bb;border-radius:7px;padding:0.6rem 1rem;font-size:0.83rem;margin-bottom:1rem;display:none;}
.login-verse{font-size:0.75rem;color:var(--slate);font-style:italic;margin-top:1.5rem;line-height:1.5;}
#screen-app{display:none;}
nav{background:var(--burgundy-dark);padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:60px;position:sticky;top:0;z-index:100;border-bottom:3px solid var(--gold);}
.nav-brand{display:flex;align-items:center;gap:0.6rem;}
.nav-brand .cross{color:var(--gold);font-size:1.2rem;}
.nav-brand-text{font-family:'Cormorant Garamond',serif;color:var(--gold-light);font-size:1.15rem;font-weight:600;line-height:1.1;}
.nav-brand-text span{display:block;font-size:0.68rem;color:rgba(245,233,192,0.55);font-style:italic;font-weight:400;}
.nav-tabs{display:flex;gap:0.25rem;flex-wrap:wrap;}
.nav-tab{background:none;border:none;color:rgba(245,233,192,0.5);padding:0.45rem 0.7rem;border-radius:6px;cursor:pointer;font-family:'Lato',sans-serif;font-size:0.75rem;font-weight:700;letter-spacing:0.04em;transition:all 0.2s;text-transform:uppercase;}
.nav-tab:hover{color:var(--gold-light);background:rgba(184,151,42,0.12);}
.nav-tab.active{color:var(--gold);background:rgba(184,151,42,0.2);}
.nav-right{display:flex;align-items:center;gap:0.75rem;}
.nav-user-name{color:var(--gold-light);font-size:0.8rem;font-weight:700;}
.nav-user-role{color:rgba(245,233,192,0.45);font-size:0.68rem;font-style:italic;}
.nav-logout{background:rgba(255,255,255,0.07);border:1px solid rgba(245,233,192,0.2);color:rgba(245,233,192,0.6);padding:0.3rem 0.7rem;border-radius:5px;cursor:pointer;font-size:0.72rem;font-family:'Lato',sans-serif;transition:all 0.2s;}
.nav-logout:hover{background:rgba(255,255,255,0.14);color:white;}
.page{display:none;padding:2rem;max-width:1100px;margin:0 auto;}
.page.active{display:block;}
.page-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border);}
.page-header h1{font-family:'Cormorant Garamond',serif;font-size:2.1rem;color:var(--burgundy-dark);font-weight:700;}
.page-header p{color:var(--slate);margin-top:0.2rem;font-size:0.87rem;}
.card{background:white;border:1px solid var(--border);border-radius:10px;padding:1.5rem;box-shadow:var(--shadow);}
.card-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;margin-bottom:1rem;color:var(--burgundy-dark);}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.stat-card{background:var(--burgundy-dark);border-radius:10px;padding:1.3rem 1.5rem;text-align:center;border-top:3px solid var(--gold);}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2.4rem;color:var(--gold);font-weight:700;}
.stat-label{font-size:0.7rem;color:rgba(245,233,192,0.6);margin-top:0.2rem;text-transform:uppercase;letter-spacing:0.1em;}
label{font-size:0.78rem;font-weight:700;color:var(--slate);display:block;margin-bottom:0.3rem;text-transform:uppercase;letter-spacing:0.06em;}
input,select{width:100%;padding:0.65rem 0.9rem;border:1.5px solid var(--border);border-radius:7px;font-family:'Lato',sans-serif;font-size:0.9rem;background:white;color:var(--ink);transition:border-color 0.2s;margin-bottom:1rem;}
input:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,151,42,0.1);}
.btn{padding:0.6rem 1.3rem;border-radius:7px;border:none;cursor:pointer;font-family:'Lato',sans-serif;font-weight:700;font-size:0.85rem;transition:all 0.2s;display:inline-flex;align-items:center;gap:0.4rem;}
.btn:disabled{opacity:0.5;cursor:not-allowed;}
.btn-primary{background:var(--burgundy);color:var(--gold-light);}
.btn-primary:hover:not(:disabled){background:var(--burgundy-dark);}
.btn-gold{background:var(--gold);color:white;}
.btn-gold:hover:not(:disabled){background:#9a7c1e;}
.btn-sage{background:var(--sage);color:white;}
.btn-sage:hover:not(:disabled){background:#2d5438;}
.btn-danger{background:#fff0ee;color:#b5451b;border:1px solid #f5c5bb;}
.btn-danger:hover:not(:disabled){background:#ffe0d9;}
.btn-wa{background:var(--wa);color:white;}
.btn-wa:hover:not(:disabled){background:#1da851;}
.btn-pdf{background:#c0392b;color:white;}
.btn-pdf:hover:not(:disabled){background:#a93226;}
.btn-purple{background:var(--especial);color:white;}
.btn-purple:hover:not(:disabled){background:#6d28d9;}
.btn-sm{padding:0.3rem 0.7rem;font-size:0.75rem;}
.btn-outline{background:white;color:var(--burgundy);border:1.5px solid var(--border);}
.btn-outline:hover:not(:disabled){border-color:var(--burgundy);}
.table-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:0.87rem;}
th{background:var(--burgundy-dark);color:var(--gold-light);padding:0.7rem 1rem;text-align:left;font-weight:700;font-size:0.74rem;text-transform:uppercase;letter-spacing:0.08em;}
td{padding:0.65rem 1rem;border-bottom:1px solid var(--border);color:var(--ink);}
tr:last-child td{border-bottom:none;}
tr:hover td{background:var(--gold-pale);}
.badge{display:inline-block;padding:0.2rem 0.65rem;border-radius:20px;font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;}
.badge-active{background:#e8f5e9;color:#2e7d32;}
.badge-inactive{background:#f0f0f0;color:#888;}
.badge-gold{background:var(--gold-pale);color:var(--gold);border:1px solid #e8d88a;}
.badge-wa{background:#e8fdf0;color:#1a7a42;}
.badge-orientador{background:#f3e8ff;color:#6b21a8;}
.badge-antigo{background:#fef3c7;color:#92400e;}
.badge-novo{background:#dbeafe;color:#1e40af;}
.badge-especial{background:#ede9fe;color:#6d28d9;}
.badge-casal{background:#fce7f3;color:#9d174d;}
.toggle{position:relative;width:44px;height:24px;flex-shrink:0;}
.toggle input{opacity:0;width:0;height:0;}
.toggle-slider{position:absolute;inset:0;background:#ddd;border-radius:24px;cursor:pointer;transition:0.3s;}
.toggle-slider:before{content:'';position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:white;border-radius:50%;transition:0.3s;}
.toggle input:checked+.toggle-slider{background:var(--burgundy);}
.toggle input:checked+.toggle-slider:before{transform:translateX(20px);}
.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.cal-title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:700;color:var(--burgundy-dark);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.cal-day-name{text-align:center;font-size:0.67rem;font-weight:700;color:var(--slate);text-transform:uppercase;padding:0.4rem 0;letter-spacing:0.07em;}
.cal-cell{aspect-ratio:1;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:0.82rem;cursor:default;border:1.5px solid transparent;transition:all 0.15s;position:relative;}
.cal-cell.empty{background:transparent;}
.cal-cell.weekday{background:#f5f2ec;color:#bbb;}
.cal-cell.weekend{background:white;color:var(--ink);font-weight:700;border-color:var(--border);cursor:pointer;}
.cal-cell.weekend:hover{border-color:var(--gold);background:var(--gold-pale);}
.cal-cell.sabado{border-left:3px solid var(--gold)!important;}
.cal-cell.domingo{border-left:3px solid var(--burgundy)!important;}
.cal-cell.especial{background:#faf5ff;border:2px solid var(--especial)!important;cursor:pointer;color:var(--ink);font-weight:700;}
.cal-cell.especial:hover{background:#ede9fe;}
.cal-cell.has-avail{background:#f0f7f0;border-color:var(--sage)!important;}
.cal-cell.selected{background:var(--burgundy-dark)!important;color:var(--gold-light)!important;border-color:var(--burgundy-dark)!important;}
.cal-dot{width:5px;height:5px;border-radius:50%;background:var(--sage);margin-top:2px;}
.cal-count{font-size:0.65rem;font-weight:700;color:var(--sage);background:#dcfce7;border-radius:8px;padding:0 3px;margin-top:1px;line-height:1.4;}
.cal-cell.no-pointer{cursor:default;}
.cal-cell.no-pointer:hover{background:inherit;transform:none;}
.cal-cell.semanal{background:#f0f4ff;color:#1e3a8a;border:1px solid #bfdbfe;cursor:pointer;}
.cal-cell.semanal:hover{background:#dbeafe;}
.cal-cell.semanal.has-avail{background:#d1fae5;border-color:var(--sage);}
.cal-cell.semanal.selected{background:var(--burgundy-dark)!important;color:var(--gold-light)!important;}
.cal-cell.selected .cal-dot{background:var(--gold);}
.cal-especial-icon{position:absolute;top:2px;right:3px;font-size:0.55rem;color:var(--especial);}
.cal-legend{display:flex;gap:0.75rem;margin-top:0.75rem;font-size:0.71rem;color:var(--slate);flex-wrap:wrap;}
.cal-legend-item{display:flex;align-items:center;gap:0.35rem;}
.cal-legend-dot{width:10px;height:10px;border-radius:2px;border-left:3px solid;}
.missa-section-title{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--slate);margin-bottom:0.5rem;}
.horario-grid{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1rem;}
.horario-btn{padding:0.45rem 1rem;border-radius:7px;border:2px solid var(--border);background:white;cursor:pointer;font-family:'Lato',sans-serif;font-size:0.85rem;font-weight:700;color:var(--slate);transition:all 0.18s;}
.horario-btn:hover{border-color:var(--gold);}
.horario-btn.selected{background:var(--burgundy-dark);color:var(--gold-light);border-color:var(--burgundy-dark);}
.escala-day{margin-bottom:1rem;}
.escala-day-header{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.75rem;padding-bottom:0.5rem;border-bottom:2px solid var(--border);}
.escala-day-pill{background:var(--burgundy-dark);color:var(--gold-light);border-radius:6px;padding:0.25rem 0.75rem;font-size:0.74rem;font-weight:700;text-transform:uppercase;}
.escala-day-pill.especial{background:var(--especial);}
.escala-day-date{color:var(--slate);font-family:'Cormorant Garamond',serif;font-size:1rem;}
.escala-slot{display:flex;align-items:flex-start;gap:1rem;margin-bottom:0.5rem;padding:0.7rem 1rem;background:var(--gold-pale);border-radius:8px;border:1px solid #e8d88a;}
.escala-time{min-width:52px;font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:700;color:var(--burgundy);padding-top:2px;}
.escala-missa-label{font-size:0.68rem;color:var(--slate);font-style:italic;display:block;font-family:'Lato',sans-serif;font-weight:400;}
.escala-names{display:flex;flex-wrap:wrap;gap:0.4rem;align-items:center;}
.name-chip{border-radius:20px;padding:0.2rem 0.75rem;font-size:0.78rem;font-weight:700;}
.name-chip-normal{background:var(--burgundy-dark);color:var(--gold-light);}
.name-chip-orientador{background:#6b21a8;color:white;}
.name-chip-antigo{background:#92400e;color:#fef3c7;}
.name-chip-novo{background:#1e40af;color:#dbeafe;}
.name-chip-me{background:var(--gold);color:white;}
.slot-warn{font-size:0.72rem;color:#b45309;background:#fef3c7;border:1px solid #fcd34d;border-radius:5px;padding:0.2rem 0.5rem;margin-left:0.3rem;}
.escala-legenda{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1rem;font-size:0.75rem;align-items:center;}
.escala-legenda-item{display:flex;align-items:center;gap:0.3rem;}
.escala-legenda-dot{width:12px;height:12px;border-radius:50%;}
.minha-missa-card{background:var(--gold-pale);border:1px solid #e8d88a;border-radius:10px;padding:1rem 1.25rem;margin-bottom:0.75rem;display:flex;align-items:center;gap:1rem;}
.minha-missa-data{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:600;color:var(--burgundy-dark);}
.minha-missa-hora{font-size:0.85rem;color:var(--slate);}
.min-config{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:0.5rem;}
.min-item{display:flex;align-items:center;gap:0.5rem;background:white;border:1.5px solid var(--border);border-radius:8px;padding:0.5rem 0.8rem;}
.min-item label{margin-bottom:0;font-size:0.78rem;white-space:nowrap;text-transform:none;letter-spacing:0;font-weight:700;color:var(--ink);}
.min-item input{width:50px;margin-bottom:0;text-align:center;padding:0.3rem;}
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(26,16,32,0.6);z-index:200;align-items:center;justify-content:center;}
.modal-overlay.open{display:flex;}
.modal{background:white;border-radius:14px;padding:2rem;max-width:540px;width:92%;max-height:85vh;overflow-y:auto;border-top:4px solid var(--gold);}
.modal h2{font-family:'Cormorant Garamond',serif;font-size:1.6rem;margin-bottom:0.3rem;color:var(--burgundy-dark);}
.modal p{font-size:0.84rem;color:var(--slate);margin-bottom:1.2rem;}
.wa-user-list{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1.5rem;}
.wa-user-item{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 1rem;border:1.5px solid var(--border);border-radius:9px;cursor:pointer;transition:all 0.15s;}
.wa-user-item:hover{border-color:var(--wa);background:#f0fdf4;}
.modal-actions{display:flex;gap:0.75rem;justify-content:flex-end;flex-wrap:wrap;}
.toast{position:fixed;bottom:2rem;right:2rem;background:var(--burgundy-dark);color:white;padding:0.8rem 1.4rem;border-radius:10px;font-size:0.88rem;z-index:999;transform:translateY(100px);opacity:0;transition:all 0.3s;display:flex;align-items:center;gap:0.6rem;border-left:4px solid var(--gold);}
.toast.show{transform:translateY(0);opacity:1;}
.toast-icon{color:var(--gold);}
.month-btn{background:none;border:none;color:var(--burgundy);cursor:pointer;font-size:1.3rem;padding:0.25rem 0.6rem;border-radius:6px;transition:background 0.15s;}
.month-btn:hover{background:#f2ecd8;}
.divider{border:none;border-top:1px solid var(--border);margin:1.5rem 0;}
.alert{padding:0.75rem 1rem;border-radius:8px;font-size:0.85rem;margin-bottom:1rem;}
.alert-info{background:#f0f4ff;color:#2c4a9a;border:1px solid #c5d0f5;}
.alert-success{background:#f0faf0;color:#2d6a3a;border:1px solid #a8d5b0;}
.alert-warn{background:#fff8e1;color:#8a6000;border:1px solid #ffe082;}
.alert-purple{background:#f5f3ff;color:#5b21b6;border:1px solid #c4b5fd;}
.input-group{position:relative;margin-bottom:1rem;}
.input-group .prefix{position:absolute;left:0.9rem;top:50%;transform:translateY(-50%);color:var(--slate);pointer-events:none;}
.input-group input{padding-left:2.8rem;margin-bottom:0;}
/* Autocomplete conjuge */
.autocomplete-wrap{position:relative;margin-bottom:1rem;}
.autocomplete-wrap input{margin-bottom:0;}
.autocomplete-list{position:absolute;top:100%;left:0;right:0;background:white;border:1.5px solid var(--gold);border-top:none;border-radius:0 0 8px 8px;z-index:50;max-height:180px;overflow-y:auto;box-shadow:0 4px 12px rgba(0,0,0,0.1);}
.autocomplete-item{padding:0.55rem 0.9rem;cursor:pointer;font-size:0.88rem;transition:background 0.15s;}
.autocomplete-item:hover{background:var(--gold-pale);}
/* Ciclo mensal dashboard */
.ciclo-card{background:linear-gradient(135deg,var(--burgundy-dark),#2a0818);border-radius:10px;padding:1.25rem 1.5rem;color:white;margin-bottom:1.5rem;}
.ciclo-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--gold-light);margin-bottom:0.75rem;}
.ciclo-progress{background:rgba(255,255,255,0.15);border-radius:20px;height:8px;margin:0.5rem 0;}
.ciclo-progress-bar{background:var(--gold);border-radius:20px;height:8px;transition:width 0.5s;}
.ciclo-stats{display:flex;gap:1.5rem;margin-top:0.75rem;font-size:0.8rem;color:rgba(245,233,192,0.7);}
.ciclo-stat strong{color:var(--gold-light);font-size:1.1rem;display:block;}
.nao-respondeu-list{margin-top:0.75rem;display:flex;flex-wrap:wrap;gap:0.4rem;}
/* Especial form */
.especial-card{border:2px solid var(--especial);border-radius:10px;padding:1.25rem;background:#faf5ff;}
.especial-list-item{display:flex;align-items:center;justify-content:space-between;padding:0.6rem 0.75rem;border:1.5px solid #ddd6fe;border-radius:8px;background:white;margin-bottom:0.4rem;}
/* FUNCOES MINISTERIAIS */
.func-missal{background:#fde8e8;color:#991b1b;border:1.5px solid #fca5a5;}
.func-credencia{background:#dbeafe;color:#1e3a8a;border:1.5px solid #93c5fd;}
.func-reserva{background:#dcfce7;color:#166534;border:1.5px solid #86efac;}
.func-btn{padding:0.15rem 0.5rem;border-radius:12px;font-size:0.68rem;font-weight:700;cursor:pointer;border:1.5px solid;transition:all 0.15s;font-family:'Lato',sans-serif;}
.func-btn:hover{opacity:0.8;}
.func-badge{display:inline-block;padding:0.15rem 0.5rem;border-radius:12px;font-size:0.68rem;font-weight:700;}
/* STATUS ESCALA */
.escala-status-bar{display:flex;align-items:center;gap:1rem;padding:0.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:0.85rem;flex-wrap:wrap;}
.escala-status-rascunho{background:#fff8e1;border:1.5px solid #ffe082;color:#8a6000;}
.escala-status-finalizada{background:#f0faf0;border:1.5px solid #a8d5b0;color:#2d6a3a;}
/* EDIT SLOT MODAL */
.slot-edit-item{display:flex;align-items:center;justify-content:space-between;padding:0.6rem 0.75rem;border:1.5px solid var(--border);border-radius:8px;margin-bottom:0.4rem;background:white;}
.slot-edit-name{font-weight:700;font-size:0.88rem;}
.slot-edit-funcs{display:flex;gap:0.3rem;}
.bottom-nav{display:none;}

@media(max-width:720px){
  .grid-2,.grid-3{grid-template-columns:1fr;}
  .cal-cell{font-size:0.67rem;}
  .nav-tabs{gap:0.1rem;}
  .nav-tab{padding:0.35rem 0.3rem;font-size:0.65rem;}
  .nav-brand-text span{display:none;}
  .page{padding:1rem;}

  body.ministro-mode .nav-tabs{display:none;}
  body.ministro-mode .bottom-nav{
    display:flex;position:fixed;bottom:0;left:0;right:0;
    background:var(--burgundy-dark);border-top:2px solid var(--gold);
    z-index:200;padding-bottom:env(safe-area-inset-bottom,0px);
  }
  body.ministro-mode .bottom-tab{
    flex:1;display:flex;flex-direction:column;align-items:center;gap:0.25rem;
    padding:0.65rem 0.5rem;background:none;border:none;
    color:rgba(245,233,192,0.45);font-family:'Lato',sans-serif;
    font-size:0.68rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;
    cursor:pointer;transition:all 0.2s;
  }
  body.ministro-mode .bottom-tab-icon{font-size:1.25rem;line-height:1;}
  body.ministro-mode .bottom-tab.active{color:var(--gold);background:rgba(184,151,42,0.15);}
  body.ministro-mode .bottom-tab:hover{color:var(--gold-light);}
  body.ministro-mode .page{padding-bottom:calc(1rem + 72px);}
}
