:root {
  --berry: #9e315c;
  --berry-dark: #6f203f;
  --berry-soft: #c9567d;
  --blush: #f6dce5;
  --blush-2: #fff0f4;
  --cream: #fffaf7;
  --ink: #24212a;
  --muted: #756d76;
  --line: #eadde1;
  --white: #ffffff;
  --green: #4d9a72;
  --gold: #d59a42;
  --blue: #668ba4;
  --shadow: 0 18px 55px rgba(75, 37, 53, .10);
  --radius: 24px;
  font-family: Inter, ui-rounded, "SF Pro Rounded", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--cream);
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--cream); }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
a { color: var(--berry); text-decoration: none; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.is-hidden { display: none !important; }
.brand { display: flex; align-items: center; gap: 10px; font-size: 1.65rem; font-weight: 800; letter-spacing: -.04em; }
.brand-light { color: white; }.brand-dark { color: var(--berry); }.flower { font-size: 1.7rem; line-height: 1; }
.eyebrow { color: var(--berry); text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; font-weight: 800; }
.eyebrow.light { color: #ffd8e5; }

.login-screen { min-height: 100vh; display: grid; grid-template-columns: 1.08fr .92fr; }
.login-story { position: relative; overflow: hidden; color: white; background: var(--berry); padding: 44px 54px; display: flex; flex-direction: column; justify-content: space-between; }
.login-story::before, .login-story::after { content:""; position:absolute; border: 2px solid rgba(255,255,255,.14); border-radius: 48% 52% 50% 45%; }
.login-story::before { width: 520px; height: 520px; right: -180px; top: 80px; transform: rotate(18deg); }
.login-story::after { width: 360px; height: 360px; left: -130px; bottom: -180px; transform: rotate(-12deg); }
.story-copy { position: relative; z-index: 1; max-width: 610px; }
.story-copy h1 { margin: 16px 0; font-family: Georgia, serif; font-weight: 500; font-size: clamp(3rem, 6vw, 5.8rem); line-height: .97; letter-spacing: -.055em; }
.story-copy p { max-width: 480px; font-size: 1.18rem; line-height: 1.65; color: #fbe9ef; }
.sketch-strip { display: flex; align-items: center; gap: 36px; font-size: 2.1rem; color: #f5b3ca; opacity: .9; }
.login-panel { display: grid; place-items: center; padding: 48px; background: #fffdfb; }
.login-card { width: min(430px, 100%); }
.login-card .brand { margin-bottom: 72px; }
.login-card h2 { margin: 10px 0 34px; font-size: 2rem; letter-spacing: -.04em; }
.login-card label:not(.check) { display: grid; gap: 8px; margin: 18px 0; font-size: .85rem; font-weight: 700; }
.login-card input { border: 1px solid var(--line); border-radius: 14px; padding: 15px 16px; outline: none; color: var(--ink); background: white; }
.login-card input:focus { border-color: var(--berry-soft); box-shadow: 0 0 0 4px var(--blush-2); }
.login-meta { display: flex; justify-content: space-between; align-items: center; margin: 22px 0; font-size: .85rem; }
.check { display: flex; align-items: center; gap: 8px; }.check input { accent-color: var(--berry); }
.primary { border: 0; border-radius: 13px; padding: 13px 18px; color: white; background: var(--berry); font-weight: 800; display: inline-flex; align-items: center; justify-content: center; gap: 10px; box-shadow: 0 8px 24px rgba(158,49,92,.2); }
.primary:hover { background: var(--berry-dark); }.primary.full { width: 100%; padding: 16px; }.primary svg { width: 17px; }
.demo-note { text-align: center; color: var(--muted); font-size: .8rem; margin-top: 18px; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 248px 1fr; background: #fbf7f7; }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 30px 18px 20px; color: white; background: var(--berry-dark); display: flex; flex-direction: column; }
.sidebar > .brand { padding: 0 12px 25px; }
.school-switcher { padding: 12px; margin-bottom: 22px; display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); border-radius: 15px; }
.school-switcher div { display: grid; flex: 1; }.school-switcher small, .profile-mini small { color: #dab7c5; margin-top: 2px; }.school-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: #f1b2c8; color: var(--berry-dark); font-weight: 900; }
.sidebar nav { display: grid; gap: 5px; }.nav-item { display: flex; align-items: center; gap: 13px; width: 100%; border: 0; color: #e9d6de; background: transparent; padding: 11px 13px; border-radius: 12px; text-align: left; }
.nav-item:hover, .nav-item.active { color: white; background: rgba(255,255,255,.12); }.nav-item.active { box-shadow: inset 3px 0 #f4adc6; }.nav-caption { padding: 22px 13px 8px; text-transform: uppercase; letter-spacing: .12em; color: #b98b9e; font-size: .65rem; font-weight: 800; }
.storage-mini { margin-top: auto; width:100%; display: flex; align-items: center; gap: 11px; padding: 13px; color:white; background:transparent; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; text-align:left; }.storage-mini div { display: grid; flex: 1; }.storage-mini small { color:#cba6b5; }.status-dot { width: 8px; height: 8px; background: #68d391; border-radius: 50%; box-shadow: 0 0 0 4px rgba(104,211,145,.12); }
.profile-mini { border: 0; display:flex; gap:10px; align-items:center; color:white; background:transparent; padding: 18px 10px 0; text-align:left; }.profile-mini > span:nth-child(2) { display:grid; }
.avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--blush); color: var(--berry-dark); display: inline-grid; place-items: center; font-size: .76rem; font-weight: 900; flex: 0 0 auto; }.avatar.berry { background: #bc527a; color:white; }.avatar.peach { background:#f7d0b6; color:#7d4b2d; }.avatar.blue { background:#d7e6ed; color:#395c71; }.avatar.green-bg { background:#d7eadf; color:#35644b; }.avatar.small { width: 34px; height: 34px; }
.workspace { min-width: 0; }.topbar { height: 104px; padding: 24px 36px; display:flex; align-items:center; justify-content:space-between; background:rgba(255,255,255,.72); border-bottom:1px solid var(--line); backdrop-filter: blur(14px); }.topbar h2 { margin: 4px 0 0; font-size: 1.55rem; letter-spacing:-.035em; }.top-actions { display:flex; align-items:center; gap:10px; }.icon-button { width:40px; height:40px; border-radius:12px; border:1px solid var(--line); color:var(--muted); background:white; display:grid; place-items:center; }.icon-button.alert::after { content:""; width:7px; height:7px; border-radius:50%; background:var(--berry-soft); position:absolute; transform:translate(11px,-11px); }
.view-root { padding: 30px 36px 48px; max-width: 1500px; margin: 0 auto; }.view { animation: fade .28s ease; }@keyframes fade { from{opacity:0;transform:translateY(5px)} }
.metric-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.metric-card { display:flex; align-items:center; gap:16px; padding:22px; background:white; border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 8px 26px rgba(74,44,54,.04); }.metric-icon { width:50px;height:50px;border-radius:16px;display:grid;place-items:center;color:var(--berry);background:var(--blush-2); }.metric-icon.gold{color:#9b6b24;background:#fff1d8}.metric-icon.green{color:#327052;background:#e6f4ec}.metric-card div:nth-child(2){display:grid;grid-template-columns:1fr auto;align-items:end;flex:1}.metric-card small{grid-column:1/-1;color:var(--muted)}.metric-card strong{font-size:1.75rem}.metric-card span{font-size:.76rem;color:var(--muted);padding-bottom:3px}
.dashboard-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:18px; margin-top:18px; }.panel { background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px; }.panel-heading,.section-heading { display:flex;justify-content:space-between;align-items:flex-start;gap:20px }.panel-heading h3,.section-heading h3 { margin:5px 0 0;font-size:1.4rem;letter-spacing:-.03em }.section-heading { margin-bottom:24px }.section-heading p { margin:8px 0 0;color:var(--muted) }.text-button { border:0;background:transparent;color:var(--berry);font-weight:800 }.timeline{display:grid;margin-top:15px}.timeline>div{display:grid;grid-template-columns:55px 14px 1fr;gap:12px;align-items:center;padding:13px 0}.timeline time{font-size:.8rem;color:var(--muted)}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--berry)}.timeline-dot.gold{background:var(--gold)}.timeline-dot.green{background:var(--green)}.timeline div div{display:grid}.timeline small,.activity-row small{color:var(--muted);margin-top:3px}.activity-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #f2e9ec}.activity-row:last-child{border:0}.activity-row div{display:grid;flex:1}.pill{display:inline-flex;width:max-content;align-items:center;border-radius:999px;background:var(--blush-2);color:var(--berry);font-size:.72rem;font-weight:800;padding:6px 9px}.pill.success{background:#e8f5ed;color:#347050}
.storage-banner{margin-top:18px;display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:22px;padding:23px 28px;border-radius:var(--radius);color:white;background:var(--berry);overflow:hidden}.storage-art{position:relative;height:75px}.cloud-shape{font-size:4.2rem;color:#f3a7c2;position:absolute;left:0;top:-15px}.server-shape{position:absolute;left:42px;top:37px;background:white;color:var(--berry);border-radius:8px;padding:3px 17px;letter-spacing:5px}.storage-banner h3{font-size:1.45rem;margin:5px 0}.storage-banner p{margin:0;color:#f8dfe8}.storage-state{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;padding:15px 18px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.08)}.storage-state small{grid-column:2;color:#e7c4d1}
.group-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.group-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px;position:relative;overflow:hidden}.group-illustration{height:115px;margin:-22px -22px 18px;display:grid;place-items:center;font-size:4rem;background:#fff1dc;color:#d39437}.rainbow .group-illustration{background:#f8dce6;color:var(--berry)}.forest .group-illustration{background:#dfeee4;color:#47795d}.stars .group-illustration{background:#e4eaf1;color:#57758a}.group-title{display:flex;align-items:end;justify-content:space-between}.group-title h3{margin:3px 0;font-size:1.35rem}.group-title small,.group-card>small{color:var(--muted)}.group-title>span{font-size:.8rem;color:var(--muted)}.avatar-stack{display:flex;margin:14px 0}.avatar-stack .avatar{border:3px solid white;margin-left:-6px}.avatar-stack .avatar:first-child{margin:0}.capacity{height:7px;border-radius:99px;background:#f2e9ec;overflow:hidden;margin:12px 0 7px}.capacity span{display:block;height:100%;background:var(--berry-soft);border-radius:inherit}
.toolbar{display:flex;justify-content:space-between;gap:20px;margin-bottom:16px}.search-field{min-width:280px;display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--line);border-radius:13px;padding:0 13px}.search-field input{border:0;outline:0;background:transparent;padding:12px 0}.segmented{display:flex;padding:4px;background:#eee6e9;border-radius:12px}.segmented button,.category-row button{border:0;background:transparent;padding:8px 13px;border-radius:9px;color:var(--muted)}.segmented button.active,.category-row button.active{background:white;color:var(--berry);box-shadow:0 3px 9px rgba(70,40,50,.08);font-weight:800}.table-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.table-card table{width:100%;border-collapse:collapse}.table-card th{text-align:left;font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#fcf8f9}.table-card th,.table-card td{padding:15px 18px;border-bottom:1px solid #f1e8eb}.table-card td:first-child{display:flex;align-items:center;gap:10px}.table-card td:first-child span:last-child{display:grid}.table-card td small{color:var(--muted);margin-top:3px}
.content-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.content-stats article{display:flex;align-items:center;gap:12px;padding:16px 18px;background:white;border:1px solid var(--line);border-radius:16px}.content-stats svg{color:var(--berry)}.content-stats span{display:grid}.content-stats small{color:var(--muted)}.content-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.composer-panel label{display:grid;gap:8px;margin-top:17px;font-size:.8rem;font-weight:800}.composer-panel input,.composer-panel textarea,.composer-panel select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff;color:var(--ink);outline:0}.composer-panel textarea{min-height:90px;resize:none}.type-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.type-picker button{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:11px;background:white;color:var(--muted)}.type-picker button.active{border-color:var(--berry-soft);background:var(--blush-2);color:var(--berry);font-weight:800}.composer-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.composer-footer>span{color:var(--muted);font-size:.75rem}.publish-list{display:grid;margin-top:10px}.publish-list>div{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #f1e8eb}.publish-list>div>span:nth-child(2){display:grid;flex:1}.publish-list small{color:var(--muted);margin-top:3px}.post-thumb{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:var(--berry);background:var(--blush-2)}.post-thumb.gold{color:#94651f;background:#fff0d5}.post-thumb.blue{color:#52758c;background:#e2edf2}.post-thumb.muted{color:#776d71;background:#eee8ea}
.calendar-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.calendar-head button{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:white;color:var(--berry);font-size:1.2rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-grid>*{min-height:46px;display:grid;place-items:center;border-radius:10px}.calendar-grid b{min-height:30px;color:var(--muted);font-size:.7rem;text-transform:uppercase}.calendar-grid span{position:relative;background:#fcf8f9}.calendar-grid .muted-day{color:#c1b8bc;background:transparent}.calendar-grid .today{color:white;background:var(--berry);font-weight:900}.calendar-grid .has-event{border:1px solid #e6b2c5;color:var(--berry);font-weight:800}.calendar-grid .has-event i{position:absolute;width:5px;height:5px;background:var(--berry);border-radius:50%;bottom:5px}.calendar-grid .gold-event{border-color:#edd4a9;color:#9b6b24}.calendar-grid .gold-event i{background:var(--gold)}.event-list{display:grid;gap:14px}.event-date-large{width:58px;height:66px;border-radius:14px;background:var(--blush-2);color:var(--berry);display:grid;place-items:center;float:left;margin-right:12px}.event-date-large strong{font-size:1.45rem}.event-date-large small{font-size:.65rem}.event-detail>h3{clear:both;padding-top:18px;margin-bottom:6px}.event-detail>p{color:var(--muted)}.rsvp-bar{height:9px;background:#f0e8eb;border-radius:99px;overflow:hidden;margin:23px 0 12px}.rsvp-bar span{display:block;height:100%;background:var(--berry);border-radius:inherit}.rsvp-legend{display:grid;gap:5px;margin-bottom:20px;font-size:.8rem}.rsvp-legend span{color:var(--muted)}.secondary{border:1px solid var(--berry);color:var(--berry);background:white;border-radius:12px;padding:11px 15px;font-weight:800}.full{width:100%}.compact-event{display:flex;align-items:center;gap:11px}.compact-event>div{display:grid;flex:1}.compact-event small,.compact-event>span:last-child{color:var(--muted);font-size:.76rem}.event-dot{width:12px;height:12px;background:var(--berry);border-radius:50%}.gold-dot{background:var(--gold)}
.attendance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.attendance-summary article{display:flex;align-items:center;gap:14px;padding:20px;background:white;border:1px solid var(--line);border-radius:18px}.attendance-summary .number{font-size:2rem;font-weight:900}.attendance-summary article>span:last-child{display:grid}.attendance-summary small{color:var(--muted)}.green-text{color:var(--green)}.berry-text{color:var(--berry)}.gold-text{color:var(--gold)}.table-toolbar{display:flex;justify-content:space-between;padding:15px;background:#fcf8f9}.pill.danger{background:#fbe5e7;color:#a84049}.pill.warning{background:#fff0d5;color:#95671f}
.settings-layout{display:grid;grid-template-columns:230px 1fr;gap:18px}.settings-nav{display:grid;gap:5px;height:max-content;padding:8px;background:white;border:1px solid var(--line);border-radius:18px}.settings-nav button{border:0;background:transparent;padding:12px;border-radius:11px;text-align:left;color:var(--muted)}.settings-nav button.active{background:var(--blush-2);color:var(--berry);font-weight:800}.settings-stack{display:grid;gap:18px}.storage-choice{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:14px;margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:16px}.storage-choice.selected{border-color:#dda0b8;background:var(--blush-2)}.storage-choice p{margin:4px 0;color:var(--muted)}.storage-choice small{color:var(--green);font-weight:700}.choice-icon{width:46px;height:46px;border-radius:14px;background:white;color:var(--berry);display:grid;place-items:center;border:1px solid var(--line)}.local-server-icon{letter-spacing:5px;font-weight:900}.radio-mark{color:var(--berry);font-size:1.2rem}.radio-mark.empty{color:#b7adb1}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #f1e8eb}.setting-row:last-child{border:0}.setting-row>div{display:grid}.setting-row small{color:var(--muted);margin-top:4px}.switch{width:42px;height:24px;border-radius:99px;background:#d4cdd0;position:relative}.switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:white}.switch.on{background:var(--berry)}.switch.on::after{left:21px}
.family-layout{display:grid;grid-template-columns:320px 1fr;gap:18px}.family-list{padding:14px}.family-list .search-field{min-width:0;margin-bottom:10px}.family-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:0;background:transparent;padding:12px;border-radius:13px;text-align:left}.family-row:hover,.family-row.active{background:var(--blush-2)}.family-row>span:nth-child(2){display:grid}.family-row small{color:var(--muted);margin-top:3px}.consent-dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:900}.consent-dot.good{background:#e5f3e9;color:var(--green)}.consent-dot.warn{background:#fff0d5;color:#95671f}.family-profile{display:grid;gap:18px}.profile-hero{display:flex;align-items:center;gap:16px}.profile-hero>div{flex:1}.profile-hero h3{margin:4px 0;font-size:1.5rem}.profile-hero p{margin:0;color:var(--muted)}.profile-avatar{width:64px;height:64px;font-size:1rem}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.guardian{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #f1e8eb}.guardian:last-child{border:0}.guardian>span:nth-child(2){display:grid}.guardian small,.consent-status small{color:var(--muted)}.consent-status{display:flex;align-items:center;gap:12px;margin-top:20px}.consent-status>div{display:grid}.shield-good{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#e5f3e9;color:var(--green);font-weight:900}.meta-line{font-size:.76rem;color:var(--muted);margin-top:16px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.info-grid span{display:grid;padding:13px;border-radius:12px;background:#fcf8f9}.info-grid small{color:var(--muted);margin-bottom:4px}
.invite-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.form-grid label{display:grid;gap:7px;font-size:.78rem;font-weight:800}.form-grid label.wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:white;color:var(--ink)}.form-grid textarea{min-height:110px;resize:none}.invite-summary{display:flex;align-items:center;gap:11px;margin:18px 0;padding:13px;border-radius:13px;background:#eef7f1}.invite-summary p{margin:0;font-size:.82rem;line-height:1.45;color:#456754}.invite-list{display:grid;margin-top:10px}.invite-list>div{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #f1e8eb}.invite-list>div>span:nth-child(2){display:grid;flex:1}.invite-list small{color:var(--muted);margin-top:3px}.invite-list button{border:0;background:var(--blush-2);color:var(--berry);border-radius:9px;padding:7px 10px;font-weight:800}
.back-row{margin-bottom:16px}.back-button{border:0;background:transparent;color:var(--berry);padding:0;font-weight:800}.consent-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.consent-person{display:flex;align-items:center;gap:13px;padding-bottom:16px;border-bottom:1px solid #f1e8eb}.consent-person>div{display:grid}.consent-person small{color:var(--muted)}.permission-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #f1e8eb}.permission-row.compact{padding:14px 0}.permission-row>div{display:grid}.permission-row small{color:var(--muted);margin-top:4px;line-height:1.4}.consent-record{text-align:center}.shield-large{width:70px;height:70px;border-radius:22px;background:var(--berry);color:white;display:grid;place-items:center;font-size:2rem;font-weight:900;margin:0 auto 15px}.consent-record p{color:var(--muted)}.consent-record>div{display:grid;gap:8px;margin:22px 0;text-align:left}.consent-record>div span{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f1e8eb}.consent-record>div small{color:var(--muted)}
.editor-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.phone-card{height:max-content}.mini-event-preview{margin-top:15px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fffaf9}.preview-cover{height:170px;display:grid;place-items:center;font-size:4.5rem;border-radius:13px;background:#fff0d5;color:var(--gold)}.date-pill{display:inline-flex;margin-top:14px;padding:6px 9px;border-radius:999px;background:var(--blush-2);color:var(--berry);font-size:.7rem;font-weight:900}.mini-event-preview h3{margin:12px 0 5px}.mini-event-preview p,.mini-event-preview>small{color:var(--muted)}.rsvp-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.rsvp-choice button{padding:10px;border:1px solid var(--berry);border-radius:10px;background:white;color:var(--berry);font-weight:800}.rsvp-choice button:first-child{background:var(--berry);color:white}
.product-card{border:1px solid var(--line);padding:0;text-align:left;color:inherit}.listing-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;max-width:1050px;margin:auto}.listing-main-art{height:530px;display:grid;place-items:center;border-radius:var(--radius);background:#f3e3db;font-size:10rem}.listing-thumbs{display:flex;gap:10px;margin-top:12px}.listing-thumbs button{width:68px;height:60px;border:1px solid var(--line);border-radius:12px;background:white;font-size:1.5rem}.listing-thumbs button.active{border-color:var(--berry)}.verified-line{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.75rem}.listing-info h2{font-size:2.1rem;letter-spacing:-.04em;margin:20px 0 7px}.listing-price{font-size:1.8rem;color:var(--berry)}.listing-info>p{color:var(--muted);line-height:1.65}.listing-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.listing-facts span{display:grid;padding:11px;border-radius:11px;background:#fcf8f9}.listing-facts small{color:var(--muted);margin-bottom:4px}.seller-card{display:flex;align-items:center;gap:10px;padding:14px 0;margin:14px 0;border-top:1px solid #f1e8eb}.seller-card>div{display:grid;flex:1}.seller-card small{color:var(--muted)}.safe-note{text-align:center;font-size:.72rem!important}
.app-preview-layout{min-height:690px;display:grid;grid-template-columns:minmax(300px,470px) minmax(340px,420px);gap:8vw;align-items:center;justify-content:center}.preview-copy h3{font-family:Georgia,serif;font-size:clamp(2.6rem,4vw,4.4rem);font-weight:500;line-height:1.04;letter-spacing:-.05em;margin:14px 0}.preview-copy p{font-size:1.06rem;line-height:1.7;color:var(--muted)}.feature-list{display:grid;gap:12px;margin-top:28px}.feature-list span{display:flex;align-items:center;gap:12px;font-weight:700}.feature-list svg{color:var(--berry)}.phone-frame{width:375px;height:690px;margin:auto;border:8px solid #252229;border-radius:42px;background:#fffaf9;box-shadow:var(--shadow);padding:20px 16px;overflow:hidden}.phone-top{display:flex;justify-content:space-between;padding:0 6px 15px;font-size:.72rem;font-weight:800}.mobile-header{display:flex;align-items:center;gap:10px;margin-bottom:18px}.mobile-header>div{display:grid;flex:1}.mobile-header small{color:var(--muted)}.mobile-header .flower{color:var(--berry)}.compose-card,.feed-card,.event-card,.checkin-card,.attendance-mini{background:white;border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:0 7px 22px rgba(70,40,50,.05)}.compose-card textarea{width:100%;min-height:85px;resize:none;border:0;outline:0;padding:14px 0;line-height:1.45;color:var(--ink)}.media-placeholder{height:130px;border-radius:13px;background:linear-gradient(145deg,#f3dbe4,#f9eee8);display:grid;place-items:center;color:var(--berry)}.media-placeholder span{display:block;font-size:.78rem}.media-placeholder svg{width:28px;height:28px;margin-bottom:-28px}.audience-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font-size:.72rem;color:var(--muted)}.audience-row button,.event-card button{border:0;background:var(--berry);color:white;border-radius:9px;padding:8px 12px;font-weight:800}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.quick-actions button{border:1px solid var(--line);background:white;border-radius:13px;padding:12px 5px;display:grid;place-items:center;gap:6px;color:var(--berry)}.quick-actions span{font-size:.7rem;color:var(--ink)}.attendance-mini>div:first-child{display:flex;justify-content:space-between}.feed-phone{background:#fbf4f6}.checkin-card{display:flex;align-items:center;gap:11px;margin-bottom:12px}.checkin-card>div{display:grid}.checkin-card small{color:var(--muted)}.check-circle{width:36px;height:36px;border-radius:50%;background:#e3f3e8;color:var(--green);display:grid;place-items:center;font-weight:900}.feed-author{display:flex;align-items:center;gap:9px}.feed-author div{display:grid;flex:1}.feed-author small{color:var(--muted)}.feed-photo{height:190px;border-radius:13px;background:linear-gradient(145deg,#e7c59b,#dce8d6);display:flex;align-items:end;justify-content:space-around;font-size:3.4rem;padding:20px;margin:13px 0}.feed-card p{font-size:.83rem;line-height:1.4}.feed-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem}.event-card{display:flex;align-items:center;gap:10px;margin-top:12px}.event-card>div:nth-child(2){display:grid;flex:1}.event-card>div:nth-child(2) small{font-size:.6rem;color:var(--berry);font-weight:800}.event-card>div:nth-child(2) span{font-size:.68rem;color:var(--muted)}.date-tile{display:grid;place-items:center;width:45px;height:52px;border-radius:11px;color:var(--berry);background:var(--blush-2)}.date-tile strong{font-size:1.25rem}.date-tile small{font-size:.58rem}
.location-pill{display:flex;align-items:center;gap:8px;padding:10px 14px;background:white;border:1px solid var(--line);border-radius:999px;color:var(--berry);font-weight:800}.category-row{display:flex;gap:8px;margin-bottom:18px}.discover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.event-tile{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.event-art{height:220px;display:grid;place-items:center;font-size:5rem;background:#f6dce4;color:var(--berry)}.event-tile.green-tile .event-art{background:#dfeee4;color:#47795d}.event-tile.gold-tile .event-art{background:#fff0d5;color:#a87426}.event-tile>div:last-child{padding:19px}.event-tile h3{margin:12px 0 6px}.event-tile p,.event-tile small{color:var(--muted)}
.market-layout{display:grid;grid-template-columns:230px 1fr;gap:20px}.market-filter{display:flex;flex-direction:column;gap:5px;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px;height:max-content}.market-filter>strong{margin-bottom:10px}.market-filter>button{border:0;background:transparent;padding:10px;border-radius:10px;text-align:left;display:flex;justify-content:space-between}.market-filter>button.active{background:var(--blush-2);color:var(--berry);font-weight:800}.verified-box{margin-top:18px;padding:16px;border-radius:15px;background:var(--berry-dark);color:white;display:grid;gap:5px}.verified-box>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--berry)}.verified-box small{color:#e4c7d2;line-height:1.4}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.product-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.product-art{height:240px;display:grid;place-items:center;font-size:5rem}.product-art.bike{background:#f3e3db}.product-art.jacket{background:#e9dce5}.product-art.blocks{background:#e7e1cf;color:#9f7043}.product-card>div:last-child{padding:18px;display:grid;gap:7px}.product-card h3{margin:4px 0}.product-card>div:last-child>strong{font-size:1.25rem}.product-card small{color:var(--muted)}
@media (max-width: 1050px){.app-shell{grid-template-columns:88px 1fr}.sidebar .brand span:last-child,.school-switcher div,.school-switcher>span:last-child,.nav-item span,.nav-caption,.storage-mini div,.profile-mini>span:last-child{display:none}.sidebar>.brand{justify-content:center}.school-switcher{justify-content:center}.nav-item{justify-content:center}.storage-mini{justify-content:center}.profile-mini{justify-content:center}.metric-grid,.discover-grid{grid-template-columns:1fr 1fr}.product-grid{grid-template-columns:1fr 1fr}.app-preview-layout{gap:35px}.preview-copy h3{font-size:2.8rem}.content-layout,.calendar-layout,.invite-layout,.editor-layout{grid-template-columns:1fr}.settings-layout{grid-template-columns:180px 1fr}.family-layout{grid-template-columns:260px 1fr}}
@media (max-width: 780px){.login-screen{grid-template-columns:1fr}.login-story{min-height:40vh;padding:30px}.story-copy h1{font-size:3.2rem}.sketch-strip{display:none}.login-panel{padding:36px 24px}.login-card .brand{margin-bottom:35px}.app-shell{display:block}.sidebar{position:fixed;z-index:20;left:0;right:0;top:auto;bottom:0;width:100%;height:72px;padding:8px;background:var(--berry-dark);flex-direction:row}.sidebar>.brand,.school-switcher,.nav-caption,.storage-mini,.profile-mini{display:none}.sidebar nav{display:flex;width:100%;justify-content:space-around;overflow-x:auto}.nav-item{width:auto;padding:10px}.nav-item:nth-of-type(3),.nav-item:nth-of-type(4),.nav-item:nth-of-type(5),.nav-item:nth-of-type(6),.nav-item:nth-of-type(7),.nav-item:nth-of-type(8),.nav-item:nth-of-type(13){display:none}.nav-item svg{width:23px;height:23px}.workspace{padding-bottom:75px}.topbar{height:88px;padding:18px 20px}.topbar .eyebrow{display:none}.view-root{padding:20px}.metric-grid,.dashboard-grid,.group-grid,.discover-grid,.product-grid,.content-stats,.attendance-summary{grid-template-columns:1fr}.storage-banner{grid-template-columns:1fr}.storage-art{display:none}.storage-state{margin-top:8px}.section-heading{align-items:flex-start}.toolbar,.table-toolbar{flex-direction:column}.segmented{overflow:auto}.table-card{overflow:auto}.app-preview-layout{grid-template-columns:1fr;gap:30px}.preview-copy{max-width:480px;margin:auto}.phone-frame{width:min(375px,100%)}.market-layout,.settings-layout,.family-layout,.profile-grid,.consent-layout,.listing-layout{grid-template-columns:1fr}.family-list{display:none}.market-filter,.settings-nav{display:none}.discover-grid .event-art{height:170px}.top-actions .icon-button{display:none}.composer-footer{align-items:flex-start;flex-direction:column}.info-grid,.listing-facts{grid-template-columns:1fr}.listing-main-art{height:340px;font-size:7rem}}
