/* ===== Foundations: tokens, reset, shell and shared controls ===== */
html [hidden],.hidden{
display:none}

:root{
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--app-bg);--text:#182230;--text-secondary:#344054;--text-muted:#667085;--blue:#155eef;--app-bg:#f6f8fb;--border:#d9e0ea;--border-strong:#d0d5dd;--divider:#dfe5ec;--muted:var(--text-muted);--card:#fff;--surface:#fff;--surface-subtle:#fbfcfe;--surface-muted:#f3f6f9;--action:#47708f;--link-action-bg:var(--palette-2-wash);--link-action-text:var(--palette-2-accent);--link-action-border:var(--palette-2-border);--success-text:#067647;--success-bg:#ecfdf3;--success-border:#abefc6;--danger-text:#b42318;--danger-bg:#fff1f0;--danger-border:#f1a8a3;--warning-text:#7a2e0e;--warning-bg:#fffaeb;--warning-border:#fedf89;--app-content-width:884px;--radius-entry:7px;--radius-control:10px;--radius-surface:14px;--radius-pill:999px;--control-height:44px;--control-height-compact:36px;--space-xs:4px;--space-sm:6px;--space-md:8px;--space-lg:12px;--space-xl:16px;--space-xxl:20px;--space-xxxl:24px;--font-xxs:10px;--font-xs:11px;--font-sm:12px;--font-caption:13px;--font-body:14px;--font-body-lg:15px;--font-copy:16px;--font-control:17px;--font-subtitle:18px;--font-title:20px;--font-title-lg:22px;--font-page-title:24px;--font-display:28px;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-heavy:800;--form-icon-menu-size:58px;--form-icon-header-size:40px;--form-icon-admin-size:36px;--form-icon-history-size:28px;--form-icon-preview-size:48px;--form-icon-menu-glyph:50px;--form-icon-header-glyph:32px;--form-icon-admin-glyph:28px;--form-icon-history-glyph:22px;--form-icon-preview-glyph:38px;--icon-confirm-size:42px;--icon-landing-size:48px;--icon-arrow-size:30px;--icon-status-size:26px;--icon-close-size:40px;--z-content:1;--z-sticky:20;--z-header:40;--z-modal:50;--z-overlay:70;--z-drag:10000;--motion-fast:.12s;--motion-normal:.18s;--shadow-surface:0 2px 5px rgba(16,24,40,.08);--shadow-control:0 1px 3px #0002;--shadow-control-strong:0 1px 3px #0003;--shadow-popover:0 6px 18px #0002;--shadow-modal:0 20px 60px rgba(0,0,0,.25);--shadow-drag:0 14px 32px rgba(16,24,40,.24);--palette-1-accent:#2f855a;--palette-1-wash:color-mix(in srgb,var(--palette-1-accent) 9%,white);--palette-1-border:color-mix(in srgb,var(--palette-1-accent) 30%,white);--palette-1-rgb:47,133,90;--palette-2-accent:#3178b8;--palette-2-wash:color-mix(in srgb,var(--palette-2-accent) 9%,white);--palette-2-border:color-mix(in srgb,var(--palette-2-accent) 30%,white);--palette-2-rgb:49,120,184;--palette-3-accent:#735aa8;--palette-3-wash:color-mix(in srgb,var(--palette-3-accent) 9%,white);--palette-3-border:color-mix(in srgb,var(--palette-3-accent) 30%,white);--palette-3-rgb:115,90,168;--palette-4-accent:#c36a24;--palette-4-wash:color-mix(in srgb,var(--palette-4-accent) 9%,white);--palette-4-border:color-mix(in srgb,var(--palette-4-accent) 30%,white);--palette-4-rgb:195,106,36;--palette-5-accent:#b88716;--palette-5-wash:color-mix(in srgb,var(--palette-5-accent) 9%,white);--palette-5-border:color-mix(in srgb,var(--palette-5-accent) 30%,white);--palette-5-rgb:184,135,22;--palette-6-accent:#248a9d;--palette-6-wash:color-mix(in srgb,var(--palette-6-accent) 9%,white);--palette-6-border:color-mix(in srgb,var(--palette-6-accent) 30%,white);--palette-6-rgb:36,138,157;--palette-7-accent:#b45572;--palette-7-wash:color-mix(in srgb,var(--palette-7-accent) 9%,white);--palette-7-border:color-mix(in srgb,var(--palette-7-accent) 30%,white);--palette-7-rgb:180,85,114;--palette-8-accent:#5369b2;--palette-8-wash:color-mix(in srgb,var(--palette-8-accent) 9%,white);--palette-8-border:color-mix(in srgb,var(--palette-8-accent) 30%,white);--palette-8-rgb:83,105,178;--palette-9-accent:#56823c;--palette-9-wash:color-mix(in srgb,var(--palette-9-accent) 9%,white);--palette-9-border:color-mix(in srgb,var(--palette-9-accent) 30%,white);--palette-9-rgb:86,130,60;--palette-10-accent:#9a6040;--palette-10-wash:color-mix(in srgb,var(--palette-10-accent) 9%,white);--palette-10-border:color-mix(in srgb,var(--palette-10-accent) 30%,white);--palette-10-rgb:154,96,64;--palette-11-accent:#667085;--palette-11-wash:color-mix(in srgb,var(--palette-11-accent) 9%,white);--palette-11-border:color-mix(in srgb,var(--palette-11-accent) 30%,white);--palette-11-rgb:102,112,133;--palette-12-accent:#c2413b;--palette-12-wash:color-mix(in srgb,var(--palette-12-accent) 9%,white);--palette-12-border:color-mix(in srgb,var(--palette-12-accent) 30%,white);--palette-12-rgb:194,65,59;--palette-13-accent:#a83b8f;--palette-13-wash:color-mix(in srgb,var(--palette-13-accent) 9%,white);--palette-13-border:color-mix(in srgb,var(--palette-13-accent) 30%,white);--palette-13-rgb:168,59,143;--palette-14-accent:#718f20;--palette-14-wash:color-mix(in srgb,var(--palette-14-accent) 9%,white);--palette-14-border:color-mix(in srgb,var(--palette-14-accent) 30%,white);--palette-14-rgb:113,143,32;--palette-15-accent:#1687b8;--palette-15-wash:color-mix(in srgb,var(--palette-15-accent) 9%,white);--palette-15-border:color-mix(in srgb,var(--palette-15-accent) 30%,white);--palette-15-rgb:22,135,184;--palette-16-accent:#c27a12;--palette-16-wash:color-mix(in srgb,var(--palette-16-accent) 9%,white);--palette-16-border:color-mix(in srgb,var(--palette-16-accent) 30%,white);--palette-16-rgb:194,122,18;--palette-17-accent:#4f708f;--palette-17-wash:color-mix(in srgb,var(--palette-17-accent) 9%,white);--palette-17-border:color-mix(in srgb,var(--palette-17-accent) 30%,white);--palette-17-rgb:79,112,143;--palette-18-accent:#8f6a18;--palette-18-wash:color-mix(in srgb,var(--palette-18-accent) 9%,white);--palette-18-border:color-mix(in srgb,var(--palette-18-accent) 30%,white);--palette-18-rgb:143,106,24;--palette-19-accent:#c6533d;--palette-19-wash:color-mix(in srgb,var(--palette-19-accent) 9%,white);--palette-19-border:color-mix(in srgb,var(--palette-19-accent) 30%,white);--palette-19-rgb:198,83,61;--arasure-green:#c5e7a5;--arasure-green-border:#4e9d28;--arasure-green-text:#14350f;--arasure-green-shadow:rgba(78,157,40,.14);}
*{
box-sizing:border-box}

.btn:focus-visible,.tab:focus-visible,.section-toggle:focus-visible,.connections-head:focus-visible,.lookup-result-card:focus-visible,.calendar-job-choice:focus-within,.file-picker-btn:focus-within{
outline:2px solid var(--blue);outline-offset:3px;}

html,body{
width:100%;max-width:100%;overflow-x:clip}
body{
margin:0}
.top{
display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);position:fixed;top:0;left:50%;transform:translateX(-50%);width:min(calc(100% - 36px),920px);max-width:920px;z-index:var(--z-header);margin:0;padding:var(--space-md) 0;background:rgba(246,248,251,.98);backdrop-filter:blur(8px)}
.brand{
display:flex;align-items:center;gap:var(--space-lg);font-weight:var(--weight-bold);font-size:var(--font-title)}
.logo{
width:38px;height:38px;border-radius:var(--radius-control);color:white;display:grid;place-items:center;font-weight:var(--weight-heavy);background:transparent;overflow:hidden;padding:0;}
.tabs{
display:flex;background:var(--surface-muted);padding:var(--space-xs);border-radius:var(--radius-control);gap:var(--space-xs)}
.tab{
border:0;background:transparent;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-control);font-weight:var(--weight-semibold)}
.tab.active{
background:var(--surface);box-shadow:var(--shadow-control)}
.grid{
display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-lg)}
.card{
background:var(--card);border:1px solid var(--border);border-radius:var(--radius-control);padding:var(--space-xl);box-shadow:var(--shadow-surface)}
.form-card{
cursor:pointer;text-align:center;
  
  
  min-height:156px;
  padding:var(--space-xxl) var(--space-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);}
.form-card:hover{
border-color:#9db8ff}
.title{
font-size:var(--font-control);font-weight:var(--weight-bold);margin:var(--space-md) 0 4px}
.muted{
color:var(--muted);font-size:var(--font-caption)}
.btn{
display:inline-flex;align-items:center;justify-content:center;text-align:center;vertical-align:middle;border:1px solid transparent;border-radius:var(--radius-control);min-height:var(--control-height);padding:var(--space-md) var(--space-lg);font-size:var(--font-control);font-weight:var(--weight-bold);line-height:1.2;cursor:pointer}
.btn.primary{
background:var(--blue);color:white;border:0;box-shadow:none}
.secondary{
background:var(--surface-muted);color:var(--text-secondary);border-color:var(--border)}
.danger{
background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}
.field{
margin:var(--space-lg) 0}
.field>label,.section-title{
display:block;font-weight:var(--weight-bold);margin-bottom:var(--space-md)}
.field input,.field textarea,.field select,.custom-datetime-display{
width:100%;padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-entry);font:inherit;background:var(--surface);color:var(--text);min-height:var(--control-height);box-sizing:border-box}
.field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.field select,.custom-datetime-display{
height:var(--control-height)}
.repeat{
border:1px dashed var(--border-strong);border-radius:var(--radius-control);padding:var(--space-lg);margin:var(--space-md) 0}
.row{
display:flex;gap:var(--space-lg);align-items:center}
.row>*{
flex:1}
.row>.btn{
flex:0 0 auto}
.actions{
margin-top:var(--space-xl);display:flex;gap:var(--space-md);flex-wrap:wrap;align-items:center;}
.admin-section{
margin-bottom:var(--space-xl)}
.switch{
display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg) 0;border-bottom:1px solid var(--divider)}
.switch input{
width:20px;height:20px}
.badge{
display:inline-block;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);background:var(--success-bg);color:var(--success-text);font-size:var(--font-sm);font-weight:var(--weight-bold)}
.route{
font-size:var(--font-sm);color:var(--text-muted);margin-top:var(--space-md)}
.notice{
background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text);padding:var(--space-lg);border-radius:var(--radius-control);margin:var(--space-lg) 0}
.success{
background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text);padding:var(--space-lg);border-radius:var(--radius-entry);margin:var(--space-md) 0;}
@media(max-width:600px){
.tabs{
font-size:var(--font-caption)}
.row{
flex-direction:column;align-items:stretch}
}

.login-wrap{
min-height:100vh;display:grid;place-items:center;padding:var(--space-xxl)}
.login-card{
width:min(430px,100%)}

/* ===== Modals: canonical shell, header and actions ===== */
.modal-bg{
position:fixed;inset:0;background:rgba(0,0,0,.45);display:grid;place-items:center;padding:var(--space-xl);z-index:var(--z-modal)}

.modal{
--modal-padding:var(--space-xl);width:min(680px,100%);max-height:88vh;overflow:auto;position:relative}

html.modal-scroll-locked,html.modal-scroll-locked body{overflow:hidden;overscroll-behavior:none}
.modal-bg{overscroll-behavior:contain}
.modal{overscroll-behavior:contain}

.modal-header{
display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg) 0;margin-bottom:var(--space-lg);border-bottom:1px solid var(--divider)}

.modal-header>*:first-child{
min-width:0;flex:1 1 auto}

.modal-header .title{
font-size:var(--font-page-title);line-height:1.2;margin-top:0;overflow-wrap:anywhere}

.modal-header .back-btn{
flex:0 0 auto;width:auto;min-width:0;min-height:var(--control-height-compact);padding:var(--space-md) var(--space-lg);background:var(--surface-muted);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-control);font-size:var(--font-copy);font-weight:var(--weight-bold);box-shadow:none;align-self:center}

.header-control-btn{
min-height:var(--control-height-compact);padding:var(--space-md) var(--space-lg);font-size:var(--font-copy);font-weight:var(--weight-bold);line-height:1.2}

.modal-actions,.modal .modal-actions{
display:flex;gap:var(--space-md);flex-wrap:wrap;position:static;inset:auto;background:transparent;padding:0;margin-top:var(--space-xl);z-index:auto}

@media(max-width:700px){
.modal-header .title{
font-size:var(--font-title)}
}

.submission{
border:1px solid var(--border);border-radius:var(--radius-surface);overflow:hidden;background:var(--surface);border-left:4px solid var(--history-accent,#3178b8);padding:0;margin-top:var(--space-xs);}
.submission pre{
white-space:pre-wrap;word-break:break-word;background:var(--surface-muted);padding:var(--space-lg);border-radius:var(--radius-entry);font-size:var(--font-sm)}

.delivery-row{
display:flex;gap:var(--space-sm);flex-wrap:wrap;margin:var(--space-sm) 0 var(--space-md);}
.badge.pending,.badge.processing{
background:var(--warning-bg);color:var(--warning-text)}
.badge.succeeded{
background:var(--success-bg);color:var(--success-text)}
.badge.failed{
background:var(--danger-bg);color:var(--danger-text)}
.error{
background:var(--danger-bg);padding:var(--space-lg);border-radius:var(--radius-entry);margin:var(--space-md) 0;color:var(--danger-text)}

.form-section{
background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);padding:var(--space-lg) var(--space-xxl);margin:0 0 var(--space-lg);box-shadow:var(--shadow-surface)}
.section-heading{
padding-bottom:var(--space-lg);margin-bottom:var(--space-lg);border-bottom:1px solid var(--divider)}
.section-heading h2{
font-size:var(--font-title);margin:var(--space-xs) 0 var(--space-sm)}
.section-heading p{
margin:0;color:var(--muted);font-size:var(--font-body);line-height:1.5}


.section-toggle{
--section-accent:var(--palette-6-accent);--section-bg:var(--palette-6-wash);--section-border:var(--palette-6-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);padding:var(--space-lg) var(--space-xl);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-subtle);cursor:pointer;transition:var(--motion-normal) ease}
.section-toggle:hover{
border-color:var(--palette-2-border)}
.section-toggle b{
display:block;font-size:var(--font-body-lg)}
.section-toggle span span,.section-toggle>div>span{
display:block;color:var(--muted);font-size:var(--font-caption);margin-top:var(--space-xs);line-height:1.35}
.toggle-control{
position:relative;flex:0 0 46px;width:46px;height:28px}
.toggle-track{
display:block;margin:0;width:46px;height:28px;border-radius:var(--radius-pill);background:var(--border-strong);position:relative;transition:var(--motion-normal)}
.toggle-track:after{
content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-control-strong);transition:var(--motion-normal)}
.toggle-control input:checked+.toggle-track{
background:var(--arasure-green);box-shadow:0 0 0 2px var(--arasure-green-shadow) inset}
.toggle-control input:checked+.toggle-track:after{
transform:translateX(18px)}
.form-submit-bar,.photo-shrink-actions{
position:relative;box-sizing:border-box;background:color-mix(in srgb,var(--app-bg) 97%,transparent);padding:var(--space-lg) 0 max(var(--space-md),env(safe-area-inset-bottom));z-index:var(--z-content)}
.action-surface-marker{height:0;min-height:0;margin:0;padding:0}
.form-submit-bar.is-viewport-fixed,.photo-shrink-actions.is-viewport-fixed{position:fixed;left:var(--action-fixed-left,0);width:var(--action-fixed-width,100%);bottom:0;z-index:var(--z-sticky);margin:0}
.form-submit-bar{display:flex;gap:var(--space-lg);width:100%}
@media(max-width:600px){
.form-section{
padding:var(--space-lg) var(--space-xl)}
.section-toggle{
padding:var(--space-lg)}
.form-submit-bar .btn{
flex:1}
}


.section-toggle.active{
border-color:var(--section-border);background:var(--section-bg);box-shadow:0 0 0 1px var(--section-border) inset;}

.section-toggle .toggle-control input:checked+.toggle-track{
background:var(--section-accent)}















 .admin-form-list{
margin-top:var(--space-lg);display:grid;gap:0}
.access-names{
display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-md)}
.name-chip{
display:inline-block;background:var(--surface-muted);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-pill);padding:var(--space-xs) var(--space-md);font-size:var(--font-sm)}
.section-toggle.active b{
color:var(--text);}

.themed-section{
border-left:4px solid var(--theme-accent);background:linear-gradient(90deg,var(--theme-wash) 0,var(--theme-wash) 12px,var(--surface) 110px)}



.themed-section .section-heading{
border-bottom-color:var(--theme-border)}

.theme-green{
--theme-accent:var(--palette-1-accent);--theme-wash:var(--palette-1-wash);--theme-border:var(--palette-1-border)}

.theme-blue{
--theme-accent:var(--palette-2-accent);--theme-wash:var(--palette-2-wash);--theme-border:var(--palette-2-border)}

.theme-yellow{
--theme-accent:var(--palette-5-accent);--theme-wash:var(--palette-5-wash);--theme-border:var(--palette-5-border)}

.theme-orange{
--theme-accent:var(--palette-4-accent);--theme-wash:var(--palette-4-wash);--theme-border:var(--palette-4-border)}

.theme-purple{
--theme-accent:var(--palette-3-accent);--theme-wash:var(--palette-3-wash);--theme-border:var(--palette-3-border)}

.theme-teal{
--theme-accent:var(--palette-6-accent);--theme-wash:var(--palette-6-wash);--theme-border:var(--palette-6-border)}

@media(max-width:600px){

 .themed-section{
background:linear-gradient(90deg,var(--theme-wash) 0,var(--theme-wash) 8px,var(--surface) 82px)}

}

.btn:active{
transform:translateY(1px);filter:brightness(.96)}

.back-btn{
font-weight:var(--weight-bold)}

.field>label{
font-size:var(--font-body-lg);font-weight:var(--weight-bold);line-height:1.35}

input,select,textarea,.btn{
font-size:var(--font-copy)}

input,select{
min-height:var(--control-height)}

/* ===== Forms: conditional themes, fields and signatures ===== */
















/* signature capture */
.signature-pad-wrap{
border:1px solid var(--border-strong);border-radius:var(--radius-surface);background:var(--surface);overflow:hidden;}

