/* Services adapts the Funeral Register's semantic tokens and responsive shell. */
.seg.seg-symbols button{font-size:16.5px;font-weight:600;line-height:1}
:root,:root[data-theme],:root:not([data-theme]){
  --ink:var(--text);--muted:var(--text-muted);--line:var(--border);--line-strong:var(--border-strong);
  --raise:var(--surface-raised);--accent:var(--brand);--accent-ink:var(--text-on-brand);--accent-soft:var(--brand-subtle);
  --brass:var(--gold-text);--brass-soft:var(--gold-subtle);--ok:var(--success-text);--ok-soft:var(--success-bg);
  --bad:var(--danger-text);--bad-soft:var(--danger-bg);--warn:var(--warning-text);--warn-soft:var(--warning-bg);
  --f-display:var(--font-sans);--f-body:var(--font-sans);--r:var(--radius-lg);--shadow:var(--shadow-xs);
}
*{box-sizing:border-box}html{scroll-padding-top:120px}body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.5 var(--font-sans);min-height:100svh;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}button,input,select,textarea{font-family:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}svg{width:22px;height:22px;flex:none}a{color:var(--brand)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{font-family:var(--font-sans);line-height:1.3}h2{font-size:20px;font-weight:600}h2 small{font-size:14px;line-height:1.7}h3{font-size:16px;font-weight:600}
.skip-link{position:fixed;top:-100px;inset-inline-start:16px;z-index:500;background:var(--surface);padding:12px}.skip-link:focus{top:12px}
.services-app{--sidebar-size:260px}.app-sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:var(--sidebar-size);background:var(--surface);border-inline-end:1px solid var(--border);z-index:150;display:flex;flex-direction:column}
.sidebar-brand{display:flex;align-items:center;gap:12px;padding:28px 24px;border-bottom:1px solid var(--border);min-height:106px}.sidebar-brand strong{font-size:18px;display:block}.sidebar-brand small{display:block;color:var(--text-muted);font-size:12px;margin-top:5px}.app-monogram{background:var(--chip);color:var(--chip-text);padding:10px;border-radius:12px;display:flex}
.nav-caption{padding:28px 24px 8px;font-size:12px;color:var(--text-muted)}.side-nav{display:grid;gap:6px;padding:8px 12px;align-content:start;flex:1}
.nav-link{display:flex;gap:12px;align-items:center;position:relative;border:0;border-radius:8px;background:transparent;color:var(--text-muted);min-height:48px;padding:12px 16px;text-align:start;font-size:14px;font-weight:500}.nav-link:hover{color:var(--text);background:var(--surface-raised)}.nav-link[aria-pressed="true"],.nav-link[aria-current="page"]{color:var(--chip-text);background:var(--chip);font-weight:600}.nav-link[aria-current="page"]:before{content:"";position:absolute;inset-inline-start:0;inset-block:12px;width:3px;border-radius:4px;background:var(--indicator)}
.sidebar-footer{padding:20px 16px;border-top:1px solid var(--border)}.who{display:flex;gap:10px;padding:0;border:0;color:var(--text);font-size:14px}.who b{display:block}.who span{color:var(--text-muted);font-size:12px}.user-avatar{display:grid;place-items:center;background:var(--chip);border-radius:50%;width:40px;height:40px}.user-avatar svg{color:var(--chip-text)}.who #whoRole{display:block}.sidebar-footer .logout{width:100%;margin-top:14px;font-size:13px}
.workspace{margin-inline-start:var(--sidebar-size);min-width:0}.identity-bar{height:106px;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);background:var(--surface)}.identity-bar picture{display:block;height:62px}.identity-bar .authority-mark{height:62px;width:auto;max-width:180px}.identity-bar .mosque-mark{height:58px;width:auto;max-width:180px}
.page-header{position:sticky;top:0;z-index:100;min-height:108px;padding:20px 32px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow{margin:0 0 5px;color:var(--text-muted);font-size:12px}.page-header h1{font-size:24px;font-weight:600;margin:0 0 6px}.today{display:flex;gap:10px;flex-wrap:wrap;text-align:start;color:var(--text-muted);font-size:12px}.today b{color:var(--text-muted);font-size:12px;font-weight:400}.header-tools{display:flex;align-items:center;gap:16px}.workspace-badge{font-size:12px;padding:6px 10px;background:var(--surface-raised);border:1px solid var(--border);border-radius:6px;color:var(--text-muted)}
.icon-button{border:1px solid var(--border);background:var(--surface);color:var(--text);width:44px;height:44px;display:inline-grid;place-items:center;border-radius:8px;flex:none}.icon-button:hover{background:var(--surface-raised)}
.wrap{max-width:1264px;padding:28px 32px 160px;margin:auto;gap:24px}.wrap:focus{outline:none}#entry,#staffView{gap:24px!important}section.card{padding:24px;gap:24px;border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow-xs);background:var(--surface)}.step{width:32px;height:32px;background:var(--chip);color:var(--chip-text);font-size:14px;border-radius:8px}
.grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.f,label.f{font-size:14px;font-weight:500;color:var(--text);gap:8px}input,select,textarea{font-size:16px;min-height:44px;line-height:1.5;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;padding:10px 12px;box-shadow:var(--shadow-xs);color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--focus-ring);outline-offset:1px;border-color:var(--brand);box-shadow:0 0 0 3px var(--chip)}input:disabled,select:disabled{background:var(--surface-sunken);color:var(--text-muted)}input[aria-invalid="true"]{border-color:var(--danger)}input[type=checkbox]{width:20px;min-height:20px;height:20px;accent-color:var(--brand);box-shadow:none}input[type=date],input[type=time],input[type=number]{font-variant-numeric:tabular-nums}.readout{min-height:46px;background:var(--surface-raised);border:1px dashed var(--border-strong);border-radius:8px;padding:10px 12px}.hint,.note{font-size:13px;line-height:1.7;color:var(--text-muted)}
.btn{min-height:44px;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:500;border:1px solid var(--border-strong);box-shadow:var(--shadow-xs);transition:background 120ms}.btn:hover{background:var(--surface-raised);border-color:var(--border-strong)}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--text-on-brand)}.btn.primary:hover{background:var(--brand-hover);filter:none}.btn.primary:active{background:var(--brand-pressed)}.btn.x,.svc-item .btn,.u-row .btn{min-height:44px}.btn.ghost{box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed}
.zone-wrap{gap:20px;padding:20px;background:var(--surface-raised);border-radius:12px;border:1px solid var(--border)}.dept-row{border-radius:12px;box-shadow:none}.dept-head{background:var(--surface-raised);padding:14px 20px}.dept-head .n{background:var(--chip);color:var(--chip-text)}.dept-head .dname{font-weight:600}.dept-body{gap:20px;padding:20px}.tog{font-size:14px;color:var(--text)}.seg{display:flex;padding:4px;gap:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface-sunken);flex-wrap:wrap}.seg button{flex:1;min-height:44px;white-space:normal;font-size:13px;line-height:1.5;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-muted);padding:8px}.seg button[aria-pressed="true"]{background:var(--chip);color:var(--chip-text);border-color:var(--indicator);box-shadow:var(--shadow-xs)}.seg button[data-v="no"][aria-pressed="true"],.seg button[data-v="absent"][aria-pressed="true"]{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger)}.seg button[data-v="assigned"][aria-pressed="true"]{background:var(--info-bg);color:var(--info-text);border-color:var(--info)}
.extras{gap:24px;margin-top:8px}.att-box{padding:16px;border:1px dashed var(--border-strong);border-radius:12px;background:var(--surface-raised)}.pill{font-size:12px;border-radius:999px;padding:4px 10px}.filters{padding:16px;gap:16px;border-radius:12px;background:var(--surface-raised)}.filters .f{flex:1;min-width:140px;width:auto}.filters .f.wide{flex:1.5;width:auto}.tbl-wrap{border-radius:12px;max-width:100%}.tbl-wrap:has(table.compact){max-width:100%}table{font-size:14px}th{font-size:12px;font-weight:600;background:var(--surface-raised);color:var(--text-muted)}th,td{padding:14px 16px}tbody tr:hover>td{background:var(--brand-subtle)}.empty{padding:48px 24px;background:var(--surface-raised);border:1px dashed var(--border-strong);border-radius:12px;font-size:14px;line-height:1.8}.stats{gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stat{padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-xs)}.stat b{font-size:30px;font-weight:600;color:var(--text);margin-bottom:8px}.stat span{font-size:13px}.dash-card{padding:20px;border-radius:12px}.role{background:var(--surface);border-radius:12px;padding:20px}.svc-item{background:var(--surface-raised);border-radius:12px;padding:16px}.detail{background:var(--surface);padding:0}.detail p{font-size:14px;line-height:1.8}.detail table{font-size:14px}
.bar{inset-inline-start:var(--sidebar-size);inset-inline-end:0;bottom:0;padding:0 32px 20px;z-index:110}.bar .in{max-width:1200px;background:var(--surface);border-radius:12px;padding:16px 20px;border:1px solid var(--border);box-shadow:var(--shadow-lg);gap:12px}.bar .summary{font-size:13px}.bar .msg{color:var(--text-muted);font-size:13px;line-height:1.5}.bar .msg.err{color:var(--danger-text)}.bar .msg.good{color:var(--success-text)}.bar .btn.primary{min-height:44px;font-size:14px;min-width:140px}.mobile-nav{display:none}
.drawer{position:fixed;inset-block:0;inset-inline-start:auto;inset-inline-end:0;margin:0;width:min(680px,90vw);height:100svh;max-height:100svh;padding:0;border:0;border-inline-start:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-xl)}.drawer[open]{display:flex;flex-direction:column}.drawer::backdrop{background:var(--overlay);backdrop-filter:blur(2px)}.drawer>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid var(--border)}.drawer h2{font-size:18px;margin:0}.drawer #drawerBody{padding:24px;overflow:auto;flex:1}.more-menu{display:grid;gap:12px}.more-menu p{font-size:14px;color:var(--text-muted)}.toast{position:fixed;bottom:120px;inset-inline-end:24px;z-index:400;max-width:min(420px,calc(100vw - 32px));padding:16px 20px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-xl);border:1px solid var(--border);border-inline-start:4px solid var(--success);border-radius:12px;font-size:14px}.toast.err{border-inline-start-color:var(--danger)}
.login-page{display:flex;flex-direction:column;background:radial-gradient(ellipse at top right,var(--brand-subtle),transparent 65%),var(--bg)}.login-page .identity-bar{background:transparent;border:0;max-width:1000px;width:100%;margin:auto;padding-inline:32px}.login-main{display:flex;align-items:center;justify-content:center;flex:1;padding:32px 20px 48px}.login-card{width:100%;max-width:432px;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);display:grid;gap:20px}.login-card-top{display:flex;justify-content:flex-end;margin-bottom:-12px}.login-card h2{display:flex;flex-direction:column;text-align:center;gap:16px;font-size:24px;margin:0 0 8px}.login-card h2 .step{width:56px;height:56px;border-radius:50%}.login-card h2 .step svg{width:26px;height:26px}.login-card h2 small{display:block;font-weight:400;font-size:14px;margin-top:8px;color:var(--text-muted)}.login-card .check{display:flex;align-items:center;gap:10px;font-size:14px;min-height:44px}.login-card .note{text-align:center;margin:0}.login-card .msg{border-radius:8px;padding:12px;background:var(--danger-bg);color:var(--danger-text);font-size:14px;margin:0}.login-footer{text-align:center;padding:16px;font-size:12px;color:var(--text-muted)}
@media(min-width:640px) and (max-width:1023px){.services-app{--sidebar-size:64px}.sidebar-brand{padding:24px 10px}.sidebar-brand>div,.nav-caption,.nav-link span,.sidebar-footer .who,.sidebar-footer .logout{display:none}.app-monogram{padding:10px}.side-nav{padding:16px 6px}.nav-link{padding:12px;justify-content:center}.nav-link:hover:after{content:attr(title);position:absolute;inset-inline-start:55px;padding:8px;background:var(--surface);box-shadow:var(--shadow-md);white-space:nowrap;border-radius:8px}.sidebar-footer{padding:8px}.wrap{padding-inline:24px}.page-header,.identity-bar{padding-inline:24px}.workspace-badge{display:none}}
@media(max-width:899px){.tbl-wrap:not(:has(table.tour)){border:0;overflow:visible}.tbl-wrap:not(:has(table.tour)) table{min-width:0;width:100%;display:block}.tbl-wrap:not(:has(table.tour)) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.tbl-wrap:not(:has(table.tour)) tbody{display:grid;gap:16px}.tbl-wrap:not(:has(table.tour)) tr{display:grid;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.tbl-wrap:not(:has(table.tour)) td{display:grid;grid-template-columns:minmax(90px,32%) minmax(0,1fr);gap:8px;padding:12px;font-size:14px;border-bottom:1px solid var(--border);white-space:normal!important}.tbl-wrap:not(:has(table.tour)) td:before{content:attr(data-label);font-weight:500;color:var(--text-muted);font-size:12px}.tbl-wrap:not(:has(table.tour)) td small{grid-column:2}.tbl-wrap:not(:has(table.tour)) td[colspan]{display:block}.tbl-wrap:not(:has(table.tour)) td[colspan]:before{display:none}.tbl-wrap:not(:has(table.tour)) td:last-child{border-bottom:0}.u-row input{width:100%}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){.services-app{--sidebar-size:0px}.app-sidebar{display:none}.identity-bar{height:84px;padding:16px 20px}.identity-bar picture,.identity-bar .authority-mark{height:48px}.identity-bar .mosque-mark{height:44px}.page-header{padding:16px 20px;min-height:104px}.page-header h1{font-size:20px}.eyebrow{font-size:11px}.header-tools .workspace-badge{display:none}.today{font-size:11px;gap:4px}.today b{font-size:11px}.wrap{padding:20px 16px 270px;gap:20px}section.card{padding:20px 16px;gap:20px}h2{font-size:18px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid>.f:has(input[type=password]),#stForm>.f:first-child{grid-column:1/-1}.zone-wrap{padding:16px;gap:16px}.dept-body{padding:16px;gap:16px}.dept-head{padding:12px}.dept-head .dname{font-size:14px}.seg button{font-size:12px}.filters{gap:12px;padding:12px}.filters .f,.filters .f.wide{min-width:calc(50% - 12px);width:auto}.bar{padding:0 12px 10px;bottom:calc(64px + env(safe-area-inset-bottom,0px))}.bar .in{padding:12px;gap:8px}.bar .summary{display:none}.bar .msg{flex-basis:100%;order:-1;font-size:12px}.bar .btn{flex:1;padding:10px 8px}.mobile-nav{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:200;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));min-height:64px;background:var(--surface);border-top:1px solid var(--border);gap:4px}.mobile-nav button{flex:1;min-height:52px;border:0;background:transparent;color:var(--text-muted);display:grid;justify-items:center;align-content:center;gap:4px;font-size:11px;border-radius:8px}.mobile-nav button[aria-current=page]{color:var(--chip-text);background:var(--chip)}.drawer{inset: auto 0 0;width:100%;max-width:100%;height:auto;max-height:90svh;border-radius:24px 24px 0 0}.drawer>header{padding:20px}.drawer #drawerBody{padding:20px}.toast{bottom:240px;inset-inline:16px;max-width:none}.login-page .identity-bar{padding-inline:24px}.login-card{padding:24px}.login-main{padding-top:8px}.login-card h2{font-size:22px}.stats{gap:12px}.stat{padding:16px}.stat b{font-size:26px}.svc-item input{min-width:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.app-sidebar,.page-header,.mobile-nav,.bar,.header-tools,.toast{display:none!important}.workspace{margin:0}.wrap{padding:0;max-width:none}body{background:white;color:black}}
.readout{flex-wrap:wrap;height:auto}.readout small{white-space:normal;overflow:visible;text-overflow:clip;color:var(--text-muted)}
.btn.logout{background:var(--surface);color:var(--text)}
@media(min-width:640px) and (max-width:1023px){.sidebar-footer .logout{display:grid;place-items:center;font-size:0;padding:8px;margin:0;min-height:44px}.sidebar-footer .logout:before{content:'↪';font-size:22px}}
.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--chip);color:var(--chip-text);font:500 12px var(--font-sans)}
.readout .h{color:var(--text-muted);opacity:1;white-space:normal;overflow:visible;text-overflow:clip}
.drawer .detail .tbl-wrap{border:0;overflow:visible}.drawer .detail table{display:block;min-width:0;width:100%}.drawer .detail thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.drawer .detail tbody{display:grid;gap:16px}.drawer .detail tr{display:grid;border:1px solid var(--border);border-radius:12px;overflow:hidden}.drawer .detail td{display:grid;grid-template-columns:minmax(110px,40%) minmax(0,1fr);gap:12px;white-space:normal;padding:12px 16px;font-size:14px}.drawer .detail td:before{content:attr(data-label);font-size:13px;font-weight:500;color:var(--text-muted)}

/* Keep dropdown arrows inset consistently, including dynamically rendered fields. */
:root {
  --select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234d5761' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
:root[data-theme="dark"] {
  --select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239da4ae' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
body select:not([multiple]):not([size]) {
  appearance: none;
  -webkit-appearance: none;
  padding-inline-end: 40px;
  background-image: var(--select-chevron);
  background-repeat: no-repeat;
  background-size: 16px 16px;
  background-position: left 12px center;
}
body select:not([multiple]):not([size]):dir(ltr) {
  background-position: right 12px center;
}
@media (forced-colors: active) {
  body select:not([multiple]):not([size]) {
    appearance: auto;
    -webkit-appearance: auto;
    background-image: none;
  }
}
