/* Light glass surfaces; layout and gesture geometry stay in style.css. */
:root{--glass-ink:#203d34;--glass-line:rgba(255,255,255,.85);--glass-shadow:0 4px 14px rgba(36,74,59,.065),inset 0 1px 0 rgba(255,255,255,.9);color:var(--glass-ink);background:#edf3ef}
body{background:radial-gradient(ellipse at 100% 5%,rgba(192,217,205,.7),transparent 55%),radial-gradient(ellipse at 0% 75%,rgba(222,229,214,.65),transparent 60%),linear-gradient(155deg,#f5f8f5,#eaf1ed)}
.workspace-content{background:transparent}
.app-tools>.switch{position:relative;isolation:isolate;border:1px solid rgba(255,255,255,.72);background:rgba(220,232,222,.5);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(16px) saturate(130%);backdrop-filter:blur(16px) saturate(130%)}
.app-tools>.switch::before{content:'';position:absolute;left:4px;top:4px;bottom:4px;width:calc(50% - 4px);border:1px solid rgba(255,255,255,.95);border-radius:12px;background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(255,255,255,.62));box-shadow:0 3px 8px #32574612,inset 0 1px 0 white;transition:transform .26s cubic-bezier(.2,.7,.3,1);pointer-events:none}
.app-tools>.switch:has([data-scope="family"].active)::before{transform:translateX(100%)}
.app-tools>.switch button{position:relative;z-index:1;color:#476052;transition:color .2s ease;background:transparent;box-shadow:none}
.app-tools>.switch button.active{background:transparent;box-shadow:none;color:#244e3d;font-weight:600}
nav{border-right:0;border-radius:18px;background:rgba(246,250,246,.48);box-shadow:inset 0 1px 0 #ffffffb3;-webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%);padding-left:3px}
nav>button{border:1px solid transparent;border-radius:15px;color:#355345;transition:background-color .2s ease,box-shadow .2s ease,color .2s ease}
nav>button.active,nav .nav-utilities button.active{background:linear-gradient(145deg,#39765f,#255744);border-color:#ffffff55;color:white;box-shadow:0 5px 12px #285b4321,inset 0 1px 0 #ffffff45}
nav .nav-utilities button{background:linear-gradient(150deg,#ffffffbf,#e6eee8a6);border:1px solid #ffffffd9;border-radius:15px;box-shadow:var(--glass-shadow)}
.heading h2{color:#203d34;letter-spacing:-.35px}
.heading #searchToggle{border:1px solid #ffffffd9;background:linear-gradient(145deg,#ffffffb3,#e6eee7ad);border-radius:13px;box-shadow:var(--glass-shadow)}
.heading #add,.chat-compose button{background:linear-gradient(145deg,#39765f,#255744);border:1px solid #ffffff55;border-radius:13px;box-shadow:0 3px 9px #285b431c,inset 0 1px 0 #ffffff45}
#list>.card:not(.swipe-open){background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(255,255,255,.76));border:1px solid #ffffffeb;border-radius:17px;box-shadow:0 3px 10px #32574608,inset 0 1px 0 white}
#list>.card p{color:#263f35}#list>.card .meta{color:#687b70}
.chat-compose{background:linear-gradient(145deg,#ffffffe6,#ffffffb0);border:1px solid #fffffff2;border-radius:18px;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.chat-compose textarea{background:transparent;color:#263f35}
#search{background:#ffffffe6;border:1px solid #fffffff2;box-shadow:var(--glass-shadow);border-radius:15px}
#search:focus,.chat-compose:focus-within{outline:none;border-color:#77a38f;box-shadow:0 0 0 2px #5897771a,inset 0 1px 0 white}
#sharedHelp{background:#ffffffa8;border:1px solid #ffffffd9;box-shadow:var(--glass-shadow)}
.swipe-open .swipe-actions .swipe-return{background:linear-gradient(145deg,#ffffffed,#ffffffad);border-color:#ffffffed;box-shadow:var(--glass-shadow)}
.swipe-actions .move{background:linear-gradient(145deg,#9186f4,#7564dd);box-shadow:inset 0 1px 0 #ffffff55}
.swipe-actions .delete{background:linear-gradient(145deg,#f76370,#e64252);box-shadow:inset 0 1px 0 #ffffff55}
button{transition:box-shadow .18s ease,background-color .18s ease,opacity .18s ease}button:active:not(:disabled){filter:brightness(.96)}
body.editing .workspace-content,body.workflow-open .workspace-content{background:transparent}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){nav,.app-tools>.switch,.chat-compose{background:#edf3ed}}
@media(prefers-reduced-transparency:reduce){nav,.app-tools>.switch,.chat-compose{background:#edf3ed;-webkit-backdrop-filter:none;backdrop-filter:none}#list>.card:not(.swipe-open){background:white}}
@media(prefers-reduced-motion:reduce){.app-tools>.switch::before,nav>button,button{transition:none}}

/* Glass date/time controls and editor surfaces. */
body.editing #editor textarea{background:linear-gradient(150deg,#fffffff2,#ffffffd9);border:1px solid #ffffffed;border-radius:17px;box-shadow:var(--glass-shadow);color:#263f35}
body.editing #editor textarea:focus{outline:none;border-color:#77a38f;box-shadow:0 0 0 2px #5897771a,inset 0 1px 0 white}
body.editing #editor .date-choice,body.editing #editor #repeat{width:100%;min-height:44px;height:auto;border:1px solid #ffffffed;border-radius:14px;background:linear-gradient(145deg,#ffffffdc,#edf4edcf);box-shadow:var(--glass-shadow);color:#2b5040;font-size:14px;padding:12px;line-height:1.35}
body.editing #editor #repeat{-webkit-appearance:none;appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23355545' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),linear-gradient(145deg,#ffffffdc,#edf4edcf);background-repeat:no-repeat;background-position:right 12px center,center;background-size:16px,auto}
#save{background:linear-gradient(145deg,#39765f,#255744);border:1px solid #ffffff55;border-radius:15px;box-shadow:0 3px 9px #285b431c,inset 0 1px 0 #ffffff45}
.date-overlay{background:#264b3b38;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.date-panel{background:linear-gradient(145deg,#fffffff5,#ecf4eef0);border:1px solid #fffffff2;box-shadow:0 16px 45px #244b3526,inset 0 1px 0 white;border-radius:25px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.calendar-toolbar button,.time-pair select,.time-chips button,.date-actions button{background:linear-gradient(145deg,#ffffffe8,#e6efe7d9);border:1px solid #ffffffe0;box-shadow:var(--glass-shadow);color:#2b5040}
.calendar-grid button.selected-day,.date-actions .primary{background:linear-gradient(145deg,#39765f,#255744);color:white;box-shadow:0 3px 8px #285b4326,inset 0 1px 0 #ffffff45}
.time-choice{background:#ffffff80;border:1px solid #ffffffd9;border-radius:18px;padding:12px;margin:12px 0}
@media(prefers-reduced-transparency:reduce){.date-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}.date-panel{background:#f3f8f4;-webkit-backdrop-filter:none;backdrop-filter:none}}

body.editing #editor{background:transparent}

/* Carry the same surfaces into tracking workflows and attachment controls. */
#workflowContent>.card{background:linear-gradient(145deg,#fffffff0,#ffffffc9);border:1px solid #ffffffed;border-radius:17px;box-shadow:var(--glass-shadow)}
.workflow-buttons button,.city-results button,#editor #attachmentPhotoPick,#editor #attachmentPick{background:linear-gradient(145deg,#ffffffdc,#edf4edcf);border:1px solid #ffffffed;border-radius:14px;box-shadow:var(--glass-shadow);color:#2b5040}
#workflowInput{background:linear-gradient(145deg,#fffffff0,#ffffffcf);border:1px solid #ffffffed;box-shadow:var(--glass-shadow);border-radius:17px}
#workflowInput textarea{background:transparent}
#workflowInput .actions button{background:linear-gradient(145deg,#39765f,#255744);border:1px solid #ffffff55;box-shadow:inset 0 1px 0 #ffffff45;border-radius:13px}
#workflowDatePick{background:linear-gradient(145deg,#ffffffdc,#edf4edcf);border:1px solid #ffffffed;box-shadow:var(--glass-shadow);border-radius:14px}
.file-preview{background:linear-gradient(145deg,#f5faf6,#e7f0ea)}

.launch-splash{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:radial-gradient(ellipse at 85% 10%,#d6e8de,transparent 65%),linear-gradient(145deg,#f7faf7,#e7f0e8);transition:opacity .24s ease;gap:16px;text-align:center}
.launch-mark{padding:10px;border-radius:28px;background:#ffffff90;border:1px solid white;box-shadow:0 12px 35px #244b3514,inset 0 1px 0 white}.launch-mark img{display:block;border-radius:19px}
.launch-splash h1{font-size:25px;letter-spacing:-.6px;margin:8px 0 0;color:#244b39}.launch-splash p{max-width:300px;font-size:14px;color:#64796b;line-height:1.5;margin:0}
.launch-spinner{margin-top:12px;width:24px;height:24px;border:2px solid #bfd5c7;border-top-color:#39765f;border-radius:50%;animation:launchSpin .9s linear infinite}.launch-ready{opacity:0;pointer-events:none}
@keyframes launchSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.launch-splash{transition:none}.launch-spinner{animation:none}}

.editor-toolbar{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:8px}.editor-toolbar #editorBack{margin:0}.editor-toolbar #editorUndo{width:40px;height:40px;padding:0;font-size:27px;line-height:1;border-radius:50%;border:1px solid #ffffffed;background:linear-gradient(145deg,#ffffffe8,#e9f1ebd9);box-shadow:var(--glass-shadow);color:#2b5040}

.editor-toolbar #editorBack,.editor-toolbar #editorUndo{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;padding:0;margin:0;border-radius:50%;border:1px solid #ffffffed;background:linear-gradient(145deg,#ffffffe8,#e9f1ebd9);box-shadow:var(--glass-shadow);color:#2b5040}
.editor-toolbar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.editor-toolbar button:disabled{opacity:.38}

.editor-toolbar #workflowBack,.editor-toolbar #workflowUndo{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;padding:0;margin:0;border-radius:50%;border:1px solid #ffffffed;background:linear-gradient(145deg,#ffffffe8,#e9f1ebd9);box-shadow:var(--glass-shadow);color:#2b5040}#workflowToolbar{margin-bottom:8px}

.app-tools{gap:8px}.app-tools>.switch{min-width:0;margin:0;max-width:none}
.top-utilities{display:flex;gap:6px;flex-shrink:0;align-items:center}
.top-utilities button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;font-size:21px;border-radius:14px;background:linear-gradient(150deg,#ffffffbf,#e6eee8a6);border:1px solid #ffffffd9;box-shadow:var(--glass-shadow);color:#355345}
.top-utilities button.active{background:linear-gradient(145deg,#39765f,#255744);border-color:#ffffff55;color:white;box-shadow:0 5px 12px #285b4321,inset 0 1px 0 #ffffff45}
@media(max-width:350px){.app-tools{gap:6px}.top-utilities{gap:4px}.top-utilities button{width:36px;height:36px;font-size:19px}.app-tools .switch button{padding:9px 6px;font-size:13px}}

.notification-onboarding{position:fixed;inset:0;z-index:150;background:#244b3c55;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}.notification-onboarding>.card{width:min(100%,380px);max-height:80dvh;overflow:auto;padding:24px;background:#f1f7f3f5}.notification-choice .push-actions{display:flex;flex-direction:column;gap:8px}.notification-choice button.active{background:#255b48;color:white}.notification-choice{margin-bottom:16px}.notification-onboarding h2{font-size:21px}

#workflowContent:has(.city-picker){display:flex;flex-direction:column;overflow:hidden}#workflowContent:has(.city-picker)>.card{flex-shrink:0}.city-picker{display:flex;flex-direction:column;flex:1;min-height:0;padding:8px 0}.city-picker>input{flex-shrink:0}.city-picker .city-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:12px}.city-results button{flex-shrink:0;min-height:44px}body.keyboard-open #workflowContent:has(.city-picker)>.card{display:none}

body.editing #editor{overflow:hidden;gap:8px}#editorFields{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-padding:8px;padding:2px}#editorFields>h2,#editorFields>.editor-toolbar{flex-shrink:0}body.editing #editor>.actions{flex:0 0 auto;order:11;margin:0;padding:2px 0 4px;background:transparent}body.editing #editor>.actions #save{min-height:44px}

body.note-full #formTitle{display:none}body.note-full #editorFields{overflow:hidden}body.note-full #editor #text{flex:1 1 auto;min-height:120px;height:auto!important;overflow-y:auto!important;background:transparent;border:0;box-shadow:none;border-radius:0;padding:14px 4px;font-size:17px}body.note-full #editor #text:focus{outline:none;box-shadow:none}body.note-reading #editor>.actions{display:none}

body.editing .attachment-buttons{gap:6px}body.editing #attachmentPhotoPick,body.editing #attachmentPick{min-width:0;display:flex;align-items:center;justify-content:center;min-height:42px;padding:10px 6px;font-size:12px;white-space:nowrap}#editorFields{padding-bottom:12px;scroll-padding-bottom:12px}body.editing #editor>.actions{padding-top:6px}body.keyboard-open #editorFields>#formTitle{font-size:17px;margin-bottom:2px}body.keyboard-open #editor #text{min-height:72px}body.keyboard-open #editor .date-choice,body.keyboard-open #editor #repeat{padding:9px 10px;min-height:40px}body.editing #ticketSchedule{margin:4px 0}

.toolbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.editor-toolbar #save,.editor-toolbar #workflowSend{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;min-height:40px;padding:0;border-radius:50%;font-size:24px;line-height:1;color:white;background:linear-gradient(145deg,#39765f,#255744);border:1px solid #ffffff88;box-shadow:var(--glass-shadow)}.editor-toolbar #save[hidden],.editor-toolbar #workflowSend[hidden]{display:none}body.editing #editor>.actions,#workflowInput>.actions{display:none}#editorFields>.editor-toolbar{position:sticky;top:0;z-index:2;padding-bottom:4px;background:transparent;backdrop-filter:none}

.editor-toolbar #save,.editor-toolbar #workflowSend{width:40px;height:40px;min-width:40px;min-height:40px;flex:0 0 40px;border-radius:50%;border:1px solid #ffffffed;padding:0;background:linear-gradient(145deg,#39765f,#255744);color:white;box-shadow:var(--glass-shadow)}

.workspace-content:has(#search:not([hidden])) #quickInput{display:none}

.editor-toolbar #editorAttach{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;padding:0;border-radius:50%;border:1px solid #ffffffed;background:linear-gradient(145deg,#ffffffe8,#e9f1ebd9);box-shadow:var(--glass-shadow);font-size:21px}.editor-toolbar #editorAttach[hidden]{display:none}body.note-full #attachmentLabel .attachment-buttons{display:none}

.gesture-card>.shopping-check{float:right;display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;margin:0 0 8px 12px;padding:0;border:1.5px solid #67967e;border-radius:50%;background:#ffffff85;color:#47765e;font-size:20px}.gesture-card>.shopping-check.checked{background:#255b48;color:white}.gesture-card:has(.shopping-check)>p{padding-right:46px;min-height:34px}.gesture-card:has(.shopping-check){overflow:hidden}

.attachment-menu-overlay{position:fixed;inset:0;z-index:160;display:flex;align-items:flex-end;justify-content:center;padding:16px 16px max(16px,env(safe-area-inset-bottom));background:#244b3c38;backdrop-filter:blur(7px);animation:attachmentFade 180ms ease}.attachment-menu{width:min(100%,420px);display:flex;flex-direction:column;gap:10px;animation:attachmentRise 260ms cubic-bezier(.2,.8,.2,1)}.attachment-menu-group,.attachment-menu-cancel{border:1px solid #ffffffdc;border-radius:23px;background:linear-gradient(145deg,#f8fcf9f2,#e8f1ebee);box-shadow:var(--glass-shadow);overflow:hidden}.attachment-menu-group p{text-align:center;font-size:13px;color:#63796d;margin:0;padding:15px}.attachment-menu-group button{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:14px 22px;background:transparent;border-radius:0;border-top:1px solid #b7cec244;text-align:left;font-size:17px;color:#2b5040}.attachment-menu-group button span:first-child{font-size:23px}.attachment-menu-cancel{min-height:54px;font-size:17px;font-weight:600;color:#2b5040}.attachment-menu-overlay.closing{opacity:0;transition:opacity 160ms ease}.attachment-menu-overlay.closing .attachment-menu{transform:translateY(24px);transition:transform 160ms ease}@keyframes attachmentFade{from{opacity:0}to{opacity:1}}@keyframes attachmentRise{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.attachment-menu-overlay,.attachment-menu{animation:none}}

.editor-toolbar #noteAlarm{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;padding:0;border-radius:50%;border:1px solid #ffffffed;background:linear-gradient(145deg,#ffffffe8,#e9f1ebd9);box-shadow:var(--glass-shadow);font-size:20px}.editor-toolbar #noteAlarm[hidden]{display:none}.editor-toolbar #noteAlarm.active{background:#d4eadc}body.editing #attachmentLabel .attachment-buttons{display:none}body.editing #noteScheduleSummary{order:11;flex-shrink:0;text-align:left;background:transparent;color:#39705a;padding:8px 4px;font-size:13px}body.editing #noteScheduleSummary[hidden]{display:none}.note-schedule-panel{width:min(100%,420px);padding:22px;margin:0;max-height:85dvh;overflow:auto;background:#f2f8f4f5}.note-schedule-panel #schedule{display:flex;flex-direction:column;gap:12px}.note-schedule-panel #schedule label{margin:0}.note-schedule-panel .date-choice{width:100%;min-height:48px}.schedule-panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.schedule-panel-actions button{flex:1;white-space:nowrap}.schedule-panel-actions .primary{background:#255b48;color:white}.schedule-error{color:#a74338;font-size:13px}body.note-full #editorFields{overflow-y:auto}body.note-full #editor #text{flex:1 0 120px}

#quickInput{align-items:flex-end}#quickInput #quickText{flex:1;min-width:0;min-height:44px;max-height:none;height:44px;resize:none;line-height:1.45;padding:10px 6px;transition:height 160ms ease;overflow-y:hidden}#quickInput #quickSend{flex-shrink:0;align-self:flex-end}@media(prefers-reduced-motion:reduce){#quickInput #quickText{transition:none}}

#quickInput{align-items:center;margin-top:14px;padding:8px;gap:8px}#quickInput #quickSend{width:38px;height:38px;align-self:center;margin:0;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}#quickInput.expanded #quickSend{align-self:flex-end;margin-bottom:3px}.workspace-content:has(#quickInput:not([hidden])) #list{padding-bottom:8px;scroll-padding-bottom:12px;mask-image:linear-gradient(to bottom,#000 calc(100% - 12px),transparent);-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 12px),transparent)}

.date-overlay{z-index:180}.note-schedule-overlay{z-index:160}

.schedule-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.schedule-panel-header h2{margin:0;font-size:21px}.schedule-panel-header .schedule-confirm{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;padding:0;border-radius:50%;background:linear-gradient(145deg,#39765f,#255744);color:white;border:1px solid #ffffffed;box-shadow:var(--glass-shadow);font-size:24px;line-height:1}

.schedule-panel-header .schedule-cancel{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;padding:0;border-radius:50%;border:1px solid #ffffffed;background:linear-gradient(145deg,#ffffffe8,#e9f1ebd9);box-shadow:var(--glass-shadow);color:#2b5040;font-size:28px;line-height:1}

.schedule-cancel svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

body.city-typing main{top:0;transition:none}body.city-typing #workflowContent{scroll-behavior:auto}.city-picker>input{position:relative;z-index:1}

.tracking-times label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.tracking-times select,.tracking-times input{width:110px;min-width:0}.tracking-times input{font-size:16px;padding:10px}.card>.date-choice{width:100%;margin-bottom:10px}

.tracking-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;border-radius:9px;padding:5px 8px;margin-bottom:9px;border:1px solid #ffffffb3}.tracking-status.running{color:#276147;background:#d9efdf}.tracking-status.paused{color:#866016;background:#f5ebcc}.tracking-status.off{color:#96625e;background:#eee1df}.gesture-card.swipe-open>.tracking-status{display:none}

/* Route choices and tracking edit form */
.native-settings{display:flex;flex-direction:column;gap:14px;min-width:0}.native-settings h2{margin:0 0 4px;font-size:1.15rem}.native-field{display:flex;flex-direction:column;gap:6px;min-width:0}.native-field>span{font-size:.85rem;color:#35594c}.native-settings input,.native-settings select,.native-settings button{width:100%;min-width:0;box-sizing:border-box;min-height:44px}.native-settings input,.native-settings select{border:1px solid #c9d9d1;border-radius:16px;background:#fff;color:#24463a;padding:11px;font:inherit}.native-settings [hidden]{display:none!important}.ticket-route-fields{margin-bottom:12px}.route-city-panel{display:flex;flex-direction:column;gap:12px;width:min(480px,calc(100vw - 32px));box-sizing:border-box;padding:20px;background:#f3f8f4;border:1px solid white;border-radius:24px;box-shadow:0 16px 60px #163e342b;overflow:hidden}.route-city-panel h3{margin:0;color:#24463a}.route-city-panel input{flex:none;min-height:46px;border:1px solid #a9c7b9;border-radius:14px;padding:10px;font:inherit;background:white;color:#24463a;min-width:0;width:100%;box-sizing:border-box}.route-city-results{min-height:60px;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px}.route-city-results button{flex:none;min-height:44px;text-align:left;padding:12px;color:#24463a}.attachment-menu-overlay:has(.route-city-panel){z-index:240;align-items:flex-end;padding:16px;box-sizing:border-box}.route-city-panel>button{flex:none;min-height:44px}#workflowContent:has(#trackingEditForm){padding-bottom:24px}#trackingEditForm{overflow:visible}

.native-settings .native-field{margin:0}.native-settings{box-sizing:border-box;max-width:100%}

/* Compact route and consistent native settings. */
*{scrollbar-width:none}*::-webkit-scrollbar{display:none;width:0;height:0}
body.ticket-editing #formTitle{display:none}body.ticket-editing #editorFields{display:flex;flex-direction:column;gap:14px;scroll-padding-top:68px}
body.ticket-editing #editorFields>.editor-toolbar{position:sticky;top:0;flex:none;z-index:5;margin:0;background:transparent}
body.ticket-editing #editor #text{flex:none;min-height:46px!important;max-height:46px;height:46px!important;padding:12px 14px;font-size:16px;line-height:20px;border-radius:16px;margin:0}
.ticket-route-fields{margin:0;flex:none}.inline-city-results{display:flex;flex-direction:column;gap:6px;padding:6px 0}.inline-city-results[hidden]{display:none}.inline-city-results button{text-align:left;padding:10px 12px}
#trackingEditForm{background:transparent;border:0;box-shadow:none;padding:12px 4px 28px;gap:16px}
#workflowContent:has(#trackingEditForm){padding-top:12px;mask-image:linear-gradient(to bottom,transparent,#000 16px,#000 calc(100% - 20px),transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 16px,#000 calc(100% - 20px),transparent)}
.native-settings .native-field{margin:0;text-align:left;gap:7px}.native-settings input,.native-settings select,.native-settings .native-field>button{height:44px;min-height:44px;max-height:44px;line-height:20px;font-size:16px;padding:11px 12px}
.native-settings input[type=time]{display:block;width:100%;appearance:none;-webkit-appearance:none;text-align:left}.native-settings input[type=time]::-webkit-date-and-time-value{text-align:left;margin:0;min-height:20px}.native-settings .tracking-times,.native-settings .tracking-times>div{display:flex;flex-direction:column;gap:14px}.native-field small{font-size:12px;line-height:1.4;color:#537065}

#workflowContent>#trackingEditForm{width:100%;min-width:0;max-width:100%;background:transparent;border:0;box-shadow:none;border-radius:0;margin:0}#trackingEditForm .native-field{width:100%;min-width:0}#workflowContent:has(#trackingEditForm){overflow-x:hidden}
body.ticket-editing #editorFields>.editor-toolbar{order:0}body.ticket-editing #editorFields>#text{order:1}body.ticket-editing #ticketRouteFields{order:2}body.ticket-editing #ticketSchedule{order:3}body.ticket-editing #attachmentLabel{order:4}
/* Match city/date selectors to the other tracking fields. */
#trackingEditForm .native-field>button{background:#fff;border:1px solid #c9d9d1;border-radius:16px;color:#24463a;box-shadow:none;text-align:left}
/* Consistent labels, including nested schedule rows. */
#trackingEditForm label,#trackingEditForm .native-field>span,#workflowContent .tracking-times label,#workflowContent .tracking-times label>span{ text-align:left }
/* Blend the page into the iOS status-bar background. */
html{background:#edf3ef}
body{background:linear-gradient(to bottom,#edf3ef 0,rgba(237,243,239,.82) 36px,rgba(237,243,239,0) 160px),radial-gradient(ellipse at 100% 5%,rgba(192,217,205,.7),transparent 55%),radial-gradient(ellipse at 0% 75%,rgba(222,229,214,.65),transparent 60%),linear-gradient(155deg,#f5f8f5,#eaf1ed)}
/* Equal segment geometry regardless of caption length. */
.app-tools>.switch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}
.app-tools>.switch button{min-width:0;width:100%;margin:0;text-align:center;display:flex;align-items:center;justify-content:center}
.app-tools>.switch::before{width:calc((100% - 8px)/2);box-sizing:border-box}

/* Two-section travel layout. */
main{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;max-width:960px;margin-inline:auto;gap:12px;padding:12px 14px max(10px,env(safe-area-inset-bottom))}
.app-tools{grid-column:1;grid-row:1}.workspace-content{grid-column:1;grid-row:2;max-width:none;width:100%}
nav,body.editing nav{grid-column:1;grid-row:3;position:static;display:grid;grid-template-columns:1fr 1fr;gap:6px;flex-direction:row;padding:5px;margin:0;min-height:58px;max-width:none;width:100%;overflow:hidden;border:1px solid #ffffffba;border-radius:20px;background:#f5faf6b8}
nav>button{min-height:46px;padding:10px 8px;font-size:14px;white-space:nowrap;text-align:center;border-radius:15px;display:flex;align-items:center;justify-content:center}
body.keyboard-open nav,body.keyboard-open.editing nav{display:none}
body.keyboard-open main{grid-template-rows:auto minmax(0,1fr)}
@media(min-width:700px){main{padding:18px 24px;gap:16px}nav{max-width:460px;justify-self:center}.heading h2{font-size:24px}}

.travel-brand{flex:1;font-size:20px;font-weight:650;color:#203d34;padding:6px 2px}.app-tools{justify-content:space-between}.app-tools .top-utilities{margin-left:auto}

/* Section title is the only app heading. */
main{grid-template-rows:minmax(0,1fr) auto}.app-tools{display:none!important}.workspace-content{grid-row:1}nav,body.editing nav{grid-row:2}.heading-tools .top-utilities{display:flex;flex:none}.heading-tools .top-utilities button{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #ffffffd9;border-radius:13px;background:linear-gradient(145deg,#ffffffb3,#e6eee7ad);box-shadow:var(--glass-shadow);font-size:20px}body.keyboard-open main{grid-template-rows:minmax(0,1fr)}

/* Keep forms focused; navigation returns with the list. */
body.editing nav,body.workflow-open nav{display:none!important}
body.editing main,body.workflow-open main{grid-template-rows:minmax(0,1fr)}

#workflowContent>.tracking-control-home{padding:20px 16px;background:transparent;border:0;box-shadow:none}.tracking-control-home h2{font-size:22px;margin:0 0 20px}.tracking-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:24px}.tracking-summary-cell{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 4px;border:1px solid #ffffffd9;border-radius:18px;background:#ffffffa8}.tracking-summary-cell strong{font-size:28px;line-height:1}.tracking-summary-cell span{font-size:12px;color:#587266}.tracking-summary-cell.stat-2 strong{color:#2b7856}.tracking-summary-cell.stat-3 strong{color:#98645c}.tracking-control-home .workflow-buttons{gap:10px;margin:10px 0}.tracking-control-home .workflow-buttons button{min-height:48px;border-radius:16px;font-size:14px}.tracking-control-home .tracking-enable{background:#dceee3}.tracking-control-home .tracking-danger{background:#f6e9e6;color:#a34f45}.tracking-control-list .workflow-buttons button{text-align:left;padding:16px;line-height:1.5;border-radius:16px}

#list>.travel-tracking-card{padding:18px 16px;border-radius:20px}.travel-tracking-card .tracking-route{font-size:18px;font-weight:650;line-height:1.35;margin:0 0 7px}.travel-tracking-card .meta{font-size:13px;line-height:1.5;color:#62796c}.tracking-conditions{font-size:13px;line-height:1.5;color:#365849;margin-top:8px}.tracking-card-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.tracking-card-status .tracking-status{margin:0;font-size:11px}.tracking-frequency{font-size:12px;color:#61776c}.tracking-details{margin-top:12px;border-top:1px solid #dce7df;padding-top:10px}.tracking-details summary{cursor:pointer;list-style:none;color:#39705a;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:space-between;min-height:28px}.tracking-details summary::-webkit-details-marker{display:none}.tracking-details summary:after{content:'⌄';font-size:18px}.tracking-details[open] summary:after{content:'⌃'}.tracking-details dl{display:grid;grid-template-columns:minmax(90px,.65fr) minmax(0,1.35fr);gap:10px 12px;margin:14px 0 2px;font-size:12px;line-height:1.5}.tracking-details dt{color:#708477}.tracking-details dd{margin:0;color:#294f3e;overflow-wrap:anywhere}

/* Compact details control in the card corner. */
.travel-tracking-card{position:relative}.travel-tracking-card .tracking-route{padding-right:38px}.tracking-details{margin-top:0;padding-top:0;border-top:0}.tracking-details summary{position:absolute;top:16px;right:16px;width:26px;height:26px;min-height:26px;border:1.5px solid #688c79;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#47735c;font-size:16px;font-weight:650;line-height:1}.tracking-details summary:after,.tracking-details[open] summary:after{content:none}.tracking-details[open] summary{background:#dceee2}.tracking-details[open] dl{border-top:1px solid #dce7df;padding-top:14px;margin-top:14px}

/* Compact swipe action instead of a full-card delete target. */
.gesture-card.swipe-open{height:64px!important;min-height:0}.gesture-card.swipe-open>.swipe-actions{height:64px;justify-content:flex-end;gap:10px}.swipe-open .swipe-actions .delete{flex:0 0 100px;width:100px;min-height:56px;font-size:13px;border-radius:16px}.swipe-open .swipe-actions .swipe-return{flex:1;width:auto;max-width:none;background:#ffffff70;border-radius:16px;border:1px solid #ffffffaa;color:#426c55}.swipe-open .swipe-actions .swipe-return:before{content:"‹";font-size:28px;line-height:1}

/* Reveal a compact delete action beside the original card. */
.swipe-face>button{display:none}.gesture-card.swipe-open{height:var(--swipe-card-height)!important;position:relative;overflow:hidden;padding:0!important;border:0;box-shadow:none;background:transparent!important}.gesture-card.swipe-open>.swipe-face{display:block!important;position:relative;width:100%;height:100%;padding:18px 16px;box-sizing:border-box;background:linear-gradient(145deg,#fffffff2,#ffffffc2);border:1px solid #ffffffeb;border-radius:20px;transform:translateX(-82px);transition:transform .22s ease;cursor:pointer}.swipe-face{transition:transform .22s ease}.gesture-card.swipe-open>.swipe-actions{position:absolute;inset:0 0 0 auto;display:flex;width:70px;height:100%;justify-content:center;align-items:center;margin:0;padding:0;animation:none}.swipe-open .swipe-actions .delete{flex:0 0 58px;width:58px;height:58px;min-height:58px;border-radius:50%;padding:16px;background:linear-gradient(145deg,#f65b6b,#e84255);border:1px solid #ffffff8c;box-shadow:0 4px 12px #ac34462b;display:flex;align-items:center;justify-content:center}.swipe-actions .delete svg{width:25px;height:25px;fill:none;stroke:white;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.gesture-card.swipe-open .swipe-face .tracking-details{pointer-events:none}.gesture-card.swipe-open .swipe-face .tracking-details summary{pointer-events:none}
@media(prefers-reduced-motion:reduce){.swipe-face,.gesture-card.swipe-open>.swipe-face{transition:none}}

/* Keep the info anchor and content geometry identical in both swipe states. */
#list>.gesture-card:has(>.swipe-face){padding:0}.gesture-card>.swipe-face{position:relative;box-sizing:border-box;width:100%;padding:18px 16px;transform:translateX(0);border:1px solid transparent;border-radius:20px}.gesture-card.swipe-open>.swipe-face{position:relative;padding:18px 16px;box-sizing:border-box}.gesture-card:not(.swipe-open)>.swipe-face{border-color:transparent}.gesture-card.swipe-open{border:1px solid transparent}.gesture-card>.swipe-face .tracking-details summary{top:16px;right:16px}

/* Soften ticket fields where the keyboard clips the scrolling form. */
body.ticket-editing.keyboard-open #editorFields{padding-bottom:28px;scroll-padding-bottom:36px;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 28px),transparent 100%)}

#workflowContent{padding-bottom:32px;scroll-padding-bottom:32px;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 18px),transparent)}#workflowContent>.price-history-card{padding:18px 16px;border-radius:22px}.price-history-card>p:first-child{font-weight:650;font-size:18px;line-height:1.4}.history-caption{font-size:12px;color:#6c8175;line-height:1.5}.history-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 10px}.history-stats>div{background:#edf5ef;border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:7px}.history-stats span{font-size:11px;color:#627c6b}.history-stats strong{font-size:19px;color:#29583f}.history-chart{display:block;width:100%;height:auto;margin:10px 0 20px}.price-history-card h3{font-size:15px;margin:20px 0 8px}.history-row{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:13px 0;border-bottom:1px solid #e3eae5}.history-row time{font-size:12px;color:#61796b;align-self:center}.history-row strong{font-size:15px;text-align:right}.history-delta{grid-column:2;font-size:11px;text-align:right}.history-delta.up{color:#b56a45}.history-delta.down{color:#328061}.history-delta.same{color:#839087}.price-history-card .workflow-buttons{margin-top:16px}.price-history-card .workflow-buttons button{min-height:44px;border-radius:15px}

#workflowContent>.tracking-detail-screen{padding:22px 18px;border-radius:24px}.tracking-detail-screen h2{font-size:21px;line-height:1.35;margin:0 0 12px;letter-spacing:-.3px}.tracking-detail-sub{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;color:#647d6d;margin-bottom:20px}.tracking-detail-sub .tracking-status{margin:0}.tracking-detail-fields{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px 12px;margin:0 0 24px;padding:16px;background:#edf5ef9c;border-radius:17px;font-size:13px;line-height:1.5}.tracking-detail-fields dt{color:#718677}.tracking-detail-fields dd{margin:0;color:#2e5140;overflow-wrap:anywhere}.tracking-detail-screen .workflow-buttons{gap:10px;margin-top:10px}.tracking-detail-screen .workflow-buttons button{font-size:13px;min-height:46px;padding:12px 10px;border-radius:15px}.tracking-detail-screen .tracking-danger{color:#a54d48;background:#f8eae7}.tracking-detail-screen .detail-check-action{background:linear-gradient(145deg,#39765f,#255744);color:white}.tracking-detail-screen .detail-state-action{background:#e5eee6}.tracking-detail-screen button[hidden]{display:none!important}

/* Record actions sheet with a clear hierarchy and restrained motion. */
.card-menu-overlay{background:#183d3542;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:recordOverlayIn .22s ease both}.card-menu-sheet{position:relative;border:1px solid #ffffffe6;border-radius:28px;padding:12px 16px max(18px,env(safe-area-inset-bottom));background:linear-gradient(145deg,#fbfefbf5,#edf5eff5);box-shadow:0 18px 60px #163e3430;gap:0;animation:recordSheetIn .32s cubic-bezier(.2,.8,.2,1) both}.menu-handle{width:34px;height:4px;border-radius:4px;background:#a7bcb0;align-self:center;margin:0 0 18px}.card-menu-sheet h3{font-size:18px;margin:0 8px 6px}.menu-record-title{font-size:13px;color:#698273;margin:0 8px 18px;line-height:1.45}.card-menu-sheet>button{display:flex;align-items:center;gap:14px;min-height:53px;padding:10px 12px;border-radius:16px;background:transparent;font-size:15px;text-align:left;margin:2px 0}.menu-action-icon{width:32px;height:32px;flex:none;border:1px solid #dce8df;border-radius:10px;background:#ffffff9c;display:flex;align-items:center;justify-content:center;color:#3a7053;font-size:21px}.card-menu-sheet>button.delete{margin-top:10px;background:#f8eae8;color:#a74c46}.card-menu-sheet>button.delete .menu-action-icon{color:#b34e4a;border-color:#efcfca;background:#fff7f4}.card-menu-sheet>button:active{background:#dfece3}.card-menu-overlay.closing{animation:none;opacity:0;transition:opacity .18s ease}.card-menu-overlay.closing .card-menu-sheet{animation:none;transform:translateY(24px);opacity:0;transition:transform .18s ease,opacity .18s ease}@keyframes recordOverlayIn{from{opacity:0}to{opacity:1}}@keyframes recordSheetIn{from{opacity:0;transform:translateY(32px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.card-menu-overlay,.card-menu-sheet{animation:none!important}.card-menu-overlay.closing,.card-menu-overlay.closing .card-menu-sheet{transition:none!important}}

.recipient-sheet{gap:12px;padding:24px 20px}.recipient-sheet h3{margin:0}.recipient-sheet .menu-record-title{margin:0}.recipient-help{font-size:13px;color:#617d6d;line-height:1.5;margin:0}.recipient-sheet select{min-height:48px;border-radius:15px;background:white}.recipient-sheet>button.invite-send,.invite-actions .invite-accept{background:linear-gradient(145deg,#39765f,#255744);color:white;justify-content:center}.recipient-sheet>button{justify-content:center}.tracking-invitation{padding:18px 16px;background:linear-gradient(145deg,#f9fff8,#e4f0e7);border:1px solid #bfd9c8;border-radius:20px;margin:10px 0 16px;box-shadow:0 4px 16px #285b4310}.tracking-invitation h3{font-size:15px;line-height:1.4;margin:0 0 8px}.invite-sender,.invite-info{font-size:12px;color:#627d6b;line-height:1.5;white-space:pre-line;margin:8px 0}.tracking-invitation>strong{display:block;font-size:17px;line-height:1.4}.tracking-invitation summary{font-size:12px;color:#357353;cursor:pointer;padding:6px 0}.invite-actions{display:flex;gap:10px;margin-top:14px}.invite-actions button{flex:1;min-height:44px;border-radius:14px}.invite-actions button:disabled{opacity:.5}

/* Quiet, explicit pin state and text-only record actions. */
.card.pinned .meta:before,.active-reminder.pinned>p:before{content:none}.pinned-label{display:table;font-size:10px;line-height:1.2;font-weight:600;letter-spacing:.2px;padding:5px 9px;border:1px solid #c6ddcd;border-radius:8px;background:#e5f1e8;color:#3d7153;margin:0 38px 10px 0}.card.pinned>.swipe-face{box-shadow:inset 3px 0 0 #78a88b}.card-menu-sheet>.pin-action .menu-action-icon,.card-menu-sheet .menu-action-icon{display:none}.card-menu-sheet>button{gap:0;padding:14px 16px;min-height:50px}.card-menu-sheet>button>span:not(.menu-action-icon){display:block;width:100%}

/* Matching line icons for record actions. */
.card-menu-sheet .menu-action-icon,.card-menu-sheet>.pin-action .menu-action-icon{display:flex}.card-menu-sheet>button{gap:14px;padding:10px 12px}.card-menu-sheet>button>span:not(.menu-action-icon){width:auto;flex:1}.menu-action-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}

/* Pin marker stays outside layout; pointer-opened sheets have no button focus ring. */
.card.pinned>.swipe-face{box-shadow:none}.pinned-label{display:none}.gesture-card .swipe-face>p:first-of-type{padding-right:76px}.pinned-corner{position:absolute;top:18px;right:54px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:#54816a;pointer-events:none;animation:pinCornerIn .2s ease both}.pinned-corner svg{width:19px;height:19px;fill:#e0eee4;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;transform:rotate(32deg)}.card-menu-sheet:focus{outline:none}.card-menu-sheet>button:focus-visible{outline:2px solid #6b9c7d;outline-offset:2px}@keyframes pinCornerIn{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.pinned-corner{animation:none}}

/* Horizontal gestures slide the face, never the pointer target. */
.gesture-card.swiping{transform:none!important;box-shadow:none!important;border-color:transparent;background:transparent!important;overflow:hidden}.gesture-card.swiping>.swipe-face{transform:translateX(var(--gesture-slide,0px));transition:none!important;position:relative;background:linear-gradient(145deg,#fffffff2,#ffffffc2);border-color:#ffffffeb}.gesture-card.swiping>.swipe-actions{position:absolute;inset:0 0 0 auto;display:flex;width:70px;height:100%;justify-content:center;align-items:center;margin:0;padding:0;animation:none}.gesture-card.swiping .swipe-actions .delete{flex:0 0 58px;width:58px;height:58px;min-height:58px;border-radius:50%;padding:16px;background:linear-gradient(145deg,#f65b6b,#e84255);border:1px solid #ffffff8c;display:flex;align-items:center;justify-content:center}.gesture-card .swipe-face,.gesture-card .tracking-details summary{touch-action:pan-y pinch-zoom}

/* One stable card surface prevents a border flashing behind the sliding face. */
#list>.gesture-card:has(>.swipe-face){padding:0;border:0;background:transparent!important;box-shadow:none;overflow:hidden;transition:none}.gesture-card>.swipe-face{background:linear-gradient(145deg,#fffffff2,#ffffffc2);border:1px solid #ffffffeb;transition:transform .22s cubic-bezier(.2,.7,.3,1);will-change:transform}.gesture-card.swipe-open{border:0}.gesture-card.swipe-open>.swipe-face{transform:translateX(calc(-1 * var(--swipe-reveal,82px)))}.gesture-card.swiping>.swipe-face{transform:translateX(var(--gesture-slide,0px));transition:none!important}.gesture-card>.swipe-actions,.gesture-card.swipe-open>.swipe-actions,.gesture-card.swiping>.swipe-actions{position:absolute;inset:0 0 0 auto;display:flex;width:calc(var(--swipe-reveal,82px) - 12px);height:100%;align-items:center;justify-content:center;gap:10px;margin:0;padding:0;animation:none;opacity:0;visibility:hidden;pointer-events:none;transition:none}.gesture-card.swipe-open>.swipe-actions,.gesture-card.swiping>.swipe-actions{opacity:1;visibility:visible;pointer-events:auto}.gesture-card .swipe-actions .swipe-edit{flex:0 0 58px;width:58px;height:58px;min-height:58px;padding:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #ffffffce;background:linear-gradient(145deg,#e8f3ec,#d6e8dd);color:#346c4d;box-shadow:0 3px 10px #285b4315}.swipe-actions .swipe-edit svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.gesture-card .swipe-actions button{-webkit-tap-highlight-color:transparent;transition:filter .15s ease}.gesture-card .swipe-actions button:focus:not(:focus-visible){outline:none}
@media(prefers-reduced-motion:reduce){.gesture-card>.swipe-face{transition:none;will-change:auto}}