.signature-pad{
display:block;width:100%;height:170px;touch-action:none;cursor:crosshair;background:linear-gradient(#fff,#fff) padding-box,repeating-linear-gradient(0deg,transparent,transparent 33px,#eef2f0 34px) border-box}

.signature-hint{
font-size:var(--font-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--divider);background:var(--surface-muted);border-top-color:var(--border-strong);color:var(--text-muted);}

.signature-clear{
margin-top:var(--space-md)}

.signature-field.signed .signature-pad-wrap{
border-color:var(--success-text)}

.signature-field.signature-missing .signature-pad-wrap{
border-color:var(--danger-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger-text) 18%,transparent)}

@media(max-width:600px){
 .field{
margin-bottom:var(--space-xl)}

 .section-heading p{
font-size:var(--font-body-lg)}

}

.form-card .icon{

  width:var(--form-icon-menu-size);height:var(--form-icon-menu-size);min-width:var(--form-icon-menu-size);min-height:var(--form-icon-menu-size);flex:0 0 var(--form-icon-menu-size);
  margin:0;line-height:1;display:flex;align-items:center;justify-content:center;}

.form-card .title{

  font-size:var(--font-title);
  
  text-align:center;
  overflow-wrap:anywhere;margin:var(--space-xs) 0 0;line-height:1.2;}

.form-card .title span{

  display:inline-block;
  margin-top:2px;
}

.other-note{

  margin-top:var(--space-lg);
  padding:var(--space-lg);
  border-radius:var(--radius-control);
  background:var(--surface-muted);
  border:1px solid var(--divider);
}

.other-note>label{

  display:block;
  margin-bottom:var(--space-md);
  font-size:var(--font-body-lg);
  font-weight:var(--weight-bold);
}











@media(max-width:600px){

  :root{
--control-height:48px}

  .grid{
grid-template-columns:repeat(2,minmax(0,1fr))}

  
  

}

@media(max-width:380px){

  .grid{
grid-template-columns:1fr 1fr}

  .form-card .title{
font-size:var(--font-control)}

  
}

.confirmation-screen{
max-width:560px;margin:12vh auto 0;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-surface);padding:36px var(--space-xxxl);box-shadow:0 10px 30px #10182812}

.confirmation-mark{
width:82px;height:82px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;background:#8ff0a8;color:#063d19;font-size:var(--icon-confirm-size);font-weight:var(--weight-heavy)}

.confirmation-title{
font-size:var(--font-display);font-weight:var(--weight-heavy);margin-bottom:var(--space-md)}

.confirmation-screen p{
font-size:var(--font-control);color:var(--text-muted);line-height:1.5}

.confirmation-id{
font-size:var(--font-caption);color:var(--muted);margin:16px 0}

.confirmation-btn{
min-width:220px}

.submission summary{
cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;background:var(--surface-subtle);padding:var(--space-sm) var(--space-lg);gap:var(--space-md);min-height:0;}

.submission summary::-webkit-details-marker{
display:none}

.submission[open]>summary{
border-bottom:1px solid var(--border)}

.history-open{
font-weight:var(--weight-heavy);color:#155eef}

.history-fields{
display:block;margin-top:0;padding:0;}

.history-label{
color:var(--text-muted);margin-bottom:var(--space-xs);font-size:var(--font-caption);text-transform:none;letter-spacing:0;margin:0;font-weight:var(--weight-bold);overflow-wrap:anywhere;}

.history-attachments h4{
margin:0 0 var(--space-md);font-size:var(--font-copy)}

.history-attachments{
margin-top:var(--space-xl);display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:flex-start;}

.attachment-link{
display:inline-block;margin:4px 8px 4px 0;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-control);background:#eef4ff;text-decoration:none}

@media(max-width:600px){

 .form-card{
min-height:142px;padding:var(--space-xl) var(--space-lg);gap:var(--space-sm)}

 .submission summary{
align-items:flex-start}
.confirmation-screen{
margin-top:8vh;padding:30px var(--space-xl)}
.confirmation-title{
font-size:var(--font-page-title)}

}

.history-data-container,.history-technical{
border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);overflow:hidden}
.history-data-container{padding:var(--space-lg)}
.history-section{margin:0;padding:0;border:0;border-radius:0;overflow:visible;background:transparent}
.history-section+.history-section{margin-top:var(--space-lg)}
.history-section h3{margin:0 0 var(--space-sm);padding:0;border:0;font-size:var(--font-body)}
.history-section .history-fields{padding:0;margin-top:0}

/* ===== Calendar: cards, navigation, filters and embedded calendars ===== */
.calendar-status{
padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-control);margin-bottom:var(--space-lg);background:rgba(255,255,255,.55);font-weight:var(--weight-semibold)}

.calendar-job-list{
display:grid;gap:var(--space-lg);margin:var(--space-md) 0 var(--space-lg)}

.calendar-job-choice{
display:flex;align-items:center;gap:var(--space-lg);min-height:58px;padding:var(--space-lg);border:2px solid var(--border);border-radius:var(--radius-surface);background:var(--surface);cursor:pointer;width:100%;text-align:left;justify-content:flex-start;appearance:none;-webkit-appearance:none;font:inherit;color:inherit;}

.calendar-job-choice input{
width:20px;height:20px;flex:0 0 auto}

.calendar-job-choice span{
display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}

.calendar-job-choice b{
font-size:var(--font-copy);line-height:1.2}

.calendar-job-choice small{
font-size:var(--font-body);color:var(--muted);line-height:1.2}

.calendar-refresh{
margin-bottom:var(--space-md)}





.landing-grid{
max-width:720px;margin:var(--space-xl) auto}
.landing-card{
min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.landing-card .icon{
font-size:var(--icon-landing-size)}
.calendar-display{
cursor:default}

.history-signature{
background:var(--surface);border:1px solid var(--border-strong);display:block;width:auto;max-width:110px;max-height:48px;height:auto;padding:var(--space-xs);border-radius:var(--radius-entry);object-fit:contain;}
.history-form-group h2{
border-bottom:1px solid var(--divider);padding-bottom:var(--space-md);margin:0 0 var(--space-xs);padding:var(--space-md) var(--space-lg);border:1px solid var(--history-border,#c5dcf0);border-radius:var(--radius-control);background:var(--history-wash,#eef6fd);color:var(--history-accent,#3178b8);font-size:var(--font-copy);}
.subheading{
font-weight:var(--weight-heavy);margin:var(--space-lg) 0 var(--space-md);padding:0;border-top:0}

.calendar-all-toggle.active{
background:var(--arasure-green);color:var(--arasure-green-text);border-color:var(--arasure-green-border)}

.calendar-detail-modal{
max-width:720px;padding:0 var(--space-lg) var(--space-lg);}
.calendar-detail-grid{
display:grid;gap:0;margin:var(--space-md) 0;}
.calendar-detail-row{
display:grid;border-bottom:1px solid var(--divider);gap:var(--space-md);grid-template-columns:82px minmax(0,1fr);column-gap:var(--space-md);row-gap:0;padding:var(--space-md) 0;margin:0;align-items:baseline;}
.calendar-detail-row>span{
font-size:var(--font-caption);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:normal;overflow-wrap:normal;max-width:82px;margin:0;align-self:baseline;line-height:1.35;}
.calendar-detail-row strong{
overflow-wrap:anywhere;font-weight:var(--weight-normal);}
.small-btn{
padding:var(--space-md) var(--space-lg);font-size:var(--font-body)}
@media(max-width:600px){
.calendar-detail-row .btn{
justify-self:start}
}

.calendar-job-choice>.calendar-choice-text,.calendar-job-choice>span.calendar-choice-text{
flex:1 1 auto;align-items:flex-start;text-align:left;min-width:0}

.calendar-job-choice .calendar-choice-text b,.calendar-job-choice .calendar-choice-text small{
display:block;width:100%;text-align:left}

.calendar-job-choice .calendar-choice-text b{
align-items:flex-start}

.calendar-job-choice .calendar-time,.calendar-job-choice .calendar-client{
display:inline;text-align:left}

.calendar-job-choice .calendar-chevron{
margin-left:auto;flex:0 0 auto;text-align:right;align-self:center}

.calendar-open{
justify-content:flex-start;text-align:left}







.calendar-staff-line{
font-weight:var(--weight-bold);color:var(--palette-1-accent);margin-top:var(--space-xs)}











.action-btn{
background:var(--action);color:#fff;text-decoration:none}
.link-btn{background:var(--link-action-bg);color:var(--link-action-text);border-color:var(--link-action-border);text-decoration:none}
.link-btn:hover{background:color-mix(in srgb,var(--link-action-bg) 82%,var(--link-action-border))}
.link-btn:active{background:color-mix(in srgb,var(--link-action-bg) 68%,var(--link-action-border))}

.calendar-client-title{
font-size:var(--font-title-lg);margin-bottom:var(--space-xs);min-width:0;margin:0;overflow-wrap:anywhere;}
.calendar-address-line{
font-size:var(--font-control);line-height:1.35;color:var(--text-secondary);margin-top:var(--space-xs);overflow-wrap:anywhere;font-weight:var(--weight-normal);margin:0 0 var(--space-md);}
.calendar-address-actions{
display:flex;flex-wrap:wrap;margin-top:var(--space-md);align-items:stretch;gap:var(--space-md);}




.logo img{
display:block;width:100%;height:100%;object-fit:cover;border-radius:var(--radius-control)}

.work-calendar-card>.title{
margin-bottom:var(--space-lg)}

.work-calendar-date-block{
max-width:460px;margin:0 auto var(--space-lg);}

.work-calendar-date-block>label{
display:block;font-size:var(--font-body);font-weight:var(--weight-bold);margin-bottom:var(--space-md)}

.period-nav{
display:grid;grid-template-columns:var(--control-height) minmax(0,1fr) var(--control-height);gap:var(--space-md);align-items:center;width:100%;min-width:0}

.period-nav-button{
width:var(--control-height);min-width:var(--control-height);height:var(--control-height);min-height:var(--control-height);padding:0;display:grid;place-items:center}

.period-nav-chevron{width:22px;height:22px;display:block;pointer-events:none}

.work-date-picker{
position:relative;min-width:0}

.work-date-display{
width:100%;height:var(--control-height);min-height:var(--control-height);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font:inherit;font-weight:var(--weight-heavy);font-size:var(--font-control);text-align:center;padding:var(--space-lg);box-sizing:border-box;display:flex;align-items:center;justify-content:center;line-height:1.2;-webkit-appearance:none;appearance:none;position:relative;z-index:0;overflow:visible}

.work-date-native{
display:none;}

.work-calendar-quick-row{
display:flex;gap:var(--space-md);flex-wrap:wrap;margin-top:0;margin-bottom:var(--space-lg);justify-content:center;}

.work-calendar-quick-row .calendar-quick,.work-calendar-showall-row .calendar-all-toggle{
border-radius:var(--radius-pill);min-width:auto;padding:var(--space-lg) var(--space-xl)}

.work-calendar-quick-row .calendar-quick.active,.work-calendar-showall-row .calendar-all-toggle.active{
background:var(--arasure-green);color:var(--arasure-green-text);border-color:var(--arasure-green-border);box-shadow:0 0 0 2px var(--arasure-green-shadow) inset}

.work-calendar-showall-row{
margin:var(--space-xs) 0 var(--space-lg);display:flex;gap:var(--space-md);justify-content:flex-start;}

.calendar-current-user{
background:var(--palette-1-wash);border-color:var(--palette-1-border)}

.calendar-current-user:hover{
background:color-mix(in srgb,var(--palette-1-wash) 82%,var(--palette-1-border))}


@media(max-width:600px){

 .work-calendar-date-block{
max-width:none}

 .work-date-display{
font-size:var(--font-copy)}


 
 
}

.work-calendar-title{
display:flex;align-items:center;gap:var(--space-md);font-size:var(--font-page-title);line-height:1.2;margin-bottom:var(--space-lg)}

.work-calendar-title-icon{
font-size:var(--icon-status-size);line-height:1}

.work-calendar-date-panel,.work-calendar-events-panel{
border:1px solid var(--border);border-radius:var(--radius-surface);background:var(--surface-subtle);padding:var(--space-lg)}

.work-calendar-date-panel{
margin-bottom:var(--space-lg)}

.work-calendar-events-panel{
padding-top:var(--space-lg)}

.work-calendar-mode-row{
display:flex;justify-content:flex-start;gap:var(--space-md);flex-wrap:wrap;margin:0 0 var(--space-lg)}

.work-calendar-mode-row .calendar-mode-toggle{
border-radius:var(--radius-pill);min-width:auto;padding:var(--space-lg) var(--space-xl)}

.work-calendar-mode-row .calendar-mode-toggle.active{
background:var(--arasure-green);color:var(--arasure-green-text);border-color:var(--arasure-green-border);box-shadow:0 0 0 2px var(--arasure-green-shadow) inset}

.calendar-all-day-list{
margin-top:0;margin-bottom:var(--space-md);}

.calendar-all-day-list .calendar-job-choice{
padding:var(--space-md) var(--space-lg);min-height:40px;padding-top:var(--space-sm);padding-bottom:var(--space-sm);}

.calendar-all-day-list .calendar-job-choice b{
line-height:1.2}

@media(max-width:600px){

 .work-calendar-mode-row{
justify-content:center}

}

.calendar-address-btn{
display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height-compact);min-width:116px;box-sizing:border-box;margin:0;line-height:1.2}

.calendar-detail-value{
display:flex;flex-direction:column;align-items:flex-start;overflow-wrap:anywhere;gap:var(--space-sm);min-width:0;margin:0;font-size:var(--font-copy);line-height:1.35;}

.calendar-detail-value strong{
white-space:normal}

@media(max-width:600px){


 .calendar-address-btn{
min-width:112px}

}

.calendar-detail-head{
margin-bottom:var(--space-xs);padding-top:var(--space-md);}

.calendar-photos-btn{
display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height-compact);line-height:1.2;box-sizing:border-box}

.calendar-inline-link,.calendar-phone-link{
color:var(--palette-2-accent);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}




.form-page .section-heading{
padding-bottom:var(--space-lg);margin-bottom:var(--space-lg)}

.form-page .section-heading h2{
font-size:var(--font-title);margin:0 0 2px;}

#CleaningRecordCalendarStatus{
display:none}

.work-calendar-events-panel>.calendar-refresh{
display:block;margin:var(--space-lg) 0 0;}

.proof-confirmation{
line-height:1.5;margin:var(--space-md) 0 var(--space-lg);font-weight:var(--weight-normal);}







.calendar-mine-note{
text-align:left;color:var(--muted);font-size:var(--font-caption);margin:var(--space-xs) 0 var(--space-md)}

.form-section.theme-yellow{
border-left-width:4px}

.hours-editor.hours-saved>.row,.hours-editor.hours-saved>.btn.primary{
display:none}

.hours-summary{
padding:var(--space-sm) 0;min-height:38px;font-weight:var(--weight-semibold);display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);}

.timesheet-declaration{
font-weight:var(--weight-normal);line-height:1.5;margin:var(--space-xs) 0 var(--space-lg);display:flex;align-items:flex-start;gap:var(--space-md);cursor:pointer}
.timesheet-declaration input[type="checkbox"]{flex:0 0 auto;width:22px;height:22px;min-width:22px;margin:0;transform:translateY(.08em)}
.timesheet-declaration span{min-width:0;flex:1}
@media(max-width:600px){.timesheet-declaration{gap:var(--space-lg);min-height:44px}.timesheet-declaration input[type="checkbox"]{width:26px;height:26px;min-width:26px}}

.file-picker-btn{
display:inline-flex;align-items:center;justify-content:center;text-align:center;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-control);padding:var(--space-lg);min-height:var(--control-height);line-height:1.2;cursor:pointer;position:relative;font-weight:var(--weight-normal);flex:0 0 auto;width:auto;}

.section-heading-toggle h2{
margin:0;min-width:0}
.section-heading-toggle>.toggle-control{
justify-self:end;align-self:center}
.collapsible-section .section-heading{
margin-bottom:0}
.collapsible-section [data-collapse-body]:not([hidden]){
margin-top:var(--space-lg)}
.form-confirm-dialog{
max-width:430px}
.confirm-message{
font-size:var(--font-copy);line-height:1.5;margin-bottom:var(--space-xl)}


.hours-editor .row{
display:grid;grid-template-columns:3fr 2fr;gap:var(--space-lg)}


.form-icon-frame{
width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:0;min-height:0;overflow:hidden}
.form-icon-frame>.client-form-logo{
display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.form-icon-frame>.form-meta-icon{
display:block;line-height:1;text-align:center}
.form-title-with-icon{
display:flex;align-items:center;gap:var(--space-md);overflow:visible;}








.duration-control{
display:flex;align-items:center;gap:var(--space-md);max-width:360px}

.field .duration-control input.duration-hours,.field .duration-control input.duration-minutes{
width:88px;flex:0 0 88px;text-align:center;font-size:var(--font-control)}

.duration-control span{
font-weight:var(--weight-normal);color:var(--text)}

.calendar-status[hidden]{
display:none}

.calendar-job-choice:has(input:checked){
border-color:var(--arasure-green-border);background:var(--arasure-green);}

@media(max-width:600px){
.field .duration-control input.duration-hours,.field .duration-control input.duration-minutes{
width:76px;flex-basis:76px}
}

.calendar-all-day-choice{
min-height:var(--control-height);padding-top:var(--space-md);padding-bottom:var(--space-md)}

.offline-status{
margin:0 0 var(--space-md);padding:var(--space-md) var(--space-lg);border:1px solid var(--border-strong);border-radius:var(--radius-entry);background:var(--surface-muted);color:var(--text);font-size:var(--font-body);font-weight:var(--weight-semibold)}

.offline-status.offline,.offline-status.pending{
background:var(--surface-muted);border-color:var(--border-strong)}



.calendar-job-choice.selected,.calendar-job-choice[aria-pressed="true"]{
border-color:var(--arasure-green-border);background:var(--arasure-green)}


.brand-home{
border:0;background:transparent;color:inherit;padding:0;cursor:pointer;flex:0 0 auto;font-size:var(--font-page-title);line-height:1.2;}
.brand-home .logo img{
width:100%;height:100%;object-fit:contain}
.desktop-extra-tabs{
display:flex;gap:var(--space-xs)}
.nav-more{
display:none;position:relative}
.nav-more summary{
list-style:none;cursor:pointer;border:0;border-radius:var(--radius-control);background:var(--surface-muted);padding:var(--space-md) var(--space-lg);font-size:var(--font-title);line-height:1}
.nav-more summary::-webkit-details-marker{
display:none}
.nav-more-menu{
position:absolute;right:0;top:calc(100% + 6px);min-width:140px;padding:var(--space-sm);background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:var(--shadow-popover);display:grid;z-index:var(--z-header)}
.nav-more-menu .tab{
text-align:left;width:100%;padding-top:var(--space-xl);padding-bottom:var(--space-xl);min-height:48px;}

.calendar-detail-titlebar{
position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-lg);background:var(--surface);border-bottom:1px solid var(--divider);padding:var(--space-lg) 0 var(--space-md);align-items:center;}
.calendar-top-close{
padding:var(--space-md) var(--space-lg);min-height:var(--control-height-compact)}
.calendar-address-actions .small-btn,.calendar-photos-btn{
padding:var(--space-sm) var(--space-lg);min-height:var(--control-height-compact)}
.calendar-forms-block{
margin-top:var(--space-lg);}
.calendar-form-actions{
margin-top:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);width:100%;}
.calendar-form-actions .btn{min-width:0;width:100%;white-space:normal;line-height:1.2;font-size:var(--font-body-lg);padding-left:var(--space-md);padding-right:var(--space-md)}

@media(max-width:700px){
.top{
width:calc(100% - 20px);max-width:none;padding:var(--space-xs) 0;gap:var(--space-md)}
.brand{
gap:var(--space-sm);font-size:var(--font-control)}
.logo{
width:30px;height:30px;border-radius:var(--radius-entry)}
.tabs{
min-width:0;margin-left:auto}
.tab{
padding:var(--space-sm) var(--space-md);font-size:var(--font-caption)}
.desktop-extra-tabs{
display:none}
.nav-more{
display:block}
.calendar-detail-modal{
margin:6px;max-width:calc(100vw - 20px)}
.calendar-detail-titlebar{
padding-top:var(--space-md)}
}

@media(min-width:701px) and (max-width:820px){
.desktop-extra-tabs{
display:none}
.nav-more{
display:block}
}

.calendar-title-stack{
min-width:0}
.calendar-title-date{
margin-top:var(--space-xs);font-size:var(--font-caption);font-weight:var(--weight-normal);color:var(--text-muted);line-height:1.2}

@media(max-width:700px){
.calendar-form-actions .btn{
font-size:var(--font-body)}
}

.calendar-map-bg{
z-index:var(--z-overlay);padding:var(--space-lg)}

.calendar-map-modal{
width:min(760px,100%);max-height:92vh;padding:0;overflow:hidden;display:flex;flex-direction:column;background:var(--surface)}

.calendar-map-top{
display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg);border-bottom:1px solid var(--divider);background:var(--surface);flex:0 0 auto}

.calendar-map-status{
min-height:320px;display:grid;place-items:center;padding:var(--space-xxxl);color:var(--muted)}

.calendar-map-frame{
display:block;width:100%;height:min(68vh,620px);min-height:360px;border:0;background:var(--surface-muted)}

.calendar-map-label{
padding:var(--space-lg);border-top:1px solid var(--divider);background:var(--surface);overflow-wrap:anywhere;font-size:var(--font-body-lg)}

.calendar-map-error{
padding:var(--space-xl);text-align:center;color:var(--danger-text);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-control)}

@media(max-width:700px){

 
 .calendar-detail-row{
grid-template-columns:76px minmax(0,1fr)}

 .calendar-detail-row>span{
max-width:76px;font-size:var(--font-sm);margin-bottom:0}

 .calendar-map-bg{
padding:var(--space-sm)}

 .calendar-map-modal{
max-height:94vh}

 .calendar-map-frame{
height:68vh;min-height:340px}

 .calendar-address-actions .calendar-address-btn{
min-width:0;flex:1 1 30%;padding-left:var(--space-sm);padding-right:var(--space-sm);font-size:var(--font-caption)}

}

/* Event time is secondary; the existing cleaned event title is a separate line below it. */
.calendar-choice-text{
min-width:0}

.calendar-time-line{
display:block;font-size:var(--font-caption);font-weight:var(--weight-normal);line-height:1.2;margin-bottom:2px}

.calendar-client-line{
display:block;line-height:1.2}

/* Compact one-line date controls in calendar subforms. */
.subform-date-nav.period-nav{
grid-template-columns:var(--control-height) minmax(0,1fr) var(--control-height) auto;
width:100%}

.subform-date-picker .work-date-display{
white-space:nowrap;padding-left:var(--space-md);padding-right:var(--space-md)}

.subform-today{
padding-left:var(--space-lg);padding-right:var(--space-lg);margin-left:var(--space-md);
  border-radius:var(--radius-pill);
  flex:0 0 auto;
  white-space:nowrap;}

/* Calendar-card typography, row alignment and spacing. */

.calendar-contact-value{
display:block}

.calendar-contact-value a{
display:inline}

.calendar-detail-head .calendar-address-actions{
margin-top:0;margin-bottom:var(--space-md);}

.calendar-staff-detail{
margin-bottom:0;}

.calendar-staff-detail + .calendar-detail-grid{
margin-top:0;}

/* Calendar filters are white when inactive and green when selected. */
.work-calendar-quick-row .calendar-quick,.work-calendar-mode-row .calendar-mode-toggle,.work-calendar-showall-row .calendar-all-toggle,.subform-today{

  background:var(--surface);
  color:var(--text-secondary);
  border:1px solid var(--border);
  box-shadow:none;
}

.work-calendar-quick-row .calendar-quick.active,.work-calendar-mode-row .calendar-mode-toggle.active,.work-calendar-showall-row .calendar-all-toggle.active,.subform-today.active{

  background:var(--arasure-green);
  color:var(--arasure-green-text);
  border-color:var(--arasure-green-border);
  box-shadow:0 0 0 2px var(--arasure-green-shadow) inset;
}

/* Keep Show mine / Show all on the left and Refresh on the right. */
.calendar-filter-refresh-row{

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-lg);
  width:100%;
  flex-wrap:nowrap;
  margin:2px 0 var(--space-lg);
}

.calendar-filter-buttons{
display:flex;align-items:center;gap:var(--space-md);min-width:0;flex-wrap:nowrap}

