:root{color-scheme:light;font-family:Georgia,Times New Roman,serif;--bg-glow: rgba(205, 179, 132, .14);--bg-top: #f7f2ea;--bg-bottom: #efe7db;--ink: #17120e;--ink-emphasis: #3a2f27;--ink-soft: #6d6258;--ink-faint: #8c7f73;--accent: #87663a;--surface: rgba(255, 251, 246, .9);--surface-quiet: rgba(255, 252, 247, .72);--surface-tint: rgba(252, 247, 240, .92);--surface-input: rgba(255, 255, 255, .9);--pill-bg: rgba(255, 252, 248, .92);--border: rgba(31, 22, 15, .08);--shadow: rgba(32, 23, 16, .06);--fill-active: #1b1510;--fill-active-ink: #f7efe3;--error: #7e2222;--error-bg: rgba(173, 58, 58, .08);--accent-tint-bg: rgba(135, 102, 58, .06);--accent-tint-border: rgba(135, 102, 58, .12);--accent-border: rgba(135, 102, 58, .24);--modal-overlay: rgba(10, 8, 6, .42);--modal-shadow: rgba(10, 8, 6, .22);--tabbar-bg: rgba(246, 239, 229, .94);--tabbar-shadow: rgba(28, 23, 18, .12);--status-bg: rgba(28, 23, 17, .08);--loader-track: rgba(138, 106, 56, .18);--focus-ring: #7a5c3a;background:radial-gradient(circle at top,var(--bg-glow),transparent 24rem),linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 100%);color:var(--ink)}:root[data-theme=dark]{color-scheme:dark;--bg-glow: rgba(205, 179, 132, .1);--bg-top: #1c1712;--bg-bottom: #14100c;--ink: #f3ece0;--ink-emphasis: #fbf5ea;--ink-soft: #baac9c;--ink-faint: #8f8171;--accent: #d9b273;--surface: rgba(255, 247, 232, .06);--surface-quiet: rgba(255, 247, 232, .04);--surface-tint: rgba(255, 247, 232, .05);--surface-input: rgba(255, 247, 232, .08);--pill-bg: rgba(255, 247, 232, .07);--border: rgba(255, 247, 232, .12);--shadow: rgba(0, 0, 0, .35);--fill-active: #f3ece0;--fill-active-ink: #1c1712;--error: #ff8a80;--error-bg: rgba(255, 109, 109, .14);--accent-tint-bg: rgba(217, 178, 115, .1);--accent-tint-border: rgba(217, 178, 115, .2);--accent-border: rgba(217, 178, 115, .3);--modal-overlay: rgba(0, 0, 0, .6);--modal-shadow: rgba(0, 0, 0, .5);--tabbar-bg: rgba(28, 22, 16, .85);--tabbar-shadow: rgba(0, 0, 0, .4);--status-bg: rgba(255, 247, 232, .1);--loader-track: rgba(217, 178, 115, .22);--focus-ring: #d9b273}*{box-sizing:border-box}html,body,#root{min-height:100vh}body{margin:0;min-width:320px;background:transparent}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.7}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-shell{min-height:100vh;padding:14px 14px 92px}.page-shell{margin:0 auto;max-width:440px}.home-grid{margin-top:14px;display:grid;gap:12px}.legal-links{margin:16px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-family:system-ui,sans-serif;font-size:12px;color:var(--ink-soft)}.legal-links a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.legal-links span{color:var(--ink-faint)}.home-entry{display:block;border-radius:24px;padding:22px 20px;border:1px solid var(--border);background:var(--surface);box-shadow:0 10px 24px var(--shadow)}.home-entry--dark{background:var(--fill-active);color:var(--fill-active-ink)}.home-entry h2{margin:8px 0 0;font-size:30px;line-height:1}.home-entry span{display:block;margin-top:10px;font-family:system-ui,sans-serif;color:inherit;opacity:.74;line-height:1.45}.hero-card,.section-card,.panel-card,.state-card,.record-card{border:1px solid var(--border);background:var(--surface);box-shadow:0 10px 24px var(--shadow)}.hero-card{border-radius:28px;padding:20px}.hero-card--compact{padding:16px 18px}.hero-card h1{margin:8px 0 0;font-size:38px;line-height:.98;letter-spacing:-.03em}.hero-note,.panel-copy,.muted{margin:10px 0 0;font-family:system-ui,sans-serif;color:var(--ink-soft);line-height:1.45}.hero-inline{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:16px;background:var(--fill-active);color:var(--fill-active-ink);padding:12px 14px}.hero-inline span,.hero-inline strong{font-family:system-ui,sans-serif}.hero-inline__meta{margin:4px 0 0;font-family:system-ui,sans-serif;font-size:12px;opacity:.78}.eyebrow{margin:0;font-family:system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.section-card,.panel-card,.state-card,.record-card{margin-top:14px;border-radius:22px;padding:16px}.panel-card--success{background:var(--surface-tint)}.panel-card--inline{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-card h2,.section-title h2,.record-card h3{margin:6px 0 0;font-size:24px;line-height:1.08}.panel-lead{margin:0;font-size:24px}.section-title{display:flex;align-items:start;justify-content:space-between;gap:12px}.section-title h2{margin:6px 0 0}.section-meta{margin:8px 0 0;font-family:system-ui,sans-serif;font-size:13px;color:var(--ink-soft)}.day-strip,.filter-row,.segment-row,.duration-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.day-strip::-webkit-scrollbar,.filter-row::-webkit-scrollbar,.segment-row::-webkit-scrollbar,.duration-row::-webkit-scrollbar{display:none}.duration-row--wrap{margin-top:16px;flex-wrap:wrap;overflow:visible}.day-pill,.filter-pill,.segment-pill,.duration-pill,.emoji-pill,.button-primary,.button-secondary,.tabbar-link,.month-day,.window-card{border:1px solid var(--border);background:var(--pill-bg);color:var(--ink)}.day-pill,.filter-pill,.segment-pill,.duration-pill,.emoji-pill,.button-primary,.button-secondary,.tabbar-link,.month-day{font-family:system-ui,sans-serif}.day-pill{min-width:76px;border-radius:18px;padding:10px 10px 8px;display:flex;flex-direction:column;align-items:center;gap:2px}.day-pill span,.day-pill small{font-size:11px;color:var(--ink-faint)}.day-pill strong{font-size:17px;line-height:1}.day-pill.active,.filter-pill.active,.segment-pill.active,.duration-pill.active,.button-primary,.tabbar-link.active,.month-day.active{background:var(--fill-active);color:var(--fill-active-ink);border-color:var(--fill-active)}.day-pill.active span,.day-pill.active small,.month-day.active{color:var(--fill-active-ink)}.day-pill:not(.active){opacity:.92}.filter-row,.segment-row{margin-top:14px}.filter-pill,.segment-pill,.duration-pill,.emoji-pill{white-space:nowrap;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:700}.emoji-pill{min-width:44px;justify-content:center;font-size:18px;line-height:1}.emoji-pill.active{background:var(--fill-active);color:var(--fill-active-ink);border-color:var(--fill-active)}.window-grid,.route-grid,.stack-list,.month-grid{display:grid;gap:9px}.route-grid,.window-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-card{border:1px solid var(--border);border-radius:18px;background:var(--surface-quiet);padding:12px;transition:border-color .12s ease,transform .12s ease,background-color .12s ease}.route-card.expanded{grid-column:1 / -1;border-color:var(--accent-tint-border);background:var(--surface-tint)}.route-head h3{margin:0;font-size:18px;line-height:1}.route-head span,.route-body p,.record-meta,.inline-link,.window-head span,.window-card p,.confirm-line span{font-family:system-ui,sans-serif}.route-head span,.route-body p,.record-meta,.window-card p,.confirm-line span{display:block;margin-top:6px;color:var(--ink-soft)}.route-body{margin-top:14px}.route-body p{line-height:1.45}.window-card{border-radius:16px;padding:9px 11px;text-align:left;transition:border-color .12s ease,transform .12s ease,background-color .12s ease}.window-card--disabled{opacity:.72;background:var(--surface-tint)}.window-card--disabled .window-head span{color:var(--ink-faint)}.window-card--disabled:hover,.window-card--disabled:active{transform:none;border-color:var(--border)}.window-card:hover,.route-card:hover{border-color:var(--accent-border)}.window-card:active,.route-card:active{transform:translateY(1px)}.window-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.window-head strong{font-size:25px;line-height:1}.window-head span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.window-card p{margin-bottom:0;font-size:14px;font-weight:700;color:var(--ink-soft)}.section-card .state-card{margin-top:12px}.month-panel{margin-top:14px;padding:14px;border-radius:18px;background:var(--surface-tint);border:1px solid var(--border)}.month-panel__header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.month-panel__header strong{text-align:center;font-size:18px;text-transform:capitalize}.month-weekdays{margin-top:14px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;font-family:system-ui,sans-serif;font-size:11px;text-align:center;color:var(--ink-faint)}.month-grid{margin-top:8px;grid-template-columns:repeat(7,minmax(0,1fr))}.month-day{min-height:44px;border-radius:14px;font-size:14px;font-weight:700}.month-day.available{border-color:var(--accent-border);background:var(--surface-tint)}.month-day.muted{opacity:.55}.confirm-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.confirm-overview{border-radius:18px;padding:16px;background:var(--surface-tint)}.confirm-overview__time{display:flex;align-items:baseline;gap:10px}.confirm-overview__time strong,.confirm-overview__time span,.confirm-overview__label{font-family:system-ui,sans-serif}.confirm-overview__time strong{font-size:34px;line-height:1}.confirm-overview__time span{font-size:15px;font-weight:700;color:var(--ink-soft)}.confirm-overview__label{margin:8px 0 0;color:var(--ink-soft)}.confirm-line:last-of-type{border-bottom:none}.confirm-line strong{font-size:18px}.field-block{margin-top:14px;display:grid;gap:8px}.field-label{font-family:system-ui,sans-serif;font-size:13px;font-weight:700;color:var(--ink-soft)}.text-input{width:100%;min-height:46px;border-radius:16px;border:1px solid var(--border);background:var(--surface-input);padding:0 14px;color:var(--ink)}.text-input::placeholder{color:var(--ink-faint)}.record-note{margin:8px 0 0;font-family:system-ui,sans-serif;font-size:14px;line-height:1.4;color:var(--ink-soft)}.record-note--client{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--ink-emphasis)}.record-note--client svg{flex:none;color:var(--ink-faint)}.inline-error{margin-top:14px;border-radius:16px;padding:12px 14px;font-family:system-ui,sans-serif;color:var(--error);background:var(--error-bg)}.action-stack{margin-top:16px;display:grid;gap:10px}.client-notes-block{margin-top:8px;padding:10px 14px;border-radius:14px;background:var(--accent-tint-bg);border:1px solid var(--accent-tint-border)}.client-notes-label{font-family:system-ui,sans-serif;font-size:12px;font-weight:700;color:var(--ink-soft);margin:0 0 6px;text-transform:uppercase;letter-spacing:.04em}.client-notes-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.client-note-item{font-family:system-ui,sans-serif;font-size:14px;color:var(--ink-emphasis);line-height:1.45;padding:2px 0}.client-note-add{margin-top:8px}.client-note-textarea{resize:none;min-height:68px;padding:10px 14px;line-height:1.4}.client-note-actions{margin-top:6px;display:flex;gap:8px}.button-secondary--small{min-height:44px;padding:0 14px;border-radius:12px;font-size:13px}.link-button{background:none;border:none;padding:0;color:var(--accent);font-family:system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.reschedule-panel{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.modal-overlay{position:fixed;inset:0;z-index:80;display:flex;align-items:end;justify-content:center;padding:16px;background:var(--modal-overlay)}.modal-card{width:min(640px,100%);max-height:min(84vh,720px);overflow:auto;border-radius:22px;border:1px solid var(--border);background:var(--surface-input);box-shadow:0 18px 40px var(--modal-shadow)}.modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:start;justify-content:space-between;gap:12px;padding:16px 16px 10px;background:var(--surface-input);border-bottom:1px solid var(--border)}.modal-body{padding:14px 16px 18px}.text-input:disabled{opacity:.7}.button-primary,.button-secondary,.tabbar-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:16px;padding:0 16px;font-size:14px;font-weight:700;transition:transform .12s ease,border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.button-primary--compact,.button-secondary--compact{min-height:44px;padding:0 14px;border-radius:13px}.button-secondary{background:var(--surface)}.button-primary:hover,.button-secondary:hover,.tabbar-link:hover{border-color:var(--accent-tint-border)}.button-primary:active,.button-secondary:active,.tabbar-link:active{transform:translateY(1px)}.record-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.record-card--stack{align-items:start}.record-card--quiet{background:var(--surface-quiet)}.record-main{min-width:0}.record-date{margin:0;font-family:system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.record-card h3{font-size:20px}.record-foot{margin-top:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.record-status{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:var(--status-bg);font-family:system-ui,sans-serif;font-size:12px;font-weight:700;color:var(--ink-soft)}.inline-link{font-size:13px;font-weight:700;color:var(--accent)}.profile-action-row{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.state-card{display:grid;place-items:center;gap:12px;text-align:center}.error-card{color:var(--error)}.loader-mark{width:28px;height:28px;border-radius:999px;border:3px solid var(--loader-track);border-top-color:var(--accent);animation:spin 1s linear infinite}.tabbar{position:fixed;left:16px;right:16px;bottom:16px;margin:0 auto;max-width:440px;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;border-radius:20px;background:var(--tabbar-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 12px 28px var(--tabbar-shadow)}.tabbar-link,.tabbar-link__label{position:relative}.tabbar-link.active{box-shadow:inset 0 0 0 1px #ffffff0a}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:420px){.hero-card h1{font-size:36px}.route-grid{grid-template-columns:1fr}.panel-card--inline,.record-card{align-items:start;flex-direction:column}}
