:root { --blue2:#6554e8; }
.sidebar { flex-shrink:0; height:100dvh; min-height:0; }
.sidebar #nav { min-height:0; overflow-y:auto; scrollbar-width:thin; }
.sidebar #nav::-webkit-scrollbar { display:block; width:5px; }
.main, #content { overflow-x:clip; }
.main > .topbar { position:sticky; top:0; z-index:30; }
.topbar .icon-btn { display:inline-grid; place-items:center; border:1px solid var(--line); border-radius:8px; background:var(--panel); }
.topbar .icon-btn svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; }
.btn, .icon-btn { border-radius:8px; box-shadow:none; }
.btn.primary, .login .primary { background:#6554e8; color:#fff; border-color:#6554e8; }
.table-wrap th { background:var(--panel); color:var(--muted); text-transform:uppercase; letter-spacing:.035em; }
.table-wrap td { padding-block:12px; }
.field input, .field select, .field textarea { border-radius:8px; }
.login-access { display:grid; grid-template-rows:1fr auto; min-width:0; }
.login .welcome { background:linear-gradient(145deg,#111b33,#222142); }
.login .welcome h1, .login-card h2 { font-family:inherit; }
.login-logo { width:84px; height:84px; object-fit:contain; margin-bottom:16px; }
.login-access .login-card { background:transparent; border:0; box-shadow:none; width:min(420px,88%); }
.login-card > .btn { width:100%; margin-top:8px; }
.login-footer { border-top:1px solid var(--line); text-align:center; padding:16px; color:var(--muted); font-size:12px; }
.login-footer p { margin:0 0 6px; }
.login-footer address { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 16px; font-style:normal; }
.login-footer a { color:inherit; }
.page-tools { display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; padding:12px 24px 0; }
@media print {
 .sidebar,.topbar,.page-tools,.floating-tools,.notification-panel,#content button,#content .toolbar,#content .iead-record-filters { display:none!important; }
 .app:not(.hidden), .app .main, #content, #content .table-wrap { display:block; height:auto; min-height:0; overflow:visible; margin:0; }
 #content { padding:0; }
 #content thead { display:table-header-group; }
 #content tr { break-inside:avoid; }
}
.sunday-photos { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:10px; }
.sunday-photos img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:8px; }
.heading-actions,.inline-actions,.modal-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.heading-actions { margin-inline-start:auto; }
.heading-actions .toolbar { margin:0; }
.btn { display:inline-flex; justify-content:center; align-items:center; min-height:34px; padding:6px 11px; font-size:12px; line-height:1.2; }
.topbar .icon-btn { inline-size:34px; block-size:34px; padding:0; }
.table-wrap :is(th,td):last-child:has(button), .table-wrap th.action-column { text-align:right; }
.table-wrap td:last-child:has(button) .btn { margin:2px; }
.navsub { display:flex; align-items:center; gap:8px; }
.navsub .navico { font-size:11px; }
.login .welcome { padding:clamp(26px,4vw,60px); }
.login .welcome h1 { font-size:clamp(28px,3.3vw,44px); margin:16px 0 6px; }
.login .welcome p { font-size:14px; margin:8px 0; max-width:520px; }
.login .welcome h1 em { color:inherit; font-style:normal; }
.decision-dialog { width:min(460px, calc(100% - 32px)); padding:22px; border:1px solid var(--line); border-radius:14px; color:var(--ink); background:var(--panel); }
.decision-dialog::backdrop { background:#151c38a0; }
.decision-dialog h2 { margin:0; }
.iead-table-tools { display:flex; flex-wrap:wrap; align-items:end; gap:8px; margin:0 0 12px; }
.iead-table-tools label { display:grid; gap:4px; width:min(320px,100%); }
.iead-table-tools input { min-height:34px; width:100%; border:1px solid var(--line); border-radius:8px; padding:6px 10px; color:var(--ink); background:var(--bg); }
.table-count { margin-inline-start:auto; display:grid; text-align:right; padding-inline:10px; }
.table-count small { color:var(--muted); }
.table-count strong { font-size:16px; }
@media print { .iead-table-tools label,.iead-table-tools button { display:none!important; } }
.module-options { grid-column:1/-1; display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:7px; border:1px solid var(--line); border-radius:8px; padding:10px; }
.module-options input { accent-color:#6554e8; }
.iead-table-tools select { min-height:34px; border:1px solid var(--line); border-radius:8px; padding:6px 10px; color:var(--ink); background:var(--bg); }
.iead-table-tools label:has(select) { width:auto; min-width:110px; }
#content .toolbar[hidden] { display:none!important; }