.calendar-filter-refresh-row .compact-refresh{

  flex:0 0 auto;
  margin:0;
  
  
  overflow:hidden;width:auto;min-width:76px;height:var(--control-height);min-height:var(--control-height);padding:0 var(--space-lg);text-indent:0;position:static;}

.calendar-filter-refresh-row .compact-refresh.is-refreshing{
padding-left:0;padding-right:0;width:var(--control-height);min-width:var(--control-height);padding:0;}

.refresh-spinner{
display:inline-block;font-size:var(--font-title);line-height:1;transform-origin:50% 50%;animation:calendar-refresh-spin .8s linear infinite}

.calendar-status.calendar-status-loading{
display:flex;align-items:center;justify-content:center;min-height:58px;padding:var(--space-md);border:0;background:transparent;margin-bottom:var(--space-md)}

.calendar-loading{
display:flex;align-items:center;justify-content:center;width:100%;min-height:42px}

.calendar-loading-spinner{
font-size:var(--icon-status-size)}

@keyframes calendar-refresh-spin{
to{
transform:rotate(360deg)}
}

@media(prefers-reduced-motion:reduce){
.refresh-spinner{
animation-duration:1.8s}
}

/* Brand text matches the form-page title size. */

@media(max-width:700px){
.brand-home{
font-size:var(--font-title-lg)}
}

.calendar-filter-buttons .calendar-mode-toggle,.calendar-filter-buttons .calendar-all-toggle{
white-space:nowrap;flex:0 1 auto}

@media(max-width:390px){
.calendar-filter-buttons{
gap:var(--space-sm)}
.calendar-filter-buttons .calendar-mode-toggle,.calendar-filter-buttons .calendar-all-toggle{
font-size:var(--font-sm);padding-left:var(--space-md);padding-right:var(--space-md)}
}

/* Embedded calendar date row: wider arrows while preserving a one-line layout. */

.subform-date-picker{
flex:0 1 132px;min-width:104px;max-width:132px;}

/* Signature pads are scroll-safe until deliberately activated. */
.signature-field.signature-locked .signature-pad{
touch-action:pan-y;cursor:pointer;pointer-events:none}

.signature-field.signature-locked .signature-pad-wrap{
cursor:pointer}

.signature-field.signature-active .signature-pad{
touch-action:none;cursor:crosshair;pointer-events:auto}

.signature-actions{
display:flex;gap:var(--space-md);margin-top:var(--space-md)}
.signature-actions[hidden]{
display:none}
.signature-actions .btn{
min-width:86px;margin-top:0;}

/* Timesheet uses the shared period-navigation grid. */
.timesheet-pay-nav{width:100%;margin:var(--space-xs) auto 0}
.timesheet-pay-display{display:flex;align-items:center;justify-content:center;min-width:0;text-align:center;white-space:nowrap;touch-action:pan-y;user-select:none;-webkit-user-select:none}
@media(max-width:430px){.timesheet-pay-display{font-size:var(--font-body);padding-left:var(--space-md);padding-right:var(--space-md)}}

/* One shared, non-repeating section-colour sequence across every form. */
#mainform>section.form-section.theme-position-1{
--theme-accent:var(--palette-1-accent);--theme-wash:var(--palette-1-wash);--theme-border:var(--palette-1-border)}

#mainform>section.form-section.theme-position-2{
--theme-accent:var(--palette-2-accent);--theme-wash:var(--palette-2-wash);--theme-border:var(--palette-2-border)}

#mainform>section.form-section.theme-position-3{
--theme-accent:var(--palette-3-accent);--theme-wash:var(--palette-3-wash);--theme-border:var(--palette-3-border)}

#mainform>section.form-section.theme-position-4{
--theme-accent:var(--palette-4-accent);--theme-wash:var(--palette-4-wash);--theme-border:var(--palette-4-border)}

#mainform>section.form-section.theme-position-5{
--theme-accent:var(--palette-5-accent);--theme-wash:var(--palette-5-wash);--theme-border:var(--palette-5-border)}

#mainform>section.form-section.theme-position-6{
--theme-accent:var(--palette-6-accent);--theme-wash:var(--palette-6-wash);--theme-border:var(--palette-6-border)}

#mainform>section.form-section.theme-position-7{
--theme-accent:var(--palette-7-accent);--theme-wash:var(--palette-7-wash);--theme-border:var(--palette-7-border)}

#mainform>section.form-section.theme-position-8{
--theme-accent:var(--palette-8-accent);--theme-wash:var(--palette-8-wash);--theme-border:var(--palette-8-border)}

#mainform>section.form-section.theme-position-9{
--theme-accent:var(--palette-9-accent);--theme-wash:var(--palette-9-wash);--theme-border:var(--palette-9-border)}

#mainform>section.form-section.theme-position-10{
--theme-accent:var(--palette-10-accent);--theme-wash:var(--palette-10-wash);--theme-border:var(--palette-10-border)}

#mainform>section.form-section.theme-position-11{
--theme-accent:var(--palette-11-accent);--theme-wash:var(--palette-11-wash);--theme-border:var(--palette-11-border)}

#mainform>section.form-section.theme-position-12{
--theme-accent:var(--palette-12-accent);--theme-wash:var(--palette-12-wash);--theme-border:var(--palette-12-border)}

#mainform>section.form-section.theme-position-13{
--theme-accent:var(--palette-13-accent);--theme-wash:var(--palette-13-wash);--theme-border:var(--palette-13-border)}

#mainform>section.form-section.theme-position-14{
--theme-accent:var(--palette-14-accent);--theme-wash:var(--palette-14-wash);--theme-border:var(--palette-14-border)}

#mainform>section.form-section.theme-position-15{
--theme-accent:var(--palette-15-accent);--theme-wash:var(--palette-15-wash);--theme-border:var(--palette-15-border)}

#mainform>section.form-section.theme-position-16{
--theme-accent:var(--palette-16-accent);--theme-wash:var(--palette-16-wash);--theme-border:var(--palette-16-border)}

#mainform>section.form-section.theme-position-17{
--theme-accent:var(--palette-17-accent);--theme-wash:var(--palette-17-wash);--theme-border:var(--palette-17-border)}

#mainform>section.form-section.theme-position-18{
--theme-accent:var(--palette-18-accent);--theme-wash:var(--palette-18-wash);--theme-border:var(--palette-18-border)}

#mainform>section.form-section.theme-position-19{
--theme-accent:var(--palette-19-accent);--theme-wash:var(--palette-19-wash);--theme-border:var(--palette-19-border)}

/* Refresh uses the same rounded-rectangle language as Cancel; only loading collapses to an icon square. */

/* Signature focus state and matched action buttons. */
.signature-field.signature-active .signature-pad-wrap{

  border-color:var(--palette-2-accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--palette-2-accent) 18%,transparent);
}

.signature-actions .signature-clear:disabled{
opacity:.45;cursor:not-allowed}

#mainform>section.form-section>:last-child{
margin-bottom:0}

#mainform>section.form-section .field:last-child{
margin-bottom:0}

/* Paid travel stays on one line, including narrow iPhones. */
.travel-entry-grid{

  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(126px,40%);
  gap:var(--space-md);
  align-items:end;
}

.travel-entry-grid .field{
min-width:0;margin-bottom:0}

.travel-location-field input{
width:100%;min-width:0}

.travel-time-field .duration-control{
max-width:none;gap:var(--space-xs);white-space:nowrap}

.travel-time-field .duration-control input.duration-hours,.travel-time-field .duration-control input.duration-minutes{

  width:46px;flex:1 1 46px;min-width:0;padding-left:var(--space-sm);padding-right:var(--space-sm);
}

.travel-time-field .duration-control span{
font-size:var(--font-caption);flex:0 0 auto}

.travel-editor-actions{
display:flex;gap:var(--space-md);margin-top:var(--space-md)}

.travel-editor-actions .btn{
min-height:var(--control-height);height:var(--control-height)}

.travel-save:disabled{
opacity:.45;cursor:not-allowed}

.hours-summary>span:first-child{
min-width:0;overflow-wrap:anywhere}

.travel-saved-actions{
display:flex;gap:var(--space-sm);flex:0 0 auto}

.travel-saved-actions .btn{
height:var(--control-height-compact);min-height:var(--control-height-compact);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-control)}

.travel-edit{
background:var(--surface-muted);color:var(--text-secondary)}

.travel-remove{
background:#d46a62;border-color:#d46a62}

.hours-editor.hours-saved>.travel-entry-grid,.hours-editor.hours-saved>.travel-editor-actions{
display:none}

@media(max-width:390px){

  .travel-entry-grid{
grid-template-columns:minmax(0,1fr) 118px;gap:var(--space-sm)}

  .travel-time-field .duration-control input.duration-hours,.travel-time-field .duration-control input.duration-minutes{
width:39px;flex-basis:39px;font-size:var(--font-copy);padding-left:var(--space-xs);padding-right:var(--space-xs)}

  .travel-time-field .duration-control span{
font-size:var(--font-sm)}

}

/* Dynamic visible-section sequence overrides every legacy form-specific theme. */
#mainform>section.form-section.themed-section{

  border-left-color:var(--theme-accent);
  background:linear-gradient(90deg,var(--theme-wash) 0,var(--theme-wash) 7px,var(--surface) 42px);
}

/* Timesheet confirmation summary. */
.timesheet-confirm-dialog{
max-width:520px}

.timesheet-summary .title{
font-size:var(--font-subtitle);line-height:1.35;margin-bottom:var(--space-lg)}

.timesheet-summary-lines{
display:grid;gap:var(--space-sm);line-height:1.5}

.timesheet-summary-gap{
margin-top:var(--space-md)}

.timesheet-summary-question{
font-weight:var(--weight-bold);margin:var(--space-xl) 0 var(--space-lg)}

/* Keep sanitized Outlook rich-text fragments in normal inline flow inside calendar values. */
.calendar-rich-text{
display:block;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:inherit}

.calendar-rich-text span,.calendar-rich-text strong,.calendar-rich-text b,.calendar-rich-text em,.calendar-rich-text i,.calendar-rich-text u,.calendar-rich-text a{
display:inline}

#toast:empty{
display:none}

#toast.error,#toast.success{
position:sticky;top:8px;z-index:var(--z-header);margin:0 0 var(--space-lg)}

.form-submit-bar .form-cancel-btn{
background:var(--surface-muted);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-control);font-weight:var(--weight-bold)}

.form-submit-bar .btn:disabled{
opacity:.45;cursor:not-allowed}

#toast.form-warning{

  position:fixed;
  top:62px;
  left:50%;
  transform:translateX(-50%);
  width:min(calc(100% - 36px),820px);
  z-index:35;
  margin:0;
  box-sizing:border-box;
}

.hours-editor[data-mode="edit"] .travel-edit{
display:none}

@media(max-width:700px){

  #toast.form-warning{
top:52px;width:calc(100% - 20px)}

}

.field-helper{
font-weight:var(--weight-normal);color:var(--muted);font-size:var(--font-body);margin:-4px 0 8px}

/* Aldi store name/address layout. */

/* Photo shrink uses the same green first-section treatment as forms. */
.photo-shrink-section{
border-left-color:var(--theme-accent);background:linear-gradient(90deg,var(--theme-wash) 0,var(--theme-wash) 7px,var(--surface) 42px)}

.photo-shrink-section .section-heading{
border-bottom-color:var(--theme-accent)}







.photo-form-profile-row{
margin:0}

/* Aldi store pills use the shared option control with a stacked, centred name/address label. */
.aldi-store-pill{
flex-direction:column;align-items:center;text-align:center;gap:var(--space-xs)}

.aldi-store-name{
display:block;font-weight:var(--weight-semibold);font-size:var(--font-copy);line-height:20px}

.aldi-store-address{
display:block;font-weight:var(--weight-normal);font-size:var(--font-sm);line-height:14px;color:var(--muted);text-align:center;width:100%}






.photo-share-sequence .share-sequence-name{
margin:var(--space-md) 0 var(--space-lg);overflow-wrap:anywhere}

.photo-share-sequence .actions{
display:flex;gap:var(--space-lg);flex-wrap:wrap}

.form-page,.form-section,.field,.field>*{
min-width:0}

.form-section,.field,.field input,.field textarea,.field select,.money-input,.signature-pad-wrap,.calendar-job-choice,.custom-datetime,.custom-datetime-display{
max-width:100%}

.field input,.field textarea,.field select,.custom-datetime-display{
box-sizing:border-box}

.custom-datetime{
width:100%}

.custom-datetime-display{
display:flex;align-items:center;justify-content:flex-start;text-align:left;cursor:pointer;-webkit-appearance:none;appearance:none}

.custom-datetime-display:focus-visible{
outline:2px solid color-mix(in srgb,var(--blue) 18%,transparent);outline-offset:1px;border-color:var(--palette-2-accent)}

.aldi-signature-section [data-signature-field="cleanerSig"]{
margin-top:28px}

.form-calendar-reveal{
width:100%;margin:var(--space-md) 0 var(--space-xs);min-height:var(--control-height)}

@media(max-width:600px){

 .field input:not([type="file"]),.field textarea,.field select,.custom-datetime-display{
width:100%;max-width:100%;min-width:0}

 
 
 
}

.quote-add-row{
margin-top:var(--space-lg);}

/* Author-level display rules can otherwise override the HTML hidden state on calendar cards. */
.calendar-job-choice[hidden]{
display:none}

/* Keep every calendar week row the same height, including leading blank cells. */

/* Compact, evenly justified time row with more breathing room before the first value. */

/* Hidden must always win for the shared compact form calendar controls. */

/* Keep form pages strictly within the viewport; child grids must also be allowed to shrink. */

#proofSection .proof-confirmation{
margin:2px 0 12px}

#proofSection .signature-field{
margin-top:0}

/* Date/time picker header: arrows are genuinely vertically centred with the month title. */

/* Time controls span the same available width as the date grid without artificial extra gaps. */

/* Add breathing room only between numbered calendar weeks. Weekday/header and Time spacing remain independent. */

/* Lift the navigation glyphs slightly so their visual centre matches the month/year text. */

#mainform>section.form-section>.section-heading:not(.section-heading-toggle){

  display:block;visibility:visible;opacity:1;position:static;overflow:visible;
  height:auto;min-height:0;padding:0 0 var(--space-lg);margin:0 0 var(--space-lg);
}

#mainform>section.form-section>.section-heading:not(.section-heading-toggle)>h2{

  display:block;visibility:visible;opacity:1;position:static;height:auto;min-height:0;
  margin:0 0 var(--space-xs);line-height:1.2;color:var(--text);
}

/* One radius for ordinary data-entry controls. */
.field input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),.field textarea,.field select,.custom-datetime-display,.quote-item-input,.quote-note-input{

  border-radius:var(--radius-entry);
}

.field input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),.field select{
min-height:var(--control-height)}

/* Nested subsection controls inherit the actual parent section colour variables. */

/* Shared embedded calendar is allowed to shrink, never widen the page. */

@media(max-width:700px){

  .subform-date-picker{
flex:1 1 104px;width:auto;min-width:0;max-width:128px}

  .subform-date-picker .work-date-display{
width:100%;min-width:0;max-width:100%}

  .subform-today{
flex:0 1 auto;min-width:0;max-width:72px;margin-left:var(--space-xs)}

  .calendar-filter-refresh-row{
gap:var(--space-sm)}

  .calendar-filter-buttons{
flex:1 1 auto;gap:var(--space-sm)}

  .calendar-filter-buttons .calendar-mode-toggle,.calendar-filter-buttons .calendar-all-toggle{

    flex:1 1 0;min-width:0;padding-left:var(--space-sm);padding-right:var(--space-sm);
    font-size:var(--font-caption);
  }

  .calendar-filter-refresh-row .compact-refresh{
flex:0 1 auto;min-width:62px;padding-left:var(--space-md);padding-right:var(--space-md)}

}

/* The date area is the widest visual reference. Header/footer controls sit slightly inside it. */

/* Keep the popup height stable. Five-week months distribute the same space over five rows;
   six-week months use six slightly tighter rows, matching the calm native-calendar effect. */

/* Time remains aligned to the full date-grid edges. */

.other-note,.shared-other-note{
margin-top:var(--space-xl);padding:0;background:transparent;border:0;border-radius:0}

.other-note>label,.shared-other-note>label{
display:block;margin-bottom:var(--space-md);font-size:var(--font-body-lg);font-weight:var(--weight-bold)}

.repeatable-other-row{
display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:var(--space-md);align-items:start;margin-bottom:var(--space-md);min-width:0}

.repeatable-other-remove{
width:42px;min-width:42px;height:42px;padding:0}

.shared-other-note>[data-add-cleaning-other]{
margin-top:var(--space-xs)}

@media(max-width:600px){

 
 
 #mainform .row,#mainform .actions,#mainform .calendar-filter-refresh-row{
min-width:0;max-width:100%}

 
}

/* Give the calendar a little breathing room before the secondary Time control group. */

/* Visible arrows stay restrained while their hit areas remain generous. */

.datetime-picker-modal{

  width:min(390px,calc(100vw - 28px));max-width:390px;padding:var(--space-lg);
  border-radius:var(--radius-surface);
}

.datetime-picker-head{

  display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);
  padding:0 var(--space-xl);text-align:left;
}

.datetime-picker-head .title{
margin:0;font-size:var(--font-title);font-weight:var(--weight-bold)}

.datetime-month-nav{
display:flex;align-items:center;gap:var(--space-xxl);transform:translateY(-3px)}

.dt-nav{

  display:inline-flex;align-items:center;justify-content:center;
  border:0;background:transparent;color:#1677e8;font-size:var(--icon-close-size);line-height:1;
  min-width:44px;min-height:var(--control-height);padding:0 var(--space-md);cursor:pointer;
}

.dt-nav:disabled{
opacity:.25;cursor:default}

.dt-weekdays,.dt-grid{

  display:grid;grid-template-columns:repeat(7,minmax(0,1fr));
  column-gap:var(--space-xs);margin-top:var(--space-md);text-align:center;
}

.dt-weekdays{
font-size:var(--font-sm);font-weight:var(--weight-semibold);color:var(--muted)}

/* Fixed date-area height: 5-row months breathe more; 6-row months tighten naturally. */
.dt-grid{

  height:238px;grid-auto-rows:minmax(0,1fr);row-gap:0;align-items:center;
  overflow:visible;touch-action:pan-y;
}

.dt-day,.dt-empty{
min-width:0;height:38px;min-height:38px;align-self:center}

.dt-day{

  width:38px;min-width:38px;justify-self:center;padding:0;border:0;border-radius:50%;
  background:transparent;box-shadow:none;font:inherit;font-size:var(--font-title);font-weight:var(--weight-normal);
  color:var(--text);-webkit-text-fill-color:var(--text);cursor:pointer;
}

.dt-day.today:not(.selected){
background:var(--surface-muted);color:var(--text);-webkit-text-fill-color:var(--text)}

.dt-day.selected{
background:#111;color:#fff;-webkit-text-fill-color:#fff}

.dt-day:disabled{
background:transparent;color:#aeb4bc;-webkit-text-fill-color:#aeb4bc;opacity:1;cursor:not-allowed}

/* Time is inset to the same visual column as the month and bottom actions. */
.dt-time-row{

  display:flex;align-items:center;justify-content:flex-start;width:100%;box-sizing:border-box;
  margin-top:var(--space-xxl);padding:0 var(--space-xl);gap:0;font-size:var(--font-subtitle);
}

.dt-time-row label{
flex:0 0 auto;margin-right:var(--space-xxl);font-weight:var(--weight-bold)}

.dt-time-row select{

  flex:0 0 64px;width:64px;min-width:64px;height:var(--control-height);min-height:var(--control-height);
  padding:var(--space-md) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-entry);
  background:var(--surface);font:inherit;font-size:var(--font-copy);font-weight:var(--weight-medium);line-height:1.2;
  text-align:center;text-align-last:center;color:var(--text);-webkit-text-fill-color:var(--text);
}

.dt-time-row>span{
flex:0 0 auto;margin:0 var(--space-sm);text-align:center}

.dt-time-row [data-dt-ampm]{
margin-left:var(--space-md)}

.datetime-picker-actions{

  display:flex;align-items:center;gap:var(--space-md);margin-top:32px;padding:0 var(--space-xl);flex-wrap:wrap;
}

.datetime-picker-spacer{
flex:1}

@media(max-width:600px){

  .datetime-picker-modal{
width:calc(100vw - 32px)}

  .datetime-picker-head,.datetime-picker-actions{
padding-left:var(--space-xl);padding-right:var(--space-xl)}

  .dt-grid{
height:226px}

  .dt-day,.dt-empty{
width:36px;min-width:36px;height:var(--control-height-compact);min-height:var(--control-height-compact)}


  .dt-time-row{
padding-left:var(--space-xl);padding-right:var(--space-xl)}

  .dt-time-row label{
margin-right:20px}

  .dt-time-row select{
flex-basis:62px;width:62px;min-width:62px}

  .dt-time-row>span{
margin-left:6px;margin-right:6px}

  .dt-time-row [data-dt-ampm]{
margin-left:8px}

}

.inspection-extra-staff{
margin-top:var(--space-md)}

/* Cleaning Record: Timed elements uses global controls with form-specific row layout only. */
.cleaning-timed-rows{
display:grid;gap:var(--space-md);margin-top:var(--space-md)}

.cleaning-timed-option-row{
display:grid;grid-template-columns:minmax(104px,140px) minmax(0,1fr);gap:var(--space-md);align-items:center;min-width:0}

.cleaning-timed-option-row>.cleaning-time-choice{
grid-column:1;max-width:none}

.cleaning-time-inline{
grid-column:2;display:flex;align-items:center;justify-content:flex-start;gap:var(--space-md);min-width:0}

.cleaning-time-inline [data-duration]{
display:flex;align-items:center;gap:var(--space-sm);min-width:0}

.cleaning-time-inline .duration-hours,.cleaning-time-inline .duration-minutes{
width:58px;min-width:54px}

.cleaning-time-actions{
display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);flex:0 0 auto;margin-left:auto}

