:root{--bg:#f6f9f7;--panel:#fff;--panel-2:#eef4f1;--border:#dde6e1;--green:#16a34a;--green-soft:#e5f6ec;--green-shadow:#16a34a40;--on-accent:#fff;--text:#182019;--muted:#6b7a72;--danger:#c0392b;--danger-soft:#fdecea;--danger-border:#f0c4c0}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:Manrope,Arial,Helvetica,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}a{color:var(--green);text-decoration:none}.app{flex-direction:column;max-width:1200px;height:100dvh;min-height:100dvh;margin:0 auto;padding:0;display:flex;overflow:hidden}.screen-center{min-height:100dvh;color:var(--muted);place-items:center;padding:24px;display:grid}.auth-page{background:radial-gradient(ellipse at top, #16a34a14, transparent 55%), var(--bg);justify-content:center;align-items:center;min-height:100dvh;padding:20px 14px;display:flex}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;width:100%;max-width:400px;padding:22px 18px;box-shadow:0 12px 32px #141e191a}.auth-card h1{margin:0 0 6px;font-family:Space Grotesk,sans-serif;font-size:22px}.auth-card .sub{color:var(--muted);margin:0 0 18px;font-size:13px}.auth-card label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:12px;font-size:11px;font-weight:700;display:block}.auth-card input{border:1px solid var(--border);background:var(--panel-2);border-radius:9px;width:100%;margin-top:6px;padding:11px 12px}.password-field{margin-top:6px;position:relative}.password-field input{margin-top:0;padding-right:44px}.password-toggle{width:34px;height:34px;color:var(--danger);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover{background:var(--danger-soft)}.auth-error{background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger);border-radius:9px;margin-bottom:12px;padding:10px 12px;font-size:13px}.auth-links{color:var(--muted);flex-direction:column;gap:8px;margin-top:14px;font-size:13px;display:flex}.masthead{border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:14px 10px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-logo{object-fit:contain;width:auto;max-width:min(180px,55vw);height:36px;display:block}.brand-icon{background:var(--green);width:32px;height:32px;box-shadow:0 4px 14px var(--green-shadow);border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.brand-icon svg{width:16px;height:16px}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-text .name{font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:700}.brand-text .name .go{color:var(--green)}.brand-text .tagline{letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-top:2px;font-size:7.5px}.masthead-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.accent-picker{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:5px;font-size:9px;font-weight:700;display:flex}.accent-swatch{border:2px solid var(--panel);width:24px;height:24px;box-shadow:0 0 0 1.5px var(--border);cursor:pointer;background:0 0;border-radius:50%;padding:0;overflow:hidden}.accent-swatch::-webkit-color-swatch-wrapper{border-radius:50%;padding:0}.accent-swatch::-webkit-color-swatch{border:none;border-radius:50%}.user-chip{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:11px;overflow:hidden}.product-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;flex:none;align-items:center;gap:6px;padding:0 10px 10px;display:flex;overflow:auto hidden}.product-tab{border:1px solid var(--border);background:var(--panel);cursor:pointer;color:var(--text);white-space:nowrap;border-radius:20px;flex:none;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:700;display:flex}.product-tab.active{background:var(--green);color:var(--on-accent);border-color:var(--green)}.product-tab .edit-ic{opacity:.7;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.product-tab-add{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:1px dashed #b7c3bc;border-radius:20px;flex:none;padding:5px 10px;font-size:11px}.filters-row{flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:0 10px 10px;display:flex}.filters-row .filter-group{align-items:center;gap:6px;display:flex}.filters-row label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:700}.filters-row select{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:9px;padding:5px 8px;font-size:11px}.hotel-filter{position:relative}.hotel-filter-trigger{border:1px solid var(--border);background:var(--panel);min-width:180px;max-width:min(70vw,280px);color:var(--text);cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;font-size:12px;display:inline-flex}.hotel-filter-trigger span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hotel-filter-menu{z-index:40;border:1px solid var(--border);background:var(--panel);border-radius:10px;width:max(100%,240px);min-width:100%;max-height:240px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 10px 28px #0f172a1f}.hotel-filter-menu li{align-items:center;gap:4px;display:flex}.hotel-filter-menu li>button:first-child{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:8px 10px;font-size:13px}.hotel-filter-menu li>button:first-child:hover,.hotel-filter-menu li>button:first-child.is-active{background:var(--green-soft)}.hotel-filter-delete{color:#dc2626;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.hotel-filter-delete svg{color:#dc2626;stroke:#dc2626}.hotel-filter-delete:hover{color:#b91c1c;background:#dc262624}.hotel-filter-delete:hover svg{color:#b91c1c;stroke:#b91c1c}.hotel-filter-empty{color:var(--muted);padding:10px;font-size:12px}.hotel-combobox{width:100%;position:relative}.hotel-combobox-field{align-items:stretch;gap:0;display:flex}.hotel-combobox-field input{flex:1;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.hotel-combobox-toggle{border:1px solid var(--border);background:var(--panel);width:42px;color:var(--muted);cursor:pointer;border-left:0;border-radius:0 10px 10px 0;flex:none;font-size:14px}.hotel-combobox-list{z-index:50;border:1px solid var(--border);background:#fff;border-radius:10px;max-height:200px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 10px 28px #0f172a1f}.hotel-combobox-list button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 10px;font-size:14px}.hotel-combobox-list button:hover{background:var(--green-soft)}.hotel-combobox-empty{color:var(--muted);padding:10px;font-size:12px}.install-banner{z-index:80;color:#f4faf6;background:#102418;border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex;position:sticky;top:0}.install-banner-copy{flex-direction:column;flex:180px;gap:2px;min-width:0;display:flex}.install-banner-copy strong{font-size:13px;font-weight:700}.install-banner-copy span{color:#f4faf6d1;font-size:12px;line-height:1.35}.install-banner-actions{flex:none;gap:8px;display:flex}.install-banner .primary-btn,.install-banner .ghost-btn{padding:8px 12px;font-size:12px}.install-banner .ghost-btn{color:#f4faf6;background:0 0;border-color:#ffffff3d}.install-banner .primary-btn{background:var(--green);color:var(--on-accent,#fff);border:1px solid #0000}.confirm-copy{color:var(--text);margin:0 0 14px;font-size:14px;line-height:1.45}.hotel-select-row{align-items:center;gap:8px;margin-top:6px;display:flex}.hotel-select-row select{box-sizing:border-box;flex:1;min-width:0;height:44px;margin-top:0!important}.hotel-select-add{box-sizing:border-box;flex:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:20px;font-weight:700;line-height:1;display:inline-flex}.toolbar{display:none}.month-control{flex:1 1 0;align-items:center;gap:4px;min-width:0;display:flex;position:relative}.month-control>button:not(.month-title){border:1px solid var(--border);background:var(--panel);color:var(--green);cursor:pointer;border-radius:7px;flex:none;width:28px;height:28px;font-size:14px}.month-title{color:var(--text);text-transform:uppercase;letter-spacing:.2px;text-align:center;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;flex:auto;width:auto;min-width:0;height:auto;padding:6px 2px;font-family:Space Grotesk,sans-serif;font-size:12px;font-weight:700;overflow:hidden}.month-title:hover{color:var(--green)}.month-picker-input{opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.top-actions{flex-wrap:nowrap;flex:none;justify-content:space-between;align-items:center;gap:6px;width:100%;padding:0 10px 12px;display:flex}.top-actions-btns{flex:none;align-items:center;gap:6px;display:flex}.add-event-btn{border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:20px;line-height:1;display:inline-flex}.add-event-btn .label{display:none}.primary-btn,.icon-btn,.ghost-btn,.danger-btn{cursor:pointer;border-radius:9px;padding:7px 9px;font-size:11px;font-weight:700}.primary-btn{background:var(--green);color:var(--on-accent);border:none}.primary-btn:hover{filter:brightness(.92)}.share-btn{cursor:pointer;background:var(--green);color:var(--on-accent);box-shadow:0 4px 12px var(--green-shadow);border:none;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:800;display:inline-flex}.share-btn:hover{filter:brightness(.94)}.share-btn svg{flex-shrink:0}.icon-btn,.ghost-btn{border:1px solid var(--border);background:var(--panel);color:var(--text)}.icon-btn:hover,.ghost-btn:hover{background:var(--panel-2)}.danger-btn{background:var(--panel);color:var(--danger);border:1px solid var(--danger-border)}.danger-btn:hover{background:var(--danger-soft)}.primary-btn:disabled,.share-btn:disabled,.icon-btn:disabled,.ghost-btn:disabled,.danger-btn:disabled{opacity:.55;cursor:not-allowed}.cal-wrap{flex-direction:column;flex:auto;min-height:0;padding:0 6px 8px;display:flex;overflow:hidden}table.cal{border-collapse:collapse;background:var(--panel);border:1px solid var(--border);table-layout:fixed;border-radius:12px;flex:1;width:100%;min-width:100%;height:100%;overflow:hidden}table.cal thead{flex:none}table.cal tbody{height:100%}table.cal tbody tr{height:16.6667%}table.cal th{background:var(--panel-2);color:var(--muted);text-transform:uppercase;letter-spacing:.2px;border:1px solid var(--border);padding:5px 1px;font-size:8.5px;font-weight:700}table.cal td{border:1px solid var(--border);vertical-align:top;cursor:pointer;height:16.6667%;min-height:0;padding:3px 2px;transition:background .1s;position:relative}table.cal td:hover:not(.other-month){background:var(--green-soft)}table.cal td.other-month{color:#c7d0cb;cursor:default;background:#fafcfb}table.cal td.is-today{box-shadow:inset 0 0 0 1.5px var(--green);background:var(--green-soft)}.daynum{color:var(--muted);font-size:9px;font-weight:600}.is-today .daynum{color:var(--green);font-weight:700}.other-month .daynum{color:#c7d0cb}.entries{text-align:left;margin-top:2px}.entry-block{overflow-wrap:break-word;word-break:break-word;border-left:1.5px solid #ccc;margin-bottom:3px;padding-left:3px}.entry-product{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;font-size:6.5px;font-weight:700}.entry-line{font-size:7.6px;font-weight:700;line-height:1.15}.entry-time{color:var(--muted);font-size:6.8px;font-weight:500;line-height:1.15}.entry-more{color:var(--muted);margin-top:2px;padding-left:4px;font-size:7.5px}th .short{display:inline}th .full,.legend,.legend-item,.legend-dot{display:none}.modal-overlay{z-index:50;background:#141e1959;justify-content:center;align-items:stretch;padding:0;display:flex;position:fixed;inset:0}.modal{background:var(--panel);padding:18px 16px calc(22px + env(safe-area-inset-bottom,0px));width:100%;max-width:none;height:100dvh;max-height:100dvh;box-shadow:none;border:none;border-radius:0;overflow-y:auto}.modal h2{color:var(--text);margin:0;font-family:Space Grotesk,sans-serif;font-size:17px}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.modal-close{border:1px solid var(--border);background:var(--panel-2);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:10px;flex:none;place-items:center;padding:0;font-size:22px;line-height:1;display:grid}.modal-close:hover{background:var(--border)}.modal label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:12px;font-weight:700;display:block}.modal input,.modal select,.modal textarea{border:1px solid var(--border);background:var(--panel-2);width:100%;color:var(--text);border-radius:8px;margin-top:6px;padding:11px 10px;font-size:16px}.modal textarea{resize:vertical;min-height:56px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.modal-actions .primary-btn,.modal-actions .ghost-btn,.modal-actions .danger-btn,.modal-actions .icon-btn{padding:10px 14px;font-size:13px}.color-swatches{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px}.swatch.selected{border-color:#182019}.swatch.default{background:var(--green)}.checkbox-row{text-transform:none;color:var(--text);letter-spacing:0;align-items:flex-start;gap:12px;margin:10px 0 0;font-size:13px;font-weight:400;line-height:1.45;display:flex}.modal label.checkbox-row{text-transform:none;letter-spacing:0;color:var(--text);margin-bottom:0;font-size:13px;font-weight:400;display:flex}.checkbox-row input,.modal .checkbox-row input[type=checkbox]{min-width:18px;accent-color:var(--green);border-radius:4px;flex:none;width:18px!important;height:18px!important;margin:2px 0 0!important;padding:0!important}.series-note{color:var(--muted);margin:0 0 14px;font-size:12px;line-height:1.45}.series-note .checkbox-row{margin-top:12px}.day-list-item{border:1px solid var(--border);background:var(--panel-2);border-radius:12px;margin-bottom:10px;padding:12px 14px}.day-list-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.day-list-eyebrow{letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-size:9.5px;font-weight:700}.day-list-time{margin-top:4px;font-family:Space Grotesk,sans-serif;font-size:22px;font-weight:700}.day-list-hotel{color:var(--text);align-items:center;gap:6px;margin-top:6px;font-size:12.5px;display:flex}.day-list-hotel .dot{border-radius:50%;flex:none;width:6px;height:6px}.day-list-notes{color:var(--muted);margin-top:4px;font-size:12px}.day-list-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.mini-btn{border:1px solid var(--border);background:var(--panel);cursor:pointer;color:var(--text);border-radius:6px;padding:4px 8px;font-size:11px}.mini-btn.danger{color:var(--danger);border-color:var(--danger-border)}.empty-hint{color:var(--muted);padding:8px 0 16px;font-size:13px}.admin-page{padding:14px 10px 40px}.admin-lead{color:var(--muted);margin:-8px 0 16px;font-size:14px}.admin-search{color:var(--muted);margin-bottom:12px;font-size:12px;font-weight:700;display:block}.admin-search input{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);border-radius:9px;margin-top:6px;padding:10px 12px;font-size:14px;font-weight:600;display:block}.admin-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-view-banner{color:#14532d;background:#e5f6ec;border:1px solid #b7e4c7;border-radius:9px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0 10px 10px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.admin-page h1{margin:0 0 14px;font-family:Space Grotesk,sans-serif;font-size:20px}.admin-table-wrap{border:1px solid var(--border);background:var(--panel);border-radius:12px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:520px;font-size:12px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.admin-table th{background:var(--panel-2);color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:10px}.badge{border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.badge.ok{background:var(--green-soft);color:var(--green)}.badge.bad{background:var(--danger-soft);color:var(--danger)}@media (width>=701px){.app{height:auto;min-height:100dvh;padding:0 0 60px;overflow:visible}.masthead{gap:14px;margin-bottom:18px;padding:22px 20px}.brand{gap:12px}.brand-logo{max-width:220px;height:46px}.brand-icon{border-radius:12px;width:42px;height:42px}.brand-icon svg{width:22px;height:22px}.brand-text .name{font-size:18px}.brand-text .tagline{letter-spacing:1px;font-size:9px}.accent-picker{gap:8px;font-size:11px}.accent-swatch{width:30px;height:30px}.user-chip{max-width:200px;font-size:12px}.product-tabs{gap:8px;padding:0 20px 14px}.product-tab,.product-tab-add{padding:7px 14px;font-size:12.5px}.filters-row{gap:10px;padding:0 20px 14px}.filters-row select{padding:7px 10px;font-size:12.5px}.month-title{letter-spacing:.6px;min-width:170px;padding:6px 8px;font-size:15px}.month-control{flex:none;gap:8px}.month-control>button:not(.month-title){width:26px;height:26px;font-size:13px}.top-actions{gap:8px;padding:0 20px 18px}.add-event-btn{width:auto;height:auto;padding:9px 16px;font-size:13px}.add-event-btn .label{display:inline}.add-event-btn .plus{display:none}.icon-btn,.primary-btn,.ghost-btn,.danger-btn{padding:9px 16px;font-size:13px}.cal-wrap{flex:none;height:auto;min-height:520px;padding:0 20px;overflow:visible}table.cal{flex:none;height:auto}table.cal tbody,table.cal tbody tr{height:auto}table.cal th{letter-spacing:.6px;padding:8px 4px;font-size:10px}th .full{display:inline}th .short{display:none}table.cal td{height:88px;min-height:88px;padding:6px}.daynum{font-size:11px}.entries{margin-top:4px}.entry-block{border-left-width:2px;margin-bottom:5px;padding-left:5px}.entry-product{font-size:7.5px}.entry-line{font-size:10px;line-height:1.25}.entry-time{font-size:9px}.entry-more{padding-left:7px;font-size:9px}.legend,.legend-item,.legend-dot{display:none}.modal-overlay{align-items:center;padding:20px}.modal{border:1px solid var(--border);border-radius:16px;width:100%;max-width:400px;height:auto;max-height:90dvh;padding:22px;box-shadow:0 12px 32px #141e1926}.auth-card{padding:28px 24px}.admin-page{padding:22px 20px 60px}}@media (height<=499px){.app>:not(.cal-wrap):not(.modal-overlay){display:none!important}.app{height:100dvh!important;min-height:100dvh!important;padding:0!important;overflow:hidden!important}.cal-wrap{flex-direction:column!important;flex:auto!important;height:100%!important;min-height:0!important;padding:4px!important;display:flex!important;overflow:hidden!important}table.cal{flex-direction:column!important;flex:auto!important;width:100%!important;height:100%!important;min-height:0!important;display:flex!important}table.cal thead{flex:none!important;display:block!important}table.cal thead tr{grid-template-columns:repeat(7,minmax(0,1fr))!important;display:grid!important}table.cal tbody{flex:auto!important;grid-template-rows:repeat(6,minmax(0,1fr))!important;height:auto!important;min-height:0!important;display:grid!important}table.cal tbody tr{grid-template-columns:repeat(7,minmax(0,1fr))!important;height:auto!important;min-height:0!important;display:grid!important}table.cal th,table.cal td{min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;padding:2px!important;display:block!important;overflow:hidden!important}table.cal td .entries{max-height:calc(100% - 12px);overflow:hidden}.avail-cal .busy-label{margin-top:2px;font-size:8px;line-height:1.1}}.landing{--ink:#152238;--teal:#14b8b0;--teal-deep:#0f8f89;--paper:#f3f5f4;--paper-2:#e8ecea;--line:#cfd6d2;--muted:#5f6d68;--white:#fff;background:var(--paper);min-height:100dvh;color:var(--ink);font-family:Manrope,Arial,Helvetica,sans-serif;overflow-x:hidden}.landing a{text-decoration:none}.landing-top{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#f3f5f4eb;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.landing-top-logo{width:auto;height:34px;display:block}.landing-top-nav{align-items:center;gap:10px;display:flex}.landing-link{color:var(--muted);padding:8px 6px;font-size:13px;font-weight:700}.landing-btn{background:var(--ink);border:none;border-radius:8px;justify-content:center;align-items:center;padding:9px 14px;font-size:13px;font-weight:700;transition:transform .2s,background .2s;display:inline-flex;color:#fff!important}.landing-btn:hover{background:#0d1828;transform:translateY(-1px);color:#fff!important}.landing-btn-lg{padding:13px 20px;font-size:14px}.landing-btn-on-dark{background:var(--teal);color:var(--ink)!important}.landing-btn-on-dark:hover{background:#7fe0db;color:var(--ink)!important}.landing-text-btn{color:var(--teal-deep);border-bottom:1px solid;padding-bottom:2px;font-size:14px;font-weight:700}.landing-hero{gap:28px;max-width:1100px;margin:0 auto;padding:28px 16px 48px;display:grid}.landing-hero-copy{animation:.7s both landing-rise}.landing-hero-logo{display:none}.landing-kicker{letter-spacing:1.2px;text-transform:uppercase;color:var(--teal-deep);margin:0 0 10px;font-size:11px;font-weight:800}.landing-title{letter-spacing:-.03em;margin:0 0 14px;font-family:Space Grotesk,sans-serif;font-size:clamp(2rem,9vw,3.4rem);font-weight:700;line-height:1.05}.landing-lead{max-width:34ch;color:var(--muted);margin:0 0 22px;font-size:15px;line-height:1.55}.landing-hero-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.landing-hero-visual{animation:.85s .12s both landing-rise}.landing-sheet{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:14px;transform:rotate(-1.2deg);box-shadow:8px 12px #1522380f}.landing-sheet-head{justify-content:space-between;align-items:center;margin-bottom:12px;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:700;display:flex}.landing-sheet-dot{background:var(--teal);border-radius:50%;width:8px;height:8px}.landing-sheet-days{color:var(--muted);text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;font-size:10px;font-weight:700;display:grid}.landing-sheet-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.landing-cell{aspect-ratio:1;border:1px solid var(--paper-2);background:var(--paper);color:var(--muted);border-radius:6px;padding:4px;font-size:10px;position:relative}.landing-cell.is-marked{color:var(--ink);background:#e7f8f7;border-color:#b7e8e5;font-weight:700}.landing-cell em{background:var(--teal);border-radius:2px;height:3px;display:block;position:absolute;bottom:4px;left:4px;right:4px}.landing-sheet-note{border-top:1px dashed var(--line);color:var(--muted);margin-top:12px;padding-top:10px;font-size:12px}.landing-sheet-note strong{color:var(--ink);margin-right:6px;font-family:Space Grotesk,sans-serif}.landing-section{max-width:860px;margin:0 auto;padding:20px 16px 56px}.landing-section-title{letter-spacing:-.02em;margin:0 0 22px;font-family:Space Grotesk,sans-serif;font-size:1.4rem}.landing-steps{border-top:1px solid var(--line);gap:0;margin:0;padding:0;list-style:none;display:grid}.landing-steps li{border-bottom:1px solid var(--line);grid-template-columns:52px 1fr;gap:12px;padding:18px 0;display:grid}.landing-step-num{color:var(--teal-deep);padding-top:2px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:700}.landing-steps h3{margin:0 0 6px;font-family:Space Grotesk,sans-serif;font-size:16px}.landing-steps p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.landing-band{background:var(--ink);color:var(--white);text-align:center;justify-items:center;gap:18px;padding:42px 16px;display:grid}.landing-band-text{letter-spacing:-.02em;max-width:22ch;margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(1.35rem,5vw,1.9rem);line-height:1.2}.landing-footer{border-top:1px solid var(--line);justify-items:start;gap:10px;max-width:1100px;margin:0 auto;padding:28px 16px 40px;display:grid}.landing-footer-logo{width:auto;height:28px}.landing-footer p{color:var(--muted);margin:0;font-size:12px}.landing-footer-links{gap:14px;font-size:13px;font-weight:700;display:flex}.landing-footer-links a{color:var(--ink)}.landing-footer-links a:hover{color:var(--teal-deep)}@keyframes landing-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width>=860px){.landing-top{padding:16px 28px}.landing-top-logo{height:40px}.landing-hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;padding:48px 28px 72px}.landing-hero-logo{display:none}.landing-lead{max-width:38ch;font-size:16px}.landing-sheet{padding:18px;transform:rotate(-1.8deg)}.landing-section{padding:10px 28px 80px}.landing-band{padding:64px 28px}.landing-band-text{max-width:28ch}.landing-footer{grid-template-columns:1fr auto auto;align-items:center;padding:28px 28px 48px}}@media (prefers-reduced-motion:reduce){.landing-hero-copy,.landing-hero-visual{animation:none}.landing-btn:hover{transform:none}}.avail-toolbar{flex:none;padding:8px 10px 0}.avail-header-desktop{margin-bottom:10px;display:none}.avail-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:11px;font-weight:700}.avail-header-desktop h1{margin:0;font-family:Space Grotesk,sans-serif;font-size:22px}.avail-lead{color:var(--muted);margin:6px 0 0;font-size:13px}.avail-desktop-only{display:none}.avail-legend{color:var(--muted);gap:16px;margin:0 10px 10px;font-size:12px;font-weight:600}.avail-legend span{align-items:center;gap:6px;display:inline-flex}.avail-dot{border-radius:3px;width:10px;height:10px;display:inline-block}.avail-dot.free{border:1px solid var(--border);background:#e8eee9}.avail-dot.busy{background:#fecaca;border:1px solid #f87171}.avail-cal td.is-busy{background:#fef2f2}.avail-cal .busy-label{letter-spacing:.02em;text-transform:uppercase;color:#b91c1c;margin-top:4px;font-size:10px;font-weight:800}.avail-title-mobile{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:none;margin:8px 12px 12px;padding:0;font-size:13px;font-weight:600;line-height:1.3;display:block;overflow:hidden}.avail-title-mobile strong{color:var(--text);font-weight:800}.avail-foot{color:var(--muted);flex:none;margin:8px 12px 14px;font-size:12px}.avail-empty{text-align:center;max-width:420px;margin:60px auto;padding:20px}.avail-empty h1{margin:0 0 8px;font-family:Space Grotesk,sans-serif;font-size:22px}.avail-empty p{color:var(--muted);margin:0 0 18px}.share-url-row{align-items:stretch;gap:8px;display:flex}.share-url-row input{border:1px solid var(--border);background:var(--panel);border-radius:9px;flex:1;min-width:0;padding:10px 12px;font-size:12px}.share-hint{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.5}.avail-toolbar .top-actions{margin:0;padding:0 0 8px}@media (width>=701px){.avail-toolbar{padding:14px 20px 0}.avail-header-desktop{display:block}.avail-desktop-only{display:flex}.avail-foot.avail-desktop-only{margin:10px 20px 18px;display:block}.avail-legend{margin:0 20px 12px;display:flex}.avail-title-mobile{display:none}.avail-toolbar .top-actions{padding:0 0 12px}}
