:root { --ink:#25313a; --muted:#63717c; --line:#dce2e7; --red:#bd1637; --surface:#f4f6f8; --priority-critical:#c31d38; --priority-high:#d26b10; --priority-normal:#2563b0; --priority-low:#7b8794; --done:#2c754d; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:var(--surface); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:disabled { cursor:default; opacity:.5; }
a { color:inherit; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #2b78ad; outline-offset:3px; }
h1,h2,h3,p { margin:0; }
.skip-link { position:absolute; left:20px; top:-70px; padding:14px; background:#fff; z-index:5; }
.skip-link:focus { top:12px; }
.topbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; padding:16px max(24px,calc((100vw - 1320px)/2)); background:#fff; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:16px; text-decoration:none; font-size:18px; font-weight:700; }
.brand img { object-fit:contain; }
.brand strong { display:block; margin-top:6px; font-size:10px; letter-spacing:1.4px; color:var(--muted); }
.session-status { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:13px; font-size:11px; }
.role-badge { max-width:280px; line-height:1.7; font-weight:700; }
.save-status { color:var(--muted); }
.save-status.failed { color:var(--red); }
main { max-width:1368px; margin:auto; padding:38px 24px 20px; }
.page-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; margin-bottom:30px; }
.eyebrow { font-size:10px; letter-spacing:1.4px; font-weight:700; color:var(--red); }
h1 { margin:9px 0 11px; font-size:clamp(27px,3vw,36px); letter-spacing:-1px; }
.page-heading p { font-size:13px; line-height:1.8; color:var(--muted); }
.private-badge { color:var(--muted); border:1px solid var(--line); border-radius:20px; padding:8px 12px; font-size:10px; background:#fff; }
.panel { background:#fff; border:1px solid var(--line); border-radius:7px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:11px 15px; min-height:40px; border:1px solid #c7d0d7; border-radius:4px; background:#fff; color:var(--ink); text-decoration:none; font-size:12px; font-weight:600; }
.button:hover:not(:disabled) { background:#edf1f4; border-color:#8e9da8; }
.button.primary { background:var(--red); border-color:var(--red); color:#fff; }
.button.primary:hover:not(:disabled) { background:#a31330; }
.button.small { min-height:32px; padding:7px 10px; font-size:10px; }
.button.danger { color:var(--red); margin-right:auto; }
label { display:grid; gap:7px; font-size:12px; color:var(--muted); }
input:not([type=checkbox]),select,textarea { width:100%; min-width:0; border:1px solid #c6d0d8; border-radius:4px; padding:10px; background:#fff; color:var(--ink); font-size:13px; }
textarea { resize:vertical; line-height:1.6; }
input:disabled,select:disabled,textarea:disabled { background:#f4f6f8; opacity:1; }
.error-banner { padding:15px 18px; border:1px solid #e4b3be; border-left:4px solid var(--red); border-radius:4px; background:#fff1f4; font-size:12px; line-height:1.8; margin-bottom:18px; }
.error-banner p { margin-bottom:12px; }
.success-banner { padding:15px 18px; margin-bottom:18px; border:1px solid #c5dacb; border-radius:4px; background:#edf5ef; color:#28553a; font-size:13px; line-height:1.7; }
.empty-hint { padding:20px 0; color:var(--muted); font-size:13px; }
.week-panel { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:22px; margin-bottom:25px; padding:22px; background:var(--ink); border-radius:6px; color:#fff; }
.week-panel .eyebrow { color:#eea7b7; }
.week-panel h2 { font-size:22px; margin-top:9px; letter-spacing:-.4px; }
.week-controls { display:flex; align-items:end; flex-wrap:wrap; gap:8px; }
.week-controls label { color:#d5dfe6; font-size:10px; gap:5px; }
.week-controls input { width:145px; min-height:40px; }
.task-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:22px; }
.task-stat { display:flex; gap:13px; align-items:center; width:100%; padding:16px 18px; background:#fff; border:1px solid var(--line); border-radius:5px; text-align:left; color:var(--ink); }
.task-stat:hover:not(:disabled) { background:#f8fafc; box-shadow:0 2px 8px #25313a15; }
.task-stat-hint { display:block; margin-top:5px; color:#305b7a; font-size:10px; font-weight:600; }
.task-stat strong { font-size:28px; font-weight:750; }
.task-stat span { font-size:11px; line-height:1.6; color:var(--muted); }
.task-stat:nth-child(2) { border-top:3px solid var(--done); }
.task-stat:last-child { border-top:3px solid #38694b; }
.board-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin-bottom:20px; }
.board-help { font-size:12px; color:var(--muted); margin-bottom:13px; line-height:1.7; }
.week-board { display:grid; grid-template-columns:repeat(7,minmax(115px,1fr)); gap:10px; overflow-x:auto; padding-bottom:10px; }
.board-day { position:relative; background:#fff; border:1px solid var(--line); border-radius:5px; overflow:hidden; }
.board-day-selected { border-color:var(--red); background:#fff4f6; }
.board-day-select { display:grid; gap:8px; width:100%; min-height:139px; padding:17px 12px; border:0; background:transparent; text-align:left; color:var(--ink); }
.board-day-select:hover { background:#edf1f480; }
.board-day-name { font-size:11px; font-weight:700; }
.board-day-select strong { font-size:19px; letter-spacing:-.5px; }
.board-day-select > span:not(.board-day-name) { font-size:10px; line-height:1.5; color:var(--muted); }
.board-add { position:absolute; right:8px; top:43px; width:26px; height:26px; background:#fff; border:1px solid #cbd4dc; border-radius:4px; color:var(--red); font-size:20px; line-height:1; }
.selected-day-panel { margin-top:17px; padding:25px; border-top:3px solid var(--ink); }
.selected-day-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; margin-bottom:23px; }
.selected-day-heading h2 { font-size:24px; letter-spacing:-.5px; margin:8px 0; }
.selected-day-heading p { font-size:12px; color:var(--muted); line-height:1.7; }
.day-task-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; align-items:start; }
.day-task { border:1px solid var(--line); border-radius:6px; overflow:hidden; min-width:0; }
.task-card { display:grid; gap:13px; text-align:left; width:100%; padding:20px; background:#fff; border:0; border-left:6px solid #9eaeb9; color:var(--ink); }
.task-card:hover { background:#fbfcfd; }
:is(.task-card,.overdue-row,.week-record)[data-priority-level=critical] { border-left-color:var(--priority-critical); }
:is(.task-card,.overdue-row,.week-record)[data-priority-level=high] { border-left-color:var(--priority-high); }
:is(.task-card,.overdue-row,.week-record)[data-priority-level=normal] { border-left-color:var(--priority-normal); }
:is(.task-card,.overdue-row,.week-record)[data-priority-level=low] { border-left-color:var(--priority-low); }
.task-company-row { display:flex; align-items:start; justify-content:space-between; gap:15px; }
.task-company-group { min-width:0; display:grid; gap:5px; }
.company-caption { font-size:9px; letter-spacing:1.2px; color:var(--muted); font-weight:700; }
.task-company { font-size:clamp(24px,2.2vw,30px); font-weight:800; line-height:1.2; letter-spacing:-.6px; overflow-wrap:anywhere; }
.task-status-panel { margin:18px 0; padding:16px; border:1px solid var(--line); border-radius:5px; background:var(--surface); }
.task-status-panel h3 { font-size:15px; margin-bottom:12px; }
.task-status-controls { display:flex; align-items:end; gap:12px; flex-wrap:wrap; }
.task-status-controls label { flex:1; min-width:170px; margin:0; }
.task-status-controls .button { margin-bottom:0; }
.task-status-panel .board-help { margin:10px 0 0; }
.task-title { font-size:16px; line-height:1.5; font-weight:650; overflow-wrap:anywhere; }
.task-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:7px 15px; color:var(--muted); font-size:12px; line-height:1.7; }
.task-responsible { min-width:0; color:var(--ink); overflow-wrap:anywhere; }
.task-location { font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.priority-tag { display:inline-flex; align-items:center; gap:6px; padding:5px 8px; border-radius:4px; font-size:11px; font-weight:700; white-space:nowrap; background:#edf1f5; color:#496173; }
.priority-tag::before { content:''; width:8px; height:8px; flex-shrink:0; border-radius:50%; background:currentColor; }
.priority-critical { background:#ffebef; color:#a91330; }
.priority-high { background:#fff0df; color:#a14609; }
.priority-normal { background:#e8f1ff; color:#1c5199; }
.priority-low { background:#edf0f3; color:#4e5b68; }
.priority-legend { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.priority-legend > strong { margin-right:4px; color:var(--muted); font-size:11px; }
.task-status { font-size:11px; color:var(--muted); }
.task-status-progress { color:var(--priority-normal); font-weight:700; }
.task-status-blocked { color:var(--red); font-weight:700; }
.task-status-done { color:var(--done); font-weight:700; }
.day-task-overdue { border:2px solid #c31435; background:#fff0f3; }
.day-task-overdue .task-card { background:#fff0f3; }
.day-task-overdue .task-card-footer { background:#ffe4eb; }
.board-day-late { border-color:var(--red); background:#fff0f3; }
.overdue-label { color:#a4102d; font-size:11px; font-weight:800; letter-spacing:.6px; }
.task-delay { color:#a4102d; font-size:13px; font-weight:700; }
.day-task-done .task-delay { color:#496173; }
.review-notice { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; padding:10px 14px; margin-bottom:18px; border:1px solid #e4b3be; border-left:3px solid var(--red); border-radius:4px; background:#fff1f4; font-size:12px; line-height:1.6; }
.overdue-panel { margin-bottom:20px; border:1px solid #e4b3be; border-left:3px solid var(--red); border-radius:5px; overflow:hidden; background:#fff; }
.overdue-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 16px; padding:11px 14px; background:#fff0f3; border-bottom:1px solid #eed3d9; }
.overdue-heading h3 { display:flex; align-items:center; gap:9px; color:#a4102d; font-size:15px; }
.overdue-count { padding:2px 7px; border-radius:10px; background:var(--red); color:#fff; font-size:11px; }
.overdue-heading p,.overdue-list-hint { color:var(--muted); font-size:11px; line-height:1.5; }
.overdue-list { list-style:none; margin:0; padding:0; max-height:180px; overflow-y:auto; overscroll-behavior-y:contain; scrollbar-gutter:stable; }
.overdue-list li + li { border-top:1px solid #f0e0e4; }
.overdue-row { display:flex; align-items:center; gap:16px; width:100%; min-height:58px; padding:9px 14px; background:#fff; border:0; border-left:6px solid transparent; text-align:left; color:var(--ink); }
.overdue-row:hover { background:#fff5f7; }
.overdue-row:focus-visible { outline-offset:-3px; }
.overdue-main { display:flex; align-items:center; flex:1; min-width:0; gap:14px; }
.overdue-company { flex:0 1 145px; min-width:0; font-size:18px; line-height:1.3; font-weight:800; }
.overdue-title { flex:1; min-width:0; font-size:13px; line-height:1.6; }
.overdue-company,.overdue-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.overdue-flags { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.overdue-delay { color:#a4102d; font-size:12px; font-weight:700; white-space:nowrap; }
.overdue-review { color:#a4102d; font-size:10px; font-weight:700; white-space:nowrap; }
.overdue-chevron { color:#a4102d; font-size:22px; }
.overdue-list-hint { padding:6px 14px; border-top:1px solid #f0e0e4; background:#fffafb; }
#task-detail-actions { margin-top:16px; }
.archive-summary { margin:20px 0; }
#archive-form { margin-bottom:20px; }
.photo-row .button { overflow-wrap:anywhere; text-align:left; max-width:100%; }
.pending-file-name { flex:1; min-width:0; overflow-wrap:anywhere; }
.photo-label { font-size:11px; color:#496173; }
.task-photo-section { padding:17px; margin-top:19px; border:1px solid var(--line); border-radius:5px; background:var(--surface); }
.task-photo-section h3 { font-size:15px; margin-bottom:15px; }
.photo-note { font-size:11px; color:var(--muted); line-height:1.8; margin-top:11px; }
.day-task-done .task-title { text-decoration:line-through; color:var(--muted); }
.day-task-done .task-card { border-left-color:var(--done); background:#f4faf6; }
.task-card-footer { padding:13px 20px; background:#f4f7f9; border-top:1px solid var(--line); display:grid; gap:10px; }
.day-task-done .task-card-footer { background:#edf5ef; }
.task-complete { display:flex; align-items:center; gap:10px; color:var(--ink); cursor:pointer; line-height:1.6; }
.task-complete input { width:20px; height:20px; accent-color:#38694b; flex-shrink:0; }
.task-author,.task-author-info { color:var(--muted); font-size:11px; line-height:1.8; overflow-wrap:anywhere; }
.task-completion { padding:10px 12px; border:1px solid #c5dacb; border-radius:4px; background:#fff; color:#28553a; font-size:12px; font-weight:700; line-height:1.8; overflow-wrap:anywhere; }
.task-completion:empty { display:none; }
.user-panel { margin-top:28px; padding:25px; border-top:3px solid var(--red); }
.user-panel-note { color:var(--muted); font-size:12px; line-height:1.8; margin-bottom:22px; }
.user-panel-columns { display:grid; grid-template-columns:1.2fr 1fr; gap:28px; }
.user-list-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:14px; }
.user-panel h3 { font-size:16px; }
.users-list { display:grid; gap:10px; }
.user-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px; background:var(--surface); border:1px solid var(--line); border-radius:4px; }
.user-row strong { display:block; font-size:13px; overflow-wrap:anywhere; }
.user-row span { display:block; margin-top:6px; font-size:11px; color:var(--muted); line-height:1.6; }
.user-form { display:grid; align-content:start; gap:15px; padding:20px; background:var(--surface); border:1px solid var(--line); border-radius:5px; }
.user-active { display:flex; align-items:center; gap:9px; color:var(--ink); }
.user-active input { width:18px; height:18px; accent-color:var(--red); }
.user-form .dialog-actions { flex-wrap:wrap; }
.user-form small { line-height:1.6; }
.user-message { margin-top:18px; font-size:12px; color:#28553a; line-height:1.8; }
.user-message.failed { color:var(--red); }
.board-empty { font-size:13px; color:var(--muted); padding:16px 0; line-height:1.8; }
.last-update { text-align:right; font-size:10px; color:var(--muted); margin-top:13px; }
footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; border-top:1px solid var(--line); padding-top:18px; margin-top:36px; font-size:10px; color:var(--muted); }
dialog { width:min(650px,calc(100% - 28px)); max-height:calc(100vh - 36px); padding:26px; overflow-y:auto; color:var(--ink); border:1px solid var(--line); border-top:4px solid var(--red); border-radius:7px; box-shadow:0 20px 80px #101c2440; }
dialog::backdrop { background:#15232eaa; }
.week-summary-dialog { width:min(820px,calc(100% - 28px)); }
.week-summary-period { margin-bottom:10px; color:var(--muted); font-size:13px; font-weight:700; }
.week-summary-count { margin:16px 0; padding:12px 14px; border-radius:4px; background:var(--surface); font-size:13px; font-weight:700; line-height:1.7; }
.week-summary-list { display:grid; gap:14px; }
.week-record { min-width:0; padding:17px 18px; border:1px solid var(--line); border-left:6px solid var(--priority-low); border-radius:5px; }
.week-record.week-record-done { border-left-color:var(--done); }
.week-record-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.week-record-heading > strong { font-size:17px; overflow-wrap:anywhere; }
.week-record h3 { margin:12px 0 8px; font-size:15px; line-height:1.6; overflow-wrap:anywhere; }
.week-record-meta { margin-top:10px; color:var(--muted); font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.week-record-completion { margin-top:13px; padding:11px 13px; background:#edf5ef; border-radius:4px; color:#28553a; font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.week-record-operations { margin-top:10px; font-size:13px; line-height:1.7; }
.week-record-details { margin-top:13px; font-size:12px; line-height:1.8; }
.week-record-details summary { cursor:pointer; color:#305b7a; font-weight:700; }
.week-record-details p { margin-top:8px; }
.week-record-note { white-space:pre-wrap; overflow-wrap:anywhere; }
.dialog-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:22px; }
.dialog-heading h2 { font-size:25px; letter-spacing:-.5px; }
.dialog-heading .button { font-size:23px; padding:3px 12px; }
#task-form > label { margin-bottom:17px; }
.company-field input { font-size:20px; font-weight:700; padding:12px; }
.task-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:18px; }
.task-author-info { margin:17px 0; }
.dialog-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:23px; }
@media(max-width:900px) {
  .task-stat { padding:14px 12px; gap:10px; }
  .task-stat strong { font-size:24px; }
  .task-stats { gap:9px; }
  .day-task-list { grid-template-columns:1fr; }
  .user-panel-columns { grid-template-columns:1fr; }
}
@media(max-width:640px) {
  .overdue-main { display:grid; gap:2px; }
  .overdue-company { font-size:17px; }
  .overdue-flags { display:grid; gap:3px; justify-items:end; }
  .overdue-row { gap:10px; padding:9px 11px; }
  .topbar { padding:14px 16px; }
  .session-status { justify-content:flex-start; gap:9px; }
  .brand { font-size:16px; }
  main { padding:26px 15px 18px; }
  .private-badge { display:none; }
  .task-stats,.board-filters { grid-template-columns:1fr 1fr; }
  .week-panel { padding:19px 15px; gap:20px; }
  .week-panel h2 { font-size:20px; }
  .week-controls { gap:7px; }
  .week-controls .button { padding:10px 12px; }
  .week-controls label { width:100%; margin-top:5px; }
  .week-controls input { width:100%; }
  input:not([type=checkbox]),select,textarea { font-size:16px; }
  .company-field input { font-size:20px; }
  .selected-day-heading h2 { font-size:21px; }
  .selected-day-heading > .button { width:100%; }
  .task-card { padding:17px; }
  .task-company { font-size:26px; }
  .task-card-footer { padding:13px 17px; }
  dialog { padding:21px 17px; }
}
.auth-panel {max-width:520px;margin:20px auto;padding:30px;border-top:4px solid var(--red)}
.auth-panel h2 {font-size:27px;margin:12px 0}.auth-panel p {font-size:13px;line-height:1.8;color:var(--muted);margin:12px 0}.auth-panel form {display:grid;gap:18px;margin-top:23px}.auth-help {border-top:1px solid var(--line);padding-top:16px}
#task-form>label,#transport-form>label {display:grid;margin-bottom:17px}.more-button {margin-top:20px}.transport-counts {font-size:16px;line-height:1.8}
#task-review label {margin:12px 0}.photo-list {display:grid;gap:12px;margin:16px 0}.photo-row {display:flex;align-items:center;flex-wrap:wrap;gap:10px}.photo-row small {font-size:11px;color:var(--muted)}
#photo-preview {margin:18px 0 0}#photo-image {max-width:100%;max-height:360px;object-fit:contain;display:block;margin:auto}#photo-download {margin-top:12px}
.credential-result {display:grid;gap:15px;padding:20px;margin-bottom:22px;border:1px solid #b9ccd9;border-radius:5px;background:#edf4f9;font-size:13px;line-height:1.7}.credential-result input {font-family:monospace}
#complete-task-name {font-weight:700;font-size:16px;line-height:1.7;margin-bottom:18px}#complete-form>label {margin-bottom:10px}
#task-review-info {margin:0 0 10px}.task-card-footer .button {justify-self:start}.task-card:disabled {opacity:1}
.statistics-controls { padding:22px; border-top:3px solid var(--ink); }
.statistics-toolbar { display:grid; grid-template-columns:1fr 2fr; gap:18px; margin-bottom:20px; }
.statistics-periods { display:flex; align-items:end; flex-wrap:wrap; gap:20px; }
.statistics-periods fieldset { display:grid; grid-template-columns:105px minmax(140px,1fr); gap:12px; flex:1; min-width:260px; padding:16px; margin:0; border:1px solid var(--line); border-radius:5px; }
.statistics-periods legend { font-size:12px; font-weight:700; padding:0 7px; }
.statistics-periods fieldset:first-child { border-color:#d297a5; }
.statistics-periods fieldset:nth-child(2) { border-color:#9eb5c6; }
.statistics-periods .button { margin-bottom:1px; }
.statistics-result-heading { display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:18px; margin:30px 0 20px; }
.statistics-result-heading h2 { font-size:23px; margin:9px 0; }
.statistics-result-heading p { font-size:12px; color:var(--muted); line-height:1.7; }
.statistics-result-heading .board-help { margin-bottom:0; }
.statistics-notice { padding:12px 16px; margin-bottom:18px; background:#fff4e5; border:1px solid #e7c99c; border-radius:5px; font-size:12px; line-height:1.7; }
.statistics-cards { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:22px; }
.statistics-card { padding:18px; background:#fff; border:1px solid var(--line); border-radius:5px; }
.statistics-card h3 { font-size:12px; line-height:1.6; min-height:38px; }
.statistics-card > strong { display:block; font-size:32px; margin:9px 0 4px; }
.statistics-card > span { font-size:10px; color:var(--muted); }
.statistics-card p { font-size:11px; color:var(--muted); line-height:1.8; margin-top:12px; }
.statistics-card:nth-child(2) { border-top:3px solid var(--red); }
.statistics-chart-panel,.statistics-client-panel { padding:24px; margin-bottom:22px; }
.statistics-chart-heading { display:flex; align-items:start; justify-content:space-between; flex-wrap:wrap; gap:18px; }
.statistics-chart-panel h3,.statistics-client-panel h3 { font-size:18px; margin-bottom:12px; }
.statistics-chart-heading label { min-width:230px; }
.statistics-legend { display:flex; gap:20px; margin:16px 0 20px; font-size:12px; }
.statistics-legend span { display:flex; align-items:center; gap:7px; }
.statistics-legend span::before { content:''; width:12px; height:12px; border-radius:2px; }
.legend-a::before { background:#bd1637; }.legend-b::before { background:#476f8e; }
.statistics-bar-row { display:grid; grid-template-columns:190px 1fr 65px; gap:16px; align-items:center; margin:13px 0; font-size:13px; }
.statistics-bar-row svg { display:block; width:100%; height:26px; }
.statistics-bar-row > strong { text-align:right; font-size:20px; }
.statistics-trend-heading { margin-top:32px; }
.statistics-trend { overflow-x:auto; }
.statistics-trend svg { display:block; width:100%; min-width:700px; height:auto; }
.statistics-table-scroll { overflow-x:auto; }
.statistics-table-scroll table { width:100%; min-width:700px; border-collapse:collapse; font-size:12px; line-height:1.6; }
.statistics-table-scroll caption { text-align:left; padding:12px 0; font-size:11px; color:var(--muted); }
.statistics-table-scroll th,.statistics-table-scroll td { text-align:right; padding:12px 14px; border-bottom:1px solid var(--line); white-space:nowrap; }
.statistics-table-scroll th:first-child { text-align:left; }
.statistics-table-scroll thead th { background:var(--surface); font-size:11px; }
.statistics-table-scroll th small { display:block; font-weight:400; margin-top:4px; }
.statistics-table-scroll tfoot { font-weight:700; background:#edf1f5; }
.value-a { color:#a4102d; }.value-b { color:#365d7b; }
.statistics-series-details { margin-top:12px; }
.statistics-series-details summary,.statistics-definitions summary { cursor:pointer; font-size:13px; font-weight:700; }
.statistics-definitions { padding:20px 24px; }
.statistics-definitions ul { padding-left:20px; margin:16px 0 0; font-size:12px; color:var(--muted); line-height:1.9; }
.statistics-definitions li + li { margin-top:8px; }
@media(max-width:1000px) { .statistics-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }.statistics-bar-row { grid-template-columns:160px 1fr 55px; } }
@media(max-width:640px) { .statistics-toolbar { grid-template-columns:1fr; }.statistics-controls,.statistics-chart-panel,.statistics-client-panel { padding:17px; }.statistics-periods { gap:16px; }.statistics-periods fieldset { min-width:0; flex-basis:100%; grid-template-columns:90px minmax(0,1fr); }.statistics-periods > .button { width:100%; }.statistics-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }.statistics-card { padding:15px; }.statistics-card > strong { font-size:28px; }.statistics-bar-row { grid-template-columns:100px minmax(70px,1fr) 45px; gap:8px; font-size:11px; }.statistics-chart-heading label { width:100%; min-width:0; } }

.admin-section { margin-bottom: 24px; padding: 24px; }
.admin-columns { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(0,1.2fr); gap: 32px; align-items: start; }
.admin-columns form { display: grid; gap: 16px; }
#client-show-deleted { margin: 14px 0; }
.report-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0; }
#report-dialog .user-active { margin:14px 0; }
#report-dialog .muted { font-size:13px; line-height:1.6; }
@media(max-width:480px) { .report-fields { grid-template-columns:1fr; } }
#admin-clients .dialog-actions { flex-shrink: 0; gap: 6px; }
#admin-clients { max-height: 820px; overflow-y: auto; padding-right: 8px; }
#client-fields { display: grid; gap: 14px; }
.client-field-group { margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 5px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; min-width: 0; }
.client-field-group legend { font-weight: 700; padding: 0 5px; }
.client-field-group .user-active { font-size: 14px; }
.client-field-group input { flex: 0 0 18px; }
.admin-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid #dce2e7; overflow-wrap: anywhere; }
.admin-row small { display: block; color: #63717c; margin-top: 5px; }
.audit-row time { font-size: 12px; flex: 0 0 110px; color: #63717c; }
.audit-row > span:nth-child(2) { flex: 1; }
#backup-progress { font-weight: 600; }
@media (max-width: 700px) { .admin-columns { grid-template-columns: 1fr; } .client-field-group { grid-template-columns: 1fr; } .admin-row { align-items: flex-start; flex-wrap: wrap; } .admin-section { padding: 16px; } }

.history-entry{border-bottom:1px solid #dce2e7;padding:12px 0}.history-entry small{display:block;color:#63717c;margin-top:3px}.history-entry p{margin:5px 0;overflow-wrap:anywhere}#handover-text{width:100%;font:inherit;line-height:1.5}#task-history-list{max-height:340px;overflow:auto}#save-status[data-phase="failed"]{color:#b42318;font-weight:700}#save-status[data-phase="saved"]{color:#17613b}#save-status[data-phase="saving"]{color:#8a4b06}

.button.return-plan{background:#174f86;color:#fff;border:2px solid #174f86;font-weight:750;box-shadow:0 2px 7px #174f8626}.button.return-plan:hover{background:#103b66;border-color:#103b66;color:#fff}.button.return-plan:focus-visible{outline:3px solid #83bfff;outline-offset:3px}#template-form{margin:18px 0 24px;border:1px solid #dce2e7;padding:18px;border-radius:8px}#template-form label{display:block;margin:9px 0}#template-form[hidden]{display:none}
.arrival-notice{position:fixed;right:20px;bottom:20px;z-index:50;width:min(440px,calc(100vw - 32px));padding:20px;background:#eef6ff;color:#173b60;border:2px solid #174f86;border-radius:12px;box-shadow:0 8px 32px #102c4640}.arrival-notice>strong{font-size:20px}.arrival-notice p{margin:10px 0 16px;overflow-wrap:anywhere}.arrival-notice .dialog-actions{flex-wrap:wrap;gap:8px}.sound-help:empty{display:none}.sound-help{max-width:240px;font-size:11px;color:#48616d}.arrival-task{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;margin:10px 0;padding:16px;text-align:left;white-space:normal}.arrival-task span{font-weight:400;color:#526574}