.entry-commit-btn{width:36px;min-width:36px;height:var(--control-height-compact);min-height:var(--control-height-compact);padding:0;font-size:var(--font-subtitle);line-height:1}

.cleaning-time-value{
font-weight:var(--weight-semibold);white-space:nowrap}

.cleaning-timed-details>summary{
margin-top:var(--space-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);cursor:pointer;list-style:none}
.cleaning-timed-details>summary::-webkit-details-marker{display:none}
.cleaning-timed-details>summary::after{content:"›";line-height:1;flex:0 0 auto;transition:transform var(--motion-normal) ease;color:var(--text);font-size:1em;font-style:normal;font-weight:inherit}
.cleaning-timed-details[open]>summary::after{transform:rotate(90deg)}

@media(max-width:390px){
.cleaning-timed-option-row{
grid-template-columns:minmax(104px,128px) minmax(0,1fr);align-items:start}
.cleaning-time-inline{
flex-wrap:wrap}
.cleaning-time-actions{
margin-left:auto}
.cleaning-time-inline .duration-hours,.cleaning-time-inline .duration-minutes{
width:52px;min-width:48px}
}

.notcleaned-rows{display:grid;gap:var(--space-md);margin-top:var(--space-md)}
.notcleaned-item-detail{display:grid;grid-template-columns:minmax(104px,140px) minmax(0,1fr);gap:var(--space-md);align-items:start;min-width:0}
.notcleaned-item-pill{grid-column:1;max-width:none;text-align:center}
.notcleaned-reason-control{grid-column:2;display:grid;gap:var(--space-sm);min-width:0}
.notcleaned-reason-control select{width:100%;min-width:0}
.notcleaned-reason-other{margin:0}
@media(max-width:390px){.notcleaned-item-detail{grid-template-columns:minmax(104px,128px) minmax(0,1fr)}}

/* Shared text-entry and section-description components. */
.section-heading .section-description{
margin:2px 0 0;color:var(--muted);font-size:var(--font-body);line-height:1.5;font-weight:var(--weight-normal)}

textarea,
.field textarea,
.quote-note-input{

  min-height:var(--control-height);height:var(--control-height);resize:none;overflow:hidden;line-height:1.35;
}

.field input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),.quote-item-input{
min-height:var(--control-height);height:var(--control-height)}

.other-note textarea,.shared-other-note textarea{
margin:0;width:100%}

.section-heading-toggle{

  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;
  cursor:pointer;gap:var(--space-lg);}

.section-heading-toggle:focus-visible{
outline:2px solid var(--theme-accent,#155eef);outline-offset:4px;border-radius:var(--radius-entry)}

.subsection-heading,
.form-section .field:has(> .checks)>label,
.form-section .job-staff-choice>label{

  display:block;width:100%;margin:var(--space-lg) 0 var(--space-sm);padding:var(--space-md) var(--space-lg);
  border:0;border-left:4px solid var(--theme-accent,#98a7b8);border-radius:var(--radius-control);
  background:var(--theme-wash,#f2f5f8);color:var(--text-secondary);
  font:inherit;font-size:var(--font-copy);line-height:1.35;font-weight:var(--weight-semibold);text-align:left;
  box-sizing:border-box;
}

.subsection-heading + .field{
margin-top:var(--space-xs)}

.subsection-heading-action{
display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);cursor:pointer}

button.subsection-heading{
appearance:none;-webkit-appearance:none}

.subsection-chevron{
font-size:var(--font-page-title);line-height:1;flex:0 0 auto;transition:transform var(--motion-normal) ease}

.money-subsection-toggle.active .subsection-chevron,.proof-subsection-toggle.active .subsection-chevron{
transform:rotate(90deg)}

.subsection-controls{
display:grid;gap:0;margin:var(--space-xs) 0 var(--space-sm)}

.nested-subsection-body{
margin:-1px 0 1px;padding:var(--space-lg);border:1px solid var(--theme-border,#d9e0ea);border-radius:var(--radius-surface);background:var(--surface)}

.money-from-subsection{border:0;border-radius:0;background:transparent}
.money-from-subsection .money-calendar-inner{
margin:0;}

.money-from-subsection .money-calendar-inner>.section-heading{
display:none;}

.more-options{
margin:0;border:0;border-radius:0;background:transparent;overflow:visible}

.more-options>summary{
list-style:none}

.more-options>summary::-webkit-details-marker{
display:none}

.more-options>summary::after{
content:"›";line-height:1;flex:0 0 auto;transition:transform var(--motion-normal) ease;color:var(--text);font-size:1em;font-style:normal;font-weight:inherit;}

.more-options[open]>summary::after{
transform:rotate(90deg)}

.more-options>.checks,.more-options>div>.checks{
padding:0;margin-top:0}

.checks{

  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,104px),1fr));
  gap:var(--space-md);
  align-items:stretch;
  min-width:0;
}

.pill{

  position:relative;display:flex;align-items:center;justify-content:center;
  width:100%;min-width:0;min-height:var(--control-height);margin:0;padding:var(--space-md);
  border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);
  font-family:inherit;font-size:var(--font-body-lg);font-weight:var(--weight-medium);line-height:1.2;color:inherit;text-align:center;
  white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none;
  cursor:pointer;box-sizing:border-box;
  transition:background var(--motion-normal),border-color var(--motion-normal),color var(--motion-normal),box-shadow var(--motion-normal);
}

button.pill{
appearance:none;-webkit-appearance:none}


.pill:has(input:checked),.pill.active{

  background:var(--arasure-green);border-color:var(--arasure-green-border);color:var(--arasure-green-text);box-shadow:0 0 0 2px var(--arasure-green-shadow) inset;font-weight:var(--weight-medium);
}

.pill:has(input:checked) input{
accent-color:var(--arasure-green-border)}

@media(max-width:600px){

  .pill{
font-size:var(--font-copy)}

}

.managed-list-edit-btn{
flex:0 0 96px;min-height:var(--control-height);white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;flex-basis:38px;width:38px;min-width:38px;}

.managed-list-editor-head,.managed-list-editor-row{
display:grid;gap:var(--space-md);align-items:center;grid-template-columns:30px minmax(0,1fr) auto;column-gap:var(--space-xs);}

.managed-list-editor-head{
padding:var(--space-lg) 0 var(--space-sm);font-size:var(--font-caption);font-weight:var(--weight-bold);color:var(--muted)}

.managed-list-editor-row{
padding:var(--space-sm) 0;border-bottom:1px solid var(--divider);padding-top:var(--space-xs);padding-bottom:var(--space-xs);background:var(--surface);}
.managed-list-editor-row:last-child{
border-bottom:0}

.managed-list-item-input{
width:100%;min-width:0;height:var(--control-height);padding:var(--space-md) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-entry);font:inherit;background:var(--surface)}

.managed-list-frequency{
display:flex;margin:0;justify-content:center;align-items:center;width:100%;}
.managed-list-frequency input{
width:22px;height:22px;accent-color:var(--blue)}

.drag-handle{
width:30px;height:42px;border:0;background:transparent;color:var(--text-muted);font-size:var(--font-page-title);line-height:1;cursor:grab;touch-action:none;padding:0;display:grid;place-items:center}
.drag-handle:active{cursor:grabbing}

.managed-list-row-actions{
display:flex;align-items:center;gap:var(--space-sm);white-space:nowrap}

.icon-btn-danger-soft{
background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border);font-weight:var(--weight-bold)}
.icon-btn-danger-soft:hover{
background:var(--danger-bg)}

.managed-list-add-btn{
margin-top:var(--space-md)}
.sr-only,.file-picker-btn input[type="file"],.toggle-control input,.pill input,.section-heading-disclosure .collapse-toggle-input{
position:absolute;width:1px;height:1px;min-width:0;min-height:0;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}

@media(max-width:600px){
.managed-list-editor-head{
display:none}
.drag-handle{
width:26px}
.managed-list-row-actions{
gap:var(--space-xs)}
.managed-list-row-actions .btn,.icon-btn-danger-soft{
width:34px;min-width:34px}
}

.history-theme-green{
--history-accent:var(--palette-1-accent);--history-wash:var(--palette-1-wash);--history-border:var(--palette-1-border);--history-rgb:var(--palette-1-rgb);}
.history-theme-blue{
--history-accent:var(--palette-2-accent);--history-wash:var(--palette-2-wash);--history-border:var(--palette-2-border);--history-rgb:var(--palette-2-rgb);}
.history-theme-yellow{
--history-accent:var(--palette-18-accent);--history-wash:var(--palette-18-wash);--history-border:var(--palette-18-border);--history-rgb:var(--palette-18-rgb);}
.history-theme-orange{
--history-accent:var(--palette-19-accent);--history-wash:var(--palette-19-wash);--history-border:var(--palette-19-border);--history-rgb:var(--palette-19-rgb);}
.history-theme-purple{
--history-accent:var(--palette-3-accent);--history-wash:var(--palette-3-wash);--history-border:var(--palette-3-border);--history-rgb:var(--palette-3-rgb);}
.history-theme-teal{
--history-accent:var(--palette-6-accent);--history-wash:var(--palette-6-wash);--history-border:var(--palette-6-border);--history-rgb:var(--palette-6-rgb);}

.managed-list-modal>.actions .btn{
border:1px solid var(--border)}


.managed-list-modal>.actions .form-cancel-btn{
background:var(--surface-muted);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-control)}

.submission summary .muted{
line-height:1.2;}
.submission-body{
padding:var(--space-md) var(--space-lg);}
.history-form-group{
margin-top:var(--space-md);border:0;}
.history-form-group-toggle{
list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);margin:0;padding:var(--space-md) var(--space-lg);border:1px solid var(--history-border,#c5dcf0);border-radius:var(--radius-control);background:var(--history-wash,#eef6fd);font-size:var(--font-copy);font-weight:var(--weight-bold);color:var(--text);}
.history-form-group-toggle::-webkit-details-marker{
display:none}
.history-form-group-toggle .section-chevron{
transition:transform var(--motion-normal) ease;color:var(--text);}
.history-form-group[open]>.history-form-group-toggle .section-chevron{
transform:rotate(90deg)}
.history-form-group-body{
padding-top:var(--space-xs);padding-left:var(--space-lg);}

.password-input-wrap{
position:relative;display:flex;align-items:center;min-width:0}

.password-input-wrap input{
width:100%;padding-right:62px}

.password-reveal{
position:absolute;right:5px;top:50%;transform:translateY(-50%);border:0;background:transparent;font:inherit;font-size:var(--font-body);font-weight:var(--weight-bold);cursor:pointer;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md);color:var(--blue);}

.history-field{
display:grid;border:0;border-bottom:1px solid var(--divider);border-radius:0;padding:var(--space-md) var(--space-lg);background:transparent;grid-template-columns:minmax(90px,18%) minmax(0,82%);gap:var(--space-md);}

.history-field:last-child{
border-bottom:0}

.history-value{
font-size:var(--font-body);line-height:1.35;min-width:0;overflow-wrap:anywhere;}

.history-value-lines,.history-structured{
display:flex;flex-direction:column;gap:var(--space-xs)}

.history-value-line{
display:block}

.history-image-button{
display:inline-block;border:0;background:transparent;padding:0;cursor:pointer}

.history-image-modal-bg{
z-index:var(--z-drag);display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}

.history-image-modal{
position:relative;max-width:min(94vw,1000px);max-height:92vh;background:var(--surface);border-radius:var(--radius-surface);padding:48px var(--space-lg) var(--space-lg);box-shadow:var(--shadow-modal)}

.history-image-modal img{
display:block;max-width:100%;max-height:calc(92vh - 65px);object-fit:contain}

.history-image-close{
position:absolute;right:10px;top:8px}

.history-attachments h4{
flex-basis:100%;margin-bottom:0}

.history-attachment-thumb{
width:108px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);padding:var(--space-sm);cursor:pointer;text-align:left}

.history-attachment-thumb img{
display:block;width:96px;height:72px;object-fit:cover;border-radius:var(--radius-entry)}

.history-attachment-thumb span{
display:block;font-size:var(--font-xs);margin-top:var(--space-xs);overflow-wrap:anywhere}

.photo-profile-description{
margin-top:var(--space-md)}





.photo-backup-note{
margin-top:var(--space-lg)}


@media(max-width:600px){
.history-signature{
max-width:96px;max-height:42px}
}

.photos-filters{
margin-bottom:var(--space-lg)}
.photos-date-group{
margin-top:var(--space-lg)}
.photos-date-group>h3{
margin:0 0 var(--space-md);font-size:var(--font-body-lg)}
.photos-job-group{
padding:var(--space-md) 0;border-top:1px solid var(--border)}
.photos-job-title{
font-weight:var(--weight-bold);margin-bottom:var(--space-md)}
.photos-thumb-grid{
display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-md)}
.photos-thumb-card{
min-width:0;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);padding:var(--space-sm);text-align:left;cursor:pointer;color:var(--text)}
.photos-thumb-card img{
display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-entry);background:var(--surface-muted)}
.photos-thumb-card span,.photos-thumb-card small{
display:block;margin-top:var(--space-xs);overflow-wrap:anywhere}
.photos-thumb-card span{
font-size:var(--font-sm);font-weight:var(--weight-semibold)}
.photos-thumb-card small{
font-size:var(--font-xs);color:var(--muted)}
.photos-view-actions{
display:flex;gap:var(--space-md);justify-content:center;margin-top:var(--space-md)}
.photos-view-actions .btn{
min-width:92px}

.evernote-viewer-modal{
width:min(900px,100%);max-height:92dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:block}

.evernote-viewer-head{position:relative;top:auto;z-index:auto;background:var(--card);margin:0 0 var(--space-lg);padding:var(--space-lg) 0;border-bottom:1px solid var(--divider)}
.evernote-viewer-close{flex:0 0 auto}

.evernote-viewer-scroll{
overflow:visible;min-height:auto;padding-right:var(--space-xs)}

@supports not (height:1dvh){
.evernote-viewer-modal{
max-height:92vh}
}

.evernote-record-body img{
max-width:100%;height:auto;display:block}

.evernote-search-results{
display:grid;gap:var(--space-md);margin-top:var(--space-lg)}

.evernote-search-result{
text-align:left;width:100%}



@media(max-width:600px){
.history-field{
grid-template-columns:minmax(86px,24%) minmax(0,76%)}
}

.password-reveal svg{
width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.entry-remove-btn{
width:38px;min-width:38px;height:38px;min-height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-control);font-size:var(--font-title-lg);font-weight:var(--weight-heavy);line-height:1}

.entry-edit-btn{
width:40px;min-width:40px;height:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-control);padding:var(--space-md);line-height:1;}

.edit-icon-glyph{
font-size:var(--font-title-lg);line-height:1;font-weight:var(--weight-bold);width:22px;height:22px;display:block;}

.history-header-row{
align-items:flex-start}

.history-header-actions{
margin-left:auto;justify-content:flex-end}

.history-technical{margin-top:var(--space-lg);padding:0}

.history-technical>summary{
cursor:pointer;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--surface);font-size:var(--font-sm);font-weight:var(--weight-normal);font-style:normal;}

.history-technical-body{padding:var(--space-lg)}
.history-technical-body>.history-fields{padding:0}
.history-technical-deliveries{margin:0 0 var(--space-md)}

.history-technical-integration{
margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--divider)}

.history-technical-integration h4{
margin:0 0 var(--space-xs);font-size:var(--font-body)}

@media(max-width:600px){

 .history-header-row{
flex-direction:column;align-items:stretch}

 .history-header-actions{
align-self:flex-end}

 .history-form-group-body{
padding-left:var(--space-md)}

 .entry-remove-btn,.entry-edit-btn{
width:36px;min-width:36px;height:var(--control-height-compact);min-height:var(--control-height-compact)}

}

/* Semantic button treatment: secondary actions retain standard outlines; destructive entry clears retain a red outline. */
.btn.secondary,.form-cancel-btn,.file-picker-btn,.managed-list-move,.entry-edit-btn,.compact-context-back,.calendar-filter-refresh-row .compact-refresh,.travel-edit{
border:1px solid var(--border);box-shadow:none}

.btn.danger,.btn.destructive-btn{
border:0}

.icon-btn-danger-soft,.entry-remove-btn{
border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}

.btn:disabled{
box-shadow:none;opacity:.45;cursor:not-allowed}

/* Borders remain on stateful selection controls, inputs and checkboxes where the outline communicates state. */
.pill,.calendar-job-choice,.section-toggle,.field input,.field textarea,.field select,.custom-datetime-display{
border-style:solid}

.managed-list-modal>.actions .btn.primary,.form-submit-bar button[type="submit"]{
border-color:transparent}

/* Shared Lists editor: tighter handle/input spacing and properly aligned frequency heading. */

.managed-list-editor-head.has-frequency,.managed-list-editor-row.has-frequency{
grid-template-columns:30px minmax(0,1fr) 92px auto;column-gap:var(--space-xs);}

.managed-list-editor-head.multi-column-editor-head,.multi-column-editor-row{
grid-template-columns:30px minmax(100px,1fr) minmax(120px,1.6fr) auto;column-gap:var(--space-xs);}

.managed-list-editor-head.has-frequency>span:nth-child(3){
text-align:center;justify-self:stretch}

@media(max-width:600px){
.managed-list-editor-row{
grid-template-columns:26px minmax(0,1fr) auto;gap:var(--space-xs)}
.managed-list-editor-row.has-frequency{
grid-template-columns:26px minmax(0,1fr) 30px auto;gap:var(--space-xs)}
.multi-column-editor-row{
grid-template-columns:26px minmax(0,.8fr) minmax(0,1.2fr) auto;gap:var(--space-xs)}
}

/* History disclosure arrows and themed subsection headings. */
.submission summary>.history-open{
font-size:1em;line-height:1;transition:transform var(--motion-normal) ease;color:var(--text)}

.submission[open]>summary>.history-open{
transform:rotate(90deg)}

.history-technical>summary .section-chevron{
font-size:1em;line-height:1;transition:transform var(--motion-normal) ease}

.history-technical[open]>summary .section-chevron{
transform:rotate(90deg)}

.submission .history-section>h3{
background:var(--surface);border-bottom:1px solid var(--divider);color:var(--text)}

/* Read-only subset of the selected Cleaning Record calendar card. */
.cleaning-calendar-job-details[hidden]{
display:none}

.calendar-readonly-row{
display:grid;grid-template-columns:minmax(72px,18%) minmax(0,1fr);gap:var(--space-lg);padding:var(--space-md) var(--space-xs);border-bottom:1px solid var(--divider)}

.calendar-readonly-row:last-child{
border-bottom:0}

.calendar-readonly-label{
font-weight:var(--weight-bold);color:var(--text-secondary)}

.calendar-readonly-value{
line-height:1.5;overflow-wrap:anywhere}

@media(max-width:600px){
.calendar-readonly-row{
grid-template-columns:64px minmax(0,1fr);gap:var(--space-md)}
}

/* Validation is shown beside the relevant form area, with the parent section visibly flagged. */
.form-validation-local{
margin:var(--space-md) 0 var(--space-lg);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-control);background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);font-weight:var(--weight-bold);font-size:var(--font-body);line-height:1.35}

.form-validation-target{
box-shadow:0 0 0 2px #e65a64;border-color:#e65a64}

.form-validation-target>.section-heading{
border-bottom-color:var(--danger-border)}

.form-management-icon{
display:flex;align-items:center;justify-content:center;width:var(--form-icon-admin-size);height:var(--form-icon-admin-size);min-width:var(--form-icon-admin-size);margin-left:0;}
.form-management-copy{
min-width:0}
.form-management-copy b{
font-size:var(--font-control)}
.form-manager-modal{
max-width:min(94vw,1000px)}










.history-form-heading{
display:flex;align-items:center;gap:var(--space-md)}
.history-form-icon{
display:inline-flex;align-items:center;justify-content:center;width:var(--form-icon-history-size);height:var(--form-icon-history-size);min-width:var(--form-icon-history-size);}

.history-search-row{
display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-md);margin:var(--space-lg) 0 8px;align-items:center}
.history-search-row input{
width:100%;min-width:0}
.history-filters{
padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-subtle);margin-bottom:var(--space-lg)}
.history-filter-grid{
display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:var(--space-lg);margin-bottom:var(--space-md)}
.history-filter-grid label{
font-size:var(--font-caption);font-weight:var(--weight-bold)}
.history-filter-grid input,.history-filter-grid select{
display:block;width:100%;margin-top:var(--space-xs)}

.submission .history-section>h3,.submission .history-technical>summary{
background:var(--surface);border-color:var(--divider);color:var(--text)}
.submission .history-technical>summary{
padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--divider)}

/* Segmented/state controls need an outline in both selected and unselected states. */
.work-calendar-quick-row .calendar-quick,.work-calendar-mode-row .calendar-mode-toggle,.work-calendar-showall-row .calendar-all-toggle,.subform-today,.calendar-filter-buttons .calendar-mode-toggle,.calendar-filter-buttons .calendar-all-toggle{
border:1px solid var(--border-strong)}

.work-calendar-quick-row .calendar-quick.active,.work-calendar-mode-row .calendar-mode-toggle.active,.work-calendar-showall-row .calendar-all-toggle.active,.subform-today.active,.calendar-filter-buttons .calendar-mode-toggle.active,.calendar-filter-buttons .calendar-all-toggle.active{
border-color:var(--arasure-green-border)}

@media(max-width:700px){
.history-filter-toggle{
white-space:nowrap;padding-left:var(--space-lg);padding-right:var(--space-lg)}
.history-filter-grid{
grid-template-columns:1fr 1fr}
}

@media(max-width:430px){
.history-filter-grid{
grid-template-columns:1fr}
}

.form-card .icon>.form-icon-frame{
width:var(--form-icon-menu-size);height:var(--form-icon-menu-size);min-width:var(--form-icon-menu-size);flex-basis:var(--form-icon-menu-size)}

.form-card .icon>.form-icon-frame>.form-meta-icon{
font-size:var(--form-icon-menu-glyph)}

