:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17343c;background:#edf5f2}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{border:0;border-radius:11px;padding:11px 15px;font-weight:700;color:#fff;background:#0f766e;cursor:pointer}button:hover{background:#115e59}button:disabled{opacity:.55;cursor:wait}button.secondary{color:#17616a;background:#dcefeb}button.danger{background:#c2413a}button.compact{padding:8px 10px;font-size:.84rem}.shell{min-height:100vh;display:grid;place-items:center;padding:24px}.card{width:min(100%,440px);padding:34px;text-align:center;background:#fff;border-radius:24px;box-shadow:0 20px 60px #0c4a4626}.eyebrow{margin:0 0 8px;color:#0f766e;font-size:.77rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(2rem,5vw,3.1rem);line-height:1.08}h2{margin-bottom:8px}p{color:#527077;line-height:1.5}.qr{display:block;width:min(280px,100%);margin:24px auto;image-rendering:pixelated}.app{min-height:100vh}.topbar{display:flex;gap:24px;align-items:center;padding:14px max(24px,calc((100vw - 1280px)/2));background:#fff;border-bottom:1px solid #dce8e5;position:sticky;top:0;z-index:5}.brand{color:#0f766e;font-size:1.3rem;font-weight:900}.topbar nav{display:flex;gap:5px}.topbar nav button{color:#49646a;background:transparent}.topbar nav button.active{color:#0f766e;background:#e1f2ed}.account{margin-left:auto;display:flex;gap:9px;align-items:center}.account select{max-width:180px;border:1px solid #cbded9;border-radius:9px;padding:8px;background:#fff}.page{width:min(100% - 40px,1180px);margin:0 auto;padding:46px 0 80px}.hero,.calendar-heading,.section-title{display:flex;align-items:center;justify-content:space-between;gap:24px}.route-button{margin-top:12px;width:100%}.field-hint{display:block;margin-top:8px;color:var(--muted);line-height:1.4}.hero{margin:16px 0 42px}.hero>div p:last-child{font-size:1.06rem}.upcoming{max-width:780px;background:#fff;border-radius:22px;padding:26px;box-shadow:0 12px 32px #19494314}.upcoming-group+.upcoming-group{border-top:1px solid #e5eeeb;margin-top:19px;padding-top:19px}.upcoming-group h3{color:#0f766e;font-size:.85rem;text-transform:uppercase;letter-spacing:.07em}.calendar-heading{margin-bottom:25px}.calendar-heading>div:last-child,.calendar-actions{display:flex;flex-wrap:wrap;gap:9px}.calendar-layout{display:grid;grid-template-columns:minmax(500px,1.35fr) minmax(280px,.65fr);gap:24px;align-items:start}.month-card,.agenda{background:#fff;border-radius:22px;padding:24px;box-shadow:0 12px 32px #19494314}.month-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.month-header h2{text-transform:capitalize}.month-header button{width:38px;height:38px;padding:0;font-size:1.6rem;color:#0f766e;background:#e2f1ed}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays{margin-bottom:7px;color:#70878a;font-size:.78rem;text-align:center}.day{min-height:67px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:8px 4px;color:#22444b;background:#f8fbfa;border-radius:10px}.day:hover{color:#fff}.day.selected{color:#fff;background:#0f766e}.day.today span{text-decoration:underline;font-weight:900}.day.blank{background:transparent}.day i{display:flex;gap:3px;min-height:7px}.day b{width:6px;height:6px;border-radius:50%}.event-row{width:100%;display:flex;align-items:center;gap:11px;padding:12px 4px;color:#1a3e46;text-align:left;background:transparent;border-radius:0;border-bottom:1px solid #e7efec}.event-row:hover{color:#0f766e;background:#f3faf7}.event-color{flex:0 0 5px;height:42px;border-radius:5px}.event-copy{display:grid;gap:2px;flex:1}.event-copy small{color:#668086}.empty{padding:30px 0;color:#71888c}.modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:18px;overflow:auto;background:#0c2b2d75}.modal{position:relative;width:min(100%,720px);max-height:min(92vh,900px);overflow:auto;padding:25px;background:#fff;border-radius:22px;box-shadow:0 28px 80px #00000040}.modal header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.modal header h2{margin-bottom:20px}.icon-button{width:38px;height:38px;padding:0;color:#446368;background:#edf4f2;font-size:1.5rem}.form{display:grid;gap:17px}.form>label,.form fieldset>label,.form .two>label{display:grid;gap:6px;color:#32545b;font-size:.9rem;font-weight:700}.form input:not([type=checkbox]),.form textarea,.form select{width:100%;padding:10px;color:#1a3e46;background:#fff;border:1px solid #c9dcd7;border-radius:9px}.form fieldset{display:grid;gap:12px;padding:15px;border:1px solid #dbe9e5;border-radius:13px}.form legend{padding:0 6px;color:#0f766e;font-size:.86rem;font-weight:800}.toggle{display:flex!important;gap:9px!important;align-items:center}.toggle input,.people input{accent-color:#0f766e}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.people{display:flex;flex-wrap:wrap;gap:9px}.people label,.reminders span{padding:8px 10px;color:#36585f;background:#eef6f3;border-radius:8px;font-size:.9rem}.reminders{display:flex;flex-wrap:wrap;gap:7px}.reminders button{margin-left:5px;padding:0;color:#416369;background:transparent}.inline{display:flex;gap:8px}.inline select{flex:1}.inline button{white-space:nowrap}.form footer,.detail footer{display:flex;justify-content:flex-end;gap:9px;margin-top:4px}.scope{display:grid;gap:8px;margin-top:18px;padding:15px;background:#e9f5f1;border-radius:13px}.detail-time{font-weight:700;color:#0f766e}.notes{white-space:pre-wrap}.error{padding:10px;color:#a43430;background:#fdebea;border-radius:8px}.feed-list{display:grid;gap:10px;margin-top:20px}.feed-row{display:grid;grid-template-columns:minmax(130px,.5fr) minmax(180px,1fr) auto auto;gap:8px;align-items:center;padding:11px;background:#f1f8f5;border-radius:11px}.feed-row input{min-width:0;width:100%;padding:9px;color:#446368;background:#fff;border:1px solid #c9dcd7;border-radius:8px;font-size:.8rem}.feed-row strong{color:#24474d}.birthday-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.birthday-list{display:grid;gap:8px}.birthday-row{display:flex;justify-content:space-between;gap:8px;padding:11px;text-align:left;color:#24474d;background:#f1f8f5}.birthday-row.selected{outline:2px solid #0f766e}.birthday-row small{color:#668086}.birthday-form,.shift{display:grid;gap:12px}.shift>label{display:grid;gap:6px;color:#32545b;font-size:.9rem;font-weight:700}.shift-date{display:flex;gap:8px}.shift-date input{flex:1}.selected-dates{display:flex;flex-wrap:wrap;gap:7px}.selected-dates span{padding:6px 9px;color:#17616a;background:#e7f3ef;border-radius:999px;font-size:.84rem}.template-note{margin:0;color:#668086;font-size:.9rem}.location-search{display:grid;gap:10px}.location-search>label{display:grid;gap:6px;color:#32545b;font-size:.9rem;font-weight:700}.place-results,.recent-places{display:grid;gap:5px;padding:7px;border:1px solid #cce2db;background:#f6fbf9;border-radius:11px}.place-results button,.recent-places button{display:grid;gap:2px;padding:9px 11px;color:#24474d;text-align:left;background:#fff;border:1px solid #e0eee9;border-radius:8px}.place-results button:hover,.recent-places button:hover{color:#0f766e;background:#e9f6f1}.place-results small,.recent-places small{color:#678087;font-weight:500}.recent-places>strong{padding:2px 4px;color:#0f766e;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.maps-link{width:max-content;color:#0f766e;font-size:.9rem;font-weight:800;text-decoration:none}.maps-link:hover{text-decoration:underline}.location-error{color:#a43430}@media(max-width:760px){.topbar{gap:10px;padding:10px 14px}.brand{display:none}.account{gap:5px}.account select{max-width:120px}.compact{font-size:.75rem}.page{width:min(100% - 28px,1180px);padding-top:27px}.hero,.calendar-heading,.section-title{align-items:flex-start;flex-direction:column;gap:13px}.calendar-layout{grid-template-columns:1fr}.month-card,.agenda,.upcoming{padding:17px}.day{min-height:53px;padding:6px 2px}.two,.birthday-layout{grid-template-columns:1fr}.inline{flex-wrap:wrap}.inline select{min-width:42%}.modal{padding:18px}.topbar nav button{padding:8px 9px;font-size:.86rem}.feed-row{grid-template-columns:1fr auto}.feed-row input{grid-column:1 / -1}.feed-row .danger{grid-column:2}}
