/* Color accents on the light working surface. */
.metric{--neon:#42e8ed;background:linear-gradient(140deg,#172b38,#0f1d2a);border-color:color-mix(in srgb,var(--neon) 45%,#1b2e3b);box-shadow:0 7px 25px #15273512,inset 0 1px 0 color-mix(in srgb,var(--neon) 20%,transparent);position:relative;overflow:hidden}
.metric:after{content:'';position:absolute;width:100px;height:100px;right:-50px;bottom:-65px;border-radius:50%;background:var(--neon);filter:blur(40px);opacity:.17;pointer-events:none}
.metric:nth-child(2){--neon:#f386d8}.metric:nth-child(3){--neon:#c4f07a}.metric:nth-child(4){--neon:#ffd17b}
.metric>div:first-child{color:#b5c7cf}.metric strong{color:var(--neon);text-shadow:0 0 18px color-mix(in srgb,var(--neon) 22%,transparent)}.metric small{color:#839eaf}.metric .metric-icon{color:var(--neon);background:color-mix(in srgb,var(--neon) 10%,transparent);border:1px solid color-mix(in srgb,var(--neon) 17%,transparent)}
.form-grid{align-items:start}.form-grid>label{align-content:start;align-self:start}.form-grid>label>select,.form-grid>label>input{height:43px;max-height:43px;align-self:start}.form-grid select{line-height:1.25}
#editor{overflow:hidden}#record-form{display:flex;flex-direction:column;max-height:calc(90dvh - 2px);overflow:hidden}#record-form>.dialog-heading,#record-form>.dialog-actions{flex-shrink:0}#fields{overflow-y:auto;min-height:0;padding-right:8px;scrollbar-width:thin;scrollbar-color:#9bbac4 transparent;overscroll-behavior:contain}#record-form .dialog-actions{margin-top:16px;padding-top:16px}#record-form>#form-error:empty{display:none}#record-form>#form-error{max-height:65px;overflow:auto;flex-shrink:0}
#fields [name=status]{height:43px;min-height:43px;max-height:43px}.template-stock-info{max-height:230px;overflow:auto;scrollbar-width:thin;align-self:start}
.neon-cyan{--neon:#5ee6e7}.neon-magenta{--neon:#f397d9}.neon-lime{--neon:#c3e88d}.neon-amber{--neon:#f7cd80}.neon-violet{--neon:#b9a3f7}.neon-blue{--neon:#8ebcff}
.calendar-event,.mini-event{color:var(--neon,#5ee6e7);background:#162c38;border-left:2px solid var(--neon,#5ee6e7);border-radius:4px;box-shadow:inset 0 0 15px color-mix(in srgb,var(--neon,#5ee6e7) 7%,transparent)}
.neon-calendar .card-heading{background:#142733;color:#e5f2f5}.neon-calendar .card-heading p{color:#94aebc}.neon-calendar .card-heading label{color:#a6c4ce;font-size:10px}.neon-calendar .card-heading input{background:#1d3643;color:#d6eff5;border-color:#45636d;font-size:12px}
.neon-calendar .calendar-grid{background:#29404c}.neon-calendar .calendar-label{background:#172e3a;color:#8eafbd}.neon-calendar .calendar-day{background:#10232f}.neon-calendar .calendar-day.muted{background:#0c1c26}.neon-calendar .calendar-day.today{background:#183641;box-shadow:inset 0 0 0 1px #47acb66b}.neon-calendar .calendar-day>span{color:#91acbc}.calendar-agenda{padding:23px;background:#fbfcfd}.calendar-agenda h3{margin-bottom:16px}
.event-calendar{border:1px solid #274650;border-radius:11px;overflow:hidden;background:#0f222e;margin-top:5px}.mini-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 19px;color:#d6edef}.mini-calendar-heading .hint{color:#88a6b4;margin-bottom:0}.mini-calendar-heading label{font-size:10px;color:#97b4be}.mini-calendar-heading input{background:#1d3642;color:#d5ebef;border-color:#3d5c67;font-size:12px;padding:8px;max-width:160px;height:38px}
.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#29414e}.mini-weekday{background:#172f3b;color:#94b3c0;font-size:9px;text-align:center;padding:10px 3px}.mini-day{min-height:78px;padding:6px;background:#112633;overflow:hidden}.mini-day.outside{background:#0c1d27}.mini-day.selected{background:#1d3c45;box-shadow:inset 0 0 0 1px #55bfbf}.mini-day-number{border:0;color:#a9c6d3;font-size:11px;background:none;padding:3px 5px;border-radius:4px}.mini-day-number:hover{background:#2c4d5b}.mini-day.selected .mini-day-number{color:#9ff9e2}.mini-event{display:block;font-size:8px;line-height:1.5;padding:4px;margin-top:4px;overflow-wrap:anywhere}.selected-mark{display:block;color:#8be4cb;font-size:8px;margin-top:3px}.month-agenda-title{color:#a2c6d2;font-size:11px;font-weight:600;padding:16px 19px 8px}.month-agenda{padding:0 19px 17px;max-height:230px;overflow:auto;scrollbar-width:thin}.month-agenda .hint{color:#839fab}.agenda-line{display:flex;gap:17px;align-items:flex-start;border-left:2px solid var(--neon,#5fd4d7);padding:9px 12px;margin:8px 0;background:#18303d;border-radius:0 6px 6px 0;color:var(--neon,#a1e1e4);font-size:11px}.agenda-line>strong{min-width:80px;font-size:10px;padding-top:2px;font-weight:500}.agenda-line small{display:block;color:#89a6b8;font-size:9px;margin-top:4px}.agenda-line>span{overflow-wrap:anywhere}
.crew-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.crew-team-picker{display:flex;align-items:flex-end;gap:12px;margin:12px 0 18px}.crew-team-picker>label{flex:1;max-width:400px}.crew-team-picker select{height:42px}.crew-row{border:1px solid #dce5eb;border-radius:8px;padding:10px}.crew-row .check{border:0;padding:0}.crew-details{display:grid;gap:8px;margin-top:9px}.crew-details>input{padding:8px 10px;font-size:11px;height:34px}.crew-details>input:disabled{background:#f7f9fb;color:#8b9da8}.double-work{display:flex;align-items:center;gap:7px;color:#788b98;font-size:10px}.double-work input{width:auto;min-height:0;margin:0;accent-color:#078d9d}.crew-row:has([name=staffIds]:checked){border-color:#73bfc5;background:#f3fbfa}.crew-row:has([name=staffIds]:checked) .double-work{color:#478080}
#quick-staff{width:min(600px,calc(100vw - 28px))}#quick-staff-form{padding:26px}#quick-staff-error{font-size:12px;color:#ad4747;margin-top:12px}
.employee-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.employee-heading label{font-size:11px;flex-shrink:0}.employee-heading label input{font-size:12px}.employee-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.employee-actions button{border:1px solid #d8e5e9;border-radius:7px;background:#f3fafa;color:#267985;padding:10px 12px;font-size:11px}.employee-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0}.employee-stats>div{padding:15px;background:#eff7f7;border:1px solid #dcebec;border-radius:9px}.employee-stats strong{display:block;font-size:21px;color:#1d6370;margin-top:9px}.employee-stats small{font-size:10px}#employee-profile>h3{font-size:14px;margin:27px 0 15px}#employee-profile .table-wrap{border:1px solid var(--line);border-radius:8px}#employee-profile .empty{padding:25px}.review-messages{display:flex;flex-direction:column;gap:15px;margin-top:25px}.review-message{background:#f2f7f8;border:1px solid #e0e9ed;border-radius:11px;padding:16px 19px}.review-message.user{background:#17333f;color:#e3eef1;align-self:flex-start;max-width:95%}.review-message.assistant{align-self:flex-end;max-width:95%}.review-message header{font-size:10px;opacity:.6;margin-bottom:8px}.review-message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.9}.badge.absent{background:#fcebea;color:#b85a52}.badge.present{background:#e7f7ee;color:#287e5e}
@media(max-width:760px){.calendar-agenda{padding:17px}.mini-calendar-heading{padding:14px;align-items:flex-start}.mini-calendar-heading .hint{font-size:9px}.mini-calendar-heading input{max-width:135px}.mini-day{min-height:70px;padding:4px}.mini-event{font-size:7px;padding:3px}.mini-day-number{font-size:10px}.month-agenda{padding:0 14px 14px}.crew-team-picker{align-items:stretch;flex-direction:column}.crew-heading .secondary{padding:10px;font-size:11px}.employee-heading{flex-direction:column}.employee-stats{grid-template-columns:1fr 1fr}.employee-stats strong{font-size:17px}.agenda-line{gap:9px}.agenda-line>strong{min-width:65px}.neon-calendar .calendar-day{min-height:90px}.neon-calendar .calendar-event{font-size:8px;padding:4px}.crew-team-picker>label{max-width:none}}

/* Light calendars match both the overview and the event editor. */
.neon-calendar .card-heading,.event-calendar,.mini-calendar-heading{background:#fff;color:#142b38;border-color:#dfe7ee}
.neon-calendar .card-heading p,.mini-calendar-heading .hint,.month-agenda .hint{color:#748699}
.neon-calendar .card-heading label,.mini-calendar-heading label{color:#667c90}
.neon-calendar .card-heading input,.mini-calendar-heading input{background:#f8fafc;color:#193442;border-color:#d7e2ea;color-scheme:light}
.neon-calendar .calendar-grid,.mini-calendar-grid{background:#dfe7ee}
.neon-calendar .calendar-label,.mini-weekday{background:#f3f7fa;color:#647d90}
.neon-calendar .calendar-day,.mini-day{background:#fff}
.neon-calendar .calendar-day.muted,.mini-day.outside{background:#f5f7f9}
.neon-calendar .calendar-day.today,.mini-day.selected{background:#edf9f9;box-shadow:inset 0 0 0 1px #71bdc7}
.neon-calendar .calendar-day>span,.mini-day-number{color:#536f82}
.mini-day.selected .mini-day-number,.selected-mark{color:#087b87}
.mini-day-number:hover{background:#e4f1f4}
.month-agenda-title{color:#294f61}
.calendar-event,.mini-event,.agenda-line{background:color-mix(in srgb,var(--neon) 14%,white);color:#233d50;box-shadow:none;border-left-color:color-mix(in srgb,var(--neon) 60%,#164052)}
.agenda-line small{color:#647d90}
.password-control{display:flex;align-items:center;position:relative;width:100%}
.password-control input{padding-right:76px;width:100%;height:43px;min-width:0}
.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);border:0;border-radius:6px;background:#edf5f7;color:#176878;padding:8px 10px;font-size:11px;cursor:pointer}
.password-toggle:hover{background:#ddecf1}.password-toggle:focus-visible{outline:2px solid #078e9d;outline-offset:1px}
.connection-links .platform-link{--brand:#0866d9;min-height:45px;background:var(--brand);border-color:transparent;color:#fff;font-weight:600;box-shadow:0 3px 8px #183a4912;transition:filter .18s,box-shadow .18s}
.connection-links .platform-link:hover{background:var(--brand);filter:brightness(.93);box-shadow:0 5px 14px #183a4926}
.connection-links .platform-link:focus-visible{outline:3px solid #163e51;outline-offset:3px}
.connection-links .platform-meta{--brand:#0866d9;background:linear-gradient(120deg,#087ce5,#064fbc)}
.connection-links .platform-instagram{--brand:#ae2464;background:linear-gradient(115deg,#6635b7,#b72177 52%,#c63b35)}
.connection-links .platform-facebook{--brand:#1263ce}
.connection-links .platform-youtube{--brand:#d90920}
.connection-links .platform-linkedin{--brand:#0a66c2}
.connection-links .platform-tiktok{--brand:#101820;border-left:3px solid #25f4ee;border-right:3px solid #fe2c55}
.connection-links .platform-outlook{--brand:#0066b8;background:linear-gradient(115deg,#0078d4,#005ba7)}
.connection-links .platform-gmail{--brand:#ba3027;background:#ba3027;position:relative;overflow:hidden}
.connection-links .platform-gmail:after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#4285f4 25%,#ea4335 25% 50%,#fbbc04 50% 75%,#34a853 75%)}
@media(prefers-reduced-motion:reduce){.connection-links .platform-link{transition:none}}
.connection-shortcuts{padding:22px;margin-bottom:22px}.connection-shortcuts h3{font-size:15px;margin:0 0 8px}.connection-shortcuts p{font-size:12px;color:#758797;line-height:1.8}.connection-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.connection-links a{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid #d8e5eb;border-radius:8px;background:#f5fafb;color:#166a79;font-size:12px;text-decoration:none}.connection-links a:hover{background:#eaf5f7}
.quote-recipient {
  margin: 0;
  min-width: 0;
  padding: 14px;
  border: 1px solid #cde4e6;
  border-radius: 9px;
  background: #f4fafa;
}
.quote-recipient summary { color: #256772; font-size: 12px; cursor: pointer; }
.quote-recipient[open] > .form-grid { margin-top: 12px; }
.quote-line-details { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(85px, 105px); gap: 10px; }
.quote-line-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.quote-line-tools .line-search { flex: 1; min-width: min(170px, 100%); }
@media (max-width: 620px) { .quote-line-details { grid-template-columns: 1fr; } }
.quote-scope { margin: 8px 0 18px; }
#staff-monthly-report section { margin-top: 25px; }
#staff-monthly-report section h3 { margin-bottom: 10px; }
@media (max-width: 500px) {
  #record-form .dialog-actions { flex-wrap: wrap; }
  #line-items[data-priced="true"] .line-row > label:first-child { grid-column: 1 / -1; }
  #line-items[data-priced="true"] .line-row { grid-template-columns: 1fr 1fr 28px; }
}
@media print {
  #staff-monthly-report .report-month-control { display: none; }
  #staff-monthly-report .table-wrap { overflow: visible; }
  #staff-monthly-report h3 { break-after: avoid; }
}
.upcoming-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  background: #fff7e7;
  border: 1px solid #edce8b;
  border-radius: 12px;
  color: #5e3f16;
  margin-bottom: 22px;
  padding: 16px 20px;
}
.upcoming-banner > div { flex: 1; min-width: 160px; }
.upcoming-banner h2 { font-size: 16px; }
.upcoming-banner p { font-size: 12px; margin-top: 4px; }
.upcoming-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; background: #f8e1ae; font-size: 18px; font-weight: 700; }
.upcoming-banner button { border-color: #dfbf7f; color: #5e3f16; }
#upcoming-jobs { width: min(840px, calc(100vw - 28px)); }
.upcoming-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 24px; background: #fff7e7; }
.upcoming-dialog-heading .eyebrow { color: #7b5320; }
#upcoming-jobs-content .table-wrap { max-height: 62dvh; }
.inventory-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 340px) minmax(0, 220px) auto;
  align-items: end;
}
.inventory-toolbar input, .inventory-toolbar select { height: 42px; }
.inventory-count {
  display: inline-flex;
  align-items: center;
  justify-self: end;
  align-self: end;
  height: 42px;
  padding: 0 13px;
  border: 1px solid #dce9ee;
  border-radius: 8px;
  background: #f3f8fa;
  color: #3f5968;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
@media (max-width: 620px) {
  .inventory-toolbar { grid-template-columns: minmax(0, 1fr) auto; }
  .inventory-toolbar .search { grid-column: 1 / -1; min-width: 0; max-width: none; }
}
.quote-summary { text-align: left; break-inside: avoid; }
.quote-breakdown { display: grid; gap: 5px; margin: 0; }
.quote-breakdown > div, .quote-grand-total { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 2px 16px; }
.quote-breakdown dt { color: #496171; }
.quote-breakdown dd { margin: 0; margin-inline-start: auto; font-variant-numeric: tabular-nums; }
.quote-grand-total { border-top: 1px solid #d6e3e6; margin-top: 12px; padding-top: 10px; font-weight: 700; }
.quote-grand-total strong { margin-inline-start: auto; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.quote-summary-fx { margin-top: 7px; text-align: right; font-size: 11px; line-height: 1.55; color: #546d7b; overflow-wrap: anywhere; }
.quote-summary-fx small { color: inherit; font-size: inherit; }
.inventory-group > .card-heading { background: #f3f8fa; }
.line-row.equipment-line { grid-template-columns: minmax(108px, .75fr) minmax(120px, 1.35fr) 80px 95px 28px; }
.line-row.equipment-line.no-price { grid-template-columns: minmax(108px, .75fr) minmax(120px, 1.35fr) 90px 28px; }
@media (max-width: 620px) {
  #line-items .line-row.equipment-line { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 28px; }
  #line-items .line-row.equipment-line > label:has(.line-category, .item-select) { grid-column: 1 / -1; }
  #line-items .line-row.equipment-line.no-price > .remove-line { grid-column: 3; }
}
.quote-schedule { margin: 0; min-width: 0; padding: 12px; border: 1px solid #dce9ee; border-radius: 8px; }
.quote-schedule legend { padding: 0 6px; color: #3f5968; font-size: 12px; font-weight: 600; }
.quote-schedule > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 620px) { .quote-schedule > div { grid-template-columns: minmax(0, 1fr); } }
.kit-row { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(150px, 1.35fr) 78px 32px; gap: 10px; align-items: end; margin-bottom: 10px; }
.kit-preview summary { cursor: pointer; color: #176878; }
.kit-preview ul { margin: 10px 0 0; padding-left: 18px; }
.kit-preview li { margin-bottom: 6px; }
.rider-kit-title { margin-top: 20px; }
@media (max-width: 620px) {
  .kit-row { grid-template-columns: minmax(0, 1fr) 32px; }
  .kit-row label:nth-child(-n+2) { grid-column: 1 / -1; }
}
.row-actions button[data-module="delete-template"] { color: #a23731; }
/* Extra daily wages are entered separately from work counts. */
.extra-pay-fields{padding:18px;border:1px solid #b6e1e5;border-radius:10px;background:#f1f9fa}.attendance-extra-total{display:block;margin-top:12px;font-size:16px;font-weight:700;color:#126677}.extra-pay-fields .hint{margin-top:10px}.badge.extra{background:#e8f7ef;color:#167047}#staff-monthly-report .table-wrap{margin-bottom:16px}#staff-monthly-report section{margin-top:26px}
.employee-stats:has(>div:nth-child(6)){grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:640px){.employee-stats:has(>div:nth-child(6)){grid-template-columns:repeat(2,minmax(0,1fr))}}