.form-title-with-icon>.form-title-logo{
width:var(--form-icon-header-size);height:var(--form-icon-header-size);min-width:var(--form-icon-header-size);flex-basis:var(--form-icon-header-size)}

.form-title-with-icon>.form-title-logo>.form-meta-icon{
font-size:var(--form-icon-header-glyph)}

.form-management-icon>.form-icon-frame{
width:var(--form-icon-admin-size);height:var(--form-icon-admin-size);min-width:var(--form-icon-admin-size);flex-basis:var(--form-icon-admin-size)}

.form-management-icon>.form-icon-frame>.form-meta-icon{
font-size:var(--form-icon-admin-glyph)}

.history-form-heading>.history-form-icon,.bulk-form-name>.history-form-icon{
width:var(--form-icon-history-size);height:var(--form-icon-history-size);min-width:var(--form-icon-history-size);flex-basis:var(--form-icon-history-size)}

.history-form-icon>.form-meta-icon{
font-size:var(--form-icon-history-glyph)}

.form-icon-preview>.form-icon-frame{
width:var(--form-icon-preview-size);height:var(--form-icon-preview-size);min-width:var(--form-icon-preview-size);flex-basis:var(--form-icon-preview-size)}

.form-icon-preview{
width:64px;height:64px;min-width:64px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);padding:var(--space-md);display:flex;align-items:center;justify-content:center;cursor:pointer}

.form-icon-preview .form-meta-icon{
font-size:var(--form-icon-preview-glyph);line-height:1}

.consolidated-form-manager{
width:min(900px,calc(100vw - 36px));max-width:900px;overflow-x:hidden}

.form-manager-section{
padding:var(--space-xl) 0;border-top:1px solid var(--divider)}

.form-manager-section.form-manager-first,.form-manager-section:first-of-type{
border-top:0;padding-top:var(--space-md)}

.form-manager-section h3{
margin:0 0 var(--space-sm);font-size:var(--font-subtitle)}

.form-icon-description-row{
display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-lg);align-items:start}
.form-icon-description-row textarea{
width:100%;min-width:0}

.form-icon-picker{
border:1px solid var(--divider);background:var(--surface-subtle);border-radius:var(--radius-control);padding:var(--space-lg);margin:var(--space-md) 0 var(--space-lg)}

.inline-picker{
display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-md)}

.icon-upload-button{
display:inline-flex;width:auto;margin-top:var(--space-xs)}

.section-title-row{
display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-md)}

.section-title-row h3{
margin-bottom:2px}
.mini-actions{
display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end}

.mini-actions .btn{
min-height:var(--control-height-compact);padding:var(--space-sm) var(--space-lg);font-size:var(--font-caption)}

.form-staff-access-row input[type=checkbox],.form-route-row input[type=checkbox],.bulk-staff-table input[type=checkbox]{
width:18px;height:18px;min-width:18px;margin:0}

.form-route-row{
display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--divider);background:var(--surface)}
.form-route-row>span{font-weight:var(--weight-bold)}
.form-route-row:last-child{
border-bottom:0}

.compact-checks input[type=checkbox]{
width:17px;height:17px;min-width:17px}

.submitted-label-editor{
width:100%;min-width:0;resize:none;overflow:hidden}

.staff-manager-grid{
display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-lg)}
.staff-account-actions{
margin-top:var(--space-sm);margin-bottom:var(--space-xs)}
.staff-account-status{
margin-top:var(--space-md)}

@media (min-width:701px) and (pointer:fine){

 .modal-drag-handle,.modal>.title{
cursor:grab;user-select:none}

 .modal.is-dragging .modal-drag-handle,.modal.is-dragging>.title{
cursor:grabbing}

}

@media (max-width:700px){

 

 

 

 

 

}

/* Password reveal buttons are present only while a field contains text. */
.password-reveal[hidden]{
display:none}

/* Shared photo uploader remains compact and is allowed to wrap naturally. */

/* Shared form containment: children may shrink, but no component gets a blanket class-name override. */

@media(max-width:700px){

  
  
  
  
}

.shell{
width:100%;max-width:920px;margin:0 auto;padding:62px var(--space-xl) var(--space-xl);overflow-x:clip}

.form-page{
width:100%;max-width:var(--app-content-width);margin:0 auto;min-width:0;overflow-x:clip}

.form-page-head{
display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);position:static;top:auto;z-index:auto;width:100%;max-width:100%;min-width:0;margin:0 0 var(--space-md);padding:var(--space-xs) 0;background:transparent;backdrop-filter:none;overflow:visible}

.form-page-head>*{
min-width:0}
.form-page-head .title{
font-size:var(--font-page-title);line-height:1.2;margin-top:0;overflow-wrap:anywhere}
.form-page,.modal{
position:relative}
.compact-context-header{
z-index:var(--z-sticky);height:34px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-xs) var(--space-md) var(--space-xs) var(--space-lg);background:rgba(238,242,248,.98);border-bottom:1px solid var(--divider);font-size:var(--font-body);font-weight:var(--weight-bold);line-height:1.2;transform:none;transition:opacity var(--motion-fast) ease,visibility var(--motion-fast) ease;opacity:0;visibility:hidden;}
.compact-context-title{
min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.compact-context-back{
flex:0 0 auto;min-height:26px;height:26px;padding:var(--space-xs) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-entry);background:var(--surface-muted);color:var(--text-secondary);font:inherit;font-size:var(--font-sm);font-weight:var(--weight-bold);line-height:1.2;cursor:pointer}
.form-page>.compact-context-header{
position:fixed;top:var(--compact-context-top,54px);left:var(--compact-context-left,0);width:var(--compact-context-width,100%);border-radius:0 0 var(--radius-control) var(--radius-control)}
.modal>.compact-context-header{
position:sticky;margin:calc(-1 * var(--modal-padding)) calc(-1 * var(--modal-padding)) -34px;border-radius:0;z-index:var(--z-sticky);top:0;}

.form-page-head .back-btn.calendar-top-close{
background:var(--surface-muted);color:var(--text-secondary);border-radius:var(--radius-control);font-weight:var(--weight-bold);min-height:var(--control-height-compact);padding:var(--space-md) var(--space-lg);box-shadow:none}

#mainform{
width:100%;max-width:100%;min-width:0;overflow-x:clip;box-sizing:border-box}

#mainform>section.form-section{
width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:visible}

#mainform .field,#mainform .row,#mainform .actions,#mainform .checks{
min-width:0;max-width:100%}

#mainform .row>*{
min-width:0}

#mainform input:not([type="radio"]):not([type="checkbox"]),#mainform textarea,#mainform select{
min-width:0;max-width:100%;box-sizing:border-box}

#mainform .checks{
width:100%;grid-template-columns:repeat(auto-fit,minmax(min(100%,104px),1fr))}

.cleaning-calendar-tools[hidden]{
display:none}

.cleaning-calendar-tools{
display:grid;gap:0;margin:0 0 0;width:100%;max-width:100%;min-width:0;box-sizing:border-box}

.cleaning-calendar-tools>.subform-date-nav{margin:0 0 var(--space-lg)}

.cleaning-calendar-tools .subform-date-picker{
width:100%;min-width:0;max-width:none}

.cleaning-calendar-tools .subform-date-picker .work-date-display{
width:100%;min-width:0;max-width:100%;padding-left:var(--space-sm);padding-right:var(--space-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.cleaning-calendar-tools .subform-today{
width:auto;min-width:0;max-width:100%;margin-left:2px;padding-left:var(--space-md);padding-right:var(--space-md);white-space:nowrap}

.cleaning-calendar-tools>.calendar-filter-refresh-row{
display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);width:100%;max-width:100%;min-width:0;margin:0 0 var(--space-sm)}

.cleaning-calendar-tools .calendar-filter-buttons{
display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);width:100%;min-width:0}

.cleaning-calendar-tools .calendar-filter-buttons .calendar-mode-toggle,.cleaning-calendar-tools .calendar-filter-buttons .calendar-all-toggle{
width:100%;min-width:0;max-width:100%;padding-left:var(--space-sm);padding-right:var(--space-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.cleaning-calendar-tools .calendar-filter-refresh-row .compact-refresh{
width:auto;min-width:0;max-width:100%;padding-left:var(--space-lg);padding-right:var(--space-lg)}


.photo-upload-box{
border:1px solid var(--border);border-radius:var(--radius-control);padding:var(--space-lg);display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:var(--space-lg);width:100%;max-width:100%;min-width:0;height:auto;min-height:0;overflow:visible;background:var(--surface)}

.photo-picker-actions{
display:flex;align-items:stretch;gap:var(--space-md);flex-wrap:wrap;width:100%;min-width:0}

.photo-upload-box .file-picker-btn{
width:auto;min-width:0;max-width:100%;font-weight:var(--weight-normal);align-self:stretch}

.photo-file-list{
color:var(--muted);font-size:var(--font-body);display:grid;gap:var(--space-md);width:100%;min-width:0;max-width:100%;height:auto;overflow:hidden}
.photo-file-list[hidden]{display:none}

.photo-file-card{
display:grid;grid-template-columns:64px minmax(0,1fr) 42px;align-items:center;gap:var(--space-lg);width:100%;min-width:0;padding:var(--space-md);background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-entry)}

.photo-file-thumb{
display:block;width:64px;height:64px;object-fit:cover;border-radius:var(--radius-entry);background:var(--surface-muted)}

.photo-file-copy{
min-width:0}
.photo-file-name{
color:var(--text);font-size:var(--font-body);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.photo-file-status{
margin-top:var(--space-xs);color:var(--muted);font-size:var(--font-sm)}
.photo-file-status.is-error{
color:var(--danger-text)}

.photo-file-remove{
width:38px;height:38px;min-width:38px;justify-self:end;align-self:center;padding:0}

/* Quote intentionally keeps its unique four-column layout. */
.quote-table-wrap{
width:100%;max-width:100%;min-width:0;overflow:visible}

.quote-grid-head,.quote-row{
display:grid;width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr) minmax(0,1fr) 40px;gap:var(--space-md) var(--space-lg);align-items:center}

.quote-grid-head{
font-weight:var(--weight-heavy);text-align:center;margin-bottom:var(--space-sm)}
.quote-grid-head span:first-child{
text-align:left}

.quote-row{
padding:var(--space-md) 0;border-bottom:1px solid var(--divider)}
.quote-row:last-child{
border-bottom:0}
.quote-row>*{
min-width:0}
.quote-row .field{
margin:0}
.quote-row .money-input{
width:100%;min-width:0}
.quote-row input,.quote-row textarea{
width:100%;max-width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);box-shadow:none;font:inherit}
.quote-row input{
height:var(--control-height);min-height:var(--control-height);padding:var(--space-lg);line-height:1.2}
.quote-note-input{
grid-column:1/4;margin:0;min-height:var(--control-height);padding:var(--space-lg);line-height:1.2;resize:none;overflow:hidden;align-self:center}
.quote-row-remove{
grid-column:4;grid-row:1;position:static;width:40px;min-width:40px;height:42px;padding:0}

@media(max-width:700px){

  .shell{
max-width:100%;padding:52px var(--space-lg) var(--space-lg)}

  .form-page{
max-width:100%}

  .form-page-head{
margin-bottom:var(--space-md);align-items:flex-start}
.form-page-head .title{
font-size:var(--font-title-lg)}

  #app,#mainform,#mainform>section.form-section{
width:100%;max-width:100%;min-width:0}

}

@media(max-width:600px){

  .quote-grid-head,.quote-row{
grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) minmax(0,1fr) 34px;gap:var(--space-sm)}

  .quote-grid-head{
font-size:var(--font-sm);line-height:1.2}
.quote-row input{
padding:var(--space-md) var(--space-sm)}
.quote-row .money-input input{
font-size:var(--font-copy)}
.quote-row-remove{
width:34px;min-width:34px}

}

@media(max-width:360px){


  .photo-upload-box{
grid-template-columns:1fr}

}

.field-instruction{
margin:-2px 0 var(--space-sm)}

/* Admin layout — canonical shared edit-row and section treatment. */
.admin-section-head{
padding-bottom:var(--space-lg);margin-bottom:0;border-bottom:1px solid var(--divider)}

.admin-section-head .title{
font-size:var(--font-page-title);line-height:1.2;margin-top:0}

.admin-section-head.row{
align-items:flex-start}
.admin-head-action{
width:auto;min-width:0;flex:0 0 auto;padding:var(--space-md) var(--space-lg)}

.admin-edit-row{
display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xl);padding:var(--space-md) 0;border-bottom:1px solid var(--divider);cursor:pointer;min-width:0}
.admin-edit-row:last-child{
border-bottom:0}
.admin-edit-row:focus-visible{
outline:2px solid var(--blue);outline-offset:3px;border-radius:var(--radius-entry)}
.admin-edit-row>.entry-edit-btn{
align-self:flex-start;flex:0 0 auto;margin:0}
.admin-edit-row .form-management-copy,.admin-edit-row .staff-admin-copy,.managed-list-row-copy{
min-width:0;flex:1}

.standard-control-height{
min-height:var(--control-height);height:var(--control-height)}

.admin-two-column-settings{
display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:var(--space-lg);align-items:start}
.admin-two-column-settings>.field{margin:0}

.connection-status-row{
display:flex;flex-wrap:wrap;gap:var(--space-md)}
.connection-status-btn{
border:1px solid currentColor;border-radius:var(--radius-pill);padding:var(--space-md) var(--space-lg);font-weight:var(--weight-bold);cursor:pointer;background:var(--surface)}
.connection-status-btn.connected{
color:var(--success-text);background:var(--success-bg)}
.connection-status-btn.disconnected{
color:var(--danger-text);background:var(--danger-bg)}
.connections-details{
margin-top:var(--space-lg);border-top:1px solid var(--divider)}
.connection-detail{
padding:var(--space-xl) 0 var(--space-lg);border-bottom:1px solid var(--divider)}
.connection-detail:last-child{
border-bottom:0}
.connection-meta{
margin-top:var(--space-md)}
.integration-settings-grid{
display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);margin-top:var(--space-lg)}

.admin-modal .field{
margin:var(--space-md) 0}
.admin-modal .field>label{
margin-bottom:var(--space-sm)}
.admin-modal .field-instruction{
margin:-1px 0 var(--space-sm)}
textarea.admin-auto-grow{
min-height:var(--control-height);resize:none;overflow:hidden;line-height:1.35}
.staff-admin-list{display:grid;grid-template-columns:140px max-content minmax(0,1fr);align-items:center}
.staff-admin-list>.admin-edit-row{display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:center}
.staff-admin-copy{display:grid;grid-template-columns:subgrid;grid-column:1/3;align-items:center;column-gap:var(--space-lg)}
.staff-admin-name{grid-column:1}
.staff-role-badges{grid-column:2;display:inline-flex;gap:var(--space-sm);flex-wrap:wrap;align-items:center}
.staff-admin-list>.admin-edit-row>.entry-edit-btn{grid-column:3;justify-self:end;align-self:center}
.staff-role-badge{max-width:none}

.staff-admin-empty{margin:0}

@media(max-width:700px){
.admin-section-head .title{
font-size:var(--font-title)}
.consolidated-form-manager,.bulk-staff-modal{
width:100%;max-width:100%}
.section-title-row{
align-items:stretch;flex-direction:column}
.mini-actions{
justify-content:flex-start}
.staff-manager-grid{
gap:var(--space-md)}
.admin-two-column-settings{
grid-template-columns:repeat(2,minmax(0,1fr))}
.integration-settings-grid{
grid-template-columns:1fr}
.connections-head{
display:block}
.form-icon-description-row{
grid-template-columns:58px minmax(0,1fr)}
.form-icon-description-row .form-icon-preview{
width:58px;min-width:58px}
}

.section-heading-main{
align-items:center;gap:var(--space-md);flex:1;flex-wrap:wrap;display:block;min-width:0;}

.section-heading-main h2{
margin:0}
.section-summary-badges{
display:flex;align-items:center;min-width:0;flex-wrap:wrap;gap:var(--space-sm);}
.section-summary-badge{
display:inline-flex;align-items:center;max-width:170px;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);background:var(--arasure-green);border:1px solid var(--arasure-green-border);color:var(--arasure-green-text);box-shadow:0 0 0 2px var(--arasure-green-shadow) inset;font-size:var(--font-xs);font-weight:var(--weight-bold);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.section-summary-badge.is-muted{
background:var(--surface-muted);border-color:var(--border-strong);color:var(--text-secondary);box-shadow:none}
.section-heading-toggle[aria-expanded="true"] .section-summary-badges{
display:none}
.history-section-head{
padding-bottom:var(--space-lg);margin-bottom:var(--space-lg);border-bottom:1px solid var(--divider)}
.history-section-head .title{
font-size:var(--font-page-title)}
.managed-list-drag-placeholder{
border:1px dashed var(--border-strong);border-radius:var(--radius-control);background:var(--surface-muted);box-sizing:border-box}
.managed-list-drag-ghost{
position:fixed;z-index:var(--z-drag);pointer-events:none;background:var(--surface);box-shadow:var(--shadow-drag);border-radius:var(--radius-control);transform:scale(1.015);opacity:.98;transition:top .04s linear,left .04s linear,box-shadow var(--motion-fast) ease,transform var(--motion-fast) ease}
.managed-list-drag-ghost.is-settling{
transition:top .13s ease,left .13s ease,transform .13s ease,opacity .13s ease}
.managed-list-dragging{
user-select:none}
.managed-list-editor-row.is-dragging,.managed-list-editor-row.is-settling{
transform:none;box-shadow:none;opacity:1}

@media(max-width:700px){
.history-section-head .title{
font-size:var(--font-title)}
.section-summary-badge{
max-width:115px}
}

/* Canonical Form Management dialog tables. */

.lookup-page{
max-width:var(--app-content-width);margin:0 auto}
.lookup-grid{
display:grid;gap:var(--space-xl)}
.lookup-section{
margin:0}
.lookup-search-row{
display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-md);align-items:center;min-width:0}
.lookup-search-row>*{
min-width:0}
.lookup-search-row input{
width:100%;min-width:0;min-height:var(--control-height);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-control);font:inherit;background:var(--surface)}
.lookup-search-row>.btn{
width:auto;white-space:nowrap}
.lookup-results{
margin-top:var(--space-lg)}
.lookup-result-list{
display:grid;gap:var(--space-md)}
.lookup-client-result{
display:grid;min-width:0}
.lookup-result-card{
display:grid;gap:var(--space-xs);align-items:center;justify-content:stretch;justify-items:start;width:100%;padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:inherit;text-decoration:none;text-align:left;font:inherit;cursor:pointer}
.lookup-result-card:hover,.lookup-result-card:focus-visible{
border-color:#a8bdcf;background:var(--surface-subtle)}
.lookup-result-copy{
display:grid;gap:var(--space-xs);min-width:0;width:100%;justify-items:start;text-align:left}
.lookup-result-card b{
min-width:0;overflow-wrap:anywhere}
.lookup-result-card small{
color:var(--muted);font-size:var(--font-sm);overflow-wrap:anywhere}
.lookup-result-toggle{
grid-template-columns:minmax(0,1fr) auto}
.lookup-result-chevron{
font-size:var(--font-title);line-height:1;align-self:start}
.lookup-inline-record{
margin-top:0;min-width:0}
.lookup-inline-record[hidden]{
display:none}
.lookup-result-toggle[aria-expanded="true"]{
border-bottom-left-radius:0;border-bottom-right-radius:0}
.lookup-client-result .lookup-inline-record:not([hidden]) .lookup-record-body{
border-top:0;border-top-left-radius:0;border-top-right-radius:0}
.lookup-continuation{
padding-top:var(--space-lg)}
.lookup-range-note{
margin-top:var(--space-md)}
.lookup-record-body{
padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);overflow-wrap:anywhere}

@media(max-width:700px){
.lookup-search-row{
gap:var(--space-sm)}
}

/* Drafts: shared compact, touch-friendly form utility */
.drafts-card{
margin:0 0 var(--space-lg)}

.draft-list{
display:grid;gap:0;margin-top:var(--space-md)}

.draft-row{
display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) 0;border-top:1px solid var(--border)}

.draft-copy{
display:grid;gap:var(--space-xs);min-width:0}

.draft-copy strong{
overflow-wrap:anywhere}

.draft-actions{
display:flex;gap:var(--space-md);flex:0 0 auto}

@media(max-width:600px){
.draft-row{
align-items:flex-start;flex-direction:column}
.draft-actions{
width:100%}
.draft-actions .btn{
flex:1}
}

.draft-retention-control{
display:flex;align-items:center;gap:var(--space-md)}

.form-confirm-dialog .actions{
display:flex;flex-wrap:wrap;gap:var(--space-md)}
.form-confirm-dialog .actions .btn{
flex:1 1 auto}
.choice-dialog .actions .btn{
flex:1 1 0;min-width:0}
.form-confirm-dialog .destructive-btn{
background:var(--danger-text);color:#fff;border-color:var(--danger-text)}

@media(max-width:520px){
.form-confirm-dialog .actions{
flex-direction:column}
.form-confirm-dialog .actions .btn{
width:100%}
}

/* Compact sticky headers are independent from the standard modal header. */

/* Form-order handle sits close to the icon without touching it. */
.form-order-list .admin-edit-row{
column-gap:var(--space-md);align-items:center}
.form-order-list .admin-edit-row>.entry-edit-btn{align-self:center}

/* Compact form subsections. */
.subsection-heading{
margin-top:var(--space-md);margin-bottom:var(--space-md)}
.form-section details+details,.form-section .subsection-heading+*{
margin-top:0}

/* Collapsed summary title row and badges. */
.section-heading-title-row{
display:flex;align-items:center;gap:var(--space-xl);min-width:0;flex-wrap:nowrap}
.section-heading-title-row h2{
flex:0 1 auto;min-width:0;overflow-wrap:anywhere}
.section-heading-title-row .section-summary-badges{
min-width:0;flex:1 1 auto;overflow:hidden;flex-wrap:nowrap}
.section-heading-main>.section-description{
margin-top:var(--space-xs)}
.section-summary-more{
flex:0 0 auto}

/* Shared search clear control, independent of browser-native search decorations. */
.search-control{
position:relative;min-width:0;width:100%}
.search-control>input[type="search"]{
width:100%;padding-right:42px}
.search-clear{
position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--text-muted);font-size:var(--font-page-title);line-height:1;display:grid;place-items:center;cursor:pointer}
.search-clear:hover{
background:var(--surface-muted)}
.search-clear[hidden]{
display:none}
input[type="search"]::-webkit-search-cancel-button{
-webkit-appearance:none;appearance:none}

