:root{color:#30281c;font-synthesis:none;text-rendering:optimizelegibility;--color-primary:#9a5b00;--color-primary-strong:#754300;--color-primary-soft:#fff0b8;--color-accent:#e4a700;--color-surface:#fff;--color-surface-muted:#fff6df;--color-text:#30281c;--color-text-muted:#746752;--color-placeholder:color-mix(in srgb, var(--color-text-muted) 52%, white);--color-border:#eadfc8;--color-danger:#a33a3a;--shadow-card:0 12px 36px #60421417;--radius-sm:12px;--radius-md:18px;--radius-lg:26px;background:#fffaf0;font-family:Inter,ui-rounded,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html{background:#fffaf0;min-width:320px;min-height:100%}body{background:radial-gradient(circle at 90% 0,#ffe0756b,#0000 32rem),#fffaf0;min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}input::placeholder,textarea::placeholder{color:var(--color-placeholder);opacity:1}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,p{margin:0}h1,h2{color:var(--color-text)}h1{font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,8vw,2.7rem);line-height:1.05}h2{font-size:1.15rem;line-height:1.25}:focus-visible{outline-offset:3px;outline:3px solid #9a5b0057}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.app-main{width:100%;max-width:760px;min-height:100vh;padding:1.25rem 1rem calc(6.5rem + env(safe-area-inset-bottom));margin:0 auto}.sidebar{display:none}.brand{align-items:center;gap:.75rem;display:flex}.brand img{object-fit:contain;width:auto;max-width:80px;height:48px}.brand span{gap:.05rem;display:grid}.brand strong{font-family:Playfair Display,Georgia,serif;font-size:1.05rem}.brand small{color:var(--color-text-muted)}.bottom-nav{z-index:20;right:.75rem;bottom:max(.75rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #eadfc8e6;border-radius:22px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));max-width:600px;margin-inline:auto;padding:.45rem;display:grid;position:fixed;left:.75rem;box-shadow:0 16px 42px #4f350d2e}.bottom-nav__link{min-width:0;color:var(--color-text-muted);border-radius:15px;justify-items:center;gap:.25rem;padding:.5rem .15rem;font-size:.66rem;font-weight:600;display:grid}.bottom-nav__link span{text-overflow:ellipsis;max-width:100%;overflow:hidden}.bottom-nav__link.is-active{color:var(--color-primary);background:var(--color-primary-soft)}button.bottom-nav__link{width:100%;font:inherit;cursor:pointer;background:0 0;border:none}button.bottom-nav__link.is-active{background:var(--color-primary-soft)}.page,.dashboard{gap:1.25rem;display:grid}.page-header{gap:.45rem;padding-top:.4rem;display:grid}.page-header--actions{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.page-header--actions>:first-child{flex:1;gap:.45rem;min-width:0;display:grid}.page-header__actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.page-header__actions .button{white-space:nowrap;width:auto}.page-header>p:last-child,.dashboard__header p{color:var(--color-text-muted)}.eyebrow{letter-spacing:.11em;text-transform:uppercase;font-size:.72rem;font-weight:700;color:var(--color-primary)!important}.dashboard__header{justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:.3rem;display:flex}.dashboard__header>div{gap:.4rem;display:grid}.dashboard__logo{object-fit:contain;width:auto;max-width:96px;height:64px}.quick-actions{grid-template-columns:repeat(3,1fr);gap:.65rem;display:grid}.social-links{justify-content:center;gap:.85rem;margin-bottom:.15rem;display:flex}.social-link{border:1px solid var(--color-border);background:var(--color-surface);width:52px;height:52px;box-shadow:var(--shadow-card);border-radius:999px;place-items:center;transition:transform .15s;display:grid}.social-link img{object-fit:contain;width:28px;height:28px}.social-link:active{transform:scale(.96)}.quick-action{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:78px;color:var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-card);place-items:center;gap:.4rem;padding:.7rem .4rem;font-size:.8rem;font-weight:700;display:grid}.quick-action:active{transform:scale(.98)}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.summary-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:136px;box-shadow:var(--shadow-card);gap:.55rem;padding:1rem;display:grid}.summary-card svg{color:var(--color-primary)}.summary-card span{color:var(--color-text-muted);font-size:.8rem}.summary-card strong{align-self:end;font-size:1.65rem}.summary-card small{color:inherit;opacity:.88;grid-column:1/-1;font-size:.78rem}.summary-card--link{cursor:pointer;color:inherit;text-decoration:none;transition:transform .15s}.summary-card--link:active{transform:scale(.98)}.filter-chips{flex-wrap:wrap;gap:.45rem;display:flex}.filter-chips--balanced{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.filter-chips--thirds{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.filter-chips--balanced .filter-chip,.filter-chips--thirds .filter-chip{text-align:center;justify-content:center;width:100%;display:inline-flex}.filter-chip{border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-surface);cursor:pointer;border-radius:999px;padding:.45rem .8rem;font-size:.84rem;font-weight:700}.filter-chip.is-active{color:#fff;background:var(--color-primary);border-color:#0000}.task-list,.entry-list,.inventory-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.task-card,.entry-list__item,.inventory-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;align-items:center;gap:.75rem;padding:.85rem;text-decoration:none;display:flex}.entry-list__item{padding:.5rem .85rem}.inventory-card__copy{flex:1;gap:.15rem;min-width:0;display:grid}.inventory-card__copy strong{font-size:.98rem}.inventory-card__copy small{color:var(--color-text-muted);font-size:.78rem}.inventory-card__badge{color:#8a4d00;white-space:nowrap;background:#d79a3229;border-radius:999px;align-items:center;gap:.25rem;padding:.25rem .45rem;font-size:.72rem;font-weight:700;display:inline-flex}.inventory-warning{align-items:center;gap:.45rem;display:flex}.checklist-item__actions{flex-wrap:wrap;gap:.45rem;display:flex}.checklist-composer--shopping{margin-top:.65rem}.day-sheet__panel--form{max-height:min(88vh,560px)}.shopping-add-form{align-content:start;gap:.95rem}.shopping-add-form .filter-chips{margin-bottom:.15rem}.shopping-add-form__picker{gap:.4rem;font-weight:700;display:grid}.name-autocomplete{gap:.35rem;font-weight:400;display:grid}.name-autocomplete__control{align-items:center;display:flex;position:relative}.name-autocomplete__control input{width:100%}.name-autocomplete__control--with-actions input{padding-right:2.4rem}.name-autocomplete__control--with-actions:has(.name-autocomplete__actions>:nth-child(2)) input{padding-right:4.5rem}.name-autocomplete__actions{align-items:center;gap:.1rem;display:flex;position:absolute;right:.2rem}.name-autocomplete__action{width:2rem;height:2rem;color:var(--color-text-muted);background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.name-autocomplete__action--remove{color:var(--color-danger,#b91c1c)}.name-autocomplete__action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.name-autocomplete__list{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);gap:.15rem;max-height:12rem;margin:0;padding:.35rem;list-style:none;display:grid;overflow:auto;box-shadow:0 10px 28px #4625341f}.name-autocomplete__hint{color:var(--color-text-muted);padding:.65rem .75rem;font-size:.88rem}.name-autocomplete__option{border-radius:var(--radius-sm);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:.1rem;padding:.55rem .65rem;display:grid}.name-autocomplete__option:hover,.name-autocomplete__option[aria-selected=true]{background:#8a3d6614}.name-autocomplete__option strong{font-size:.95rem}.name-autocomplete__option small{color:var(--color-text-muted);font-size:.78rem}.checklist-item__tag{color:var(--color-primary-strong);vertical-align:middle;background:#8a3d661f;border-radius:999px;margin-left:.35rem;padding:.1rem .35rem;font-size:.68rem;font-weight:700}.task-card__priority{border-radius:999px;flex:none;align-self:stretch;width:8px}.task-card__priority--baja{background:#7a8a72}.task-card__priority--media{background:#d79a32}.task-card__priority--alta{background:#b94b63}.task-card__copy,.entry-list__copy{flex:1;gap:.15rem;min-width:0;display:grid}.task-card__copy strong,.entry-list__copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-card__copy small,.entry-list__copy small{color:var(--color-text-muted);font-size:.78rem;line-height:1.35}.task-card__overdue{color:var(--color-danger);font-weight:700}.entry-list__dot{border-radius:50%;flex:none;width:10px;height:10px}.task-detail__marker{border-radius:999px;flex:none;align-self:stretch;width:10px}.task-detail__marker--baja{background:#7a8a72}.task-detail__marker--media{background:#d79a32}.task-detail__marker--alta{background:#b94b63}.summary-card--accent{color:#fff;background:linear-gradient(145deg, var(--color-primary), #b65e87);border-color:#0000}.summary-card--accent svg,.summary-card--accent span,.summary-card--accent strong{color:#fff}.content-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);gap:1rem;padding:1rem;display:grid}.section-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.section-heading>div{gap:.25rem;display:grid}.section-heading>a{color:var(--color-primary);flex:none;font-size:.78rem;font-weight:700}.inline-empty{border-radius:var(--radius-md);background:var(--color-surface-muted);align-items:center;gap:.85rem;padding:1rem;display:flex}.inline-empty__icon,.status-state__icon,.module-link__icon{width:46px;height:46px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:15px;flex:none;place-items:center;display:grid}.inline-empty p{color:var(--color-text-muted);margin-top:.2rem;font-size:.84rem}.module-link{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:78px;box-shadow:var(--shadow-card);align-items:center;gap:.8rem;padding:.8rem;display:flex}.module-link__copy{flex:1;gap:.18rem;display:grid}.module-link__copy small,.module-link>svg{color:var(--color-text-muted)}.more-drawer{z-index:50;pointer-events:none;position:fixed;inset:0}.more-drawer.is-visible{pointer-events:auto}.more-drawer__edge{z-index:45;touch-action:none;width:24px;position:fixed;top:0;bottom:0;left:0}.more-drawer__backdrop{opacity:0;cursor:pointer;background:#2f252b6b;border:none;transition:opacity .25s;position:absolute;inset:0}.more-drawer.is-dragging .more-drawer__backdrop{transition:none}.more-drawer__panel{width:min(88vw,320px);padding:calc(1.25rem + env(safe-area-inset-top)) 1.25rem calc(1.25rem + env(safe-area-inset-bottom));border-right:1px solid var(--color-border);touch-action:pan-y;background:#fffffffa;grid-template-rows:auto 1fr;gap:1rem;transition:transform .28s cubic-bezier(.32,.72,0,1);display:grid;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:18px 0 48px #46253429}.more-drawer.is-dragging .more-drawer__panel{transition:none}.more-drawer__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.more-drawer__header h2{margin-top:.15rem;font-family:Playfair Display,Georgia,serif;font-size:1.35rem}.more-drawer__nav{align-content:start;gap:.7rem;display:grid;overflow-y:auto}@media (width>=760px){.more-drawer,.more-drawer__edge{display:none}}.status-state{border:1px dashed var(--color-border);border-radius:var(--radius-lg);text-align:center;background:#ffffff9e;justify-items:center;gap:.65rem;min-height:260px;padding:2rem 1rem;display:grid}.status-state p{max-width:34ch;color:var(--color-text-muted)}.status-state--compact{min-height:auto;color:var(--color-text-muted);justify-content:center;display:flex}.offline-banner{z-index:30;padding:calc(.55rem + env(safe-area-inset-top)) 1rem .55rem;color:#fff;background:#4e4348;justify-content:center;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;display:flex;position:sticky;top:0}.update-modal{z-index:70;padding:1.25rem;padding-top:calc(1.25rem + env(safe-area-inset-top));padding-bottom:calc(1.25rem + env(safe-area-inset-bottom));place-items:center;display:grid;position:fixed;inset:0}.update-modal__backdrop{cursor:pointer;background:#2f252b85;border:none;position:absolute;inset:0}.update-modal__panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;background:#fffffffa;justify-items:center;gap:.75rem;width:min(100%,380px);padding:1.5rem 1.35rem 1.35rem;display:grid;position:relative;box-shadow:0 24px 60px #4625343d}.update-modal__icon{width:56px;height:56px;color:var(--color-primary-strong);background:#8a3d661a;border-radius:50%;place-items:center;display:grid}.update-modal__panel h2{font-family:Playfair Display,Georgia,serif;font-size:1.35rem}.update-modal__panel p{color:var(--color-text-muted);line-height:1.5}.update-modal__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:100%;margin-top:.35rem;display:grid}.icon-button{width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:50%;place-items:center;display:grid}.button{border-radius:var(--radius-sm);color:#fff;background:var(--color-primary);cursor:pointer;justify-content:center;align-items:center;min-height:42px;padding:.65rem 1rem;font-weight:700;display:inline-flex}.button-with-icon{gap:.45rem}.button--danger{color:#fff;background:var(--color-danger)}.button--whatsapp{color:#fff;background:#237a4b}.button--secondary{color:var(--color-primary);background:var(--color-primary-soft)}.button:disabled{opacity:.6;cursor:wait}.auth-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(100%,430px);box-shadow:var(--shadow-card);background:#ffffffe6;gap:1.5rem;padding:clamp(1.25rem,5vw,2rem);display:grid}.auth-card__logo{width:min(240px,72%);height:auto;margin-inline:auto}.auth-card header{text-align:center;gap:.45rem;display:grid}.auth-card header p:last-child,.auth-notice p{color:var(--color-text-muted)}.auth-form{gap:1rem;display:grid}.auth-form label{gap:.4rem;font-weight:700;display:grid}.auth-form input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-height:46px;color:var(--color-text);background:var(--color-surface);padding:.7rem .8rem}.auth-form label small,.form-error{color:var(--color-danger);font-size:.8rem}.auth-submit{justify-content:center;align-items:center;gap:.5rem;display:flex}.auth-notice{border-radius:var(--radius-sm);background:var(--color-surface-muted);gap:.35rem;padding:1rem;display:grid}.auth-notice code{color:var(--color-primary-strong)}.auth-loading{color:var(--color-text-muted);align-items:center;gap:.65rem;display:flex}.sidebar__account{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;padding-top:1rem;display:flex}.sidebar__account>div{gap:.15rem;min-width:0;display:grid}.sidebar__account strong,.sidebar__account small{text-overflow:ellipsis;overflow:hidden}.sidebar__account small{color:var(--color-text-muted)}.account-card{align-items:center;display:flex}.account-card>div:last-child{gap:.2rem;display:grid}.account-card p{color:var(--color-text-muted)}.settings-sign-out{justify-content:center;align-items:center;gap:.5rem;width:fit-content;display:flex}.app-version{color:var(--color-text-muted);text-align:center;margin-top:.5rem;font-size:.82rem}.back-link{width:fit-content;color:var(--color-primary);align-items:center;gap:.35rem;font-size:.85rem;font-weight:700;display:inline-flex}.permissions-list,.permission-grid{gap:.75rem;display:grid}.permission-card h2{color:var(--color-primary-strong)}.permission-toggle{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;min-height:42px;padding-block:.35rem;font-weight:600;display:flex}.permission-toggle:last-child{border-bottom:0}.permission-toggle input{width:22px;height:22px;accent-color:var(--color-primary)}.product-offer-toggle{margin-bottom:.75rem}.product-offer-toggle input{width:28px;height:28px}.product-offer-toggle__copy{flex-direction:column;gap:.2rem;font-weight:600;display:flex}.product-offer-toggle__copy small{font-weight:400}.search-field{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:48px;color:var(--color-text-muted);background:var(--color-surface);box-shadow:var(--shadow-card);align-items:center;gap:.65rem;padding:0 .9rem;display:flex}.search-field input{width:100%;min-width:0;color:var(--color-text);background:0 0;border:0;outline:0}.sync-warning{border-radius:var(--radius-sm);color:#6d4a10;background:#fff4db;border:1px solid #d79a3259;padding:.75rem .85rem;font-size:.82rem}.client-list,.notes-list,.activity-list{gap:.7rem;display:grid}.client-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:76px;box-shadow:var(--shadow-card);align-items:center;display:flex}.client-card__main{flex:1;align-items:center;gap:.75rem;min-width:0;padding:.8rem;display:flex}.client-avatar{width:46px;height:46px;color:var(--color-primary-strong);background:var(--color-primary-soft);border-radius:50%;flex:none;place-items:center;font-family:Playfair Display,Georgia,serif;font-weight:800;display:grid}.client-avatar--large{width:62px;height:62px;font-size:1.15rem}.client-card__copy{gap:.2rem;min-width:0;display:grid}.client-card__copy strong,.client-card__copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-card__copy small,.muted-copy{color:var(--color-text-muted)}.client-card__actions{flex:none;gap:.35rem;padding-right:.7rem;display:flex}.icon-button--surface{color:var(--color-primary);background:var(--color-primary-soft)}.icon-button--whatsapp{color:#176c40;background:#dff3e8}.icon-button--whatsapp .whatsapp-icon{width:26px;height:26px}.data-form,.data-form label{display:grid}.data-form{gap:1.1rem}.data-form label{gap:.4rem;font-weight:700}.data-form__field{gap:.4rem;font-weight:700;display:grid}.data-form input,.data-form textarea,.data-form select,.note-composer textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);background:var(--color-surface);resize:vertical;padding:.75rem .8rem}.data-form input{min-height:46px}.data-form label small{color:var(--color-danger);font-size:.78rem}.data-form label .muted-copy{margin:0;font-size:.84rem;font-weight:400}.form-static-field{gap:.25rem;display:grid}.form-static-field>span{color:var(--color-text-muted);font-size:.8rem;font-weight:700}.form-static-field>strong{font-size:1rem}.form-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.35rem;display:grid}.client-detail-header{gap:1rem;display:grid}.client-detail-title{align-items:center;gap:.85rem;display:flex}.client-detail-title>div{gap:.25rem;min-width:0;display:grid}.detail-actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.55rem;display:grid}.detail-actions .button{flex-wrap:nowrap;width:100%;padding-inline:.55rem;font-size:clamp(.72rem,2.8vw,.875rem)}.detail-actions .button svg{flex-shrink:0;width:18px;height:18px}.detail-actions.detail-actions--client{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.detail-actions.detail-actions--client .button{flex:none;width:100%;min-width:0}.client-contact-actions{grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.85rem;display:grid}.client-contact-actions .button{width:100%}.client-contact-actions .whatsapp-icon{flex-shrink:0;width:20px;height:20px}.whatsapp-icon{object-fit:contain;width:20px;height:20px;display:block}.client-info h2{margin-bottom:.2rem}.client-data-list{gap:.8rem;margin:0;display:grid}.client-data-list>div{gap:.25rem;display:grid}.client-data-list dt{color:var(--color-text-muted);text-transform:uppercase;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;display:flex}.client-data-list dd{overflow-wrap:anywhere;margin:0}.general-notes{border-radius:var(--radius-sm);background:var(--color-surface-muted);gap:.35rem;padding:.85rem;display:grid}.general-notes p,.note-card p{white-space:pre-wrap}.note-composer{justify-items:end;gap:.65rem;display:grid}.note-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);gap:.7rem;padding:.85rem;display:grid}.note-card footer{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:.75rem;font-size:.76rem;display:flex}.activity-list{margin:0;padding:0;list-style:none}.activity-list li{align-items:flex-start;gap:.65rem;display:flex}.activity-list__icon{width:34px;height:34px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:50%;flex:none;place-items:center;display:grid}.activity-list li>div{gap:.18rem;padding-top:.15rem;display:grid}.activity-list time{color:var(--color-text-muted);font-size:.75rem}.danger-zone{border-radius:var(--radius-md);background:#a539470d;border:1px solid #a539474d;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.danger-zone>div{gap:.2rem;display:grid}.danger-zone p{color:var(--color-text-muted);font-size:.8rem}.calendar-toolbar{gap:.85rem;display:grid}.calendar-toolbar__nav{grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;display:grid}.calendar-toolbar__title{text-align:center;text-transform:capitalize;margin:0;font-family:Playfair Display,Georgia,serif;font-size:1.2rem}.calendar-toolbar__views{border-radius:var(--radius-sm);background:var(--color-surface-muted);grid-template-columns:repeat(2,minmax(0,1fr));padding:.25rem;display:grid}.calendar-view-toggle{min-height:38px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;font-weight:700}.calendar-view-toggle.is-active{color:var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-card)}.calendar-grid{gap:.65rem;display:grid}.calendar-grid__weekdays,.calendar-grid__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.calendar-grid__weekdays span{color:var(--color-text-muted);text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:700}.calendar-day{border:1px solid var(--color-border);cursor:pointer;min-height:58px;font:inherit;background:#ffffffd1;border-radius:14px;align-content:center;justify-items:center;gap:.35rem;padding:.35rem .2rem;display:grid}.calendar-day.is-outside{opacity:.42}.calendar-day.is-today{background:#f5d9e66b;border-color:#8a3d668c}.calendar-day__number{font-size:.92rem;font-weight:700;line-height:1}.calendar-day__dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:.2rem;min-height:10px;display:flex}.calendar-day__dot{border-radius:50%;flex:none;width:7px;height:7px}.calendar-day__dot--live{animation:1.4s ease-in-out infinite calendar-dot-pulse}@keyframes calendar-dot-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, currentColor 50%, transparent);transform:scale(1)}50%{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 0%, transparent);transform:scale(1.25)}}.calendar-day__more{color:var(--color-text-muted);font-size:.58rem;font-weight:800;line-height:1}.calendar-week{gap:.65rem;display:grid}.calendar-week-day.is-today{border-color:#8a3d6673}.calendar-week-day__trigger{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:0;display:flex}.calendar-week-day__trigger h2{margin-top:0}.calendar-week-day__date{align-items:center;gap:.8rem;margin-top:.1rem;display:flex}.calendar-week-day__summary{color:var(--color-text-muted);font-size:.82rem;font-weight:600}.calendar-week-day__dots{flex-wrap:wrap;gap:.25rem;display:flex}.day-sheet{z-index:55;pointer-events:none;position:fixed;inset:0}.day-sheet.is-open{pointer-events:auto}.day-sheet__backdrop{opacity:0;cursor:pointer;background:#2f252b6b;border:none;transition:opacity .25s;position:absolute;inset:0}.day-sheet.is-open .day-sheet__backdrop{opacity:1}.day-sheet.is-dragging .day-sheet__backdrop{transition:none}.day-sheet__panel{max-height:min(82vh,640px);padding:.75rem 1.15rem calc(1.15rem + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:#fffffffa;grid-template-rows:auto auto 1fr auto;gap:.85rem;transition:transform .28s cubic-bezier(.32,.72,0,1);display:grid;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -18px 48px #4625342e}.day-sheet.is-open .day-sheet__panel{transform:translateY(0)}.day-sheet.is-dragging .day-sheet__panel{transition:none}.day-sheet__handle{background:var(--color-border);touch-action:none;cursor:grab;border-radius:999px;justify-self:center;width:42px;height:4px}.day-sheet__header{touch-action:none;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.day-sheet__header h2{margin-top:.15rem;font-family:Playfair Display,Georgia,serif;font-size:1.25rem}.day-sheet__body{overflow-y:auto}.day-sheet__list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.day-sheet__event{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);align-items:center;gap:.75rem;padding:.5rem .85rem;display:flex}.day-sheet__event-dot{border-radius:50%;flex:none;width:11px;height:11px}.day-sheet__event-dot--live{animation:1.4s ease-in-out infinite calendar-dot-pulse}.day-sheet__event-copy{flex:1;gap:.15rem;min-width:0;display:grid}.day-sheet__event-copy small{color:var(--color-text-muted);font-size:.78rem;line-height:1.35}.day-sheet__event>svg{color:var(--color-text-muted);flex:none}.day-sheet__footer .button{width:100%}.checklist-list{gap:.45rem;display:grid}.shopping-list__stock-tip{border:1px solid color-mix(in srgb, var(--color-primary) 28%, var(--color-border));border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-primary-soft);margin:-.35rem 0 .85rem;padding:.75rem .9rem;font-size:.92rem;font-weight:600;line-height:1.45}.shopping-list__stock-tip a{color:var(--color-primary-strong);text-underline-offset:.12em;font-weight:700;text-decoration:underline}.shopping-row{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.55rem .65rem;min-height:3.4rem;padding:.7rem .75rem;display:grid}.shopping-row--checked{background:#f7f2ecb3}.shopping-row__check{width:2rem;height:2rem;color:var(--color-primary-strong);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.shopping-row__check:disabled{opacity:.45;cursor:not-allowed}.shopping-row__copy{gap:.2rem;min-width:0;display:grid}.shopping-row__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:700;line-height:1.25;overflow:hidden}.shopping-row__copy strong.is-completed{color:var(--color-text-muted);text-decoration:line-through}.shopping-row__meta{align-items:center;gap:.35rem;display:flex}.shopping-row__tag{color:var(--color-primary-strong);letter-spacing:.01em;background:#8a3d661a;border-radius:999px;align-items:center;padding:.12rem .45rem;font-size:.68rem;font-weight:700;display:inline-flex}.shopping-row--checked .shopping-row__tag{color:var(--color-text-muted);background:#5a4a5214}.shopping-row__qty{border:1px solid var(--color-border);background:var(--color-surface);min-width:2.75rem;color:var(--color-text);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:.35rem .65rem;font-size:.88rem;font-weight:700;line-height:1.2}.shopping-row__qty:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary-strong)}.shopping-row__qty:disabled{opacity:.55;cursor:not-allowed}.shopping-row--checked .shopping-row__qty{color:var(--color-text-muted)}.shopping-row__edit{align-items:center;gap:.35rem;display:flex}.shopping-row__edit input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;width:4.25rem;min-height:2.1rem;padding:.35rem .5rem;font-weight:600}.shopping-row__save{min-height:2.1rem;padding-inline:.7rem;font-size:.82rem}.shopping-row__delete{color:var(--color-danger,#b42318)}.shopping-row__delete:hover:not(:disabled){background:#b4231814}.detail-header,.detail-title{gap:.85rem;display:grid}.detail-title{grid-template-columns:auto 1fr;align-items:start}.detail-title__marker{border-radius:999px;width:14px;height:54px}.detail-title__meta{color:var(--color-text-muted)}.detail-info h2{margin-bottom:.75rem}.detail-info__meta{margin-top:1rem}.checklist-composer{grid-template-columns:minmax(0,1fr) 88px auto;gap:.55rem;margin-bottom:.85rem;display:grid}.checklist-composer input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:42px;padding:.65rem .75rem}.checklist-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);justify-content:space-between;align-items:center;gap:.65rem;padding:.75rem;display:flex}.checklist-item__toggle{cursor:pointer;align-items:center;gap:.65rem;font-weight:600;display:flex}.checklist-item__toggle .is-completed{color:var(--color-text-muted);text-decoration:line-through}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=760px){.app-shell{grid-template-columns:260px minmax(0,1fr);display:grid}.sidebar{border-right:1px solid var(--color-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffd1;flex-direction:column;gap:2rem;height:100vh;padding:1.5rem;display:flex;position:sticky;top:0}.sidebar__nav{gap:.35rem;display:grid}.sidebar__link{border-radius:var(--radius-sm);color:var(--color-text-muted);align-items:center;gap:.75rem;padding:.8rem;font-weight:600;display:flex}.sidebar__link.is-active{color:var(--color-primary);background:var(--color-primary-soft)}.bottom-nav{display:none}.app-main{max-width:980px;margin:0;padding:2.25rem clamp(2rem,5vw,4rem)}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.line-items-editor{border-top:1px solid var(--color-border);gap:.85rem;padding-top:.35rem;display:grid}.line-items-editor__intro strong{margin-bottom:.2rem;display:block}.line-items-editor__intro p{color:var(--color-text-muted);margin:0;font-size:.9rem}.line-items-editor__list{gap:1rem;display:grid}.line-items-editor__row{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:.85rem;gap:.75rem;padding:.85rem;display:grid}.line-items-editor__row-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.line-items-editor__row-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-size:.82rem;font-weight:700}.line-items-editor__field{gap:.35rem;display:grid}.line-items-editor__field .name-autocomplete{font-weight:400}.line-items-editor__field--quantity input{max-width:8rem}.line-items-list__count{background:var(--color-surface-muted);min-width:1.65rem;height:1.65rem;color:var(--color-text-muted);border-radius:999px;place-items:center;padding:0 .45rem;font-size:.75rem;font-weight:700;display:grid}.line-items-list__rows{border:1px solid var(--color-border);border-radius:.65rem;gap:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.line-items-list__row{background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:.55rem;padding:.45rem .55rem;display:flex}.line-items-list__row:last-child{border-bottom:0}.line-items-list__copy{flex:1;gap:.05rem;min-width:0;display:grid}.line-items-list__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.line-items-list__copy small{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.line-items-list__quantity{font-variant-numeric:tabular-nums;text-align:right;flex:none;min-width:2rem;font-size:.88rem;font-weight:700}.finance-summary{gap:.75rem;margin-bottom:1rem;display:grid}@media (width>=720px){.finance-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}.finance-summary__card{gap:.25rem;display:grid}.finance-summary__card strong{font-size:1.35rem}.finance-summary__card small{color:var(--color-text-muted)}.finance-range-fields{gap:.75rem;margin-bottom:1rem;display:grid}@media (width>=640px){.finance-range-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.finance-range-fields label{gap:.35rem;font-weight:700;display:grid}.finance-range-fields input{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:46px;color:var(--color-text);background:var(--color-surface);padding:.65rem .8rem}.finance-amount--in{color:#15803d;font-weight:700}.finance-amount--out{color:#b91c1c;font-weight:700}.finance-job-card__stats{gap:.75rem;margin:.75rem 0 0;display:grid}@media (width>=640px){.finance-job-card__stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.finance-job-card__stats div{gap:.2rem;display:grid}.finance-job-card__stats dt{color:var(--color-text-muted);font-size:.8rem}.finance-job-card__stats dd{margin:0;font-weight:700}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.confirm-dialog{z-index:60;padding:1.25rem;padding-top:calc(1.25rem + env(safe-area-inset-top));padding-bottom:calc(1.25rem + env(safe-area-inset-bottom));place-items:center;display:grid;position:fixed;inset:0}.confirm-dialog__backdrop{cursor:pointer;background:#2f252b6b;border:none;position:absolute;inset:0}.confirm-dialog__panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fffffffa;gap:.85rem;width:min(100%,420px);padding:1.35rem;display:grid;position:relative;box-shadow:0 24px 60px #46253433}.confirm-dialog__panel h2{font-family:Playfair Display,Georgia,serif;font-size:1.35rem}.confirm-dialog__panel p{color:var(--color-text-muted);line-height:1.5}.confirm-dialog__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.35rem;display:grid}
