:root{--bg: #F5F1EA;--surface: #FFFFFF;--surface-2: #FBF7F0;--ink: #161514;--ink-2: #3C3A36;--ink-3: #6E6A63;--ink-4: #A8A39A;--hairline: rgba(22, 21, 20, .08);--hairline-strong: rgba(22, 21, 20, .14);--accent: #FF6B3D;--accent-ink: #FFFFFF;--accent-soft: rgba(255, 107, 61, .1);--warn: #C57B14;--warn-soft: rgba(197, 123, 20, .1);--good: #2E7D5B;--good-soft: rgba(46, 125, 91, .1);--muted-soft: rgba(22, 21, 20, .05);--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--pad: 16px;--gap: 12px;--row-gap: 14px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--shadow-sheet: 0 -10px 40px rgba(22, 21, 20, .1);--shadow-card: 0 1px 0 rgba(22, 21, 20, .04), 0 1px 2px rgba(22, 21, 20, .04)}[data-theme=dark]{--bg: #14130F;--surface: #1C1B17;--surface-2: #221F1A;--ink: #F2EFE8;--ink-2: #D9D5CC;--ink-3: #9B968C;--ink-4: #6B665E;--hairline: rgba(242, 239, 232, .08);--hairline-strong: rgba(242, 239, 232, .16);--accent-soft: rgba(255, 107, 61, .16);--warn-soft: rgba(212, 152, 64, .16);--good-soft: rgba(76, 175, 130, .16);--muted-soft: rgba(242, 239, 232, .06);--shadow-sheet: 0 -10px 40px rgba(0, 0, 0, .6);--shadow-card: 0 1px 0 rgba(0, 0, 0, .3)}[data-density=compact]{--pad: 12px;--gap: 8px;--row-gap: 10px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#2a2823;color:var(--ink);overflow:hidden}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.stage{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(1200px 700px at 50% 50%,#36322b,#1f1d19 70%)}.phone{width:390px;height:844px;background:var(--bg);border-radius:44px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0a,0 30px 80px #00000073,0 60px 120px #00000059;color:var(--ink);display:flex;flex-direction:column}@media(max-width:430px){.stage{background:none}.phone{width:100vw;height:100vh;height:100dvh;border-radius:0;box-shadow:none}}.home-indicator{position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:134px;height:5px;border-radius:3px;background:var(--ink);opacity:.85;z-index:10}.tabbar{flex-shrink:0;height:78px;padding:8px 18px 22px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;background:color-mix(in oklab,var(--bg) 70%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--hairline);position:relative}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:14px;padding:6px 10px;color:var(--ink-3);font-size:11px;font-weight:600;letter-spacing:.02em;transition:color .18s ease,background .18s ease}.tab.active{color:var(--ink)}.tab svg{width:22px;height:22px}.screen{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.screen::-webkit-scrollbar{display:none}.scr-header{padding:6px var(--pad) 8px}.eyebrow{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.h-title{font-family:var(--font-serif);font-size:36px;line-height:1.05;letter-spacing:-.01em;color:var(--ink);font-weight:400;margin:0 0 4px}.h-sub{font-size:14px;color:var(--ink-3);margin:0}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--ink);background:var(--muted-soft);flex-shrink:0}.avatar.lg{width:48px;height:48px;font-size:15px}.avatar.sm{width:28px;height:28px;font-size:10.5px}.pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.01em;background:var(--muted-soft);color:var(--ink-2);white-space:nowrap}.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.pill.confirmed{background:var(--good-soft);color:var(--good)}.pill.arrived{background:var(--accent-soft);color:var(--accent)}.pill.pending{background:var(--warn-soft);color:var(--warn)}.pill.completed{background:var(--muted-soft);color:var(--ink-3)}.pill.urgent{background:var(--accent-soft);color:var(--accent)}.pill.video{background:var(--muted-soft);color:var(--ink-2)}.btn{height:46px;padding:0 18px;border-radius:14px;font-size:14.5px;font-weight:600;letter-spacing:-.005em;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s ease,background .16s ease,color .16s ease}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-secondary{background:var(--muted-soft);color:var(--ink)}.btn-ghost{background:transparent;color:var(--ink-2)}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a090859;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:30}.sheet-backdrop.open{opacity:1;pointer-events:auto}.sheet{position:absolute;left:0;right:0;bottom:0;background:var(--surface);border-top-left-radius:28px;border-top-right-radius:28px;box-shadow:var(--shadow-sheet);transform:translateY(110%);transition:transform .32s cubic-bezier(.22,1,.36,1);z-index:31;max-height:88%;overflow-y:auto;scrollbar-width:none}.sheet::-webkit-scrollbar{display:none}.sheet.open{transform:translateY(0)}.sheet-grabber{width:38px;height:4px;border-radius:2px;background:var(--hairline-strong);margin:10px auto 0}.hr{height:1px;background:var(--hairline);border:0;margin:0}.row{display:flex;align-items:center;gap:var(--gap)}.col{display:flex;flex-direction:column;gap:var(--gap)}.spacer{flex:1}.muted{color:var(--ink-3)}.mono{font-family:var(--font-mono)}.serif{font-family:var(--font-serif)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.settings-section{padding:0 var(--pad);margin-bottom:18px}.settings-section-title{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:12px 0 8px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--hairline)}.settings-row:last-child{border-bottom:none}.settings-label{font-size:14px;font-weight:500;color:var(--ink)}.settings-value{font-size:13px;color:var(--ink-3);font-family:var(--font-mono)}.segmented{display:grid;background:var(--muted-soft);border-radius:12px;padding:3px;position:relative;height:36px}.segmented button{border-radius:9px;font-size:13px;font-weight:600;color:var(--ink-2);z-index:1;transition:color .16s ease}.segmented button.active{color:var(--ink)}.segmented .indicator{position:absolute;top:3px;left:3px;height:calc(100% - 6px);background:var(--surface);border-radius:9px;box-shadow:var(--shadow-card);transition:transform .24s cubic-bezier(.22,1,.36,1),width .24s cubic-bezier(.22,1,.36,1)}.color-swatches{display:flex;gap:8px;flex-wrap:wrap;padding:4px 0}.color-swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;transition:transform .12s ease;border:2px solid transparent}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{border-color:var(--surface);box-shadow:0 0 0 2px currentColor}.toggle{position:relative;width:44px;height:26px;border-radius:999px;background:var(--hairline-strong);transition:background .2s ease;cursor:pointer;flex-shrink:0}.toggle.on{background:var(--accent)}.toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px #0003;transition:transform .2s cubic-bezier(.22,1,.36,1)}.toggle.on .toggle-thumb{transform:translate(18px)}.loading-screen{flex:1;display:grid;place-items:center}.spinner{width:28px;height:28px;border:2.5px solid var(--hairline);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{padding:48px var(--pad);text-align:center;color:var(--ink-3)}.empty-state p{font-size:14px;margin:8px 0 0}input[type=date]{color-scheme:light}[data-theme=dark] input[type=date]{color-scheme:dark}input[type=date]:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)}