/* Lookup month control cannot overflow on mobile. */
.lookup-month-control{
position:relative;min-width:0;width:100%}
.lookup-month-display{
width:100%;max-width:100%;box-sizing:border-box;text-align:center;font-weight:var(--weight-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lookup-month-control:has(.lookup-month-reset:not([hidden])) .lookup-month-display{
padding-right:42px}
.lookup-month-reset{
z-index:1}
.lookup-run-controls{
grid-template-columns:minmax(150px,260px) minmax(0,1fr) auto}
.month-picker-list{
display:grid;gap:var(--space-md);margin-top:var(--space-lg)}
.month-picker-list .btn{
width:100%}

@media(max-width:700px){
.lookup-run-controls{
grid-template-columns:minmax(104px,.9fr) minmax(0,1fr) auto}
.lookup-month-control,.lookup-month-display{
max-width:100%;min-width:0}
}

/* Custom date-only calendar picker. */

/* ClearChoice grouping. */
.clearchoice-group+.clearchoice-group{
margin-top:var(--space-lg)}
.clearchoice-group .subsection-heading{
margin-bottom:var(--space-md)}

/* Admin settings actions appear only while dirty. */
.admin-change-actions[hidden]{
display:none}

/* One consistent Admin table system. */

/* Submission history defaults header now belongs inside the table. */

/* History theme palette: stable form-ID colors. Category tint only; submitted data is neutral. */
.history-theme-rose{
--history-accent:var(--palette-12-accent);--history-wash:var(--palette-12-wash);--history-border:var(--palette-12-border);--history-rgb:var(--palette-12-rgb)}
.history-theme-indigo{
--history-accent:var(--palette-13-accent);--history-wash:var(--palette-13-wash);--history-border:var(--palette-13-border);--history-rgb:var(--palette-13-rgb)}
.history-theme-lime{
--history-accent:var(--palette-14-accent);--history-wash:var(--palette-14-wash);--history-border:var(--palette-14-border);--history-rgb:var(--palette-14-rgb)}
.history-theme-cyan{
--history-accent:var(--palette-15-accent);--history-wash:var(--palette-15-wash);--history-border:var(--palette-15-border);--history-rgb:var(--palette-15-rgb)}
.history-theme-amber{
--history-accent:var(--palette-16-accent);--history-wash:var(--palette-16-wash);--history-border:var(--palette-16-border);--history-rgb:var(--palette-16-rgb)}
.history-theme-slate{
--history-accent:var(--palette-17-accent);--history-wash:var(--palette-17-wash);--history-border:var(--palette-17-border);--history-rgb:var(--palette-17-rgb)}

.history-form-group>summary{
background:rgba(var(--history-rgb),.08);border-color:rgba(var(--history-rgb),.25)}
.submission>summary{
background:rgba(var(--history-rgb),.06)}
.history-technical-title{
font-weight:var(--weight-normal);font-style:italic;}
.history-technical[open]>summary{
border-bottom:1px solid var(--divider)}

/* Lookup settings */
.admin-three-column-settings{
display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);align-items:start}
.admin-three-column-settings>.field{margin:0}
@media(max-width:700px){
.admin-three-column-settings{
grid-template-columns:1fr}
}

.quote-table-wrap input,.quote-table-wrap textarea{
border:1px solid var(--border);box-shadow:none;outline:none;background:var(--surface);min-height:42px;box-sizing:border-box;}
.quote-table-wrap textarea{
vertical-align:middle;padding-top:var(--space-md);padding-bottom:var(--space-md);}


.compact-context-header.is-visible{
transform:none;opacity:1;visibility:visible;}

.submitted-label-table-wrap{
--submitted-label-columns:36px minmax(100px,.8fr) minmax(120px,1.2fr) minmax(100px,.8fr) 36px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-control);overflow-x:auto;overscroll-behavior-x:contain;background:var(--surface);padding:0;margin-top:var(--space-md);}

/* Standard modal headers now share canonical spacing; compact sticky headers remain a deliberate variant. */

/* Form ordering: smaller but distinct handle/icon gap. */
.form-order-list [data-form-order-id]{
column-gap:var(--space-md)}
.form-order-list [data-form-order-id]{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;row-gap:0}
.form-order-list [data-form-order-id]>.entry-edit-btn{align-self:center;margin:0}

/* Quoted price notes span the whole data grid and all controls use the same light thin border. */
.quote-row .quote-note-input{
grid-column:1/4;width:100%;border:1px solid var(--border);border-radius:var(--radius-entry);box-shadow:none;min-height:var(--control-height);line-height:1.2;padding:var(--space-lg);align-self:center}

.quote-row .quote-item-input,.quote-row .money-input,.quote-row input,.quote-row textarea{
border:1px solid var(--border);border-radius:var(--radius-entry);box-shadow:none;outline:none}

/* Compact subsection rhythm. */
.form-section .subsection+.subsection{
margin-top:var(--space-md)}

.bulk-staff-table-wrap{
width:100%;overflow-x:auto;margin-top:var(--space-md)}

.admin-data-table,.bulk-staff-table{
width:100%;min-width:100%;max-width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);font-size:var(--font-caption)}

.admin-data-table th,.bulk-staff-table th{
background:var(--surface-muted);color:var(--text-secondary);font-size:var(--font-caption);font-weight:var(--weight-bold);line-height:1.2;vertical-align:middle;text-align:left;padding:var(--space-sm) var(--space-md);min-height:38px;border-bottom:1px solid var(--divider)}

.admin-data-table td,.bulk-staff-table td{
background:var(--surface);vertical-align:middle;padding:var(--space-sm) var(--space-md);height:var(--control-height-compact);border-bottom:1px solid var(--divider)}

.admin-data-table tbody tr:last-child>* ,.bulk-staff-table tbody tr:last-child>*{
border-bottom:0}

/* Cell fills follow the table's rounded outer border instead of painting square corners over it. */
.admin-data-table thead tr:first-child>*:first-child,.bulk-staff-table thead tr:first-child>*:first-child{border-top-left-radius:calc(var(--radius-control) - 1px)}
.admin-data-table thead tr:first-child>*:last-child,.bulk-staff-table thead tr:first-child>*:last-child{border-top-right-radius:calc(var(--radius-control) - 1px)}
.admin-data-table tbody tr:last-child>*:first-child,.bulk-staff-table tbody tr:last-child>*:first-child{border-bottom-left-radius:calc(var(--radius-control) - 1px)}
.admin-data-table tbody tr:last-child>*:last-child,.bulk-staff-table tbody tr:last-child>*:last-child{border-bottom-right-radius:calc(var(--radius-control) - 1px)}

.admin-data-table td:not(:first-child),.admin-data-table th:not(:first-child),.bulk-staff-table td:not(:first-child),.bulk-staff-table th:not(:first-child){
text-align:center}

.admin-data-table input,.admin-data-table select,.admin-data-table textarea,.bulk-staff-table input,.bulk-staff-table select,.bulk-staff-table textarea{
box-sizing:border-box}

.bulk-staff-modal{
width:min(920px,calc(100vw - 36px));max-width:920px;overflow-x:hidden}

.bulk-staff-table{
width:max-content;min-width:100%}

.bulk-staff-table th:first-child{
text-align:left;background:var(--surface);min-width:150px;max-width:210px;white-space:normal}

.bulk-staff-table thead th:first-child{
background:var(--surface-muted)}

.bulk-staff-table td{
min-width:58px;white-space:nowrap}
.bulk-staff-table thead th:not(:first-child){
min-width:58px;max-width:90px;white-space:normal;line-height:1.2}

.bulk-form-name{
display:flex;align-items:center;gap:var(--space-md);font-weight:var(--weight-normal);min-width:0}
.bulk-form-name>span:last-child{
white-space:normal;overflow-wrap:anywhere}

.evernote-access-table{overflow:visible}
.evernote-access-scroll{position:relative}
.evernote-access-table th:first-child{
min-width:160px;max-width:160px}
.evernote-access-table tbody th:first-child{
background:var(--surface);font-weight:var(--weight-semibold)}
.evernote-access-table thead th:first-child{
background:var(--surface-muted)}
.evernote-notebook-name,.evernote-notebook-stack{
display:block;text-align:left}
.evernote-notebook-stack{
font-size:var(--font-xs);font-weight:var(--weight-normal);color:var(--muted);margin-top:2px}

.submitted-label-row{
display:contents}

.submitted-label-head,.submitted-label-group{
display:grid;grid-template-columns:var(--submitted-label-columns);min-width:0}
.submitted-label-list{
display:block;min-width:0}
.submitted-label-group{
position:relative}

.submitted-label-head>*{
background:var(--surface-muted);color:var(--text-secondary);font-size:var(--font-caption);font-weight:var(--weight-bold);display:flex;align-items:center;min-height:38px;box-sizing:border-box;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--divider);vertical-align:middle}

.admin-table-cell{
box-sizing:border-box;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--divider);display:flex;align-items:center;min-height:var(--control-height-compact);min-width:0;background:var(--surface)}

.admin-table-cell-center{
justify-content:center}

.submitted-label-head>*,.admin-table-cell{
min-width:0;overflow-wrap:anywhere}

.admin-table-cell>input,.admin-table-cell>select,.admin-table-cell>textarea{
min-width:0;max-width:100%;white-space:normal}

.submitted-label-group:last-child .submitted-label-row:last-of-type>.admin-table-cell{
border-bottom:0}

.submitted-label-head>span:first-child,.submitted-label-row>.admin-table-cell:first-child{
position:sticky;left:0;z-index:3}

.submitted-label-head>span:nth-child(2),.submitted-label-row>.admin-table-cell:nth-child(2){
position:sticky;left:36px;z-index:2}

.submitted-label-head>span:first-child,.submitted-label-head>span:nth-child(2){
background:var(--surface-muted);z-index:4}

.submitted-label-row>.admin-table-cell:first-child,.submitted-label-row>.admin-table-cell:nth-child(2){
background:var(--surface)}

.form-staff-person{
min-width:0;display:block;white-space:normal;overflow-wrap:anywhere;}
.compact-checkbox{
display:flex;justify-content:center;}

.form-route-row input[type=checkbox]{
width:18px;height:18px;min-width:18px;margin:0}

.history-period-control{
display:grid;grid-template-columns:minmax(0,1fr) 68px;gap:var(--space-sm);min-width:0;max-width:100%;width:100%;}
.history-period-control>*{
min-width:0;max-width:100%}
.history-period-control input[hidden]{
display:none;}
.history-period-control:has(input[hidden]){
grid-template-columns:minmax(0,1fr);}

.admin-table-cell>textarea{
resize:none;overflow:hidden;max-height:none;padding-block:calc((var(--control-height-compact) - 1.2em - 2px)/2)}
.admin-table-cell>textarea.admin-auto-grow{
height:var(--control-height-compact);min-height:var(--control-height-compact)}
.submitted-label-identity{
max-width:none;min-width:0;display:flex;align-items:center;justify-content:flex-start;}
.submitted-label-row code{
font-size:inherit;font-weight:var(--weight-normal);white-space:normal;overflow-wrap:anywhere;}
.history-field-grip{
display:grid;place-items:center;align-self:stretch;width:100%;height:100%;min-height:var(--control-height-compact);background:transparent;border:0;border-radius:0}

.submitted-label-row>.admin-table-cell:nth-child(1){
grid-column:1;padding:0;background:var(--surface-muted);border-right:1px solid var(--divider)}
.submitted-label-row>.admin-table-cell:nth-child(2){
grid-column:2}
.submitted-label-row>.admin-table-cell:nth-child(3){
grid-column:3}
.submitted-label-row>.admin-table-cell:nth-child(4){
grid-column:4}
.submitted-label-row>.admin-table-cell:nth-child(5){
grid-column:5}

.history-section-grip,.history-section-grip-space{
grid-column:5;grid-row:1 / span var(--history-group-rows);width:100%;min-width:0;height:auto;margin:0;border:0;border-left:1px solid var(--divider);border-bottom:1px solid var(--divider);border-radius:0;background:var(--surface-muted);color:var(--text-muted);display:grid;place-items:center;align-self:stretch;box-sizing:border-box}
.history-section-grip-space{background:var(--surface-muted)}
.submitted-label-group:last-child>.history-section-grip,.submitted-label-group:last-child>.history-section-grip-space{
border-bottom:0}

.history-row-drag-placeholder{
grid-column:1 / 6;border:1px dashed var(--border-strong);background:var(--surface-muted);box-sizing:border-box}
.history-group-drag-placeholder{
width:100%;border:1px dashed var(--border-strong);background:var(--surface-muted);box-sizing:border-box}
.history-row-drag-ghost,.history-group-drag-ghost{
position:fixed;z-index:var(--z-drag);pointer-events:none;background:var(--surface);box-shadow:var(--shadow-drag);opacity:.98;transform:scale(1.01);transition:top .04s linear,left .04s linear,transform var(--motion-fast) ease,opacity var(--motion-fast) ease}
.history-row-drag-ghost{
display:grid}
.history-group-drag-ghost{
display:grid;grid-template-columns:var(--submitted-label-columns);overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-control)}
.history-row-drag-ghost.is-settling,.history-group-drag-ghost.is-settling{
transition:top .13s ease,left .13s ease,transform .13s ease,opacity .13s ease}

@media(max-width:700px){

 .submitted-label-head>span:nth-child(2),.submitted-label-row>.admin-table-cell:nth-child(2){
left:28px}

 .submitted-label-table-wrap{
--submitted-label-columns:28px minmax(62px,.8fr) minmax(76px,1.15fr) minmax(68px,.9fr) 28px}


 .submitted-label-head>*{
padding:var(--space-md)}

 .admin-table-cell{
min-height:0}


 .admin-data-table th,.admin-data-table td,.bulk-staff-table th,.bulk-staff-table td{
padding:var(--space-md)}

 .bulk-staff-table th:first-child{
min-width:124px;max-width:150px}
.bulk-staff-table td,.bulk-staff-table thead th:not(:first-child){
min-width:52px;max-width:72px}

}

/* Date-only mode uses the same shared picker; only time/Save are omitted by markup. */
.datetime-picker-modal.date-only-mode .datetime-picker-actions{
margin-top:var(--space-xxl)}

.calendar-arrow:disabled{
opacity:.35;cursor:not-allowed}

/* Compact header remains flush with the modal scrollport. */

.notification-device-row{
display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl)}
.notification-form-list{
display:grid;gap:var(--space-lg)}
.notification-settings-section{
margin:0}
.notification-enable{
display:inline-flex;align-items:center;gap:var(--space-md);font-weight:var(--weight-bold)}
.notification-enable input,.notification-recipient-choice input,.notification-field-choice input{
width:18px;height:18px;min-height:0;accent-color:var(--arasure-green-border)}
.notification-recipient-grid,.notification-field-grid{
display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md);margin-top:var(--space-md)}
.notification-recipient-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,104px),1fr))}
.notification-recipient-choice{justify-content:center;text-align:center}
.notification-field-choice{
display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--divider);border-radius:var(--radius-control);background:var(--surface)}
.notification-field-choice:has(input:disabled){
opacity:.45}

@media(max-width:600px){
.notification-device-row{
align-items:stretch;flex-direction:column}
.notification-device-row .btn{
width:100%}
.notification-recipient-grid,.notification-field-grid{
grid-template-columns:1fr}
}

.admin-subsection{
padding:var(--space-lg) 0 var(--space-md);border-top:1px solid var(--divider)}

.admin-section-head+.admin-subsection,.admin-collapse-body>.admin-subsection:first-child{border-top:0;padding-top:0}

.admin-subsection>.section-title-row{
margin:0 0 var(--space-md)}

.admin-subsection>.section-title-row+b,.admin-subsection>b:first-child{
display:block;margin-bottom:var(--space-md)}

.admin-subsection>.checks{
margin-top:0}

.admin-subsection>.checks+.field,.admin-subsection>.checks+.admin-two-column-settings,.admin-subsection>.checks+.admin-three-column-settings{
margin-top:var(--space-lg)}

.notification-device-row
/* ===== Disclosure and collapsible sections ===== */
.collapsible-section:has(>.section-heading-disclosure){
padding:var(--space-lg) var(--space-xxl)}

.section-heading-disclosure{
position:relative;display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-xs) 0;margin:0;border-bottom:0;min-height:var(--control-height-compact)}

.section-heading-disclosure .section-heading-main{
flex:1;min-width:0}

.section-heading-admin-disclosure h2{font-size:var(--font-body-lg);line-height:1.3;margin:0}
.section-heading-admin-disclosure .section-collapse-chevron{width:1em;height:1em;align-self:center}

.section-heading-disclosure .section-heading-title-row{
gap:var(--space-lg)}


.section-collapse-chevron{
flex:0 0 auto;display:inline-grid;place-items:center;width:1em;height:1em;font-size:1em;line-height:1;color:var(--text);font-style:normal;transition:transform var(--motion-normal) ease}

.section-heading-disclosure[aria-expanded="true"]{
padding-bottom:var(--space-lg);border-bottom:1px solid var(--divider)}

.section-heading-disclosure[aria-expanded="true"] .section-collapse-chevron{
transform:rotate(90deg)}

.collapsible-section:has(>.section-heading-disclosure) [data-collapse-body]:not([hidden]){
margin-top:var(--space-lg)}

.photo-processing-status{
display:block;width:100%;margin-top:var(--space-sm);color:var(--muted);font-size:var(--font-sm);font-weight:var(--weight-semibold);min-height:18px;}

.photo-processing-status.is-error{
color:var(--danger-text)}

@media(max-width:700px){
.collapsible-section:has(>.section-heading-disclosure){
padding:var(--space-lg)}
}

.history-submission-title{
font-weight:var(--weight-normal)}

.admin-modal.compact-context-active,.evernote-viewer-modal.compact-context-active{
padding-top:0}

.admin-modal.compact-context-active>.compact-context-header,.evernote-viewer-modal.compact-context-active>.compact-context-header{
margin-top:0;margin-left:calc(-1 * var(--modal-padding));margin-right:calc(-1 * var(--modal-padding));margin-bottom:-34px}

.section-chevron,.section-collapse-chevron,.subsection-chevron,.calendar-chevron{
color:var(--text);font-size:1em;font-style:normal;line-height:1;font-weight:inherit}

.history-form-group-toggle .section-chevron,.submission summary>.section-chevron,.history-technical>summary .section-chevron{
color:var(--text)}

.history-section,.history-technical,.submission,.history-form-group-toggle,.lookup-result-card,.lookup-record-body,.admin-data-table,.bulk-staff-table,.history-default-table,.form-staff-access-table-wrap,.submitted-label-table-wrap,.photo-form-profile-table{
border-radius:var(--radius-control)}

.field input,.field textarea,.field select,.admin-table-cell>input,.admin-table-cell>select,.admin-table-cell>textarea,.lookup-search-row input{
border-radius:var(--radius-entry)}

.btn,.tab,.entry-edit-btn,.entry-remove-btn,.managed-list-row-actions .btn,.icon-btn-danger-soft{
border-radius:var(--radius-control)}

.badge,.name-chip,.pill,.section-summary-badge,.toggle-track,.connection-status-btn{
border-radius:var(--radius-pill)}

/* ===== Photos: upload and compression ===== */
.photo-upload-box>.photo-picker-actions{
justify-self:stretch}

.photo-picker-actions .file-picker-btn{
margin:0;display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:var(--control-height);padding-top:var(--space-lg);padding-bottom:var(--space-lg);line-height:1.2}

@media(max-width:600px){
.photo-picker-actions .file-picker-btn{
flex:1 1 120px}
.photo-file-card{
grid-template-columns:60px minmax(0,1fr) 40px}
.photo-file-thumb{
width:60px;height:60px}
}

/* Shared utility styles keep repeated layout behaviour out of generated markup. */
/* Canonical button content alignment: neutral/action controls centre content unless their layout is intentionally split. */

/* Shared spacing utilities replacing old inline layout fragments. */
.login-message{
margin-top:var(--space-lg)}

.landing-greeting-card{
margin-bottom:var(--space-lg)}

.viewer-divider{
margin:var(--space-xl) 0;border:0;border-top:1px solid var(--divider)}

.evernote-result-card{
margin-top:var(--space-xl)}

