:root{color-scheme:light;--ink:#172033;--muted:#68758a;--line:#e4e8ee;--paper:#fff;--canvas:#f5f7fa;--orange:#c45122;--orange-dark:#a63c15;--cyan:#0b7580;--green:#237a58;--red:#b63a36;--shadow:0 12px 32px rgba(27,43,65,.07);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-size:14px}.topbar{height:72px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2));}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:34px;height:34px;border-radius:9px;background:#173b5e;color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px;letter-spacing:.5px}.brand strong{display:block;font-size:15px;letter-spacing:.2px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.status-pill{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:7px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b7c0cc}.status-pill.ok{color:var(--green)}.status-pill.ok .status-dot{background:#36a675}.status-pill.bad{color:var(--red)}.status-pill.bad .status-dot{background:#d45b56}.shell{max-width:1240px;margin:0 auto;padding:38px 24px 64px}.hero-row{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;color:var(--cyan);margin:0 0 7px}.hero-row h1{font-size:30px;letter-spacing:-.3px;margin:0 0 7px}.muted{color:var(--muted);margin:0}.button{appearance:none;border:0;cursor:pointer;border-radius:7px;padding:10px 15px;font-weight:650;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.15s ease}.button-primary{background:var(--orange);color:#fff}.button-primary:hover{background:var(--orange-dark);transform:translateY(-1px)}.button-secondary{background:#edf2f4;color:#285366}.button-danger{background:#fff0ee;color:var(--red)}.button:disabled{opacity:.45;cursor:wait;transform:none}.workspace{display:grid;grid-template-columns:minmax(340px,390px) 1fr;gap:20px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.form-panel{padding:25px}.list-panel{min-height:530px;padding:25px}.activity-panel{margin-top:20px;padding:25px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:21px}.panel-heading h2{font-size:19px;margin:0;letter-spacing:-.1px}.price-tag{font-weight:750;color:var(--orange);font-size:14px;background:#fff3ed;border:1px solid #f4d7ca;padding:6px 9px;border-radius:6px}.count-badge{font-weight:750;color:var(--cyan);background:#e9f4f4;min-width:29px;height:29px;display:grid;place-items:center;border-radius:50%}label{display:block;font-size:12px;color:#526176;font-weight:650;margin-bottom:15px}input{display:block;width:100%;margin-top:7px;height:40px;border:1px solid #d7dee7;border-radius:6px;background:#fff;padding:0 11px;color:var(--ink);font:inherit;font-size:13px;outline:0;transition:border-color .15s,box-shadow .15s}input:focus{border-color:#5d9ca3;box-shadow:0 0 0 3px rgba(54,143,151,.12)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}fieldset{border:0;margin:2px 0 18px;padding:0}legend{font-size:12px;color:#526176;font-weight:650;margin-bottom:8px}.slot-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.check-card{margin:0;position:relative;display:flex;align-items:center;gap:9px;padding:11px 10px;border:1px solid var(--line);border-radius:7px;cursor:pointer}.check-card:has(input:checked){border-color:#80b6b6;background:#f0f8f8}.check-card input{appearance:none;width:16px;height:16px;margin:0;border-radius:4px;border:1px solid #b4beca;padding:0}.check-card input:checked{background:var(--cyan);border-color:var(--cyan);box-shadow:inset 0 0 0 3px #fff}.check-card span{display:flex;flex-direction:column;gap:2px}.check-card b{color:var(--ink);font-size:13px}.check-card small{font-size:10px;color:var(--muted);font-weight:500}.form-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}.form-note{color:#8b97a8;font-size:11px;line-height:1.45}.form-error{min-height:18px;color:var(--red);font-size:12px;margin:10px 0 0}.list-heading{margin-bottom:15px}.task-list{display:flex;flex-direction:column;gap:10px}.empty-state,.activity-empty{min-height:210px;border:1px dashed #d7dee7;border-radius:8px;display:grid;place-items:center;color:#8b97a8;font-size:13px}.task-card{border:1px solid var(--line);border-radius:8px;padding:15px 16px;background:#fff}.task-card.paused{background:#fafbfc}.task-main{display:flex;align-items:start;justify-content:space-between;gap:12px}.task-title{font-size:15px;font-weight:700;margin:0 0 6px}.task-route{font-size:13px;color:#40536b;font-weight:650}.task-meta{display:flex;flex-wrap:wrap;gap:6px 13px;margin-top:11px;color:var(--muted);font-size:11px}.task-meta span{display:inline-flex;align-items:center;gap:4px}.task-state{font-size:11px;font-weight:700;padding:4px 7px;border-radius:5px;white-space:nowrap}.task-state.active{color:var(--green);background:#e8f6ef}.task-state.paused{color:#7c6b36;background:#fbf5df}.task-actions{border-top:1px solid #eef1f4;margin-top:13px;padding-top:11px;display:flex;justify-content:flex-end;gap:7px}.task-actions .button{padding:7px 10px;font-size:11px}.activity-table{width:100%;border-collapse:collapse;font-size:12px}.activity-table th{text-align:left;color:#8490a1;font-weight:650;border-bottom:1px solid var(--line);padding:0 10px 10px}.activity-table td{padding:11px 10px;border-bottom:1px solid #eef1f4;color:#46566c}.activity-table tr:last-child td{border-bottom:0}.hit-price{font-weight:750;color:var(--orange)}.icon-button{border:1px solid var(--line);background:#fff;color:var(--muted);width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:18px}.toast{position:fixed;right:22px;bottom:22px;background:#172033;color:#fff;padding:11px 14px;border-radius:7px;font-size:12px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s;box-shadow:0 8px 22px rgba(0,0,0,.18)}.toast.show{opacity:1;transform:none}.toast.error{background:#a53b38}@media(max-width:850px){.shell{padding:28px 15px 45px}.topbar{padding:0 15px}.workspace{grid-template-columns:1fr}.form-panel{padding:20px}.list-panel{min-height:0}.hero-row{align-items:start;gap:16px;flex-direction:column}.hero-row h1{font-size:26px}.activity-panel{padding:20px}.activity-table{display:block;overflow:auto;white-space:nowrap}}@media(max-width:470px){.field-grid{grid-template-columns:1fr}.slot-options{grid-template-columns:1fr}.form-foot{align-items:end;flex-direction:column}.form-foot .button{width:100%}.status-pill{font-size:0}.status-pill .status-dot{font-size:initial}}
.main-nav{display:flex;align-items:center;gap:4px;margin-left:auto;margin-right:24px}.nav-link{appearance:none;border:0;background:transparent;color:var(--muted);cursor:pointer;font:650 12px/1.2 inherit;padding:9px 10px;border-radius:6px}.nav-link:hover,.nav-link.active{background:#edf4f3;color:#285c59}.subscription-hero{margin-bottom:28px}.subscription-view h1{font-family:Georgia,"Songti SC",serif;font-weight:700;letter-spacing:-.5px}.subscription-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);gap:20px;align-items:start}.qr-panel{padding:25px}.qr-stage{padding:25px 22px 19px;background:#f9fbf9;border:1px solid #e1e8e3;border-radius:12px;text-align:center}.qr-frame{width:min(100%,300px);aspect-ratio:1;margin:0 auto 18px;padding:14px;background:#fff;border:1px solid #dfe7e0;display:grid;place-items:center}.qr-frame img{display:block;width:100%;height:100%;object-fit:contain}.qr-caption{margin:0;font-size:15px;font-weight:750;color:#294138}.qr-hint{margin:7px 0 0;color:#758279;font-size:12px}.qr-actions{display:flex;justify-content:center;gap:8px;margin-top:18px}.topic-code{margin:15px 0 0;color:#758279;font-size:12px}.topic-code code{color:#294e42;background:#edf3ef;padding:3px 6px;border-radius:4px}.group-status{padding:5px 8px;border-radius:5px;background:#edf2f4;color:#68758a;font-size:11px;font-weight:750}.group-status.ok{background:#e8f6ef;color:var(--green)}.group-status.warn{background:#fff4df;color:#8b692b}.subscription-side{display:grid;gap:14px}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.stat-card{padding:15px 13px;background:#edf3f0;border-radius:9px}.stat-card span,.stat-card small{display:block;color:#718078;font-size:11px}.stat-card strong{display:block;color:#294138;font-size:19px;line-height:1.2;margin:8px 0 4px}.stat-card strong.expired{color:var(--red)}.action-panel,.subscribers-panel{padding:20px}.inline-actions{display:flex;gap:8px}.subscriber-list{display:grid;gap:2px}.subscriber-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #eef1f4}.subscriber-row:last-child{border-bottom:0}.subscriber-row strong,.subscriber-row small{display:block}.subscriber-row strong{font-size:13px;color:#32483d}.subscriber-row small{color:#829087;font-size:11px;margin-top:4px}.subscriber-row .button{padding:7px 9px;font-size:11px}.subscriber-empty{padding:16px 0;color:#8b97a8;font-size:12px;line-height:1.5}.error-text{color:var(--red)}.group-empty,.group-error{max-width:620px;padding:42px 34px}.group-empty h2,.group-error h2{font-family:Georgia,"Songti SC",serif;margin:8px 0;font-size:24px}.group-empty .button{margin-top:22px}.empty-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e8f2ee;color:#39715c;font-size:22px;margin-bottom:22px}
#group-empty[hidden],#group-ready[hidden],#group-status-error[hidden]{display:none !important}
@media(max-width:850px){.main-nav{order:3;width:100%;margin:0;border-top:1px solid var(--line);padding-top:6px}.topbar{height:auto;min-height:72px;flex-wrap:wrap;align-content:center;padding-top:12px;padding-bottom:8px}.subscription-layout{grid-template-columns:1fr}.qr-panel{padding:20px}.qr-frame{width:min(100%,270px)}.subscription-side{gap:12px}.group-empty,.group-error{padding:30px 22px}}
@media(max-width:470px){.qr-actions,.inline-actions{display:grid;grid-template-columns:1fr}.qr-actions .button,.inline-actions .button{width:100%;min-height:42px}.status-grid{gap:6px}.stat-card{padding:12px 9px}.stat-card strong{font-size:17px}.subscription-hero .button{width:100%}}
.auth-gate{max-width:1240px;margin:18px auto 0;padding:13px 16px;border:1px solid #e4d8bd;border-radius:8px;background:#fff9ec;display:flex;align-items:center;gap:16px}.auth-gate[hidden]{display:none !important}.auth-gate>div{display:flex;align-items:baseline;gap:10px;flex:1}.auth-gate .eyebrow{margin:0;color:#9b6e26}.auth-gate strong{font-size:13px;color:#6d531e}.auth-gate span{font-size:12px;color:#897854}.auth-gate form{display:flex;gap:8px;min-width:290px}.auth-gate input{margin:0;height:36px}.auth-gate .form-error{margin:0;min-width:130px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-locked .requires-auth{display:none !important}@media(max-width:700px){.auth-gate{margin:12px 15px 0;display:block}.auth-gate>div{display:block}.auth-gate span{display:block;margin-top:5px}.auth-gate form{min-width:0;margin-top:12px}.auth-gate form .button{min-width:76px}}
.system-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:-4px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.55)}.system-summary>div{padding:13px 16px;border-right:1px solid var(--line)}.system-summary>div:last-child{border-right:0}.system-summary span,.system-summary small{display:block;color:var(--muted);font-size:10px}.system-summary strong{display:block;margin:5px 0 3px;font-size:13px;color:#30455e}@media(max-width:600px){.system-summary{grid-template-columns:1fr}.system-summary>div{display:grid;grid-template-columns:90px 1fr;gap:3px 8px;border-right:0;border-bottom:1px solid var(--line);padding:10px 12px}.system-summary>div:last-child{border-bottom:0}.system-summary strong{margin:0}.system-summary small{grid-column:2}}
.settings-panel{margin-top:20px;padding:22px}.settings-timezone{font-size:11px;color:var(--muted)}.settings-options{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.settings-options label{display:flex;align-items:flex-start;gap:9px;margin:0;padding:12px;border:1px solid var(--line);border-radius:7px;cursor:pointer}.settings-options input{appearance:none;width:17px;height:17px;min-width:17px;margin:1px 0 0;padding:0;border-radius:4px}.settings-options input:checked{background:var(--cyan);border-color:var(--cyan);box-shadow:inset 0 0 0 3px #fff}.settings-options span,.settings-options strong,.settings-options small{display:block}.settings-options strong{font-size:12px;color:var(--ink)}.settings-options small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.4}.quiet-settings{display:grid;grid-template-columns:1fr 120px 120px auto;align-items:end;gap:10px;margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.quiet-settings>div strong,.quiet-settings>div small{display:block}.quiet-settings>div strong{font-size:12px}.quiet-settings>div small{margin-top:4px;color:var(--muted);font-size:10px}.quiet-settings label{margin:0}.quiet-settings input{margin-top:5px}@media(max-width:850px){.settings-options{grid-template-columns:1fr 1fr}.quiet-settings{grid-template-columns:1fr 1fr}.quiet-settings>div{grid-column:1/-1}}@media(max-width:470px){.settings-options{grid-template-columns:1fr}.quiet-settings{grid-template-columns:1fr 1fr}.quiet-settings .button{grid-column:1/-1;min-height:42px}}
.notification-history-panel{margin-top:20px;padding:22px}.history-tools{display:flex;align-items:center;gap:8px}.history-tools select{height:32px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);padding:0 9px;font:inherit;font-size:11px}.notification-history{display:grid}.history-row{padding:14px 0;border-top:1px solid #edf0f3}.history-row:first-child{border-top:0}.history-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.history-main strong,.history-main small{display:block}.history-main strong{font-size:13px}.history-main small{margin-top:4px;color:var(--muted);font-size:11px}.delivery-state{padding:4px 7px;border-radius:5px;font-size:10px;font-weight:700;white-space:nowrap}.delivery-state.sent{background:#e8f6ef;color:var(--green)}.delivery-state.failed{background:#fff0ee;color:var(--red)}.delivery-state.pending,.delivery-state.sending{background:#edf2f4;color:#526176}.history-facts{margin-top:9px;color:#40536b;font-size:11px}.history-facts span{margin-left:12px;color:var(--muted)}.history-meta{display:flex;flex-wrap:wrap;gap:5px 13px;margin-top:7px;color:#8994a4;font-size:10px}@media(max-width:470px){.notification-history-panel{padding:18px}.history-facts span{display:block;margin:4px 0 0}.history-tools select{max-width:118px}}

/* Searchable route picker and generated task identity */
.task-id{display:block;margin-bottom:3px;color:#718096;font-size:10px;font-weight:700;letter-spacing:.35px}
.task-name-control{margin-bottom:17px;padding:12px 13px;border:1px solid #dfe6ec;border-radius:7px;background:#f8fafb}.task-name-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#526176;font-size:12px;font-weight:650}.name-toggle{appearance:none;border:0;background:transparent;color:var(--cyan);padding:5px 2px;cursor:pointer;font:650 11px/1.2 inherit}.name-toggle:hover,.name-toggle.is-active{text-decoration:underline;text-underline-offset:3px}.task-name-preview{display:block;margin-top:8px;color:#263d56;font-size:13px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.task-name-preview.is-pending{color:#8490a1;font-weight:500}.custom-name-field{margin:12px 0 0}.custom-name-field[hidden],.location-options[hidden]{display:none!important}.location-field{position:relative;min-width:0}.location-field>label{margin-bottom:0}.location-combobox{position:relative;min-width:0}.location-search[aria-invalid="true"]{border-color:var(--red);box-shadow:0 0 0 3px rgba(182,58,54,.1)}.location-options{position:absolute;z-index:20;top:calc(100% + 5px);left:0;width:100%;max-height:292px;overflow-y:auto;overscroll-behavior:contain;padding:5px;background:#fff;border:1px solid #cfd8e2;border-radius:7px;box-shadow:0 14px 30px rgba(30,48,69,.16)}.location-option{appearance:none;display:block;width:100%;min-height:42px;border:0;border-radius:5px;background:transparent;color:#33485f;padding:9px 10px;text-align:left;font:600 12px/1.4 inherit;cursor:pointer;overflow-wrap:anywhere}.location-option:hover,.location-option.is-active{background:#edf6f5;color:#194f55}.location-option-empty{padding:13px 10px;color:#8490a1;font-size:12px;line-height:1.4}.field-error{min-height:16px;margin:3px 0 0;color:var(--red);font-size:11px;line-height:1.35}.date-error{margin-top:-10px;margin-bottom:7px}.location-field+.location-field{z-index:1}.workspace,.panel,.field-grid>*{min-width:0}.task-actions{flex-wrap:wrap}
@media(max-width:700px){.field-grid{grid-template-columns:1fr}.form-panel input:not([type="hidden"]),.form-panel .button,.name-toggle,.location-option{min-height:44px}.name-toggle{padding:8px}.check-card{min-height:52px}.icon-button,.nav-link{min-width:44px;min-height:44px}.form-panel,.list-panel,.activity-panel{max-width:100%}.location-options{max-height:min(292px,45vh)}.task-actions .button{min-height:44px}.form-foot .button{min-width:112px}}
@media(max-width:470px){.task-name-control{padding:11px 12px}.field-grid{min-width:0}.location-options{width:100%}.task-actions{display:grid;grid-template-columns:1fr 1fr}.task-actions .button{width:100%}.form-foot{width:100%}.form-foot .button{width:100%;min-height:44px}}

/* Discrete-date task scheduling */
.hero-actions,.list-heading-actions{display:flex;align-items:center;gap:8px}.workspace{display:block}.list-panel{min-height:360px}.list-heading-actions .button{min-height:36px}.task-card.completed{background:#f8fafb}.task-card.retrying{border-color:#e6c982}.task-state.completed{color:#526176;background:#edf1f4}.task-card.retrying .task-state{color:#8b692b;background:#fff4df}.task-date-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.task-date-row>span{color:var(--muted);font-size:10px;white-space:nowrap}.date-chips{display:flex;flex-wrap:wrap;gap:5px}.date-chip{display:inline-flex;align-items:center;min-height:25px;padding:3px 7px;border:1px solid #dce5e9;border-radius:5px;background:#f3f7f8;color:#35536a;font-size:11px;font-weight:700}.date-chip.more{color:var(--cyan)}.task-schedule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3}.task-schedule-grid>div{min-width:0;padding:10px 11px;border-right:1px solid #edf0f3}.task-schedule-grid>div:last-child{border-right:0}.task-schedule-grid span,.task-schedule-grid strong{display:block}.task-schedule-grid span{color:var(--muted);font-size:10px}.task-schedule-grid strong{margin-top:4px;color:#344a62;font-size:11px;overflow-wrap:anywhere}

body.dialog-open{overflow:hidden}.task-dialog{width:min(720px,calc(100vw - 32px));max-width:720px;max-height:min(820px,calc(100dvh - 32px));padding:0;border:1px solid #cfd8e2;border-radius:8px;background:var(--paper);color:var(--ink);box-shadow:0 24px 70px rgba(20,37,57,.22);overflow:hidden}.task-dialog::backdrop{background:rgba(18,31,47,.48)}.task-dialog>form{display:flex;flex-direction:column;max-height:min(820px,calc(100dvh - 32px))}.task-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 14px;border-bottom:1px solid var(--line)}.task-dialog-header h2{margin:0;font-size:20px}.task-step-label{margin:6px 0 0;color:var(--muted);font-size:11px}.dialog-close{flex:0 0 auto;font-size:21px}.task-progress{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:0 24px;background:#fff}.task-progress span{height:3px;background:#e3e8ed}.task-progress span.is-active{background:var(--cyan)}.task-dialog-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px}.task-step{min-height:300px}.route-grid{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);align-items:start}.route-arrow{display:grid;place-items:center;height:40px;margin-top:25px;color:#79909f;font-size:18px}.route-summary{margin-top:22px;padding:15px;border-left:3px solid var(--cyan);background:#f2f7f7;color:#365268;font-size:13px;font-weight:700;overflow-wrap:anywhere}.task-dialog select{display:block;width:100%;height:40px;margin-top:7px;padding:0 34px 0 11px;border:1px solid #d7dee7;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:13px}.calendar-shell{border:1px solid #dce3e9;border-radius:7px;padding:14px}.calendar-toolbar{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:10px}.calendar-toolbar strong{text-align:center;font-size:14px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays span{padding:5px 0;color:#8490a1;text-align:center;font-size:10px}.calendar-day,.calendar-blank{aspect-ratio:1;min-width:0}.calendar-day{appearance:none;border:1px solid transparent;border-radius:5px;background:#fff;color:#34485f;font:650 12px/1 inherit;cursor:pointer}.calendar-day:hover:not(:disabled){border-color:#8cb7ba;background:#f1f8f8}.calendar-day:focus-visible{outline:2px solid #2f7e85;outline-offset:1px}.calendar-day.is-selected{border-color:var(--cyan);background:var(--cyan);color:#fff}.calendar-day:disabled{color:#c0c7d0;cursor:not-allowed}.selected-dates-bar{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:start;margin:12px 0}.selected-dates-bar>strong{padding-top:6px;color:#4c5f73;font-size:11px}.selected-date-tags{display:flex;flex-wrap:wrap;gap:5px;min-height:29px}.selected-date-tag{appearance:none;display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:4px 7px;border:1px solid #cfdde0;border-radius:5px;background:#f2f7f7;color:#315c61;font:650 11px/1 inherit;cursor:pointer}.selected-date-tag span{color:#71868a;font-size:14px}.schedule-grid{margin-top:3px}.task-dialog .task-name-control{margin:4px 0 0}.task-dialog-actions{position:sticky;bottom:0;display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;padding:14px 24px;border-top:1px solid var(--line);background:#fff;z-index:4}.task-dialog-actions .button{min-width:92px}.task-dialog [hidden]{display:none!important}

@media(max-width:700px){.field-grid{grid-template-columns:1fr}.hero-actions{width:100%}.hero-actions .button{flex:1;min-height:44px}.list-heading-actions .button{font-size:0;min-width:44px;padding:10px}.list-heading-actions .button::before{content:"＋";font-size:18px}.task-schedule-grid{grid-template-columns:1fr 1fr}.task-schedule-grid>div:nth-child(2){border-right:0}.task-schedule-grid>div:nth-child(-n+2){border-bottom:1px solid #edf0f3}.task-dialog{width:100%;max-width:none;max-height:calc(100dvh - 10px);margin:auto 0 0;border-width:1px 0 0;border-radius:8px 8px 0 0}.task-dialog>form{max-height:calc(100dvh - 10px)}.task-dialog-header{padding:18px 16px 12px}.task-progress{padding:0 16px}.task-dialog-body{padding:18px 16px}.route-grid{grid-template-columns:1fr}.route-arrow{height:24px;margin:0;transform:rotate(90deg)}.task-dialog input:not([type="hidden"]),.task-dialog select,.task-dialog .button,.calendar-toolbar .icon-button{min-height:44px}.calendar-shell{padding:10px 8px}.calendar-weekdays,.calendar-grid{gap:2px}.calendar-day{min-height:40px}.selected-dates-bar{grid-template-columns:1fr}.selected-date-tags{max-height:74px;overflow:auto}.schedule-grid{grid-template-columns:1fr}.task-dialog-actions{grid-template-columns:auto 1fr auto;padding:12px 16px max(12px,env(safe-area-inset-bottom))}.task-dialog-actions>span{display:none}.task-dialog-actions .button{min-width:78px}.task-dialog-actions #task-save{grid-column:3}.task-actions{display:grid;grid-template-columns:repeat(2,1fr)}.task-actions .button{width:100%}}
@media(max-width:470px){.task-schedule-grid{grid-template-columns:1fr 1fr}.task-dialog-header h2{font-size:18px}.calendar-day{font-size:11px}.task-date-row{align-items:flex-start}.list-panel{padding:18px}.list-heading-actions{gap:5px}}

/* Task polling diagnostics */
.polling-log-dialog{width:min(760px,calc(100vw - 32px));max-width:760px;height:min(760px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #cfd8e2;border-radius:8px;background:var(--paper);color:var(--ink);box-shadow:0 24px 70px rgba(20,37,57,.22);overflow:hidden}
.polling-log-dialog::backdrop{background:rgba(18,31,47,.48)}
.polling-log-shell{position:relative;display:flex;flex-direction:column;height:100%;min-height:0}
.polling-log-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 14px;border-bottom:1px solid var(--line);background:#fff}
.polling-log-header>div{min-width:0}.polling-log-header .eyebrow{margin-bottom:5px}.polling-log-header h2{margin:0;color:#263d56;font-size:19px;overflow-wrap:anywhere}.polling-log-header p:last-child{margin:6px 0 0;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.polling-log-header .icon-button{flex:0 0 auto}
.polling-log-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 22px;border-bottom:1px solid #edf0f3;background:#f8fafb;color:#738094;font-size:10px}.polling-log-status span:first-child{color:#315c61;font-weight:700}
.polling-log-stream{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:10px 22px 22px;background:#fbfcfd;outline:0}.polling-log-stream:focus-visible{box-shadow:inset 0 0 0 2px rgba(11,117,128,.35)}
.polling-log-empty{min-height:100%;display:grid;place-items:center;color:#8994a4;font-size:12px;text-align:center}
.polling-run{position:relative;padding:14px 0 15px 14px;border-bottom:1px solid #e7ebef}.polling-run:last-child{border-bottom:0}.polling-run::before{content:"";position:absolute;left:0;top:17px;width:4px;height:4px;border-radius:50%;background:#93a0af;box-shadow:0 0 0 4px #edf1f4}.polling-run-success::before{background:var(--green);box-shadow:0 0 0 4px #e8f6ef}.polling-run-failed::before{background:var(--red);box-shadow:0 0 0 4px #fff0ee}.polling-run-running::before{background:#b27a20;box-shadow:0 0 0 4px #fff4df}
.polling-run>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.polling-run>header>div{min-width:0}.polling-run time,.polling-run>header strong{display:inline;color:#526176;font-size:11px}.polling-run>header strong{margin-left:9px;color:#263d56}.polling-run-state{flex:0 0 auto;padding:4px 7px;border-radius:5px;background:#edf1f4;color:#526176;font-size:10px;font-weight:750}.polling-run-success .polling-run-state{background:#e8f6ef;color:var(--green)}.polling-run-failed .polling-run-state{background:#fff0ee;color:var(--red)}.polling-run-running .polling-run-state{background:#fff4df;color:#8b692b}
.polling-run-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px 12px;margin-top:11px}.polling-run-facts span{min-width:0;color:#40536b;font-size:11px;overflow-wrap:anywhere}.polling-run-facts b{display:block;margin-bottom:2px;color:#8a95a5;font-size:9px;font-weight:650}
.polling-business,.polling-trace{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;margin-top:10px;color:#526176;font-size:10px}.polling-business span,.polling-trace span{color:#8a95a5}.polling-business strong,.polling-trace code{min-width:0;color:#40536b;font:650 10px/1.5 inherit;overflow-wrap:anywhere}
.polling-run-error{margin-top:11px;padding:9px 10px;border-left:3px solid var(--red);background:#fff5f3;color:#8f302d}.polling-run-error strong,.polling-run-error span{display:block;font-size:10px;line-height:1.5;overflow-wrap:anywhere}.polling-run-error span{margin-top:3px;white-space:pre-wrap}
.polling-run-summary{margin-top:11px;border-top:1px solid #e5eaee;padding-top:9px}.polling-run-summary summary{color:#315c61;font-size:10px;font-weight:700;cursor:pointer}.polling-summary-meta{display:flex;flex-wrap:wrap;gap:5px 14px;margin:9px 0;color:#5d6c7e;font-size:10px}.polling-flight-list{border-top:1px solid #edf0f3}.polling-flight{display:grid;grid-template-columns:70px minmax(145px,1.3fr) minmax(190px,1.6fr) minmax(100px,1fr);gap:8px;padding:8px 0;border-bottom:1px solid #edf0f3;color:#607084;font-size:10px}.polling-flight:last-child{border-bottom:0}.polling-flight strong{color:#263d56}.polling-flight span{min-width:0;overflow-wrap:anywhere}.polling-summary-empty{display:block;padding:9px 0;color:#8994a4;font-size:10px}
.polling-log-new{position:absolute;z-index:3;right:24px;bottom:43px;appearance:none;border:0;border-radius:6px;background:#285c59;color:#fff;padding:8px 11px;font:700 11px/1.2 inherit;box-shadow:0 6px 18px rgba(28,71,69,.22);cursor:pointer}.polling-log-new[hidden]{display:none}.polling-log-error{min-height:32px;margin:0;padding:8px 22px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;color:var(--red);font-size:10px;line-height:1.5;overflow-wrap:anywhere}

@media(max-width:700px){.polling-log-dialog{width:100%;max-width:none;height:calc(100dvh - 10px);max-height:calc(100dvh - 10px);margin:auto 0 0;border-width:1px 0 0;border-radius:8px 8px 0 0}.polling-log-header{padding:16px 15px 12px}.polling-log-header h2{font-size:17px}.polling-log-header .icon-button{min-width:44px;min-height:44px}.polling-log-status{position:sticky;top:0;z-index:2;padding:8px 15px}.polling-log-stream{padding:8px 15px 18px}.polling-run{padding-left:13px}.polling-run-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.polling-business,.polling-trace{grid-template-columns:70px minmax(0,1fr)}.polling-flight{grid-template-columns:64px minmax(0,1fr);gap:5px 8px}.polling-flight span:nth-of-type(2),.polling-flight span:nth-of-type(3){grid-column:1/-1}.polling-log-new{right:15px;bottom:48px;min-height:44px}.polling-log-error{padding-left:15px;padding-right:15px}.task-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
