*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visible{visibility:visible}.static{position:static}.hidden{display:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color:#23302d;font-synthesis:none;text-rendering:optimizelegibility;background:#f8f6f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{background:linear-gradient(#e7d9bd47,#f8f6f000 360px),#f8f6f0;min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.app-shell{width:min(1420px,100% - 32px);margin:0 auto;padding:16px 0 48px}.top-bar,.workbench{width:100%}.top-bar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8f6f0e6;border-bottom:1px solid #4f6f641f;justify-content:space-between;align-items:flex-end;gap:20px;padding:10px 0 12px;display:flex;position:sticky;top:0}.top-bar h1,.login-panel h1{color:#23302d;letter-spacing:0;margin:0;font-size:clamp(2rem,4vw,3.8rem);font-weight:720;line-height:1}.top-title-label{color:#4f6f64;letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;font-size:.78rem;font-weight:820;line-height:1}.eyebrow{color:#4f6f64;letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:760}.top-actions,.composer-actions,.touchpoint-actions,.date-title-row{align-items:center;gap:10px;display:flex}.date-picker-shell{display:inline-flex;position:relative}.date-picker-button{flex:none}.date-picker-input{opacity:0;pointer-events:none;width:44px;height:44px;position:absolute;inset:0}.icon-button,.primary-action,.secondary-action,.status-action{border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.icon-button{color:#23302d;background:#fff;border:1px solid #4f6f6438;width:44px}.primary-action{color:#fff;background:#2f7d7b;padding:0 18px;font-weight:760}.secondary-action,.status-action{color:#23302d;background:#fff;border:1px solid #4f6f6438;padding:0 12px;font-weight:720}.icon-button:hover,.secondary-action:hover,.status-action:hover{border-color:#2f7d7b70;transform:translateY(-1px)}.note-action-button{color:#fff;background:#2f7d7b;border-color:#2f7d7b94;box-shadow:0 10px 24px #2f7d7b2e}.note-action-button:hover{background:#276967;border-color:#2f7d7b94}.primary-action:hover{background:#276967;transform:translateY(-1px)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.workbench{grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:start;gap:24px;display:grid}.manifest-column,.side-column,.manifest-timeline,.manifest-timeline-item,.touchpoint-list,.timeline-list{flex-direction:column;gap:14px;display:flex}.side-column{position:sticky;top:16px}.desktop-observation-composer{display:block}.day-flow-ribbon{background:#ffffffd1;border:1px solid #4f6f642e;border-radius:8px;padding:16px;box-shadow:0 16px 40px #23302d14}.day-flow-copy{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.day-flow-copy h2{color:#23302d;letter-spacing:0;margin:0;font-size:1.1rem}.time-readout{color:#8a5147;white-space:nowrap;background:#b76e5f1c;border-radius:8px;align-items:center;gap:9px;min-height:48px;padding:0 14px;display:inline-flex}.time-readout svg{width:20px;height:20px}.time-readout time{font-variant-numeric:tabular-nums;letter-spacing:0;font-size:clamp(1.35rem,2.4vw,2rem);font-weight:780;line-height:1}.day-flow-track{background:linear-gradient(90deg,#e7d9bd9e,#e7d9bd47);border-radius:999px;height:18px;position:relative;overflow:visible}.day-flow-fill{width:var(--recorded-progress);border-radius:inherit;background:linear-gradient(90deg,#2f7d7b,#79a88f);transition:width .22s;position:absolute;inset:0 auto 0 0}.time-marker{top:-7px;bottom:-7px;left:var(--time-progress);background:#b76e5f;border-radius:999px;width:2px;position:absolute;transform:translate(-1px);box-shadow:0 0 0 4px #b76e5f1f}.time-marker span{background:#b76e5f;border-radius:999px;width:10px;height:10px;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.manifest-section{border-top:1px solid #4f6f642e;padding:10px 0 8px}.section-heading{justify-content:flex-start;align-items:center;margin-bottom:8px;display:flex}.section-heading h2{color:#806f4e;letter-spacing:.06em;text-transform:uppercase;margin:0;padding-top:8px;font-size:1.04rem;font-weight:840;line-height:1}.observation-panel h2,.timeline-panel h2{letter-spacing:0;margin:0;font-size:1.22rem;line-height:1.2}.touchpoint-card,.observation-panel,.timeline-panel,.login-panel,.notice{background:#ffffffc7;border:1px solid #4f6f642e;border-radius:8px;box-shadow:0 16px 40px #23302d14}.touchpoint-card{grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px;display:grid;position:relative}.touchpoint-card-priority{background:linear-gradient(90deg,#b76e5f1a,#ffffffd6 42%);border-color:#b76e5f57}.touchpoint-card-priority:before{content:"";pointer-events:none;background:#b76e5f;border-radius:8px 0 0 8px;width:5px;position:absolute;inset:0 auto 0 0}.now-card{color:#fff;background:linear-gradient(135deg,#2f7d7bfa,#468f78f0 52%,#b76e5fe6),#2f7d7b;border:1px solid #2f7d7b59;border-radius:8px;padding:20px;position:relative;overflow:hidden;box-shadow:0 22px 52px #23302d2e}.now-card:after{content:"";opacity:.4;pointer-events:none;background:repeating-linear-gradient(135deg,#ffffff1f 0 1px,#0000 1px 12px);position:absolute;inset:0}.now-card-copy{z-index:1;position:relative}.now-card h2{color:#fff;letter-spacing:0;margin:13px 0 0;font-size:clamp(1.35rem,3vw,2rem);font-weight:840;line-height:1.08}.now-card p{color:#ffffffe6;max-width:62ch;margin:8px 0 0;line-height:1.45}.now-card-countdown{color:#fff;overflow-wrap:anywhere;background:#ffffff29;border:1px solid #ffffff38;border-radius:999px;flex-wrap:wrap;align-items:center;gap:10px;width:fit-content;max-width:100%;padding:10px 14px;display:inline-flex}.now-card-countdown span{color:#ffffffd1;letter-spacing:.08em;text-transform:uppercase;font-size:.9rem;font-weight:820;line-height:1}.now-card-countdown time{color:#fff;white-space:nowrap;border-right:1px solid #ffffff47;padding-right:9px;font-size:clamp(1.32rem,3vw,1.75rem);font-weight:840;line-height:1}.now-card-countdown strong{color:#fff;letter-spacing:0;white-space:nowrap;font-size:clamp(1.34rem,3.2vw,1.85rem);font-weight:840;line-height:1}.recorded-group{background:#ffffffad;border:1px solid #2f7d7b3d;border-radius:8px;box-shadow:0 12px 28px #23302d12}.recorded-group.expanded{background:#ffffffd1;border-color:#2f7d7b57;box-shadow:0 18px 42px #23302d1a}.recorded-group-toggle{color:#33423e;text-align:left;background:linear-gradient(135deg,#2f7d7b2e,#e7d9bd85);border:1px solid #2f7d7b42;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:56px;padding:9px 12px;display:grid;box-shadow:inset 0 1px #ffffff94}.recorded-group.expanded .recorded-group-toggle{background:linear-gradient(135deg,#2f7d7b3d,#e7d9bd70);border-color:#2f7d7b57;border-radius:8px 8px 0 0}.recorded-group-toggle:hover{background:linear-gradient(135deg,#2f7d7b3d,#e7d9bd94)}.recorded-group.expanded .recorded-group-toggle:hover{background:linear-gradient(135deg,#2f7d7b4d,#e7d9bd80)}.recorded-group-icon{color:#fff;background:#2f7d7b;border-radius:999px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 8px 18px #2f7d7b38}.recorded-group-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.recorded-group-copy strong{color:#23302d;text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;font-weight:820;line-height:1.15;overflow:hidden}.recorded-group-copy>span:not(.recorded-group-progress){color:#5c6864;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:650;line-height:1.2;overflow:hidden}.recorded-group-progress{background:#2f7d7b24;border-radius:999px;width:min(280px,100%);height:8px;display:block;overflow:hidden}.recorded-group-progress span{width:var(--recorded-group-progress);border-radius:inherit;background:linear-gradient(90deg,#2f7d7b,#79a88f);height:100%;display:block}.recorded-group-action{color:#2f7d7b;white-space:nowrap;background:#ffffff9e;border:1px solid #2f7d7b2e;border-radius:999px;align-items:center;gap:4px;padding:6px 8px;font-size:.84rem;font-weight:820;display:inline-flex}.recorded-group-chevron{transition:transform .16s}.recorded-group-chevron.open{transform:rotate(180deg)}.recorded-group-list{background:linear-gradient(90deg,#2f7d7b14,#2f7d7b00 42px),#ffffff6b;border-top:1px solid #2f7d7b2e;flex-direction:column;gap:10px;padding:12px 12px 12px 18px;display:flex;position:relative}.recorded-group-list:before{content:"";pointer-events:none;background:#2f7d7b6b;border-radius:999px;width:3px;position:absolute;inset:12px auto 12px 9px}.touchpoint-main{grid-template-columns:104px minmax(0,1fr);gap:16px;display:grid}.touchpoint-time,.note-line{color:#4f6f64;align-items:center;gap:7px;font-weight:720;display:flex}.touchpoint-title-row{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;display:flex}.priority-chip{color:#8a5147;letter-spacing:.05em;text-transform:uppercase;background:#b76e5f1f;border:1px solid #b76e5f38;border-radius:999px;flex:none;align-items:center;gap:5px;min-height:26px;padding:0 8px;font-size:.7rem;font-weight:820;line-height:1;display:inline-flex}.touchpoint-card h3{color:#23302d;letter-spacing:0;margin:0;font-size:1.05rem;line-height:1.25}.touchpoint-card p{color:#5c6864;max-width:68ch;margin:6px 0 0;line-height:1.5}.note-line{color:#8a5147;margin-top:10px}.touchpoint-actions{flex-wrap:wrap;justify-content:flex-end;max-width:250px}.status-action{min-width:112px}.touchpoint-status-control{align-items:center;gap:8px;display:inline-flex}.primary-status-action{min-width:116px}.primary-status-action.status-selected-pending{color:#fff;background:#2f7d7b;border-color:#2f7d7b;min-width:122px;box-shadow:0 10px 22px #2f7d7b38}.primary-status-action.status-selected-pending:hover{background:#276967;border-color:#276967}.primary-status-action.status-selected-completed,.primary-status-action.status-selected-partial,.primary-status-action.status-selected-skipped,.primary-status-action.status-selected-modified{color:#216463;background:#2f7d7b1a;border-color:#2f7d7b3d}.primary-status-action.status-selected-partial{color:#6b5833;background:#e7d9bd75;border-color:#977c433d}.primary-status-action.status-selected-skipped{color:#8a5147;background:#b76e5f21;border-color:#b76e5f3d}.primary-status-action.status-selected-modified{color:#3f5d53;background:#4f6f641f;border-color:#4f6f643d}.status-edit-button{color:#23302d;background:#fff;border:1px solid #4f6f6438;border-radius:8px;justify-content:center;align-items:center;width:44px;min-height:44px;display:inline-flex}.status-edit-button:hover{border-color:#2f7d7b70}.touchpoint-menu-shell{position:relative}.touchpoint-menu{z-index:10;background:#fff;border:1px solid #4f6f6433;border-radius:8px;min-width:150px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 18px 36px #23302d24}.touchpoint-menu-item{color:#23302d;text-align:left;background:#fff;border:0;border-bottom:1px solid #4f6f641a;align-items:center;gap:8px;min-height:42px;padding:0 12px;font-weight:720;display:flex}.touchpoint-menu-item:last-child{border-bottom:0}.touchpoint-menu-item:hover{background:#e7d9bd52}.touchpoint-menu-item.undo-record{color:#8a5147;border-top:1px solid #4f6f6429}.touchpoint-menu-item.undo-record:hover{background:#b76e5f1a}.observation-panel,.timeline-panel{padding:18px}.observation-panel form{flex-direction:column;gap:12px;margin-top:0;display:flex}.voice-capture-button{color:#23302d;text-align:left;background:linear-gradient(135deg,#2f7d7b1f,#e7d9bd47);border:1px solid #2f7d7b47;border-radius:8px;align-items:center;gap:12px;width:100%;padding:13px;transition:background .16s,border-color .16s,transform .16s;display:flex}.voice-capture-button:hover{border-color:#2f7d7b7a;transform:translateY(-1px)}.voice-capture-button.listening{background:linear-gradient(135deg,#b76e5f29,#2f7d7b29);border-color:#b76e5f85}.voice-capture-icon{color:#fff;background:#2f7d7b;border-radius:999px;flex:none;place-items:center;width:46px;height:46px;display:grid}.voice-capture-button.listening .voice-capture-icon{background:#b76e5f}.voice-capture-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.voice-capture-copy strong{color:#23302d;letter-spacing:0;font-size:1.02rem;font-weight:820;line-height:1.1}.voice-capture-copy span{color:#5c6864;font-size:.9rem;line-height:1.28}textarea,.login-panel input{color:#23302d;background:#fff;border:1px solid #4f6f643d;border-radius:8px;outline:none;width:100%}textarea{resize:vertical;min-height:140px;padding:13px 14px;line-height:1.5}textarea:focus,.login-panel input:focus,.day-controls label:focus-within{border-color:#2f7d7b;box-shadow:0 0 0 3px #2f7d7b1f}.composer-actions{justify-content:flex-end}.note-modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#23302d47;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.note-modal{background:#fbfaf6;border:1px solid #4f6f6433;border-radius:12px;width:min(560px,100%);max-height:min(720px,100vh - 40px);padding:20px;position:relative;overflow:auto;box-shadow:0 28px 70px #23302d38}.note-modal-close{z-index:1;position:absolute;top:14px;right:14px}.note-modal .observation-panel{box-shadow:none;background:0 0;border:0;padding:48px 0 0}.timeline-panel{flex-direction:column;gap:14px;display:flex}.timeline-list{margin:0;padding:0;list-style:none}.timeline-list li{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;display:grid}.timeline-icon{color:#2f7d7b;background:#2f7d7b1f;border-radius:999px;place-items:center;width:34px;height:34px;display:grid}.timeline-list time{color:#4f6f64;font-size:.82rem;font-weight:760;display:block}.timeline-list p,.muted{color:#5c6864;margin:2px 0 0;line-height:1.45}.notice{color:#4f6f64;margin:0 0 16px;padding:12px 14px}.notice.error,.form-error{color:#8a5147}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{flex-direction:column;gap:18px;width:min(460px,100%);padding:24px;display:flex}.login-copy{color:#5c6864;margin:10px 0 0}.login-panel label{color:#33423e;flex-direction:column;gap:8px;font-weight:720;display:flex}.login-panel input{min-height:46px;padding:0 12px}.form-error{margin:0;font-weight:720}@media (width<=1040px){.workbench{grid-template-columns:1fr}.side-column{position:static}.desktop-observation-composer{display:none}}@media (width<=720px){.app-shell{width:min(100% - 20px,1420px);padding-top:12px}.touchpoint-card,.touchpoint-main{grid-template-columns:1fr}.touchpoint-card{display:grid}.composer-actions,.touchpoint-actions{justify-content:stretch}.top-bar{gap:8px;padding:6px 0 10px}.top-bar>div:first-child{flex:auto;min-width:0}.top-bar h1{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.35rem,5.7vw,1.85rem);overflow:hidden}.top-actions{flex:none;justify-content:flex-end;gap:6px}.date-title-row{align-items:center;gap:8px;min-width:0}.date-picker-button,.top-actions .icon-button{width:40px;min-height:40px}.date-picker-input{width:40px;height:40px}.day-flow-ribbon{padding:12px}.day-flow-copy{align-items:center;gap:10px;margin-bottom:12px}.day-flow-copy>div{min-width:0}.day-flow-copy h2{text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;overflow:hidden}.day-flow-copy .eyebrow{margin-bottom:4px}.time-readout{flex:none;gap:6px;min-height:42px;padding:0 10px}.time-readout svg{width:18px;height:18px}.time-readout time{font-size:clamp(1.15rem,5vw,1.45rem)}.primary-action,.secondary-action,.status-action{width:100%}.note-modal-backdrop{place-items:center;padding:16px}.note-modal{border:1px solid #4f6f6433;border-radius:12px;width:100%;max-height:min(82vh,720px);padding:18px}.voice-capture-button{padding:12px}.touchpoint-actions{max-width:none}.touchpoint-menu-shell,.touchpoint-status-control,.primary-status-action{width:100%}.touchpoint-menu{left:0;right:0}}@media (width<=380px){.time-readout{padding:0 8px}.time-readout svg{display:none}}
