@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--green:#173d34;--green2:#245a4a;--gold:#d4a94f;--cream:#f6f4ee;--ink:#17231f;--muted:#718079;--line:#e6e9e5;--white:#fff;--shadow:0 12px 35px rgba(24,50,42,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink)}button,a{font:inherit}.admin-body{background:#f5f7f5;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#102c26;color:#dce8e3;padding:28px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 27px}.brand-mark{width:39px;height:39px;display:grid;place-items:center;background:var(--gold);color:#102c26;border-radius:12px;font-family:Georgia;font-size:25px}.brand strong,.brand small{display:block}.brand strong{font-family:Georgia;font-size:20px}.brand small{color:#89a49b;letter-spacing:.17em;font-size:9px;text-transform:uppercase}.parish-switch{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:10px;background:#1b3b33;border:1px solid #2c5046;border-radius:12px;padding:10px;margin-bottom:27px}.parish-avatar,.avatar{display:grid;place-items:center;border-radius:9px;background:#d5ad59;color:#17352d;font-weight:700;font-size:12px;height:34px}.parish-switch small,.parish-switch strong{display:block}.parish-switch small{font-size:9px;color:#87a098}.parish-switch strong{font-size:12px}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.sidebar-bottom>a{display:flex;align-items:center;gap:13px;color:#aac0b9;text-decoration:none;padding:11px 13px;border-radius:9px;font-size:13px}.sidebar nav a span,.sidebar-bottom>a span{font-size:18px;width:20px;text-align:center}.sidebar nav a:hover,.sidebar nav a.active{background:#24483e;color:#fff}.sidebar-bottom{margin-top:auto}.profile{border-top:1px solid #315048;margin-top:14px;padding:18px 4px 0;display:grid;grid-template-columns:35px 1fr auto;gap:9px;align-items:center}.profile .avatar{background:#d9e3df}.profile strong,.profile small{display:block;font-size:11px}.profile small{color:#819991;margin-top:3px}.profile button{color:#9db1aa;background:none;border:0}.main{margin-left:244px;padding:34px 42px 60px;max-width:1700px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{margin:0 0 6px;color:#9a7b39;letter-spacing:.13em;font-weight:700;font-size:9px}.topbar h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:32px;margin:0 0 5px;font-weight:400}.topbar p{margin:0;color:var(--muted);font-size:13px}.top-actions{display:flex;gap:10px;align-items:center}.button{border:0;border-radius:9px;padding:11px 16px;text-decoration:none;font-weight:600;font-size:12px;cursor:pointer}.button.primary{background:var(--green);color:#fff}.button.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.button.dark{background:#102c26;color:#fff}.button.full{display:block;text-align:center}.icon-button{height:40px;width:40px;border:1px solid var(--line);background:#fff;border-radius:9px}.menu-button{display:none}.status-banner{background:linear-gradient(110deg,#173c33,#24594a);color:#fff;display:flex;align-items:center;gap:18px;padding:20px 25px;border-radius:15px;box-shadow:var(--shadow);position:relative;overflow:hidden}.status-banner:after{content:'';position:absolute;width:270px;height:270px;border:55px solid rgba(255,255,255,.035);border-radius:50%;right:26%;top:-130px}.live-icon{width:49px;height:49px;background:#315f53;border-radius:13px;display:grid;place-items:center;position:relative}.live-icon i{position:absolute;width:9px;height:9px;background:#69d697;border-radius:50%;right:-2px;top:-2px;border:3px solid #173c33}.status-title{display:flex;align-items:center;gap:10px}.status-title strong{font-size:14px}.live-pill{font-size:8px;letter-spacing:.12em;color:#173c33;background:#87e1ac;border-radius:4px;padding:4px 6px;font-weight:700}.status-banner p{margin:5px 0 0;font-size:10px;color:#a9c2ba}.status-meta{margin-left:auto;display:flex;align-items:center;gap:38px;z-index:1}.status-meta span small,.status-meta span strong{display:block}.status-meta small{color:#9bb7ae;font-size:9px;margin-bottom:5px}.status-meta strong{font-size:11px}.status-meta a{color:#f3d388;font-size:11px;text-decoration:none;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0}.stats-grid article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:19px;display:flex;justify-content:space-between}.stats-grid small,.stats-grid strong,.stats-grid em{display:block}.stats-grid small{color:var(--muted);font-size:10px}.stats-grid strong{font-size:25px;margin:9px 0 5px}.stats-grid strong b{font-size:12px}.stats-grid em{font-style:normal;color:#6e8d81;font-size:9px}.stat-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px}.stat-icon.green{background:#e6f1ec;color:#31745d}.stat-icon.gold{background:#f8efd9;color:#ad7d20}.stat-icon.blue{background:#e8eef5;color:#4b7198}.stat-icon.purple{background:#eee9f5;color:#745c98}.content-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 18px rgba(30,60,50,.03)}.schedule,.preview-panel,.recent{padding:23px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.panel-head h2{font-family:'Libre Caslon Display',Georgia,serif;font-size:20px;font-weight:400;margin:0}.text-button{border:0;background:none;color:#426c5d;font-size:10px;font-weight:600}.timeline article{display:grid;grid-template-columns:42px 13px 48px 1fr auto;gap:13px;align-items:center;min-height:67px;position:relative}.timeline article:not(:last-child):before{content:'';position:absolute;left:60px;top:43px;height:39px;width:1px;background:#d9dfdb}.timeline time{font-size:10px;color:#79857f;text-align:right}.timeline .dot{width:9px;height:9px;border:2px solid #b7c1bc;background:#fff;border-radius:50%;z-index:1}.timeline .past .dot{background:#6fae8d;border-color:#6fae8d;color:#fff;font-size:6px}.timeline .current .dot{background:#d8ad57;border-color:#f6e8c9;box-shadow:0 0 0 3px #f6e8c9}.thumb{height:44px;border-radius:8px;display:grid;place-items:center;font-size:20px}.morning{background:#e8c878}.mass{background:#274c42;color:#e5c77a}.choir{background:#8a625d;color:#fff}.prayer{background:#70828b;color:#fff}.timeline strong{font-size:11px}.timeline p{margin:4px 0 0;font-size:9px;color:#8a9690}.badge{font-size:8px;background:#f2f3f2;border-radius:20px;padding:5px 8px;color:#7c8883}.badge.live{background:#e5f4ea;color:#3b7b58}.badge.done{background:transparent}.add-program{width:100%;padding:10px;border:1px dashed #b7c4bf;background:#f8faf9;border-radius:8px;color:#52776a;font-size:10px;margin-top:13px}.online-dot{width:8px;height:8px;background:#5fc88b;border-radius:50%;box-shadow:0 0 0 4px #e2f4e9}.screen-preview{aspect-ratio:16/9;background:radial-gradient(circle at 50% 30%,#315b4d,#0b2520 70%);color:#fff;border-radius:10px;padding:13px;text-align:center;position:relative;overflow:hidden;box-shadow:0 12px 20px #173d3430}.screen-preview:before{content:'';position:absolute;inset:-100px auto auto -30px;width:180px;height:180px;border:1px solid #d7af5b33;border-radius:50%}.screen-top{display:flex;justify-content:space-between;font-size:6px;letter-spacing:.15em;color:#e0c27c}.mini-clock{font-size:10px;font-weight:700}.cross{color:#ddb963;font-size:17px;margin-top:8px}.screen-preview>small{display:block;font-size:5px;color:#c8d7d2;letter-spacing:.17em;margin-top:3px}.screen-preview>strong{display:block;font-family:Georgia;font-weight:400;font-size:21px;line-height:1.05;margin:5px}.mass-times{display:flex;justify-content:center;gap:24px;margin-top:10px}.mass-times span{font-size:5px;color:#bccbc6}.mass-times b{display:block;color:#f2d47f;font-size:11px}.mini-ticker{position:absolute;bottom:0;left:0;right:0;background:#d4a94f;color:#17332b;font-size:5px;text-align:left;padding:5px 10px}.preview-controls{display:flex;align-items:center;gap:6px;margin:16px 0}.preview-controls span{margin-right:auto}.preview-controls small,.preview-controls strong{display:block;font-size:9px}.preview-controls small{color:#8d9994}.preview-controls button{border:1px solid var(--line);background:#fff;border-radius:6px;width:29px;height:27px;font-size:12px}.preview-controls button.active{background:#e7f0ec;border-color:#789b8f;color:#265e4d}.recent{margin-top:18px}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.media-grid article{display:grid;grid-template-columns:100px 1fr;gap:13px;align-items:center;border:1px solid #edf0ed;border-radius:10px;padding:9px}.media-art{height:66px;border-radius:7px;color:#fff;display:grid;place-items:center;text-align:center}.blue-art{background:linear-gradient(135deg,#285363,#7ba6ae);font-family:Georgia;font-size:11px}.video-art{background:linear-gradient(135deg,#8f7760,#283832)}.event-art{background:#eadfc7;color:#6c4b28;font-size:7px}.event-art b{font-size:18px}.play{background:#ffffffcc;color:#24483e;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font-size:8px}.media-grid article>div:last-child strong,.media-grid article>div:last-child p{display:block;margin:5px 0 0}.media-grid article>div:last-child strong{font-size:10px}.media-grid article>div:last-child p{font-size:8px;color:#8c9692}.type{font-size:7px;font-weight:700}.type.image{color:#3d7a98}.type.video{color:#8e5f42}.type.notice{color:#9a7327}dialog{border:0;border-radius:16px;padding:0;box-shadow:0 30px 80px #102c2655;max-width:580px;width:calc(100% - 30px)}dialog::backdrop{background:#0b211c99;backdrop-filter:blur(4px)}.dialog-card{padding:32px;position:relative}.dialog-card h2{font-family:Georgia;font-size:27px;font-weight:400;margin:7px 0}.dialog-card>p:not(.eyebrow){font-size:12px;color:var(--muted)}.close{position:absolute;right:18px;top:15px;border:0;background:#f1f3f1;width:30px;height:30px;border-radius:50%;font-size:18px}.content-types{display:grid;gap:10px;margin-top:23px}.content-types button{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:11px;padding:14px;cursor:pointer}.content-types button:hover{border-color:#4e7a6b;background:#f7faf8}.content-types b{width:38px;height:38px;display:grid;place-items:center;background:#e8f0ed;border-radius:9px;color:#2f6856}.content-types strong,.content-types small{display:block}.content-types small{color:#8a9691;margin-top:3px;font-size:10px}
/* Display 4K */.display-body{background:#071c18;overflow:hidden}.display-shell{height:100vh;min-height:550px;color:#fff;background:radial-gradient(circle at 70% 42%,#244e42 0,#102f28 30%,#071c18 70%);display:grid;grid-template-rows:auto 1fr auto;position:relative;overflow:hidden}.display-header{display:flex;justify-content:space-between;align-items:center;padding:3.2vh 4vw;border-bottom:1px solid #ffffff18;z-index:2}.display-brand{display:flex;align-items:center;gap:1vw}.display-symbol{font-size:clamp(28px,2.7vw,80px);color:#dcb75d}.display-brand small,.display-brand strong{display:block}.display-brand small{font-size:clamp(7px,.55vw,16px);letter-spacing:.28em;color:#c5d5d0}.display-brand strong{font:400 clamp(18px,1.5vw,45px) Georgia;letter-spacing:.13em}.display-date{text-align:right}.display-date span,.display-date strong{display:block}.display-date span{font-size:clamp(7px,.55vw,16px);letter-spacing:.18em;color:#b9cbc5}.display-date strong{font-size:clamp(28px,2.4vw,72px);font-weight:500;color:#eed483}.display-main{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;padding:3vh 8vw 4vh;gap:7vw;position:relative}.halo{position:absolute;border:1px solid #d8b55c22;border-radius:50%}.halo.one{width:42vw;height:42vw;left:-23vw;top:-8vw}.halo.two{width:26vw;height:26vw;right:7vw;bottom:-18vw}.display-message{z-index:1}.display-kicker{display:inline-block;color:#ebcd7b;border-bottom:1px solid #d9b55d;font-size:clamp(8px,.7vw,20px);letter-spacing:.25em;padding-bottom:1.2vh}.display-message h1{font:400 clamp(60px,7vw,210px)/.84 'Libre Caslon Display',Georgia,serif;margin:3vh 0;color:#f9f5e8;letter-spacing:-.04em}.display-message h1 em{font-style:italic;color:#ebcd7b}.display-message p{font:italic clamp(12px,1vw,30px)/1.5 Georgia,serif;color:#c5d4cf;max-width:42vw;margin:4vh 0 1vh}.display-message small{color:#d9b962;font-size:clamp(7px,.55vw,16px);letter-spacing:.2em}.display-card{z-index:1;background:linear-gradient(145deg,#f6f0df,#ded0ad);color:#17352d;padding:5vh 3.5vw;border-radius:2vw;text-align:center;box-shadow:0 3vw 8vw #0007;position:relative}.display-card:before{content:'';position:absolute;inset:1vw;border:1px solid #9e7d3c55;border-radius:1.3vw}.card-cross{font-size:clamp(30px,3vw,90px);color:#9e792d}.display-card>p{letter-spacing:.24em;font-size:clamp(8px,.65vw,19px);font-weight:700;margin:2vh 0 4vh}.display-card>div:not(.card-cross){display:flex;align-items:center;justify-content:center;gap:2.5vw}.display-card span strong,.display-card span small{display:block}.display-card span strong{font:400 clamp(40px,4vw,120px) Georgia;color:#173c33}.display-card span small{font-size:clamp(8px,.65vw,20px);color:#6d766e}.display-card i{width:1px;height:8vh;background:#947d5266}.display-card footer{margin-top:4vh;padding-top:2vh;border-top:1px solid #927b5055;font-size:clamp(7px,.55vw,16px);letter-spacing:.1em}.display-ticker{display:flex;background:#f1d174;color:#18382f;height:7vh;min-height:48px;align-items:center;overflow:hidden;z-index:3}.ticker-label{height:100%;display:grid;place-items:center;padding:0 3vw;background:#d1aa50;font-weight:800;letter-spacing:.2em;font-size:clamp(8px,.65vw,20px)}.display-ticker>div{overflow:hidden;flex:1}.display-ticker p{white-space:nowrap;font-size:clamp(12px,1.05vw,32px);font-weight:600;animation:ticker 38s linear infinite;padding-left:100%;margin:0}@keyframes ticker{to{transform:translateX(-200%)}}.fullscreen-button{position:absolute;right:1vw;top:1vw;border:1px solid #ffffff33;background:#0b2722aa;color:#fff;width:40px;height:40px;border-radius:9px;opacity:.25;z-index:4}.fullscreen-button:hover{opacity:1}
@media(max-width:1000px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.main{margin-left:0;padding:24px}.menu-button{display:block}.topbar{align-items:flex-start}.top-actions .icon-button,.top-actions .secondary{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.status-meta span{display:none}.media-grid{grid-template-columns:1fr}.display-main{padding-left:5vw;padding-right:5vw}}@media(max-width:600px){.main{padding:17px}.topbar h1{font-size:25px}.topbar p,.topbar .eyebrow{display:none}.button{padding:10px}.status-banner{align-items:flex-start}.status-meta{position:absolute;right:18px;bottom:17px}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid article{padding:14px}.content-grid{display:block}.preview-panel{margin-top:15px}.timeline article{grid-template-columns:35px 10px 40px 1fr}.timeline .badge{display:none}.recent{display:none}.display-main{grid-template-columns:1fr}.display-message p{max-width:80vw}.display-card{display:none}}

/* Functional administration */
.flash-success,.flash-error{padding:13px 16px;border-radius:10px;margin:-8px 0 18px;font-size:12px}.flash-success{background:#e3f3e9;color:#286743}.flash-error{background:#fae8e6;color:#943f38}.flash-error ul{margin:7px 0 0}.page-panel{padding:24px;margin-top:18px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.quick-grid a{border:1px solid var(--line);border-radius:12px;padding:18px;text-decoration:none;color:var(--ink);display:grid;gap:6px}.quick-grid a:hover{border-color:#6e9b8c;box-shadow:var(--shadow)}.quick-grid b{font-size:23px;color:#39725f}.quick-grid strong{font-size:12px}.quick-grid small{font-size:9px;color:var(--muted)}.content-table{display:grid}.content-row,.ticker-row{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;gap:15px;align-items:center;padding:13px 3px;border-bottom:1px solid #edf0ee}.content-row:last-child,.ticker-row:last-child{border-bottom:0}.file-kind{width:42px;height:42px;display:grid;place-items:center;background:#e9f0ed;color:#316b58;border-radius:9px}.content-row strong,.content-row small{display:block}.content-row strong{font-size:12px}.content-row small{font-size:9px;color:var(--muted);margin-top:4px}.content-row>a,.row-actions a{font-size:10px;color:#306b57;text-decoration:none}.row-actions{display:flex;align-items:center;gap:8px}.row-actions form{margin:0}.row-actions button{border:0;background:#eef2f0;color:#315e50;border-radius:6px;padding:6px 8px;font-size:9px;cursor:pointer}.row-actions .danger{color:#a24a42;background:#faecea}.empty-state{text-align:center;padding:60px 20px}.empty-state>b{font-size:35px;color:#477868}.empty-state h2{font:24px Georgia;margin:10px}.empty-state p{color:var(--muted);font-size:12px;margin-bottom:25px}.editor-form{padding:25px}.editor-form.compact{display:grid;gap:15px;align-self:start}.form-section{padding:5px 0 24px;margin-bottom:22px;border-bottom:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid.thirds{grid-template-columns:.55fr 1.5fr .8fr}.form-grid .wide{grid-column:1/-1}.editor-form label{display:grid;gap:7px;font-size:10px;font-weight:700;color:#52645d}.editor-form input,.editor-form select,.editor-form textarea{width:100%;border:1px solid #dce2de;border-radius:8px;background:#fbfcfb;padding:11px 12px;font-size:11px;color:var(--ink);outline:none}.editor-form input:focus,.editor-form select:focus,.editor-form textarea:focus{border-color:#5b8a79;box-shadow:0 0 0 3px #dceae5}.editor-form label>small{font-size:8px;color:#89948f;font-weight:400}.toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.switch-row{grid-template-columns:auto 38px 1fr!important;align-items:center;border:1px solid var(--line);padding:13px;border-radius:10px}.switch-row input{position:absolute;opacity:0}.switch-row>span{width:35px;height:20px;border-radius:20px;background:#cdd6d2;position:relative}.switch-row>span:after{content:'';position:absolute;width:14px;height:14px;left:3px;top:3px;background:white;border-radius:50%;transition:.2s}.switch-row input:checked+span{background:#34745f}.switch-row input:checked+span:after{left:18px}.switch-row strong,.switch-row small{display:block}.switch-row small{font-size:8px;color:var(--muted);margin-top:3px}.form-footer{display:flex;justify-content:flex-end}.schedule-time{font-size:10px;color:#766638;font-weight:700;min-width:72px}.screen-config-head{display:flex;gap:16px;align-items:center;margin-bottom:25px}.screen-config-head h2{font:22px Georgia;margin:7px 0 3px}.screen-config-head p{margin:0;font-size:10px;color:var(--muted)}.tv-icon{width:60px;height:50px;display:grid;place-items:center;border-radius:10px;background:#173d34;color:#f1d071;font-size:25px}.layout-help{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.layout-help article{display:grid;gap:5px;border:1px solid var(--line);border-radius:10px;padding:15px}.layout-help b{font-size:22px;color:#3f7463}.layout-help strong{font-size:11px}.layout-help small{font-size:9px;color:var(--muted)}.two-column{display:grid;grid-template-columns:minmax(300px,.65fr) 1.35fr;gap:18px}.ticker-row{grid-template-columns:auto 1fr auto auto}.ticker-row p{font-size:11px}.priority{font-size:7px;font-weight:700;padding:5px;border-radius:4px}.priority.normal{background:#eaf0ed;color:#497064}.priority.important{background:#f7eed9;color:#946f25}.priority.urgent{background:#f8dfdc;color:#a13b32}
/* Functional 4K player */
.player{height:100vh;background:#071c18;color:#fff;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;position:relative}.player-header{display:flex;justify-content:space-between;align-items:center;padding:2.2vh 3vw;border-bottom:1px solid #ffffff1c;z-index:10;background:#0b2923}.player-stage{position:relative;min-height:0;background:radial-gradient(circle at 60% 35%,#285448,#102f28 40%,#071c18 75%)}.player-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .8s ease;display:grid;place-items:center;overflow:hidden}.player-slide.active{opacity:1;pointer-events:auto}.transition-slide{transform:translateX(4%);transition:opacity .7s,transform .7s}.transition-slide.active{transform:none}.transition-zoom img,.transition-zoom video{transform:scale(1.06);transition:transform 8s}.transition-zoom.active img,.transition-zoom.active video{transform:scale(1)}.player-slide img,.player-slide video{width:100%;height:100%;object-fit:contain;background:#061713}.player-slide.layout-fullscreen img,.player-slide.layout-fullscreen video{object-fit:cover}.slide-caption{position:absolute;left:5vw;bottom:5vh;max-width:60vw;padding:2vh 2vw;background:#071c18cc;border-left:.35vw solid #e1bb62}.slide-caption small{letter-spacing:.2em;color:#e8c76f;font-size:clamp(7px,.55vw,17px)}.slide-caption h1{font:clamp(30px,4vw,120px) Georgia;margin:.7vh 0}.slide-caption p{font-size:clamp(11px,1vw,30px)}.video-title{position:absolute;left:2vw;bottom:2vh;background:#071c18bb;padding:1vh 1.3vw;border-radius:.5vw;font-size:clamp(10px,1vw,28px)}.announcement-slide{text-align:center;padding:7vw;max-width:80vw}.announcement-slide>span{display:block;font-size:clamp(35px,4vw,110px);color:#dbb65d}.announcement-slide small{letter-spacing:.3em;color:#e6c46c}.announcement-slide h1{font:clamp(55px,7vw,210px)/.95 'Libre Caslon Display',Georgia;margin:3vh 0;color:#faf5e6}.announcement-slide p{font:clamp(17px,1.6vw,48px)/1.5 Georgia;white-space:pre-line;color:#c8d7d2}.player-ticker{height:7vh;min-height:50px;display:flex;align-items:center;background:#f0d174;color:#173a30;z-index:10}.player-ticker>span{align-self:stretch;display:grid;place-items:center;padding:0 3vw;background:#d1aa50;font-weight:800;letter-spacing:.17em}.player-ticker>div{overflow:hidden;flex:1}.player-ticker p{white-space:nowrap;margin:0;padding-left:100%;font-size:clamp(12px,1vw,30px);font-weight:600;animation:ticker 35s linear infinite}.player[data-layout="fullscreen"] .player-header,.player[data-layout="fullscreen"] .player-ticker{display:none}.player[data-layout="fullscreen"]{grid-template-rows:1fr}.player[data-layout="split"] .player-slide img,.player[data-layout="split"] .player-slide video{width:65%;margin-right:35%;object-fit:cover}.player[data-layout="split"] .slide-caption{left:auto;right:0;bottom:0;top:0;width:35%;max-width:none;border:0;background:#12382f;display:flex;flex-direction:column;justify-content:center}.player-progress{position:absolute;left:0;right:0;bottom:0;height:3px;z-index:15;background:#ffffff18}.player-progress i{display:block;height:100%;background:#f1cd70;width:0}@keyframes playerProgress{to{width:100%}}.player-controls{position:absolute;right:1vw;top:1vh;z-index:30;display:flex;gap:6px}.player-controls button{width:40px;height:40px;border:1px solid #ffffff30;border-radius:8px;background:#071c18aa;color:#fff;opacity:.4;cursor:pointer}.player-controls button:hover{opacity:1}.sound-notice{position:absolute;right:2vw;bottom:10vh;background:#fff;color:#17352d;padding:12px 18px;border-radius:8px;z-index:20;display:none;font-size:12px}.sound-notice.show{display:block}
.nav-disabled{display:flex;align-items:center;gap:13px;color:#6e8980;padding:11px 13px;font-size:13px;cursor:not-allowed}.nav-disabled>span{font-size:18px;width:20px;text-align:center}.nav-disabled small{margin-left:auto;font-size:7px;text-transform:uppercase;letter-spacing:.08em;color:#d2b665}
.upload-progress{margin:0 0 22px;padding:16px;border-radius:10px;background:#eaf3ef;border:1px solid #cadfd6}.upload-progress.error{background:#fae8e6;border-color:#edc5c1}.upload-progress-head{display:flex;justify-content:space-between;font-size:11px}.upload-track{height:9px;background:#cbd9d3;border-radius:20px;overflow:hidden;margin:11px 0}.upload-track i{display:block;width:0;height:100%;background:#33745f;border-radius:20px;transition:width .2s}.upload-progress.error .upload-track i{background:#ae4c43}.upload-progress p{font-size:9px;color:#64766f;margin:0}.form-footer button:disabled{opacity:.65;cursor:wait}
.schedule-note{display:block;margin-top:12px;font-size:9px;color:var(--muted)}
.file-selection{display:inline-flex;width:max-content;padding:6px 9px;border-radius:6px;background:#f4e6e3;color:#9a4a43;font-size:9px;font-weight:700}.file-selection.valid{background:#e2f1e8;color:#337052}
.library-section+.library-section{margin-top:32px;padding-top:27px;border-top:1px solid var(--line)}.library-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.library-heading h2{font:20px Georgia;margin:0}.library-heading>span{font-size:9px;color:var(--muted);background:#f1f4f2;padding:6px 9px;border-radius:20px}.slideshow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.slideshow-card{display:grid;grid-template-columns:180px 1fr;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fcfdfc}.slideshow-preview{height:155px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;background:#dfe5e2;position:relative}.slideshow-preview img{width:100%;height:100%;object-fit:cover;min-height:0}.slideshow-preview>span{position:absolute;right:8px;bottom:8px;background:#102c26dd;color:#fff;border-radius:20px;padding:5px 8px;font-size:9px}.slideshow-info{padding:16px;min-width:0}.slideshow-title{display:flex;justify-content:space-between;align-items:center}.slideshow-info h3{font:18px Georgia;margin:11px 0 6px}.slideshow-info>p{font-size:9px;color:var(--muted);margin:0}.slideshow-info>small{display:block;font-size:9px;color:#65766f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:9px}.card-actions{display:flex;align-items:center;gap:7px;margin-top:17px}.card-actions form{margin:0}.card-actions a,.card-actions button{border:0;background:#eaf1ee;color:#326653;text-decoration:none;border-radius:6px;padding:7px 9px;font-size:8px;cursor:pointer}.card-actions button.danger{background:#fae9e7;color:#a2473f}.content-thumb{width:42px;height:42px;object-fit:cover;border-radius:9px}.group-edit-preview{display:flex;gap:8px;overflow-x:auto;padding:4px 0 22px;margin-bottom:22px;border-bottom:1px solid var(--line)}.group-edit-preview figure{margin:0;position:relative;flex:0 0 100px;height:70px}.group-edit-preview img{width:100%;height:100%;object-fit:cover;border-radius:8px}.group-edit-preview figcaption{position:absolute;right:4px;bottom:4px;background:#102c26cc;color:#fff;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:8px}
@media(max-width:1200px){.slideshow-grid{grid-template-columns:1fr}}@media(max-width:600px){.slideshow-card{grid-template-columns:1fr}.slideshow-preview{height:190px}.card-actions{flex-wrap:wrap}}
/* Preserve the full image on 16:9 and 4K screens. */
.player-slide img,.player-slide.layout-fullscreen img,.player[data-layout="split"] .player-slide img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;background:#061713}.transition-zoom img{transform:scale(1.012)}.transition-zoom.active img{transform:scale(1)}
.player-slide img,.player-slide.layout-fullscreen img{position:absolute!important;inset:0!important;margin:0!important;width:100%!important;height:100%!important;object-position:center center!important}.player[data-layout="split"] .player-slide img{position:absolute!important;inset:0 auto 0 0!important;margin:0!important;width:65%!important;height:100%!important}
.image-blur-bg{display:none;position:absolute;inset:-5%;background-position:center;background-size:cover;filter:blur(28px) brightness(.55);transform:scale(1.08)}.image-fit-blur .image-blur-bg{display:block;z-index:0}.image-fit-blur img,.image-fit-contain img{object-fit:contain!important}.image-fit-cover img{object-fit:cover!important}.image-fit-blur img{z-index:1;background:transparent!important}.image-fit-blur .slide-caption,.image-fit-cover .slide-caption,.image-fit-contain .slide-caption{z-index:2}.image-fit-section{max-width:620px}
.video-title{max-width:70vw;background:#071c18df!important;padding:1.2vh 1.5vw!important;border-left:4px solid #e1bb62}.video-title strong{display:block}.video-title p{font-size:clamp(9px,.72vw,21px);line-height:1.4;color:#d7e1dd;margin:.6vh 0 0;white-space:pre-line}
.description-window{max-width:65vw;overflow:hidden;margin-inline:auto}.description-scroll{overflow:hidden}.description-scroll .description-window{width:min(65vw,1200px);max-width:none}.description-scroll .description-window p{white-space:nowrap!important;display:block;min-width:max-content;padding-left:100%;animation:descriptionTicker 14s linear infinite!important}.description-static .description-window p{animation:none!important;transform:none!important}@keyframes descriptionTicker{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@media(max-width:900px){.quick-grid{grid-template-columns:1fr 1fr}.two-column{grid-template-columns:1fr}.form-grid.thirds{grid-template-columns:1fr}.layout-help{grid-template-columns:1fr}.content-row{grid-template-columns:auto 1fr auto}.content-row .row-actions{grid-column:2/-1}.status-meta{gap:12px}}@media(max-width:600px){.form-grid,.toggle-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.top-actions{flex-wrap:wrap;justify-content:flex-end}.content-row{grid-template-columns:auto 1fr}.content-row>.badge{display:none}.ticker-row{grid-template-columns:1fr}.page-panel,.editor-form{padding:16px}}
.brand-mark{overflow:hidden}.brand-mark img,.settings-logo img,.display-logo{width:100%;height:100%;object-fit:contain}.user-avatar{width:42px;height:42px}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.permission-grid label{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:12px;border-radius:9px;cursor:pointer}.permission-grid input{width:auto}.permission-grid span{width:22px;height:22px;border-radius:6px;background:#e8eeeb;color:transparent;display:grid;place-items:center}.permission-grid input:checked+span{background:var(--green);color:#fff}.settings-preview{display:flex;align-items:center;gap:18px;padding:24px;margin-bottom:28px;border-radius:13px;background:linear-gradient(120deg,var(--preview-primary),color-mix(in srgb,var(--preview-primary),#fff 18%));color:#fff;border-bottom:5px solid var(--preview-accent)}.settings-logo{width:72px;height:72px;display:grid;place-items:center;border-radius:14px;background:#fff;color:var(--preview-primary);font-size:35px;padding:7px}.settings-preview small,.settings-preview strong,.settings-preview span{display:block}.settings-preview small{font-size:8px;letter-spacing:.18em;color:#ffffffaa}.settings-preview strong{font:28px Georgia;margin:5px 0}.settings-preview span{font-size:10px;color:#ffffffbb}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.color-grid input[type=color]{height:55px;padding:4px}.display-logo{width:clamp(38px,3vw,90px);height:clamp(38px,3vw,90px);border-radius:12px}.player,.player-header{background-color:var(--church-primary)}.player-ticker{background:var(--church-accent)}.player-ticker>span{background:color-mix(in srgb,var(--church-accent),#000 15%)}@media(max-width:600px){.permission-grid,.color-grid{grid-template-columns:1fr}}
.storage-status{margin-top:18px;padding:17px 20px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.storage-status-head,.storage-status-foot{display:flex;align-items:center;justify-content:space-between;gap:16px}.storage-status-head small,.storage-status-head strong{display:block}.storage-status-head small{font-size:8px;letter-spacing:.12em;color:var(--muted)}.storage-status-head strong{font-size:12px;margin-top:4px}.storage-status-head>span{font-size:18px;font-weight:800;color:#33705c}.storage-meter{height:9px;background:#e7ece9;border-radius:20px;overflow:hidden;margin:13px 0 10px}.storage-meter i{display:block;height:100%;background:#3d8069;border-radius:20px}.storage-status-foot{font-size:9px;color:var(--muted)}.storage-alert{background:#fff8f7;border-color:#e8aaa3}.storage-alert .storage-status-head>span{color:#a83e36}.storage-alert .storage-meter i{background:#c84f45}.storage-alert>p{margin:13px 0 0;padding-top:11px;border-top:1px solid #f0cbc7;color:#9b3932;font-size:10px;font-weight:700}@media(max-width:600px){.storage-status-foot{align-items:flex-start;flex-direction:column;gap:5px}}
/* Administration plus lisible sur écran, tablette et mobile. */
.admin-body .sidebar nav a,.admin-body .sidebar-bottom>a{font-size:15px;padding-top:13px;padding-bottom:13px}.admin-body .parish-switch small{font-size:11px}.admin-body .parish-switch strong{font-size:14px}.admin-body .profile strong,.admin-body .profile small{font-size:13px}.admin-body .topbar h1{font-size:38px}.admin-body .topbar p{font-size:15px}.admin-body .eyebrow{font-size:11px}.admin-body .button{font-size:14px;padding:12px 18px}.admin-body .status-title strong{font-size:16px}.admin-body .live-pill{font-size:10px}.admin-body .status-banner p{font-size:12px}.admin-body .status-meta small{font-size:11px}.admin-body .status-meta strong,.admin-body .status-meta a{font-size:13px}.admin-body .stats-grid small{font-size:12px}.admin-body .stats-grid strong{font-size:30px}.admin-body .stats-grid em{font-size:11px;line-height:1.4}.admin-body .panel-head h2{font-size:24px}.admin-body .quick-grid strong{font-size:15px}.admin-body .quick-grid small{font-size:12px;line-height:1.4}.admin-body .content-row strong{font-size:14px}.admin-body .content-row small{font-size:12px}.admin-body .content-row>a,.admin-body .row-actions a,.admin-body .row-actions button{font-size:12px}.admin-body .badge{font-size:10px}.admin-body .storage-status-head small{font-size:10px}.admin-body .storage-status-head strong{font-size:15px}.admin-body .storage-status-head>span{font-size:22px}.admin-body .storage-status-foot{font-size:12px}.admin-body .storage-alert>p{font-size:12px}.admin-body .editor-form label{font-size:13px}.admin-body .editor-form input,.admin-body .editor-form select,.admin-body .editor-form textarea{font-size:14px}.admin-body .editor-form label>small{font-size:11px}.admin-body .switch-row small,.admin-body .screen-config-head p,.admin-body .schedule-note{font-size:11px}.admin-body .switch-row strong,.admin-body .screen-config-head strong{font-size:14px}.admin-body .ticker-row p{font-size:14px}.admin-body .priority{font-size:10px}.admin-body .empty-state p{font-size:14px}@media(max-width:600px){.admin-body .topbar h1{font-size:30px}.admin-body .stats-grid small{font-size:11px}.admin-body .stats-grid strong{font-size:25px}.admin-body .button{font-size:13px;padding:11px 14px}}
/* Formulaires et boutons d’action harmonisés. */
.admin-body .editor-form{padding:30px}.admin-body .editor-form.compact{gap:22px}.admin-body .form-grid{align-items:start;gap:20px}.admin-body .form-section{padding-bottom:28px;margin-bottom:26px}.admin-body .editor-form label{gap:9px;font-size:14px;line-height:1.35}.admin-body .editor-form input,.admin-body .editor-form select{min-height:48px;padding:12px 14px;font-size:15px}.admin-body .editor-form textarea{padding:13px 14px;font-size:15px;line-height:1.55;resize:vertical}.admin-body .editor-form label>small{font-size:12px;line-height:1.5;color:#76857f}.admin-body .form-footer{align-items:center;gap:10px;padding-top:4px}.admin-body .form-footer .button{min-height:44px}.admin-body .row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.admin-body .row-actions a,.admin-body .row-actions button,.admin-body .card-actions a,.admin-body .card-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 11px;border-radius:7px;font-size:13px;font-weight:600;line-height:1;text-decoration:none}.admin-body .row-actions a{background:#eaf1ee;color:#326653}.admin-body .row-actions .danger,.admin-body .card-actions .danger{background:#fae9e7;color:#a2473f}.admin-body .upload-progress-head{font-size:13px}.admin-body .upload-progress p,.admin-body .file-selection,.admin-body .layout-help small,.admin-body .filter-summary,.admin-body .library-pagination{font-size:12px}.admin-body .layout-help strong{font-size:14px}.admin-body .library-filters label span{font-size:12px}.admin-body .library-filters input,.admin-body .library-filters select{height:46px;font-size:14px}.admin-body .slideshow-info>p,.admin-body .slideshow-info>small{font-size:12px;line-height:1.45}
/* Page Bandeaux : colonnes stables et champs parfaitement alignés. */
.admin-body .ticker-layout{grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr);align-items:start;gap:22px}.admin-body .ticker-create-form{width:100%}.admin-body .ticker-form-heading h2{font:24px Georgia;margin:4px 0 8px}.admin-body .ticker-form-heading>p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.admin-body .ticker-date-grid{grid-template-columns:1fr}.admin-body .ticker-form-footer{justify-content:stretch;padding-top:2px}.admin-body .ticker-form-footer .button{width:100%}.admin-body .ticker-list-panel{margin-top:0;min-width:0}.admin-body .ticker-row{grid-template-columns:auto minmax(160px,1fr) auto;gap:14px;align-items:center}.admin-body .ticker-row .row-actions{grid-column:2/-1;justify-content:flex-end}.admin-body .ticker-row p{margin:0;line-height:1.5}.admin-body .priority{padding:7px 9px;font-size:11px}.admin-body .ticker-edit-grid>.wide{grid-column:1/-1}@media(max-width:1180px){.admin-body .ticker-layout{grid-template-columns:1fr}.admin-body .ticker-list-panel{margin-top:0}}@media(max-width:600px){.admin-body .editor-form{padding:19px}.admin-body .form-grid{gap:15px}.admin-body .row-actions{justify-content:flex-start}.admin-body .ticker-row{grid-template-columns:1fr auto}.admin-body .ticker-row p{grid-column:1/-1}.admin-body .ticker-row .row-actions{grid-column:1/-1;justify-content:flex-start}.admin-body .row-actions a,.admin-body .row-actions button,.admin-body .card-actions a,.admin-body .card-actions button{font-size:12px;min-height:38px}}
