:root{--bg:#000;--glass:rgba(28,28,30,.8);--line:rgba(255,255,255,.11);--line-soft:rgba(255,255,255,.07);--text:#f5f5f7;--muted:#a1a1a6;--tertiary:#7d7d83;--blue:#0a84ff;--green:#30d158;--orange:#ff9f0a;--red:#ff453a;--radius:22px}*{box-sizing:border-box}html{background:#000}body{min-width:320px;margin:0;background:radial-gradient(circle at 68% -10%,#153565 0,transparent 30rem),linear-gradient(135deg,#000,#090a0d 50%,#030405);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;letter-spacing:-.01em}[hidden]{display:none!important}button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.app-sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:20px 14px 15px;border-right:1px solid var(--line-soft);background:#09090be0;backdrop-filter:blur(26px)}.app-brand{display:flex;align-items:center;gap:10px;padding:4px 10px 30px;color:var(--text);text-decoration:none}.app-brand>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff29;border-radius:11px;background:linear-gradient(145deg,#4ba6ff,#0072e8);box-shadow:0 6px 15px #007aff55;color:#fff;font-size:11px;font-weight:800}.app-brand b{display:block;font-size:17px;letter-spacing:-.04em}.app-brand small{display:block;margin-top:1px;color:var(--tertiary);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.app-nav{display:grid;gap:3px}.app-nav a,.app-nav button{display:flex;align-items:center;gap:11px;width:100%;min-height:42px;padding:0 11px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:13px;font-weight:550;text-align:left;text-decoration:none;cursor:pointer}.app-nav a:hover,.app-nav a.active{background:linear-gradient(90deg,#0a84ff3d,#0a84ff14);color:#fff}.app-nav a.active{box-shadow:inset 0 0 0 1px #5ac8fa1f}.nav-mark{display:grid;place-items:center;width:18px;color:#75bdff;font-size:17px;font-style:normal;font-weight:400}.app-sidebar-bottom{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-soft)}.user-chip{display:flex;align-items:center;gap:10px;min-width:0;padding:10px}.user-avatar{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:linear-gradient(145deg,#55555a,#29292d);color:#fff;font-size:10px;font-weight:750}.user-chip strong,.user-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip strong{font-size:12px}.user-chip small{margin-top:2px;color:var(--tertiary);font-size:10px}.app-main{min-width:0}.app-topbar{position:sticky;z-index:5;top:0;display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 42px;border-bottom:1px solid var(--line-soft);background:#09090b9e;backdrop-filter:blur(24px)}.topbar-context{display:flex;align-items:center;gap:10px;color:var(--tertiary);font-size:13px}.topbar-context b{color:var(--text);font-size:14px;font-weight:650}.topbar-date{font-size:12px}.status-pill{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:#2c2c2eb3;color:var(--muted);font-size:11px;font-weight:600}.status-pill:before{width:6px;height:6px;border-radius:50%;background:var(--tertiary);content:""}.status-pill.ok{border-color:#30d15840;background:#17532a59;color:#91edab}.status-pill.ok:before{background:var(--green);box-shadow:0 0 8px #30d158}.status-pill.warn{border-color:#ff9f0a40;background:#6c44004d;color:#ffc15a}.status-pill.warn:before{background:var(--orange)}.app-content{width:min(1120px,100%);margin:0 auto;padding:52px 42px 72px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.page-header h1{margin:0;font-size:clamp(30px,4vw,42px);font-weight:700;letter-spacing:-.06em;line-height:1.04}.page-header p{max-width:600px;margin:10px 0 0;color:var(--muted);font-size:15px;line-height:1.45}.page-header-meta,.history-summary{color:var(--tertiary);font-size:12px}.work-panel{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#2c2c2ed1,#19191bb8);box-shadow:0 20px 50px #0003;backdrop-filter:blur(20px)}.work-panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:0 20px;border-bottom:1px solid var(--line-soft)}.work-panel-title{margin:0;color:#fff;font-size:15px;font-weight:650;letter-spacing:-.02em}.work-panel-body{padding:20px}.hero-route{position:relative;isolation:isolate;overflow:hidden;margin-bottom:18px;padding:29px;border:1px solid #5ac8fa2b;border-radius:var(--radius);background:radial-gradient(circle at 100% 0,#1057a675,transparent 40%),linear-gradient(135deg,#0f3e79b8,#1e1e20e6 60%);box-shadow:0 22px 55px #0004}.hero-route:after{position:absolute;z-index:-1;right:0;top:24px;width:min(82%,280px);aspect-ratio:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 320'%3E%3Cpath d='M56 264 264 56M136 56H264V184' fill='none' stroke='%235ac8fa' stroke-width='28' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.085;pointer-events:none;content:""}.hero-kicker{margin:0 0 10px;color:#8fd0ff;font-size:12px;font-weight:650}.hero-route h2{position:relative;z-index:1;max-width:560px;margin:0;font-size:clamp(30px,4vw,45px);letter-spacing:-.06em}.hero-route p{position:relative;z-index:1;max-width:470px;margin:11px 0 24px;color:#c4ddf5;font-size:14px;line-height:1.45}.hero-route .action-primary{position:relative;z-index:1}.route-glance{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}.data-tag{padding:7px 10px;border:1px solid #ffffff21;border-radius:999px;background:#00000026;color:#c8d5e2;font-size:12px}.data-tag b{color:#fff;font-weight:650}.action-primary,.action-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 17px;border:0;border-radius:13px;color:#fff;font-size:14px;font-weight:650;text-decoration:none;cursor:pointer}.action-primary{background:linear-gradient(180deg,#2194ff,#0077ed);box-shadow:0 8px 20px #007aff55}.action-primary:hover{background:linear-gradient(180deg,#43a7ff,#1686f4);transform:translateY(-1px)}.action-secondary{border:1px solid var(--line);background:#76768029;color:#e5e5ea}.action-secondary:hover{background:#76768045}.home-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);gap:18px}.recent-list,.history-list{display:grid}.recent-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 18px;border-bottom:1px solid var(--line-soft);color:inherit;text-decoration:none}.recent-item:last-child,.history-item:last-child{border-bottom:0}.recent-item:hover,.history-item:hover{background:#ffffff0b}.route-calendar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#0a84ff2e;color:#76beff;font-size:16px}.recent-item b{display:block;font-size:14px;font-weight:650}.recent-item small{display:block;margin-top:3px;color:var(--tertiary);font-size:11px}.recent-item-right{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.format-badge,.state-badge{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:999px;background:#0a84ff26;color:#91cdff;font-size:10px;font-weight:700}.state-badge.ok{background:#30d15824;color:#93e8a9}.state-badge.warn{background:#ff9f0a24;color:#ffc266}.system-list{display:grid}.system-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid var(--line-soft);font-size:13px}.system-item:last-child{border:0}.system-item span{color:var(--muted)}.system-item b{font-size:12px;font-weight:600}.system-item b.ok{color:#8ee8a6}.system-item b.neutral{color:#e1e1e4}.table-action{border:0;background:transparent;color:#71b9ff;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer}.metric-grid,.workspace-grid,.today-route,.ops-table{display:none}.workflow{display:grid;gap:14px;max-width:820px}.workflow-step{display:grid;grid-template-columns:44px minmax(0,1fr);gap:15px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass)}.workflow-step-index{display:grid;place-items:center;align-self:start;width:32px;height:32px;border-radius:50%;background:#0a84ff2e;color:#83c6ff;font-size:0}.workflow-step-index:before{font-size:13px;font-weight:700}.workflow-step:nth-child(1) .workflow-step-index:before{content:"1"}.workflow-step:nth-child(2) .workflow-step-index:before{content:"2"}.workflow-step:nth-child(3) .workflow-step-index:before{content:"3"}.workflow-step-body h2{margin:5px 0 16px;font-size:19px;font-weight:650;letter-spacing:-.035em}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:8px;color:#c7c7cc;font-size:12px;font-weight:600}.field input,.field select,.search-input,.toolbar select{width:100%;height:46px;padding:0 13px;border:1px solid var(--line);border-radius:12px;outline:none;background:#00000042;color:#f5f5f7;font-size:14px}.field input:focus,.field select:focus,.search-input:focus,.toolbar select:focus{border-color:#2997ff;box-shadow:0 0 0 4px #0a84ff2e}.format-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.format-choice{display:flex;align-items:center;gap:12px;min-height:72px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#0000002e;color:var(--muted);text-align:left;cursor:pointer}.format-choice.active{border-color:#0a84ffcc;background:linear-gradient(135deg,#0a84ff40,#0a84ff14);color:#fff;box-shadow:inset 0 0 0 1px #5ac8fa2e}.format-choice i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#0a84ff33;color:#8fcfff;font-size:10px;font-style:normal;font-weight:800}.format-choice span{font-size:14px;font-weight:650}.format-choice small{color:var(--tertiary);font-size:11px;font-weight:500}.toggle-line{display:flex;align-items:center;justify-content:space-between;max-width:480px;color:#e5e5ea;font-size:14px}.toggle-line b{color:#74bdff;font-size:11px}.switch{position:relative;width:51px;height:31px}.switch input{position:absolute;opacity:0}.switch span{position:absolute;inset:0;border-radius:99px;background:#39393d;cursor:pointer}.switch span:after{position:absolute;top:3px;left:3px;width:25px;height:25px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0005;content:"";transition:left .18s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{left:23px}.workflow-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px}.account-box{display:flex;align-items:center;gap:11px;color:var(--muted);font-size:12px}.account-box strong{display:block;color:#fff;font-size:13px}.account-box span{display:block;margin-top:3px}.account-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 9px #30d158}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:15px 17px;border-bottom:1px solid var(--line-soft)}.toolbar .search-input{flex:1 1 260px}.history-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px 20px;border-bottom:1px solid var(--line-soft);cursor:pointer}.history-date{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:#76768029;color:#d7d7dc;font-size:12px;font-weight:650}.history-item h2{margin:0;color:#f5f5f7;font-size:15px;font-weight:650}.history-item p{margin:4px 0 0;color:var(--tertiary);font-size:12px}.history-metrics{display:flex;align-items:center;gap:11px;color:var(--muted);font-size:12px}.history-metrics span{white-space:nowrap}.history-empty{padding:35px 20px;color:var(--tertiary);font-size:13px;text-align:center}.detail-drawer{position:fixed;z-index:20;top:0;right:0;bottom:0;width:min(760px,100%);padding:24px;border-left:1px solid var(--line);background:#141416ed;box-shadow:-25px 0 70px #0009;backdrop-filter:blur(28px);overflow:auto}.detail-drawer[hidden]{display:none}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}.drawer-head h2{margin:0;font-size:25px;letter-spacing:-.05em}.drawer-head p{margin:6px 0 0;color:var(--muted);font-size:12px}.drawer-close{width:32px;height:32px;border:0;border-radius:50%;background:#38383a;color:#fff;font-size:20px;cursor:pointer}.drawer-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:17px 0}.drawer-metric{padding:12px;border:1px solid var(--line);border-radius:14px;background:#ffffff0b}.drawer-metric small{display:block;color:var(--tertiary);font-size:9px;text-transform:uppercase}.drawer-metric b{display:block;margin-top:5px;font-size:16px}.drawer-tools{display:flex;gap:8px;margin:16px 0}.drawer-tools .search-input{height:40px}.filter-button{height:40px;padding:0 11px;border:0;border-radius:10px;background:#38383a;color:#e5e5ea;font-size:11px;cursor:pointer}.filter-button.active{background:var(--blue);color:#fff}.address-history{width:100%;border-collapse:collapse}.address-history th,.address-history td{padding:11px 8px;border-bottom:1px solid var(--line-soft);font-size:11px;text-align:left;vertical-align:top}.address-history th{color:var(--tertiary);font-size:9px;text-transform:uppercase}.address-history td:nth-child(2),.address-history td:nth-child(3){max-width:220px;white-space:normal}.address-history .changed{color:#ffc56b}.profile-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.7fr);gap:18px}.profile-card{padding:23px}.profile-card h2{margin:0;font-size:20px;letter-spacing:-.04em}.profile-card p{margin:8px 0 20px;color:var(--muted);font-size:13px;line-height:1.5}.profile-form{display:grid;gap:16px}.profile-form footer{margin-top:4px}.auth-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#153e76,transparent 38rem),#000}.auth-box{width:min(410px,100%)}.auth-logo{margin-bottom:24px}.auth-card{padding:25px;border:1px solid var(--line);border-radius:25px;background:#2c2c2eb8;box-shadow:0 25px 60px #0008;backdrop-filter:blur(25px)}.auth-card h1{margin:0;font-size:28px;letter-spacing:-.05em}.auth-card>p{margin:8px 0 24px;color:var(--muted);font-size:13px}.auth-tabs{display:flex;margin-bottom:20px;padding:3px;border-radius:10px;background:#00000040}.auth-tabs button{flex:1;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.auth-tabs button.active{background:#636366;color:#fff}.auth-form{display:grid;gap:14px}.form-error{min-height:16px;margin:0;color:#ff9f9a;font-size:12px}.login-note{margin:15px 0 0;color:var(--tertiary);font-size:11px;line-height:1.45;text-align:center}@media(max-width:880px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.app-topbar{padding:0 28px}.app-content{padding:40px 28px 60px}.home-grid,.profile-layout{grid-template-columns:1fr}}@media(max-width:680px){.app-shell{display:block}.app-sidebar{position:relative;height:auto;padding:12px 12px 10px;border-right:0;border-bottom:1px solid var(--line-soft)}.app-brand{padding:2px 7px 12px}.app-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.app-nav a{min-height:42px;justify-content:center;padding:0;font-size:0}.nav-mark{font-size:18px}.app-sidebar-bottom{display:none}.app-topbar{position:relative;min-height:57px;padding:0 17px}.topbar-date{display:none}.status-pill{font-size:10px}.app-content{padding:31px 17px 50px}.page-header{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:20px}.page-header h1{font-size:32px}.page-header p{font-size:14px}.hero-route{padding:22px}.hero-route h2{font-size:31px}.home-grid{gap:14px}.workflow-step{grid-template-columns:1fr;gap:9px;padding:18px}.workflow-step-index{width:28px;height:28px}.form-row,.format-choices{grid-template-columns:1fr}.workflow-footer{align-items:stretch;flex-direction:column}.workflow-footer .action-primary{width:100%}.history-item{grid-template-columns:auto minmax(0,1fr);padding:15px}.history-metrics{grid-column:2;justify-content:flex-start;flex-wrap:wrap}.drawer-metrics{grid-template-columns:repeat(2,1fr)}.drawer-tools{flex-wrap:wrap}.drawer-tools .search-input{width:100%}.profile-card{padding:19px}}@media(max-width:390px){.app-nav a{min-height:38px}.hero-route{padding:19px}.recent-item{padding:13px}.recent-item-right{gap:5px}.recent-item-right span:last-child{display:none}}

.preparation-resume{display:grid;gap:0;margin-bottom:18px;padding:16px;border-color:#5ac8fa30}.preparation-resume>b{font-size:14px}.preparation-resume-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--line-soft)}.preparation-resume-row:first-of-type{margin-top:12px}.preparation-resume-row:last-child{padding-bottom:0}.preparation-resume-row>div:first-child{min-width:0}.preparation-resume-row strong{font-size:13px;overflow-wrap:anywhere}.preparation-resume p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.preparation-resume-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.preparation-resume button{min-height:44px}.preparation-remove{padding:0 10px;border:0;border-radius:10px;background:transparent;color:#ffaaa2;font:inherit;font-size:12px;cursor:pointer}.preparation-remove:focus-visible{outline:2px solid #79bdff;outline-offset:2px}.preparation-save-status{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:520px){.preparation-resume-row{align-items:flex-start;flex-direction:column;gap:10px}.preparation-resume-actions{width:100%}.preparation-resume-actions .action-secondary{flex:1}}

/* Reading comfort: retain the visual hierarchy while making useful small text legible. */
:root {
  --muted: #b2b2ba;
  --tertiary: #a0a0aa;
}

.page-header p,
.hero-route p,
.profile-card p,
.correction-create p,
.auth-card > p {
  line-height: 1.55;
}

.topbar-date,
.page-header-meta,
.history-summary,
.recent-item small,
.recent-item-right,
.history-item p,
.history-metrics,
.drawer-head p,
.account-box,
.system-item b,
.preparation-resume p,
.preparation-save-status {
  font-size: 13px;
  line-height: 1.5;
}

.field {
  font-size: 13px;
  line-height: 1.4;
}

.user-chip small,
.format-choice small,
.format-badge,
.state-badge,
.status-pill,
.table-action,
.toggle-line b,
.filter-button,
.form-error,
.login-note {
  font-size: 12px;
  line-height: 1.45;
}

.recent-item b,
.account-box strong {
  font-size: 15px;
  line-height: 1.4;
}

.detail-drawer .drawer-metric small,
.detail-drawer .address-history th {
  font-size: 12px;
  line-height: 1.4;
}

.detail-drawer .drawer-copy,
.detail-drawer .drawer-message {
  font-size: 13px;
  line-height: 1.5;
}

.detail-drawer .address-history td,
.detail-drawer .address-history .address-edit,
.correction-item .correction-address b,
.correction-item .correction-editor input {
  font-size: 15px;
  line-height: 1.5;
}

.correction-item .correction-address small,
.correction-item .correction-editor label {
  font-size: 12px;
  line-height: 1.4;
}

.correction-item .correction-meta {
  font-size: 13px;
  line-height: 1.5;
}

.app-content .export-queue .work-panel-header > span,
.export-queue .queue-row .queue-content small,
.workflow .tour-date-warning,
.auth-form .auth-remember {
  font-size: 13px;
  line-height: 1.5;
}

.app-content .export-queue .work-panel-header > span {
  color: var(--muted);
}

.export-queue .queue-row .queue-content .queue-state {
  font-size: 12px;
  line-height: 1.45;
}

@media (max-width: 760px) {
  /* Mobile navigation styles are injected after the page's stylesheets. */
  .app-topbar .status-pill {
    font-size: 12px !important;
    line-height: 1.4;
  }

  .workflow .toggle-line b,
  .mobile-more-sheet .mobile-sheet-link small {
    font-size: 12px;
    line-height: 1.45;
  }

  .mobile-more-sheet .mobile-sheet-link small {
    color: var(--muted);
  }

  .detail-drawer .address-history .address-edit,
  .correction-item .correction-editor input {
    font-size: 16px;
  }
}
