:root{color-scheme:light;--bg: #f5f2ed;--panel: #ffffff;--ink: #202626;--muted: #697272;--line: #ddd6cd;--green: #3f6652;--green-dark: #315340;--green-soft: #edf4ed;--red: #9d463e;--red-soft: #fff2f0;--focus: #385f7e;--shadow: 0 22px 60px rgba(42, 36, 28, .12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#ffffff8a,#fff0),var(--bg);color:var(--ink)}button,input{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.6}.app-start{display:grid;min-height:100vh;place-items:center}.dialog-card{position:relative;display:grid;width:min(100%,440px);gap:22px;padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.upload-dialog{width:min(100%,500px)}.processing-card{grid-template-rows:128px 58px auto 1fr auto;min-height:560px;width:min(100%,520px)}.confirmation-card{grid-template-rows:120px auto 54px minmax(0,1fr) auto;width:min(100%,620px)}.processing-heading{align-self:start;min-height:128px}.processing-copy{min-height:58px}.confirmation-heading{min-height:120px;padding-right:94px}.confirmation-copy{min-height:54px}.confirmation-dots{display:flex;gap:9px}.confirmation-dots span{width:11px;height:11px;border:1px solid #b9c9bd;border-radius:999px;background:#fff}.confirmation-dots span.active{box-shadow:0 0 0 4px #3f665221}.confirmation-dots span.filled{border-color:var(--green);background:var(--green)}.confirmation-list{display:grid;align-content:start;gap:12px;min-height:210px;max-height:320px;overflow:auto;padding-right:2px}.member-list{display:grid;gap:10px}.member-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfaf7}.member-row>div{display:grid;gap:3px;min-width:0}.member-row strong{overflow-wrap:anywhere}.member-row span{color:var(--muted);font-size:13px}.member-row>span{flex:0 0 auto;border:1px solid #cbd9ce;border-radius:999px;background:var(--green-soft);color:var(--green-dark);padding:5px 9px;font-weight:850;text-align:right}.rule-pill-list{display:flex;flex-wrap:wrap;gap:8px}.rule-pill{min-height:34px;border:1px solid var(--line);border-radius:999px;background:#fbfaf7;color:var(--muted);padding:0 12px;font-size:13px;font-weight:850}.rule-pill.active{border-color:var(--green);background:var(--green-soft);color:var(--green-dark)}.confirmation-rule{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfaf7}.confirmation-rule h3,.confirmation-rule p,.confirmation-rule blockquote,.confirmation-rule dl{margin:0}.confirmation-rule h3{font-size:16px;letter-spacing:0}.confirmation-rule dl{display:grid;gap:8px}.confirmation-rule dl>div{display:grid;gap:2px}.confirmation-rule dt{color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.confirmation-rule dd{margin:0;color:var(--ink);line-height:1.4;overflow-wrap:anywhere}.confirmation-rule blockquote{padding:9px 11px;border-left:3px solid #b9c9bd;background:#fff;color:var(--muted);line-height:1.4}.confirmation-note{display:grid;gap:4px;padding:9px 11px;border:1px solid #d8c18d;border-radius:8px;background:#fff9e8}.confirmation-note strong{color:#705816}.empty-confirmation{margin:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfaf7;color:var(--muted)}.dialog-heading{padding-right:0}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,7vw,44px);font-weight:700;letter-spacing:0;line-height:1.04}.dialog-copy{margin:0;color:var(--muted);line-height:1.55}.form-stack{display:grid;gap:14px}.form-stack label{display:grid;gap:7px}.form-stack span{color:var(--muted);font-size:13px;font-weight:800}.form-stack input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fbfaf7;color:var(--ink)}.form-stack input:focus,.file-dropzone:focus-within{border-color:var(--focus);outline:3px solid rgba(56,95,126,.16)}.file-dropzone{display:grid;gap:8px;min-height:136px;place-items:center;padding:26px 18px;border:1px dashed #b9c9bd;border-radius:8px;background:#fbfaf7;cursor:pointer;text-align:center;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.file-dropzone.is-dragging{border-color:var(--green);background:var(--green-soft);box-shadow:inset 0 0 0 1px var(--green)}.file-dropzone.has-error{border-color:#d8aaa3;background:var(--red-soft)}.file-dropzone input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.file-dropzone span{max-width:100%;overflow-wrap:anywhere;color:var(--ink);font-weight:900}.file-dropzone small{color:var(--muted);font-size:13px}.primary-button,.text-button,.sign-out-button{min-height:42px;border-radius:8px;font-weight:850}.primary-button{width:100%;border:1px solid var(--green);background:var(--green);color:#fff}.primary-button:not(:disabled):hover{background:var(--green-dark)}.text-button{border:0;background:transparent;color:var(--green)}.card-top-button{position:absolute;top:18px;right:18px;min-height:34px;border:1px solid var(--line);border-radius:8px;background:#fbfaf7;color:var(--muted);padding:0 12px;font-size:13px;font-weight:850}.card-top-button:not(:disabled):hover{border-color:#c8beb2;background:#f3efe8}.card-top-button.inline{position:static}.sign-out-button{min-height:34px;border:1px solid var(--line);background:#fbfaf7;color:var(--muted);padding:0 12px;font-size:13px}.app-frame{display:grid;grid-template-rows:48px minmax(0,1fr);min-height:100vh;width:100%}.top-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);background:#ffffffbd;padding:0 20px}.top-nav span{color:var(--muted);font-size:13px;font-weight:850}.start-content{display:grid;place-items:center;padding:24px}.homebase-shell{display:grid;gap:20px;width:min(100%,1180px);align-self:start}.homebase-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-top:8px}.homebase-header h1{font-size:clamp(30px,5vw,44px)}.homebase-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.36fr);gap:18px;align-items:start}.homebase-calendar,.homebase-panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.homebase-calendar{display:grid;gap:14px;min-width:0;padding:14px}.homebase-calendar .fc{--fc-border-color: var(--line);--fc-button-bg-color: var(--green);--fc-button-border-color: var(--green);--fc-button-hover-bg-color: var(--green-dark);--fc-button-hover-border-color: var(--green-dark);--fc-button-active-bg-color: var(--green-dark);--fc-button-active-border-color: var(--green-dark);--fc-today-bg-color: var(--green-soft);color:var(--ink)}.homebase-calendar .fc-toolbar{gap:12px;flex-wrap:wrap}.homebase-calendar .fc-toolbar-title{font-size:22px;letter-spacing:0}.homebase-calendar .fc-button{border-radius:8px;font-weight:850}.homebase-calendar .fc-event{border-radius:6px;cursor:pointer;padding:1px 3px}.homebase-side{display:grid;gap:18px}.homebase-panel{display:grid;gap:12px;padding:16px}.event-details-panel{box-shadow:none}.today-panel h2,.today-events h3{margin:0}.today-panel h2{font-size:22px}.today-location{display:grid;gap:4px;padding:14px;border:1px solid #cbd9ce;border-radius:8px;background:var(--green-soft)}.today-location span{color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.today-location strong{color:var(--green-dark);font-size:22px}.today-events{display:grid;gap:10px}.today-events h3{font-size:16px}.next-transition-row{display:grid;gap:4px;padding:12px;border:1px solid #cbd9ce;border-radius:8px;background:var(--green-soft)}.next-transition-row span{color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.next-transition-row strong{color:var(--green-dark);overflow-wrap:anywhere}.next-transition-row time{color:var(--muted);font-size:13px}.today-event-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfaf7}.today-event-row>div{display:grid;gap:3px;min-width:0}.today-event-row strong{overflow-wrap:anywhere}.today-event-row span,.today-event-row time{color:var(--muted);font-size:13px;text-transform:capitalize}.today-event-row time{flex:0 0 auto;font-weight:850}.selected-event-detail{display:grid;gap:12px}.selected-event-detail h2,.selected-event-detail dl{margin:0}.selected-event-detail h2{font-size:20px}.selected-event-detail dl{display:grid;gap:10px}.selected-event-detail dt{color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.selected-event-detail dd{margin:0;text-transform:capitalize}.homebase-chat-thread{display:grid;gap:10px;max-height:280px;overflow:auto}.homebase-chat-message{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfaf7}.homebase-chat-message.user{background:var(--green-soft)}.homebase-chat-message p{margin:0;line-height:1.45;white-space:pre-wrap}.homebase-chat-form{display:grid;gap:10px}.homebase-chat-form textarea{width:100%;min-height:84px;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfaf7;color:var(--ink);font:inherit;line-height:1.45}.form-message{margin:0;border:1px solid #cbd9ce;border-radius:8px;background:var(--green-soft);color:var(--green-dark);padding:10px 12px;font-size:14px;line-height:1.45}.form-message.error{border-color:#d8aaa3;background:var(--red-soft);color:var(--red)}.status-line{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:13px}.status-line strong{color:var(--ink)}.progress-block{display:grid;gap:8px}.progress-track{height:10px;overflow:hidden;border-radius:999px;background:#ece6dd}.progress-fill{position:relative;height:100%;overflow:hidden;border-radius:inherit;background:var(--green);transition:width .22s ease}.progress-fill.is-active:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);content:"";animation:progress-sheen 1.25s linear infinite;transform:translate(-100%)}.progress-fill.failed{background:var(--red)}.progress-block span{justify-self:end;color:var(--muted);font-size:13px;font-weight:850}.processing-steps{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfaf7}.processing-steps span{position:relative;padding-left:22px;color:var(--muted);font-size:14px}.processing-steps span:before{position:absolute;top:.42em;left:0;width:9px;height:9px;border:1px solid #c8beb2;border-radius:999px;background:#fff;content:""}.processing-steps span.complete{color:var(--green-dark);font-weight:850}.processing-steps span.complete:before{border-color:var(--green);background:var(--green)}.processing-steps span.running{color:var(--ink);font-weight:850}.processing-steps span.running:before{border-color:var(--green);background:var(--green-soft);box-shadow:0 0 0 4px #3f66521f;animation:processing-pulse 1.2s ease-in-out infinite}.processing-steps span.failed{color:var(--red);font-weight:850}.processing-steps span.failed:before{border-color:var(--red);background:var(--red)}.loading-text{margin:0;color:var(--muted);text-align:center}@keyframes progress-sheen{to{transform:translate(100%)}}@keyframes processing-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.22)}}@media(max-width:520px){.app-start{align-items:stretch}.dialog-card{align-self:center;padding:22px}.start-content{padding:14px}.homebase-grid{grid-template-columns:1fr}.homebase-header{display:grid}.sign-out-button{padding:0 10px}.card-top-button{position:static;justify-self:end;order:-1}}
