:root{--display-font: "Fraunces", "Times New Roman", serif;--body-font: "Manrope", system-ui, sans-serif;--blue-900: #0c1a2b;--blue-700: #173b5f;--blue-500: #1f6f82;--blue-300: #7fc1ce;--gray-900: #111827;--gray-700: #334155;--gray-500: #64748b;--gray-300: #d7dde6;--white: #ffffff;--cloud: #f3f6fb;--accent: #f2b45b;--card: #ffffff;--shadow: 0 24px 50px rgba(15, 23, 42, .16);--radius: 24px;--glass: rgba(255, 255, 255, .8);--outline: rgba(15, 23, 42, .08);--glow: 0 0 0 1px rgba(15, 23, 42, .04), 0 20px 40px rgba(15, 23, 42, .12)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--body-font);background:radial-gradient(1200px 600px at 8% -10%,rgba(31,111,130,.18),transparent 60%),radial-gradient(900px 500px at 90% 0%,rgba(242,180,91,.22),transparent 55%),linear-gradient(180deg,#f7f9fc,#fff 45%,#f3f6fb);color:var(--gray-900);min-height:100vh}a{color:inherit;text-decoration:none}.app{display:flex;flex-direction:column;min-height:100vh}.container{width:min(1120px,90vw);margin:0 auto}.site-header{position:sticky;top:0;z-index:10;background:#ffffffd1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(15,23,42,.08)}.header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:18px 0}.logo{display:flex;align-items:center;gap:12px}.logo-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(140deg,#0c1a2b,#1f6f82 55%,#f2b45b);box-shadow:inset 0 0 0 2px #ffffff59,0 10px 20px #0f172a40}.logo-title{font-weight:700;letter-spacing:-.02em;font-family:var(--display-font)}.logo-subtitle{font-size:.85rem;color:var(--gray-500)}.nav{display:flex;justify-content:center;gap:20px}.nav-link{font-weight:600;color:var(--gray-700);padding:8px 12px;border-radius:999px;transition:background .2s ease,color .2s ease,transform .2s ease}.nav-link.router-link-active{background:#1f6f8229;color:var(--blue-900)}.nav-link:hover{background:#1f6f821a;transform:translateY(-1px)}.cta{display:flex;justify-content:flex-end}.main{flex:1}.hero{padding:90px 0 50px}.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;align-items:center}.hero-grid>*{animation:fade-up .7s ease both}.hero-grid>*:nth-child(2){animation-delay:.08s}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:#1f6f82e6;font-weight:700}h1{font-family:var(--display-font);font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.1;margin:16px 0;color:var(--blue-900)}h2,h3{font-family:var(--display-font);letter-spacing:-.01em}.lead{font-size:1.1rem;color:var(--gray-700);max-width:520px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.hero-card{background:linear-gradient(140deg,#0c1a2bf2,#1f6f82e6);color:var(--white);padding:32px;border-radius:calc(var(--radius) + 4px);box-shadow:var(--glow);border:1px solid rgba(255,255,255,.12)}.hero-card h3{font-size:1.5rem;margin:12px 0}.hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.hero-tags span{background:#ffffff2e;padding:6px 12px;border-radius:999px;font-size:.85rem}.section{padding:80px 0}.section-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:12px}.ministry-banner{border-radius:var(--radius);overflow:hidden;box-shadow:var(--glow);margin-bottom:28px;background:#0c1a2b;border:1px solid var(--outline)}.ministry-banner img{width:100%;display:block;aspect-ratio:16 / 9;object-fit:cover}.section.alt{background:linear-gradient(180deg,#f3f6fbcc,#ffffffe6)}.live-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;align-items:start}.live-page-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:start}.live-stage{background:#0a111a;border-radius:24px;padding:10px;border:1px solid rgba(12,26,43,.12);box-shadow:var(--shadow);aspect-ratio:16 / 9;display:grid;place-items:center;overflow:hidden;position:relative}.live-stage iframe{width:100%;height:100%;border:0}.live-info-card{background:var(--glass);border-radius:24px;padding:28px;border:1px solid var(--outline);box-shadow:var(--glow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.live-info-card h3{margin:10px 0 12px}.live-info-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:12px}.fullscreen-button{position:absolute;right:12px;bottom:12px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:#0000008c;color:#fff;padding:6px 12px;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}.fullscreen-button:hover{transform:translateY(-1px);background:#000000b3;border-color:#ffffffb3}@media(max-width:900px){.live-page-grid{grid-template-columns:1fr}}.tv-frame{background:linear-gradient(160deg,#0c1a2b,#1f6f82);padding:18px;border-radius:26px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.12)}.tv-screen{background:#0a111a;border-radius:18px;padding:8px;aspect-ratio:16 / 9;display:grid;place-items:center;overflow:hidden;position:relative}.tv-screen iframe{width:100%;height:100%;border:0}.tv-placeholder{color:#ffffffbf;text-align:center;padding:24px;font-size:.95rem}.tv-placeholder code{color:var(--accent)}.tv-stand{width:60%;height:10px;margin:18px auto 0;border-radius:999px;background:#fff3}.playlist-card{background:var(--glass);border-radius:24px;padding:28px;border:1px solid var(--outline);box-shadow:var(--glow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.playlist-card h3{margin:10px 0 12px}.sermon-grid{display:grid;gap:16px;margin-top:18px}.sermon-card{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:14px;border-radius:18px;border:1px solid rgba(15,23,42,.08);transition:transform .2s ease,box-shadow .2s ease;background:#f3f6fbe6}.sermon-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px #0c1a2c1f}.sermon-card.disabled{pointer-events:none;opacity:.7;box-shadow:none}.sermon-thumb{position:relative;border-radius:12px;background:linear-gradient(140deg,#1d5fa2,#2bb3c0);background-size:cover;background-position:center;min-height:88px}.sermon-duration{position:absolute;right:8px;bottom:8px;background:#000000a6;color:var(--white);padding:4px 8px;border-radius:999px;font-size:.75rem}.sermon-meta h4{margin-bottom:6px;color:var(--blue-900)}.sermon-meta p{color:var(--gray-700)}.sermon-empty{margin-top:18px;padding:16px;border-radius:12px;background:var(--cloud);color:var(--gray-700)}.section-header{margin-bottom:32px;max-width:720px}.section-header h2{font-family:var(--display-font);font-size:clamp(1.8rem,3vw,2.6rem);margin:12px 0;color:var(--blue-900)}.section-subtitle{color:var(--gray-700)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.card{background:var(--glass);padding:24px;border-radius:22px;box-shadow:var(--glow);border:1px solid var(--outline);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card h3{margin-bottom:10px}.card-link{display:block;transition:transform .2s ease,box-shadow .2s ease}.card-link:hover{transform:translateY(-2px);box-shadow:0 16px 34px #0c1a2c29}.calendar-frame{border-radius:18px;overflow:hidden;border:1px solid rgba(15,23,42,.1);background:var(--glass);box-shadow:var(--glow)}.calendar-placeholder{padding:40px;text-align:center;color:var(--gray-700)}.booking{padding:70px 0}.booking-frame{border-radius:28px;padding:40px clamp(20px,4vw,48px);background:var(--glass);border:1px solid var(--outline);box-shadow:var(--glow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.section-header.centered{text-align:center;margin-left:auto;margin-right:auto}.booking-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.form{display:grid;gap:16px}.form-row{display:grid;gap:8px}.form-row.split{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.payment-placeholder{display:grid;place-items:center;text-align:center;min-height:220px;background:var(--cloud)}label{font-weight:600;color:var(--gray-700)}input,select,textarea{border:1px solid rgba(15,23,42,.14);padding:10px 12px;border-radius:12px;font-family:inherit;font-size:.95rem;background:#ffffffe6}input:focus,select:focus,textarea:focus{outline:2px solid rgba(31,111,130,.28);border-color:#1f6f8280}.form-actions{display:grid;gap:10px}.button{background:linear-gradient(135deg,#0c1a2b,#1f6f82 55%,#f2b45b 120%);color:var(--white);padding:12px 18px;border-radius:999px;border:none;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #0c1a2c40;filter:brightness(1.02)}.button.outline{background:transparent;color:var(--blue-900);border:1px solid rgba(31,111,130,.5)}.button.ghost{background:#1f6f821f;color:var(--blue-900)}.button.whatsapp{background:linear-gradient(135deg,#25d366,#128c7e 120%);color:#fff}.error{color:#b42318;font-weight:600}.success{color:#0f766e;font-weight:600}.payment h3{margin-bottom:10px}.payment-status{display:grid;gap:10px;margin-top:18px}.muted{color:var(--gray-500)}.accordion{display:grid;gap:12px}.accordion-item{border-radius:16px;border:1px solid rgba(107,163,214,.25);overflow:hidden;background:var(--white)}.accordion-trigger{width:100%;text-align:left;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;font-weight:600;background:#1d5fa212;border:none}.accordion-panel{padding:16px 20px 20px;background:var(--white)}.list{list-style:none;display:grid;gap:6px;color:var(--gray-700)}.note{margin-top:32px}.site-footer{padding:40px 0 50px;background:linear-gradient(135deg,#0c1a2b,#173b5f);color:var(--white)}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}.footer-title{font-weight:700;font-size:1.1rem}.footer-subtitle{color:#ffffffb3;margin-top:6px}.footer-links{display:flex;gap:10px;align-items:center;color:#fffc}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:860px){.header-inner{grid-template-columns:1fr;justify-items:start}.nav{justify-content:flex-start;flex-wrap:wrap}.cta{justify-content:flex-start}}.portal-shell{background:radial-gradient(circle at top,#eef4fb,#fff 55%,#f3f6fb);min-height:70vh}.portal-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;margin-bottom:40px;align-items:center}.portal-hero-card{background:linear-gradient(135deg,#0c1a2b,#1f6f82);color:#fff;padding:24px;border-radius:24px;box-shadow:var(--glow)}.portal-hero-label{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:#ffffffa6;margin-bottom:12px}.portal-hero-title{font-size:1.4rem;margin-bottom:8px}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.portal-card{background:var(--portal-surface, rgba(255, 255, 255, .86));border-radius:22px;padding:22px;box-shadow:var(--glow);border:1px solid var(--outline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .2s ease,box-shadow .2s ease}.portal-card h3{margin:14px 0 8px;color:var(--gray-900)}.portal-card p{color:var(--gray-700)}.portal-card:hover{transform:translateY(-4px);box-shadow:0 22px 46px #0c1a2c2e}.portal-card-header{display:flex;align-items:center;justify-content:space-between}.portal-tag{display:inline-flex;padding:6px 12px;border-radius:999px;background:#1f6f821f;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.portal-arrow{font-size:1.1rem}.portal-login{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:30px;align-items:start}.portal-login-panel{padding:28px;border-radius:26px;color:#fff;background:var(--portal-gradient, linear-gradient(135deg, #1d5fa2, #0b2b4b));box-shadow:var(--shadow)}.portal-login-panel h2{font-size:2rem;margin:16px 0 10px}.portal-login-panel p{color:#ffffffd9}.portal-login-accent{margin-top:18px;height:6px;width:60%;background:#fff6;border-radius:999px}.portal-login-form{display:grid;gap:14px}.portal-login-form form{display:grid;gap:12px}.portal-login-subtitle{color:var(--gray-500);margin-bottom:4px}.form-label{font-weight:600;color:var(--gray-700);font-size:.9rem}input{border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:12px 14px;font-size:1rem;font-family:inherit}input:focus{outline:2px solid rgba(29,95,162,.35);border-color:#1d5fa273}.form-error{color:#b91c1c;font-weight:600}.form-note{color:var(--gray-500)}.portal-detail-hero{background:var(--portal-gradient, linear-gradient(135deg, #1f6f82, #0c1a2b));color:#fff;padding:28px;border-radius:26px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-bottom:32px;box-shadow:var(--shadow)}.portal-detail-hero.admin{background:linear-gradient(135deg,#111827,#1f2937)}.portal-detail-hero.admin,.portal-detail-hero.admin h1,.portal-detail-hero.admin h2,.portal-detail-hero.admin h3,.portal-detail-hero.admin p,.portal-detail-hero.admin .portal-tag,.portal-detail-hero.admin .portal-user-label,.portal-detail-hero.admin .portal-user-name,.portal-detail-hero.admin .portal-user-role,.portal-detail-hero.admin a,.portal-detail-hero.admin span,.portal-detail-hero.admin button{color:#fff}.portal-user-card{background:#ffffff1f;border-radius:18px;padding:18px}.portal-user-label{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:#ffffffb3}.portal-user-name{font-size:1.4rem;margin:8px 0}.portal-user-role{color:#fffc;margin-bottom:12px}.portal-user-actions{display:flex;flex-wrap:wrap;gap:10px}.portal-action{display:grid;gap:12px}.announcements{margin-top:36px;display:grid;gap:20px}.announcements-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.announcements-form{background:#fff;border-radius:18px;padding:18px;box-shadow:var(--shadow);display:grid;gap:12px}.announcements-form form{display:grid;gap:12px}.announcements-form label{display:grid;gap:6px;font-weight:600;color:#1f2937}.announcements-form textarea{border-radius:12px;border:1px solid #e5e7eb;padding:10px 12px;font-size:.95rem;font-family:inherit}.announcements-form-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.announcements-targets{display:grid;gap:10px;padding:12px;border-radius:14px;background:#0f172a0a}.announcements-targets-title{font-weight:700;color:#1f2937}.announcements-toggle{display:flex;align-items:center;gap:8px;font-size:.95rem;color:#334155}.announcements-target-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.announcements-target{display:flex;align-items:center;gap:8px;font-weight:500;color:#1f2937}.announcements-select{display:grid;gap:6px;font-weight:600;color:#1f2937}.announcements-pills{display:flex;flex-wrap:wrap;gap:8px}.announcements-pill{border-radius:999px;border:1px solid rgba(15,23,42,.18);padding:6px 14px;background:#fff;font-size:.9rem;font-weight:600;color:#1f2937;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.announcements-pill.active{background:#1d5fa224;border-color:#1d5fa266;color:#1d5fa2;box-shadow:0 8px 20px #1d5fa233}.announcements-pill:hover{transform:translateY(-1px)}.announcements-actions{display:flex;justify-content:flex-end;gap:10px}.announcements-list{display:grid;gap:16px}.announcements-item{background:#fff;border-radius:18px;padding:18px;box-shadow:var(--shadow);border:1px solid rgba(15,23,42,.08);display:grid;gap:10px}.announcements-item-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.announcements-badge{padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600;background:#0f172a14;color:#1f2937}.announcements-badge.global{background:#1d5fa21f;color:#1d5fa2}.announcements-body{color:var(--gray-700);white-space:pre-wrap}.announcements-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem;color:var(--gray-500)}.announcements-item-actions{display:flex;gap:10px;justify-content:flex-end}.announcements-loading,.announcements-empty{color:var(--gray-500)}.form-toggle{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--gray-700);margin-top:6px}.form-toggle input[type=checkbox]{accent-color:var(--blue-500)}.kanban{margin-top:40px;display:grid;gap:20px}.kanban-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.kanban-subtitle{color:var(--gray-500);margin-top:6px}.kanban-form{background:#fff;border-radius:18px;padding:18px;box-shadow:var(--shadow);display:grid;gap:14px}.kanban-form-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.kanban-form label{display:grid;gap:6px;font-weight:600;color:#1f2937}.kanban-form input,.kanban-form select,.kanban-form textarea,.kanban-comment-form input{border-radius:12px;border:1px solid #e5e7eb;padding:10px 12px;font-size:.95rem}.kanban-form-actions{display:flex;justify-content:flex-end}.kanban-columns{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.kanban-column{background:#f8fafc;border-radius:18px;padding:16px;display:grid;gap:12px}.kanban-column-header{display:flex;justify-content:space-between;align-items:center}.kanban-count{background:#1f2937;color:#fff;font-size:.75rem;padding:4px 10px;border-radius:999px}.kanban-list{display:grid;gap:12px}.kanban-card{background:#fff;border-radius:16px;padding:14px;display:grid;gap:12px;box-shadow:0 10px 20px #0f172a14}.kanban-card-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.kanban-assignee{font-size:.75rem;padding:4px 10px;border-radius:999px;background:#3b82f61f;color:#1d4ed8}.kanban-card-body{color:#374151}.kanban-controls{display:grid;gap:10px}.kanban-controls label,.kanban-meta{display:grid;gap:6px;font-size:.85rem;color:#4b5563}.kanban-comments{border-top:1px solid #e5e7eb;padding-top:10px;display:grid;gap:8px}.kanban-comments-title{font-weight:600;font-size:.85rem;color:#374151}.kanban-comment{background:#f9fafb;border-radius:12px;padding:8px 10px}.kanban-comment-author{font-weight:600;font-size:.8rem}.kanban-comment-body{font-size:.85rem;color:#374151}.kanban-comment-form{display:flex;gap:10px}.kanban-comment-form input{flex:1}.kanban-empty,.kanban-loading{color:#6b7280;font-size:.9rem}.roster{margin-top:32px;background:var(--portal-surface, #ffffff);border-radius:24px;padding:24px;box-shadow:0 24px 60px #0f172a14}.roster-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.roster-header h2{margin:0 0 6px}.roster-panel{margin-top:16px}.roster-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.roster-card{background:#0f172a08;border-radius:18px;padding:18px;min-width:0}.roster-card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.roster-card-header h3{margin:0}.roster-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.roster-filter{display:grid;gap:4px;font-size:.8rem;color:#0f172a}.roster-filter select{border-radius:10px;border:1px solid rgba(15,23,42,.15);padding:6px 10px;font-size:.85rem}.roster-form{display:grid;gap:12px}.roster-form input[type=file]{width:100%;max-width:100%}.roster-form button.button{width:100%}.roster-form label{display:grid;gap:6px;font-size:.9rem;color:#0f172a;width:100%}.roster-form input,.roster-form select{border-radius:12px;border:1px solid rgba(15,23,42,.15);padding:10px 12px;font-size:.95rem;width:100%;box-sizing:border-box}.roster-help{margin:6px 0 12px;color:#64748b;font-size:.85rem}.roster-success{margin-top:10px;color:#15803d;font-weight:600;font-size:.9rem}.roster-errors{margin-top:10px;padding-left:18px;color:#b91c1c;font-size:.85rem}.roster-list{display:grid;gap:12px}.roster-item{background:#fff;border-radius:14px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 6px 16px #0f172a14}.roster-info{display:grid;gap:2px}.roster-name{font-weight:600;color:#0f172a;margin:0}.roster-email{margin:0;color:#64748b;font-size:.85rem}.roster-actions{display:flex;align-items:center;gap:12px}.roster-role{display:grid;gap:6px;font-size:.85rem;color:#0f172a}.roster-role select{border-radius:10px;border:1px solid rgba(15,23,42,.15);padding:6px 10px}.roster-loading,.roster-empty{padding:16px;text-align:center;color:#64748b}.roster-overview-toolbar{margin-top:24px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end}.roster-overview-toolbar label{display:grid;gap:6px;font-size:.9rem;color:#0f172a}.roster-overview-toolbar input,.roster-overview-toolbar select{border-radius:12px;border:1px solid rgba(15,23,42,.15);padding:10px 12px;font-size:.95rem}.roster-overview-grid{margin-top:20px;display:grid;gap:20px}.roster-overview-card{background:var(--portal-surface, #ffffff);border-radius:20px;padding:18px;box-shadow:0 18px 40px #0f172a14}.roster-overview-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.roster-overview-entity{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:#64748b;margin:0 0 4px}.roster-overview-count{background:#0f172a14;border-radius:999px;padding:6px 12px;font-size:.85rem;color:#0f172a}.roster-overview-list{display:grid;gap:10px}.roster-overview-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0f172a08;border-radius:14px;padding:10px 12px}.roster-overview-role{font-size:.85rem;font-weight:600;color:#0f172a;text-transform:capitalize}@media(max-width:900px){.roster-header-actions{width:100%;justify-content:flex-start}}.schedules{margin-top:32px;background:var(--portal-surface, #ffffff);border-radius:24px;padding:24px;box-shadow:0 24px 60px #0f172a14}.schedules-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.schedules-header.global{margin-top:24px}.schedules-actions{display:flex;gap:10px;flex-wrap:wrap}.schedules-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.schedules-card{background:#0f172a08;border-radius:18px;padding:18px}.schedules-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.schedules-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.schedules-header-actions label{display:grid;gap:4px;font-size:.8rem}.schedules-header-actions input{border-radius:10px;border:1px solid rgba(15,23,42,.15);padding:6px 10px}.schedules-form{display:grid;gap:12px}.schedules-form label{display:grid;gap:6px;font-size:.9rem}.schedules-form input,.schedules-form select,.schedules-form textarea{border-radius:12px;border:1px solid rgba(15,23,42,.15);padding:10px 12px;font-size:.95rem;width:100%;box-sizing:border-box}.schedules-form-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.schedules-toggle{display:flex;gap:10px;align-items:center}.schedules-recurring{display:grid;gap:12px;background:#0f172a0a;border-radius:14px;padding:12px}.schedules-weekdays{display:flex;gap:10px;flex-wrap:wrap}.schedules-weekdays label{display:inline-flex;gap:6px;align-items:center;font-size:.85rem}.schedules-form-actions{display:flex;gap:12px;flex-wrap:wrap}.schedules-form-actions .button{flex:1 1 180px}.schedules-list{display:grid;gap:12px}.schedules-item{display:flex;justify-content:space-between;gap:16px;background:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 6px 16px #0f172a14}.schedules-title{margin:0 0 4px;font-weight:600}.schedules-meta{margin:0;color:#64748b;font-size:.85rem}.schedules-item-actions{display:flex;gap:8px}.schedules-loading,.schedules-empty{padding:16px;text-align:center;color:#64748b}.schedules-calendar{margin-top:24px;background:var(--portal-surface, #ffffff);border-radius:24px;padding:20px;box-shadow:0 18px 40px #0f172a14}.schedules-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.schedules-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.schedules-calendar-day{text-align:center;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.schedules-calendar-cell{border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:12px;min-height:74px;padding:8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;cursor:pointer}.schedules-calendar-cell.muted{opacity:.4}.schedules-calendar-cell.active{border-color:#0e749066;box-shadow:0 0 0 2px #0e749026}.schedules-calendar-count{align-self:flex-end;background:#0f172a14;border-radius:999px;padding:2px 8px;font-size:.75rem}.schedules-calendar-list{margin-top:16px}.schedules-audit-changes{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:12px}.schedules-audit-column{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.schedules-audit-title{font-weight:600;margin-bottom:8px}.schedules-audit-column pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.85rem;color:#334155}
