:root{--navy:#142337;--navy2:#1d344b;--ink:#182538;--muted:#617082;--paper:#f5f7f9;--white:#fff;--line:#e5eaf0;--accent:#bb8643;--accentlight:#f8f0e5;--green:#1b8267;--greenlight:#e8f6f0;--red:#bd504e;--redlight:#fff0ee;--blue:#3d6eac;--bluelight:#eaf1fb;--shadow:0 9px 30px rgba(13,33,59,.06)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--blue)}h1,h2,h3,p{margin:0}h1{font-size:clamp(24px,2.8vw,34px);line-height:1.2;letter-spacing:-.7px}h2{font-size:20px;line-height:1.3;letter-spacing:-.3px}h3{font-size:16px}small,.small{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.strong{font-weight:700}.mono{font-variant-numeric:tabular-nums}.page{display:flex;min-height:100vh}.sidebar{width:258px;background:var(--navy);color:#c9d4dd;flex-shrink:0;position:sticky;top:0;height:100vh;padding:27px 16px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;gap:12px;align-items:center;color:white;padding:3px 12px 22px;border-bottom:1px solid #33485e}.brand-mark{width:40px;height:40px;border:1px solid #b88b52;border-radius:10px;display:grid;place-items:center;color:#e7bd86;font-size:24px;font-weight:700;font-family:Georgia,serif}.brand-title{font-size:17px;letter-spacing:3px;font-weight:800;line-height:1.2}.brand-sub{font-size:10px;letter-spacing:1.5px;color:#a4b3c0}.nav-label{padding:2px 13px;font-size:10px;font-weight:800;letter-spacing:1.6px;color:#7fa0b7}.nav{display:flex;flex-direction:column;gap:5px}.nav button{width:100%;display:flex;gap:12px;align-items:center;border:0;border-radius:9px;background:transparent;color:#cbd7e1;padding:12px 14px;text-align:left;font-weight:600;font-size:13px}.nav button:hover,.nav button.active{background:#31455a;color:white}.nav-ico{font-size:17px;width:22px;text-align:center}.sidebar-footer{margin-top:auto;border-top:1px solid #32475b;padding:20px 12px 0}.sidebar-footer strong{display:block;color:#fff;font-size:13px}.sidebar-footer p{font-size:11px;color:#a8bac9}.main{flex:1;min-width:0}.topbar{height:78px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,55px);gap:15px}.breadcrumbs{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}.breadcrumbs strong{color:var(--ink)}.topright{display:flex;gap:12px;align-items:center}.account{display:flex;gap:10px;align-items:center}.avatar{width:36px;height:36px;background:#dae5f0;border-radius:50%;color:var(--navy);font-weight:800;display:grid;place-items:center}.account-label{font-size:12px;font-weight:700;line-height:1.3}.account-label span{display:block;font-size:11px;font-weight:400;color:var(--muted)}.user-select{max-width:255px;border:1px solid var(--line);background:#f8fafc;padding:10px;border-radius:9px;font-size:12px;color:var(--ink)}.content{max-width:1320px;margin:0 auto;padding:35px clamp(17px,4vw,55px) 70px}.pageheading{display:flex;align-items:center;justify-content:space-between;gap:17px;margin-bottom:25px;flex-wrap:wrap}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:#a47439;text-transform:uppercase;margin-bottom:8px}.subtitle{color:var(--muted);font-size:14px;margin-top:9px}.btn{border:1px solid transparent;border-radius:9px;padding:11px 17px;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:750;min-height:43px}.btn.primary{background:var(--navy);color:#fff}.btn.primary:hover{background:#294159}.btn.accent{background:var(--accent);color:white}.btn.secondary{background:white;border-color:#d5dee6;color:#293d52}.btn.secondary:hover{background:#f5f8fc}.btn.danger{background:#fff3f2;color:var(--red);border-color:#f3ceca}.btn.ghost{background:transparent;color:#476075;padding:7px 10px}.btn.smallbtn{padding:7px 10px;min-height:32px;font-size:12px}.btnrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.panel{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.panel-pad{padding:25px}.grid{display:grid;gap:17px}.grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:21px 22px;position:relative;overflow:hidden}.stat .label{font-size:12px;color:var(--muted);font-weight:600}.stat .value{font-size:clamp(24px,2.3vw,32px);font-weight:800;margin-top:7px;line-height:1.2;letter-spacing:-.5px}.stat .foot{font-size:11px;color:var(--muted);margin-top:7px}.top-panels{margin:24px 0}.sectionline{display:flex;align-items:center;justify-content:space-between;margin:26px 0 15px;gap:10px}.sectionline h2{font-size:18px}.badge{font-size:11px;font-weight:800;padding:5px 10px;border-radius:20px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;background:#edf1f5;color:#536376}.badge::before{content:'';height:6px;width:6px;background:currentColor;border-radius:50%}.badge.draft,.badge.not-started{background:#eef1f4;color:#667588}.badge.submitted{background:var(--bluelight);color:var(--blue)}.badge.checked{background:#f6efe3;color:#987034}.badge.approved{background:var(--greenlight);color:var(--green)}.badge.returned,.badge.corrected{background:var(--redlight);color:var(--red)}.notice{display:flex;align-items:flex-start;gap:12px;padding:15px 18px;border:1px solid #ebd8b8;background:#fff8ed;color:#79552b;border-radius:10px;font-size:13px;margin-bottom:20px}.notice.info{background:#eaf2fb;border-color:#d4e3f4;color:#325c88}.notice.success{background:var(--greenlight);border-color:#cae8dc;color:#166649}.kicker{font-weight:800;text-transform:uppercase;letter-spacing:.7px;font-size:10px;color:var(--muted)}.weektile{padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:15px;text-align:left;width:100%;border:1px solid var(--line);background:white;border-radius:12px}.weektile:hover{border-color:#b7c5d2;box-shadow:var(--shadow)}.weektile strong{display:block;font-size:15px}.weektile .small{display:block;margin-top:4px}.daylist{display:grid;gap:10px}.dayrow{width:100%;background:white;border:1px solid var(--line);border-radius:11px;padding:15px 18px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px}.dayrow:hover{border-color:#becad7}.day-left{display:flex;align-items:center;gap:13px}.dayicon{height:34px;width:34px;border:1px solid var(--line);background:#f5f8fa;color:#718398;border-radius:9px;display:grid;place-items:center;font-weight:900}.dayicon.done{background:var(--greenlight);color:var(--green);border-color:#d7ece2}.dayrow .daytitle{font-size:14px;font-weight:750}.dayrow .daydate{font-size:12px;color:var(--muted)}.dayright{display:flex;align-items:center;gap:17px}.daymoney{font-weight:800;font-size:15px}.side-by-side{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px}.summary-rows .sumrow{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0f4;padding:12px 0;gap:10px;font-size:13px}.summary-rows .sumrow:last-child{border-bottom:0}.summary-rows .sumrow.big{font-weight:900;font-size:17px}.summary-rows .sumrow.big span:last-child{font-size:22px}.table-wrap{overflow:auto;width:100%}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{background:#f6f8fa;color:#69798c;font-size:10px;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}td,th{padding:13px 15px;border-bottom:1px solid #ebeff3}tr:last-child td{border-bottom:0}td.money,th.money{text-align:right;font-variant-numeric:tabular-nums}td.actions{text-align:right;white-space:nowrap}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:#f7f9fc}.tabs{display:flex;gap:5px;padding:5px;background:#eaeff4;border-radius:11px;max-width:max-content;margin-bottom:20px}.tabs button{border:0;background:transparent;padding:8px 14px;border-radius:7px;font-size:13px;color:#64758a;font-weight:700}.tabs button.active{background:#fff;color:#1b344d;box-shadow:0 1px 5px rgba(0,0,0,.07)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:750;font-size:12px;color:#374a5e}.field input,.field select,.field textarea,.form-control{width:100%;background:#fff;border:1px solid #ced8e2;border-radius:9px;padding:11px 12px;font-size:14px;min-height:43px;color:#243951}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #dbe8f8;border-color:#6590ba}.field textarea{min-height:82px;resize:vertical}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.formsection{margin-bottom:19px;padding-bottom:20px;border-bottom:1px solid var(--line)}.formsection:last-child{border:0;padding-bottom:0}.formsection h3{margin-bottom:14px}.mainform{display:grid;gap:18px}.mini-total{padding:20px;background:#f2f6fa;border-radius:10px}.mini-total h2{font-size:26px;margin-top:3px}.expense-card{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:12px 0;border-bottom:1px solid #edf1f4}.expense-card:last-child{border:0}.expense-card strong{font-size:13px}.expense-card small{display:block}.banner{background:linear-gradient(110deg,#1b324c,#273d55);color:#fff;padding:25px;border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:15px}.banner h2{font-size:19px}.banner p{font-size:13px;color:#c6d5e3;margin-top:6px}.banner .btn{background:#fff;color:var(--navy)}.filters{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.filters .field{min-width:150px}.table-panel .table-head{padding:20px 21px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line)}.table-panel .table-head h2{font-size:18px}.progress{height:7px;background:#e8edf1;border-radius:8px;overflow:hidden;margin:14px 0 4px}.progress > div{height:100%;background:var(--green);border-radius:8px;transition:width .3s}.section-sep{margin:24px 0;border:none;border-top:1px solid var(--line)}.note-list{display:flex;flex-direction:column;gap:13px}.note{border-left:3px solid #b7c7d6;padding:8px 12px;background:#f7f9fb;border-radius:4px}.note strong{display:block;font-size:12px}.note p{font-size:13px;margin:5px 0}.note small{font-size:11px}.auditlist{max-height:300px;overflow:auto}.audit{display:flex;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}.audit .dot{width:8px;height:8px;background:#9cabc0;border-radius:50%;margin-top:7px;flex-shrink:0}.audit p{font-size:12px}.audit strong{display:block;font-size:12px}.audit small{display:block}.search{min-width:220px;border:1px solid #ccd8e2;border-radius:9px;background:#fff;padding:11px 13px;font-size:13px}.empty{padding:45px 20px;text-align:center}.empty .emptyicon{font-size:32px;display:block;margin-bottom:10px}.empty h3{margin-bottom:6px}.empty p{color:var(--muted);font-size:13px;max-width:410px;margin:auto}.modal-layer{position:fixed;inset:0;background:rgba(11,26,42,.58);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;overflow:auto}.modal{max-height:94vh;overflow:auto;background:white;border-radius:15px;width:min(100%,590px);box-shadow:0 28px 95px rgba(7,21,37,.27)}.modal-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:21px 25px}.modal-body{padding:22px 25px;display:grid;gap:16px}.modal-footer{padding:16px 25px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end}.modal .fields{gap:13px}.switchrow{display:flex;gap:10px;align-items:flex-start}.switchrow input{width:17px;height:17px;accent-color:var(--navy);margin-top:3px}.toast{position:fixed;bottom:26px;right:28px;background:#1c394b;color:white;padding:12px 17px;border-radius:10px;box-shadow:0 14px 32px #10293b33;z-index:300;font-size:13px}.toolbar-flex{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.helper{padding:12px 15px;background:#f1f5f8;border-radius:9px;font-size:12px;color:#586d80}.receipt-hint{font-size:11px;color:var(--muted)}.warning-text{color:var(--red)}.positive{color:var(--green)}.negative{color:var(--red)}.app-alert{font-size:12px;background:#fff9ed;border-bottom:1px solid #eee2ca;color:#816332;padding:9px clamp(18px,4vw,55px)}.role-warning{font-size:12px;color:var(--muted);margin-top:16px}.tiny{font-size:11px}.mobilebar{display:none}.colstack{display:grid;gap:15px}.export-print{white-space:nowrap}
@media(max-width:1100px){.grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.side-by-side{grid-template-columns:1fr}.sidebar{width:225px}.content{padding:26px 25px 65px}.topbar{padding:0 25px}}
@media(max-width:720px){.sidebar{display:none}.topbar{height:auto;min-height:67px;padding:11px 16px;flex-wrap:wrap}.app-alert{padding:9px 16px}.mobilebar{display:flex;background:var(--navy);color:white;padding:12px 16px;align-items:center;justify-content:space-between}.mobilebar .brandline{font-size:12px;letter-spacing:2px;font-weight:900}.mobilebar select{background:#2a425b;border:1px solid #476077;color:white;padding:7px;border-radius:7px;font-size:11px;max-width:190px}.breadcrumbs{font-size:12px}.topright .account{display:none}.user-select{max-width:235px}.content{padding:23px 14px 65px}.grid-four,.grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:16px}.stat .value{font-size:23px}.panel-pad{padding:17px}.weektitle{font-size:14px}.fields{grid-template-columns:1fr}.dayrow{padding:12px}.dayright{gap:8px}.daymoney{font-size:13px}.dayicon{width:30px;height:30px}.pageheading{margin-bottom:17px}.pageheading .btn{width:100%}.btnrow{gap:7px}.top-panels{margin:16px 0}.banner{flex-direction:column;align-items:stretch;padding:20px}.modal-header,.modal-body,.modal-footer{padding:16px}.modal-footer .btn{flex:1}.table-panel .table-head{padding:15px}.filters{width:100%}.filters .field{min-width:unset;flex:1}.filters .search{min-width:120px;flex:1}.tabs{width:100%;max-width:100%}.tabs button{flex:1;padding:8px 9px;font-size:12px}}
@media(max-width:395px){.grid-four{grid-template-columns:1fr 1fr}.stat .value{font-size:19px}.dayright .badge{display:none}.user-select{max-width:170px}}
@media print{.sidebar,.mobilebar,.topbar,.app-alert,.btn,.filters,.modal-layer,.toast,.no-print{display:none!important}.content{padding:0;max-width:none}.page{display:block}.main{display:block}.panel{box-shadow:none;border-color:#aaa;break-inside:avoid}.pageheading{margin-top:0}.grid{gap:8px}}
.venue-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px;border:1px solid var(--line);border-radius:9px;max-height:205px;overflow:auto;background:#fafcff}.venue-picker .switchrow{font-size:12px;line-height:1.3}@media(max-width:500px){.venue-picker{grid-template-columns:1fr}}

/* Version 1.2: readable weekdays and a human-readable audit trail. */
.day-left{min-width:0;flex:1}
.daymain{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.dayrow .daytitle{display:block;line-height:1.3;white-space:nowrap}
.dayrow .daydate{display:block;line-height:1.45;overflow-wrap:anywhere}
.dayright{flex-shrink:0}
.auditlist{max-height:none;overflow:visible;display:flex;flex-direction:column}
.audit{display:flex;gap:13px;padding:18px 0;border-bottom:1px solid var(--line);min-width:0}
.audit:first-child{padding-top:0}
.audit:last-child{padding-bottom:0;border-bottom:0}
.audit .dot{margin-top:8px}
.audit-content{min-width:0;flex:1}
.audit-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.audit-header strong{font-size:13px;line-height:1.4;color:var(--ink)}
.audit-time{font-size:11px;color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums}
.audit-actor{font-size:11px;color:var(--muted);margin:2px 0 7px}
.audit-detail{font-size:12px;line-height:1.5;color:#455569;overflow-wrap:anywhere}
.audit-changes{margin-top:10px;border-radius:9px;background:#f5f8fb;border:1px solid #e4ebf1;padding:4px 12px}
.audit-change{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;min-width:0}
.audit-change+.audit-change{border-top:1px solid #e3eaf1}
.audit-field{font-size:12px;color:#4b5d70;font-weight:650;min-width:0}
.audit-values{display:flex;gap:8px;align-items:center;justify-content:flex-end;font-size:12px;font-variant-numeric:tabular-nums;text-align:right;flex-wrap:wrap;min-width:0}
.audit-before{color:#758496;text-decoration:line-through}
.audit-arrow{color:#8292a5}
.audit-after{color:#155e4d;overflow-wrap:anywhere}
@media(max-width:500px){
 .day-left{gap:10px}.dayrow{gap:9px}.dayright{gap:8px}.dayrow .daytitle{font-size:14px}.dayrow .daydate{font-size:12px}
 .audit{gap:10px}.audit-change{align-items:flex-start;flex-direction:column;gap:3px}.audit-values{justify-content:flex-start;text-align:left}
 .audit-header{align-items:flex-start}.audit-header strong{max-width:100%}
}
/* Hosted app additions */
.auth-background{min-height:100vh;background:linear-gradient(145deg,#122337,#26435d);display:grid;place-items:center;padding:24px}
.auth-card{width:min(460px,100%);padding:38px}.auth-brand{font-weight:850;letter-spacing:3px;color:#183049;font-size:23px;margin-bottom:28px}.auth-brand span{display:block;font-size:10px;letter-spacing:2px;color:#a6743f}.auth-card h1{margin-bottom:8px}.auth-card form{margin-top:24px}.auth-button{width:100%}.auth-foot{font-size:12px;color:#647587;margin-top:25px}.section-body{margin-top:16px}.section-body>.subtitle:first-child{margin-top:0;margin-bottom:16px}.section-body>.daylist{margin-top:16px}.section-body>.colstack{margin:14px 0}.section-body>.btn{margin-top:16px}.section-body>.colstack+.btn{margin-top:16px}.section-body .table-wrap{margin:0 -8px}.top-panels .panel{min-width:0}.top-panels .panel .stat{min-width:0}.mini-total h2{overflow-wrap:anywhere}.secret{margin-top:14px;padding:17px;border:2px solid #becbd8;border-radius:8px;background:#f1f5f8;font:700 17px/1.5 ui-monospace,monospace;overflow-wrap:anywhere;user-select:all}.notice.warning{background:#fff5ea;color:#76562d;border:1px solid #efd6aa}.field input:disabled{background:#f4f6f8;color:#596a7a}.progressbar-fill{min-width:0}.dayrow .daymain{display:flex;flex-direction:column;gap:2px;min-width:0}.dayrow .daytitle,.dayrow .daydate{display:block}.dayrow .daydate{white-space:normal}.btnrow{margin-top:14px}.auth-card .btnrow{margin-top:0}
@media(max-width:720px){.auth-card{padding:25px}.section-body>.colstack+.btn{width:100%}.dayright{min-width:65px;justify-content:flex-end}.dayrow .daydate{line-height:1.4}.sidebar{display:none}}


/* Venue assignment layout fix — prevent generic text-input sizing from stretching checkboxes. */
.venue-picker{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
  gap:8px;
  padding:12px;
  max-height:260px;
}
.venue-picker .switchrow{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  min-height:44px;
  margin:0;
  padding:9px 11px;
  border:1px solid #dce5ed;
  border-radius:8px;
  background:#fff;
  font-size:13px;
  font-weight:650;
  line-height:1.4;
  overflow-wrap:anywhere;
  cursor:pointer;
}
.venue-picker .switchrow:hover{background:#f4f8fc;border-color:#bacddd}
.venue-picker .switchrow:focus-within{outline:2px solid #6590ba;outline-offset:2px}
.venue-picker .switchrow input[type="checkbox"]{
  flex:0 0 18px;
  width:18px;
  min-width:18px;
  height:18px;
  min-height:18px;
  padding:0;
  margin:0;
  accent-color:var(--navy);
  cursor:pointer;
}
@media(max-width:540px){
  .venue-picker{grid-template-columns:minmax(0,1fr)}
}

/* Venue picker v2: align each checkbox with its venue name on every device. */
.venue-picker {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  padding:12px;
  max-height:285px;
  align-content:start;
}
.venue-picker label.venue-option {
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  align-items:center;
  gap:11px;
  min-width:0;
  min-height:50px;
  margin:0;
  padding:10px 12px;
  border:1px solid #dce5ed;
  border-radius:9px;
  background:#fff;
  cursor:pointer;
  font-size:13px;
  font-weight:650;
  line-height:1.35;
  text-align:left;
}
.venue-picker label.venue-option:hover{background:#f4f8fc;border-color:#bccedd}
.venue-picker label.venue-option:focus-within{outline:2px solid #5986b6;outline-offset:2px}
.venue-picker label.venue-option input[type="checkbox"] {
  display:block;
  position:static;
  flex:none;
  width:18px;
  height:18px;
  min-width:18px;
  min-height:18px;
  padding:0;
  margin:0;
  accent-color:var(--navy);
  cursor:pointer;
  justify-self:center;
  align-self:center;
}
.venue-picker .venue-option-name {
  display:block;
  min-width:0;
  overflow-wrap:anywhere;
}
@media(max-width:540px){.venue-picker{grid-template-columns:minmax(0,1fr)}}

/* Purpose-built mobile banking weeks: no horizontally-scrolling financial tables. */
.mobile-week-list,.mobile-continue{display:none}
@media(max-width:720px){
 .banking-records-screen .pageheading{margin:0 0 14px}
 .banking-records-screen .pageheading .eyebrow{font-size:10px;margin-bottom:5px}
 .banking-records-screen .pageheading h1{font-size:24px;line-height:1.15}
 .banking-records-screen .pageheading .subtitle{font-size:12px;margin-top:7px}
 .banking-records-screen>.panel{box-shadow:none;background:transparent;border:0}
 .banking-records-screen>.panel>.panel-pad{padding:0}
 .banking-records-screen>.panel>.panel-pad>h2{font-size:15px;margin:16px 0 12px}
 .banking-records-screen .section-body{margin-top:0}
 .desktop-week-table{display:none}
 .mobile-week-list{display:grid;gap:12px}
 .mobile-week-card{display:grid;gap:13px;background:#fff;border:1px solid #dbe4ec;border-radius:14px;padding:17px;box-shadow:0 4px 18px rgba(17,38,56,.06);min-width:0}
 .mobile-week-card.mobile-featured-duplicate{display:none}
 .mobile-week-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}
 .mobile-week-card-ident{min-width:0;flex:1}
 .mobile-week-date{display:block;font-size:12px;color:#61758a;margin-bottom:5px}
 .mobile-week-card h3{font-size:16px;line-height:1.35;margin:0;overflow-wrap:anywhere}
 .mobile-week-card-heading .badge{flex-shrink:0}
 .mobile-week-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 0;border-top:1px solid #e9eef3;border-bottom:1px solid #e9eef3}
 .mobile-week-metrics>div{display:flex;flex-direction:column;gap:5px;min-width:0}
 .mobile-week-metrics span{font-size:11px;color:#637589}
 .mobile-week-metrics strong{font-size:15px;color:#182b42;overflow-wrap:anywhere}
 .mobile-week-open{width:100%;min-height:46px;justify-content:center}
 .mobile-continue{display:grid;gap:10px;padding:19px;background:#172c43;border:1px solid #38516b;color:white;border-radius:16px;box-shadow:0 10px 25px rgba(20,42,66,.15);margin-bottom:17px}
 .mobile-continue-top{display:flex;justify-content:space-between;align-items:center;gap:9px}
 .mobile-continue-kicker{color:#ffda95;font-size:10px;letter-spacing:1.2px;font-weight:800}
 .mobile-continue-top .badge{background:#fff1d8;color:#6a4505}
 .mobile-continue h2{font-size:20px;line-height:1.3;margin:0;overflow-wrap:anywhere;color:white}
 .mobile-continue p{color:#cbd9e7;font-size:13px;margin:0}
 .mobile-continue-metrics{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;font-size:12px;color:#ced9e4;margin:3px 0 5px}
 .mobile-continue-metrics strong{font-size:14px;color:#fff}
 .mobile-continue-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:49px;background:#fff;color:#173049;border-radius:9px;font-weight:800}
 .mobile-continue-button:hover{background:#f2f5f8}
 .mobile-continue .btn.primary{background:#fff;color:#173049;border:1px solid #fff}
 .mobile-continue .btn.primary:hover{background:#f2f5f8;color:#173049}
 .operator-home.has-mobile-continue .pageheading .btnrow{display:none}
 .operator-home .mobile-continue{margin-top:12px}
 .topbar .account{display:none}
 .topbar{min-height:49px;height:auto;padding:8px 16px}
 .content{padding-top:19px}
 .mobilebar{padding:9px 16px}
}
@media(max-width:380px){
 .mobile-week-card-heading{flex-wrap:wrap}
 .mobile-week-metrics{gap:8px}
 .mobile-continue-metrics{display:grid}
}


/* Banking records grouped by working week, and accessible PDF export selector. */
.banking-weeks-page>.panel{margin-bottom:22px}
.banking-weeks-page .records-note{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.5}
.banking-weeks-page .section-body{min-width:0}
.pdf-export-fieldset{display:grid;gap:9px;border:1px solid var(--line);border-radius:10px;margin:0;padding:14px;min-width:0}
.pdf-export-fieldset legend{font-size:13px;font-weight:750;color:#344b63;padding:0 7px}
.pdf-export-choice{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;cursor:pointer;min-height:32px}
.pdf-export-choice input[type="radio"]{width:18px;height:18px;flex:0 0 18px;min-height:18px;accent-color:var(--navy)}
.pdf-export-venues{max-height:225px;overflow-y:auto}
.pdf-export-venues .venue-option{font-size:12px}
@media(max-width:720px){
 .banking-weeks-page>.panel{margin:0 0 18px}
 .banking-weeks-page>.panel>.panel-pad{padding:0}
 .banking-weeks-page .panel>.panel-pad>h2{font-size:18px;margin-bottom:10px}
 .banking-weeks-page .records-note{font-size:12px;margin-bottom:12px}
 .banking-weeks-page .pageheading .btnrow{width:100%;display:flex;margin-top:12px}
 .banking-weeks-page .pageheading .btnrow .btn{width:100%;min-height:46px}
}

/* Head Office encrypted backup monitoring */
.backup-overview{display:grid;gap:17px}
.backup-status-card{border:1px solid #b9d7cf;border-radius:13px;background:#ecf8f3;padding:23px 25px;color:#1e5547}
.backup-status-card.backup-failed,.backup-status-card.backup-overdue{background:#fff1ef;border-color:#ebc2bf;color:#842e31}
.backup-status-card.backup-disabled,.backup-status-card.backup-pending{background:#fff8e9;border-color:#ead7ae;color:#76551e}
.backup-eyebrow{display:block;font-size:10px;font-weight:850;letter-spacing:1.1px;margin-bottom:9px}
.backup-status-title{display:flex;align-items:center;gap:12px;margin-bottom:9px}
.backup-status-title h2{font-size:24px;color:inherit}
.backup-status-dot{display:inline-block;width:13px;height:13px;flex:0 0 13px;border-radius:50%;background:#288567}
.backup-failed .backup-status-dot,.backup-overdue .backup-status-dot{background:#bc4143}
.backup-disabled .backup-status-dot,.backup-pending .backup-status-dot{background:#c2933a}
.backup-status-card p{font-size:14px;line-height:1.6;max-width:750px}
.backup-snapshot{margin-top:18px;font-size:12px;opacity:.83}
.backup-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.backup-info{padding:19px 20px;display:flex;flex-direction:column;gap:10px;min-width:0}
.backup-info .label{color:var(--muted);font-size:12px;font-weight:700}
.backup-info strong{font-size:16px;line-height:1.4;color:var(--ink);overflow-wrap:anywhere}
.backup-info p{color:var(--muted);font-size:12px;line-height:1.5}
.backup-footnote{margin-top:14px;line-height:1.6}
@media(max-width:950px){.backup-info-grid{grid-template-columns:1fr}}
@media(max-width:720px){.backup-status-card{padding:20px}.backup-status-title h2{font-size:20px}.backup-info{padding:17px}.backup-overview{gap:12px}}

/* Daily revenue and cash banking: deliberately separate sales from cash due. */
.daily-figures{display:flex;flex-direction:column;gap:0}
.daily-figures .daily-revenue{padding-bottom:15px;border-bottom:1px solid #dce5ed}
.daily-figures .daily-banking{padding-top:17px}
.daily-figures .daily-revenue-value{font-size:23px;line-height:1.25;font-weight:800;letter-spacing:-.5px;color:#203951;margin-top:5px}
.daily-figures .daily-banking h2{font-size:29px;line-height:1.22;letter-spacing:-.6px;margin:5px 0 3px}
.daily-figures .daily-figures-note{font-size:11px;color:#647991;margin:5px 0 0;line-height:1.4}
.daily-figures #save-hint{display:block;margin-top:16px}
/* Three values in the condensed operator week cards. */
.mobile-week-card .mobile-week-metrics>div:last-child{grid-column:1/-1;padding-top:9px;border-top:1px solid #edf0f4}
.mobile-week-card .mobile-week-metrics>div:last-child strong{font-size:17px}

/* Weekly banking details: match the 18px separation of the main banking panels. */
.weekly-details-stack{display:grid;gap:18px}
.weekly-details-stack>.panel{margin:0;min-width:0}
.weekly-details-stack .auditlist{max-height:none;overflow:visible}
.audit-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.audit-page-info{font-size:12px;color:var(--muted);line-height:1.5}
.audit-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.audit-pagination .btn:disabled{opacity:.42;cursor:not-allowed}
@media(max-width:720px){
 .weekly-details-stack{gap:18px}
 .audit-pagination{align-items:stretch}
 .audit-page-info{flex-basis:100%}
 .audit-page-actions .btn{flex:1}
}

/* Daily banking list: distinguish full takings from cash due, at a glance. */
.dayrow .day-left{min-width:0;flex:1}
.dayrow .dayright{flex:0 0 auto;gap:13px}
.day-preview-values{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:16px;align-items:center}
.day-preview-metric{display:flex;flex-direction:column;align-items:flex-end;min-width:0;gap:5px;text-align:right}
.day-preview-label{font-size:10px;font-weight:700;letter-spacing:.25px;color:var(--muted);white-space:nowrap}
.day-preview-value{font-size:15px;line-height:1.2;font-weight:800;color:var(--ink);white-space:nowrap}
.dayrow-chevron{font-size:17px;color:#63778a;line-height:1}
@media(max-width:720px){
 .dayrow{position:relative;flex-wrap:wrap;gap:9px}
 .dayrow .day-left{flex:1 1 100%;padding-right:20px}
 .dayrow .dayright{width:100%;border-top:1px solid #edf1f5;padding-top:10px;gap:0}
 .day-preview-values{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .day-preview-metric{align-items:flex-start;text-align:left;gap:4px}
 .day-preview-label{font-size:10px;white-space:normal}
 .day-preview-value{font-size:14px}
 .dayrow-chevron{position:absolute;top:14px;right:14px}
}

/* Required operator cash banking declaration at weekly submission. */
.submission-cash-summary{display:grid;gap:10px;border:1px solid #dce6ef;border-radius:10px;background:#f5f8fb;padding:14px}
.submission-cash-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.submission-cash-summary span{font-size:12px;color:var(--muted)}
.submission-cash-summary strong{font-variant-numeric:tabular-nums;font-size:14px;color:var(--ink)}
#submit-week-form>.small{line-height:1.6}
#submit-week-form .switchrow{align-items:flex-start;line-height:1.5;font-size:13px}
#submit-week-form .switchrow input{flex:0 0 auto;margin-top:3px}
@media(max-width:420px){.submission-cash-summary>div{align-items:flex-start;flex-direction:column;gap:4px}}
