:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#172338;background:#eef2f7;
  --navy:#071424;--navy-2:#0d2845;--blue:#163e69;--blue-soft:#eaf1f8;
  --gold:#b89a59;--text:#172338;--muted:#718096;--line:#e3e8ef;--danger:#b42318;
  --shadow:0 18px 50px rgba(16,38,64,.10);
}
*{box-sizing:border-box}
html{background:#eef2f7}
body{margin:0;min-height:100vh}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:750;margin:0 0 8px;color:#a8b8cb}
.eyebrow.dark{color:#74859a}
.muted{color:var(--muted)}
.error{color:#ffb4ad;min-height:20px;font-size:14px}

/* Auth */
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:28px;position:relative;overflow:hidden;background:var(--navy)}
.auth-backdrop{position:absolute;inset:0;overflow:hidden}
.orb{position:absolute;border-radius:50%;filter:blur(4px);opacity:.34}
.orb-one{width:520px;height:520px;left:-180px;top:-210px;background:radial-gradient(circle,#234e7d 0,transparent 68%)}
.orb-two{width:620px;height:620px;right:-230px;bottom:-280px;background:radial-gradient(circle,#2b4462 0,transparent 70%)}
.temple-lines{position:absolute;inset:0;background:
  linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.035) 50%,transparent 50.2%),
  linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:180px 100%,100% 90px;transform:perspective(700px) rotateX(64deg) scale(1.8);transform-origin:bottom;opacity:.35}
.auth-card{position:relative;z-index:2;width:min(450px,100%);padding:42px;border:1px solid rgba(255,255,255,.10);border-radius:24px;background:rgba(9,29,49,.74);backdrop-filter:blur(22px);box-shadow:0 30px 90px rgba(0,0,0,.38);color:white}
.auth-mark{width:76px;height:76px;margin:0 auto 22px}
.auth-mark svg{width:100%;height:100%;fill:none;stroke:#b9c9db;stroke-width:2}
.auth-card h1{text-align:center;letter-spacing:.32em;margin:0 0 12px .32em;font-size:44px;font-weight:650}
.auth-card h2{text-align:center;margin:0 0 10px}
.auth-card>.eyebrow{text-align:center}
.auth-subtitle{text-align:center;color:#a9b9ca;line-height:1.55;margin:0 0 28px}
.auth-form label{display:block;margin:16px 0 7px;color:#c6d2df;font-size:13px}
.auth-form input{width:100%;padding:14px 15px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.07);color:white;outline:none;transition:.18s}
.auth-form input:focus{border-color:#6d91b9;box-shadow:0 0 0 4px rgba(90,136,184,.15)}
.password-field{position:relative}
.password-field input{padding-right:48px}
.ghost-icon{position:absolute;right:6px;top:6px;width:36px;height:36px;border:0;border-radius:8px;color:#aebfd0;background:transparent}
.primary,.secondary,.danger{border:0;border-radius:10px;padding:11px 15px;font-weight:700;transition:.16s}
.primary{background:linear-gradient(135deg,#1c4a79,#113457);color:white;box-shadow:0 8px 20px rgba(15,51,87,.22)}
.primary:hover{transform:translateY(-1px);filter:brightness(1.06)}
.secondary{background:#eef3f8;color:#24425f}
.danger{background:#fff0ef;color:#a52a21}
.wide{width:100%;display:flex;justify-content:center;gap:12px;margin-top:22px}
.loading{opacity:.6;pointer-events:none}

/* Splash */
.splash-screen{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#102d4a,#061321 65%);opacity:1;transition:opacity .42s ease}
.splash-screen.splash-exit{opacity:0}
.splash-stars{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.22) 1px,transparent 1px);background-size:88px 88px;opacity:.18}
.logos-lockup{position:relative;width:min(1120px,88vw);text-align:center}
.logos-script{width:100%;height:auto;overflow:visible}
#logos-path{fill:none;stroke:#e8eef5;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 7px rgba(255,255,255,.22))}
.splash-active #logos-path{animation:write-path 2.15s cubic-bezier(.55,.02,.32,.98) .15s forwards}
.logos-text{font-family:"Segoe Script","Brush Script MT",cursive;color:#eef4fa;font-size:clamp(34px,5.3vw,74px);margin-top:-96px;opacity:0;transform:translateY(8px);text-shadow:0 0 24px rgba(255,255,255,.12)}
.splash-active .logos-text{animation:reveal-script .75s ease 1.65s forwards}
@keyframes write-path{to{stroke-dashoffset:0}}
@keyframes reveal-script{to{opacity:1;transform:none}}

/* App */
.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr;opacity:0;transform:translateY(8px);transition:.42s ease}
.app-shell.app-visible{opacity:1;transform:none}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#081827,#0b2238);color:white;padding:24px 18px;display:flex;flex-direction:column;z-index:20}
.brand-block{display:flex;align-items:center;gap:12px;padding:4px 10px 28px}
.brand-symbol{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#dce8f3;font-size:23px}
.brand-block strong{display:block;letter-spacing:.18em}
.brand-block small{display:block;color:#8299ae;margin-top:3px}
nav{display:grid;gap:5px}
.nav{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:10px;padding:11px 12px;background:transparent;color:#afc0d0;text-align:left}
.nav span{width:21px;text-align:center;color:#88a0b6}
.nav:hover,.nav.active{background:rgba(255,255,255,.08);color:white}
.nav.active{box-shadow:inset 3px 0 0 #8fb0ce}
.nav-separator{height:1px;background:rgba(255,255,255,.08);margin:10px 8px}
.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:10px;padding:14px 10px;border-top:1px solid rgba(255,255,255,.08)}
.sidebar-footer strong,.sidebar-footer small{display:block;font-size:12px}
.sidebar-footer small{color:#7f98ae;margin-top:2px}
.status-dot{width:9px;height:9px;border-radius:50%;background:#57cf8a;box-shadow:0 0 10px #57cf8a}
.workspace{min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:25px 34px;background:rgba(255,255,255,.78);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.topbar h2{margin:0;font-size:27px}
.topbar p{margin-bottom:4px}
.topbar-actions{display:flex;gap:10px}
.mobile-menu{display:none;border:0;background:#eef3f8;border-radius:9px;padding:9px 12px}
.content{padding:30px 34px 50px;max-width:1600px}
.hero-panel{display:flex;align-items:center;justify-content:space-between;padding:30px;border-radius:20px;background:linear-gradient(135deg,#102d4a,#173f65);color:white;box-shadow:var(--shadow);overflow:hidden}
.hero-panel h3{font-size:29px;margin:0 0 8px}
.hero-panel p:last-child{color:#afc1d3;max-width:660px;line-height:1.55}
.hero-emblem{font-size:100px;color:rgba(255,255,255,.08);transform:rotate(2deg)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}
.cards article,.panel{background:white;border:1px solid rgba(222,229,237,.9);border-radius:16px;box-shadow:0 8px 28px rgba(30,51,74,.05);padding:21px}
.cards span,.cards small,td small{display:block;color:#78879a}
.cards strong{display:block;font-size:29px;margin:12px 0 5px;color:#173d65}
.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}
.panel-head,.meeting-head,.modal-head,.list-card{display:flex;align-items:center;justify-content:space-between;gap:18px}
.panel h3,.meeting h4,.list-card h4{margin:0}
.timeline{display:grid;gap:18px;margin-top:22px}
.timeline>div{display:flex;gap:13px}
.timeline>div>span{width:10px;height:10px;border-radius:50%;background:#315f8c;margin-top:5px;box-shadow:0 0 0 5px #edf3f9}
.timeline p{margin:0}
.timeline small{display:block;color:#8491a1;margin-top:3px}
.quick-panel{display:grid;align-content:start;gap:10px}
.quick-action{display:flex;justify-content:space-between;border:1px solid var(--line);background:#f8fafc;color:#24415e;padding:13px;border-radius:11px}
.filters,.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}
.form-grid.two{grid-template-columns:1fr 1fr}
label{display:block;color:#526174;font-size:13px}
input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d9e0e8;border-radius:10px;background:white;color:var(--text);outline:none}
input:focus,select:focus,textarea:focus{border-color:#7f9fbd;box-shadow:0 0 0 4px #edf3f8}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;margin-top:18px}
th,td{text-align:left;padding:13px 10px;border-bottom:1px solid #edf0f4}
th{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#77869a}
.badge{display:inline-block;padding:5px 9px;border-radius:99px;font-size:12px;font-weight:700}
.badge.ok{background:#e9f8ef;color:#247443}
.badge.off{background:#fff1f0;color:#a33}
.badge.degree{background:#edf3fb;color:#15385f}
.small{padding:7px 9px;font-size:12px;margin:2px}
.brothers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.brother-card,.meeting,.list-card{border:1px solid #e4e9ef;border-radius:14px;padding:16px;background:#fff}
.brother-card{display:flex;gap:14px;align-items:center;cursor:pointer;transition:.16s}
.brother-card:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(25,50,75,.08)}
.brother-card h4{margin:0 0 5px}
.brother-card p,.meeting p,.list-card p{margin:4px 0;color:#748191}
.avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#dfe9f4;color:#15385f;font-weight:800;overflow:hidden;flex:none}
.avatar img{width:100%;height:100%;object-fit:cover}
.stack{display:grid;gap:14px;margin-top:18px}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.slot{border-left:4px solid #15385f;background:#f7f9fc;padding:10px;border-radius:8px}
.slot span{display:block;color:#748191;font-size:13px}
.slot.inactive{border-left-color:var(--danger);background:#fff3f2}
.empty-state{display:grid;place-items:center;text-align:center;min-height:180px;color:#7a899a;border:1px dashed #d9e1e9;border-radius:14px;margin-top:18px}
.empty-state strong{color:#324a62;margin-bottom:4px}
.empty-state span{display:block}
.modal{position:fixed;inset:0;background:rgba(4,16,28,.62);display:grid;place-items:center;padding:20px;z-index:100}
.modal-card{background:white;width:min(840px,100%);max-height:92vh;overflow:auto;border-radius:20px;padding:26px;box-shadow:0 30px 90px rgba(0,0,0,.28)}
.icon{font-size:24px;padding:4px 11px;border:0;background:#edf2f7;color:#173d65;border-radius:9px}
.toast{position:fixed;right:24px;bottom:24px;background:#0d2338;color:white;padding:14px 18px;border-radius:11px;box-shadow:0 14px 40px rgba(0,0,0,.25);z-index:120}

@media(max-width:1100px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .brothers-grid{grid-template-columns:repeat(2,1fr)}
  .slots{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{position:fixed;left:-280px;transition:.22s;width:260px}
  .sidebar.mobile-open{left:0;box-shadow:20px 0 60px rgba(0,0,0,.3)}
  .mobile-menu{display:block}
  .topbar{padding:20px}
  .content{padding:20px}
  .dashboard-grid{grid-template-columns:1fr}
  .form-grid,.filters{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .auth-card{padding:28px 22px}
  .auth-card h1{font-size:36px}
  .cards,.form-grid,.form-grid.two,.filters,.brothers-grid,.slots{grid-template-columns:1fr}
  .topbar{align-items:flex-start;gap:12px}
  .topbar-actions{display:grid}
  .hero-panel{padding:22px}
  .hero-emblem{display:none}
  .logos-text{margin-top:-44px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

.visitor-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:#8fa3b8;font-size:12px;text-transform:uppercase}
.visitor-divider::before,.visitor-divider::after{content:"";height:1px;flex:1;background:rgba(255,255,255,.12)}
.visitor-box{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.035)}
.visitor-box strong,.visitor-box span{display:block}
.visitor-box span{color:#9fb0c1;font-size:13px;margin-top:4px}
.visitor-button{border:1px solid #3f8ee8;background:transparent;color:#59a4ff;border-radius:9px;padding:10px 14px;font-weight:700}
.visitor-registration-card{width:min(760px,100%)}
.visitor-form textarea{margin-top:12px}
.visitor-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.static-splash{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#061321}
.static-splash img{width:100%;height:100%;object-fit:contain;background:#061321}
@media(max-width:620px){
  .visitor-box{align-items:flex-start;flex-direction:column}
  .visitor-button{width:100%}
  .visitor-form-actions{display:grid;grid-template-columns:1fr}
}

.attendance-card{width:min(560px,100%)}
.attendance-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.attendance-choice label{position:relative;cursor:pointer}
.attendance-choice input{position:absolute;opacity:0;pointer-events:none}
.attendance-choice span{display:block;padding:18px;border:1px solid rgba(255,255,255,.16);border-radius:12px;text-align:center;color:#d8e3ee;background:rgba(255,255,255,.04)}
.attendance-choice input:checked+span{border-color:#5d9ee5;background:rgba(47,112,180,.25);box-shadow:0 0 0 3px rgba(73,133,196,.15)}
.response-success{display:grid;place-items:center;text-align:center;min-height:180px;color:#c7d7e7}
.response-success strong{font-size:22px;color:white;margin-bottom:8px}
.response-success span{display:block}
.meeting-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0}
.summary-cards article{padding:16px;border:1px solid #e4e9ef;border-radius:12px;background:#f8fafc}
.summary-cards span,.summary-cards strong{display:block}
.summary-cards span{color:#748191;font-size:13px}
.summary-cards strong{font-size:26px;color:#173d65;margin-top:6px}
@media(max-width:620px){
  .attendance-choice,.summary-cards{grid-template-columns:1fr}
}

:root[data-theme="dark"]{color:#dbe6f1;background:#08131f;--text:#dbe6f1;--muted:#8fa1b4;--line:#203246}
:root[data-theme="dark"] body{background:#08131f}
:root[data-theme="dark"] .workspace{background:#0a1724}
:root[data-theme="dark"] .topbar{background:rgba(10,23,36,.9);border-color:#203246}
:root[data-theme="dark"] .panel,:root[data-theme="dark"] .cards article,:root[data-theme="dark"] .meeting,:root[data-theme="dark"] .brother-card,:root[data-theme="dark"] .list-card{background:#102234;border-color:#24394e;color:#dbe6f1}
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea{background:#0d1d2d;border-color:#2a4158;color:#e6eef6}
:root[data-theme="dark"] .calendar-day{background:#0d1d2d;border-color:#22384d}
:root[data-theme="dark"] .calendar-day.outside{background:#0a1724}
:root[data-theme="dark"] .slot{background:#0d1d2d;color:#dbe6f1}
.agenda-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}
.agenda-main{min-width:0}.brother-palette{position:sticky;top:112px;max-height:calc(100vh - 142px);overflow:auto}
.palette-list{display:grid;gap:9px;margin-top:14px}
.palette-brother{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #e3e9ef;border-radius:11px;background:#f9fbfd;cursor:grab;user-select:none}
.palette-brother.dragging{opacity:.45}.palette-brother.inactive{border-color:#efb6b2;background:#fff5f4}
.palette-brother strong,.palette-brother small{display:block}.palette-brother small{color:#748191;margin-top:2px}.small-avatar{width:42px;height:42px;font-size:12px}
.calendar-toolbar{display:flex;align-items:center;gap:10px;margin:22px 0 12px}.calendar-toolbar strong{min-width:190px;text-align:center;color:#173d65}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays{border:1px solid #e3e8ef;border-bottom:0;border-radius:12px 12px 0 0;overflow:hidden}
.calendar-weekdays span{padding:9px;text-align:center;font-size:12px;font-weight:700;color:#718096;background:#f7f9fc;border-right:1px solid #e3e8ef}
.calendar-grid{border-left:1px solid #e3e8ef;border-top:1px solid #e3e8ef}.calendar-day{min-height:122px;padding:8px;background:white;border-right:1px solid #e3e8ef;border-bottom:1px solid #e3e8ef;overflow:hidden}
.calendar-day.outside{background:#f7f9fc;color:#a4afbb}.calendar-day.today{box-shadow:inset 0 0 0 2px #4f7fae}
.day-number{font-size:12px;font-weight:800;margin-bottom:6px}.day-events{display:grid;gap:4px}
.calendar-event{border:0;border-radius:6px;padding:5px 6px;text-align:left;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:white;background:#315f8c}
.calendar-event.degree-2{background:#8b6d1e}.calendar-event.degree-3{background:#6e3a66}
.panel-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}
.slot{position:relative;min-height:60px}.slot.drag-over{outline:2px dashed #4e8ac5;background:#eaf3fc}
.slot-clear{position:absolute;right:5px;top:5px;width:24px;height:24px;border:0;border-radius:50%;background:#e8eef5;color:#284866;padding:0}
.meeting-focus{animation:meetingPulse 1.2s ease}@keyframes meetingPulse{0%,100%{box-shadow:none}40%{box-shadow:0 0 0 5px rgba(64,126,188,.18)}}
@media(max-width:1150px){.agenda-layout{grid-template-columns:1fr}.brother-palette{position:static;max-height:none}.palette-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.calendar-weekdays{display:none}.calendar-grid{grid-template-columns:1fr;border:0;gap:8px}.calendar-day{min-height:auto;border:1px solid #e3e8ef;border-radius:10px}.palette-list{grid-template-columns:1fr}.calendar-toolbar{flex-wrap:wrap}}

.download-template{display:inline-block;text-decoration:none;margin:12px 8px 12px 0}.import-history-panel{margin-top:18px}#view-imports input[type=file]{margin:12px 0}

.transition-screen{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  background:#04152a;
  opacity:1;
  transition:opacity 1s ease;
  pointer-events:all;
}
.transition-screen.fade-out{
  opacity:0;
  pointer-events:none;
}
.transition-screen img{
  width:100vw;
  height:100vh;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  background:#04152a;
}
.app-shell{
  opacity:0;
  transition:opacity .45s ease;
}
.app-shell.app-visible{
  opacity:1;
}
@media (prefers-reduced-motion: reduce){
  .transition-screen{transition-duration:.01ms}
  .app-shell{transition-duration:.01ms}
}

.transition-screen{
  width:100vw;
  height:100vh;
  overflow:hidden;
}
@supports (height: 100dvh){
  .transition-screen{
    height:100dvh;
  }
  .transition-screen img{
    height:100dvh;
  }
}

.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.library-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border:1px solid #e3e9ef;border-radius:14px;background:#fff}
.document-icon{width:52px;height:62px;display:grid;place-items:center;border-radius:9px;background:#fff0ef;color:#a52a21;font-size:12px;font-weight:800;border:1px solid #f0c7c3}
.library-card h4{margin:0 0 5px}.library-card p{margin:3px 0;color:#748191}.library-card small{display:block;margin-top:8px;color:#748191}
.library-actions{display:grid;gap:6px}
:root[data-theme="dark"] .library-card{background:#102234;border-color:#24394e}
:root[data-theme="dark"] .document-icon{background:#321d22;border-color:#593039;color:#ffb6ae}
@media(max-width:1050px){.library-grid{grid-template-columns:1fr}}
@media(max-width:650px){.library-card{grid-template-columns:48px 1fr}.library-actions{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}}

.visitor-registration-card{width:min(920px,100%)}
.visitor-section{margin:20px 0;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.035)}
.visitor-section h3{margin:0 0 14px;color:#eef4fa}
.visitor-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.visitor-section-head h3{margin-bottom:4px}
.visitor-section-head p{margin:0;color:#9fb0c1;font-size:13px}
.visitor-rows{display:grid;gap:10px}
.visitor-row{display:grid;grid-template-columns:34px minmax(0,1fr) 36px;gap:10px;align-items:center;padding:11px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(4,20,36,.25)}
.visitor-row-number{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:rgba(83,145,207,.2);color:#cfe2f5;font-weight:800}
.visitor-row-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.visitor-row-remove{width:34px;height:34px;border:0;border-radius:9px;background:rgba(181,54,45,.2);color:#ffbbb5;font-size:20px}
.visitor-registration-card-admin{padding:18px;border:1px solid #e3e9ef;border-radius:14px;background:#fff}
.visitor-registration-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.visitor-registration-header h4{margin:0 0 4px}
.visitor-registration-header p{margin:0 0 4px;color:#65758a}
.visitor-registration-header small{color:#7d8a99}
.visitor-guests-list{display:grid;gap:7px;margin-top:15px}
.visitor-guest-line{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;border-radius:9px;background:#f6f9fc}
.visitor-guest-line span{color:#718096;font-size:13px;text-align:right}
.visitor-message{margin-top:12px;padding:12px;border-left:3px solid #4c7eae;background:#f5f8fb;color:#53667a}
:root[data-theme="dark"] .visitor-registration-card-admin{background:#102234;border-color:#24394e}
:root[data-theme="dark"] .visitor-guest-line{background:#0d1d2d}
:root[data-theme="dark"] .visitor-message{background:#0d1d2d;color:#aabaca}
@media(max-width:700px){
  .visitor-section-head,.visitor-registration-header{flex-direction:column}
  .visitor-row{grid-template-columns:30px minmax(0,1fr) 34px}
  .visitor-row-fields{grid-template-columns:1fr}
  .visitor-guest-line{flex-direction:column}
  .visitor-guest-line span{text-align:left}
}

.module-flags{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.presence-toolbar{display:flex;gap:10px;align-items:center;margin:18px 0}.presence-toolbar input{flex:1}
.presence-list{display:grid;gap:8px}
.presence-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid #e3e9ef;border-radius:12px;background:#fff}
.presence-row strong,.presence-row small{display:block}.presence-row small{color:#718096;margin-top:3px}
.presence-status-buttons{display:flex;gap:5px;flex-wrap:wrap}.presence-status-buttons button{border:1px solid #dbe3eb;background:#f5f8fb;color:#53687d;border-radius:8px;padding:7px 9px}
.presence-status-buttons button.active-status{background:#15385f;color:#fff;border-color:#15385f}
.presence-extra-actions{display:flex;gap:5px}
.presence-visitors-title{margin:28px 0 10px}
.signature-wrap{display:grid;gap:12px}.signature-wrap canvas{width:100%;height:260px;border:1px solid #dbe3eb;border-radius:10px;background:#fff;touch-action:none}.signature-wrap>div{display:flex;justify-content:flex-end;gap:8px}
.qr-display{display:grid;place-items:center;gap:10px}.qr-display img{width:min(320px,80vw);height:auto}
.gadlu-settings{margin:24px 0;padding:18px;border:1px solid #d8c58d;border-radius:13px;background:#fffaf0}.gadlu-settings label{display:flex;align-items:center;gap:9px;margin:12px 0}.gadlu-settings input{width:auto}
:root[data-theme="dark"] .presence-row{background:#102234;border-color:#24394e}:root[data-theme="dark"] .gadlu-settings{background:#2d2718;border-color:#6b5a2d}
@media(max-width:850px){.presence-row{grid-template-columns:1fr}.presence-status-buttons,.presence-extra-actions{justify-content:flex-start}}
@media(max-width:600px){.presence-toolbar{flex-direction:column;align-items:stretch}.summary-cards{grid-template-columns:repeat(2,1fr)}}

.feature-disabled-note{
  padding:14px;
  border:1px dashed #c9d3de;
  border-radius:11px;
  color:#718096;
  background:#f7f9fc;
}
:root[data-theme="dark"] .feature-disabled-note{
  background:#0d1d2d;
  border-color:#2a4158;
}

.premium-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;border-radius:22px;background:linear-gradient(135deg,#0b2137,#183f64 72%,#244f77);color:white;box-shadow:var(--shadow);overflow:hidden;position:relative}
.premium-hero::after{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-120px;top:-180px;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.015)}
.premium-hero h3{font-size:32px;margin:0 0 8px}.premium-hero p:last-child{margin:0;color:#bdcddd;max-width:760px;line-height:1.55}
.premium-hero-date{position:relative;z-index:1;min-width:150px;text-align:center;padding:16px 22px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.06);backdrop-filter:blur(10px)}
.premium-hero-date span,.premium-hero-date strong{display:block}.premium-hero-date span{text-transform:capitalize;color:#b9cadd;font-size:13px}.premium-hero-date strong{font-size:42px;line-height:1;margin:8px 0;color:#fff}
.premium-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}
.premium-kpis article{position:relative;padding:20px;background:#fff;border:1px solid #e2e8ef;border-radius:16px;box-shadow:0 8px 26px rgba(24,50,75,.05);cursor:pointer;transition:.17s}
.premium-kpis article:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(24,50,75,.09)}
.premium-kpis article::before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:3px;border-radius:3px;background:#315f8c}
.premium-kpis span,.premium-kpis small{display:block;color:#748397}.premium-kpis strong{display:block;font-size:28px;color:#173d65;margin:10px 0 4px}
.premium-dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px}
.premium-upcoming-panel{grid-row:span 2}.premium-shortcuts-panel{grid-column:1/-1}
.premium-meetings{display:grid;gap:10px;margin-top:17px}
.premium-meeting{display:grid;grid-template-columns:62px 1fr;gap:13px;padding:13px;border:1px solid #e5eaf0;border-radius:13px;background:#fbfcfe;cursor:pointer;transition:.16s}
.premium-meeting:hover{border-color:#aebfd0;transform:translateX(2px)}
.premium-meeting-date{display:grid;place-items:center;align-content:center;border-radius:10px;background:#eaf1f8;color:#15385f}.premium-meeting-date strong{font-size:24px;line-height:1}.premium-meeting-date span{text-transform:uppercase;font-size:11px;font-weight:750;margin-top:4px}
.premium-meeting-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.premium-meeting-title h4{margin:0}.premium-meeting-body p{margin:5px 0;color:#718096}
.premium-meeting-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#617386}
.premium-alerts{display:grid;gap:10px;margin-top:17px}.premium-alert{display:grid;grid-template-columns:10px 1fr;gap:11px;padding:12px;border-radius:11px;background:#f7f9fc}.premium-alert p{margin:4px 0 0;color:#6f7f91;font-size:13px;line-height:1.4}
.premium-alert-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;background:#4b7da9}.premium-alert.warning .premium-alert-dot{background:#d19a28}.premium-alert.error .premium-alert-dot{background:#b83d34}
.premium-ok-state{display:grid;place-items:center;text-align:center;min-height:170px;color:#728297}.premium-ok-state span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e8f7ee;color:#267443;font-size:22px}.premium-ok-state strong,.premium-ok-state small{display:block;margin-top:8px}
.premium-list{display:grid;gap:7px;margin-top:16px}.premium-list-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;width:100%;border:0;border-bottom:1px solid #edf0f4;padding:10px 3px;background:transparent;text-align:left;color:inherit}.premium-list-row:last-child{border-bottom:0}.premium-list-row:hover{background:#f7f9fc}
.premium-list-row strong,.premium-list-row small{display:block}.premium-list-row small{color:#77869a;margin-top:3px}.premium-list-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eaf1f8;color:#173d65}.premium-days{font-size:12px;color:#315f8c;font-weight:800}
.premium-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:16px}.premium-shortcuts button{display:grid;grid-template-columns:42px 1fr;column-gap:11px;align-items:center;border:1px solid #e2e8ef;border-radius:13px;background:#f9fbfd;padding:14px;text-align:left;color:#243f5a}.premium-shortcuts button:hover{border-color:#aebfd0;background:#f4f8fc}
.premium-shortcuts button>span{grid-row:1/3;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#e7eff7;font-size:19px}.premium-shortcuts strong,.premium-shortcuts small{display:block}.premium-shortcuts small{color:#78889a;margin-top:3px}
.empty-state.compact{min-height:140px}
:root[data-theme="dark"] .premium-kpis article,:root[data-theme="dark"] .premium-meeting{background:#102234;border-color:#24394e}:root[data-theme="dark"] .premium-meeting-date,:root[data-theme="dark"] .premium-list-icon,:root[data-theme="dark"] .premium-shortcuts button>span{background:#183149;color:#dce8f3}
:root[data-theme="dark"] .premium-kpis strong{color:#dce8f3}:root[data-theme="dark"] .premium-alert,:root[data-theme="dark"] .premium-shortcuts button{background:#0d1d2d;border-color:#24394e}:root[data-theme="dark"] .premium-list-row:hover{background:#0d1d2d}
@media(max-width:1250px){.premium-kpis{grid-template-columns:repeat(3,1fr)}.premium-shortcuts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.premium-dashboard-grid{grid-template-columns:1fr}.premium-upcoming-panel{grid-row:auto}.premium-shortcuts-panel{grid-column:auto}.premium-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.premium-hero{align-items:flex-start}.premium-hero-date{display:none}.premium-kpis{grid-template-columns:1fr 1fr}.premium-shortcuts{grid-template-columns:1fr}.premium-meeting{grid-template-columns:52px 1fr}.premium-meeting-title{align-items:flex-start;flex-direction:column}.premium-list-row{grid-template-columns:34px 1fr}}

.library-premium-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px;border-radius:20px;background:linear-gradient(135deg,#0d2845,#173f65);color:#fff;margin-bottom:18px}
.library-premium-header h3{font-size:29px;margin:0 0 7px}.library-premium-header p:last-child{margin:0;color:#b5c7d9}
.library-stats{display:flex;gap:10px}.library-stats article{min-width:84px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.06);text-align:center}.library-stats strong,.library-stats span{display:block}.library-stats strong{font-size:22px}.library-stats span{font-size:11px;color:#b8cadb;margin-top:3px}
.library-premium-toolbar{display:grid;grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(130px,.7fr)) auto;gap:10px;align-items:center}
.favorite-filter{display:flex;align-items:center;gap:7px;white-space:nowrap}.favorite-filter input{width:auto}
.library-premium-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;margin-top:20px}
.library-grid.premium{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
.library-premium-card{display:grid;grid-template-rows:auto 1fr auto;gap:12px;padding:17px;border:1px solid #e2e8ef;border-radius:16px;background:#fff;min-height:300px}
.library-card-top{display:flex;align-items:flex-start;justify-content:space-between}.favorite-button{border:0;background:transparent;color:#b8c2cd;font-size:24px;padding:2px 5px}.favorite-button.active{color:#c39b32}
.library-card-badges{display:flex;gap:6px;flex-wrap:wrap}.badge.theme{background:#f3edff;color:#654492}
.library-premium-card h4{font-size:18px;margin:11px 0 5px}.library-author{margin:0;color:#64768a}.library-summary{color:#5c6d7f;line-height:1.45;font-size:13px}
.library-tags{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.library-tags span{padding:4px 7px;border-radius:99px;background:#edf3f8;color:#48627b;font-size:11px}
.library-premium-card small{display:block;color:#8390a0}.library-card-actions{display:flex;gap:6px;flex-wrap:wrap}
.library-insights{display:grid;align-content:start;gap:14px}.library-insights section{padding:16px;border:1px solid #e2e8ef;border-radius:14px;background:#f9fbfd}.library-insights h4{margin:0 0 12px}
#library-latest{display:grid;gap:7px}#library-latest button{border:0;border-bottom:1px solid #e4e9ef;background:transparent;text-align:left;padding:8px 0;color:inherit}#library-latest button:last-child{border-bottom:0}#library-latest strong,#library-latest small{display:block}#library-latest small{color:#7b8998;margin-top:3px}
.library-author-stat{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #e7ebef}.library-author-stat:last-child{border-bottom:0}.library-author-stat strong{color:#173d65}
:root[data-theme="dark"] .library-premium-card{background:#102234;border-color:#24394e}:root[data-theme="dark"] .library-insights section{background:#0d1d2d;border-color:#24394e}:root[data-theme="dark"] .library-author-stat strong{color:#dce8f3}:root[data-theme="dark"] .library-tags span{background:#183149;color:#cbd9e7}
@media(max-width:1200px){.library-premium-toolbar{grid-template-columns:1fr 1fr 1fr}.favorite-filter{grid-column:auto}.library-premium-layout{grid-template-columns:1fr}.library-insights{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.library-grid.premium{grid-template-columns:1fr}.library-premium-header{align-items:flex-start;flex-direction:column}.library-premium-toolbar{grid-template-columns:1fr 1fr}.library-insights{grid-template-columns:1fr}}
@media(max-width:560px){.library-premium-toolbar{grid-template-columns:1fr}.library-stats{width:100%}.library-stats article{flex:1}}

.admin-console-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px;border-radius:20px;background:linear-gradient(135deg,#1b2635,#344b62);color:#fff;margin-bottom:18px}
.admin-console-header h3{font-size:29px;margin:0 0 7px}.admin-console-header p:last-child{margin:0;color:#c2cfdb}
.admin-status-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}
.admin-status-grid article{padding:17px;border:1px solid #e1e7ed;border-radius:14px;background:#fff}.admin-status-grid span,.admin-status-grid small{display:block;color:#748397}.admin-status-grid strong{display:block;font-size:24px;color:#173d65;margin:8px 0 4px}
.admin-console-layout{display:grid;grid-template-columns:1.35fr .85fr;gap:18px}.full-width{grid-column:1/-1}
.admin-feature-summary{margin-top:24px;padding-top:18px;border-top:1px solid #e3e8ed}.admin-feature-summary>div{display:grid;gap:8px}.admin-feature-summary>div>div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #edf0f3}
.admin-diagnostics-panel{margin-top:18px}.diagnostic-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #edf0f3}.diagnostic-row:last-child{border-bottom:0}.diagnostic-row span{color:#728195}
:root[data-theme="dark"] .admin-status-grid article{background:#102234;border-color:#24394e}:root[data-theme="dark"] .admin-status-grid strong{color:#dce8f3}
@media(max-width:1200px){.admin-status-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.admin-console-layout{grid-template-columns:1fr}}
@media(max-width:620px){.admin-status-grid{grid-template-columns:repeat(2,1fr)}.admin-console-header{align-items:flex-start;flex-direction:column}.diagnostic-row{align-items:flex-start;flex-direction:column}}

:root{
  --ordo-navy:#0b2238;
  --ordo-navy-2:#153f65;
  --ordo-gold:#bd9a45;
  --ordo-surface:#ffffff;
  --ordo-bg:#f3f6f9;
  --ordo-border:#dfe6ed;
  --ordo-text:#20384f;
  --ordo-muted:#718296;
  --ordo-radius:16px;
  --ordo-shadow:0 14px 38px rgba(24,48,73,.08);
}
*{scrollbar-width:thin;scrollbar-color:#a8b5c2 transparent}
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-thumb{background:#a8b5c2;border-radius:99px;border:2px solid transparent;background-clip:padding-box}
button,input,select,textarea{transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(54,122,187,.23);outline-offset:2px}
button:active{transform:translateY(1px)}
.panel{border-radius:var(--ordo-radius);box-shadow:0 8px 28px rgba(24,48,73,.045)}
.sidebar{width:260px;transition:width .22s ease,transform .22s ease;overflow:hidden}
.workspace{margin-left:260px;transition:margin-left .22s ease}
.brand-block{position:relative}.brand-copy{min-width:0;transition:opacity .15s ease,width .22s ease}
.sidebar-collapse{margin-left:auto;width:30px;height:30px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.05);color:#c9d8e6;font-size:22px;line-height:1}
.sidebar-collapsed .sidebar{width:82px}
.sidebar-collapsed .workspace{margin-left:82px}
.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav:not(.active)::after,.sidebar-collapsed .sidebar-footer div{display:none}
.sidebar-collapsed .brand-block{justify-content:center;padding-inline:12px}
.sidebar-collapsed .sidebar-collapse{position:absolute;right:-2px;top:18px}
.sidebar-collapsed .nav{justify-content:center;padding-inline:0;font-size:0}
.sidebar-collapsed .nav span{font-size:18px;margin:0}
.sidebar-collapsed .nav.active{border-radius:10px;margin-inline:10px}
.topbar{backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(18,44,67,.04)}
.topbar-actions{gap:8px}
.icon-only{min-width:40px;padding-inline:10px}
.command-button{display:flex;align-items:center;gap:9px;border:1px solid #d8e1ea;background:#fff;color:#52677c;border-radius:10px;padding:9px 11px}
.command-button kbd{padding:2px 6px;border:1px solid #d7dfe7;border-bottom-width:2px;border-radius:6px;background:#f7f9fb;color:#77889a;font-size:11px}
.top-loading-bar{position:fixed;left:260px;right:0;top:0;height:3px;z-index:5000;pointer-events:none;opacity:0;background:linear-gradient(90deg,var(--ordo-gold),#6fa5d3);transform:scaleX(0);transform-origin:left;transition:opacity .15s,transform .35s}
.sidebar-collapsed .top-loading-bar{left:82px}
.top-loading-bar.active{opacity:1;transform:scaleX(.72)}
.top-loading-bar.done{transform:scaleX(1);opacity:0}
.view{opacity:1}
.view.view-enter{animation:viewEnter .28s ease}
@keyframes viewEnter{from{opacity:.2;transform:translateY(7px)}to{opacity:1;transform:none}}
.command-palette{position:fixed;inset:0;z-index:10000;display:grid;place-items:start center;padding-top:min(14vh,120px);background:rgba(4,18,31,.5);backdrop-filter:blur(7px)}
.command-palette-card{width:min(660px,calc(100vw - 28px));border:1px solid rgba(255,255,255,.12);border-radius:17px;background:#fff;box-shadow:0 30px 90px rgba(4,18,31,.28);overflow:hidden}
.command-search{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;padding:15px 17px;border-bottom:1px solid #e5ebf0}
.command-search input{border:0!important;box-shadow:none!important;padding:5px 0;font-size:17px}
.command-search kbd,.command-results kbd{padding:3px 7px;border:1px solid #d8e0e8;border-bottom-width:2px;border-radius:6px;background:#f7f9fb;color:#79899a;font-size:11px}
.command-results{max-height:420px;overflow:auto;padding:8px}
.command-results button{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;width:100%;padding:11px;border:0;border-radius:10px;background:transparent;text-align:left;color:var(--ordo-text)}
.command-results button:hover,.command-results button.selected{background:#edf4fa}
.command-results strong,.command-results small{display:block}.command-results small{color:#7a8998;margin-top:2px}
.command-result-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e6eef6;color:#173d65}
.command-empty{padding:30px;text-align:center;color:#7d8b99}
.toast{border-radius:12px;box-shadow:0 18px 50px rgba(6,25,42,.22);backdrop-filter:blur(8px)}
:root[data-theme="dark"]{
  --ordo-surface:#102234;
  --ordo-bg:#0a1724;
  --ordo-border:#24394e;
  --ordo-text:#dbe6f1;
  --ordo-muted:#8fa1b4;
}
:root[data-theme="dark"] .command-button,:root[data-theme="dark"] .command-palette-card{background:#102234;border-color:#2b4259;color:#dce7f1}
:root[data-theme="dark"] .command-search{border-color:#263c51}
:root[data-theme="dark"] .command-search kbd,:root[data-theme="dark"] .command-results kbd{background:#0d1d2d;border-color:#31485f;color:#aab8c6}
:root[data-theme="dark"] .command-results button{color:#dce7f1}
:root[data-theme="dark"] .command-results button:hover,:root[data-theme="dark"] .command-results button.selected{background:#183149}
:root[data-theme="dark"] .command-result-icon{background:#183149;color:#dce7f1}
@media(max-width:820px){
  .sidebar,.sidebar-collapsed .sidebar{width:260px;transform:translateX(-100%);z-index:9000}
  .workspace,.sidebar-collapsed .workspace{margin-left:0}
  .mobile-sidebar-open .sidebar{transform:translateX(0)}
  .mobile-sidebar-open::after{content:"";position:fixed;inset:0;z-index:8999;background:rgba(5,20,34,.45);backdrop-filter:blur(3px)}
  .sidebar-collapse{display:none}
  .top-loading-bar,.sidebar-collapsed .top-loading-bar{left:0}
  .command-button span:nth-child(2),.command-button kbd{display:none}
}
@media(max-width:560px){
  .topbar-actions{gap:5px}
  .topbar-actions .secondary,.topbar-actions .primary,.command-button{padding:8px 10px}
  .topbar-actions #logout{font-size:0}
  .topbar-actions #logout::after{content:"↪";font-size:17px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

.admin-subsection-title{margin:26px 0 8px;padding-top:18px;border-top:1px solid #e5eaf0}
.admin-maintenance-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.admin-health-link{display:inline-flex;align-items:center;text-decoration:none}
.skeleton{position:relative;overflow:hidden;background:#e9eef3;border-radius:8px}
.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:skeletonWave 1.25s infinite}
@keyframes skeletonWave{100%{transform:translateX(100%)}}
:root[data-theme="dark"] .skeleton{background:#172c40}
:root[data-theme="dark"] .admin-subsection-title{border-color:#24394e}
@media(max-width:600px){.admin-maintenance-actions{display:grid}.admin-maintenance-actions>*{width:100%;justify-content:center}}

.communication-header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:28px;border-radius:20px;background:linear-gradient(135deg,#0b2238,#17486f);color:#fff;margin-bottom:18px}
.communication-header h3{font-size:29px;margin:0 0 7px}.communication-header p:last-child{margin:0;color:#bed0df}
.communication-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}
.communication-tools{position:sticky;top:112px;align-self:start}.communication-tools label{display:grid;gap:6px;margin:16px 0}.communication-tools button{margin-top:8px}
.communication-help{margin-top:16px;padding:12px;border-radius:10px;background:#f4f7fa;color:#708194;font-size:12px;line-height:1.5}
.legacy-notifications-panel{margin-top:18px}
.campaign-card{display:flex;justify-content:space-between;gap:18px;padding:17px;border:1px solid #e3e9ef;border-radius:14px;background:#fff}.campaign-card h4{margin:0 0 5px}.campaign-card p{margin:0 0 5px;color:#607286}.campaign-card small{color:#8090a0}
.campaign-deliveries{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.campaign-deliveries span{padding:4px 7px;border-radius:99px;background:#edf3f8;color:#526b82;font-size:11px}
.campaign-actions{display:flex;align-items:center;gap:6px}
.presence-dashboard-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0 18px}.presence-dashboard-summary article{padding:13px;border:1px solid #e2e8ef;border-radius:12px;background:#f8fafc}.presence-dashboard-summary span,.presence-dashboard-summary strong{display:block}.presence-dashboard-summary span{color:#748397;font-size:12px}.presence-dashboard-summary strong{font-size:22px;color:#173d65;margin-top:6px}
:root[data-theme="dark"] .campaign-card{background:#102234;border-color:#24394e}:root[data-theme="dark"] .communication-help,:root[data-theme="dark"] .presence-dashboard-summary article{background:#0d1d2d;border-color:#24394e}:root[data-theme="dark"] .presence-dashboard-summary strong{color:#dce8f3}
@media(max-width:1050px){.communication-grid{grid-template-columns:1fr}.communication-tools{position:static}.presence-dashboard-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.communication-header,.campaign-card{align-items:flex-start;flex-direction:column}.campaign-actions{width:100%}.campaign-actions button{flex:1}.presence-dashboard-summary{grid-template-columns:repeat(2,1fr)}}

/* ORDO Lot 21 — final spacing and pixel pass */
:root{
  --sidebar-width:260px;
  --sidebar-collapsed-width:82px;
  --content-gap:14px;
  --page-padding:18px;
}

.sidebar{
  width:var(--sidebar-width);
}

.workspace{
  margin-left:var(--sidebar-width);
  padding-left:0;
}

.content,
.content-tight{
  width:100%;
  max-width:none;
  margin:0;
  padding:var(--page-padding);
}

.sidebar-collapsed .sidebar{
  width:var(--sidebar-collapsed-width);
}

.sidebar-collapsed .workspace{
  margin-left:var(--sidebar-collapsed-width);
}

/* Corrects the large empty strip visible between the left frame and the central frame. */
.workspace > .content,
.workspace > main.content{
  padding-left:var(--content-gap);
}

.topbar{
  left:var(--sidebar-width);
  right:0;
}

.sidebar-collapsed .topbar{
  left:var(--sidebar-collapsed-width);
}

.panel,
.premium-hero,
.communication-header,
.library-premium-header,
.admin-console-header{
  margin-left:0;
  margin-right:0;
}

.view{
  width:100%;
  max-width:100%;
}

.panel-head{
  gap:16px;
}

.form-grid{
  align-items:start;
}

.form-grid label{
  min-width:0;
}

input,
select,
textarea{
  max-width:100%;
}

.table-wrap{
  width:100%;
  overflow-x:auto;
}

.modal-card{
  width:min(760px,calc(100vw - 28px));
  max-height:calc(100vh - 32px);
  overflow:auto;
}

.empty-state{
  border-radius:14px;
}

.primary,
.secondary,
.danger{
  min-height:40px;
}

.small{
  min-height:32px;
}

@media(max-width:1100px){
  :root{
    --page-padding:14px;
    --content-gap:10px;
  }
}

@media(max-width:820px){
  .workspace,
  .sidebar-collapsed .workspace{
    margin-left:0;
  }

  .topbar,
  .sidebar-collapsed .topbar{
    left:0;
  }

  .workspace > .content,
  .workspace > main.content{
    padding-left:var(--page-padding);
  }
}

@media(max-width:560px){
  :root{
    --page-padding:10px;
  }

  .content,
  .content-tight{
    padding:var(--page-padding);
  }

  .panel{
    padding:14px;
  }

  .premium-hero,
  .communication-header,
  .library-premium-header,
  .admin-console-header{
    padding:20px;
    border-radius:16px;
  }
}

/* ORDO v0.9.7.1 — definitive two-column application layout */
:root{
  --ordo-sidebar-width:240px;
  --ordo-sidebar-collapsed-width:76px;
  --ordo-content-padding-x:14px;
  --ordo-content-padding-y:18px;
}

#dashboard.app-layout{
  display:grid !important;
  grid-template-columns:var(--ordo-sidebar-width) minmax(0,1fr);
  min-height:100vh;
  width:100%;
  overflow:hidden;
}

#dashboard.app-layout > .sidebar{
  position:fixed;
  inset:0 auto 0 0;
  width:var(--ordo-sidebar-width) !important;
  margin:0 !important;
  z-index:1000;
}

#dashboard.app-layout > .workspace{
  grid-column:2;
  width:100%;
  min-width:0;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
}

#dashboard.app-layout .topbar{
  position:sticky;
  top:0;
  left:auto !important;
  right:auto !important;
  width:100%;
  margin:0 !important;
}

#dashboard.app-layout .content,
#dashboard.app-layout .content-tight,
#dashboard.app-layout .workspace > main.content{
  width:100%;
  max-width:none !important;
  margin:0 !important;
  padding:var(--ordo-content-padding-y) var(--ordo-content-padding-x) !important;
  box-sizing:border-box;
}

#dashboard.app-layout .view{
  width:100%;
  max-width:none;
  margin:0;
}

body.sidebar-collapsed #dashboard.app-layout{
  grid-template-columns:var(--ordo-sidebar-collapsed-width) minmax(0,1fr);
}

body.sidebar-collapsed #dashboard.app-layout > .sidebar{
  width:var(--ordo-sidebar-collapsed-width) !important;
}

#dashboard.app-layout .top-loading-bar{
  left:var(--ordo-sidebar-width) !important;
}

body.sidebar-collapsed #dashboard.app-layout .top-loading-bar{
  left:var(--ordo-sidebar-collapsed-width) !important;
}

/* Neutralise les anciens décalages cumulés responsables de la bande vide. */
#dashboard .workspace,
body.sidebar-collapsed #dashboard .workspace,
#dashboard .content{
  margin-left:0 !important;
}

@media(max-width:820px){
  #dashboard.app-layout,
  body.sidebar-collapsed #dashboard.app-layout{
    display:block !important;
    width:100%;
    overflow:visible;
  }

  #dashboard.app-layout > .sidebar,
  body.sidebar-collapsed #dashboard.app-layout > .sidebar{
    width:260px !important;
    transform:translateX(-100%);
  }

  body.mobile-sidebar-open #dashboard.app-layout > .sidebar{
    transform:translateX(0);
  }

  #dashboard.app-layout > .workspace{
    width:100%;
    margin:0 !important;
  }

  #dashboard.app-layout .content,
  #dashboard.app-layout .content-tight,
  #dashboard.app-layout .workspace > main.content{
    padding:12px !important;
  }

  #dashboard.app-layout .top-loading-bar{
    left:0 !important;
  }
}

/* ORDO v0.9.8 — colour themes */
:root{
  --theme-bg:#f3f6f9;
  --theme-surface:#ffffff;
  --theme-surface-2:#f8fafc;
  --theme-sidebar:#0b2238;
  --theme-sidebar-2:#102e4a;
  --theme-primary:#153f65;
  --theme-primary-2:#315f8c;
  --theme-accent:#4f86b7;
  --theme-accent-soft:#eaf1f8;
  --theme-text:#20384f;
  --theme-muted:#718296;
  --theme-border:#dfe6ed;
  --theme-on-primary:#ffffff;
  --theme-shadow:0 14px 38px rgba(24,48,73,.08);
}

:root[data-ordo-theme="classique"]{
  --theme-bg:#f3f6f9;
  --theme-surface:#ffffff;
  --theme-surface-2:#f8fafc;
  --theme-sidebar:#0b2238;
  --theme-sidebar-2:#102e4a;
  --theme-primary:#153f65;
  --theme-primary-2:#315f8c;
  --theme-accent:#4f86b7;
  --theme-accent-soft:#eaf1f8;
  --theme-text:#20384f;
  --theme-muted:#718296;
  --theme-border:#dfe6ed;
  --theme-on-primary:#ffffff;
}

:root[data-ordo-theme="premium"]{
  --theme-bg:#031225;
  --theme-surface:#071a31;
  --theme-surface-2:#0a213c;
  --theme-sidebar:#020d1c;
  --theme-sidebar-2:#07182d;
  --theme-primary:#0d294b;
  --theme-primary-2:#173f67;
  --theme-accent:#d1a35b;
  --theme-accent-soft:#2f2940;
  --theme-text:#f5efe4;
  --theme-muted:#c4ad87;
  --theme-border:#6b4d2d;
  --theme-on-primary:#fff8ea;
  --theme-shadow:0 18px 46px rgba(0,0,0,.28);
}

:root[data-ordo-theme="parchemin"]{
  --theme-bg:#d8c29d;
  --theme-surface:#f1e4c9;
  --theme-surface-2:#e8d7b8;
  --theme-sidebar:#5d3f29;
  --theme-sidebar-2:#725037;
  --theme-primary:#76502f;
  --theme-primary-2:#9c6d3d;
  --theme-accent:#b8773b;
  --theme-accent-soft:#e4c79d;
  --theme-text:#4a3223;
  --theme-muted:#806349;
  --theme-border:#b89466;
  --theme-on-primary:#fff8ea;
  --theme-shadow:0 14px 34px rgba(77,49,28,.18);
}

:root[data-ordo-theme="obsidienne"]{
  --theme-bg:#0b0d10;
  --theme-surface:#171a1e;
  --theme-surface-2:#20242a;
  --theme-sidebar:#050607;
  --theme-sidebar-2:#121416;
  --theme-primary:#24282d;
  --theme-primary-2:#3b4148;
  --theme-accent:#c9a45f;
  --theme-accent-soft:#322b20;
  --theme-text:#f0f0ee;
  --theme-muted:#aaa9a4;
  --theme-border:#4a4337;
  --theme-on-primary:#fffaf0;
  --theme-shadow:0 18px 44px rgba(0,0,0,.4);
}

:root[data-ordo-theme="emeraude"]{
  --theme-bg:#0b211d;
  --theme-surface:#12332c;
  --theme-surface-2:#184239;
  --theme-sidebar:#061713;
  --theme-sidebar-2:#0f2a24;
  --theme-primary:#1f4f43;
  --theme-primary-2:#2c6b5a;
  --theme-accent:#c2a25a;
  --theme-accent-soft:#2e3b2e;
  --theme-text:#edf7f3;
  --theme-muted:#b2c9c0;
  --theme-border:#436b5e;
  --theme-on-primary:#ffffff;
  --theme-shadow:0 18px 44px rgba(0,20,15,.3);
}

:root[data-ordo-theme="ardoise"]{
  --theme-bg:#1d2935;
  --theme-surface:#2a3947;
  --theme-surface-2:#344858;
  --theme-sidebar:#15212c;
  --theme-sidebar-2:#223342;
  --theme-primary:#566b7e;
  --theme-primary-2:#71899d;
  --theme-accent:#a9c7df;
  --theme-accent-soft:#3b5366;
  --theme-text:#f2f7fb;
  --theme-muted:#c1cfda;
  --theme-border:#678094;
  --theme-on-primary:#ffffff;
  --theme-shadow:0 18px 44px rgba(5,15,25,.28);
}

:root[data-ordo-theme="amethyste"]{
  --theme-bg:#21142a;
  --theme-surface:#342041;
  --theme-surface-2:#422b50;
  --theme-sidebar:#170d1d;
  --theme-sidebar-2:#2a1734;
  --theme-primary:#5b3a70;
  --theme-primary-2:#75508b;
  --theme-accent:#c7b7d8;
  --theme-accent-soft:#493857;
  --theme-text:#f7f1fa;
  --theme-muted:#cbbdd2;
  --theme-border:#765f82;
  --theme-on-primary:#ffffff;
  --theme-shadow:0 18px 44px rgba(17,7,22,.34);
}

/* Apply palette consistently without changing layout */
body{
  background:var(--theme-bg)!important;
  color:var(--theme-text)!important;
}

.sidebar{
  background:linear-gradient(180deg,var(--theme-sidebar),var(--theme-sidebar-2))!important;
}

.workspace,
.content{
  background:var(--theme-bg)!important;
}

.topbar,
.panel,
.premium-kpis article,
.premium-meeting,
.library-premium-card,
.campaign-card,
.presence-row,
.admin-status-grid article{
  background:var(--theme-surface)!important;
  border-color:var(--theme-border)!important;
  color:var(--theme-text)!important;
}

.premium-hero,
.communication-header,
.library-premium-header,
.admin-console-header{
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-2))!important;
  color:var(--theme-on-primary)!important;
  border-color:var(--theme-border)!important;
}

.nav.active,
.primary{
  background:var(--theme-primary-2)!important;
  color:var(--theme-on-primary)!important;
}

.secondary,
.command-button{
  background:var(--theme-surface-2)!important;
  color:var(--theme-text)!important;
  border-color:var(--theme-border)!important;
}

.eyebrow,
.eyebrow.dark,
.badge,
.premium-kpis strong,
.presence-dashboard-summary strong,
.admin-status-grid strong{
  color:var(--theme-accent)!important;
}

.muted,
small,
.premium-meeting-body p,
.library-author,
.library-summary{
  color:var(--theme-muted)!important;
}

.document-icon,
.premium-list-icon,
.command-result-icon,
.premium-meeting-date{
  background:var(--theme-accent-soft)!important;
  color:var(--theme-accent)!important;
}

.panel,
.premium-hero,
.communication-header,
.library-premium-header,
.admin-console-header{
  box-shadow:var(--theme-shadow)!important;
}

.theme-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.theme-card{
  display:grid;
  grid-template-columns:72px 1fr 28px;
  gap:12px;
  align-items:center;
  min-height:94px;
  padding:12px;
  border:1px solid var(--theme-border);
  border-radius:14px;
  background:var(--theme-surface-2);
  color:var(--theme-text);
  text-align:left;
}

.theme-card:hover{
  transform:translateY(-1px);
  box-shadow:var(--theme-shadow);
}

.theme-card.selected{
  outline:2px solid var(--theme-accent);
  outline-offset:1px;
}

.theme-card:disabled{
  opacity:.58;
  cursor:not-allowed;
}

.theme-preview{
  display:block;
  width:72px;
  height:58px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.12);
}

.theme-card-copy strong,
.theme-card-copy small{
  display:block;
}

.theme-card-copy small{
  margin-top:5px;
  line-height:1.35;
}

.theme-check{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:50%;
  background:var(--theme-accent-soft);
  color:var(--theme-accent);
  font-weight:800;
}

@media(max-width:1000px){
  .theme-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .theme-choice-grid{grid-template-columns:1fr}
}


/* Centre d’aide v0.9.9 */
.help-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.help-topic-card{min-height:150px;padding:20px;text-align:left;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);display:flex;flex-direction:column;align-items:flex-start;gap:14px}.help-topic-card strong{font-size:1.05rem}.help-topic-card small,.help-admin-row small{color:var(--muted);display:block;margin-top:6px}.help-toggle{display:flex;align-items:center;gap:9px}.help-toggle input{width:auto}.help-form-actions{display:flex;gap:10px}.help-admin-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.help-admin-row>div:last-child{display:flex;gap:8px}.help-modal-content{height:min(72vh,760px)}.help-viewer-frame{width:100%;height:100%;border:0;border-radius:10px;background:#fff}.help-video-frame{background:#000}.help-text-view{max-width:900px;margin:auto;padding:18px;line-height:1.7;white-space:normal}.danger{background:#a43645!important;color:#fff!important}@media(max-width:900px){.help-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.help-topic-grid{grid-template-columns:1fr}.help-admin-row{align-items:flex-start;flex-direction:column}.help-modal-content{height:68vh}}