.evernote-record-body{
margin-top:var(--space-xl);font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.evernote-record-body p,.evernote-record-body div{margin-block:0.45em}
.evernote-record-body table{border-collapse:collapse;max-width:100%;margin:0.45em 0}
.evernote-record-body td,.evernote-record-body th{vertical-align:top;padding:8px;border:1px solid var(--divider)}
.evernote-record-body ul,.evernote-record-body ol{padding-left:1.5rem}
.evernote-record-body .evernote-record-media{margin:0}
.evernote-record-body .evernote-record-media img{max-width:100%;height:auto;display:block;border-radius:4px}
.evernote-record-body a{overflow-wrap:anywhere}

/* Admin tables share one typography rhythm so data remains visually consistent. */
.history-default-table,.form-staff-access-table-wrap,.submitted-label-table-wrap,.photo-form-profile-table,.admin-data-table,.bulk-staff-table{
font-size:var(--font-body);font-weight:var(--weight-normal)}

.admin-table-cell,.admin-data-table td,.bulk-staff-table td,.admin-data-table td b,.bulk-staff-table td b{
font-weight:var(--weight-normal)}

.form-staff-person small{
display:inline;font-size:var(--font-xs);font-weight:var(--weight-normal);color:var(--text-muted)}

@media(max-width:700px){

 .history-default-table,.form-staff-access-table-wrap,.submitted-label-table-wrap,.photo-form-profile-table,.admin-data-table,.bulk-staff-table{
font-size:var(--font-sm)}

 .history-default-head>*,.form-staff-access-head>*,.submitted-label-head>*,.photo-form-profile-head>*,.admin-table-cell,.admin-table-cell>input,.admin-table-cell>select,.admin-table-cell>textarea,.admin-table-cell .history-period-control>input,.admin-table-cell .history-period-control>select,.admin-data-table th,.admin-data-table td,.bulk-staff-table th,.bulk-staff-table td{
font-size:inherit}

 .history-period-control{
grid-template-columns:minmax(0,1fr) 54px;gap:var(--space-xs)}

}

/* Device-local storage management */
.device-storage-row{
display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);padding:var(--space-lg) 0;border-top:1px solid var(--divider)}

.device-storage-row:first-child{
border-top:0}
.device-storage-row>div{
min-width:0}
.device-storage-row .btn{
flex:0 0 auto}
.device-storage-info{
padding-right:var(--space-md)}

.device-storage-details{
border-top:1px solid var(--divider);padding:var(--space-lg) 0}
.device-storage-details summary{
cursor:pointer;font-weight:var(--weight-semibold)}

.device-cache-meta{
display:grid;gap:var(--space-md);margin-top:var(--space-lg)}
.device-cache-meta-row{
display:grid;gap:var(--space-xs);padding:var(--space-md);border:1px solid var(--divider);border-radius:var(--radius-control);background:var(--surface-subtle)}
.device-cache-meta-row small{
color:var(--muted);overflow-wrap:anywhere}

@media(max-width:600px){
.device-storage-row .btn{
width:auto;max-width:44%}
}

@keyframes activity-pulse{
0%,100%{
opacity:1}
50%{
opacity:.45}
}

.is-processing-pulse{
animation:activity-pulse 1s ease-in-out infinite}

@media(prefers-reduced-motion:reduce){
.is-processing-pulse{
animation:none}
}

/* Admin quick navigation and related management controls */
.admin-jump-bar{position:sticky;top:var(--admin-jump-top,54px);z-index:var(--z-sticky);width:100%;max-width:100%;box-sizing:border-box;isolation:isolate;padding:var(--space-sm) 0;background:var(--page-bg,#f5f7fb);margin-bottom:var(--space-lg)}
.admin-jump-surface{position:relative;display:flex;align-items:center;width:100%;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--card);box-shadow:var(--shadow-surface);padding:0 var(--space-xl);color:var(--text)}
.admin-jump-label{font-weight:var(--weight-bold);pointer-events:none}
.admin-jump-chevron{margin-left:auto;width:1em;height:1em;flex:0 0 1em;display:block;pointer-events:none}
.admin-jump-surface select{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;font-weight:var(--weight-normal)}
.admin-jump-surface:focus-within{outline:2px solid var(--blue);outline-offset:3px}
.admin-section-action{display:flex;justify-content:flex-start;margin:0;padding:var(--space-md) 0}
.admin-action-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-md);margin:0;padding:var(--space-md) 0}
.admin-collapse-body>.admin-section-action:first-child{padding-top:0}
.admin-subsection>.admin-action-row:last-child{padding-bottom:0}
.admin-subsection>.field:last-child{margin-bottom:0}
.fixed-recipient-editor{padding:var(--space-md) 0 var(--space-lg) var(--space-lg)}
.fixed-recipient-editor[hidden]{display:none}
.fixed-recipient-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm);align-items:center;margin-bottom:var(--space-sm)}
.account-email-row{align-items:flex-start}

/* Admin major-section disclosure uses the shared chevron language; the body owns collapse state. */
.admin-collapsible-head{position:relative;cursor:pointer;padding-right:calc(1em + var(--space-lg))}
.admin-collapsible-head>.admin-section-chevron{position:absolute;right:0;top:calc(var(--font-page-title) * .6);width:1em;height:1em;display:grid;place-items:center;transform:translateY(-50%);transition:transform var(--motion-normal) ease}
.admin-collapsible-head>.admin-section-chevron>.section-collapse-chevron{width:1em;height:1em;display:block}
.admin-collapsible-head[aria-expanded="true"]>.admin-section-chevron{transform:translateY(-50%) rotate(90deg)}
.admin-collapse-body[hidden]{display:none}
.admin-section-collapsed>.admin-section-head{margin-bottom:0}
.connections-section>.connection-status-row{margin-top:var(--space-lg)}

/* Admin modal field rows use an explicit rhythm independent of grid formatting context. */
.admin-modal .staff-manager-grid{column-gap:var(--space-lg);row-gap:0;margin:var(--space-md) 0}
.admin-modal .staff-manager-grid>.field{margin:0}
@media(max-width:700px){.admin-modal .staff-manager-grid{column-gap:var(--space-md)}}

/* One-line textareas start at the standard control height and grow only for overflowing content. */
#mainform textarea.one-line-textarea,
#mainform textarea.auto-grow{
  min-height:var(--control-height);
  height:var(--control-height);
  box-sizing:border-box;
  resize:none;
  overflow-y:hidden;
}

/* More options is a continuation of its pill list, not a nested subsection heading. */
#mainform .more-options>summary.subsection-heading-action{
  background:transparent;
  border:1px solid var(--border);
  border-radius:var(--radius-pill);
  color:var(--text-secondary);
  font-size:var(--font-body-lg);
  font-weight:var(--weight-medium);
}

/* Forms with several pill groups use one responsive column system across every group. */
#mainform.multi-pill-form .checks:has(.pill){
  grid-template-columns:repeat(6,minmax(0,1fr));
}
@media(max-width:700px){
  #mainform.multi-pill-form .checks:has(.pill){grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:360px){
  #mainform.multi-pill-form .checks:has(.pill){grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* A form with only one pill group keeps the existing fill behaviour, capped at a useful width. */
#mainform.single-pill-form .checks:has(.pill){
  grid-template-columns:repeat(auto-fit,minmax(min(100%,104px),1fr));
}
#mainform.single-pill-form .checks:has(.pill)>.pill{max-width:220px;width:100%}

/* Admin collapse indicator tracks the exact major-section heading size. */
.admin-collapsible-head>.admin-section-chevron{font-size:var(--font-page-title)}
@media(max-width:700px){.admin-collapsible-head>.admin-section-chevron{font-size:var(--font-title)}}

/* More options continues a pill list: use the same gap as the pill grid and no subsection shading. */
#mainform .more-options{margin-top:var(--space-md)}
#mainform .more-options>summary.subsection-heading{
  margin:0;
  border:1px solid var(--border);
  border-radius:var(--radius-control);
  background:transparent;
  color:var(--text-secondary);
  font-size:var(--font-body-lg);
  font-weight:var(--weight-medium);
}
#mainform .more-options[open]>.checks,
#mainform .more-options[open]>div>.checks{margin-top:var(--space-md)}

@media(max-width:700px){.admin-collapsible-head>.admin-section-chevron{top:calc(var(--font-title) * .6)}}


/* Canonical Arasure checkbox: stable across active/inactive OS window states. */
input[type="checkbox"]:not(.pill input):not(.toggle-control input):not(.collapse-toggle-input){
  appearance:none;-webkit-appearance:none;box-sizing:border-box;
  width:18px;height:18px;min-width:18px;min-height:18px;margin:0;
  border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);
  display:inline-grid;place-content:center;vertical-align:middle;flex:0 0 18px;
}
input[type="checkbox"]:not(.pill input):not(.toggle-control input):not(.collapse-toggle-input)::before{
  content:"";width:9px;height:5px;border-left:2px solid white;border-bottom:2px solid white;
  transform:translateY(-1px) rotate(-45deg) scale(0);transform-origin:center;
}
input[type="checkbox"]:not(.pill input):not(.toggle-control input):not(.collapse-toggle-input):checked{background:var(--blue);border-color:var(--blue)}
input[type="checkbox"]:not(.pill input):not(.toggle-control input):not(.collapse-toggle-input):checked::before{transform:translateY(-1px) rotate(-45deg) scale(1)}
input[type="checkbox"]:not(.pill input):not(.toggle-control input):not(.collapse-toggle-input):focus-visible{outline:2px solid rgba(21,94,239,.18);outline-offset:2px}
input[type="checkbox"]:not(.pill input):not(.toggle-control input):not(.collapse-toggle-input):disabled{opacity:.45;cursor:not-allowed}


/* v0.3.178: submitted nested labels reuse the canonical submitted-field grid. */
.submitted-nested-rows{display:contents}
.submitted-nested-rows[hidden]{display:none}
.submitted-nested-label-row>.admin-table-cell:first-child{background:var(--surface-muted);border-right:1px solid var(--divider)}
.submitted-nested-label-row>.admin-table-cell:nth-child(2),.submitted-nested-label-row>.admin-table-cell:nth-child(3){padding-left:calc(var(--space-md) + var(--space-md))}
.submitted-nested-toggle{display:inline-grid;place-items:center;flex:0 0 auto;width:1em;height:1em;padding:0;margin:0 var(--space-xs) 0 0;border:0;background:transparent;color:inherit;font:inherit;line-height:1;cursor:pointer}
.submitted-nested-toggle .canonical-chevron{font-size:1em;line-height:1;transform:rotate(0deg);transition:transform var(--motion-normal) ease}
.submitted-nested-toggle[aria-expanded="true"] .canonical-chevron{transform:rotate(90deg)}

/* Structured/repeating history values: fields stay together; only instances receive the shared small gap. */
.history-value-lines{gap:var(--space-sm)}
.history-structured{gap:0}
.history-nested-field{display:flex;align-items:baseline;gap:var(--space-xs);min-width:0}
.history-nested-field>b{flex:0 0 auto}
.history-nested-value{min-width:0}

.admin-collapse-body>.admin-change-actions{margin-top:var(--space-lg)}

@media(max-width:600px){.staff-admin-list{grid-template-columns:120px max-content minmax(0,1fr)}.staff-admin-list>.admin-edit-row,.staff-admin-copy{display:grid}.staff-admin-copy{grid-template-columns:subgrid}.staff-role-badges{margin-top:0}.staff-admin-list>.admin-edit-row>.entry-edit-btn{margin-left:0}}


/* Admin terminal rhythm: the renderer marks the actual visible bottom chain for each Admin card.
   Only terminal items lose trailing margin; normal between-item spacing is unchanged. Layout containers
   whose bottom padding exists only as trailing section rhythm also yield that padding to the card. */
.admin-terminal-item{margin-bottom:0}
.admin-terminal-item.admin-subsection,
.admin-terminal-item.connection-detail,
.admin-terminal-item.admin-edit-row,
.admin-terminal-item.device-storage-row,
.admin-terminal-item.device-storage-details,
.admin-terminal-item.switch{padding-bottom:0;border-bottom:0}

/* v0.3.185 temporary Admin layout diagnostics; remove after spacing investigation. */

.route-presentation{margin:0 var(--space-md) var(--space-lg);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface)}
.route-presentation[hidden]{display:none}
.route-presentation>.field:first-child{margin-top:0}
.route-option-row{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap;margin:var(--space-md) 0}
.branding-preview{display:flex;gap:var(--space-lg);align-items:center;flex-wrap:wrap}
.branding-preview img{display:block;max-width:180px;max-height:80px;object-fit:contain;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);padding:var(--space-sm)}
.branding-preview .app-icon-preview{width:64px;height:64px;object-fit:contain}

/* v0.3.204 canonical Admin boundary/layout refinements */
.admin-collapse-body{padding-top:var(--space-lg)}
.connections-section .admin-collapse-body .connection-detail:first-child{padding-top:0}
.admin-collapse-body>:first-child{margin-top:0}
.branding-asset-row{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}
.branding-image-preview{width:52px;height:52px;border:1px solid var(--border);border-radius:var(--radius-control);display:grid;place-items:center;overflow:hidden;background:var(--surface-muted);font-size:var(--font-caption);color:var(--muted);flex:0 0 auto}
.branding-image-preview img{width:100%;height:100%;object-fit:contain}
input[type=file]::file-selector-button{min-height:var(--control-height);padding:var(--space-md) var(--space-lg);font:inherit;font-weight:var(--weight-bold);line-height:1.2;text-align:center;vertical-align:middle}
.pending-submissions-card{margin-bottom:var(--space-lg)}
.important-banner{margin-top:var(--space-md);cursor:pointer}

/* v0.3.206 Admin boundaries are container-owned, never first/last-cell-owned. */
.history-submission-title+.badge{margin-left:var(--space-sm);vertical-align:middle}

/* Evernote viewer: preserve note formatting while keeping Arasure's font. */

/* Evernote viewer formatting and full-resolution image viewer. */

/* Evernote viewer formatting and full-resolution image viewer. */

/* Evernote viewer image interaction. The viewer uses the already-cached device image. */
.evernote-record-body,.evernote-record-body *{font-family:inherit}
.evernote-record-body table{max-width:100%;border-collapse:collapse}
.evernote-record-body img[data-evernote-image]{cursor:zoom-in;max-width:100%;height:auto}
.evernote-image-viewer{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.94);display:flex;flex-direction:column}
.evernote-image-toolbar{display:flex;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);flex:0 0 auto}
.evernote-image-stage{flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;overscroll-behavior:contain;will-change:transform,opacity}
.evernote-image-stage img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center center;will-change:transform;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.evernote-image-stage img.is-animating{transition:transform 180ms ease-out}

/* Evernote viewer: shared by Admin, Lookup and Calendar. */
.evernote-pdf-media{width:100%;max-width:100%;margin:.5rem 0}
.evernote-pdf-media iframe{display:block;width:100%;height:min(62vh,620px);min-height:360px;border:1px solid var(--divider);border-radius:6px;background:#fff}
.evernote-pdf-actions{display:flex;gap:.5rem;margin-top:.5rem;align-items:center}
.evernote-pdf-viewer{position:fixed;inset:0;z-index:10050;background:var(--bg,#fff);display:flex;flex-direction:column}
.evernote-pdf-viewer iframe{flex:1;width:100%;border:0;background:#fff}
@media(max-width:600px){.evernote-pdf-media iframe{height:55vh;min-height:300px}}
.evernote-record-body iframe[data-evernote-pdf]{display:block;width:100%;height:min(62vh,620px);min-height:360px;border:1px solid var(--divider);border-radius:6px;background:#fff}
.evernote-record-body [data-evernote-pdf-open],.evernote-record-body [data-evernote-pdf-share]{margin:.5rem .5rem 0 0}
@media(max-width:600px){.evernote-record-body iframe[data-evernote-pdf]{height:55vh;min-height:300px}}

/* Calendar detail cards use the shared compact context header; the full header (including date) scrolls away. */
.calendar-detail-modal>.compact-context-header{margin-top:0;margin-left:calc(-1 * var(--space-lg));margin-right:calc(-1 * var(--space-lg));margin-bottom:-34px;}
.calendar-detail-modal.compact-context-active{padding-top:0;}

/* v0.3.258 Admin structural consolidation: shared geometry, feature-specific behaviour only. */
:root{--admin-compact-field-width:110px}

/* Management rows share one visual rhythm; feature classes retain their behavioural hooks. */
.admin-edit-row,.admin-management-row{
  min-width:0;padding:var(--space-md) 0;border-bottom:1px solid var(--divider);
}
.admin-management-row{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);
}
.admin-collapse-body>.admin-management-row:first-child{padding-top:0}
.admin-collapse-body>.admin-management-row:last-child{border-bottom:0}

/* Generated bodies are JS render targets, not independent section-spacing containers. */
#deviceStorageBody{margin:0;padding:0}
.device-storage-row{border-top:0}

/* Compact Admin values use one canonical width. Slim Admin appearance is width-independent. */
.admin-compact-field{
  width:var(--admin-compact-field-width);max-width:100%;flex:0 0 var(--admin-compact-field-width)
}
@media(max-width:700px){:root{--admin-compact-field-width:88px}}
.admin-compact-field-container,.photo-retention-field{width:var(--admin-compact-field-width);max-width:100%}
.admin-two-column-settings{grid-template-columns:repeat(2,var(--admin-compact-field-width))}
.admin-three-column-settings{grid-template-columns:repeat(3,var(--admin-compact-field-width))}

/* Canonical Admin button variants. Semantic colours do not change geometry. */
.compact-admin-btn,.mini-actions .btn{
  min-height:var(--control-height-compact);height:var(--control-height-compact);padding:var(--space-sm) var(--space-md);font-size:var(--font-body)
}
.entry-edit-btn,.entry-remove-btn,.managed-list-row-actions .btn,.icon-btn-danger-soft{
  width:var(--control-height-compact);min-width:var(--control-height-compact);height:var(--control-height-compact);min-height:var(--control-height-compact);padding:0
}

/* Branding is one responsive settings grid, using the same field and button primitives. */
.branding-settings-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,440px));grid-template-areas:"business app" "logo icon";
  gap:var(--space-xl) var(--space-xxl);align-items:start
}
.branding-settings-grid>.field{margin:0}
.branding-business-name{grid-area:business}.branding-app-name{grid-area:app}.branding-logo-field{grid-area:logo}.branding-icon-field{grid-area:icon}
.branding-asset-row{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}
.branding-helper{margin-top:var(--space-lg)}
.icon-upload-button{margin:0}
@media(max-width:700px){
  .branding-settings-grid{grid-template-columns:1fr;grid-template-areas:"business" "logo" "app" "icon";gap:var(--space-lg)}
  .admin-two-column-settings,.admin-three-column-settings{grid-template-columns:1fr}
  .admin-two-column-settings.admin-compact-settings-grid,.admin-three-column-settings.admin-compact-settings-grid{grid-template-columns:repeat(2,minmax(0,var(--admin-compact-field-width)))}
}
@media(max-width:420px){.admin-two-column-settings.admin-compact-settings-grid,.admin-three-column-settings.admin-compact-settings-grid{grid-template-columns:repeat(2,minmax(0,var(--admin-compact-field-width)));max-width:calc(var(--admin-compact-field-width) * 2 + var(--space-lg))}}

/* v0.3.259 Admin compactness: container rhythm, not button geometry. */
.connection-detail>.row>.badge{flex:0 0 auto;width:auto;max-width:max-content}
.connection-detail>.admin-action-row,.connection-detail>.admin-subsection{margin-top:var(--space-lg)}
.connection-detail>.admin-subsection:last-child{padding-bottom:0}
.admin-subsection>.admin-action-row{margin-top:var(--space-lg)}
/* A group heading owns the inter-group gap; the first row below yields its top padding. */
.subheading + .staff-admin-list > .admin-edit-row:first-child{padding-top:0}

/* v0.3.263: neutral disclosure control aligned to inspection option grid. */
.inspection-more-staff .inspection-more-arrow{font-size:.9em;line-height:1;flex:0 0 auto}
.inspection-more-staff[aria-expanded="true"] .inspection-more-arrow{transform:rotate(180deg)}
@media(max-width:600px){.inspection-more-staff.option-grid-control{font-size:var(--font-copy)}}

/* Match the all-day -> timed transition to the normal timed-event gap. */
.calendar-all-day-list{margin-bottom:var(--space-lg)}
/* The inspection disclosure uses neutral control styling while retaining option-grid geometry. */
.inspection-more-staff.option-grid-control{
  width:100%;min-width:0;min-height:var(--control-height);margin:0;padding:var(--space-md);
  display:flex;align-items:center;justify-content:center;gap:var(--space-sm);
  background:var(--surface-muted);color:var(--text-secondary);border:1px solid var(--border);
  border-radius:var(--radius-control);box-shadow:none;font-size:var(--font-body-lg);font-weight:var(--weight-bold);line-height:1.2;
}

/* v0.3.264: selectors retain selector surfaces beside pills; quote prices use standard input geometry. */
.notcleaned-reason-control select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:none}
.quote-price-cell .money-input{border:0;background:transparent;padding:0}
.quote-price-cell .money-input input{text-align:right;border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:none}
#moneyCalendarJobs .calendar-job-choice:not(:has(small)):not(:has(.calendar-time)){min-height:var(--control-height);padding-top:var(--space-md);padding-bottom:var(--space-md)}

/* Calendar day swipe uses the shared horizontal swipe engine on appointments only. */
#workCalendarSwipeArea,.form-calendar-swipe-area{overflow-x:hidden}

/* v0.3.276: shared reference-event and inactive-staff disclosure presentation. */
.calendar-job-choice.calendar-reference-event .calendar-client-line,
.calendar-job-choice.calendar-reference-event .calendar-client{font-weight:400;font-style:italic}
.staff-inactive-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin:var(--space-lg) 0 0;padding:var(--space-lg) 0 var(--space-md);border:0;border-bottom:1px solid var(--divider);background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit;font-weight:var(--weight-heavy)}
.staff-inactive-toggle .section-collapse-chevron{flex:0 0 auto;transition:transform 160ms ease}
.staff-inactive-toggle[aria-expanded="true"] .section-collapse-chevron{transform:rotate(90deg)}
.staff-inactive-body{padding-top:var(--space-md)}

/* Admin option-pill groups reuse the form multi-pill grid so sibling groups share one width system. */
#modal .route-presentation .checks:has(.pill){grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:700px){#modal .route-presentation .checks:has(.pill){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:360px){#modal .route-presentation .checks:has(.pill){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Branding contact details use the existing responsive field/grid tokens. */
.branding-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,440px));gap:var(--space-xl) var(--space-xxl);margin-top:var(--space-xl);align-items:start}
.branding-details-grid>.field{margin:0}
@media(max-width:700px){.branding-details-grid{grid-template-columns:1fr;gap:var(--space-lg)}}

