.profile{border-radius:11px;transition:.2s}.profile:hover{background:#1d1e30}.profile-avatar img,.family-avatar img,.member img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.profile-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}.profile-summary,.profile-form{border:1px solid var(--line);border-radius:16px;background:#fff}.profile-summary{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 18px}.profile-photo{display:grid;place-items:center;overflow:hidden;border-radius:18px;background:linear-gradient(145deg,#9bd6e7,#c4b5ee);color:#3c5070;font-size:20px;font-weight:800}.profile-photo.large{width:78px;height:78px;margin-bottom:12px}.profile-photo img{width:100%;height:100%;object-fit:cover}.profile-summary>strong{font-size:14px}.profile-summary>small{margin-top:3px;color:#90909f;font-size:9px}.avatar-change{margin-top:16px;display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 10px;border-radius:9px;background:#f0edff;color:#6452d1;font-size:9px;font-weight:800;cursor:pointer}.avatar-change input{display:none}.logout-button{margin-top:9px;border:0;background:transparent;color:#a96b71;font-size:9px;font-weight:800}.profile-form{padding:0 21px}.profile-section{display:grid;gap:10px;padding:19px 0;border-bottom:1px solid #eeeef4}.profile-section:last-of-type{border-bottom:0}.profile-section>p{margin:0 0 1px;color:#9090a1;font-size:9px;font-weight:800;letter-spacing:1px}.profile-section label{display:grid;gap:6px;font-size:10px;font-weight:800;color:#666676}.profile-section label small{font-weight:500;color:#9998a7}.profile-section input{height:41px;border:1px solid #e4e3eb;border-radius:10px;padding:0 11px;color:#2a2939;font-size:12px;outline:none}.profile-section input:focus{border-color:#8875e9;box-shadow:0 0 0 3px #6e55e814}.profile-help{color:#9291a0;font-size:9px}.profile-save{display:flex;justify-content:space-between;align-items:center;padding:16px 0;gap:10px}.profile-save>span{color:#9291a0;font-size:9px}.profile-save button,.day-add{height:36px;border:0;border-radius:10px;padding:0 12px;background:#6e55e8;color:#fff;font-size:10px;font-weight:800;box-shadow:0 5px 13px #6e55e826}.profile-save b{font-size:14px;font-weight:500;margin-left:4px}
.week-head{display:grid;grid-template-columns:45px repeat(7,minmax(0,1fr));border-bottom:1px solid #eeeef3;background:#fcfcfd}.week-day-label{height:50px;border:0;border-left:1px solid #eeeef3;background:transparent;display:grid;place-content:center;gap:2px;color:#818090}.week-day-label small{font-size:8px;font-weight:800}.week-day-label strong{font-family:"DM Mono",monospace;font-size:12px;font-weight:500}.week-day-label.today strong{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#6e55e8;color:#fff}.week-body{display:grid;grid-template-columns:45px repeat(7,minmax(0,1fr));height:663px;overflow:auto}.week-hours{display:grid;grid-template-rows:repeat(13,51px);padding-right:6px;background:#fcfcfd}.week-hours span{transform:translateY(-6px);font-family:"DM Mono",monospace;font-size:8px;color:#9d9cab;text-align:right}.week-column{position:relative;border-left:1px solid #eeeef3;background:#fff;cursor:crosshair}.week-line{height:51px;border-bottom:1px solid #f0f0f4}.week-event{position:absolute;z-index:2;left:3px;right:3px;min-height:39px;border:0;border-radius:6px;padding:5px 5px 4px;text-align:left;overflow:hidden}.week-event strong,.week-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-event strong{font-size:8px}.week-event small{font-size:7px;opacity:.75;margin-top:1px}.week-event.familie{background:#fff1ed;color:#554546;border-left:3px solid #ffb39a}.week-event.schule{background:#fff8e2;color:#625536;border-left:3px solid #ffd164}.week-event.sport{background:#e8f7fb;color:#396573;border-left:3px solid #95d7ef}.week-event.geburtstag{background:#f0ecff;color:#564a7c;border-left:3px solid #c9b6ff}
.day-view{padding:20px}.day-view-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:17px;border-bottom:1px solid #eeeef3}.day-view-head p{margin:0;color:#9090a1;font-size:9px;font-weight:800;letter-spacing:1px}.day-view-head h3{margin:4px 0 0;font-size:15px}.day-agenda{padding-top:8px}.agenda-row{display:grid;grid-template-columns:52px 1fr;min-height:52px;cursor:crosshair}.agenda-row>span{font-family:"DM Mono",monospace;font-size:8px;color:#9b9aaa;padding-top:3px;text-align:right;padding-right:10px}.agenda-slot{border-left:1px solid #ececf2;border-top:1px solid #f2f2f5;padding:4px;min-height:52px}.agenda-event{width:100%;border:0;border-radius:7px;padding:6px 8px;text-align:left}.agenda-event strong,.agenda-event small{display:block}.agenda-event strong{font-size:10px}.agenda-event small{font-size:8px;opacity:.75;margin-top:2px}.agenda-event.familie{background:#fff1ed;color:#554546;border-left:3px solid #ffb39a}.agenda-event.schule{background:#fff8e2;color:#625536;border-left:3px solid #ffd164}.agenda-event.sport{background:#e8f7fb;color:#396573;border-left:3px solid #95d7ef}.agenda-event.geburtstag{background:#f0ecff;color:#564a7c;border-left:3px solid #c9b6ff}
@media(max-width:760px){.profile-layout{grid-template-columns:1fr}.profile-summary{padding:18px;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:7px}.profile-summary .profile-photo{margin:0 5px 0 0;width:50px;height:50px}.profile-summary>strong{font-size:12px}.profile-summary>small{width:100%;margin:0}.avatar-change{margin-top:6px}.logout-button{margin:6px 0 0}.week-head{grid-template-columns:34px repeat(7,minmax(42px,1fr));min-width:370px}.week-body{grid-template-columns:34px repeat(7,minmax(42px,1fr));min-width:370px}.week-hours{padding-right:3px}.calendar-wrap:has(.week-body){overflow:auto}.week-event{padding:4px 3px}.week-event strong{font-size:7px}.week-event small{display:none}.day-view{padding:14px}}
.received-invite{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px;border-radius:10px;background:#f5f2ff}.received-invite strong,.received-invite small{display:block}.received-invite strong{font-size:10px;color:#4c4380}.received-invite small{margin-top:3px;font-size:9px;color:#7e7b90}.received-invite button{height:30px;flex:none;border:0;border-radius:8px;padding:0 9px;background:#6e55e8;color:#fff;font-size:9px;font-weight:800}
:root {
  --ink: #191a2a;
  --muted: #858699;
  --paper: #f8f8fc;
  --line: #e9e9f0;
  --purple: #6e55e8;
  --purple-dark: #5340c8;
  --peach: #ffb39a;
  --yellow: #ffd164;
  --blue: #95d7ef;
  --lilac: #c9b6ff;
  --sidebar: #11121f;
  --sidebar-text: #b6b6c8;
  font-family: "Manrope", Arial, sans-serif;
  color: var(--ink);
}

* { box-sizing: border-box; }
body { min-width: 320px; margin: 0; background: var(--paper); }
button, input, select { font: inherit; }
button { cursor: pointer; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

.app-shell { min-height: 100vh; display: flex; overflow: hidden; }
.sidebar { width: 252px; min-height: 100vh; padding: 30px 18px 19px; display: flex; flex-direction: column; background: var(--sidebar); color: var(--sidebar-text); flex-shrink: 0; position: relative; z-index: 5; }
.brand { color: #fff; font-size: 22px; font-weight: 800; letter-spacing: -.9px; display: inline-flex; align-items: center; gap: 9px; text-decoration: none; padding: 0 10px; }
.brand-mark { position: relative; width: 25px; height: 26px; display: inline-block; }
.brand-mark i { position: absolute; background: #a994f3; border-radius: 8px 8px 2px 8px; transform: rotate(-43deg); }
.brand-mark i:nth-child(1) { width: 10px; height: 21px; left: 1px; top: 2px; }.brand-mark i:nth-child(2) { width: 10px; height: 21px; left: 9px; top: 2px; background:#ffd06a; transform:rotate(43deg); }.brand-mark i:nth-child(3) { width: 8px; height: 14px; left: 9px; top: 12px; background:#fc9d8c; transform:rotate(0); border-radius:6px 6px 7px 7px; }
.family-switcher { margin: 40px 0 25px; padding: 9px; width: 100%; border: 1px solid #2a2b3d; border-radius: 13px; color: #fff; background: #1a1b2c; display: flex; align-items: center; text-align: left; transition: .2s ease; }.family-switcher:hover { border-color:#5d528f; background:#202137; }.family-avatar { width: 30px; height: 30px; display:grid; place-items:center; border-radius:9px; font-size:13px; font-weight:800; background:linear-gradient(145deg,#ffd773,#f59191); color:#57383f; }.family-switcher-text { margin-left:9px; flex:1; }.family-switcher small, .family-switcher strong { display:block; }.family-switcher small { font-size:8px; letter-spacing:.7px; color:#858599; }.family-switcher strong { font-size:12px; margin-top:2px; }.family-switcher svg { width:17px; color:#77778f; }
.main-nav { display:grid; gap: 3px; }.nav-item { min-height:43px; display:flex; align-items:center; gap:12px; padding:0 11px; border-radius:10px; color:var(--sidebar-text); text-decoration:none; font-size:13px; font-weight:600; transition: .2s ease; }.nav-item svg { width:18px; }.nav-item:hover { background:#1d1e30; color:#fff; }.nav-item.active { background:#2a2452; color:#f0edff; }.pill { margin-left:auto; display:grid; place-items:center; width:20px; height:20px; font-size:10px; border-radius:7px; color:#d9d1ff; background:#453b7b; }
.sidebar-label { color:#747488; letter-spacing:1px; font-size:9px; font-weight:700; margin:33px 11px 13px; }.calendar-list { display:grid; gap:12px; padding:0 11px; }.calendar-list label { font-size:12px; display:flex; align-items:center; gap:9px; cursor:pointer; }.calendar-list input { display:none; }.dot { width:8px; height:8px; display:inline-block; border-radius:50%; opacity:.35; transition:.2s; }.calendar-list input:checked + .dot { opacity:1; box-shadow:0 0 0 3px rgba(255,255,255,.05); }.peach{background:var(--peach)}.yellow{background:var(--yellow)}.blue{background:var(--blue)}.lilac{background:var(--lilac)}
.add-calendar { margin: 20px 8px 0; border:0; background:transparent; color:#a2a2b8; display:flex; gap:9px; align-items:center; font-size:12px; text-align:left; }.add-calendar span { width:17px; height:17px; border-radius:5px; background:#292a3d; display:grid; place-items:center; color:#e8e5fb; font-size:17px; line-height:1; }
.sidebar-foot { margin-top:auto; }.invite-card { border:0; width:100%; min-height:70px; padding:10px; border-radius:12px; display:flex; align-items:center; gap:9px; text-align:left; color:#f5f3ff; background:linear-gradient(120deg,#3e326f,#28234a); transition:.2s transform,.2s background; }.invite-card:hover { transform:translateY(-2px); background:linear-gradient(120deg,#4a3d80,#302a58); }.invite-icon { width:28px; height:28px; border-radius:9px; display:grid; place-items:center; background:#7660df; font-size:19px; }.invite-card strong,.invite-card small { display:block; }.invite-card strong{font-size:11px}.invite-card small{font-size:9px;color:#c1b8e8;margin-top:2px}.invite-card svg { width:17px; margin-left:auto; color:#c4b9f9; }.profile { width:100%; border:0; padding:16px 7px 0; background:transparent; color:#e9e9f2; display:flex; gap:9px; align-items:center; text-align:left; }.profile-avatar { display:grid; place-items:center; width:28px;height:28px;border-radius:10px;background:#97d5e9;color:#2c5266;font-size:9px;font-weight:800; }.profile strong,.profile small{display:block}.profile strong{font-size:11px}.profile small{font-size:9px;color:#8f8fa1;margin-top:1px}.profile svg{width:18px;margin-left:auto;color:#7e7e90}

.main-content { min-width:0; flex:1; padding:31px 44px 33px; }.topbar { height:58px; display:flex; justify-content:space-between; align-items:flex-start; }.greeting p,.section-heading p,.day-card p,.modal-heading p,.reminder-card p { margin:0; font-size:9px; color:#9090a1; letter-spacing:1.1px; font-weight:800; }.greeting h1 { margin:5px 0 0; font-size:24px; letter-spacing:-1.1px; line-height:1; }.greeting h1 span { color:#ffb86e; font-size:18px; vertical-align:2px; }.top-actions { display:flex; align-items:center; gap:11px; }.icon-button,.today-button,.new-event { height:38px; border-radius:10px; font-size:12px; font-weight:700; }.icon-button { width:39px; display:grid; place-items:center; position:relative; color:#69697b; border:1px solid var(--line); background:#fff; }.icon-button svg { width:18px; }.notification-button b { position:absolute; width:6px;height:6px;border-radius:50%;background:#fc8b81;right:9px;top:8px;border:1px solid white; }.today-button { padding:0 15px; background:white; color:#575767; border:1px solid var(--line); }.new-event { padding:0 15px; color:white; border:0; background:var(--purple); box-shadow:0 7px 16px #6e55e82b; transition:.2s transform,.2s background; }.new-event span { font-size:18px; line-height:0; margin-right:4px; font-weight:400; }.new-event:hover,.save-button:hover { transform:translateY(-2px); background:var(--purple-dark); }
.content-grid { display:grid; grid-template-columns:minmax(620px, 1fr) 260px; gap:25px; margin-top:25px; }.calendar-section { min-width:0; }.calendar-toolbar { display:flex; align-items:center; justify-content:space-between; padding:3px 0 17px; }.month-control { display:flex; align-items:center; gap:12px; }.month-control h2 { font-size:17px; margin:0; letter-spacing:-.5px; }.month-control h2 span { color:#9b9baa; font-weight:500; }.month-control button { color:#797989; width:25px;height:25px;border:1px solid #e7e7ed;background:#fff;border-radius:8px;line-height:15px;font-size:22px;display:grid;place-items:center; }.view-toggle { padding:3px; border-radius:9px; background:#efeff4; }.view-toggle button { height:25px;border:0;background:transparent;color:#9898a7;border-radius:7px;font-size:10px;padding:0 10px; }.view-toggle button.active { color:#514773;background:#fff;font-weight:800;box-shadow:0 1px 3px #5552; }
.calendar-wrap { border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 7px 30px rgba(33,34,54,.025); }.weekdays,.calendar-grid { display:grid;grid-template-columns:repeat(7,minmax(0,1fr)); }.weekdays { background:#fcfcfd;border-bottom:1px solid var(--line); }.weekdays span { padding:12px 9px 10px; color:#a5a5b2;font-size:10px;font-weight:700; }.calendar-grid { grid-auto-rows:101px; }.day { position:relative;border-right:1px solid #eeeeF3;border-bottom:1px solid #eeeeF3;padding:9px 7px;overflow:hidden;transition:.18s background; }.day:nth-child(7n){border-right:0}.day:hover{background:#fcfbff}.day.outside{background:#fcfcfd;color:#c9c9d3}.day-number { font-family:"DM Mono",monospace;font-size:10px;color:#666677;margin:0 4px; }.day.outside .day-number{color:#c8c8d2}.day.current .day-number { color:#fff;background:var(--purple); width:21px;height:21px;border-radius:7px;display:grid;place-items:center;margin-top:-2px;margin-left:0; }.event { border:0;width:100%;border-radius:5px;margin-top:5px;padding:3px 5px 3px 7px;text-align:left;color:#493d43;font-size:9px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;transition:.18s transform; }.event:hover{transform:scale(1.025);z-index:1}.event::before { content:""; position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:5px 0 0 5px; }.event.familie{background:#fff1ed}.event.familie::before{background:var(--peach)}.event.schule{background:#fff8e2}.event.schule::before{background:var(--yellow)}.event.sport{background:#e8f7fb}.event.sport::before{background:var(--blue)}.event.geburtstag{background:#f0ecff}.event.geburtstag::before{background:var(--lilac)}
.right-panel { display:grid;align-content:start;gap:13px; }.day-card,.family-card,.reminder-card { background:#fff;border:1px solid var(--line);border-radius:14px; }.day-card{padding:17px 16px 12px}.day-card-top{display:flex;justify-content:space-between;align-items:flex-start}.day-card h2{margin:4px 0 13px;font-size:24px;letter-spacing:-1px}.day-card h2 span{font-size:13px;color:#777789;letter-spacing:-.4px}.sun-icon{font-size:19px;color:#f6bd52;filter:drop-shadow(0 2px 3px #f5ce7b8c)}.today-list{display:grid;gap:11px}.today-event{padding-left:10px;border-left:3px solid var(--peach)}.today-event.sport{border-color:var(--blue)}.today-event h4{font-size:10px;margin:0 0 2px}.today-event p{font-size:9px;letter-spacing:0;color:#9999a9;font-weight:600}.link-button,.text-button { margin-top:14px;border:0;background:transparent;padding:0;color:var(--purple);font-size:10px;font-weight:800; }.link-button span,.text-button span{font-size:14px;margin-left:4px}.family-card{padding:16px}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading h3{font-size:13px;margin:3px 0 0;letter-spacing:-.4px}.section-heading button{border:0;width:24px;height:24px;border-radius:8px;background:#f2effe;color:var(--purple);font-size:17px;line-height:1}.members{margin-top:14px;display:flex;align-items:center}.member{width:28px;height:28px;border:2px solid white;margin-right:-5px;border-radius:10px;display:grid;place-items:center;color:#4c3c38;font-size:8px;font-weight:800;position:relative}.member i{position:absolute;width:7px;height:7px;bottom:-1px;right:-1px;border-radius:50%;border:1.5px solid #fff;background:#6cc59c}.member-lisa{background:#9bd6e7}.member-tom{background:#f7c6a6}.member-ella{background:#c6b5ef}.member-luis{background:#f2dc73}.more-members{border:2px solid white;margin-left:1px;width:29px;height:29px;border-radius:10px;background:#f2f1f7;color:#777687;font-size:9px;font-weight:800}.member-copy{font-size:9px;color:#9797a6;margin:10px 0 0}.reminder-card{padding:14px;display:flex;align-items:center;gap:10px}.reminder-ring{width:42px;height:42px;position:relative;display:grid;place-items:center}.reminder-ring svg{width:42px;height:42px;transform:rotate(-90deg);position:absolute}.reminder-ring circle{fill:none;stroke:#eeeef4;stroke-width:3.5}.reminder-ring .progress{stroke:#7b67e7;stroke-dasharray:107;stroke-dashoffset:30;stroke-linecap:round}.reminder-ring strong{font-size:12px}.reminder-card h3{font-size:11px;margin:3px 0 2px}.reminder-card small{font-size:8px;color:#9999a8;white-space:nowrap}.arrow-button{margin-left:auto;border:0;background:#f3f1fc;color:#6554d8;width:23px;height:23px;border-radius:8px;font-size:13px}.bottom-area{margin-top:28px}.bottom-heading h2{font-size:17px;margin:3px 0 0;letter-spacing:-.5px}.text-button{margin:0;color:#6a5ad6}.highlights{margin-top:15px;display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.highlight{min-height:82px;border-radius:13px;padding:13px;background:white;border:1px solid var(--line);display:flex;gap:10px;align-items:center;transition:.2s transform,.2s box-shadow}.highlight:hover{transform:translateY(-3px);box-shadow:0 9px 20px #3e416516}.highlight-date{width:35px;text-align:center;padding:5px 2px;border-radius:9px;background:#fff0ec;color:#e96d61;font-family:"DM Mono",monospace}.highlight-date b{display:block;font-size:15px}.highlight-date small{font-family:"Manrope";font-size:8px;font-weight:800}.highlight:nth-child(2) .highlight-date{background:#e7f7fb;color:#4aa6c7}.highlight:nth-child(3) .highlight-date{background:#f1edff;color:#7863dd}.highlight h3{margin:0;font-size:11px;letter-spacing:-.25px}.highlight p{margin:3px 0 0;font-size:9px;color:#9696a5}.highlight .mini-avatar{margin-left:auto;width:22px;height:22px;border-radius:8px;background:#f6caa8;font-size:7px;font-weight:800;display:grid;place-items:center;color:#75554a}

.modal-backdrop { opacity:0;visibility:hidden;position:fixed;inset:0;padding:20px;display:grid;place-items:center;background:rgba(14,14,29,.54);backdrop-filter:blur(5px);z-index:20;transition:.22s ease; }.modal-backdrop.open{opacity:1;visibility:visible}.modal{width:min(100%,430px);background:#fff;border-radius:21px;padding:27px;box-shadow:0 25px 80px rgba(11,10,30,.3);transform:translateY(12px) scale(.98);transition:.25s ease;position:relative}.modal-backdrop.open .modal{transform:none}.modal-close{position:absolute;right:17px;top:14px;border:0;background:#f5f4f8;color:#77758c;width:28px;height:28px;border-radius:9px;font-size:21px;line-height:1}.modal-heading{display:flex;align-items:center;gap:11px;margin-bottom:22px}.modal-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#f0edff;color:#745fe3;font-size:19px}.modal-heading h2{font-size:20px;letter-spacing:-.8px;margin:3px 0 0}.field-label{display:grid;gap:6px;font-size:10px;font-weight:800;color:#68687a;margin-top:13px}.field-label input,.field-label select{height:42px;border:1px solid #e3e3eb;border-radius:10px;padding:0 12px;color:#232334;background:#fff;font-size:12px;outline:none;transition:.2s}.field-label input:focus,.field-label select:focus{border-color:#8e7bea;box-shadow:0 0 0 3px #6e55e817}.form-row{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}.attachment{margin-top:15px;display:flex;align-items:center;gap:11px;border:1px dashed #dcd8ea;border-radius:11px;padding:11px;cursor:pointer;background:#fbfaff}.attachment input{display:none}.attachment>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#ede9ff;color:#7862dd;font-size:21px}.attachment strong,.attachment small{display:block}.attachment strong{font-size:10px}.attachment small{font-size:9px;color:#9695a4;margin-top:2px}.modal-footer{margin-top:23px;display:flex;justify-content:flex-end;gap:9px}.cancel-button,.save-button{border:0;height:39px;border-radius:10px;padding:0 14px;font-size:11px;font-weight:800}.cancel-button{background:#f3f3f7;color:#777686}.save-button{background:var(--purple);color:#fff;box-shadow:0 6px 12px #6e55e826;transition:.2s}.save-button span{font-size:15px;margin-left:5px}.invite-modal{max-width:385px}.invite-illustration{height:92px;margin:-4px 0 3px;position:relative;display:grid;place-items:center}.invite-illustration>span{position:absolute;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:13px}.invite-illustration>span:nth-child(1){background:#ed9e9c;width:33px;height:33px;left:75px;top:20px}.invite-illustration>span:nth-child(2){background:#806ce7;width:26px;height:26px;right:78px;top:17px}.invite-illustration>span:nth-child(3){background:#f3c65d;width:23px;height:23px;right:46px;bottom:19px}.little-people{display:flex;align-items:end;gap:4px;height:47px;margin-top:20px}.little-people i{display:block;width:22px;height:37px;border-radius:13px 13px 8px 8px;background:#b4ddeb;border:5px solid #fff;box-shadow:0 3px 10px #8882}.little-people i:nth-child(2){height:46px;background:#f5c191}.little-people i:nth-child(3){background:#c4b5ee}.centered{display:block;text-align:center;margin-bottom:19px}.centered h2{margin-top:5px}.centered>span{display:block;color:#9291a0;font-size:10px;margin-top:6px}.full{width:100%}.toast{position:fixed;z-index:40;bottom:25px;left:50%;transform:translate(-50%,90px);display:flex;align-items:center;gap:9px;padding:11px 16px;border-radius:12px;background:#242438;color:#fff;box-shadow:0 8px 25px #1115;transition:.3s}.toast.show{transform:translate(-50%,0)}.toast span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#72c99b;font-size:11px}.toast p{margin:0;font-size:11px;font-weight:700}.mobile-menu{display:none}

.sidebar-close,.sidebar-scrim{display:none}
@media (max-width:860px){
  body.sidebar-open{overflow:hidden}
  .sidebar{z-index:30}
  .sidebar-close{position:absolute;top:17px;right:14px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:10px;background:#28293b;color:#ddddef;font-size:25px;line-height:1}
  .sidebar-scrim{display:block;position:fixed;inset:0;z-index:20;border:0;background:rgba(13,14,27,.48);backdrop-filter:blur(2px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
  .sidebar-scrim.visible{opacity:1;visibility:visible;pointer-events:auto}
}

@media (max-width: 1080px) {.main-content{padding:29px 25px}.content-grid{grid-template-columns:minmax(520px,1fr) 240px;gap:17px}.highlights{gap:9px}.highlight{padding:10px}.sidebar{width:228px}}
@media (max-width: 860px) {.sidebar{position:fixed;left:-270px;top:0;height:100dvh;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transition:.25s left}.sidebar.open{left:0;box-shadow:20px 0 50px #1117}.main-content{padding:22px 20px}.mobile-menu{margin:8px 8px 0 0;display:grid;gap:4px;border:0;background:none;padding:6px}.mobile-menu span{width:20px;height:2px;background:#39394b;border-radius:2px}.topbar{height:auto}.greeting{flex:1}.content-grid{grid-template-columns:1fr}.right-panel{grid-template-columns:1.2fr 1fr 1fr;gap:10px}.day-card,.family-card,.reminder-card{height:100%}.reminder-card{flex-direction:column;align-items:flex-start}.arrow-button{margin-left:0}.highlights{grid-template-columns:repeat(3,1fr)}}
@media (max-width: 620px) {.main-content{padding:16px 12px 25px}.topbar{align-items:center}.greeting p{font-size:8px}.greeting h1{font-size:18px}.top-actions{gap:5px}.today-button,.icon-button{display:none}.new-event{height:35px;padding:0 10px;font-size:10px}.content-grid{margin-top:18px}.calendar-toolbar{padding-bottom:10px}.view-toggle button{padding:0 6px;font-size:9px}.calendar-grid{grid-auto-rows:72px}.day{padding:7px 3px}.day-number{font-size:9px;margin-left:3px}.event{font-size:0;height:7px;padding:0;margin-top:4px;border-radius:3px}.event::before{width:100%;height:100%;border-radius:3px}.weekdays span{padding:9px 3px;font-size:9px;text-align:center}.right-panel{grid-template-columns:1fr}.reminder-card{flex-direction:row}.arrow-button{margin-left:auto}.highlights{grid-template-columns:1fr}.highlight{min-height:65px}.bottom-area{margin-top:21px}.modal{padding:22px 18px}.family-card{display:none}}

.hidden{display:none!important}.field-label textarea{min-height:72px;resize:vertical;border:1px solid #e3e3eb;border-radius:10px;padding:10px 12px;color:#232334;background:#fff;font-size:12px;outline:none}.field-label textarea:focus{border-color:#8e7bea;box-shadow:0 0 0 3px #6e55e817}.clean-empty{display:grid;gap:3px;padding:4px 0 8px}.clean-empty b{font-size:10px}.clean-empty span{font-size:9px;color:#9999a8}.empty-highlight{width:100%;min-height:82px;border:1px dashed #d7d3e7;background:#fff;border-radius:13px;display:flex;align-items:center;gap:11px;padding:13px;text-align:left;color:#5e5880;transition:.2s}.empty-highlight:hover{border-color:#8d7ee4;background:#fcfbff;transform:translateY(-2px)}.empty-highlight>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f0ecff;color:#6f59dc;font-size:21px}.empty-highlight strong,.empty-highlight small{display:block}.empty-highlight strong{font-size:11px}.empty-highlight small{font-size:9px;color:#9694a2;margin-top:3px}
.module-view{max-width:1060px;margin:25px auto 0}.module-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:21px}.module-head p,.detail-head p,.note-card p,.file-viewer p{margin:0;color:#9090a1;font-size:9px;font-weight:800;letter-spacing:1.1px}.module-head h2{margin:4px 0;font-size:25px;letter-spacing:-1.1px}.module-head>div>span{font-size:11px;color:#898999}.module-upload,.soft-upload{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 13px;border-radius:10px;background:#6e55e8;color:#fff;font-size:11px;font-weight:800;box-shadow:0 6px 15px #6e55e82a;cursor:pointer;transition:.2s}.module-upload:hover,.soft-upload:hover{background:#5540c9;transform:translateY(-2px)}.module-upload input,.soft-upload input{display:none}.quick-add{display:flex;gap:8px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:15px}.quick-add input{flex:1;min-width:0;border:0;outline:0;padding:0 8px;color:var(--ink);font-size:12px}.quick-add button{height:35px;border:0;border-radius:9px;padding:0 13px;color:#fff;background:#6e55e8;font-size:10px;font-weight:800}.quick-add button span{font-size:16px;margin-left:4px}.task-list{display:grid;gap:8px}.task-item{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border:1px solid var(--line);background:#fff;border-radius:12px;transition:.2s}.task-item:hover{border-color:#d8d3ee;box-shadow:0 5px 14px #3e416510}.task-item label{display:flex;align-items:center;gap:11px;cursor:pointer;flex:1}.task-item input{position:absolute;opacity:0}.checkmark{display:grid;place-items:center;width:21px;height:21px;border:1.5px solid #cfceda;border-radius:7px;color:transparent;font-size:12px;transition:.2s}.task-item input:checked + .checkmark{background:#6e55e8;color:#fff;border-color:#6e55e8}.task-item strong,.task-item small{display:block}.task-item strong{font-size:11px}.task-item small{margin-top:2px;color:#9797a7;font-size:9px}.task-item.done strong{color:#9b9aaa;text-decoration:line-through}.delete-lite{width:26px;height:26px;border:0;border-radius:8px;background:#f7f6f9;color:#9392a1;font-size:18px;line-height:1}.delete-lite:hover{color:#d35f61;background:#fff0f0}
.empty-module{min-height:250px;border:1px dashed #d7d4e5;border-radius:16px;background:linear-gradient(135deg,#fff,#fbfaff);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px}.empty-module>span{display:grid;place-items:center;width:42px;height:42px;margin-bottom:9px;border-radius:14px;background:#f0edff;color:#725ee1;font-size:20px}.empty-module h3{margin:2px 0 5px;font-size:14px}.empty-module p{margin:0 0 15px;font-size:10px;color:#8d8c9c}.soft-upload{background:#f0edff;color:#6553d4;box-shadow:none}.soft-upload:hover{background:#e4deff;color:#5443c5}.storage-note{display:flex;align-items:center;gap:10px;margin:-4px 0 15px;padding:11px 13px;border-radius:11px;background:#f0f8fa;color:#437687}.storage-note>span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#d8eff4;font-size:16px}.storage-note p{margin:0}.storage-note strong,.storage-note small{display:block}.storage-note strong{font-size:10px}.storage-note small{font-size:9px;margin-top:2px;color:#7c9ba5}.file-library{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.file-tile{min-height:79px;display:flex;align-items:center;gap:10px;text-align:left;overflow:hidden;padding:9px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);transition:.2s}.file-tile:hover{transform:translateY(-2px);border-color:#cec7ee;box-shadow:0 8px 18px #3e416512}.file-tile img,.file-type{width:43px;height:43px;flex:none;border-radius:9px;object-fit:cover}.file-type{display:grid;place-items:center;background:#f0edff;color:#725edb;font-size:8px;font-weight:800}.file-tile strong,.file-tile small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.file-tile strong{font-size:10px;max-width:150px}.file-tile small{font-size:9px;color:#9695a5;margin-top:3px}.moment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.moment-card{aspect-ratio:1/1.04;position:relative;overflow:hidden;border:0;border-radius:15px;background:#eae8f3;cursor:pointer;box-shadow:0 5px 15px #27233f12}.moment-card img{width:100%;height:100%;object-fit:cover;transition:.35s transform}.moment-card:hover img{transform:scale(1.06)}.moment-card div{position:absolute;inset:auto 0 0;padding:21px 12px 10px;color:#fff;background:linear-gradient(transparent,rgba(11,10,25,.72))}.moment-card strong,.moment-card small{display:block;text-shadow:0 1px 3px #0005}.moment-card strong{font-size:10px}.moment-card small{font-size:8px;margin-top:2px;opacity:.8}.visual-empty{min-height:320px;background:radial-gradient(circle at 55% 40%,#f1edff,#fff 57%)}
.detail-view{max-width:740px}.back-button{border:0;padding:0;background:transparent;color:#6c5bd4;font-size:11px;font-weight:800}.detail-head{margin-top:22px;display:flex;gap:13px;align-items:flex-start}.detail-pip{width:13px;height:55px;flex:none;border-radius:6px;background:#ffb39a}.detail-pip.schule{background:#ffd164}.detail-pip.sport{background:#95d7ef}.detail-pip.geburtstag{background:#c9b6ff}.detail-head h2{font-size:25px;margin:4px 0;letter-spacing:-1px}.detail-head>div>span{color:#878796;font-size:11px}.note-card,.detail-block{margin-top:25px;padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff}.note-card>div{margin-top:8px;font-size:12px;line-height:1.7;color:#5c5b6b}.soft-copy{margin:11px 0 1px;color:#9493a1;font-size:10px}.file-strip{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.file-strip .file-tile{min-height:65px}.file-viewer{min-height:330px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr);gap:25px;align-items:center;padding:26px;margin-top:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.file-viewer>img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:13px}.viewer-file-icon{width:150px;height:150px;display:grid;place-items:center;border-radius:25px;background:#f0edff;color:#705bdb;font-size:23px;font-weight:800}.file-viewer h2{margin:4px 0;font-size:19px;letter-spacing:-.7px;word-break:break-word}.file-viewer>div>span{color:#90909e;font-size:10px}.viewer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.viewer-actions a,.delete-file{border:0;border-radius:9px;padding:9px 11px;background:#eeeaff;color:#604bd0;font-size:10px;font-weight:800;text-decoration:none}.delete-file{background:#fff1f1;color:#c76064;cursor:pointer}
.auth-gate{position:fixed;inset:0;z-index:50;display:grid;grid-template-columns:minmax(400px,1fr) minmax(420px,.9fr);background:#f9f8fd;transition:.35s opacity,.35s visibility}.auth-gate.hidden{opacity:0;visibility:hidden;pointer-events:none}.auth-panel{max-width:490px;width:100%;padding:42px 50px;margin:auto}.auth-brand{color:#1e1d33;padding:0}.auth-brand .brand-mark i:nth-child(1){background:#806cec}.auth-copy{margin:59px 0 27px}.auth-copy p{margin:0;color:#8f8d9c;font-size:9px;font-weight:800;letter-spacing:1.1px}.auth-copy h1{margin:8px 0 7px;font-size:31px;letter-spacing:-1.5px}.auth-copy>span{font-size:12px;color:#7d7d8e;line-height:1.6}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#efedf5;border-radius:11px}.auth-tabs button{height:33px;border:0;border-radius:8px;background:transparent;color:#8c8a9b;font-size:10px;font-weight:800}.auth-tabs button.active{background:#fff;color:#53448b;box-shadow:0 1px 4px #312b5814}.auth-form{display:grid;gap:12px;margin-top:20px}.auth-form label{display:grid;gap:6px;color:#6d6c7c;font-size:10px;font-weight:800}.auth-form input{height:43px;border:1px solid #dfdce8;border-radius:10px;padding:0 12px;outline:none;color:#29283a;background:#fff;font-size:12px;transition:.2s}.auth-form input:focus{border-color:#8775e9;box-shadow:0 0 0 3px #735ce815}.auth-submit{margin-top:5px;height:44px;border:0;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;background:#6e55e8;font-size:11px;font-weight:800;box-shadow:0 9px 22px #6e55e833;transition:.2s}.auth-submit:hover{background:#5540c9;transform:translateY(-2px)}.auth-submit b{font-size:17px;font-weight:500}.auth-note{margin:15px 0 0;text-align:center;color:#9a98a6;font-size:9px}.auth-art{overflow:hidden;position:relative;background:linear-gradient(145deg,#2a2452,#15142a 70%)}.auth-art::before{content:"";position:absolute;inset:0;background-image:radial-gradient(#ffffff20 1px,transparent 1px);background-size:25px 25px;mask-image:linear-gradient(90deg,#0009,transparent)}.art-orbit{position:absolute;border:1px solid #b0a5e52a;border-radius:50%}.orbit-one{width:600px;height:600px;right:-255px;top:50%;transform:translateY(-50%)}.orbit-two{width:420px;height:420px;right:-165px;top:50%;transform:translateY(-50%)}.art-blob{position:absolute;width:155px;height:155px;border-radius:48% 52% 58% 42%;background:linear-gradient(135deg,#ffd369,#ffab95);bottom:17%;left:17%;filter:blur(.1px);box-shadow:0 0 0 24px #ffffff08}.art-card{position:absolute;color:#fff;border:1px solid #ffffff24;box-shadow:0 21px 55px #07051250;backdrop-filter:blur(12px)}.card-one{display:flex;align-items:center;gap:10px;padding:14px 17px;top:22%;right:17%;border-radius:15px;background:#3d3472a6;transform:rotate(7deg)}.card-one span{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#7862d8;color:#f1edff}.card-one p{margin:0;font-size:12px;font-weight:800}.card-two{display:grid;gap:6px;min-width:210px;padding:18px;bottom:22%;right:10%;border-radius:17px;background:#ffffff12;transform:rotate(-5deg)}.art-dots{display:flex}.art-dots i{width:28px;height:28px;margin-right:-7px;border:2px solid #3c336f;border-radius:10px;background:#9bd6e7}.art-dots i:nth-child(2){background:#f5c191}.art-dots i:nth-child(3){background:#c4b5ee}.card-two strong{font-size:13px;margin-top:3px}.card-two small{font-size:9px;color:#d1cbe9}
@media(max-width:760px){.auth-gate{grid-template-columns:1fr}.auth-art{display:none}.auth-panel{padding:30px 25px}.auth-copy{margin:42px 0 24px}.auth-copy h1{font-size:27px}.module-head{align-items:flex-start;flex-direction:column;gap:13px}.file-library,.moment-grid{grid-template-columns:repeat(2,1fr)}.file-viewer{grid-template-columns:1fr;min-height:0}.viewer-file-icon{width:110px;height:110px}.file-strip{grid-template-columns:1fr}}@media(max-width:480px){.module-view{margin-top:19px}.module-head h2{font-size:21px}.quick-add{flex-direction:column}.quick-add button{width:100%}.file-library,.moment-grid{grid-template-columns:1fr}.file-tile strong{max-width:210px}.auth-panel{padding:25px 20px}.auth-copy{margin:37px 0 21px}.auth-copy h1{font-size:25px}.form-row{grid-template-columns:1fr}.event-modal{max-height:calc(100vh - 30px);overflow:auto}}

.members .member{border:0;padding:0;cursor:pointer}.members .member:hover{transform:translateY(-2px);outline:2px solid #c9bff7}.family-member-list{display:grid;gap:8px}.family-member{display:flex;align-items:center;gap:9px;padding:9px;border-radius:10px;background:#faf9fe}.member-photo{display:grid;place-items:center;flex:none;width:30px;height:30px;overflow:hidden;border-radius:10px;background:linear-gradient(145deg,#9bd6e7,#c4b5ee);color:#465472;font-size:9px;font-weight:800}.member-photo img{width:100%;height:100%;object-fit:cover}.family-member strong,.family-member small{display:block}.family-member strong{font-size:10px;color:#4a4959}.family-member small{margin-top:2px;color:#92919f;font-size:8px}.profile-section input[readonly]{cursor:not-allowed;background:#f5f4f8;color:#858493}.sent-invite button{background:#fff0f0;color:#bb5f65}.detail-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.detail-actions span{font-size:9px;color:#9695a4;line-height:1.5}.delete-event{flex:none;border:0;border-radius:9px;padding:10px 12px;background:#fff0f0;color:#c75e66;font-size:10px;font-weight:800}.delete-event:hover{background:#ffe3e3}.delete-event:disabled,.received-invite button:disabled,.profile-save button:disabled,.save-button:disabled{opacity:.65;cursor:wait;transform:none}@media(max-width:860px){input,select,textarea{font-size:16px!important}.detail-actions{align-items:flex-start;flex-direction:column}.detail-actions .delete-event{width:100%}}@media(max-width:480px){.received-invite{align-items:flex-start;flex-direction:column}.received-invite button{width:100%}}
