:root{color:#263226;background:#efe2c7;font-family:ui-rounded,SF Pro Rounded,Avenir Next,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--font-body: ui-rounded, "SF Pro Rounded", "Avenir Next", system-ui, sans-serif;--font-whimsy: "Bradley Hand", "Marker Felt", "Chalkboard SE", "Comic Sans MS", cursive;--paper: #fffaf0;--paper-deep: #f7edda;--ink: #243024;--green: #3e6b3b;--sage: #dce8d3;--blue: #1d5b93;--blue-soft: #dcebf7;--coral: #d95f4b;--coral-soft: #ffe4dc;--butter: #f7d982;--butter-soft: #fff3c9;--lavender: #dcd2f2;--line: rgba(70, 63, 48, .2);--shadow: 0 18px 50px rgba(80, 61, 35, .18)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 10% 0%,rgba(217,95,75,.16),transparent 30%),linear-gradient(145deg,#efe2c7,#d8e2cf 58%,#cbdceb)}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{position:relative;min-height:100vh;max-width:440px;margin:0 auto;overflow:hidden;background:linear-gradient(rgba(255,255,255,.33) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px),var(--paper);background-size:100% 32px,32px 100%,auto;box-shadow:var(--shadow)}.paper-edge{height:16px;background:radial-gradient(circle at 10px 16px,transparent 12px,rgba(139,111,70,.16) 13px),var(--paper-deep);background-size:28px 18px}.app-header{display:grid;grid-template-columns:44px 1fr 48px;gap:10px;align-items:center;padding:14px 18px 12px;border-bottom:1px solid var(--line)}h1,h2,h3,p{margin:0}h1{color:var(--green);font-family:var(--font-whimsy);font-size:clamp(1.7rem,8vw,2.25rem);font-weight:700;line-height:1.04;letter-spacing:0;text-align:center}h2{color:var(--green);font-family:var(--font-whimsy);font-size:1.35rem;font-weight:700;line-height:1.15}h3{color:var(--ink);font-family:var(--font-whimsy);font-size:1rem;font-weight:700;line-height:1.2}.location-pill{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;margin-top:5px;border:0;color:#4c604b;background:transparent;font-size:.88rem}.icon-button,.soft-button,.primary-button,.placeholder-chip,.round-add{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);color:var(--green);background:#fffaf0db;cursor:pointer}button:disabled{cursor:default;opacity:.62}.icon-button{width:42px;height:42px;border-radius:14px}.header-spacer{width:42px;height:42px}.avatar-pair{display:flex;align-items:center;justify-content:center;min-width:46px;height:46px;color:#fff;background:var(--green);border:3px solid #dce8d3;border-radius:999px;box-shadow:0 5px #d95f4b38;font-family:var(--font-whimsy);font-weight:800;font-size:1.25rem;cursor:pointer}.avatar-pair span+span{margin-left:-3px;color:#ffe4dc}.top-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin:14px 18px 10px;padding:4px;border:1px solid var(--line);border-radius:20px;background:#fffaf0c7}.top-tabs button,.overview-toggle button,.day-tabs button{border:0;color:#394538;background:transparent;cursor:pointer}.top-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;border-radius:16px;font-family:var(--font-whimsy);font-size:1rem;font-weight:700}.top-tabs .active,.overview-toggle .active,.day-tabs .active{color:#fff;background:var(--green);box-shadow:inset 0 -3px #0000001f}.signed-in-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 18px 10px;color:#536150;font-size:.82rem}.signed-in-bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen-stack{min-height:calc(100vh - 178px);overflow:auto;padding-bottom:28px}.screen{display:grid;gap:18px;padding:12px 18px 22px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title.compact{align-items:center}.eyebrow{color:var(--coral);font-family:var(--font-body);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.soft-button,.primary-button{min-height:44px;padding:0 15px;border-radius:15px;font-family:var(--font-whimsy);font-size:1rem;font-weight:800}.primary-button{color:#fff;border-color:#2f5630;background:var(--green)}.timeline-card,.note-card,.input-card,.placeholder-editor,.preview-panel,.day-card,.bottom-sheet,.calendar-board,.auth-panel,.empty-card{border:1px dashed rgba(83,75,57,.26);border-radius:22px;background:#fffaf0c2;box-shadow:0 8px 24px #503d2312}.timeline-card{display:grid;gap:0;padding:12px 10px}.event-row{display:grid;grid-template-columns:74px 18px 1fr;align-items:center;gap:8px;min-height:86px}.event-row time{color:#314031;font-family:var(--font-whimsy);font-size:.92rem;font-weight:750}.timeline-dot{width:12px;height:12px;border-radius:999px;background:var(--green);box-shadow:0 0 0 5px #3e6b3b1f}.event-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:68px;padding:10px;border:1px solid var(--line);border-radius:18px;background:#fff}.event-actions{display:grid;gap:6px}.event-actions button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(67,78,60,.16);border-radius:11px;color:var(--green);background:#fffaf0b8}.event-card p,.ticket p,.list-event p{display:flex;align-items:center;gap:4px;margin-top:4px;color:#536150;font-family:var(--font-body);font-size:.83rem}.event-icon,.mini-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:14px}.event-icon{width:42px;height:42px;color:var(--green);background:var(--sage)}.focus .event-card,.calendar-event.focus,.placeholder-chip.focus,.mini-icon.focus{background:var(--blue-soft);border-color:#1d5b9342}.date .event-card,.calendar-event.date,.placeholder-chip.date,.mini-icon.date{background:var(--coral-soft);border-color:#d95f4b42}.outdoors .event-card,.calendar-event.outdoors,.placeholder-chip.outdoors,.mini-icon.outdoors{background:var(--sage);border-color:#3e6b3b47}.food .event-card,.calendar-event.food,.placeholder-chip.food,.mini-icon.food{background:var(--butter-soft);border-color:#b8801440}.note-card{display:grid;gap:10px;padding:16px}.note-heading{display:flex;gap:8px;align-items:center;margin-bottom:8px;color:var(--green)}.note-card p,.day-note{color:var(--blue);font-family:var(--font-whimsy);font-size:1rem;font-weight:650;line-height:1.45}.placeholder-strip{display:grid;gap:10px}.placeholder-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.placeholder-chip{min-width:max-content;min-height:52px;padding:0 14px;border-radius:16px;color:#234223;font-family:var(--font-whimsy);font-size:1rem;font-weight:800}.empty-card{padding:18px}.empty-card p,.loading-text,.status-text,.error-text{color:#536150;line-height:1.4}.loading-text,.status-text,.error-text{margin:12px 18px;padding:12px 14px;border-radius:15px;background:#fffaf0d1}.status-text{color:var(--blue)}.inline-status,.validation-text{margin:8px 0 0;color:var(--blue);font-family:var(--font-body);font-size:.88rem;line-height:1.35}.validation-text{color:#a63c2f}.error-text{color:#a63c2f;background:#ffe4dcc7}.input-card,.placeholder-editor,.preview-panel,.day-card,.bottom-sheet,.auth-panel{padding:16px}.auth-panel{display:grid;gap:14px;margin:18px}.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wide{width:100%}.input-card label,.text-field span{color:var(--green);font-family:var(--font-whimsy);font-size:1.05rem;font-weight:850}textarea,input,select{width:100%;border:1px solid rgba(67,78,60,.24);border-radius:16px;color:var(--ink);background:#ffffffad;outline:none;font-family:var(--font-whimsy);font-weight:650}textarea:focus,input:focus,select:focus{border-color:#3e6b3bad;box-shadow:0 0 0 3px #3e6b3b1f}.input-card textarea{min-height:112px;margin-top:10px;padding:16px;resize:vertical;font-size:1.18rem;line-height:1.45}.note-entry-card textarea{min-height:clamp(120px,24vh,190px)}.input-actions,.sticky-actions,.add-placeholder{display:flex;align-items:center;gap:10px;margin-top:12px}.input-actions .primary-button,.sticky-actions .primary-button{flex:1}.placeholder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.add-placeholder input{min-height:44px;padding:0 12px}.preview-panel{display:grid;gap:14px}.preview-page-panel{gap:12px}.preview-screen{gap:8px;padding:8px 12px 14px}.preview-screen .section-title{align-items:end}.preview-screen h2{font-size:1.18rem}.preview-screen .soft-button,.preview-screen .primary-button{min-height:38px;padding:0 12px}.ticket{display:grid;grid-template-columns:104px 1fr;gap:12px;padding:12px;border:1px solid rgba(83,75,57,.25);border-radius:18px;background:#fffdf7}.preview-page-panel .ticket{grid-template-columns:88px 1fr;padding:8px}.ticket h2{margin-top:4px;color:var(--blue)}.ticket-image{display:grid;place-items:center;align-content:center;min-height:118px;border-radius:15px;color:var(--green);background:linear-gradient(#ffffff73,#fff3),var(--butter-soft)}.preview-page-panel .ticket-image{min-height:76px}.preview-page-panel .ticket h2{font-size:1.15rem}.preview-page-panel .ticket p{margin-top:2px}.ticket-image span{margin-top:8px;color:var(--coral);font-size:.76rem;font-weight:900}.field-list{display:grid;gap:10px}.compact-field-list{grid-template-columns:1fr 1fr;gap:7px}.compact-field-list .text-field:first-child,.compact-field-list .text-field:nth-child(2),.compact-field-list .notes-field{grid-column:1 / -1}.text-field{display:grid;gap:6px}.text-field input,.text-field select{min-height:42px;padding:0 12px}.text-field textarea{min-height:74px;padding:12px;resize:vertical}.preview-screen .text-field{gap:3px}.preview-screen .text-field span{font-size:.92rem}.preview-screen .text-field input,.preview-screen .text-field select{min-height:34px;border-radius:12px}.preview-screen .text-field textarea{min-height:46px;padding:8px 10px;border-radius:12px}.preview-screen .sticky-actions{margin-top:4px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.week-top{display:grid;grid-template-columns:44px 1fr 44px;gap:10px;align-items:center}.week-top h2{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--line);border-radius:16px;background:#fffaf0c2;font-size:1.1rem}.day-tabs{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:6px;overflow-x:auto}.day-tabs button{min-width:48px;min-height:58px;border:1px solid var(--line);border-radius:15px;background:#fffaf0c2;font-family:var(--font-whimsy);font-size:1rem;font-weight:850;white-space:pre-line}.today-date-row{display:flex;align-items:center;gap:8px;min-height:44px}.today-date-row .icon-button{width:38px;height:38px;border-radius:13px}.today-date-row .eyebrow{margin:0}.small-status{display:flex;align-items:center;gap:7px;color:var(--coral);font-family:var(--font-whimsy);font-size:1.02rem;font-weight:850}.calendar-board{display:grid;gap:12px;padding:14px 10px 16px}.calendar-day-label{color:var(--coral);font-family:var(--font-body);font-size:.8rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.calendar-timeline{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px}.time-axis{display:grid;grid-template-rows:repeat(17,64px);color:#536150;font-family:var(--font-whimsy);font-size:.76rem;font-weight:800}.time-axis div{transform:translateY(-.35em)}.day-grid{position:relative;min-height:1088px;border-left:2px solid rgba(62,107,59,.2)}.hour-line{height:64px;border-top:1px solid rgba(70,63,48,.13)}.calendar-event{position:absolute;left:8px;right:0;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:54px;padding:8px;border:1px solid var(--line);border-radius:14px;overflow:hidden;cursor:pointer;box-shadow:0 8px 18px #46321a1a}.calendar-event>svg{justify-self:center}.calendar-event-copy{min-width:0}.calendar-event-copy h3,.calendar-event-copy p,.calendar-event-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-actions{display:grid;gap:4px}.calendar-event-actions button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(67,78,60,.18);border-radius:10px;color:var(--green);background:#fffaf0c2}.calendar-empty{position:absolute;inset:18px 0 auto 8px}.draggable-placeholder{display:grid;gap:6px}.draggable-placeholder .placeholder-chip{width:100%}.add-to-day{min-height:34px;font-size:.86rem}.calendar-event h3{font-size:1.05rem}.calendar-event p{margin-top:3px;color:#435142;font-family:var(--font-whimsy);font-weight:750}.calendar-event span{display:block;margin-top:1px;color:#536150;font-family:var(--font-body);font-size:.78rem}.bottom-sheet{position:relative}.sheet-handle{width:56px;height:5px;margin:-3px auto 14px;border-radius:999px;background:#463f3042}.round-add{width:44px;height:44px;border-radius:999px;color:#fff;background:var(--green)}.overview-toggle{display:grid;grid-template-columns:1fr 1fr;padding:4px;border:1px solid var(--line);border-radius:18px;background:#fffaf0c2}.overview-toggle button{min-height:46px;border-radius:14px;font-family:var(--font-whimsy);font-size:1.05rem;font-weight:850}.day-card{display:grid;gap:12px}.full-week-card{grid-column:1 / -1}.day-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.day-card-head p{color:var(--green);font-family:var(--font-whimsy);font-weight:850}.day-card-head span{padding:6px 10px;border-radius:999px;color:#345433;background:var(--sage);font-size:.78rem;font-weight:900}.day-card-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.day-note{display:flex;gap:7px;padding:10px;border-radius:14px;background:#dce8d3b3;font-size:.9rem}.list-event{display:grid;grid-template-columns:66px 36px 1fr;align-items:center;gap:8px;padding-top:10px;border-top:1px solid rgba(70,63,48,.12)}.list-event time{color:var(--green);font-family:var(--font-whimsy);font-size:.85rem;font-weight:900}.mini-icon{width:34px;height:34px}@media(min-width:720px){body{padding:24px}.app-shell{min-height:calc(100vh - 48px);border:1px solid rgba(70,63,48,.22);border-radius:32px}}@media(min-width:900px){body{padding:32px}.app-shell{max-width:1120px;min-height:calc(100vh - 64px);border-radius:34px}.app-header{grid-template-columns:56px 1fr 58px;padding:18px 28px 14px}h1{font-size:2.6rem}.top-tabs,.signed-in-bar{max-width:760px;margin-right:auto;margin-left:auto}.signed-in-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 4px 12px;color:#536150;font-size:.92rem}.screen-stack{min-height:auto;max-height:none;overflow:visible;padding:10px 26px 34px}.screen{max-width:1040px;margin:0 auto;padding:14px 0 28px}.today-screen{grid-template-columns:minmax(520px,1.35fr) minmax(320px,.85fr);align-items:start}.today-screen>.section-title,.today-screen>.placeholder-strip{grid-column:1 / -1}.add-screen{grid-template-columns:minmax(420px,1fr) minmax(360px,.8fr);align-items:start}.add-screen>.section-title{grid-column:1 / -1}.note-entry-card textarea{min-height:220px}.compact-templates{position:sticky;top:18px}.preview-screen{max-width:860px}.preview-page-panel{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);align-items:start}.preview-page-panel>.section-title,.preview-page-panel>.sticky-actions{grid-column:1 / -1}.preview-page-panel .ticket{grid-template-columns:112px 1fr}.preview-page-panel .field-list{grid-column:2}.week-screen{grid-template-columns:minmax(560px,1fr) minmax(320px,.5fr);align-items:start}.week-top,.day-tabs,.small-status{grid-column:1 / -1}.week-screen .bottom-sheet{position:sticky;top:18px}.overview-screen{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.overview-screen>.section-title,.overview-screen>.overview-toggle{grid-column:1 / -1}.auth-panel{max-width:520px;margin:40px auto}}
