:root{font-family:Aptos,Segoe UI Variable,Trebuchet MS,sans-serif;color:#18342f;background:radial-gradient(circle at top left,rgba(244,111,58,.18),transparent 32%),radial-gradient(circle at right 20%,rgba(25,98,77,.14),transparent 28%),linear-gradient(180deg,#f8f2e8,#f0e5d7);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}#root{min-height:100vh}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:2rem}.auth-card{width:min(960px,100%);display:grid;grid-template-columns:1.15fr .85fr;gap:1.25rem;padding:1.25rem;border-radius:32px;background:#fffaf4e0;border:1px solid rgba(24,52,47,.1);box-shadow:0 20px 50px #18342f1a}.auth-card-compact{width:min(560px,100%);grid-template-columns:1fr}.auth-card-wide{width:min(1080px,100%)}.auth-copy,.auth-panel{padding:1.5rem;border-radius:24px}.auth-copy{display:grid;gap:1rem;align-content:start;background:linear-gradient(135deg,#18342ff5,#215848f0);color:#f6efe2}.auth-copy h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em}.auth-copy p{margin:0;line-height:1.6}.auth-benefits,.account-summary{display:grid;gap:.6rem}.auth-benefits span,.account-summary span{display:inline-flex;align-items:center;width:fit-content;padding:.45rem .75rem;border-radius:999px;background:#f6efe21f}.auth-panel{display:grid;gap:.85rem;background:#ffffffbd}.auth-panel input{width:100%;padding:.95rem 1rem;border-radius:18px;border:1px solid rgba(24,52,47,.14);background:#ffffffeb}.auth-mode-switch{margin-top:0}.auth-submit,.secondary-action{border:none;border-radius:18px;padding:.9rem 1rem}.auth-submit{background:#18342f;color:#f6efe2}.secondary-action{background:#18342f14;color:inherit}.auth-feedback{margin:0;padding:.8rem .95rem;border-radius:16px;line-height:1.5}.auth-error{background:#a547221f;color:#8f3415}.auth-message{background:#18342f14;color:#18342f}.planner-feedback{margin:1.5rem 2rem 0}.module-feedback{margin:0 0 1rem}.document-error-list{margin:.6rem 0 0;padding-left:1.1rem;display:grid;gap:.35rem}.app-shell{display:grid;grid-template-columns:minmax(280px,320px) 1fr;min-height:100vh}.sidebar{display:flex;flex-direction:column;justify-content:flex-start;gap:1.5rem;padding:2rem;background:#18342ff0;color:#f6efe2;position:sticky;top:0;min-height:100vh}.sidebar h1,.hero-card h2,.section-header h3,.panel h3,.panel h4,.account-card strong{font-family:Georgia,Times New Roman,serif;letter-spacing:-.03em}.sidebar h1{margin:.25rem 0 .75rem;font-size:clamp(2rem,3vw,2.6rem)}.sidebar-copy{color:#f6efe2c7;line-height:1.5}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;opacity:.75}.account-card,.status-card,.panel,.hero-card,.note-card{border:1px solid rgba(24,52,47,.1);box-shadow:0 18px 44px #18342f14}.account-card{display:grid;gap:.65rem;margin-top:auto;padding:1rem;border-radius:24px;background:#f6efe214}.account-card strong,.account-card small{display:block}.account-card .secondary-action{margin-top:.25rem}.account-identity{display:grid;gap:.3rem}.account-family-summary{display:grid;gap:.25rem;padding-bottom:.25rem;border-bottom:1px solid rgba(246,239,226,.1)}.account-meta-row{display:flex;flex-wrap:wrap;gap:.45rem}.account-meta-row .chip{width:fit-content}.panel-heading-tight{align-items:center}.member-switcher{display:grid;gap:.6rem}.member-pill,.tab-button,.mode-button,.reset-button{transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.member-pill{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-radius:18px;border:1px solid rgba(246,239,226,.12);padding:.85rem .95rem;background:#f6efe20d;color:inherit;text-align:left}.member-pill span{font-size:.8rem;text-transform:uppercase;opacity:.8}.member-pill.active,.member-pill:hover,.tab-button:hover,.tab-button.active{background:#f46f3a;transform:translate(4px)}.member-pill:disabled{cursor:not-allowed;opacity:.6}.member-pill:disabled:hover{background:#f6efe20d;transform:none}.tab-list{display:grid;gap:.65rem}.tab-button{border-radius:20px;border:1px solid rgba(246,239,226,.12);padding:.95rem 1rem;background:#f6efe20f;color:inherit;text-align:left}.status-card{display:grid;gap:.25rem;padding:1.25rem;border-radius:24px;background:linear-gradient(135deg,#f6efe21f,#f6efe20a)}.status-card strong{font-size:1.8rem}.content{padding:2rem;display:grid;gap:1.5rem}.mode-switch{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.mode-button{border:1px solid rgba(24,52,47,.16);border-radius:999px;padding:.75rem 1rem;background:#ffffffb8;color:#18342f}.mode-button.active,.mode-button:hover{background:#18342f;color:#f6efe2}.hero-metrics{display:grid;gap:.85rem}.hero-metrics-compact{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.hero-metrics article{display:block;padding:1rem 1.1rem;border-radius:24px;background:linear-gradient(135deg,#f46f3a29,#18342f14)}.hero-metrics-compact article{display:inline-flex;align-items:baseline;gap:.5rem;padding:.45rem .7rem;border-radius:999px;background:#18342f0f}.hero-metrics span,.hero-metrics strong{display:block}.hero-metrics-compact span,.hero-metrics-compact strong{display:inline}.hero-metrics strong{margin-top:.35rem;font-size:1.8rem}.hero-metrics-compact strong{margin-top:0;font-size:.92rem}.hero-metrics-compact span{font-size:.78rem;color:#18342fb8}.planner-footer-status{margin-top:.25rem;padding:.6rem 0 0;border-top:1px solid rgba(24,52,47,.1)}.planner-footer-status small{display:block;color:#18342fb3}.grid-panel,.overview-stack,.module{display:none}.grid-panel.is-visible{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;animation:rise-in .6s ease}.overview-stack.is-visible,.module.is-visible{display:grid;gap:1rem;animation:rise-in .6s ease}.overview-row-panel{display:grid;gap:.9rem}.overview-empty-state{display:grid;gap:.3rem;padding:.35rem 0}.overview-empty-state strong,.overview-empty-state small{display:block}.panel{padding:1.25rem;border-radius:28px;background:#fffaf4d6}.spotlight{background:linear-gradient(135deg,#18342ff5,#215848f0);color:#f6efe2}.panel-heading,.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.section-header{margin-top:.5rem}.section-header h3,.panel h3,.panel h4{margin:0}.section-header p{margin:.25rem 0 0;color:#18342fc2}.chip{display:inline-flex;align-items:center;padding:.45rem .8rem;border-radius:999px;background:#f6efe224;color:inherit;font-size:.8rem}.chip.alt{background:#f46f3a24;color:#a64722}.module-layout{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:1rem}.document-module-layout{grid-template-columns:minmax(440px,.95fr) minmax(0,1.05fr);align-items:start}.calendar-module-layout{grid-template-columns:minmax(280px,320px) minmax(0,1fr);align-items:start}.role-layout{grid-template-columns:1.1fr .9fr}.form-panel,.list-panel,.masonry-panel{align-self:start}.form-panel{display:grid;gap:.75rem}.document-form-panel{gap:1rem;padding:1.5rem}.document-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.form-panel input,.form-panel textarea,.form-panel select{width:100%;padding:.9rem 1rem;border-radius:18px;border:1px solid rgba(24,52,47,.14);background:#ffffffd6}.form-panel button,.ghost-toggle,.reset-button{border:none;border-radius:18px;padding:.85rem 1rem}.form-panel button,.reset-button{background:#18342f;color:#f6efe2}.form-panel button:disabled{background:#18342f6b;cursor:not-allowed}.ghost-toggle{background:#18342f14;color:#18342f;min-width:80px}.calendar-form-hint{line-height:1.5}.agenda-list,.check-list,.task-list,.meal-list,.document-list{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}.agenda-list li,.check-list li,.task-list li,.meal-list li,.document-list li{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.95rem 0;border-bottom:1px solid rgba(24,52,47,.08)}.compact li{padding:.7rem 0}.agenda-list li:last-child,.check-list li:last-child,.task-list li:last-child,.meal-list li:last-child,.document-list li:last-child{border-bottom:none}.check-list label{display:flex;align-items:center;gap:.8rem;font-weight:600}.file-input-label{display:grid;gap:.65rem;font-weight:600;min-height:12rem;align-content:center;justify-items:start;padding:1.3rem;border:1px dashed rgba(24,52,47,.24);border-radius:18px;background:#f6efe280;transition:border-color .14s ease,background .14s ease,transform .14s ease}.file-input-label>span{font-size:1rem}.file-input-label input[type=file]{width:100%;padding:.75rem;border-radius:16px;border:1px solid rgba(24,52,47,.14);background:#ffffffeb}.file-input-label small{color:#18342fb8}.file-input-label.is-drag-active{border-color:#19624d;background:#19624d1f;transform:translateY(-1px)}.selected-file-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;border-radius:18px;background:#18342f14}.selected-file-card strong,.selected-file-card small{display:block}.selected-file-remove{padding:.65rem .9rem}.selected-file-list{display:grid;gap:.75rem}.selected-file-summary,.upload-progress-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;border-radius:18px;background:#18342f14}.upload-progress-card{display:grid}.upload-progress-card strong,.upload-progress-card small{display:block}.upload-progress-bar{width:100%;height:.55rem;border-radius:999px;overflow:hidden;background:#18342f1f}.upload-progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#19624d,#f46f3a);transition:width .18s ease}.document-entry-head{display:flex;align-items:center;gap:.9rem}.document-entry-copy{display:grid;gap:.2rem}.document-entry-copy strong,.document-meta-line{display:block}.document-meta-line{display:inline-flex;flex-wrap:wrap;gap:0;align-items:center;color:#18342fad}.document-meta-part-strong{color:#18342f;font-weight:700}.document-meta-part-accent{color:#19624d}.document-meta-separator{color:#18342f6b}.document-icon,.document-preview{width:3rem;height:3rem;border-radius:14px;flex:0 0 auto}.document-icon{display:inline-flex;align-items:center;justify-content:center;background:#18342f1a;color:#18342f;font-size:.78rem;font-weight:700}.document-preview{object-fit:cover;border:1px solid rgba(24,52,47,.12);background:#ffffffeb}.document-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem}.document-actions .chip{margin-left:auto}.document-action-button,.document-delete-button{width:auto}.document-open-button{order:1}.document-preview-button{order:2}.document-edit-button{order:3}.document-delete-button{order:4}.document-link-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.document-delete-button{padding:.65rem .9rem}.document-toolbar{display:grid;gap:1rem;margin-bottom:1rem}.document-toolbar-copy{display:flex;justify-content:space-between;align-items:center;gap:1rem}.document-toolbar-copy strong,.document-toolbar-copy small{display:block}.document-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.document-filter-grid input,.document-filter-grid select{width:100%;padding:.85rem .95rem;border-radius:18px;border:1px solid rgba(24,52,47,.14);background:#ffffffe6}.document-grid{display:grid;gap:1rem}.document-grid li{padding:1rem;border:1px solid rgba(24,52,47,.08);border-radius:22px;background:#ffffffc2}.document-link-button:hover{background:#18342f24}.document-empty-state{min-height:10rem;align-items:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:1.5rem;background:#18342f80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-card{width:min(560px,100%);max-height:min(88vh,1000px);overflow:auto;display:grid;gap:1rem;padding:1.25rem;border-radius:28px;background:#fffaf4f7;border:1px solid rgba(24,52,47,.1);box-shadow:0 28px 70px #18342f38}.modal-card-wide{width:min(980px,100%)}.modal-form{display:grid;gap:.8rem}.modal-form input{width:100%;padding:.9rem 1rem;border-radius:18px;border:1px solid rgba(24,52,47,.14);background:#ffffffeb}.modal-note{margin:0;padding:.9rem 1rem;border-radius:18px;background:#18342f14;color:#18342fc7;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.75rem}.modal-link-button{text-decoration:none}.document-preview-modal-body{min-height:24rem;display:grid;place-items:center;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#18342f14,#f46f3a1f)}.document-preview-full,.document-preview-frame{width:100%;min-height:70vh;border:none;background:#fff}.document-preview-full{object-fit:contain}.calendar-panel{padding:1.25rem}.calendar-shell{display:grid;gap:1rem}.calendar-toolbar,.calendar-toolbar-actions,.calendar-weekday-row{display:flex;align-items:center}.calendar-toolbar{justify-content:space-between;gap:1rem}.calendar-toolbar h4,.calendar-day-panel h4{margin:0}.calendar-toolbar-actions{gap:.6rem}.calendar-weekday-row{gap:.75rem}.calendar-weekday-row span{flex:1 1 0;text-align:center;font-size:.82rem;font-weight:700;color:#18342fad}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem}.calendar-day-cell{display:grid;gap:.55rem;min-height:8.6rem;padding:.75rem;border:1px solid rgba(24,52,47,.08);border-radius:22px;background:#ffffffb8;text-align:left;transition:transform .14s ease,border-color .14s ease,background .14s ease}.calendar-day-cell:hover{transform:translateY(-1px);border-color:#19624d4d}.calendar-day-cell.is-outside-month{opacity:.45}.calendar-day-cell.is-today{border-color:#f46f3a6b;background:#f46f3a14}.calendar-day-cell.is-selected{border-color:#19624d;background:#19624d1a;box-shadow:inset 0 0 0 1px #19624d29}.calendar-day-number{font-weight:700;color:#18342f}.calendar-day-events{display:grid;align-content:start;gap:.35rem}.calendar-event-pill,.calendar-more-events{display:block;padding:.35rem .55rem;border-radius:999px;background:#18342f14;color:#18342f;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event-pill{background:#19624d1f}.calendar-more-events{color:#18342fb3}.calendar-detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:1rem}.calendar-day-panel{display:grid;gap:.8rem;padding:1rem;border-radius:24px;background:#18342f0d}.calendar-day-list li{align-items:center}.calendar-empty-state{min-height:7rem;align-content:center}.calendar-unscheduled-panel{background:#f6efe2b8}.done strong,.done span,.done small{opacity:.58}.done label span,.done div strong{text-decoration:line-through}.notes-grid{columns:2;column-gap:1rem}.note-card{break-inside:avoid;display:grid;gap:.75rem;margin-bottom:1rem;padding:1rem;border-radius:24px;background:#fff8efeb}.note-card h4,.note-card p,.security-copy p{margin:0}.note-card p,.security-copy p{line-height:1.6}.security-copy{display:grid;gap:.75rem}.storage-panel{grid-template-columns:1fr}.reset-panel{display:flex;justify-content:flex-end}.reset-button:hover{transform:translateY(-1px);background:#f46f3a}small{color:#18342fa6}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1080px){.auth-card,.app-shell{grid-template-columns:1fr}.sidebar{position:static;min-height:auto}.hero-card,.module-layout,.grid-panel.is-visible,.role-layout,.calendar-detail-grid,.document-form-grid{grid-template-columns:1fr}}@media (min-width: 1180px){.document-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media (max-width: 720px){.auth-shell{padding:1rem}.content,.sidebar{padding:1.25rem}.tab-list{grid-template-columns:repeat(2,minmax(0,1fr))}.notes-grid{columns:1}.document-filter-grid{grid-template-columns:1fr}.calendar-grid{gap:.55rem}.calendar-day-cell{min-height:7.5rem;padding:.6rem}}@media (max-width: 560px){.hero-card h2{font-size:2.2rem}.auth-copy,.auth-panel{padding:1rem}.agenda-list li,.check-list li,.task-list li,.meal-list li,.document-list li,.calendar-toolbar,.calendar-toolbar-actions,.document-toolbar-copy,.section-header,.panel-heading,.member-pill{flex-direction:column;align-items:flex-start}.calendar-weekday-row{display:none}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ghost-toggle,.form-panel button,.reset-button{width:100%}.document-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch}.document-actions .chip{grid-column:1 / -1;justify-self:flex-start;margin-left:0}.document-open-button{grid-column:1}.document-preview-button{grid-column:2}.document-edit-button{grid-column:1}.document-delete-button{grid-column:2}}