/* v0.3.280: conditional section content must not reserve bottom space when hidden/empty. */
.form-section > :not([hidden]):not(:has(~ :not([hidden]))){margin-bottom:0}
.photo-processing-status:empty{display:none}

/* Photo Shrink uses the same full-width action surface as other forms.
   Only the inner desktop group shrink-wraps: Evernote keeps its normal button width,
   while Share + the standard gap + Cancel fill that same width. */
.photo-shrink-actions{width:100%}
.photo-shrink-action-group{display:grid;grid-template-columns:max-content;width:max-content}
.photo-shrink-action-group:has(.photo-shrink-evernote:not([hidden])){row-gap:var(--space-lg)}
.photo-shrink-evernote-row{display:flex}
/* Keep the hidden desktop Evernote button's intrinsic width available to the grid so
   Share + gap + Cancel retain exactly the same combined width in both states. */
.photo-shrink-evernote[hidden]{display:flex;visibility:hidden;height:0;min-height:0;padding-top:0;padding-bottom:0;border-top-width:0;border-bottom-width:0;overflow:hidden}
.photo-shrink-lower{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-lg);width:100%}
.photo-shrink-lower .btn{width:100%;min-width:0;padding-left:0;padding-right:0}
@media(max-width:600px){
.photo-shrink-action-group{grid-template-columns:minmax(0,1fr);width:100%;row-gap:var(--space-lg)}
.photo-shrink-evernote-row:has(.photo-shrink-evernote[hidden]){display:none}
.photo-shrink-evernote-row,.photo-shrink-lower{width:100%}
.photo-shrink-evernote{width:100%}
.photo-shrink-evernote[hidden]{display:none}
.photo-shrink-lower .btn{padding-left:var(--space-lg);padding-right:var(--space-lg)}
}


/* Google Places address suggestions */
.place-address-field{position:relative}
.place-suggestions{position:absolute;left:0;right:0;top:100%;z-index:30;margin-top:4px;border:1px solid var(--border,#d6dde8);border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.14);overflow:hidden}
.place-suggestion{display:block;width:100%;border:0;border-bottom:1px solid var(--border,#e2e8f0);background:#fff;padding:10px 12px;text-align:left;font:inherit;color:inherit;cursor:pointer}
.place-suggestion:last-child{border-bottom:0}
.place-suggestion:hover,.place-suggestion:focus{background:#f3f6fa;outline:none}


/* Long Settings dialogs keep their final Save/Cancel row visible while the modal itself scrolls. */
.admin-modal.has-sticky-bottom-actions>.admin-dialog-bottom-actions{
position:sticky;bottom:calc(-1 * var(--modal-padding));z-index:var(--z-sticky);margin-left:calc(-1 * var(--modal-padding));margin-right:calc(-1 * var(--modal-padding));margin-bottom:calc(-1 * var(--modal-padding));padding:var(--space-lg) var(--modal-padding) var(--modal-padding);background:var(--card)
}

/* v0.3.306 Settings consolidation */
.admin-subdisclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);list-style:none}
.admin-subdisclosure>summary::-webkit-details-marker{display:none}
.admin-subdisclosure>summary .admin-section-chevron{margin-left:auto;flex:0 0 auto}
.admin-subdisclosure[open]>summary .admin-section-chevron{transform:rotate(90deg)}
.history-show-more{display:flex;justify-content:center;padding-top:var(--space-lg)}
@media(max-width:600px){.admin-section input[type="number"]{-moz-appearance:textfield;appearance:textfield}.admin-section input[type="number"]::-webkit-inner-spin-button,.admin-section input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}}

/* v0.3.307 targeted Settings, delivery queue and Evernote viewer refinements */
.delivery-queue-description{min-width:0;overflow-wrap:anywhere}
.delivery-queue-controls{display:flex;align-items:center;gap:var(--space-sm);flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end;min-width:max-content}
.delivery-queue-actions{display:inline-flex;align-items:center;gap:var(--space-sm);flex-wrap:nowrap}
.lookup-calendar-display-results{margin-top:var(--space-lg)}
@media(max-width:600px){
.delivery-queue-row{align-items:flex-start;flex-wrap:wrap}
.delivery-queue-description{flex:1 1 100%}
.delivery-queue-controls{flex:1 1 100%;min-width:0;max-width:100%;flex-wrap:wrap;justify-content:flex-end}
}
.evernote-record-body{max-width:100%;min-width:0;overflow-wrap:anywhere}
.evernote-record-body .evernote-table-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;touch-action:pan-x pan-y;margin-block:var(--space-sm)}
.evernote-record-body .evernote-table-scroll table{width:max-content;max-width:none;min-width:100%;border-collapse:collapse}
.evernote-record-body .evernote-table-scroll td,.evernote-record-body .evernote-table-scroll th{white-space:normal;overflow-wrap:anywhere;word-break:normal;max-width:min(70vw,420px)}
.history-nested-field-grip{display:inline-flex}
@media(max-width:600px){
.admin-modal input[type="number"]{-moz-appearance:textfield;appearance:textfield}
.admin-modal input[type="number"]::-webkit-inner-spin-button,.admin-modal input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
}


/* v0.3.351: consolidated Settings table system.
   Scroll wrappers own overflow; shared table context owns compact control typography,
   numeric alignment and responsive sticky-first-column behaviour. */
.settings-table-scroll,.admin-table-scroll{
  position:relative;width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;
  overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;margin-top:var(--space-md)
}

/* Scrolling sticky-first tables keep the outer frame on the stationary scroll viewport. */
.admin-table-scroll:has(> .sticky-first-column),.settings-table-scroll:has(> .sticky-first-column){
  border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface)
}
.admin-table-scroll> .sticky-first-column,.settings-table-scroll> .sticky-first-column{
  border:0;border-radius:0
}

/* Grid-backed Settings tables share the same visual primitives as real tables. */

/* Slim Settings controls share appearance only; width is owned by compact-value or layout classes. */
.admin-section .admin-slim-field,.admin-modal .admin-slim-field{
  box-sizing:border-box;height:var(--control-height-compact);min-height:var(--control-height-compact);max-height:var(--control-height-compact);
  margin:0;padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-entry);
  background:var(--surface);color:var(--text);box-shadow:none;outline:none;font:inherit;line-height:1.2
}
.admin-section input.admin-slim-field[type="number"],.admin-modal input.admin-slim-field[type="number"]{text-align:right;padding-right:var(--space-md)}
@media(min-width:601px){.admin-section input.admin-slim-field[type="number"]::-webkit-inner-spin-button,.admin-modal input.admin-slim-field[type="number"]::-webkit-inner-spin-button{margin-left:var(--space-sm)}}
/* Settings table context owns table typography for cell text and controls. */
.admin-section .admin-table-cell{font-size:var(--font-caption)}
.admin-section .admin-table-cell>input,.admin-section .admin-table-cell>select,.admin-section .admin-table-cell>textarea{font-size:inherit}

/* Real Settings data tables: feature classes define content only, not control appearance. */
.settings-compact-table,.device-storage-table,.server-media-table{width:100%;min-width:100%;table-layout:auto}
.device-storage-table td,.server-media-table td{font-size:var(--font-caption);font-weight:var(--weight-normal)}
.device-storage-table .muted,.server-media-table .muted{font-size:var(--font-xs)}
.device-storage-table th:nth-child(2),.device-storage-table td:nth-child(2),
.server-media-table th:nth-child(2),.server-media-table td:nth-child(2),
.server-media-table th:nth-child(3),.server-media-table td:nth-child(3){width:1%;white-space:normal}
.device-storage-table th:last-child,.device-storage-table td:last-child,
.server-media-table th:last-child,.server-media-table td:last-child{width:1%;white-space:nowrap;text-align:center}
.device-storage-table td[colspan]{text-align:left}
.table-action-btn{min-height:var(--control-height-compact);height:var(--control-height-compact);padding:var(--space-sm) var(--space-lg);font-size:var(--font-caption);line-height:1;white-space:nowrap}
.lookup-calendar-display-results{margin-top:var(--space-lg)}
.photo-gallery-days-field{margin-top:var(--space-lg)}
#formattingSettingsSection .admin-three-column-settings{grid-template-columns:repeat(3,minmax(180px,1fr))}

/* Phone: use narrower numeric columns first; scroll only when content genuinely needs it.
   Any Settings table that scrolls keeps its descriptive first column visible. */
@media(max-width:700px){
  #formattingSettingsSection .admin-three-column-settings{grid-template-columns:1fr}
  .device-storage-table,.server-media-table{width:max-content;min-width:100%}
  .device-storage-table th:nth-child(2),.server-media-table th:nth-child(2),.server-media-table th:nth-child(3){min-width:88px;white-space:normal;line-height:1.15}
  .device-storage-table th:first-child,.device-storage-table td:first-child,.server-media-table th:first-child,.server-media-table td:first-child{min-width:140px;max-width:180px;white-space:normal}
  .table-action-btn{padding-inline:var(--space-md)}
}

.history-nested-field-grip{display:grid;place-items:center;width:calc(100% - 10px);height:100%;min-height:var(--control-height-compact);margin-left:10px;background:transparent;border:0;border-radius:0}
.history-nested-drag-placeholder{grid-column:1 / 5;border:1px dashed var(--border-strong);background:var(--surface-muted);box-sizing:border-box}
.history-nested-row-drag-ghost{grid-template-columns:var(--submitted-label-columns);overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-control)}
.lookup-client-result:has(.lookup-inline-record:not([hidden])){gap:0}
.lookup-client-result .lookup-inline-record:not([hidden]){margin-top:0}
.lookup-client-result .lookup-inline-record:not([hidden]) .lookup-record-body{margin-top:0}
.evernote-record-body .evernote-table-scroll table:has(tr > :nth-child(2)):not(:has(tr > :nth-child(3))){table-layout:fixed;width:100%;min-width:100%}
.evernote-record-body .evernote-table-scroll table:has(tr > :nth-child(2)):not(:has(tr > :nth-child(3))) tr > :first-child{width:45%}
@media(max-width:600px){.evernote-record-body .evernote-table-scroll table:has(tr > :nth-child(2)):not(:has(tr > :nth-child(3))) tr > :first-child{width:42.5%}}
.evernote-record-body .evernote-table-scroll table:not(:has(tr > :nth-child(2))){width:100%;min-width:100%}

.device-storage-description,.delivery-queue-description{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.lookup-offline-helper{margin-top:var(--space-sm)}
.delivery-queue-row{display:flex;align-items:flex-start;flex-wrap:wrap}.delivery-queue-description{flex:1 1 320px}.delivery-queue-controls{flex:0 0 auto;max-width:100%}
.calendar-photo-instructions{margin-bottom:var(--space-sm)}
/* v0.3.317 shared photo navigation and larger calendar-card back target */
.calendar-back-touch-area{cursor:pointer}
.evernote-image-stage{position:relative}
.evernote-image-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:52px;border:0;border-radius:var(--radius-control);background:rgba(0,0,0,.42);color:#fff;font-size:36px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
.evernote-image-prev{left:12px}.evernote-image-next{right:12px}
.evernote-image-nav[hidden]{display:none}
@media(max-width:700px){.evernote-image-nav{display:none}.evernote-image-nav[hidden]{display:none}}

/* v0.3.318a Photo viewer multi-select */
.photos-select-row{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-md);margin:var(--space-md) 0}.photos-select-row #photosSelectedCount{margin-right:auto}.photos-utility-page.is-selecting .photos-thumb-card{position:relative}.photos-utility-page.is-selecting .photos-thumb-card::after{content:'';position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;border:2px solid var(--border);background:var(--surface);box-sizing:border-box}.photos-utility-page.is-selecting .photos-thumb-card.is-selected::after{content:'✓';display:flex;align-items:center;justify-content:center;background:var(--theme-accent);border-color:var(--theme-accent);color:#fff;font-weight:700}.photos-utility-page.is-selecting .photos-thumb-card.is-selected{outline:2px solid var(--theme-accent);outline-offset:2px}.photos-selection-actions .actions{display:flex;gap:var(--space-lg)}@media(max-width:600px){.photos-selection-actions .actions>.btn{flex:1}}

/* v0.3.320 phone interaction refinements. Photo selection reuses the canonical form action surface. */
.photos-utility-page.is-selecting #photosUtilityBody{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
.evernote-image-stage img.is-swipe-settling{transition:transform 180ms ease-out}
.form-back-touch-area{cursor:pointer}
.evernote-image-viewer.controls-hidden .evernote-image-toolbar,.evernote-image-viewer.controls-hidden .evernote-image-nav{opacity:0;pointer-events:none}
.evernote-image-toolbar,.evernote-image-nav{transition:opacity var(--motion-normal)}

.connection-test-panel{margin-top:16px;padding-top:16px;border-top:1px solid var(--border,#d9dee3)}

/* v0.3.360: semantic Settings tables, shared sticky columns, and split slim/compact Admin controls.
   Tables own structure/layout; canonical shared controls own control appearance. */
.admin-section .admin-data-table,.admin-modal .admin-data-table{font-size:var(--font-caption)}
.admin-section .admin-data-table :is(input,select,textarea),.admin-modal .admin-data-table :is(input,select,textarea){font-size:inherit}
.calendar-main-settings-table th:nth-child(n+2),.calendar-main-settings-table td:nth-child(n+2),.lookup-calendar-settings-table th:nth-child(n+2),.lookup-calendar-settings-table td:nth-child(n+2){width:1%;white-space:normal}
.calendar-main-settings-table .admin-compact-field,.lookup-calendar-settings-table .admin-compact-field{width:var(--admin-compact-field-width);max-width:100%}
/* Photo processing follows the shared compact-column convention: descriptive content flexes; compact controls shrink to content. */
.photo-size-table{display:table;width:100%;max-width:100%;min-width:0;table-layout:auto;margin-top:0;overflow:visible}
.photo-size-table th:nth-child(1),.photo-size-table td:nth-child(1),
.photo-size-table th:nth-child(3),.photo-size-table td:nth-child(3),
.photo-size-table th:nth-child(4),.photo-size-table td:nth-child(4){width:1%;white-space:nowrap}
.photo-size-table td:nth-child(3),.photo-size-table td:nth-child(4){text-align:right}
.photo-size-table td:nth-child(3) .admin-compact-field,.photo-size-table td:nth-child(4) .admin-compact-field{width:var(--admin-compact-field-width);max-width:100%}
.photo-size-table th:nth-child(2),.photo-size-table td:nth-child(2){width:52%}
.photo-size-table .photo-description-input{width:100%;min-width:0}
.photo-form-profile-scroll{margin-top:var(--space-lg)}
.photo-form-profile-table{display:table;width:100%;min-width:100%;table-layout:auto;margin-top:0;overflow:visible}
.photo-form-profile-table th:nth-child(2),.photo-form-profile-table td:nth-child(2){width:20%;min-width:140px;white-space:nowrap}
.photo-form-profile-table td>select{width:100%;max-width:100%}
.lookup-calendar-settings-table{display:table;width:100%;min-width:100%;table-layout:auto;margin-top:0;overflow:visible}
/* History defaults use deliberate balanced selector columns on desktop. */
.history-default-table{display:table;width:100%;min-width:100%;table-layout:fixed;overflow:visible}
.history-default-table th:nth-child(1),.history-default-table td:nth-child(1){width:52%}
.history-default-table th:nth-child(2),.history-default-table td:nth-child(2){width:24%}
.history-default-table th:nth-child(3),.history-default-table td:nth-child(3){width:24%}
/* Staff access: native table cells remain native; only the inner person wrapper handles name/role layout. */
.form-staff-access-table{display:table;width:100%;min-width:100%;table-layout:fixed;overflow:visible}
.form-staff-access-table .form-staff-person small{display:block;color:var(--muted);font-size:var(--font-xs);margin-top:2px}
.form-staff-access-table th:nth-child(1),.form-staff-access-table td:nth-child(1){width:32%}
.form-staff-access-table th:nth-child(2),.form-staff-access-table td:nth-child(2){width:20%;text-align:center}
.form-staff-access-table th:nth-child(3),.form-staff-access-table td:nth-child(3),.form-staff-access-table th:nth-child(4),.form-staff-access-table td:nth-child(4){width:24%}
.form-staff-access-table td:nth-child(2) .compact-checkbox{display:flex;justify-content:center}
.form-staff-access-table td>select,.history-default-table td>select{width:100%;max-width:100%}
.history-period-control>select,.history-period-control>.history-period-days{width:100%;max-width:100%;flex:none}
/* Divider is present only when JavaScript confirms real horizontal overflow. */
.table-is-scrollable>.sticky-first-column>thead>tr>:first-child,
.table-is-scrollable>.sticky-first-column>tbody>tr>:first-child{border-right:1px solid var(--divider)}
@media(max-width:700px){
 .admin-data-table th{white-space:normal;line-height:1.15}
 .photo-size-table{width:max-content;min-width:100%}
 .photo-size-table th,.photo-size-table td{padding-inline:var(--space-sm)}
 .photo-size-table th:nth-child(1),.photo-size-table td:nth-child(1){min-width:70px}
 .photo-size-table th:nth-child(2),.photo-size-table td:nth-child(2){min-width:160px;white-space:normal}
 .photo-size-table th:nth-child(3),.photo-size-table td:nth-child(3),.photo-size-table th:nth-child(4),.photo-size-table td:nth-child(4){min-width:88px}
 .sticky-first-column{width:max-content;min-width:100%}
 .sticky-first-column>thead>tr>:first-child,.sticky-first-column>tbody>tr>:first-child{position:sticky;left:0;z-index:2}
 .sticky-first-column>thead>tr>:first-child{z-index:3;background:var(--surface-muted)}
 .sticky-first-column>tbody>tr>:first-child{background:var(--surface)}
 .history-default-table{table-layout:auto}
 .history-default-table th:nth-child(1),.history-default-table td:nth-child(1){min-width:82px}
 .history-default-table th:nth-child(2),.history-default-table td:nth-child(2){min-width:80px}
 .history-default-table th:nth-child(3),.history-default-table td:nth-child(3){min-width:156px}
 .form-staff-access-table{table-layout:auto;min-width:500px}
 .form-staff-access-table th:nth-child(1),.form-staff-access-table td:nth-child(1){min-width:120px}
 .form-staff-access-table th:nth-child(2),.form-staff-access-table td:nth-child(2){min-width:96px}
 .form-staff-access-table th:nth-child(3),.form-staff-access-table td:nth-child(3){min-width:128px}
 .form-staff-access-table th:nth-child(4),.form-staff-access-table td:nth-child(4){min-width:156px}
}




/* v0.3.361: stationary frames clip sticky-first table fills cleanly while the table scrolls beneath. */
.admin-table-scroll:has(> .sticky-first-column),.settings-table-scroll:has(> .sticky-first-column){overflow-x:auto;overflow-y:visible}
.admin-table-scroll> .sticky-first-column thead tr:first-child>*:first-child,.settings-table-scroll> .sticky-first-column thead tr:first-child>*:first-child{border-top-left-radius:calc(var(--radius-control) - 1px)}
.admin-table-scroll> .sticky-first-column tbody tr:last-child>*:first-child,.settings-table-scroll> .sticky-first-column tbody tr:last-child>*:first-child{border-bottom-left-radius:calc(var(--radius-control) - 1px)}
/* v0.3.374: shared unresolved-delivery alert and notification recipient details. */
.nav-home-tab{position:relative}
.nav-alert-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:5px;border-radius:999px;background:#c62828;color:#fff;font-size:11px;font-weight:700;line-height:1}
.delivery-alert-banner{margin-top:var(--space-md)}
.notification-recipient-details{margin-top:var(--space-sm)}
.notification-recipient-details>summary{cursor:pointer;font-weight:600}
.notification-recipient-list{margin-top:var(--space-sm);display:grid;gap:var(--space-xs)}
.notification-recipient-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) 0;border-top:1px solid var(--border)}
.notification-recipient-row:first-child{border-top:0}
@media(max-width:600px){.notification-recipient-row{align-items:flex-start;flex-wrap:wrap}.notification-recipient-row>.delivery-queue-controls{margin-left:auto}}


/* v0.3.374 routing hierarchy and notification queue refinements */
.route-toggle-list{display:grid;gap:var(--space-md);margin-top:var(--space-md)}
.form-route-card{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);overflow:hidden}
.form-route-card .form-route-row{border-bottom:0;padding:var(--space-md) var(--space-lg)}
.form-route-card .form-route-row:has(+ .route-presentation:not([hidden])){border-bottom:1px solid var(--divider)}
.form-route-copy{min-width:0;display:grid;gap:2px}
.form-route-copy .muted{font-size:var(--font-caption);font-weight:var(--weight-regular)}
.form-route-card .route-presentation{margin:0;padding:var(--space-lg);border:0;border-radius:0}
.route-settings-heading{font-weight:var(--weight-bold);margin:var(--space-lg) 0 var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--divider)}
.route-presentation>.route-settings-heading:first-child{margin-top:0;padding-top:0;border-top:0}
.pdf-route-settings{margin-top:var(--space-sm)}
.notification-recipient-details[open]~*{display:none}
.delivery-queue-row:has(.notification-recipient-details[open])>.notification-parent-controls{display:none}

/* v0.3.374 Routing controls use normal label weight; headings retain their established emphasis. */
.form-route-card label:has(input[type="checkbox"]){font-weight:var(--weight-normal)}

/* v0.3.374 Routing hierarchy */
.form-route-card .form-route-row{background:var(--page-bg,#f5f7fb)}
.routing-token-helper{margin-top:var(--space-xs)}
.routing-token-menu{position:absolute;z-index:40;left:0;right:0;top:100%;margin-top:4px;max-height:260px;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:var(--shadow-popover);padding:4px}
.field:has(> [data-token-input]){position:relative}
.routing-token-option{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:var(--space-sm);width:100%;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:calc(var(--radius-control) - 2px);font:inherit;cursor:pointer;align-items:center}
.routing-token-option:hover,.routing-token-option.is-active{background:var(--page-bg,#f5f7fb)}
.routing-token-name{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}
