@font-face{font-family:system-fallback;src:local('Arial')}*{box-sizing:border-box}html{font-size:16px;color-scheme:light;--bg:#f5f7fb;--surface:#fff;--sidebar:#fff;--ink:#172239;--muted:#788397;--line:#e9edf4;--blue:#245ce5;--blue-light:#edf3ff;--hover:#f8faff;--shadow:0 3px 18px #17335903;--input:#f7f9fc;--primary:#245ce5;--primary-hover:#154dce;--primary-shadow:#245ce51a}html[data-theme=dark]{color-scheme:dark;--bg:#101521;--surface:#192131;--sidebar:#151c29;--ink:#eef2fb;--muted:#a0acc2;--line:#2b3549;--blue:#82a7ff;--blue-light:#22375d;--hover:#222e42;--shadow:none;--input:#111b2c;--primary:#245ce5;--primary-hover:#154dce;--primary-shadow:#245ce51a}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}button:hover,a:hover{transition:background .16s,color .16s}h1,h2,h3,p{margin-top:0}h1{font-size:2.2rem;line-height:1.2;letter-spacing:-1.1px;margin-bottom:10px;font-weight:680}h2{font-size:1.05rem;letter-spacing:-.3px;font-weight:650;margin-bottom:0}small{font-size:0.78rem;color:var(--muted)}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.sidebar{width:242px;position:fixed;inset:0 auto 0 0;background:var(--sidebar);border-right:1px solid var(--line);padding:35px 20px 20px;display:flex;flex-direction:column;z-index:30;overflow:auto}.brand{font-size:1.65rem;font-weight:750;letter-spacing:-1.1px;display:flex;align-items:center;padding:0 10px;gap:0}.brand-icon{width:34px;height:36px;background:var(--primary);color:#fff;font-size:1.7rem;border-radius:10px;display:grid;place-items:center;margin-right:10px;line-height:1}.brand-dot{color:var(--blue)}.family-label{font-size:0.75rem;letter-spacing:1.6px;font-weight:700;color:var(--muted);margin:40px 12px 8px}.family-name{font-size:0.86rem;font-weight:650;display:flex;align-items:center;justify-content:space-between;padding:0 12px 19px}.badge{font-size:0.75rem;padding:1px 7px;background:var(--bg);border-radius:5px;color:var(--muted)}nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:9px;color:var(--muted);font-size:0.86rem;font-weight:500;min-height:44px}.nav-item .icon{width:19px;height:19px}.nav-item.active{color:var(--blue);background:var(--blue-light);font-weight:650}.nav-item:hover{background:var(--hover);color:var(--blue)}.nav-count{font-size:0.75rem;border-radius:5px;background:var(--bg);margin-left:auto;padding:0 6px;color:var(--muted)}.nav-separator{height:1px;background:var(--line);margin:15px 12px 10px}.sidebar-bottom{margin-top:auto;padding-top:30px}.demo-label{font-size:0.75rem;color:var(--muted);text-align:center;letter-spacing:1px;margin-bottom:14px}.profile{border-top:1px solid var(--line);padding:19px 6px 0;display:flex;align-items:center;gap:10px}.profile select{max-width:142px;background:transparent;border:0;color:var(--ink);font-size:0.83rem;font-weight:600;padding:0;cursor:pointer}.profile small{display:block;font-size:0.75rem}.avatar{display:inline-grid;place-items:center;background:#dfeaff;color:#3160b0;width:37px;height:37px;border-radius:50%;font-size:0.85rem;font-weight:650;flex-shrink:0}.avatar.small{width:29px;height:29px;font-size:0.75rem}.blue{--person:#628be9;--person-bg:#e8efff}.rose{--person:#cc778e;--person-bg:#fbe9ef}.purple{--person:#9b80c8;--person-bg:#f0eafb}.orange{--person:#c99949;--person-bg:#fcf0d9}.avatar.rose{background:#fbe9ef;color:#b76880}.avatar.purple{background:#eee7fa;color:#8970b4}.avatar.orange{background:#fbefda;color:#af8132}.workspace{margin-left:242px;min-height:100vh}.topbar{height:79px;background:var(--surface);border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:12px}.breadcrumb{display:flex;align-items:center;gap:15px;font-size:0.8rem}.crumb-home,.crumb-divider{color:var(--muted)}.breadcrumb strong{font-weight:550}.top-actions{display:flex;align-items:center;gap:17px}.local-status{font-size:0.75rem;color:var(--muted);background:var(--bg);border:1px solid var(--line);padding:4px 9px;border-radius:6px}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border-radius:9px;color:var(--muted)}.icon-button:hover{background:var(--blue-light);color:var(--blue)}.avatar-button{padding:5px;border-left:1px solid var(--line);padding-left:18px}.mobile-only{display:none}main{max-width:1450px;padding:40px 42px 0;margin:0 auto}main:focus{outline:none}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.eyebrow{color:var(--muted);font-size:0.75rem;letter-spacing:1.55px;font-weight:650;margin-bottom:12px}.page-heading p{color:var(--muted);font-size:0.88rem;margin-bottom:0}.greeting-dot{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;padding:12px 17px;font-size:0.85rem;font-weight:600;min-height:44px;white-space:nowrap}.button.primary{background:var(--primary);color:#fff;box-shadow:0 3px 6px var(--primary-shadow)}.button.primary:hover{background:var(--primary-hover)}.button.secondary{background:var(--bg);border:1px solid var(--line)}.button.danger{background:#b8354010;color:#c44851}.overview-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:22px;margin-bottom:27px}.welcome-card{padding:26px 29px 22px;border-radius:15px;background:#eaf0fd;position:relative;color:#1a315c;overflow:hidden;border:1px solid #dde7fc}.welcome-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.pill{display:inline-flex;gap:7px;align-items:center;font-size:0.75rem;font-weight:550;padding:5px 9px;background:#ffffffa0;border:1px solid #fff8;border-radius:6px}.pill .icon{width:14px;height:14px}.avatar-stack{display:flex;padding-left:7px}.avatar-stack .avatar{border:2px solid #eaf0fd;margin-left:-7px;width:31px;height:31px}.welcome-card h2{font-size:1.85rem;line-height:1.25;font-weight:650;letter-spacing:-.9px;margin:19px 0 12px}.welcome-card p{font-size:0.82rem;color:#63769b;line-height:1.65;margin-bottom:18px}.welcome-bottom{border-top:1px solid #d6e1f8;padding-top:15px;display:flex;justify-content:space-between;align-items:center;font-size:0.75rem;color:#687c9d;gap:14px}.welcome-bottom>span{display:flex;align-items:center;gap:8px}.welcome-bottom .icon{width:16px;height:16px}.light-link{display:flex;align-items:center;gap:7px;color:#245ce5;font-weight:600;white-space:nowrap}.today-summary{border:1px solid var(--line);background:var(--surface);padding:27px;border-radius:15px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:flex-start}.summary-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:10px;background:var(--blue-light);color:var(--blue);margin-bottom:14px}.today-summary>span{font-size:0.8rem;color:var(--muted)}.today-summary>strong{font-size:3.2rem;line-height:1.35;letter-spacing:-2px;font-weight:600}.today-summary>strong small{font-size:0.87rem;margin-left:10px;letter-spacing:0;font-weight:400}.summary-divider{height:1px;background:var(--line);width:100%;margin:16px 0}.today-summary p{font-size:0.78rem;margin-bottom:11px}.text-link{font-size:0.75rem;color:var(--blue);display:inline-flex;align-items:center;gap:7px;font-weight:550;padding:3px 0}.text-link:hover{text-decoration:underline}.text-link .icon{width:15px;height:15px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px}.card{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:23px 25px;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:19px}.card-subtitle{font-size:0.78rem;color:var(--muted);margin-top:-7px;margin-bottom:13px}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-bottom:20px}.day{display:flex;flex-direction:column;align-items:center;gap:6px;border-radius:10px;padding:10px 0 7px;min-width:0}.day>span{font-size:0.75rem;color:var(--muted)}.day>strong{font-size:0.95rem;font-weight:600}.day i{width:4px;height:4px;border-radius:50%;background:transparent}.day i.has-events{background:#aabada}.day.selected{background:var(--primary);color:#fff;box-shadow:0 4px 10px var(--primary-shadow)}.day.selected span{color:#d6e2ff}.day.selected i.has-events{background:#fff}.day:hover:not(.selected){background:var(--bg)}.section-label{font-size:0.75rem;color:var(--muted);font-weight:650;letter-spacing:1.1px;margin-bottom:7px}.event-row{display:flex;width:100%;text-align:left;align-items:center;gap:13px;min-height:69px;padding:11px 0}.event-time{font-size:0.75rem;color:var(--muted);width:45px;flex-shrink:0}.event-line{background:var(--person);height:35px;width:3px;border-radius:3px;flex-shrink:0}.row-main{display:flex;flex:1;flex-direction:column;text-align:left;padding:0;min-width:0;gap:4px}.row-main strong{font-weight:550;font-size:0.82rem;overflow-wrap:anywhere}.row-main small{font-size:0.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.event-row:hover .row-main strong,.row-main:hover strong{color:var(--blue)}.card-add{display:flex;justify-content:center;align-items:center;gap:7px;width:100%;padding:13px 0 0;margin-top:9px;border-top:1px solid var(--line);color:var(--muted);font-size:0.75rem;min-height:40px}.card-add:hover{color:var(--blue)}.card-add .icon{width:16px;height:16px}.list-row{display:flex;align-items:center;gap:12px;min-height:62px;border-bottom:1px solid var(--line);padding:10px 0}.list-row:last-child{border-bottom:0}.tick{width:21px;height:21px;min-width:21px;position:relative;border:1.5px solid #d5dce7;background:var(--surface);border-radius:6px;display:grid;place-items:center;padding:0;font-size:0.75rem}.tick:after{content:'';position:absolute;inset:-10px}.tick.checked{background:var(--blue-light);color:var(--blue);border-color:var(--blue-light)}.completed .row-main strong{text-decoration:line-through;color:var(--muted)}.quick-add{margin-top:16px;background:var(--input);border:1px solid var(--line);border-radius:8px;display:flex;align-items:center}.quick-add input{background:transparent;border:0;min-width:0;flex:1;padding:11px 13px;color:var(--ink);font-size:0.8rem;outline-offset:0}.quick-add input::placeholder{color:var(--muted)}.quick-add button{width:44px;min-height:42px;color:var(--muted)}.quick-add button:hover{color:var(--blue)}.progress-meta{display:flex;justify-content:space-between;font-size:0.75rem;color:var(--muted);margin-bottom:9px}.progress-track{height:5px;background:var(--bg);border-radius:5px;margin-bottom:13px;overflow:hidden}.progress-track i{height:100%;background:#6c95e9;display:block;border-radius:5px;transition:width .3s}.module-shortcuts{display:grid;gap:2px}.module-shortcuts>a{display:flex;align-items:center;gap:12px;padding:12px 0}.module-shortcuts>a>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}.module-shortcuts strong{font-size:0.82rem;font-weight:550}.module-shortcuts small{font-size:0.75rem}.module-shortcuts>a>.icon{width:15px;color:var(--muted)}.module-shortcuts>a:hover strong{color:var(--blue)}.shortcut-icon{width:37px;height:37px;border-radius:10px;display:grid;place-items:center;background:var(--blue-light);color:var(--blue)}.shortcut-icon.school{color:#9b7ac1;background:#f1ebf8}.shortcut-icon.documents{color:#648ecd;background:#edf3ff}.shortcut-icon.travel{color:#4f9b8b;background:#e8f4f0}.shortcut-icon.memories{color:#c58b67;background:#fbefe5}.privacy-footnote{font-size:0.75rem;color:var(--muted);display:flex;justify-content:center;align-items:center;gap:7px;margin:26px 0}.privacy-footnote .icon{width:13px;height:13px}.privacy-footnote span{color:var(--muted);opacity:.8;margin-left:6px}footer{max-width:1450px;margin:auto;display:flex;align-items:center;gap:10px;padding:10px 42px 26px;color:var(--muted);font-size:0.75rem}footer>span{opacity:.7}footer>button{margin-left:auto;color:var(--muted);font-size:0.75rem}.filter-bar{display:flex;align-items:center;gap:6px;margin-bottom:20px;flex-wrap:wrap}.filter{padding:8px 15px;border-radius:8px;font-size:0.85rem;min-height:40px;background:var(--surface);border:1px solid var(--line)}.filter.active{background:var(--blue-light);color:var(--blue);border-color:transparent}.filter-bar>span{margin-left:auto;font-size:0.8rem;color:var(--muted)}.list-card{max-width:900px}.list-card .list-row{min-height:80px}.list-card .row-main strong{font-size:1rem}.list-card .row-main small{font-size:0.8rem}.list-card .quick-add input{font-size:1rem}.record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.record-card{display:flex;flex-direction:column;align-items:flex-start;overflow:hidden}.record-symbol{display:grid;place-items:center;width:54px;height:54px;background:var(--blue-light);color:var(--blue);border-radius:14px;margin-bottom:27px}.record-symbol .icon{width:25px;height:25px}.record-meta{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;width:100%;font-size:0.75rem;color:var(--muted);margin-bottom:10px}.record-card h2{font-size:1.2rem;line-height:1.4;margin-bottom:10px;overflow-wrap:anywhere}.record-card p{color:var(--muted);font-size:0.9rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.record-card>.text-link{margin-top:auto}.travel-dates{font-size:0.8rem;color:var(--blue);background:var(--blue-light);padding:7px 12px;border-radius:7px;margin-bottom:18px}.memory-image{width:calc(100% + 50px);max-width:none;aspect-ratio:1.6;object-fit:cover;margin:-23px -25px 20px}.info-banner{background:var(--blue-light);border:1px solid var(--line);color:var(--ink);padding:15px 18px;margin-bottom:22px;border-radius:10px;font-size:0.85rem;line-height:1.6}.info-banner .icon{margin-right:8px}.empty{text-align:center;color:var(--muted);padding:35px 10px;font-size:0.85rem;grid-column:1/-1}.empty .icon{width:28px;height:28px;margin-bottom:10px;opacity:.55}.empty p{margin:0}.calendar-card{padding-bottom:18px}.calendar-controls{display:flex;align-items:center;gap:5px}.calendar-controls .icon-button{font-size:1.4rem}.calendar-grid{display:grid}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}.weekday{text-align:center;padding:10px 0;background:var(--surface);color:var(--muted);font-size:0.78rem}.calendar-cell{min-height:105px;background:var(--surface);padding:9px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;min-width:0}.calendar-cell.outside{background:var(--bg)}.calendar-cell:hover,.calendar-cell.is-selected{background:var(--blue-light)}.date-number{width:26px;height:26px;display:grid;place-items:center;font-size:0.85rem;border-radius:50%}.is-today .date-number{background:var(--primary);color:#fff}.calendar-event{display:block;width:100%;font-size:0.75rem;color:#35405a;background:var(--person-bg);border-left:2px solid var(--person);padding:3px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border-radius:3px}.day-agenda{margin-top:22px}.day-agenda .event-row{max-width:700px}.day-agenda .row-main strong{font-size:0.95rem}dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:18px;width:calc(100% - 32px);max-width:540px;padding:26px;max-height:90dvh;box-shadow:0 25px 90px #0003}dialog::backdrop{background:#111d395c;backdrop-filter:blur(5px)}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.modal-header h2{font-size:1.2rem;overflow-wrap:anywhere}#entry-form>label,.form-grid>label{display:flex;flex-direction:column;gap:7px;font-size:0.85rem;font-weight:550;margin-bottom:18px}#entry-form input,#entry-form textarea,#entry-form select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:11px;background:var(--input);color:var(--ink);font-size:1rem}#entry-form textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;flex-wrap:wrap}.form-error{color:#cf4558;font-size:0.85rem}.detail-content{font-size:0.95rem;line-height:1.7}.detail-content p{margin-bottom:18px}.detail-content p .icon{margin-right:6px}.detail-content .pill{margin-bottom:18px;background:var(--blue-light);border:0}.detail-text{white-space:pre-wrap;overflow-wrap:anywhere}.detail-content .avatar{margin-right:8px}.detail-image{width:100%;max-height:400px;object-fit:contain;margin-bottom:20px;border-radius:10px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--ink);color:var(--surface);padding:13px 20px;border-radius:10px;box-shadow:0 5px 25px #0002;z-index:80;max-width:calc(100% - 30px);font-size:0.9rem;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:20px;z-index:100;padding:12px;background:var(--surface);color:var(--blue)}.skip:focus{top:12px}.overlay{display:none}html[data-theme=dark] .welcome-card{background:#21375c;color:#edf3ff;border-color:#2c456f}html[data-theme=dark] .welcome-card p,html[data-theme=dark] .welcome-bottom{color:#adbfdf}html[data-theme=dark] .welcome-bottom{border-color:#3b5275}html[data-theme=dark] .welcome-card .pill{background:#ffffff0c;border-color:#ffffff12}html[data-theme=dark] .light-link{color:#a4bfff}html[data-theme=dark] .avatar-stack .avatar{border-color:#21375c}html[data-theme=dark] .shortcut-icon{background:var(--blue-light);color:var(--blue)}
@media(min-width:1600px){main{padding-top:48px}.dashboard-grid{grid-template-columns:1.25fr 1fr}.card{padding:28px}.welcome-card{padding:30px}.welcome-card h2{font-size:2.15rem}.welcome-card p{font-size:0.95rem}.row-main strong{font-size:0.95rem}.row-main small{font-size:0.8rem}.event-row{min-height:80px}.list-row{min-height:70px}}
@media(max-width:1150px){.sidebar{width:218px;padding-left:12px;padding-right:12px}.workspace{margin-left:218px}main{padding:30px 25px 0}.topbar{padding:0 25px}.welcome-card{padding:22px}.welcome-card h2{font-size:1.7rem}.welcome-bottom{align-items:flex-start;flex-direction:column;gap:9px}.today-summary{padding:22px}.card{padding:20px}.card-head{gap:8px}.card-head h2{font-size:0.97rem}.dashboard-grid{gap:18px}.record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-image{width:calc(100% + 40px);margin:-20px -20px 20px}footer{padding:20px 25px}.privacy-footnote{flex-wrap:wrap}.week-strip{gap:3px}.event-row{gap:9px}.event-row .avatar{display:none}}
@media(max-width:900px){.sidebar{width:220px;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.mobile-only{display:inline-flex}.topbar{height:66px;padding:0 22px}.overlay{display:block;position:fixed;inset:0;background:#11182760;z-index:25}.breadcrumb{gap:10px}main{padding-top:28px}.page-heading h1{font-size:2rem}.overview-grid{grid-template-columns:1.7fr 1fr}.event-row .avatar{display:inline-grid}.welcome-bottom{flex-direction:row}.welcome-bottom>span{display:none}}
@media(max-width:620px){main{padding:24px 17px 0}.topbar{padding:0 12px}.top-actions{gap:3px}.local-status{display:none}.avatar-button{padding-left:9px}.crumb-home,.crumb-divider{display:none}.breadcrumb strong{font-size:0.9rem}.page-heading{align-items:flex-start;gap:15px;margin-bottom:22px}.eyebrow{font-size:0.75rem;letter-spacing:1px;margin-bottom:10px}.page-heading h1{font-size:1.85rem}.page-heading p{font-size:0.85rem;max-width:270px}.page-heading>.button{font-size:0;min-width:43px;padding:10px;margin-top:19px;gap:0}.page-heading>.button .icon{width:21px;height:21px}.overview-grid{grid-template-columns:1fr;gap:14px;margin-bottom:18px}.welcome-card{padding:21px}.welcome-card h2{font-size:1.9rem;margin-top:21px}.welcome-card p{font-size:0.85rem}.welcome-bottom{flex-direction:row}.welcome-bottom>span{display:flex;font-size:0.75rem}.welcome-bottom a{font-size:0.75rem}.today-summary{display:grid;grid-template-columns:auto 1fr auto;column-gap:12px;padding:17px 20px;align-items:center}.summary-icon{grid-row:1/3;margin:0;width:40px;height:40px}.today-summary>span{font-size:0.75rem}.today-summary>strong{grid-column:3;grid-row:1/3;font-size:1.8rem;line-height:1}.today-summary>strong small{display:block;font-size:0.75rem;margin:5px 0 0}.today-summary p{font-size:0.75rem;margin:3px 0 0;grid-column:2;max-width:220px}.today-summary .summary-divider,.today-summary .text-link{display:none}.dashboard-grid{grid-template-columns:1fr;gap:18px}.card{padding:20px}.card-head h2{font-size:1.05rem}.text-link{font-size:0.75rem}.week-strip{gap:8px}.row-main strong{font-size:0.92rem}.row-main small{font-size:0.77rem}.list-row{min-height:66px}.day>span{font-size:0.75rem}.day>strong{font-size:1rem}.event-row{min-height:76px}.event-time{font-size:0.78rem}.card-subtitle{font-size:0.83rem}.progress-meta{font-size:0.8rem}.module-shortcuts strong{font-size:0.92rem}.module-shortcuts small{font-size:0.8rem}.privacy-footnote{font-size:0.75rem;margin:23px 10px;gap:6px}.privacy-footnote span{display:block;width:100%;text-align:center}.record-grid{grid-template-columns:1fr}.calendar-card{padding:12px}.calendar-card .card-head{padding:5px;margin-bottom:12px;gap:3px}.calendar-card h2{font-size:0.9rem}.calendar-controls{gap:0}.calendar-controls .filter{font-size:0.75rem;padding:5px 9px}.calendar-cell{min-height:66px;padding:5px 3px}.calendar-event{font-size:0;height:4px;width:70%;padding:0;margin-left:3px;background:var(--person);border:0}.date-number{font-size:0.78rem;width:24px;height:24px}.calendar-cell small{font-size:0.75rem}.day-agenda .card-head h2{font-size:0.85rem}.filter-bar>span{width:100%;margin-top:8px}.filter-bar .filter{font-size:0.8rem;padding:8px 13px}dialog{padding:20px;max-height:90dvh}.modal-header h2{font-size:1.1rem}.modal-actions .button{font-size:0.8rem;padding:11px 13px}.form-grid{gap:10px}footer{padding:5px 20px 25px;font-size:0.75rem}.record-card p{font-size:0.95rem}.empty{padding:25px 10px}.quick-add input{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Notes: personal by default, with explicit people and per-person Home placement. */
.notes-layout{display:grid;gap:17px}.notes-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.notes-search{display:flex;align-items:center;gap:9px;min-width:0;max-width:550px;flex:1;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 14px;color:var(--muted)}.notes-search input{min-width:0;width:100%;height:48px;border:0;outline:none;background:transparent;color:var(--ink)}.notes-filters,.notes-folders{display:flex;flex-wrap:wrap;gap:7px}.notes-folders{border-bottom:1px solid var(--line);padding-bottom:14px}.notes-folder{border:1px solid var(--line);border-radius:999px;padding:8px 13px;background:var(--surface);font-size:.83rem}.notes-folder.active{background:var(--blue-light);border-color:var(--blue);color:var(--blue);font-weight:700}.notes-privacy{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.82rem;margin:0}.notes-privacy .icon{width:17px;height:17px}.note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.note-grid>.empty{grid-column:1/-1}.note-card{position:relative;min-width:0;min-height:175px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.note-card-main{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%;height:100%;padding:19px 44px 19px 18px;text-align:left}.note-card-main strong{font-size:1.05rem;line-height:1.35;overflow-wrap:anywhere}.note-card-main:hover strong{color:var(--blue)}.note-card-meta{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:.73rem}.note-card-meta .icon{width:13px;height:13px}.note-preview{color:var(--muted);font-size:.83rem;line-height:1.5;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.note-card small{margin-top:auto}.note-home-toggle{position:absolute;top:13px;right:13px;width:32px;height:32px;border-radius:8px;color:var(--muted)}.note-home-toggle .icon{width:18px;height:18px}.note-home-toggle.active{color:var(--blue);background:var(--blue-light)}.note-card.note-blue,.home-note.note-blue{border-top:4px solid #6f9df0}.note-card.note-rose,.home-note.note-rose{border-top:4px solid #d694ae}.note-card.note-mint,.home-note.note-mint{border-top:4px solid #73b9a4}.note-card.note-amber,.home-note.note-amber{border-top:4px solid #ddb467}.home-notes{grid-column:1/-1;border-color:color-mix(in srgb,var(--blue) 28%,var(--line));background:color-mix(in srgb,var(--blue) 4%,var(--surface))}.home-notes .card-head{margin-bottom:13px}.home-notes .eyebrow{color:var(--blue);margin-bottom:3px}.home-notes>p{color:var(--muted);font-size:.86rem}.home-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-note{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:100px;padding:13px 16px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:11px;overflow:hidden}.home-note strong,.home-note span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-note span{font-size:.8rem;color:var(--muted)}.home-note-add{margin-top:10px}.note-editor{display:grid;gap:13px}.note-editor>label{display:grid;gap:6px}.note-editor textarea{resize:vertical;min-height:150px}.note-editor input:not([type=checkbox]),.note-editor textarea,.note-editor select{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--ink);padding:10px 12px}.note-check-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.note-check-row{display:flex;gap:8px;align-items:center;margin:7px 0}.note-check-row input[type=text]{min-width:0;flex:1}.note-check-row input[type=checkbox],.note-options input,.note-share input{width:19px;height:19px;accent-color:var(--blue)}.note-options{display:flex;flex-wrap:wrap;gap:10px 20px}.note-options label,.note-share-people label{display:flex;align-items:center;gap:8px;font-size:.85rem}.note-share{border:1px solid var(--line);border-radius:12px;padding:14px}.note-share legend{font-weight:700;padding:0 5px}.note-share p{color:var(--muted);font-size:.8rem;margin:0 0 12px}.note-share-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.note-save-status{color:var(--muted);font-size:.8rem;margin:0}.note-reader-owner{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.8rem}.note-reader-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.note-reader-checklist{display:grid;gap:7px;padding:12px;border-radius:9px;background:var(--input)}dialog:has(.note-editor){width:min(700px,95vw)}@media(max-width:1050px){.note-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.notes-toolbar{align-items:stretch;flex-direction:column}.notes-toolbar .button{width:100%}.note-grid,.home-notes-grid{grid-template-columns:1fr}.note-card{min-height:135px}.note-share-people{grid-template-columns:1fr}.home-notes{order:0}.dashboard-grid>.shopping-card{order:1}}

/* Core reading and control text remains legible at every breakpoint. */
.nav-item,.family-name,.profile select,.button,.text-link,.light-link,.card-add,.event-time,.filter,.card-subtitle,.progress-meta,.today-summary>span{font-size:.875rem}.row-main strong,.module-shortcuts strong{font-size:1rem}.row-main small,.module-shortcuts small{font-size:.8125rem}.welcome-card p,.page-heading p,.quick-add input{font-size:1rem}.card-head{flex-wrap:wrap}.today-summary p{font-size:.875rem}.eyebrow,.family-label,.demo-label{font-size:.75rem}.calendar-event{font-size:.75rem}@media(max-width:620px){.page-heading>.button{font-size:0}.calendar-event{font-size:0}.today-summary p{font-size:.8rem}.welcome-bottom>span{font-size:.75rem}.welcome-bottom a{font-size:.8rem}.calendar-card .card-head{flex-wrap:nowrap}.day-agenda .card-head{flex-wrap:wrap}}
@media(max-width:900px){.sidebar{visibility:hidden}.sidebar.open{visibility:visible}}
@media(max-width:620px){.welcome-card h2{font-size:1.45rem;margin:15px 0}.welcome-card>p{display:none}.welcome-bottom{padding-top:12px}.welcome-top .pill{font-size:.7rem}.page-heading>div{min-width:0}.page-heading>.button{flex-shrink:0}.page-heading h1{overflow-wrap:anywhere}}
.calendar-subscribe-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-5px 0 22px}.calendar-subscribe-bar>span{font-size:.875rem;color:var(--muted)}.subscription-intro p{font-size:1rem;color:var(--muted);margin-bottom:12px}.subscription-intro .pill{background:var(--blue-light);color:var(--blue);border:0}.subscription-options{border:0;padding:0;margin:25px 0 12px}.subscription-options legend{font-size:.9rem;font-weight:600;margin-bottom:12px}.subscription-option{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);padding:14px;border-radius:10px;margin:9px 0;cursor:pointer}.subscription-option:has(input:checked){border-color:var(--blue);background:var(--blue-light)}.subscription-option input{margin:5px 0 0;accent-color:var(--blue);width:17px;height:17px;flex-shrink:0}.subscription-option span{display:grid;gap:3px}.subscription-option strong{font-size:.95rem;font-weight:600}.subscription-option small{font-size:.8125rem}.feed-count{font-size:.8125rem;color:var(--muted);margin:10px 0 18px}.subscription-help{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;font-size:.875rem}.subscription-help summary{cursor:pointer;font-weight:600}.subscription-help p{margin-top:15px}.feed-url-label{display:grid;gap:8px;font-size:.875rem}.feed-url-label input{width:100%;padding:12px;border:1px solid var(--line);background:var(--input);color:var(--ink);border-radius:8px;font-size:.875rem}.feed-actions{display:flex;gap:8px;flex-wrap:wrap}.active-feed{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.875rem}#active-feeds h3{margin-top:25px;font-size:1rem}@media(max-width:620px){.calendar-subscribe-bar{align-items:flex-start;flex-direction:column;gap:10px}.calendar-subscribe-bar .button{width:100%}}
.meal-shopping-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 30px;padding:22px}.meal-shopping-bar strong{font-size:1.05rem}.meal-shopping-bar p{color:var(--muted);margin:5px 0 0}.meal-shopping-preview{display:grid;gap:7px;margin:16px 0}.meal-shopping-preview>div{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.meal-shopping-preview span,.meal-shopping-preview small{color:var(--muted);font-size:.8rem}.recipe-ingredients small{color:var(--muted);margin-left:7px}.notify-intro p,.notify-note{color:var(--muted);line-height:1.5}.notify-device{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;margin:18px 0}.notify-device p{color:var(--muted);margin:5px 0 0;font-size:.84rem}.notify-device button{flex-shrink:0}.notify-mail{display:grid;gap:12px}.notify-mail small{color:var(--muted)}.notify-grid{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:16px 0}.notify-grid-head,.notify-grid-row{display:grid;grid-template-columns:minmax(0,1fr) 70px 70px;gap:8px;align-items:center;padding:10px 14px}.notify-grid-head{background:var(--blue-light);font-size:.8rem}.notify-grid-row{border-top:1px solid var(--line)}.notify-grid-row label{text-align:center}.notify-grid-row input{width:18px;height:18px;accent-color:var(--blue)}@media(max-width:620px){.meal-shopping-bar,.notify-device{align-items:stretch;flex-direction:column}.meal-shopping-preview>div{grid-template-columns:72px 1fr}.meal-shopping-preview small{grid-column:2}.notify-grid-head,.notify-grid-row{grid-template-columns:minmax(0,1fr) 55px 55px;padding:10px}}
.entry-choices{display:grid;gap:7px}.entry-choice{display:flex;align-items:center;gap:13px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:10px;width:100%}.entry-choice:hover{background:var(--blue-light);border-color:var(--blue)}.entry-choice>span:nth-child(2){display:grid;gap:3px;flex:1;min-width:0}.entry-choice strong{font-size:1rem;font-weight:600}.entry-choice small{font-size:.8125rem}.entry-choice>.icon{width:16px;color:var(--muted)}.entry-back{margin-bottom:18px;min-height:32px}@media(max-width:620px){.entry-choice{padding:11px 8px;gap:10px}}
.event-location{padding:16px;background:var(--bg);border:1px solid var(--line);border-radius:10px;margin:18px 0}.event-location>strong{font-size:.875rem}.event-location>p{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 12px}.event-location .button{white-space:normal;text-align:left}
.auth-shell{margin:0;max-width:none;min-height:100dvh;padding:40px 18px;display:grid;place-items:center}.auth-card{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:32px}.auth-card .brand{padding:0;margin-bottom:35px}.auth-card h1{font-size:1.8rem}.auth-card>p{color:var(--muted)}.auth-card label,.account-form label{display:grid;gap:6px;margin:16px 0;font-size:.9rem}.auth-card input,.account-form input,.account-form select,.member-management select{width:100%;padding:11px;border-radius:8px;border:1px solid var(--line);background:var(--input);color:var(--ink);min-width:0}.auth-card form>.button{width:100%;margin-top:12px}.auth-help{font-size:.85rem;margin-top:20px}.profile-account{width:100%;text-align:left}.profile-account strong{font-size:.9rem}.member-list{display:grid;gap:12px}.member-management{border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.member-management>strong{width:100%}.member-management>span{font-size:.85rem;color:var(--muted)}.member-management select{width:auto}#member-result{margin-top:20px;overflow-wrap:anywhere}

/* Schule · Stundenplan */
.timetable-day-tabs,.timetable-mobile-hint{display:none}.timetable-grid{align-items:stretch}.timetable-day{display:flex;flex-direction:column}.timetable-day header{min-height:3.2em;border-bottom:1px solid var(--line);padding-bottom:9px}.timetable-lessons{align-content:start;flex:1}.timetable-lesson{min-height:88px;align-content:start}.timetable-day-empty{padding:10px 2px}.timetable-day:has(.timetable-day-empty){opacity:.75}
@media(max-width:850px){.timetable-desktop-hint{display:none}.timetable-mobile-hint{display:block}.timetable-day-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0 0 12px}.timetable-day-tabs button{min-width:0;border:1px solid var(--line);border-radius:11px;background:var(--bg);color:var(--ink);padding:11px 5px;font-weight:750}.timetable-day-tabs button span{display:none}.timetable-day-tabs button.active{background:var(--blue);border-color:var(--blue);color:white}.timetable-grid{display:block;overflow:visible}.timetable-day{display:none}.timetable-day.is-selected{display:flex;min-height:180px}.timetable-day header{min-height:0;flex-direction:row;align-items:baseline;justify-content:space-between}.timetable-day header small{margin-left:auto}.timetable-lessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.timetable-lesson{min-height:0}}
@media(max-width:620px){.timetable-lessons{grid-template-columns:1fr}.timetable-lesson{grid-template-columns:94px 1fr;align-items:start}.timetable-day-empty{display:block}}
@media print{body.print-school .timetable-day-tabs,body.print-school .timetable-mobile-hint{display:none!important}body.print-school .timetable-day{display:flex!important}body.print-school .timetable-grid{display:grid!important}}
.school-timetable{padding:24px;margin:0 0 30px;overflow:hidden}.timetable-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.timetable-heading .eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.13em;color:var(--blue)}.timetable-heading h2{font-size:1.45rem;line-height:1.2;margin:5px 0 4px}.timetable-heading p,.timetable-empty,.school-section-heading p{color:var(--muted);font-size:.875rem;margin:0}.timetable-person{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--muted);font-size:.85rem}.timetable-person select{border:1px solid var(--line);background:var(--input);color:var(--ink);padding:8px 12px;border-radius:10px}.timetable-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.timetable-day{background:var(--bg);border:1px solid var(--line);border-radius:14px;min-width:0;padding:12px}.timetable-day header{display:flex;flex-direction:column;gap:2px;margin-bottom:11px}.timetable-day header>span{font-weight:700;font-size:.9rem}.timetable-day header small{color:var(--muted);font-size:.72rem}.timetable-day-short{display:none}.timetable-lessons{display:grid;gap:8px}.timetable-lesson{display:grid;gap:4px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:10px;padding:11px;color:var(--ink);cursor:pointer}.timetable-lesson:hover{border-color:var(--blue)}.timetable-lesson strong{font-size:.9rem;overflow-wrap:anywhere}.timetable-lesson small{font-size:.72rem;color:var(--muted);overflow-wrap:anywhere}.timetable-lesson:disabled{cursor:default;opacity:.85}.timetable-time{color:var(--blue);font-size:.72rem;font-weight:700}.timetable-day-empty{font-size:.78rem;color:var(--muted);margin:8px 0}.timetable-empty{margin-top:15px}.school-section-heading{margin:24px 0 15px}.school-section-heading h2{font-size:1.2rem;margin:0 0 4px}#lesson-form textarea{width:100%;padding:11px;border-radius:8px;border:1px solid var(--line);background:var(--input);color:var(--ink)}
@media(max-width:850px){.timetable-grid{grid-template-columns:repeat(5,minmax(155px,1fr));overflow-x:auto;padding-bottom:8px}.school-timetable{padding:18px}}
@media(max-width:620px){.timetable-heading{align-items:flex-start;flex-direction:column}.timetable-heading .button{width:100%}.timetable-grid{grid-template-columns:1fr;overflow:visible}.timetable-day{padding:13px}.timetable-day header{flex-direction:row;align-items:baseline;justify-content:space-between}.timetable-day header small{margin-left:auto}.timetable-day-empty{display:none}.timetable-day-full{display:block}.timetable-lesson{grid-template-columns:90px 1fr;gap:3px 9px}.timetable-time{grid-row:1/4}.timetable-lesson small{grid-column:2}}

/* Erinnerungen: Galerie, Rückblicke und gemeinsame Geschichten. */
.memory-overview{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:32px;border:1px solid var(--line);border-radius:22px;background:var(--surface);margin-bottom:28px;overflow:hidden}.memory-overview .eyebrow{color:var(--blue);display:block}.memory-overview h2{font-size:2rem;line-height:1.18;letter-spacing:-.8px;margin:0 0 15px}.memory-overview p{color:var(--muted);font-size:.875rem}.memory-highlight{position:relative;min-height:210px;overflow:hidden;background:#263852;border-radius:16px;text-align:left;color:white}.memory-highlight>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.memory-highlight>span{position:relative;min-height:210px;background:linear-gradient(0deg,#101a2ae6,#101a2a22);padding:24px;display:flex;justify-content:flex-end;flex-direction:column}.memory-highlight small{color:#fff;font-size:.7rem;letter-spacing:1px}.memory-highlight strong{font-size:1.25rem;margin:6px 0;line-height:1.3;overflow-wrap:anywhere}.memory-highlight>span>span{font-size:.8rem;color:#e8eef8}.memory-intro-art{border-radius:16px;background:linear-gradient(135deg,#eaf0ff,#fcf0eb);display:flex;gap:20px;justify-content:center;align-items:center;color:#284878;min-height:210px}.memory-intro-art>span:first-child{font-size:5rem;color:#cb788a;transform:rotate(-10deg)}.memory-intro-art>span:last-child{font-size:1.3rem;line-height:1.3;font-weight:650;letter-spacing:-.5px}.memory-on-this-day{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}.memory-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.memory-tools input,.memory-tools select,.yearbook-options select{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:.875rem;min-width:0;max-width:100%}.memory-search{flex:1 1 260px}.memory-search input{width:100%}.memory-layout{display:flex;gap:3px;border:1px solid var(--line);padding:3px;border-radius:12px;background:var(--surface)}.memory-result-count{font-size:.8rem;color:var(--muted);margin:16px 0}.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.memory-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface);min-width:0}.memory-cover{width:100%;aspect-ratio:4/3;display:block;position:relative;padding:0;overflow:hidden;background:var(--blue-light)}.memory-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.memory-cover:hover img{transform:scale(1.025)}.memory-cover-empty{background:linear-gradient(135deg,var(--blue-light),var(--bg));display:grid;place-items:center;color:var(--blue)}.memory-cover-empty>.icon{width:48px;height:48px;opacity:.45}.memory-photo-count,.memory-private{position:absolute;background:#152339bd;color:white;font-size:.7rem;border-radius:7px;padding:4px 9px;bottom:12px;right:12px;backdrop-filter:blur(8px)}.memory-private{top:12px;bottom:auto}.memory-private .icon{width:14px;height:14px}.memory-card-body{padding:20px}.memory-card-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.75rem;margin-bottom:9px}.memory-card-meta span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.memory-title{padding:0;text-align:left;display:block;width:100%}.memory-title h2{font-size:1.04rem;line-height:1.4;overflow-wrap:anywhere}.memory-card-body>p{font-size:.875rem;color:var(--muted);margin:8px 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;overflow-wrap:anywhere}.memory-card-footer{display:flex;gap:13px;color:var(--muted);font-size:.75rem;border-top:1px solid var(--line);padding-top:12px}.memory-card-footer>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-month{margin:25px 0 35px}.memory-month>h2{font-size:1.15rem;margin-bottom:17px;border-left:3px solid var(--blue);padding-left:12px}.memory-form label{display:grid;gap:7px;margin:16px 0}.memory-form .form-grid label{margin:0}.memory-upload{margin:20px 0;border:1px dashed var(--line);border-radius:12px;padding:15px}.memory-upload>p{font-size:.8rem;color:var(--muted);line-height:1.6}.memory-form .memory-checkbox,.memory-checkbox{display:flex;gap:9px;align-items:center;line-height:1.4;font-size:.875rem}.memory-checkbox input{width:18px!important;height:18px;flex-shrink:0;accent-color:var(--blue)}.memory-edit-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.memory-edit-photo{position:relative;margin:6px 0;overflow:hidden;border-radius:8px;background:var(--bg)}.memory-edit-photo img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.memory-edit-photo span{display:block;padding:4px;font-size:.65rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--muted)}#memory-progress{font-size:.85rem;color:var(--blue)}dialog:has(#memory-detail-content),dialog:has(.memory-yearbook){width:min(800px,calc(100% - 32px));max-width:800px}.memory-detail-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin:12px 0 20px}.memory-lightbox{background:var(--bg);border-radius:14px;overflow:hidden;position:relative}.memory-lightbox>img{width:100%;height:min(50vh,480px);object-fit:contain;display:block}.memory-gallery-controls{display:flex;align-items:center;justify-content:center;gap:20px;background:var(--surface);font-size:.8rem;border-bottom:1px solid var(--line)}.memory-filmstrip{display:flex;gap:7px;overflow-x:auto;padding:12px 3px}.memory-filmstrip button{padding:3px;border:2px solid transparent;border-radius:9px;flex-shrink:0}.memory-filmstrip button.selected{border-color:var(--blue)}.memory-filmstrip img{width:64px;height:55px;object-fit:cover;border-radius:4px;display:block}.memory-photo-actions{display:flex;flex-wrap:wrap;gap:14px;font-size:.8rem;align-items:center;margin-bottom:20px}.memory-photo-actions .text-link{min-height:36px;font-size:.8rem}.memory-story{white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0;line-height:1.7}.memory-location{font-size:.85rem;color:var(--muted)}.memory-reactions{display:flex;gap:8px;margin:20px 0}.memory-reactions .filter{border:1px solid var(--line);min-width:66px}.memory-comments{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.memory-comments h3{font-size:1rem;margin-bottom:12px}.memory-comments h3 span{color:var(--muted);font-size:.8rem;margin-left:6px}.memory-comment{padding:14px 0;border-bottom:1px solid var(--line)}.memory-comment>div{display:flex;gap:10px;align-items:center;font-size:.85rem}.memory-comment>div>.icon-button{margin-left:auto;min-height:30px}.memory-comment>p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;margin:8px 0 0}.memory-quiet{font-size:.875rem;color:var(--muted)}#memory-comment-form{margin-top:17px;display:grid;justify-items:end;gap:8px}#memory-comment-form textarea{width:100%;border-radius:10px;border:1px solid var(--line);background:var(--input);color:var(--ink);padding:12px}.yearbook-options{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin:15px 0 25px}.yearbook-options>label:first-child{display:flex;align-items:center;gap:8px}.yearbook-options>p{width:100%;color:var(--muted);font-size:.85rem;margin:0}.memory-yearbook>header{padding:30px 0;border-bottom:1px solid var(--line);margin-bottom:25px}.memory-yearbook>header h2{font-size:2.3rem;margin:8px 0}.memory-yearbook>header span{color:var(--blue);font-size:.85rem}.memory-yearbook article{padding:20px 0;border-bottom:1px solid var(--line)}.memory-yearbook article h3{font-size:1.35rem;margin:8px 0 15px;overflow-wrap:anywhere}.yearbook-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.yearbook-photos img{width:100%;aspect-ratio:4/3;object-fit:contain;background:var(--bg);border-radius:8px}.memory-yearbook article>p{overflow-wrap:anywhere}
@media(max-width:1150px){.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-overview{gap:20px;padding:25px}}
@media(max-width:620px){.memory-overview{grid-template-columns:1fr;padding:22px;border-radius:16px;gap:22px}.memory-overview h2{font-size:1.75rem}.memory-highlight,.memory-highlight>span{min-height:190px}.memory-intro-art{min-height:120px}.memory-intro-art>span:first-child{font-size:3rem}.memory-intro-art>span:last-child{font-size:1.1rem}.memory-grid{grid-template-columns:1fr;gap:18px}.memory-tools{gap:8px}.memory-search{flex-basis:100%}.memory-tools>label:not(.memory-search){flex:1;min-width:0}.memory-tools select{width:100%}.memory-layout{margin-left:auto}.memory-tools .filter{font-size:.75rem;padding:9px}.memory-card-body{padding:17px}.memory-edit-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.memory-form .form-grid{grid-template-columns:1fr;gap:16px}.memory-photo-actions{gap:10px}.memory-lightbox>img{height:36vh}.memory-comment>div{flex-wrap:wrap}.yearbook-options{align-items:stretch;flex-direction:column}.yearbook-photos{grid-template-columns:1fr}.memory-detail-meta{gap:8px}.memory-form .modal-actions{flex-wrap:wrap}}
@media print{body.printing-memories{background:white!important;color:#172239!important}body.printing-memories>*:not(#editor){display:none!important}body.printing-memories #editor{display:block!important;position:static!important;max-height:none!important;height:auto!important;width:100%!important;max-width:none!important;overflow:visible!important;border:0!important;padding:0!important;background:white!important;color:#172239!important}body.printing-memories #editor::backdrop{display:none}body.printing-memories #editor>.modal-header,body.printing-memories .yearbook-options{display:none!important}.memory-yearbook>header{break-after:avoid}.memory-yearbook article{break-inside:auto;padding-top:20px}.memory-yearbook h3{break-after:avoid}.yearbook-photos{grid-template-columns:repeat(2,minmax(0,1fr));break-inside:auto}.yearbook-photos img{break-inside:avoid;max-height:100mm}.memory-yearbook small{color:#566070!important}}
@media(max-width:620px){.memory-tools>label:not(.memory-search){flex:1 1 calc(50% - 4px)}.memory-overview{padding:18px;gap:16px}.memory-overview h2{font-size:1.45rem;margin-bottom:10px}.memory-overview .eyebrow{margin-bottom:8px}.memory-highlight,.memory-highlight>span{min-height:150px}.memory-highlight>span{padding:18px}.memory-overview p{margin-bottom:12px}}

/* Calendar person filter and time ranges */
.calendar-filter-bar{display:flex;align-items:center;gap:24px;margin-bottom:20px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.calendar-filter-bar label{display:grid;gap:8px;font-size:.85rem;font-weight:600;min-width:220px}
.calendar-filter-bar select{width:100%;min-height:44px;background:var(--input);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:10px 12px}
.calendar-filter-bar p{font-size:.8rem;color:var(--muted);margin:0;max-width:440px}
.event-time{width:96px;font-size:.8rem;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:620px){.calendar-filter-bar{align-items:stretch;flex-direction:column;gap:10px;padding:16px}.calendar-filter-bar label{min-width:0}.event-row{gap:9px}.event-time{width:88px;font-size:.75rem}}

.form-grid .calendar-date{grid-column:1/-1}
.avatar{overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.avatar.large{width:72px;height:72px;font-size:1.5rem}.shared-mark{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--blue-light);color:var(--blue);padding:5px 9px;font-size:.72rem;font-weight:650;white-space:nowrap}.account-profile,.avatar-settings{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:15px 0 22px}.account-profile>div,.avatar-settings>div:last-child{display:grid;gap:2px;flex:1 1 140px}.account-profile .button{margin-left:auto}.avatar-settings p{color:var(--muted);font-size:.82rem;line-height:1.55;margin:0}.avatar-settings h3{margin:0;font-size:1rem}.memory-comment .avatar{margin-right:3px}.memory-comment>div>strong{min-width:0;overflow-wrap:anywhere}

/* Fahrzeuge und Kalenderbelegung */
.vehicle-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:23px}.vehicle-intro .eyebrow{color:var(--blue);margin-bottom:6px}.vehicle-intro h2{font-size:1.45rem;line-height:1.2;margin-bottom:6px}.vehicle-intro p{font-size:.88rem;color:var(--muted);margin:0}.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.vehicle-card{min-width:0;border:1px solid var(--line);border-radius:17px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}.vehicle-card-art{min-height:100px;display:grid;place-items:center;background:linear-gradient(135deg,#dce9ff,#f1f5ff);color:#3866c3}.vehicle-card-art.classic{background:linear-gradient(135deg,#f7e9d8,#fff7e9);color:#a76c36}.vehicle-card-art.other{background:linear-gradient(135deg,#e5ebf2,#f5f8fb);color:#6c7d91}.vehicle-card-art .icon{width:51px;height:51px}.vehicle-card-body{padding:18px}.vehicle-type{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.68rem;font-weight:700}.vehicle-card h2{font-size:1.18rem;margin:5px 0}.vehicle-plate{display:inline-block;border:1px solid var(--line);border-radius:5px;padding:2px 7px;font-size:.7rem;font-weight:700}.vehicle-card-body>p{color:var(--muted);font-size:.82rem;line-height:1.45;min-height:2.3em;margin:13px 0}.vehicle-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.vehicle-card-actions .button{padding:8px 10px;font-size:.77rem;min-height:38px;white-space:normal}.vehicle-card-actions .text-link{font-size:.78rem;min-height:38px}.vehicle-empty{margin-bottom:24px;padding:24px}.vehicle-empty p,.vehicle-quiet{color:var(--muted);font-size:.86rem}.vehicle-empty .button{margin-top:6px}.vehicle-schedule{padding:24px}.vehicle-schedule .card-head{margin-bottom:12px}.vehicle-appointment{width:100%;display:grid;grid-template-columns:110px 1fr auto;gap:14px;align-items:center;text-align:left;padding:13px 4px;border-bottom:1px solid var(--line)}.vehicle-appointment:hover{background:var(--hover)}.vehicle-appointment:last-child{border-bottom:0}.vehicle-appointment-date{font-size:.78rem;font-weight:700;color:var(--blue)}.vehicle-appointment-date small,.vehicle-appointment>span:nth-child(2) small{display:block;font-weight:400;margin-top:3px}.vehicle-appointment>span:nth-child(2){min-width:0}.vehicle-appointment strong{font-size:.9rem;overflow-wrap:anywhere}.vehicle-appointment-arrow{font-size:1.4rem;color:var(--muted)}.vehicle-hint{margin:14px 0;color:var(--blue);font-size:.86rem}.vehicle-legacy{margin:28px 0}.vehicle-legacy>h2{margin-bottom:12px}.vehicle-calendar-fields{border:1px solid var(--line);background:var(--bg);padding:14px;border-radius:11px;margin:15px 0}.vehicle-calendar-fields .vehicle-checkbox{display:flex;align-items:center;gap:9px;margin:0;font-weight:600}.vehicle-checkbox input{width:18px;height:18px;accent-color:var(--blue)}#vehicle-inputs{margin-top:13px}#vehicle-inputs[hidden]{display:none!important}#vehicle-inputs>small{display:block;margin-top:10px}.account-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--ink);padding:11px;resize:vertical}
@media(max-width:1000px){.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.vehicle-intro{align-items:stretch;flex-direction:column}.vehicle-intro .button{width:100%}.vehicle-grid{grid-template-columns:1fr}.vehicle-card-art{min-height:84px}.vehicle-card-body{padding:16px}.vehicle-schedule{padding:17px}.vehicle-appointment{grid-template-columns:82px 1fr auto;gap:8px}.vehicle-appointment-date{font-size:.71rem}}

/* Essen, Reiseträume und vollständige Tagesübersicht */
.vehicle-card-art img{width:100%;height:160px;object-fit:cover;display:block}.vehicle-remove-photo{display:flex!important;align-items:center;gap:8px}.vehicle-remove-photo input{width:18px!important;height:18px;accent-color:var(--blue)}.family-week-settings{padding:15px 18px;margin:0 0 20px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.family-week-settings h3{margin:0 0 4px;font-size:1rem}.family-week-settings p{color:var(--muted);font-size:.83rem;margin:0}.family-week-settings form{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.family-week-settings label{flex:1 1 180px}.family-week-settings .button{margin-bottom:16px}
.today-summary-list{width:100%;display:grid;gap:0}.today-summary-row{width:100%;display:grid;grid-template-columns:92px minmax(0,1fr);gap:2px 9px;align-items:start;text-align:left;padding:10px 0;border-bottom:1px solid var(--line);font-size:.8rem}.today-summary-row:hover{color:var(--blue)}.today-summary-row:last-child{border-bottom:0}.today-summary-time{font-variant-numeric:tabular-nums;color:var(--blue);white-space:nowrap;font-weight:650}.today-summary-row strong{font-size:.82rem;font-weight:600;overflow-wrap:anywhere}.today-summary-person{grid-column:2;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.72rem}.today-summary-person .avatar{width:19px;height:19px;font-size:.6rem}.today-summary-list>p{font-size:.83rem;color:var(--muted);margin:10px 0}.today-summary{min-width:0}.today-summary .summary-divider{margin:12px 0 0}
.planning-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.planning-intro .eyebrow{color:var(--blue);margin-bottom:5px}.planning-intro h2{font-size:1.55rem;line-height:1.2;margin-bottom:6px}.planning-intro p,.planning-muted{color:var(--muted);font-size:.86rem;margin:0}.dream-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dream-card,.planning-list-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;text-align:left;padding:19px;min-width:0;box-shadow:var(--shadow)}.dream-card:hover,.planning-list-card:hover,.meal-day:hover{border-color:var(--blue);background:var(--hover)}.dream-card h3{font-size:1.13rem;line-height:1.3;margin:13px 0 8px}.dream-card p{font-size:.84rem;color:var(--muted);min-height:3.6em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.dream-card>small{display:block;margin-top:12px}.planning-empty{padding:25px;grid-column:1/-1}.planning-empty p{color:var(--muted);margin:6px 0 0}.travel-existing{margin-top:34px}.travel-existing .card-head{margin-bottom:15px}.planning-form label,.planning-detail form label{display:grid;gap:7px;font-size:.86rem;margin:15px 0}.planning-form input,.planning-form select,.planning-form textarea,.planning-detail textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--ink);padding:11px;min-width:0}.planning-form textarea,.planning-detail textarea{resize:vertical}.planning-form label>small{margin-top:2px}
.meal-week{padding:23px;margin-bottom:30px}.meal-week .card-head{align-items:center;gap:12px;margin-bottom:8px}.meal-week .eyebrow{color:var(--blue);margin-bottom:5px}.meal-week h2{font-size:1.24rem}.meal-week>.planning-muted{margin-bottom:17px}.meal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.meal-day{display:flex;flex-direction:column;gap:12px;text-align:left;min-height:137px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);min-width:0}.meal-day.today{border-color:var(--blue);background:var(--blue-light)}.meal-day>span{font-size:.75rem;font-weight:700;line-height:1.2}.meal-day>span small{display:block;margin-top:4px;font-weight:400}.meal-day strong{font-size:.84rem;line-height:1.3;overflow-wrap:anywhere}.meal-day>small{font-size:.7rem;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.planning-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.planning-columns .card-head{align-items:end;gap:10px;margin-bottom:13px}.planning-columns .eyebrow{color:var(--blue);margin-bottom:5px}.planning-columns h2{font-size:1.16rem}.planning-stack{display:grid;gap:10px}.planning-list-card{display:flex;flex-direction:column;gap:7px;width:100%;padding:16px}.planning-list-card strong{font-size:.94rem}.planning-list-card small{font-size:.75rem}.wish-status{color:var(--muted);font-size:.72rem;font-weight:650}.wish-status.accepted{color:#248568}.recipe-symbol{color:var(--blue)}.recipe-symbol .icon{width:18px;height:18px}.planning-detail{line-height:1.6}.planning-detail>p{white-space:pre-wrap;overflow-wrap:anywhere}.planning-detail h3{font-size:1rem}.approval-panel{background:var(--blue-light);border-radius:12px;padding:15px;margin:15px 0}.approval-panel p{font-size:.8rem;margin:5px 0 12px}.planning-comment{padding:10px 0;border-top:1px solid var(--line)}.planning-comment>p{font-size:.84rem;white-space:pre-wrap;margin:4px 0}.planning-comment .text-link{font-size:.72rem}.planning-detail .card-head{margin:22px 0 8px}.recipe-ingredients{padding-left:20px;font-size:.87rem}.recipe-ingredients li{padding:4px 0}
@media(max-width:1150px){.meal-days{grid-template-columns:repeat(4,minmax(0,1fr))}.dream-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.today-summary{display:flex;flex-direction:column;align-items:stretch}.today-summary>strong{font-size:2rem}.today-summary .summary-divider{display:block}.today-summary .text-link{display:inline-flex}.today-summary-list{display:grid}.planning-intro{align-items:stretch;flex-direction:column}.planning-intro .button{width:100%}.dream-grid,.planning-columns{grid-template-columns:1fr}.meal-week{padding:17px}.meal-week .card-head{align-items:flex-start;flex-direction:column}.meal-days{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-day{min-height:113px}.planning-columns{gap:28px}.planning-columns .button{padding:8px 10px}.vehicle-card-art img{height:130px}}

/* Admin-Center */
.admin-heading{margin-bottom:25px}.admin-loading{padding:25px}.admin-intro{padding:29px;background:linear-gradient(135deg,var(--blue-light),var(--surface));margin-bottom:19px}.admin-intro .eyebrow,.admin-section-head .eyebrow,.admin-panel .eyebrow{color:var(--blue)}.admin-intro h2{font-size:1.65rem;margin:9px 0}.admin-intro p,.admin-section-head p,.admin-panel p{font-size:.88rem;color:var(--muted);line-height:1.55}.admin-intro p{margin-bottom:22px}.admin-stats{display:flex;gap:25px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:19px}.admin-stats span{font-size:.77rem;color:var(--muted)}.admin-stats strong{display:block;color:var(--ink);font-size:1.13rem}.admin-grid,.admin-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-tile{border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);padding:23px;display:flex;flex-direction:column;text-align:left;align-items:flex-start;gap:8px;min-height:174px}.admin-tile:hover,.admin-member-card:hover{border-color:var(--blue);background:var(--hover)}.admin-tile-icon{height:42px;width:42px;border-radius:12px;background:var(--blue-light);color:var(--blue);display:grid;place-items:center;margin-bottom:4px}.admin-tile-icon .icon{width:21px;height:21px}.admin-tile strong{font-size:1.04rem}.admin-tile>span:not(.admin-tile-icon){font-size:.84rem;color:var(--muted)}.admin-tile small{margin-top:auto}.admin-back{color:var(--blue);font-size:.84rem;font-weight:650;padding:8px 0;margin-bottom:13px}.admin-section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:0 0 20px}.admin-section-head h2{font-size:1.6rem;margin:5px 0}.admin-section-head p{margin:0}.admin-member-list{display:grid;gap:10px}.admin-member-card{display:flex;align-items:center;gap:14px;width:100%;padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:var(--surface);text-align:left}.admin-member-card>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.admin-member-card strong{font-size:.92rem}.admin-card-arrow{margin-left:auto;font-size:1.35rem;color:var(--muted)}.admin-member-hero{display:flex;align-items:center;gap:16px;padding:23px;margin-bottom:16px}.admin-member-hero h2{font-size:1.5rem;margin:2px 0}.admin-member-hero p{margin:0;color:var(--muted);font-size:.85rem}.admin-state{margin-left:auto;border-radius:999px;padding:5px 10px;color:#177257;background:#e3f7ef;font-size:.72rem;font-weight:700}.admin-state.inactive{color:var(--muted);background:var(--bg)}.admin-panel{padding:23px;min-width:0}.admin-panel h3{font-size:1.07rem;margin:0 0 10px}.admin-panel .button{margin:5px 8px 7px 0}.admin-panel>small{display:block;margin-top:9px}.admin-form label,.admin-panel form label,.admin-link-result label{display:grid;gap:6px;font-size:.82rem;font-weight:600;margin:13px 0}.admin-form input,.admin-form select,.admin-panel form input,.admin-panel form select,.admin-link-result input{width:100%;border:1px solid var(--line);background:var(--input);color:var(--ink);border-radius:9px;padding:11px;min-height:44px}.admin-form{max-width:650px}.admin-link-result{margin-top:16px;padding:20px}.admin-link-result input{font-size:.76rem}.admin-big-day{font-size:2rem;font-weight:700;letter-spacing:-1px;margin:6px 0 10px}.admin-history{margin-top:18px}.admin-timeline{border-left:2px solid var(--blue-light);margin:19px 0 0 8px;padding-left:19px;display:grid;gap:17px}.admin-timeline>div{display:grid;gap:2px;position:relative}.admin-timeline>div:before{content:'';position:absolute;left:-25px;top:6px;width:10px;height:10px;background:var(--blue);border-radius:50%}.admin-timeline strong{font-size:.9rem}.admin-timeline small{font-size:.78rem}.admin-timeline .text-link{justify-self:start}.admin-mini-list{display:grid;gap:0}.admin-mini-list>div{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding:10px 0;font-size:.85rem}.admin-mini-list>div:last-child{border:0}.admin-mini-list small,.admin-mini-list strong{margin-left:auto}.admin-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.admin-privacy{margin-top:16px;padding:20px;background:var(--blue-light)}.admin-privacy p{font-size:.84rem;color:var(--muted);margin:4px 0 0}.admin-demo-note{background:var(--blue-light);border-radius:10px;padding:12px 14px;font-size:.81rem;color:var(--ink)}
@media(max-width:800px){.admin-role-grid{grid-template-columns:1fr}.admin-detail-grid{grid-template-columns:1fr}}@media(max-width:620px){.admin-grid{grid-template-columns:1fr}.admin-intro,.admin-panel{padding:18px}.admin-section-head{align-items:stretch;flex-direction:column}.admin-section-head .button{align-self:flex-start}.admin-member-hero{padding:17px;flex-wrap:wrap}.admin-state{margin-left:0}.admin-stats{gap:12px 20px}.admin-tile{min-height:145px;padding:18px}}

/* Konto, Mitteilungen und Erinnerungen 0.14 */
.notification-bell{position:relative;color:var(--ink)}.notification-count{position:absolute;top:0;right:-3px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#dc4a53;color:white;font-size:.63rem;line-height:18px;text-align:center;font-weight:750}.notification-count[hidden]{display:none}.inbox-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:8px 0 14px}.inbox-head p{margin:0;color:var(--muted);font-size:.84rem}.inbox-list{display:grid;max-height:55dvh;overflow:auto;border-top:1px solid var(--line)}.inbox-item{display:grid;grid-template-columns:8px minmax(0,1fr) 18px;gap:12px;align-items:start;width:100%;text-align:left;padding:15px 5px;border-bottom:1px solid var(--line)}.inbox-item:hover{background:var(--hover)}.inbox-item.unread{background:var(--blue-light)}.inbox-indicator{height:7px;width:7px;border-radius:50%;margin-top:22px}.inbox-item.unread .inbox-indicator{background:var(--blue)}.inbox-item>span:nth-child(2){display:grid;gap:4px;min-width:0}.inbox-item strong{font-size:.9rem;line-height:1.3}.inbox-item small{font-size:.72rem}.inbox-item>span:nth-child(2)>span{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.inbox-item>.icon{width:16px;height:16px;margin-top:20px;color:var(--muted)}.inbox-empty{padding:32px 12px;text-align:center}.inbox-empty p{font-size:.84rem;color:var(--muted);margin:7px 0 0}.account-hub-hero{display:flex;align-items:center;gap:17px;background:var(--blue-light);border-radius:15px;padding:20px;margin:12px 0 20px}.account-hub-hero h3{font-size:1.35rem;margin:0}.account-hub-hero p{margin:3px 0 0;font-size:.83rem;color:var(--muted)}.account-hub-hero .eyebrow{font-size:.67rem;color:var(--blue);margin-bottom:3px}.account-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.account-hub-tile{display:grid;align-content:start;gap:6px;min-height:112px;text-align:left;border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface)}.account-hub-tile:hover{background:var(--hover);border-color:var(--blue)}.account-hub-tile strong{font-size:.93rem}.account-hub-tile span{font-size:.78rem;color:var(--muted);line-height:1.45}.account-back{font-size:.84rem;color:var(--blue);font-weight:650;padding:5px 0 14px}.account-explain{font-size:.85rem;color:var(--muted)}
.memory-overview{grid-template-columns:minmax(0,1.15fr) repeat(2,minmax(0,1fr));gap:18px}.memory-feature-empty{display:grid;align-content:end;gap:8px;min-height:210px;padding:22px;border-radius:16px;background:var(--blue-light)}.memory-feature-empty strong{font-size:1.05rem}.memory-feature-empty span{font-size:.8rem;color:var(--muted)}.memory-size{display:flex;gap:3px;border:1px solid var(--line);padding:3px;border-radius:12px;background:var(--surface)}.memory-grid.size-large{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-grid.size-compact{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.size-compact .memory-card-body{padding:12px}.size-compact .memory-card-body>p,.size-compact .memory-card-footer{display:none}.size-compact .memory-card-meta{font-size:.66rem}.size-compact .memory-title h2{font-size:.84rem;line-height:1.25}.size-compact .memory-cover{aspect-ratio:1}.memory-detail-meta .pill{background:var(--blue-light);color:var(--ink);border:1px solid var(--line);font-weight:650}.memory-detail-meta .pill .icon{color:var(--blue)}html[data-theme=dark] .memory-detail-meta .pill{background:#263b61;color:#f3f6ff;border-color:#5775ad}html[data-theme=dark] .memory-detail-meta .pill .icon{color:#bcd0ff}
@media(max-width:1150px){.memory-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-overview-copy{grid-column:1/-1}.memory-grid.size-compact{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.memory-overview{grid-template-columns:1fr}.memory-overview-copy{grid-column:auto}.memory-grid.size-large{grid-template-columns:1fr}.memory-grid.size-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.memory-size{width:100%;justify-content:center}.memory-size>.filter{flex:1}.account-hub-grid{grid-template-columns:1fr}.account-hub-tile{min-height:78px}.inbox-head{align-items:flex-start;flex-direction:column}.inbox-list{max-height:62dvh}.top-actions{gap:7px}}
.memory-yearbook{display:grid;gap:22px;justify-items:center}.yearbook-sheet{width:min(100%,560px);aspect-ratio:1;border:1px solid var(--line);border-radius:8px;background:#f9f8f5;color:#172239;display:flex;flex-direction:column;padding:6%;overflow:hidden;box-shadow:var(--shadow)}.yearbook-sheet-head{flex:0 0 auto}.yearbook-sheet-head small{font-size:.7rem;color:#5e6b7f}.yearbook-sheet-head h3{font-size:1.3rem;line-height:1.25;margin:7px 0 15px;color:#172239}.yearbook-sheet-photos{min-height:0;flex:1;display:grid;gap:7px;overflow:hidden}.yearbook-sheet-photos img{width:100%;height:100%;min-height:0;object-fit:contain;background:#121a2b}.yearbook-sheet-photos.count-2{grid-template-rows:1fr 1fr}.yearbook-sheet-photos.count-3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.yearbook-sheet-photos.count-3 img:first-child{grid-row:1/3}.yearbook-sheet-photos.count-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.yearbook-sheet-no-photo{background:#e7eaf0;color:#60718f;display:grid;place-items:center}.yearbook-sheet-foot{flex:0 0 auto;display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:14px}.yearbook-sheet-foot p{font-size:.73rem;line-height:1.35;margin:0;max-height:3em;overflow:hidden}.yearbook-sheet-foot small{white-space:nowrap;color:#718099;font-size:.65rem}.yearbook-options{align-items:center}.yearbook-options>p{font-size:.81rem;line-height:1.5}.yearbook-options #yearbook-status{color:var(--blue);font-weight:650}
@media print{@page{size:216mm 216mm;margin:0}body.printing-memories .memory-yearbook{display:block!important}body.printing-memories .yearbook-sheet{width:216mm!important;height:216mm!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;padding:13mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;break-after:page!important;break-inside:avoid!important;background:#f9f8f5!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}body.printing-memories .yearbook-sheet:last-child{break-after:auto!important}body.printing-memories .yearbook-sheet-head h3{font-size:21pt!important;margin-bottom:7mm!important}body.printing-memories .yearbook-sheet-photos{gap:2mm!important}body.printing-memories .yearbook-sheet-photos img{max-height:none!important}body.printing-memories .yearbook-sheet-foot{margin-top:5mm!important}}
/* Version 0.15: compact planning, readable account and album views. */
.list-row.overdue{border-left:3px solid #e45866;background:color-mix(in srgb,#e45866 8%,var(--surface))}.list-row.overdue .row-main small{color:#b63543;font-weight:700}
.calendar-card{max-width:920px}.calendar-card .calendar-cell{min-height:78px;padding:8px}.calendar-card .calendar-grid{gap:3px}.calendar-card .calendar-event{font-size:.68rem;line-height:1.25;padding:2px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-card .date-number{font-size:.85rem}.day-agenda{max-width:920px}
.home-meal h3{font-size:1.3rem;margin:18px 0 8px}.home-vehicles .home-vehicle-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.home-exams .event-row{display:flex;justify-content:space-between;gap:14px;width:100%;text-align:left;padding:10px 0}
.school-exams{margin:20px 0}.school-exams .event-row{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:11px 0;border-bottom:1px solid var(--line)}
.vehicle-availability{margin:25px 0}.vehicle-availability-scroll{overflow-x:auto}.vehicle-availability table{border-collapse:collapse;min-width:780px;width:100%}.vehicle-availability th,.vehicle-availability td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:.78rem}.vehicle-availability th:first-child{min-width:130px}.vehicle-availability td{min-width:98px}.vehicle-availability td.free{color:#27805f}.vehicle-availability td.busy{background:color-mix(in srgb,var(--blue) 9%,var(--surface));color:var(--ink)}.vehicle-availability td button{display:block;text-align:left;color:var(--ink);font-size:.77rem;line-height:1.45}.vehicle-availability td span{display:block;line-height:1.45}.vehicle-availability .vehicle-hint{font-size:.75rem;color:var(--muted)}
.foundation-intro{padding:28px;margin-bottom:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 15%,var(--surface)),var(--surface))}.foundation-intro h2{font-size:1.8rem;margin:8px 0}.foundation-intro p{color:var(--muted);max-width:60ch}.foundation-filter{margin-bottom:20px}.foundation-card .record-meta{display:flex;justify-content:space-between}.event-rsvp{padding:18px 0;border-top:1px solid var(--line)}.event-rsvp .filter-bar{justify-content:flex-start}.event-response-list{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.event-response-list>span{display:flex;align-items:center;gap:5px;font-size:.8rem;background:var(--input);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:4px 9px}#social-comment-form{display:grid;gap:10px;margin-top:15px}#social-comment-form textarea{width:100%;background:var(--input);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px}
.security-device{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.security-device span{display:grid;gap:3px}.security-device small{color:var(--muted)}
.yearbook-sheet-foot{display:block}.yearbook-sheet-foot p{max-height:none;white-space:pre-wrap;overflow:visible;line-height:1.45}.yearbook-sheet-foot small{display:block;text-align:right;margin-top:10px}.yearbook-story-sheet .yearbook-sheet-foot{margin-top:25px}.yearbook-story-sheet .yearbook-sheet-foot p{font-size:.88rem;line-height:1.65}.memory-detail-meta .pill,.memory-detail-meta .pill.muted,.detail-content .pill{background:var(--surface);border:1px solid var(--line);color:var(--ink)}[data-theme="dark"] .memory-detail-meta .pill,[data-theme="dark"] .detail-content .pill{background:#263249;color:#eef4ff;border-color:#50617c}
@media(max-width:620px){.calendar-card .calendar-cell{min-height:61px;padding:5px}.calendar-card .calendar-event{display:none}.calendar-card .calendar-cell:has(.calendar-event) .date-number:after{content:' •';color:var(--blue)}.home-vehicles .home-vehicle-row{display:grid}.foundation-filter{overflow-x:auto;flex-wrap:nowrap}.foundation-filter .filter{white-space:nowrap}}
@media print{body.printing-memories .yearbook-sheet-foot p{max-height:none!important;white-space:pre-wrap!important;overflow:visible!important}body.printing-memories .yearbook-story-sheet .yearbook-sheet-foot{margin-top:8mm!important}}
/* Familienkalender: Filter, Monatsraster und Tagesliste folgen derselben Spalte. */
.calendar-subscribe-bar,.calendar-filter-bar,.calendar-card,.day-agenda{width:100%;max-width:1040px;margin-left:0;margin-right:0}
.calendar-page-heading{max-width:1040px}
.calendar-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
@media(max-width:620px){.calendar-subscribe-bar{align-items:stretch}.calendar-toolbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.calendar-toolbar-actions .button{width:100%;white-space:normal;line-height:1.25;text-align:center}}
@media(max-width:390px){.calendar-toolbar-actions{grid-template-columns:1fr}}
.calendar-card .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.shopping-batch-heading,.shopping-batch-card{max-width:760px}
.shopping-batch-card{display:grid;gap:14px;padding:28px}
.shopping-batch-card>label{font-weight:700;font-size:.9rem}
.shopping-batch-card>select{width:100%;max-width:420px;min-height:48px;background:var(--input);border:1px solid var(--line);border-radius:10px;padding:10px 14px;color:var(--ink)}
.shopping-batch-lines{display:grid;gap:9px;margin-top:6px}
.shopping-batch-row{display:flex;align-items:center;gap:8px}
.shopping-batch-row input{flex:1;min-width:0;min-height:48px;background:var(--input);border:1px solid var(--line);border-radius:10px;padding:10px 14px;color:var(--ink)}
.shopping-batch-row .icon-button{flex:none;border:1px solid var(--line);background:var(--hover)}
.shopping-batch-status{min-height:24px;margin:0;color:var(--muted);font-size:.85rem}
.shopping-batch-actions{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px}
@media(max-width:620px){.shopping-batch-card{padding:18px}.shopping-batch-actions{display:grid;grid-template-columns:1fr}.shopping-batch-actions .button{width:100%}}
.timetable-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
@media print{
 @page{size:A4 landscape;margin:12mm}
 body.print-school,body.print-school .workspace,body.print-school main{background:#fff!important;color:#142139!important;min-height:0;margin:0!important;padding:0!important;max-width:none!important}
 body.print-school .sidebar,body.print-school .topbar,body.print-school footer,body.print-school #content>:not(.school-timetable),body.print-school .timetable-actions,body.print-school #editor,body.print-school #toast{display:none!important}
 body.print-school .school-timetable{display:block!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;background:#fff!important}
 body.print-school .timetable-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;overflow:visible!important;gap:7px!important}
 body.print-school .timetable-day{background:#fff!important;border-color:#b6c2d6!important;break-inside:avoid}
 body.print-school .timetable-lesson{background:#fff!important;border-color:#cdd6e4!important;opacity:1!important;break-inside:avoid}
 body.print-school .timetable-day-full{display:inline!important}
}
/* Teilen, Suche und Family Flow */
.share-panel{display:grid;gap:13px}.share-panel h3{margin:0;font-size:1.15rem}.share-panel p{margin:0;color:var(--muted);font-size:.86rem}.share-panel label{display:grid;gap:7px;font-size:.85rem;font-weight:600}.share-panel input,.share-panel textarea,.global-search input{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--input);color:var(--ink);padding:12px}.share-panel textarea{resize:vertical}.share-actions,.list-actions{display:flex;gap:9px;flex-wrap:wrap}.share-note{border-top:1px solid var(--line);padding-top:11px}.global-search{display:grid;gap:16px}.global-search label{display:grid;gap:7px;font-weight:600}.global-search-result{width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left;padding:12px;border-bottom:1px solid var(--line)}.global-search-result:hover{background:var(--hover)}.global-search-result span{color:var(--muted);font-size:.8rem}.week-focus{padding:23px}.week-focus .card-head span{font-size:.75rem;color:var(--muted)}.week-focus-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.week-focus-grid a{display:grid;gap:2px;border:1px solid var(--line);border-radius:12px;background:var(--hover);padding:12px}.week-focus-grid a:hover{border-color:var(--blue)}.week-focus-grid strong{font-size:1.35rem;color:var(--blue)}.week-focus-grid span{font-size:.76rem;color:var(--muted)}.week-focus>p{font-size:.83rem;color:var(--muted);margin:0}.list-actions{justify-content:flex-end;padding:4px 0 16px}.shopping-mode-panel{padding:24px}.shopping-mode-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.shopping-mode-head h2{font-size:1.4rem}.shopping-mode-head p{color:var(--muted);font-size:.83rem;margin:5px 0 0}.shopping-mode-list{display:grid;gap:10px;margin-bottom:18px}.shopping-mode-item{display:flex;align-items:center;gap:15px;width:100%;min-height:76px;text-align:left;border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--surface)}.shopping-mode-item:hover{border-color:var(--blue);background:var(--blue-light)}.shopping-mode-check{display:grid;place-items:center;width:38px;height:38px;flex:none;border:2px solid var(--blue);border-radius:10px;color:transparent}.shopping-mode-item>span:nth-child(2){display:grid;gap:2px;flex:1}.shopping-mode-item strong{font-size:1.05rem}.shopping-mode-item small{font-size:.82rem}.shopping-mode-item em{font-style:normal;font-size:.73rem;font-weight:700;border-radius:999px;padding:4px 8px;background:var(--blue-light);color:var(--blue)}.hub-intro{padding:26px;margin-bottom:20px}.hub-intro h2{font-size:1.4rem;margin-bottom:5px}.hub-intro p{font-size:.87rem;color:var(--muted);margin:0}.hub-tabs{overflow-x:auto;flex-wrap:nowrap}.hub-tabs .filter{white-space:nowrap}.hub-section-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:20px 0}.hub-section-head h2{font-size:1.2rem}.hub-section-head p{font-size:.83rem;color:var(--muted);margin:3px 0 0}.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hub-card{display:grid;gap:8px;text-align:left;padding:20px;min-height:150px}.hub-card:hover{border-color:var(--blue)}.hub-card-type{font-size:.7rem;color:var(--blue);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.hub-card strong{font-size:1.08rem}.hub-card>span:nth-last-child(2){font-size:.84rem;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hub-card small{font-size:.75rem}.hub-empty{padding:24px}.hub-detail{display:grid;gap:12px}.hub-detail>p{margin:0}.hub-detail h3{margin:8px 0 0}.hub-linked{display:grid;gap:7px}.hub-linked button{display:flex;justify-content:space-between;gap:10px;text-align:left;border:1px solid var(--line);padding:10px 12px;border-radius:10px}.hub-linked button:hover{border-color:var(--blue)}.hub-linked small{color:var(--muted)}.hub-links{border:1px solid var(--line);border-radius:10px;padding:12px}.hub-links legend{font-weight:600}.hub-links p{font-size:.78rem;color:var(--muted)}.hub-links>div{display:grid;max-height:200px;overflow:auto;gap:7px}.hub-links label{font-weight:400!important;display:flex!important;align-items:center}.hub-links input{width:auto!important}.hub-poll-options{display:grid;gap:9px}.hub-poll-options button{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);padding:12px;border-radius:10px}.hub-poll-options button.selected{border-color:var(--blue);background:var(--blue-light)}.hub-poll-options span{font-size:.78rem;color:var(--muted)}
@media(max-width:800px){.week-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-grid{grid-template-columns:1fr}}
@media(max-width:620px){.shopping-mode-head,.hub-section-head{flex-direction:column;align-items:stretch}.share-actions .button{width:100%}.global-search-result{flex-direction:column;gap:3px}}
@media print{body.print-school .school-timetable,body.print-school .school-timetable *{color:#142139!important;text-shadow:none!important}body.print-school .timetable-time{color:#245ce5!important}}

.shopping-mode-group{display:grid;gap:8px}.shopping-mode-group h3{display:flex;justify-content:space-between;align-items:center;margin:12px 0 2px;font-size:.88rem;color:var(--muted)}.shopping-mode-group h3 small{font-weight:500}

/* Dokumentablage */
.document-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;padding:30px;margin-bottom:20px;background:linear-gradient(125deg,var(--surface),var(--blue-light))}.document-hero .eyebrow{color:var(--blue)}.document-hero h2{font-size:1.55rem;margin:8px 0 5px}.document-hero p{margin:0;color:var(--muted);font-size:.88rem}.document-hero-stats{display:flex;gap:14px;flex:none}.document-hero-stats span{display:grid;gap:1px;min-width:105px;padding:12px 16px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--muted);font-size:.77rem}.document-hero-stats strong{color:var(--ink);font-size:1.35rem}.document-tools{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:12px;max-width:1050px;margin-bottom:14px}.document-tools input,.document-tools select{width:100%;height:48px;border:1px solid var(--line);border-radius:11px;background:var(--input);color:var(--ink);padding:0 15px}.document-filters{margin-bottom:8px}.document-count{font-size:.78rem;color:var(--muted);margin:0 0 15px}.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;max-width:1050px}.document-card{width:100%;display:flex;gap:15px;align-items:flex-start;text-align:left;padding:18px;min-height:147px}.document-card:hover{border-color:var(--blue);background:var(--hover)}.document-card-icon,.document-file-icon{display:grid;place-items:center;flex:none;width:43px;height:43px;border-radius:12px;background:var(--blue-light);color:var(--blue)}.document-card-body{display:grid;gap:4px;min-width:0;flex:1}.document-card-top{display:flex;gap:8px;justify-content:space-between;align-items:center}.document-card-body strong{font-size:1.02rem;overflow-wrap:anywhere}.document-card-body>span:not(.document-card-top){color:var(--muted);font-size:.82rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.document-card-body small{font-size:.72rem}.document-arrow{color:var(--blue)}.document-due{font-size:.69rem;font-style:normal;font-weight:700;padding:3px 8px;border-radius:99px;white-space:nowrap;background:#fff1d4;color:#925c00}.document-due.expired{background:#ffe4e8;color:#ae344e}.document-empty{grid-column:1/-1;padding:28px}.document-empty p{color:var(--muted);margin:5px 0 0}dialog:has(.document-detail),dialog:has(.document-preview),dialog:has(.document-scan){max-width:780px}.document-detail{display:grid;gap:16px}.document-detail-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.document-detail .detail-text{margin:0}.document-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.document-facts>div,.document-facts>button{display:grid;gap:3px;text-align:left;padding:12px;background:var(--hover);border:1px solid var(--line);border-radius:10px}.document-facts small{font-size:.72rem}.document-facts strong{font-size:.86rem;overflow-wrap:anywhere}.document-facts button:hover{border-color:var(--blue)}.document-section-head{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:18px}.document-section-head h3{font-size:1rem;margin:0}.document-file-row{border:1px solid var(--line);border-radius:12px;padding:13px;display:grid;gap:9px}.document-file-current{display:flex;gap:10px;align-items:center;min-width:0}.document-file-current>div{display:grid;gap:2px;min-width:0}.document-file-current strong{overflow-wrap:anywhere;font-size:.86rem}.document-file-actions{display:flex;flex-wrap:wrap;gap:7px}.document-file-actions .button{padding:7px 11px;font-size:.76rem}.document-file-actions .text-link{font-size:.77rem}.document-remove{color:#cf4558}.document-file-row details{border-top:1px solid var(--line);padding-top:8px}.document-file-row summary{cursor:pointer;font-size:.78rem;color:var(--muted)}.document-version{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:7px 0;border-bottom:1px solid var(--line);font-size:.77rem}.document-version span{margin-right:auto}.document-preview{min-height:250px;max-height:65dvh;display:grid;place-items:center;background:var(--bg);border-radius:12px;overflow:auto}.document-preview img{display:block;max-width:100%;max-height:62dvh;object-fit:contain}.document-preview iframe{display:block;width:100%;height:62dvh;border:0}.document-scan{display:grid;gap:13px}.document-scan p{margin:0;color:var(--muted);font-size:.84rem}.document-scan>label{display:grid;gap:6px}.document-scan input[type=file]{max-width:100%}.document-scan canvas{max-width:100%;max-height:48dvh;justify-self:center;border-radius:8px}.document-crop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.document-crop label{display:grid;gap:3px;font-size:.77rem}.document-crop input{width:100%}.document-scan #scan-pages{font-size:.8rem;color:var(--muted)}
@media(max-width:720px){.document-hero{align-items:stretch;flex-direction:column;padding:23px}.document-hero-stats span{flex:1}.document-tools{grid-template-columns:1fr}.document-grid{grid-template-columns:1fr}.document-facts{grid-template-columns:1fr}.document-file-actions .button{flex:1;justify-content:center}.document-card{min-height:130px}}
.document-ocr-progress{display:grid;gap:14px;padding:12px 0}.document-ocr-progress p{margin:0;color:var(--muted);font-size:.86rem}.document-ocr-progress strong{display:block;padding:18px;border:1px solid var(--line);border-radius:11px;background:var(--blue-light);color:var(--blue);font-size:.92rem}#document-ocr-editor textarea{display:block;width:100%;min-height:280px;resize:vertical;margin-top:8px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--input);color:var(--ink);line-height:1.55}

/* Family Matters, Notfallkontakte und Aufgabenlisten */
.hub-area{margin:26px 0 34px}.hub-area>.filter-bar{margin:0 0 14px}.hub-area .hub-section-head{margin:0 0 15px}.hub-filter-label{display:flex;align-items:center;gap:12px;margin:0 0 16px;color:var(--muted);font-size:.86rem}.hub-filter-label select{min-width:220px;max-width:100%;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:var(--input);color:var(--ink)}.hub-area .hub-empty{min-height:110px;display:flex;align-items:center}.hub-area .hub-empty p{margin:0;color:var(--muted)}
.task-lists-section{margin-bottom:30px}.task-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.task-list-card{display:grid;text-align:left;gap:9px;padding:20px;min-height:145px}.task-list-card:hover,.task-template-card:hover{border-color:var(--blue)}.task-list-card strong{font-size:1.06rem}.task-list-card>span:not(.hub-card-type){font-size:.8rem;color:var(--muted)}.task-list-progress{display:block;height:6px;border-radius:99px;background:var(--hover);overflow:hidden}.task-list-progress i{display:block;height:100%;border-radius:99px;background:var(--blue)}.task-template-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.task-template-card{padding:14px;display:grid;gap:8px;text-align:left}.task-template-card>button:first-child{display:grid;gap:5px;width:100%;text-align:left}.task-template-card strong{font-size:.9rem}.task-template-card small{color:var(--muted);font-size:.76rem}.task-template-card .text-link{justify-self:start;font-size:.74rem}.task-template-empty{display:flex;align-items:center;gap:15px;flex-wrap:wrap;color:var(--muted);font-size:.85rem}.task-list-detail{display:grid;gap:13px}.task-list-detail>p{margin:0;color:var(--muted)}.task-list-items{display:grid;gap:5px;max-height:48dvh;overflow:auto}.task-list-item{display:flex;align-items:center;gap:11px;min-height:49px;padding:6px 3px;border-bottom:1px solid var(--line)}.task-list-item>span{flex:1}.task-list-item .completed{text-decoration:line-through;color:var(--muted)}.task-list-item .icon-button{font-size:1.15rem;color:var(--muted)}.emergency-list{display:grid;gap:12px}.emergency-list>p{margin:0 0 5px;color:var(--muted)}.emergency-contact{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px}.emergency-contact>div{flex:1;display:grid;gap:3px}.emergency-contact small{color:var(--muted);font-size:.77rem}.home-polls .event-row{width:100%;text-align:left}.home-polls .event-row span{display:block;color:var(--muted);font-size:.78rem}
@media(max-width:850px){.task-list-grid,.task-template-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.task-list-grid,.task-template-row{grid-template-columns:1fr}.hub-filter-label{align-items:stretch;flex-direction:column}.emergency-contact{flex-wrap:wrap}.emergency-contact>div{min-width:100%}.emergency-contact .button{flex:1;justify-content:center}}

/* Zwei klar getrennte Einkaufslisten: Haushalt und gemeinsame Liste mit Großeltern. */
.shopping-list-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem}
.shopping-tab{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.65rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-weight:650;cursor:pointer}
.shopping-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}
.admin-access-toggle{display:flex!important;align-items:center;gap:.65rem;margin:.5rem 0!important;line-height:1.35}
.admin-access-toggle input{width:1.2rem;height:1.2rem;accent-color:var(--primary);flex:none}
.admin-panel form .admin-access-toggle{max-width:100%;align-items:flex-start;overflow-wrap:anywhere}
.admin-panel form .admin-access-toggle input[type="checkbox"]{width:1.2rem;min-width:1.2rem;height:1.2rem;min-height:1.2rem;padding:0;margin:2px 0 0;flex:0 0 1.2rem}
.admin-panel form [hidden]{display:none!important}
.admin-ai-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.admin-ai-summary>.card{padding:18px;display:grid;gap:7px;min-width:0}.admin-ai-summary small,.admin-ai-person small,.admin-ai-members>small,.admin-ai-metrics small{color:var(--muted);font-size:.75rem}.admin-ai-summary strong{font-size:1.6rem;line-height:1.1;overflow-wrap:anywhere}.admin-ai-members,.admin-ai-metrics{margin-top:16px}.admin-ai-members .admin-section-head{margin-bottom:12px}.admin-ai-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0}.admin-ai-person{padding:17px;min-width:0}.admin-ai-person-head{display:flex;align-items:center;gap:10px}.admin-ai-person-head>div{display:grid;gap:2px}.admin-ai-person-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:15px 0;border-bottom:1px solid var(--line)}.admin-ai-person-stats span{display:grid;gap:2px;min-width:0}.admin-ai-person-stats strong{font-size:1.17rem;overflow-wrap:anywhere}.admin-ai-person form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 10px;align-items:end}.admin-ai-person form label{margin:12px 0 5px}.admin-ai-person form .button{justify-self:start;grid-column:1/-1}.admin-ai-person>small{display:block;margin-top:6px}.admin-ai-person [hidden]{display:none!important}@media(max-width:900px){.admin-ai-people{grid-template-columns:1fr}}@media(max-width:620px){.admin-ai-summary{grid-template-columns:1fr}.admin-ai-person-stats strong{font-size:1.02rem}.admin-ai-person form{grid-template-columns:1fr}}
.admin-ai-person form[data-ai-model]{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.admin-ai-person details{margin-top:10px}.admin-ai-person details summary{cursor:pointer}.admin-ai-person details ul{padding-left:20px;margin:8px 0;overflow-wrap:anywhere}
.admin-ai-free-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px;margin:14px 0}.admin-ai-free-grid .card{padding:18px;min-width:0}.admin-ai-free-grid form{display:grid;align-content:start;gap:10px}.admin-ai-free-grid form>div{display:grid;gap:4px}.admin-ai-free-grid form small,.admin-ai-free-grid form p{color:var(--muted)}.admin-ai-free-grid form p{margin:0}.admin-ai-free-grid label{display:grid;gap:6px}.admin-ai-free-grid label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px}.admin-ai-free-grid input[type=checkbox]{width:auto;flex:none}.admin-ai-free-grid .button{justify-self:start}.admin-ai-caution{color:var(--muted);font-size:.9rem}.admin-ai-table-wrap{max-width:100%;overflow-x:auto}.admin-ai-calls{width:100%;min-width:780px;border-collapse:collapse}.admin-ai-calls th,.admin-ai-calls td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.admin-ai-calls th{color:var(--muted);font-size:.78rem}
.admin-ai-calls details{min-width:95px}.admin-ai-calls details summary{cursor:pointer}.admin-ai-calls pre{max-width:420px;max-height:260px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.72rem}
.admin-ai-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-ai-summary>.card{position:relative;overflow:hidden;align-content:start;gap:9px;border-top:3px solid var(--primary)}.admin-ai-summary>.card:after{content:"";position:absolute;right:-20px;top:-34px;width:100px;height:100px;border-radius:50%;background:var(--primary);opacity:.07;pointer-events:none}.admin-ai-summary .admin-ai-error-card{border-top-color:var(--danger,#e89558)}.admin-ai-summary .admin-ai-cost-card{border-top-color:var(--accent,#ffb66d)}.admin-ai-summary .admin-ai-euro{font-size:1.05rem;font-weight:750;color:var(--ink)}.admin-ai-summary a{color:var(--primary);text-underline-offset:2px}.admin-ai-model-overview{padding:20px;margin:0 0 16px}.admin-ai-model-overview-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:16px}.admin-ai-model-overview-head h3{margin:5px 0 0}.admin-ai-model-overview-head>small{color:var(--muted);max-width:380px;text-align:right}.admin-ai-model-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px}.admin-ai-model-card{display:grid;align-content:start;gap:10px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.admin-ai-model-card>div{display:flex;justify-content:space-between;gap:8px;align-items:start}.admin-ai-model-card strong{overflow-wrap:anywhere}.admin-ai-model-card small{color:var(--muted);font-size:.75rem}.admin-ai-model-card>div small{white-space:nowrap}.admin-ai-model-card b{font-size:1.1rem}@media(max-width:900px){.admin-ai-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.admin-ai-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-ai-summary .admin-ai-token-card,.admin-ai-summary .admin-ai-cost-card{grid-column:1/-1}.admin-ai-model-overview-head{display:block}.admin-ai-model-overview-head>small{display:block;text-align:left;margin-top:8px}}
.admin-ai-feature-section{margin:16px 0}.admin-ai-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px;margin:18px 0}.admin-ai-feature{display:grid;align-content:start;gap:10px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.admin-ai-feature>div{display:flex;justify-content:space-between;align-items:start;gap:8px}.admin-ai-feature h4{margin:0;font-size:1rem}.admin-ai-feature p{margin:0;color:var(--muted);font-size:.87rem;line-height:1.45}.admin-ai-feature small{color:var(--muted);line-height:1.4}.admin-ai-feature .button{justify-self:start;margin-top:auto}.admin-ai-feature-state{flex:none;padding:3px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.7rem;font-weight:700}.admin-ai-feature-state.is-on{border-color:var(--primary);color:var(--primary)}.admin-ai-setup{padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.admin-ai-setup ol{margin:9px 0 0;padding-left:20px}.admin-ai-setup li{margin:6px 0;color:var(--muted);font-size:.85rem;line-height:1.4}@media(max-width:620px){.admin-ai-feature-grid{grid-template-columns:1fr}.admin-ai-feature>div{flex-wrap:wrap}}
.admin-ai-member-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.admin-ai-member-insights>div{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:12px;min-width:0}.admin-ai-member-insights strong{font-size:1.2rem;overflow-wrap:anywhere}.admin-ai-member-cost{display:grid;gap:5px;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.admin-ai-member-cost strong{font-size:1.45rem;line-height:1.2}.admin-ai-member-cost>span{font-weight:700;color:var(--primary)}.admin-ai-budget-meter{height:8px;margin-top:7px;border-radius:999px;background:var(--line);overflow:hidden}.admin-ai-budget-meter i{display:block;height:100%;border-radius:inherit;background:var(--primary)}.admin-ai-member-models{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.admin-ai-member-models span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.75rem;overflow-wrap:anywhere}.admin-ai-member-models b{color:var(--ink)}
.memory-contribute{display:inline-flex!important;margin:.8rem 0;cursor:pointer}
@media(max-width:600px){.shopping-list-tabs{display:grid;grid-template-columns:1fr 1fr}.shopping-tab{font-size:.85rem;padding:.6rem}.admin-access-toggle{align-items:flex-start}}

/* Wechselbare Ansichten fuer Dokumente und Family Matters. */
.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:2px 0 16px}.collection-heading .document-count{margin:0}.collection-hint{color:var(--muted);font-size:.8rem}.view-switch{display:flex;gap:6px;flex-wrap:wrap}.view-switch .filter{min-height:40px}.document-grid.layout-list,.hub-grid.layout-list{grid-template-columns:1fr}.document-grid.layout-list .document-card{min-height:90px;align-items:center}.document-grid.layout-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.document-grid.layout-gallery .document-card{display:flex;flex-direction:column;min-height:250px;padding:12px}.document-grid.layout-gallery .document-card-icon{width:100%;height:145px;border-radius:10px;overflow:hidden}.document-card-icon img{display:block;width:100%;height:100%;object-fit:cover}.document-grid.layout-gallery .document-card-icon .icon{width:38px;height:38px}.document-grid.layout-gallery .document-card-body{width:100%;padding:3px 3px 5px}.document-grid.layout-gallery .document-arrow{display:none}.document-grid.layout-gallery .document-card-body>span:not(.document-card-top){-webkit-line-clamp:1}.hub-card-content{display:grid;gap:8px;min-width:0}.hub-card-content strong{font-size:1.08rem}.hub-card-description{font-size:.84rem;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hub-card-content small{font-size:.75rem}.hub-grid.layout-list .hub-card{min-height:85px;padding:14px 18px}.hub-grid.layout-list .hub-card-content{grid-template-columns:minmax(110px,.5fr) minmax(180px,1fr) minmax(160px,1.3fr) auto;align-items:center;gap:14px}.hub-grid.layout-list .hub-card-description{-webkit-line-clamp:1}.meal-shopping-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:950px){.document-grid.layout-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-grid.layout-list .hub-card-content{grid-template-columns:100px minmax(0,1fr) auto}.hub-grid.layout-list .hub-card-description{display:none}}
@media(max-width:620px){.document-grid.layout-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.document-grid.layout-gallery .document-card-icon{height:110px}.hub-grid.layout-list .hub-card-content{grid-template-columns:1fr}.hub-grid.layout-list .hub-card-description{display:-webkit-box}.meal-shopping-actions,.meal-shopping-actions .button{width:100%}}
.meal-day-stack{display:flex;flex-direction:column;min-width:0}.meal-day-stack .meal-day{width:100%;flex:1}.meal-grandparent{margin-top:5px;border:1px solid var(--line);border-radius:10px;background:var(--surface);min-width:0}.meal-grandparent summary{cursor:pointer;padding:9px 10px;font-size:.73rem;font-weight:700;color:var(--blue);overflow-wrap:anywhere}.meal-grandparent>div{padding:0 10px 11px}.meal-grandparent p{margin:2px 0 8px;font-size:.76rem;color:var(--muted);overflow-wrap:anywhere}.meal-grandparent .text-link{font-size:.75rem}.gift-link{border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0}.gift-link summary{cursor:pointer;font-weight:650}.gift-link a{display:block;margin-top:9px;overflow-wrap:anywhere;color:var(--blue)}.gift-comments{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.gift-comments .card-head{margin:0 0 10px}.gift-comments form{display:grid;gap:8px}.gift-comments label{display:grid;gap:7px;font-size:.84rem}.gift-comments textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--ink);padding:10px;resize:vertical}.gift-comments .button{justify-self:start}
.meal-offer-all{display:block;font-size:.72rem;font-weight:700;color:#248568;margin:5px 0}.planning-form .meal-offer-check{display:flex;align-items:center;gap:9px}.planning-form .meal-offer-check input{width:auto;min-width:18px;height:18px}
.meal-offer-responses{margin:12px 0 8px;padding-top:11px;border-top:1px solid var(--line);min-width:0}.meal-offer-response-title{display:flex;align-items:baseline;justify-content:space-between;gap:5px;font-size:.74rem}.meal-offer-response-title small{color:var(--muted);font-size:.68rem;white-space:nowrap}.meal-offer-answer{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.meal-answer{border:1px solid var(--line);border-radius:9px;padding:7px 9px;background:var(--bg);color:var(--ink);font:inherit;font-size:.7rem;font-weight:700;cursor:pointer;min-height:36px}.meal-answer:hover{border-color:var(--blue)}.meal-answer.yes.active{border-color:#248568;background:color-mix(in srgb,#248568 14%,var(--surface));color:var(--ink)}.meal-answer.no.active{border-color:#b65764;background:color-mix(in srgb,#b65764 14%,var(--surface));color:var(--ink)}.meal-answer:disabled{opacity:.6;cursor:wait}.meal-offer-attendees{display:grid;gap:4px;color:var(--muted);font-size:.7rem;line-height:1.4;overflow-wrap:anywhere}.meal-offer-attendees strong{color:var(--ink)}.planning-detail .meal-offer-response-title{font-size:.88rem}.planning-detail .meal-answer{font-size:.8rem;padding:9px 13px}.planning-detail .meal-offer-attendees{font-size:.8rem}
@media(max-width:620px){.dashboard-grid>.home-notes{order:-2}}

.school-context{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:18px;background:color-mix(in srgb,var(--blue) 7%,var(--surface));border-color:color-mix(in srgb,var(--blue) 25%,var(--line))}.school-context .eyebrow{color:var(--blue);margin:0 0 5px}.school-context h2{font-size:1.5rem;line-height:1.2;margin:0 0 6px}.school-context p{color:var(--muted);font-size:.88rem;margin:0}.school-context>label{display:grid;gap:6px;min-width:190px;font-size:.76rem;color:var(--muted);font-weight:700}.school-context select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:8px 11px;background:var(--surface);color:var(--ink);font-size:.94rem}.school-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.school-work-card .card-head{align-items:flex-end}.school-work-card .eyebrow{color:var(--blue);font-size:.68rem;margin-bottom:3px}.school-work-card h3{font-size:1.08rem;margin:0}.school-work-card h3 small{font-size:.74rem;font-weight:500;margin-left:4px}.school-entry-row{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:14px 0;min-width:0}.school-entry-row>.tick{flex:none}.school-entry-icon{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:9px;background:var(--blue-light);color:var(--blue)}.school-entry-icon .icon{width:16px;height:16px}.school-entry-main{display:grid;gap:4px;text-align:left;min-width:0;flex:1}.school-entry-main strong{font-size:.89rem;line-height:1.3;overflow-wrap:anywhere}.school-entry-main span{font-size:.75rem;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.school-entry-date{display:inline-flex;align-items:center;gap:5px;flex:none;padding:6px 8px;border-radius:7px;background:var(--bg);color:var(--ink);font-size:.75rem;white-space:nowrap}.school-entry-date .icon{width:14px;height:14px}.school-entry-date.late{color:#b75443;background:color-mix(in srgb,#b75443 10%,var(--surface))}.school-done{margin-top:7px;border-top:1px solid var(--line);padding-top:10px}.school-done summary{cursor:pointer;color:var(--muted);font-size:.8rem;font-weight:650}.school-done .school-entry-row{opacity:.75}.school-work-card .empty{padding:14px 0}.school-exams .event-row{min-width:0}.school-exams .event-row strong{overflow-wrap:anywhere}@media(max-width:1050px){.school-work-grid{grid-template-columns:1fr}}@media(max-width:620px){.school-context{align-items:stretch;flex-direction:column;gap:16px}.school-context h2{font-size:1.3rem}.school-context>label{min-width:0}.school-entry-row{flex-wrap:wrap}.school-entry-main{min-width:calc(100% - 48px)}.school-entry-date{margin-left:42px}}
.meal-day-stack{align-self:start}.meal-day-stack .meal-day{flex:none;height:137px;min-height:0}.meal-day strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.meal-grandparent summary{position:relative;display:flex;flex-direction:column;justify-content:center;gap:3px;height:70px;padding:9px 10px 9px 25px;white-space:normal;overflow:hidden;overflow-wrap:normal;list-style:none}.meal-grandparent summary::-webkit-details-marker{display:none}.meal-grandparent summary::marker{content:''}.meal-grandparent summary::before{content:'▸';position:absolute;left:10px;top:9px;font-size:.8rem}.meal-grandparent[open] summary::before{transform:rotate(90deg)}.meal-grandparent-heading{font-size:.72rem;line-height:1.15;white-space:nowrap}.meal-grandparent-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;width:100%;font-size:.8rem;line-height:1.2;font-weight:450;color:var(--muted);overflow-wrap:anywhere}.meal-grandparent.has-offer{background:var(--blue-light);border-color:var(--blue)}.meal-grandparent.has-offer .meal-grandparent-preview{font-weight:700;color:var(--ink)}.meal-grandparent .meal-offer-dish{display:block;margin:2px 0 5px;font-size:.8rem;line-height:1.3;overflow-wrap:anywhere}@media(max-width:620px){.meal-day-stack .meal-day{height:128px}}
.school-past-exams{margin-top:16px;border-top:1px solid var(--line);padding-top:13px}.school-past-exams summary{cursor:pointer;color:var(--blue);font-size:.86rem;font-weight:650;margin-bottom:8px}
.school-unassigned{margin-top:20px}.school-unassigned h2{margin-bottom:6px}.school-unassigned p{color:var(--muted);font-size:.875rem;margin-bottom:12px}.school-unassigned .event-row{display:flex;justify-content:space-between;width:100%;text-align:left;border-top:1px solid var(--line);padding:12px 0}

/* One-tap mobile access to the family's everyday lists. */
.mobile-quick-nav{display:none}
@media(max-width:900px){
  .workspace{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .topbar #menu{display:none}
  .mobile-quick-nav{position:fixed;inset:auto 0 0;z-index:24;display:flex;align-items:stretch;gap:4px;padding:7px max(10px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -9px 26px #121b2c12}
  .mobile-quick-link{position:relative;display:flex;flex:1;min-width:0;min-height:53px;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:11px;background:transparent;color:var(--muted);font-size:.68rem;font-weight:650;text-align:center}
  .mobile-quick-link .icon{width:21px;height:21px}
  .mobile-quick-link>span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-quick-link.active{background:var(--blue-light);color:var(--blue)}
  .mobile-quick-link:hover{background:var(--hover);color:var(--blue)}
  .mobile-quick-link:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
  .mobile-quick-count{position:absolute;top:1px;left:calc(50% + 9px);display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--primary);color:#fff;font-size:.65rem;font-weight:750;line-height:1}
}
@media(max-width:620px){.dashboard-grid>.shopping-card{order:-1}}

/* Discoverable release notes, with a small unread marker per account. */
.release-info{position:relative;color:var(--ink)}
.release-dot{position:absolute;top:3px;right:3px;width:9px;height:9px;border-radius:50%;background:#e55b5e;box-shadow:0 0 0 2px var(--surface)}
.release-new{display:inline-block;margin-left:5px;padding:2px 6px;border-radius:99px;background:var(--blue-light);color:var(--blue);font-size:.65rem;font-style:normal;vertical-align:middle}
dialog:has(.release-history){width:min(680px,calc(100% - 28px));max-width:680px}
.release-hero{padding:20px 22px;margin:8px 0 20px;background:var(--blue-light);border-radius:14px}
.release-hero .eyebrow{color:var(--blue);margin-bottom:6px}
.release-hero h3{margin:0 0 7px;font-size:1.3rem}
.release-hero p{margin:0;color:var(--muted);font-size:.85rem}
.release-history{max-height:55dvh;overflow:auto;border:1px solid var(--line);border-radius:12px}
.release-item+ .release-item{border-top:1px solid var(--line)}
.release-item summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 17px;cursor:pointer;list-style:none}
.release-item summary::-webkit-details-marker{display:none}
.release-item summary>span:first-child{display:grid;gap:2px;min-width:0}
.release-item summary small{font-size:.72rem;color:var(--blue)}
.release-item summary strong{font-size:.91rem}
.release-item[open] summary{background:var(--hover)}
.release-item[open] summary>span:last-child{transform:rotate(180deg)}
.release-item ul{margin:0;padding:4px 22px 18px 37px;color:var(--muted);font-size:.83rem;line-height:1.5}
.release-item li+li{margin-top:8px}
.release-item li strong{color:var(--ink)}
@media(max-width:620px){.top-actions{gap:2px}.top-actions #theme{display:none}.top-actions .icon-button{min-width:36px}.release-hero{padding:16px}.release-history{max-height:56dvh}}
/* Fahrzeuge · ruhige Übersicht mit Status vor Detailtabelle */
.vehicle-section{margin:0 0 24px}.vehicle-section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:0 0 12px}.vehicle-section-head .eyebrow{color:var(--blue);font-size:.68rem;letter-spacing:.13em;font-weight:750}.vehicle-section-head h2{margin:4px 0 0;font-size:1.15rem}.vehicle-section-head>span{color:var(--muted);font-size:.82rem}.vehicle-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.vehicle-status{border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:750}.vehicle-status.is-free{color:#137353;background:color-mix(in srgb,#31b889 15%,var(--surface))}.vehicle-status.is-busy{color:#a74a26;background:color-mix(in srgb,#ef9b67 17%,var(--surface))}.vehicle-card-current{background:var(--bg);padding:9px 11px;border-radius:8px;font-weight:650;color:var(--ink)!important;min-height:0!important}.vehicle-card-next{min-height:4em!important}.vehicle-card-next strong{color:var(--ink)}.vehicle-card-special .vehicle-card-art{min-height:85px}.vehicle-availability{padding:0!important;overflow:hidden}.vehicle-availability>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:20px 24px}.vehicle-availability>summary::-webkit-details-marker{display:none}.vehicle-availability>summary strong,.vehicle-availability>summary small{display:block}.vehicle-availability>summary small{font-size:.78rem;color:var(--muted);margin-top:4px}.vehicle-availability[open]>summary{border-bottom:1px solid var(--line)}.vehicle-availability .vehicle-availability-scroll{padding:0 20px}.vehicle-availability>.vehicle-hint{padding:0 20px 12px}.vehicle-attention{border:1px solid var(--blue);border-radius:13px;background:color-mix(in srgb,var(--blue) 9%,var(--surface));padding:14px 18px;margin:0 0 20px}.vehicle-attention p{margin:4px 0 0;color:var(--muted);font-size:.82rem}
.vehicle-card-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.vehicle-card-facts span{border-radius:999px;background:var(--bg);color:var(--ink);padding:4px 8px;font-size:.72rem;font-weight:650}.vehicle-dossier{max-height:min(68vh,760px);overflow:auto;padding-right:4px}.vehicle-dossier-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin-bottom:16px}.vehicle-dossier-stats span{background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:13px;min-width:0}.vehicle-dossier-stats strong,.vehicle-dossier-stats small{display:block}.vehicle-dossier-stats strong{font-size:1.05rem;overflow-wrap:anywhere}.vehicle-dossier-stats small{color:var(--muted);font-size:.72rem;margin-top:4px}.vehicle-dossier-plate{display:inline-block;border:1px solid var(--line);border-radius:6px;padding:5px 9px;font-weight:700}.vehicle-dossier section{border-top:1px solid var(--line);padding:15px 0}.vehicle-dossier-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.vehicle-dossier h3{font-size:1rem;margin:0 0 10px}.vehicle-dossier-row{display:flex;flex-direction:column;gap:3px;width:100%;padding:10px 7px;text-align:left;border-radius:7px;border-bottom:1px solid var(--line)}.vehicle-dossier-row:hover{background:var(--hover)}.vehicle-dossier-row strong{font-size:.88rem}.vehicle-dossier-row span{font-size:.76rem;color:var(--muted)}.vehicle-dossier-kind{color:var(--blue)!important;font-size:.73rem!important;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.vehicle-dossier-empty,.vehicle-record-context{color:var(--muted);font-size:.84rem}.vehicle-record-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.vehicle-record-facts>div{padding:10px;background:var(--bg);border-radius:8px}.vehicle-record-facts small,.vehicle-record-facts strong{display:block}.vehicle-record-facts small{color:var(--muted);font-size:.71rem}.vehicle-record-facts strong{margin-top:3px;font-size:.87rem}@media(max-width:620px){.vehicle-dossier-stats{grid-template-columns:1fr 1fr}.vehicle-record-facts{grid-template-columns:1fr}}
/* QR-Anmeldung mit Freigabe am Handy */
.device-login-start{width:100%;margin-top:12px}.device-pair-qr{display:block;width:min(220px,100%);height:auto;margin:18px auto;border:12px solid white;border-radius:10px;aspect-ratio:1}.device-pair-code{display:block;text-align:center;font-size:clamp(1.8rem,5vw,2.8rem);font-variant-numeric:tabular-nums;letter-spacing:.13em;margin:8px 0 16px;color:var(--ink)}#device-pair-status{color:var(--muted);text-align:center;min-height:1.5em}#device-pair-back{width:100%;margin-top:10px}
.device-pair-qr{background:#fff;padding:8px}

.app-refresh-action{display:none;width:100%;text-align:left;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-weight:650;margin-bottom:6px}
@media(max-width:900px){.app-refresh-action{display:flex}}

/* Klassenarbeiten: nächste Arbeit, Lernfortschritt und ruhige Zeitleiste. */
.school-exams .card-head{align-items:center;gap:16px}.school-exams .card-head .eyebrow{color:var(--blue);font-size:.68rem;letter-spacing:.13em;font-weight:750}.school-exams .card-head h2{margin:4px 0 0}
.exam-home-choice{display:flex;align-items:center;gap:13px;margin:16px 0 20px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:var(--bg);cursor:pointer}.exam-home-choice input{width:19px;height:19px;flex:none;accent-color:var(--blue)}.exam-home-choice span{display:grid;gap:3px}.exam-home-choice strong{font-size:.85rem}.exam-home-choice small{color:var(--muted);font-size:.73rem;line-height:1.45}
.exam-feature{padding:24px;border:1px solid color-mix(in srgb,var(--blue) 25%,var(--line));border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 11%,var(--surface)),var(--surface) 72%);min-width:0}.home-exam-feature{grid-column:1/-1}.exam-feature-top,.exam-feature-main{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.exam-feature-top .eyebrow{color:var(--blue);font-size:.7rem;letter-spacing:.14em;font-weight:800}.exam-countdown{padding:7px 11px;border-radius:999px;background:var(--blue);color:#fff;font-size:.73rem;font-weight:750;white-space:nowrap}.exam-feature-main{margin:18px 0}.exam-feature-main>div:first-child{min-width:0}.exam-subject{display:inline-block;margin-bottom:5px;font-size:.77rem;color:var(--blue);font-weight:750}.exam-feature h3{font-size:clamp(1.25rem,2vw,1.8rem);letter-spacing:-.025em;margin:0 0 10px;overflow-wrap:anywhere}.exam-feature-main p{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:.85rem}.exam-feature-main p svg{width:17px;height:17px;flex:none}.exam-date-tile{display:grid;place-content:center;flex:none;min-width:72px;min-height:76px;padding:7px;border-radius:12px;background:var(--surface);border:1px solid var(--line);text-align:center}.exam-date-tile strong{font-size:1.55rem;line-height:1}.exam-date-tile span{margin-top:4px;color:var(--muted);font-size:.75rem}.exam-topic{border-top:1px solid var(--line);padding:16px 0}.exam-topic strong,.exam-preparation-head strong{font-size:.85rem}.exam-topic p{margin:6px 0 0;color:var(--muted);line-height:1.5;white-space:pre-wrap;font-size:.83rem}.exam-preparation{border-top:1px solid var(--line);padding-top:16px}.exam-preparation-head{display:flex;justify-content:space-between;gap:12px}.exam-preparation-head span{color:var(--muted);font-size:.76rem}.exam-preparation>p{color:var(--muted);font-size:.8rem;margin:9px 0 0}.exam-progress{height:6px;margin:11px 0 14px;border-radius:99px;background:var(--line);overflow:hidden}.exam-progress i{display:block;height:100%;background:var(--blue);border-radius:inherit}.exam-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.exam-step{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:10px 11px;cursor:pointer;font:inherit;font-size:.8rem;min-width:0}.exam-step>span{width:19px;height:19px;display:grid;place-items:center;flex:none;border:1.5px solid var(--blue);border-radius:5px;color:#fff;font-size:.69rem}.exam-step.done>span{background:var(--blue)}.exam-step.done{color:var(--muted)}.exam-step:disabled{cursor:default;opacity:.8}.exam-open{margin-top:15px!important}.exam-timeline-group{margin-top:23px}.exam-timeline-group h3{font-size:.9rem;margin:0 0 10px}.exam-timeline{border:1px solid var(--line);border-radius:13px;overflow:hidden}.exam-timeline-row{display:flex;align-items:center;gap:15px;width:100%;padding:13px 16px;text-align:left;border:0;background:var(--surface);color:var(--ink);cursor:pointer;font:inherit}.exam-timeline-row+.exam-timeline-row{border-top:1px solid var(--line)}.exam-timeline-row:hover{background:var(--hover)}.exam-timeline-date{display:grid;place-content:center;text-align:center;flex:none;width:48px;height:48px;border-radius:8px;background:var(--blue-light);color:var(--blue)}.exam-timeline-date strong{font-size:1.05rem;line-height:1}.exam-timeline-date small{font-size:.65rem;margin-top:3px}.exam-timeline-copy{display:grid;gap:3px;min-width:0;flex:1}.exam-timeline-copy small,.exam-timeline-copy em{color:var(--muted);font-size:.7rem;font-style:normal}.exam-timeline-copy strong{font-size:.85rem;overflow-wrap:anywhere}.exam-timeline-row>svg{width:16px;flex:none;color:var(--muted)}.school-past-exams{margin-top:20px}.school-past-exams summary{cursor:pointer;color:var(--muted);font-size:.82rem}
@media(max-width:620px){.exam-feature{padding:18px}.exam-steps{grid-template-columns:1fr}.exam-feature-main{gap:10px}.exam-date-tile{min-width:57px;min-height:63px}.school-exams .card-head{align-items:flex-start;flex-wrap:wrap}}
/* Gerichte-Bibliothek und mehrere Gänge im Wochenplan */
.meal-section-tabs{display:flex;gap:7px;overflow-x:auto;margin:0 0 20px;padding:4px 0 8px}.meal-section-tabs button{flex:none;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:.86rem;font-weight:650;cursor:pointer}.meal-section-tabs button.active{background:var(--blue);border-color:var(--blue);color:#fff}.meal-library{padding:23px}.meal-library .card-head small{font-size:.8rem;color:var(--muted)}.meal-library-filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(4,minmax(120px,1fr));gap:10px;margin:20px 0}.meal-library-filters label{display:grid;gap:5px;font-size:.75rem;color:var(--muted)}.meal-library-filters input,.meal-library-filters select{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--ink);padding:10px;font:inherit;font-size:.84rem}.meal-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.meal-library-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-height:154px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--ink);padding:17px;cursor:pointer;min-width:0}.meal-library-card:hover{border-color:var(--blue);background:var(--hover)}.meal-library-card strong{font-size:1rem;line-height:1.25;overflow-wrap:anywhere}.meal-library-card>small{font-size:.76rem;color:var(--muted)}.meal-library-open{margin-top:auto;color:var(--blue);font-size:.8rem;font-weight:700}.meal-library-tags{display:flex;flex-wrap:wrap;gap:5px}.meal-library-tags span{font-size:.68rem;font-weight:700;color:var(--blue);background:var(--blue-light);padding:4px 7px;border-radius:6px}.meal-no-results{grid-column:1/-1;padding:20px}.meal-week-links,.meal-shopping-actions{display:flex;flex-wrap:wrap;gap:9px}.meal-week-links{margin-bottom:24px}.meal-shopping-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;margin-bottom:20px}.meal-shopping-bar p{color:var(--muted);font-size:.82rem;margin:5px 0 0}.meal-day-dishes{display:flex;flex-direction:column;gap:5px;overflow:hidden;min-height:0}.meal-day-dishes>span{display:flex;flex-direction:column;gap:1px;min-width:0}.meal-day-dishes small{font-size:.64rem;color:var(--muted);font-weight:600}.meal-day-dishes strong{font-size:.8rem}.meal-planned-list{display:grid;gap:9px;margin:9px 0 18px}.meal-planned-list>div{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px}.meal-planned-list .meal-library-tags,.meal-planned-list strong,.meal-planned-list small{grid-column:1}.meal-planned-list .text-link{grid-column:2;grid-row:1/4}.meal-planned-list small{color:var(--muted)}.meal-metadata-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-meal-list{display:grid;gap:8px}.home-meal-list p{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:8px 0;border-top:1px solid var(--line)}.home-meal-list small{color:var(--muted);font-size:.73rem}@media(max-width:900px){.meal-library-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-shopping-bar{display:block}.meal-shopping-actions{margin-top:13px}}@media(max-width:620px){.meal-library{padding:17px}.meal-library-grid{grid-template-columns:1fr}.meal-library-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-library-filters label:first-child{grid-column:1/-1}.meal-metadata-fields{grid-template-columns:1fr}.meal-week-links .button,.meal-shopping-actions .button{flex:1}.meal-day-stack .meal-day{height:154px}}
/* Persönliche Designs: dieselben Kontrast- und Oberflächenregeln in allen Bereichen. */
html[data-theme=rose]{color-scheme:light;--bg:#fff7fa;--surface:#fffdfd;--sidebar:#fffafb;--ink:#342239;--muted:#746071;--line:#ead8e2;--blue:#9b365f;--blue-light:#f8e4ed;--hover:#fff0f5;--shadow:0 8px 26px #8a3a6b0d;--input:#fff7fa;--primary:#9b365f;--primary-hover:#812749;--primary-shadow:#9b365f20}
html[data-theme=energy]{color-scheme:dark;--bg:#101827;--surface:#1b2940;--sidebar:#152238;--ink:#f4f6ff;--muted:#b5c2d9;--line:#3a4a65;--blue:#ffb06a;--blue-light:#413327;--hover:#283956;--shadow:0 10px 30px #050b1780;--input:#142137;--primary:#b94f13;--primary-hover:#d5611a;--primary-shadow:#b94f1340}
html[data-theme=rose] .brand-icon{background:linear-gradient(140deg,#b34877,#872858)}
html[data-theme=energy] .brand-icon{background:linear-gradient(140deg,#f28a2c,#a83f0d)}
html[data-theme=rose] .welcome-card{background:linear-gradient(130deg,#ffe2ed,#f7e8fa 75%,#fff2f5);color:#532640;border-color:#eac3d5}
html[data-theme=rose] .welcome-card p,html[data-theme=rose] .welcome-bottom{color:#75556c}
html[data-theme=rose] .welcome-bottom{border-color:#e6bfd0}
html[data-theme=rose] .avatar-stack .avatar{border-color:#ffe2ed}
html[data-theme=rose] .light-link{color:#883450}
html[data-theme=energy] .welcome-card{background:radial-gradient(circle at 100% 0%,#9f4d1e75,transparent 39%),linear-gradient(125deg,#293b61,#24314c 65%,#3e2c34);color:#fff5ea;border-color:#70543c}
html[data-theme=energy] .welcome-card p,html[data-theme=energy] .welcome-bottom{color:#d2d9e9}
html[data-theme=energy] .welcome-bottom{border-color:#56617a}
html[data-theme=energy] .avatar-stack .avatar{border-color:#293b61}
html[data-theme=energy] .light-link{color:#ffca96}
html[data-theme=rose] .topbar,html[data-theme=rose] .mobile-quick-nav{background:#fffafb}
html[data-theme=energy] .topbar,html[data-theme=energy] .mobile-quick-nav{background:#17243a}
html[data-theme=rose] .card,html[data-theme=rose] .today-summary,html[data-theme=rose] .auth-card,html[data-theme=rose] dialog{border-radius:19px}
html[data-theme=energy] .card,html[data-theme=energy] .today-summary,html[data-theme=energy] .auth-card,html[data-theme=energy] dialog{border-radius:17px}
html[data-theme=rose] .page-heading .eyebrow,html[data-theme=energy] .page-heading .eyebrow{color:var(--blue)}
html[data-theme=energy] .meal-section-tabs button.active,html[data-theme=energy] .shopping-tab.active,html[data-theme=energy] .day.selected,html[data-theme=energy] .is-today .date-number,html[data-theme=energy] .mobile-quick-count{background:var(--primary);color:#fff;border-color:var(--primary)}
html[data-theme=energy] .brand-dot{color:#ffb06a}
html[data-theme=rose] .brand-dot{color:#9b365f}
html[data-theme=rose] input,html[data-theme=rose] select,html[data-theme=rose] textarea{accent-color:var(--primary)}
html[data-theme=energy] input,html[data-theme=energy] select,html[data-theme=energy] textarea{accent-color:var(--blue)}
html[data-theme=rose] .memory-detail-meta .pill,html[data-theme=rose] .detail-content .pill,html[data-theme=energy] .memory-detail-meta .pill,html[data-theme=energy] .detail-content .pill{background:var(--surface);color:var(--ink);border-color:var(--line)}
.theme-picker{width:min(550px,calc(100% - 24px));max-width:550px;padding:23px}
.theme-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}
.theme-picker-head .eyebrow{margin-bottom:3px;color:var(--blue)}
.theme-picker-head h2{font-size:1.45rem}
.theme-picker-intro{font-size:.83rem;color:var(--muted);margin:0 0 17px}
.theme-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.theme-choice,.theme-choice-content{display:flex;align-items:center;gap:11px;min-width:0;min-height:82px;width:100%;padding:11px;text-align:left;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink)}
.theme-choice:hover,.theme-radio:hover .theme-choice-content{border-color:var(--blue);background:var(--hover)}
.theme-choice[aria-pressed=true],.theme-radio input:checked+.theme-choice-content{border:2px solid var(--blue);background:var(--blue-light);padding:10px}
.theme-choice:disabled{opacity:.65}
.theme-choice-copy{display:grid;gap:2px;flex:1;min-width:0}
.theme-choice-copy strong{font-size:.84rem;line-height:1.2}
.theme-choice-copy small{font-size:.7rem;line-height:1.25;color:var(--muted)}
.theme-choice-check{color:var(--blue);font-size:1rem;font-weight:800;flex:none}
.theme-swatch{position:relative;display:block;width:54px;height:54px;flex:none;overflow:hidden;border:1px solid #0002;border-radius:11px;background:#f5f7fb}
.theme-swatch:before{content:'';position:absolute;inset:0 0 auto;height:13px;background:#fff}
.theme-swatch i{position:absolute;top:16px;left:4px;bottom:4px;width:11px;border-radius:3px;background:#fff}
.theme-swatch b{position:absolute;top:17px;left:18px;right:4px;height:13px;border-radius:3px;background:#245ce5}
.theme-swatch em{position:absolute;left:18px;right:4px;bottom:5px;height:15px;border-radius:3px;background:#fff}
.theme-swatch[data-preview=dark]{background:#101521}.theme-swatch[data-preview=dark]:before,.theme-swatch[data-preview=dark] i,.theme-swatch[data-preview=dark] em{background:#192131}.theme-swatch[data-preview=dark] b{background:#82a7ff}
.theme-swatch[data-preview=rose]{background:#fff7fa}.theme-swatch[data-preview=rose]:before,.theme-swatch[data-preview=rose] i,.theme-swatch[data-preview=rose] em{background:#fffdfd}.theme-swatch[data-preview=rose] b{background:#9b365f}
.theme-swatch[data-preview=energy]{background:#101827}.theme-swatch[data-preview=energy]:before,.theme-swatch[data-preview=energy] i,.theme-swatch[data-preview=energy] em{background:#1b2940}.theme-swatch[data-preview=energy] b{background:#b94f13}
.theme-swatch[data-preview=identity]{background:#f5f4f1}.theme-swatch[data-preview=identity]:before,.theme-swatch[data-preview=identity] i,.theme-swatch[data-preview=identity] em{background:#fff}.theme-swatch[data-preview=identity] b{background:#ed792c}
.theme-fieldset{border:0;padding:0;margin:12px 0 20px;min-width:0}.theme-fieldset legend{font-size:.9rem;font-weight:700;margin-bottom:9px}.theme-radio{display:block;position:relative;cursor:pointer;margin:0!important}.theme-radio input{position:absolute;top:12px;left:12px;width:20px;height:20px;opacity:0;z-index:1}.theme-radio input:focus-visible+.theme-choice-content{outline:3px solid var(--blue);outline-offset:2px}
@media(max-width:620px){.theme-choice-grid{grid-template-columns:1fr}.theme-picker{padding:19px}.theme-choice,.theme-choice-content{min-height:73px}.theme-swatch{width:48px;height:48px}}
html[data-theme=energy] .form-error,html[data-theme=energy] .document-remove,html[data-theme=energy] .button.danger,html[data-theme=energy] .school-entry-date.late{color:#ff9eaa}
html[data-theme=energy] .button.danger{background:#5a2d3a}
html[data-theme=energy] .wish-status.accepted,html[data-theme=energy] .meal-offer-all{color:#81dcb3}
html[data-theme=rose] .form-error,html[data-theme=rose] .document-remove,html[data-theme=rose] .button.danger{color:#a52c4b}
html[data-theme=energy] .welcome-card .pill{background:#ffffff15;border-color:#ffffff38;color:#fff5ea}
html:is([data-theme=dark],[data-theme=energy]) .timetable-day-tabs button.active,html:is([data-theme=dark],[data-theme=energy]) .exam-countdown,html:is([data-theme=dark],[data-theme=energy]) .exam-step.done>span,html:is([data-theme=dark],[data-theme=energy]) .meal-section-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}
@media(max-width:620px){.top-actions #theme{display:inline-flex}.topbar .breadcrumb{min-width:0;flex:1}.topbar .breadcrumb strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{flex:none;gap:1px}.top-actions .icon-button{min-width:36px}.avatar-button{padding-left:6px}}

/* Minigames · a deliberately distinct arcade cabinet in every account design. */
.arcade-page{max-width:1440px;margin:0 auto 55px}.arcade-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;overflow:hidden;margin:0 0 22px;padding:31px 38px;border:1px solid #365378;border-radius:24px;background:radial-gradient(circle at 90% 16%,#235781 0,#162b4d 38%,#101827 82%);color:#f6f8ff;box-shadow:0 18px 50px #07152b18}.arcade-hero .eyebrow{color:#70e1ec;font-size:.72rem;letter-spacing:.16em}.arcade-hero h1{margin:8px 0 7px;font-size:clamp(2.4rem,4vw,4rem);line-height:1.05;letter-spacing:-.05em}.arcade-hero h1 span{color:#ffb266}.arcade-hero p{max-width:570px;margin:0;color:#c5d5e9;font-size:.92rem;line-height:1.55}.arcade-hero-mark{display:grid;grid-template-columns:repeat(4,28px);grid-template-rows:repeat(3,28px);gap:5px;transform:rotate(-12deg);filter:drop-shadow(0 13px 15px #0007);margin-right:37px}.arcade-hero-mark i{border-radius:5px;background:#ffc46d;box-shadow:inset 3px 3px 0 #ffffff8c,inset -3px -3px 0 #b76448}.arcade-hero-mark i:nth-child(1){grid-column:2}.arcade-hero-mark i:nth-child(2){grid-column:3}.arcade-hero-mark i:nth-child(3){grid-column:2}.arcade-hero-mark i:nth-child(4){grid-column:3}.arcade-hero-mark i:nth-child(5){grid-column:1}.arcade-hero-mark i:nth-child(6){grid-column:2}.arcade-hero-mark i:nth-child(7){grid-column:3}.arcade-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,.85fr);gap:20px;align-items:start}.arcade-machine{min-width:0;padding:26px 28px 22px;border:1px solid #375574;border-radius:22px;background:linear-gradient(155deg,#1a2e4d,#101b31 54%,#0e1728);color:#f6f8ff;box-shadow:0 20px 55px #06152726}.arcade-machine-head{display:flex;justify-content:space-between;align-items:start;gap:15px}.arcade-kicker{color:#73dfe8;font-size:.68rem;font-weight:800;letter-spacing:.17em}.arcade-machine-head h2{margin:3px 0 0;font-size:1.7rem;letter-spacing:-.03em}.arcade-sound,.arcade-pause{display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:39px;padding:8px 12px;border:1px solid #526581;border-radius:10px;color:#d7e4f8;background:#ffffff09;font-size:.77rem;font-weight:700}.arcade-sound:hover,.arcade-pause:hover{background:#ffffff1b}.arcade-live-stats{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin:20px 0 15px}.arcade-live-stats>div{display:grid;gap:1px;min-width:0;padding:11px 14px;border:1px solid #355070;border-radius:11px;background:#ffffff08}.arcade-live-stats small{color:#9cb9d6;font-size:.62rem;font-weight:800;letter-spacing:.14em}.arcade-live-stats strong{font-size:1.35rem;line-height:1.2;font-variant-numeric:tabular-nums}.arcade-live-stats>div:first-child strong{color:#ffca78}.arcade-play-layout{display:flex;justify-content:center;align-items:flex-start;gap:16px}.arcade-board-wrap{position:relative;flex:0 1 360px;min-width:0;overflow:hidden;border:6px solid #385579;border-radius:14px;background:#0c1525;box-shadow:0 0 0 2px #091426,0 16px 28px #0005}.arcade-board-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:1/2;touch-action:none}.arcade-board-wrap.arcade-flash:after{content:'';position:absolute;inset:0;background:#fff8;pointer-events:none;animation:arcade-clear .23s ease-out forwards}@keyframes arcade-clear{to{opacity:0}}.arcade-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:27px;background:linear-gradient(170deg,#071529e8,#132d4af2);color:#fff}.arcade-overlay[hidden]{display:none!important}.arcade-overlay-eyebrow{color:#71e2ec;font-size:.73rem;font-weight:850;letter-spacing:.2em}.arcade-overlay h3{font-size:clamp(1.4rem,2.6vw,2.2rem);line-height:1.13;letter-spacing:-.03em;margin:14px 0 9px}.arcade-overlay p{max-width:290px;color:#c9d7ea;font-size:.84rem;line-height:1.5}.arcade-start{margin-top:16px;padding:13px 20px;border-radius:11px;background:#f5a75b;color:#142238;font-weight:850;box-shadow:0 8px 22px #0006}.arcade-start:hover{background:#ffc17b;transform:translateY(-1px)}.arcade-side{display:grid;gap:13px;width:112px;flex:none}.arcade-mini{display:grid;justify-items:center;gap:2px;padding:10px 8px 7px;border:1px solid #49617e;border-radius:13px;background:#0c1629}.arcade-mini>span{color:#a9c3db;font-size:.63rem;font-weight:800;letter-spacing:.13em}.arcade-mini canvas{width:88px;height:88px}.arcade-pause{width:100%;font-size:1rem}.arcade-pause span{font-size:.74rem}.arcade-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:17px auto 0;max-width:520px}.arcade-controls button{min-height:52px;touch-action:none;border:1px solid #55728f;border-radius:11px;background:#233b5d;color:#e8f3ff;font-size:1.45rem;font-weight:800;user-select:none;-webkit-user-select:none}.arcade-controls button:active{background:#4c7ca9;transform:scale(.96)}.arcade-controls button:nth-child(5){background:#d98240;color:#142238;border-color:#ffb66d}.arcade-controls button:last-child{font-size:.76rem;letter-spacing:.04em}.arcade-help{max-width:600px;margin:17px auto 0;color:#b5c8df;font-size:.75rem;line-height:1.55;text-align:center}.arcade-help strong{color:#f1f5ff}.arcade-rankings{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.arcade-ranking-head{padding:25px 25px 14px}.arcade-ranking-head .eyebrow{color:var(--blue);font-size:.68rem}.arcade-ranking-head h2{margin:7px 0 6px;font-size:1.35rem}.arcade-ranking-head p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.arcade-ranking-tabs{display:flex;gap:5px;margin:0 25px 13px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.arcade-ranking-tabs button{flex:1;min-height:37px;border-radius:7px;color:var(--muted);font-size:.8rem;font-weight:700}.arcade-ranking-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 2px 7px #0002}.arcade-ranking-list{min-height:155px;padding:0 16px}.arcade-ranking-row{display:flex;align-items:center;gap:9px;min-height:57px;padding:9px;border-bottom:1px solid var(--line)}.arcade-ranking-row:last-child{border-bottom:0}.arcade-ranking-row.is-me{border-radius:9px;background:var(--blue-light)}.arcade-place{flex:none;display:grid;place-items:center;width:23px;color:var(--muted);font-size:.83rem;font-weight:800}.arcade-ranking-row:first-child .arcade-place{color:#b7761d}.arcade-ranking-row .avatar{flex:none}.arcade-rank-name{display:grid;gap:2px;min-width:0;flex:1}.arcade-rank-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.arcade-rank-name small{color:var(--muted);font-size:.69rem}.arcade-rank-score{font-size:.88rem;font-variant-numeric:tabular-nums}.arcade-no-score{margin:20px 10px;color:var(--muted);font-size:.82rem;line-height:1.5}.arcade-personal-best{display:grid;gap:4px;margin:21px 24px 0;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--blue-light)}.arcade-personal-best span{color:var(--blue);font-size:.67rem;font-weight:850;letter-spacing:.13em}.arcade-personal-best strong{font-size:2rem;font-variant-numeric:tabular-nums}.arcade-personal-best small{color:var(--muted);font-size:.74rem}.arcade-ranking-note{padding:0 25px 18px;color:var(--muted);font-size:.72rem;line-height:1.5}
@media(max-width:1100px){.arcade-layout{grid-template-columns:1fr}.arcade-rankings{max-width:none}.arcade-ranking-list{min-height:70px}}
@media(max-width:620px){.arcade-page{margin-bottom:30px}.arcade-hero{padding:21px 22px;border-radius:17px}.arcade-hero h1{font-size:2.4rem}.arcade-hero p{font-size:.8rem}.arcade-hero-mark{display:none}.arcade-machine{padding:18px 11px;border-radius:17px}.arcade-machine-head{padding:0 5px}.arcade-machine-head h2{font-size:1.35rem}.arcade-live-stats{margin:14px 0 10px}.arcade-live-stats>div{padding:8px 9px}.arcade-live-stats strong{font-size:1.05rem}.arcade-play-layout{gap:8px}.arcade-board-wrap{flex-basis:min(64vw,310px);border-width:4px}.arcade-side{width:72px;gap:8px}.arcade-mini{padding:5px 3px 3px;border-radius:9px}.arcade-mini>span{font-size:.52rem}.arcade-mini canvas{width:62px;height:62px}.arcade-pause{padding:5px 3px;min-height:33px;font-size:.8rem}.arcade-pause span{display:none}.arcade-controls{gap:4px;margin-top:11px}.arcade-controls button{min-height:50px;border-radius:9px;font-size:1.25rem}.arcade-controls button:last-child{font-size:.58rem}.arcade-help{font-size:.68rem;margin:11px 4px 0}.arcade-ranking-head{padding:20px 20px 12px}.arcade-ranking-tabs{margin:0 20px 12px}}
@media(max-width:360px){.arcade-side{width:57px}.arcade-mini canvas{width:48px;height:48px}.arcade-board-wrap{flex-basis:63vw}.arcade-controls button{min-height:44px}}

/* A self-contained game viewport keeps touch input away from page scrolling. */
.arcade-machine-buttons{display:flex;align-items:center;gap:8px}
.arcade-focus-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:8px 12px;border:1px solid #526581;border-radius:10px;color:#d7e4f8;background:#ffffff09;font-size:.77rem;font-weight:700}
.arcade-focus-button:hover{background:#ffffff1b}
.arcade-board-wrap,.arcade-controls{touch-action:none;overscroll-behavior:contain}
.arcade-machine.arcade-focus{position:fixed;inset:0;z-index:1000;width:100%;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden;border:0;border-radius:0;padding:calc(10px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));touch-action:none;overscroll-behavior:none}
.arcade-focus .arcade-machine-head{flex:none;align-items:center}
.arcade-focus .arcade-machine-head h2{font-size:1.2rem}
.arcade-focus .arcade-live-stats{flex:none;margin:8px 0}
.arcade-focus .arcade-play-layout{flex:1;min-height:0;align-items:center}
.arcade-focus .arcade-board-wrap{flex:0 1 auto;width:auto;height:min(100%,calc((100vw - 130px)*2));max-height:100%;aspect-ratio:1/2}
.arcade-focus .arcade-board-wrap canvas{width:100%;height:100%}
.arcade-focus .arcade-controls{flex:none;width:100%;margin:8px auto 0}
.arcade-focus .arcade-help{display:none}
.arcade-focus .arcade-side{align-self:center}
.arcade-focus-open{overscroll-behavior:none}
@media(max-width:620px){.arcade-machine-buttons{gap:5px}.arcade-focus-button,.arcade-sound{min-height:35px;padding:6px 8px;font-size:.67rem}.arcade-focus .arcade-machine-head{padding:0}.arcade-focus .arcade-machine-head h2{font-size:1.1rem}.arcade-focus .arcade-board-wrap{height:min(100%,calc((100vw - 105px)*2))}.arcade-focus .arcade-controls button{min-height:43px}.arcade-focus .arcade-live-stats>div{padding:5px 8px}}
@media(max-height:690px){.arcade-focus .arcade-live-stats{margin:4px 0}.arcade-focus .arcade-controls button{min-height:37px}.arcade-focus .arcade-mini canvas{width:44px;height:44px}}
.shortcut-icon.games{background:#fff0df;color:#c45e22}html:is([data-theme=dark],[data-theme=energy]) .shortcut-icon.games{background:#573720;color:#ffc084}

/* Five arcade games share the same room while retaining their own controls and records. */
.arcade-game-select{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 20px}
.arcade-game-choice{display:grid;grid-template-columns:39px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:10px;min-width:0;min-height:70px;padding:11px 13px;text-align:left;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow);transition:transform .16s,border-color .16s,background .16s}
.arcade-game-choice:hover{transform:translateY(-2px);border-color:var(--blue)}
.arcade-game-choice.active{border-color:#7fb6e8;background:linear-gradient(130deg,#183354,#214d68);color:#f6f9ff;box-shadow:0 12px 24px #07264522}
.arcade-game-choice>span{grid-row:1/3;display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:#dcecff;color:#245ce5;font-size:1.3rem;font-weight:800}
.arcade-game-choice.active>span{background:#ffffff24;color:#9de8f1}
.arcade-game-choice strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.81rem}
.arcade-game-choice small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.68rem}
.arcade-game-choice.active small{color:#b7d1e4}
.arcade-extra-machine{display:flex;flex-direction:column;align-items:stretch;min-height:600px}
.arcade-extra-stage{display:flex;flex:1;min-height:0;justify-content:center;align-items:center}
.arcade-extra-board{position:relative;overflow:hidden;max-width:100%;border:5px solid #385579;border-radius:15px;background:#0b1728;box-shadow:0 0 0 2px #091426,0 16px 28px #0005;touch-action:none;overscroll-behavior:none}
.arcade-extra-board canvas{display:block;width:100%;height:auto;touch-action:none}
.arcade-snake .arcade-extra-board{width:min(100%,400px);aspect-ratio:1}
.arcade-breakout .arcade-extra-board{width:min(100%,315px);aspect-ratio:3/4}
.arcade-pong .arcade-extra-board{width:min(100%,600px);aspect-ratio:10/7}
.arcade-memory .arcade-extra-board{width:min(100%,440px);aspect-ratio:1;border-color:#675a89}
.arcade-memory-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;height:100%;padding:10px;background:radial-gradient(circle at top,#27315a,#101729)}
.arcade-memory-card{display:grid;place-items:center;min-width:0;border:1px solid #5a6a91;border-radius:10px;background:linear-gradient(145deg,#2f5080,#1c3156);color:#c3d9f6;font-size:clamp(1.25rem,3vw,2.4rem);font-weight:800;box-shadow:inset 0 2px 0 #ffffff25,0 4px 9px #0004;touch-action:manipulation;transition:transform .16s,background .16s}
.arcade-memory-card.flipped{background:#f2edf9;color:#533c7a;transform:rotateY(9deg)}
.arcade-memory-card.matched{background:#234b49;color:#a6f0dc;border-color:#64bbab}
.arcade-dpad{display:grid;justify-content:center;gap:5px;margin:15px auto 0;touch-action:none}
.arcade-dpad>button{justify-self:center}
.arcade-dpad>div{display:flex;gap:5px}
.arcade-dpad button,.arcade-paddle-buttons button{display:grid;place-items:center;min-width:55px;min-height:46px;border:1px solid #6583a1;border-radius:12px;background:#294969;color:#f5f9ff;font-size:1.5rem;font-weight:800;touch-action:none;user-select:none;-webkit-user-select:none}
.arcade-dpad button:active,.arcade-paddle-buttons button:active{background:#4c7ca9;transform:scale(.96)}
.arcade-paddle-buttons{display:flex;justify-content:center;gap:10px;margin:15px auto 0;touch-action:none}
.arcade-paddle-buttons button{min-width:120px;font-size:.86rem}
.arcade-paddle-track{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,315px);height:48px;margin:14px auto 0;overflow:hidden;border:1px solid #6583a1;border-radius:13px;background:linear-gradient(180deg,#223b5a,#142941);color:#d4e7fa;touch-action:none;overscroll-behavior:contain;user-select:none;-webkit-user-select:none;cursor:ew-resize}
.arcade-pong .arcade-paddle-track{width:min(100%,600px)}
.arcade-paddle-track-hint{position:relative;z-index:1;pointer-events:none;font-size:.7rem;font-weight:750;letter-spacing:.02em;text-shadow:0 1px 5px #07182a}
.arcade-paddle-track-thumb{position:absolute;top:5px;bottom:5px;left:50%;width:22%;border:1px solid #9ce1ee;border-radius:9px;background:#65b9cf88;box-shadow:0 0 16px #69d8ee66;transform:translateX(-50%);pointer-events:none}
.arcade-pong .arcade-paddle-track-thumb{width:16%}
.arcade-paddle-track:active .arcade-paddle-track-thumb{background:#8de4e9ae}
.arcade-line-fx{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;pointer-events:none;opacity:0;isolation:isolate;text-align:center;color:#fff;text-shadow:0 3px 18px #000}
.arcade-line-fx:before{content:'';position:absolute;inset:30% 0;background:radial-gradient(ellipse,#8addf090,transparent 65%);z-index:-1;opacity:0}
.arcade-line-fx strong{font-size:clamp(1.3rem,4vw,2.5rem);font-weight:900;letter-spacing:.03em;transform:scale(.5)}
.arcade-line-fx small{color:#fff;font-size:.75rem;font-weight:800}
.arcade-line-fx.show{animation:arcade-fx-fade 1.1s ease-out forwards}
.arcade-line-fx.show strong{animation:arcade-fx-pop .55s cubic-bezier(.17,1.5,.36,1) forwards}
.arcade-line-fx.show:before{animation:arcade-fx-glow .7s ease-out forwards}
.arcade-line-fx-1{--fx-color:#76d9ef}.arcade-line-fx-2{--fx-color:#8beaaf}.arcade-line-fx-3{--fx-color:#ffc575}.arcade-line-fx-4{--fx-color:#ff8ed8}
.arcade-line-fx strong{color:var(--fx-color)}
.arcade-line-fx-4 strong{font-size:clamp(1.5rem,5vw,3.1rem)}
.arcade-fx-burst{position:absolute;inset:0;overflow:hidden}
.arcade-fx-burst i{position:absolute;top:50%;left:50%;width:7px;height:7px;border-radius:2px;background:var(--fx-color);box-shadow:0 0 10px var(--fx-color);opacity:0;transform:rotate(var(--angle)) translateX(0)}
.arcade-line-fx.show .arcade-fx-burst i{animation:arcade-fx-spark .8s ease-out var(--delay) forwards}
@keyframes arcade-fx-fade{0%,15%{opacity:1}72%{opacity:1}100%{opacity:0}}
@keyframes arcade-fx-pop{0%{transform:scale(.45) translateY(14px)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes arcade-fx-glow{20%{opacity:1}100%{opacity:0}}
@keyframes arcade-fx-spark{0%{opacity:1;transform:rotate(var(--angle)) translateX(0)}65%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateX(var(--distance))}}
.arcade-focus .arcade-extra-stage{flex:1;min-height:0}
.arcade-focus .arcade-extra-board{width:auto;height:min(100%,calc(100vw - 32px));max-height:100%}
.arcade-focus.arcade-breakout .arcade-extra-board{height:min(100%,calc((100vw - 32px)*4/3));aspect-ratio:3/4}
.arcade-focus.arcade-pong .arcade-extra-board{height:min(100%,calc((100vw - 32px)*7/10));aspect-ratio:10/7}
.arcade-focus .arcade-extra-board canvas{width:100%;height:100%}
.arcade-focus .arcade-dpad,.arcade-focus .arcade-paddle-buttons,.arcade-focus .arcade-paddle-track{flex:none;margin:8px auto 0}
@media(max-width:980px){.arcade-game-select{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 10px}.arcade-game-choice{flex:0 0 155px;scroll-snap-align:start}}
@media(max-width:620px){.arcade-extra-machine{min-height:0}.arcade-extra-stage{margin:4px 0}.arcade-dpad{margin:10px auto 0}.arcade-dpad button{min-width:51px;min-height:42px}.arcade-memory-board{gap:5px;padding:7px}.arcade-paddle-buttons{margin:7px auto 0}.arcade-paddle-track{height:44px;margin-top:8px}.arcade-focus .arcade-extra-board{height:min(100%,calc(100vw - 24px))}.arcade-focus.arcade-breakout .arcade-extra-board{height:min(100%,calc((100vw - 24px)*4/3))}.arcade-focus.arcade-pong .arcade-extra-board{height:min(100%,calc((100vw - 24px)*7/10))}}
@media(prefers-reduced-motion:reduce){.arcade-line-fx.show,.arcade-line-fx.show strong,.arcade-line-fx.show:before,.arcade-line-fx.show .arcade-fx-burst i{animation-duration:.05s!important}}

/* A clear pause/resume control stays in the game header on every screen size. */
.arcade-pause-main{min-width:86px;white-space:nowrap;gap:5px;background:#2b5277;border-color:#6d91af;color:#f6fbff}
.arcade-pause-main:hover:not(:disabled){background:#37658c}
.arcade-pause-main .arcade-pause-symbol{display:inline;font-size:1.05rem;line-height:1}
.arcade-pause-main .arcade-pause-label{display:inline;font-size:.77rem}
.arcade-pause-main[aria-pressed=true]{background:#355f55;border-color:#79b99e}
.arcade-pause-main:disabled{opacity:.5}
@media(max-width:620px){.arcade-machine-buttons{gap:4px}.arcade-focus-button span,.arcade-sound span{display:none}.arcade-focus-button,.arcade-sound{min-width:35px;padding:5px}.arcade-pause-main{min-width:76px;padding:5px 7px}.arcade-pause-main .arcade-pause-symbol,.arcade-pause-main .arcade-pause-label{display:inline}.arcade-pause-main .arcade-pause-label{font-size:.68rem}}

/* A gallery replaces the cramped game tabs; the whole card opens its game. */
.arcade-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:31px 2px 18px}
.arcade-gallery-heading .eyebrow{color:var(--blue);font-size:.72rem;letter-spacing:.15em}
.arcade-gallery-heading h2{margin:7px 0 0;font-size:clamp(1.3rem,2.5vw,2rem);letter-spacing:-.035em}
.arcade-gallery-heading>span{color:var(--muted);font-size:.78rem;text-align:right}
.arcade-game-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.arcade-gallery-card{display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;text-align:left;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.arcade-gallery-card:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:0 18px 34px #0b27462a}
.arcade-gallery-card:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.arcade-gallery-image{position:relative;display:block;width:100%;aspect-ratio:16/10;overflow:hidden;background:#132740}
.arcade-gallery-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.arcade-gallery-card:hover .arcade-gallery-image img{transform:scale(1.04)}
.arcade-gallery-index{position:absolute;right:13px;top:13px;padding:6px 9px;border:1px solid #ffffff4d;border-radius:8px;background:#10243cb8;color:#f1f8ff;font-size:.66rem;font-weight:800;letter-spacing:.08em}
.arcade-gallery-content{display:flex;flex:1;flex-direction:column;align-items:start;gap:8px;padding:19px 20px 17px}
.arcade-gallery-meta{color:var(--blue);font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.arcade-gallery-content>strong{font-size:1.23rem;letter-spacing:-.035em;line-height:1.17}
.arcade-gallery-description{min-height:2.8em;color:var(--muted);font-size:.81rem;line-height:1.4}
.arcade-gallery-action{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:auto;padding-top:14px;border-top:1px solid var(--line);color:var(--blue);font-size:.79rem;font-weight:800}
.arcade-gallery-action>span{font-size:1.2rem;line-height:1}
.arcade-play-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.11em}
.arcade-play-header button{min-height:43px;padding:9px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);font-size:.82rem;font-weight:750;letter-spacing:0}
.arcade-play-header button:hover{border-color:var(--blue);color:var(--blue)}
.arcade-play-header strong{color:var(--ink)}
.arcade-runner .arcade-extra-board{width:min(100%,600px);aspect-ratio:5/3}
.arcade-focus.arcade-runner .arcade-extra-board{height:min(100%,calc((100vw - 32px)*3/5));aspect-ratio:5/3}
.arcade-jump-button{display:flex;align-items:center;justify-content:center;gap:12px;width:min(100%,600px);min-height:58px;margin:15px auto 0;border:1px solid #ffe1a4;border-radius:14px;background:linear-gradient(135deg,#f7bd72,#e78d69);color:#172439;box-shadow:0 8px 0 #925745,0 12px 24px #0005;font-size:1rem;font-weight:900;letter-spacing:.08em;touch-action:none;user-select:none;-webkit-user-select:none}
.arcade-jump-button>span{font-size:1.45rem;line-height:1}
.arcade-jump-button:active{transform:translateY(5px);box-shadow:0 3px 0 #925745,0 7px 15px #0005}
.arcade-jump-button:disabled{opacity:.55;transform:none;box-shadow:0 5px 0 #92574566}
.arcade-focus .arcade-jump-button{flex:none;margin:8px auto 0}
@media(max-width:1020px){.arcade-game-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.arcade-gallery-heading{align-items:start;flex-direction:column;gap:6px;margin-top:23px}.arcade-gallery-heading>span{text-align:left}.arcade-game-gallery{grid-template-columns:1fr;gap:14px}.arcade-gallery-card{border-radius:17px}.arcade-gallery-image{aspect-ratio:16/8}.arcade-gallery-content{padding:16px 17px 14px}.arcade-gallery-description{min-height:0}.arcade-play-header{margin-bottom:10px}.arcade-play-header>span{font-size:.61rem}.arcade-jump-button{min-height:54px;margin-top:10px}.arcade-focus.arcade-runner .arcade-extra-board{height:min(100%,calc((100vw - 24px)*3/5))}}
/* Arcade puzzles and larger touch controls */
.arcade-dpad{gap:8px}.arcade-dpad>div{gap:8px}.arcade-dpad button{min-width:74px;min-height:68px;font-size:2rem;border-radius:18px}
.arcade-puzzle .puzzle-tools{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}
.arcade-puzzle .puzzle-tools button,.arcade-puzzle .puzzle-tools select{min-height:42px;padding:8px 13px;border:1px solid #526783;border-radius:10px;background:#203450;color:#ecf4ff;font:inherit}
.arcade-puzzle .puzzle-tools button:disabled{opacity:.5}.arcade-puzzle .puzzle-tools label{display:flex;align-items:center;gap:8px;color:#c9daee}
.arcade-puzzle .puzzle-stage{position:relative;min-height:345px;padding:12px;border:1px solid #385579;border-radius:16px;background:linear-gradient(145deg,#1a304e,#0d1c31);overflow:auto}
.arcade-puzzle .puzzle-board{min-height:305px}.arcade-puzzle .arcade-overlay{position:absolute;z-index:7}
.solitaire-table{min-width:510px;max-width:780px;margin:auto;padding:8px;border-radius:13px;background:radial-gradient(circle at 30% 15%,#26776b,#0c3e44 75%);box-shadow:inset 0 0 0 1px #ffffff33}
.sol-top{display:flex;justify-content:space-between;gap:20px;min-height:96px}.sol-draw,.sol-foundations{display:flex;gap:8px}.sol-foundations{margin-left:auto}
.sol-slot,.sol-card{position:relative;display:grid;place-items:center;width:56px;height:78px;border:2px solid #ffffff8c;border-radius:9px;background:#ffffff16;color:#e6f5f2;touch-action:manipulation}
button.sol-slot{font-size:1.7rem;cursor:pointer}.sol-stock{background:repeating-linear-gradient(45deg,#173e79,#173e79 6px,#2858a2 6px,#2858a2 12px);font-weight:900;font-size:1.4rem}.sol-stock small{position:absolute;right:3px;bottom:2px;font-size:.65rem}
.sol-card{padding:3px;background:#fffdf7;color:#1f314d;box-shadow:0 2px 5px #0005;cursor:pointer;font-size:1.2rem;font-weight:900;text-align:left;align-items:start;justify-items:start}.sol-card.red{color:#c83d55}.sol-card.back{display:grid;place-items:center;background:repeating-linear-gradient(45deg,#183e7f,#183e7f 6px,#2b61b8 6px,#2b61b8 12px);color:#fff}.sol-card b{position:absolute;right:5px;bottom:3px;font-size:1.3rem}.sol-card.selected{outline:3px solid #ffd464;transform:translateY(-4px)}
.sol-tableau{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;min-height:240px;margin-top:16px}.sol-column{position:relative;min-height:220px}.sol-column .sol-card{margin-top:-55px}.sol-column .sol-card:first-child{margin-top:0}.sol-column .sol-card.back{margin-top:-59px}.sol-column .sol-card.back:first-child{margin-top:0}.sol-status,.sudoku-status{padding:10px 2px;color:#d7e9ec;font-size:.85rem}
.sudoku-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));width:min(100%,540px);aspect-ratio:1;margin:auto;border:3px solid #83a9d3;border-radius:7px;overflow:hidden;background:#182f4d}
.sudoku-cell{display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:0;border-right:1px solid #426180;border-bottom:1px solid #426180;background:#213c5e;color:#d4efff;font-size:clamp(.9rem,3vw,1.75rem);font-weight:600;touch-action:manipulation}.sudoku-cell.given{color:#fff;font-weight:900;background:#172c48}.sudoku-cell.peer{background:#2a4b70}.sudoku-cell.match{background:#356d94}.sudoku-cell.selected{background:#72a9dc;color:#0e1d34}.sudoku-cell.conflict{background:#9a4053;color:#fff}.sudoku-cell.box-right{border-right:2px solid #8aaed0}.sudoku-cell.box-bottom{border-bottom:2px solid #8aaed0}
.sudoku-notes-grid{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:100%;font-size:clamp(.42rem,1.3vw,.7rem);font-style:normal;color:#b5d3ed}.sudoku-notes-grid i{display:grid;place-items:center;font-style:normal}.sudoku-numbers{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin:12px auto}.sudoku-numbers button{min-width:42px;min-height:48px;border:1px solid #6384a8;border-radius:10px;background:#27496e;color:#fff;font-size:1.3rem;font-weight:800}
/* Sudoku uses the current personal theme, including its accent and light/dark surfaces. */
.arcade-sudoku{border-color:var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.arcade-sudoku .arcade-kicker,.arcade-sudoku .arcade-overlay-eyebrow{color:var(--blue)}
.arcade-sudoku .arcade-machine-buttons button,.arcade-sudoku .puzzle-tools button,.arcade-sudoku .puzzle-tools select{border-color:var(--line);background:var(--input);color:var(--ink)}
.arcade-sudoku .puzzle-tools label,.arcade-sudoku .arcade-help,.arcade-sudoku .arcade-overlay p{color:var(--muted)}
.arcade-sudoku .arcade-help strong{color:var(--ink)}
.arcade-sudoku .arcade-live-stats>div{border-color:var(--line);background:var(--input)}
.arcade-sudoku .arcade-live-stats small{color:var(--muted)}
.arcade-sudoku .arcade-live-stats>div:first-child strong{color:var(--blue)}
.arcade-sudoku .puzzle-stage{border-color:var(--line);background:var(--input)}
.arcade-sudoku .arcade-overlay{background:color-mix(in srgb,var(--surface) 94%,var(--blue));color:var(--ink)}
.arcade-sudoku .arcade-start{background:var(--primary);color:#fff;box-shadow:0 7px 20px var(--primary-shadow)}
.arcade-sudoku .arcade-start:hover{background:var(--primary-hover)}
.arcade-sudoku .sudoku-grid{border-color:var(--blue);background:var(--surface)}
.arcade-sudoku .sudoku-cell{border-color:var(--line);background:var(--surface);color:var(--ink)}
.arcade-sudoku .sudoku-cell.given{background:var(--input);color:var(--ink)}
.arcade-sudoku .sudoku-cell.peer{background:color-mix(in srgb,var(--blue-light) 55%,var(--surface))}
.arcade-sudoku .sudoku-cell.match{background:color-mix(in srgb,var(--blue) 28%,var(--surface));color:var(--ink)}
.arcade-sudoku .sudoku-cell.selected{background:color-mix(in srgb,var(--blue) 43%,var(--surface));color:var(--ink);box-shadow:inset 0 0 0 2px var(--blue)}
.arcade-sudoku .sudoku-cell.conflict{background:#9a4053;color:#fff}
.arcade-sudoku .sudoku-cell.box-right{border-right-color:var(--blue)}
.arcade-sudoku .sudoku-cell.box-bottom{border-bottom-color:var(--blue)}
.arcade-sudoku .sudoku-notes-grid{color:var(--muted)}
.arcade-sudoku .sudoku-notes-grid i.active{color:var(--blue);background:var(--blue-light);font-weight:900}
.arcade-sudoku .sudoku-numbers button{border-color:var(--line);background:var(--surface);color:var(--ink)}
.arcade-sudoku .sudoku-numbers button.active{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 0 0 3px var(--primary-shadow)}
.arcade-sudoku .sudoku-status{color:var(--ink)}
@media(max-width:620px){.arcade-dpad button{min-width:76px;min-height:72px}.arcade-puzzle .puzzle-stage{padding:5px;min-height:330px}.solitaire-table{min-width:490px}.sol-slot,.sol-card{width:53px;height:74px}.sudoku-cell{font-size:clamp(.85rem,5vw,1.45rem)}.sudoku-numbers button{min-width:30px;flex:1;max-width:50px}.arcade-puzzle .puzzle-tools{gap:6px}.arcade-puzzle .puzzle-tools button{font-size:.8rem;padding:7px 9px}}
@media(max-width:620px){.solitaire-table{min-width:0;width:100%;padding:5px}.sol-top{gap:5px;min-height:63px}.sol-draw,.sol-foundations{gap:3px}.sol-slot,.sol-card{width:clamp(31px,10vw,43px);height:clamp(48px,14vw,61px);border-radius:6px}.sol-card{font-size:.78rem}.sol-card b{font-size:.9rem;right:2px}.sol-tableau{gap:2px;margin-top:9px;min-height:190px}.sol-column{min-height:185px}.sol-column .sol-card{margin-top:-38px}.sol-column .sol-card.back{margin-top:-43px}.sol-column .sol-card:first-child,.sol-column .sol-card.back:first-child{margin-top:0}}
.arcade-puzzle .puzzle-message{min-height:22px;margin:8px 2px 0;color:#ffe0a0;font-size:.78rem;font-weight:700}
.sol-column.hint-target,.sol-foundation.hint-target{outline:3px dashed #ffe19a;outline-offset:3px;border-radius:8px}

/* Arcade: responsive mine grid and comfortable mobile steering. */
.mines-board{--mines-columns:9;display:grid;grid-template-columns:repeat(var(--mines-columns),minmax(0,1fr));gap:3px;width:min(100%,540px);aspect-ratio:1;margin:auto;padding:8px;background:#15273d;border-radius:16px;box-sizing:border-box;touch-action:manipulation}
.mines-cell{min-width:0;min-height:0;aspect-ratio:1;border:1px solid #53769b;border-radius:5px;background:#385c80;color:#d8eeff;font-size:clamp(.65rem,3vw,1.2rem);font-weight:800;padding:0;display:grid;place-items:center;cursor:pointer}
.mines-cell.open{background:#20384f;border-color:#2d506d}.mines-cell.flag{color:#ffc681}.mines-cell.mine{background:#b45367;color:white}
.mines-cell:focus-visible{outline:3px solid #91b5ff;outline-offset:1px}
.arcade-minesweeper .arcade-extra-board{min-height:0;display:grid;place-items:center;padding:12px}.arcade-minesweeper .arcade-overlay{z-index:2}
.arcade-jumper .arcade-extra-board{max-width:420px;margin-inline:auto}.arcade-jumper #jumper-board{width:100%;height:auto;display:block;touch-action:none}
.jumper-controls{max-width:420px;margin:12px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.jumper-controls button{min-height:64px;touch-action:none}
@media(max-width:560px){.mines-board{gap:2px;padding:5px}.mines-cell{border-radius:3px}.arcade-minesweeper .arcade-extra-board{padding:4px}.arcade-new .arcade-live-stats strong{font-size:1.2rem}}
.mines-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border-radius:16px}.mines-scroll .mines-board{max-width:none}

/* Solitaire: familiar foundation-left / draw-right table with larger playing cards. */
.arcade-solitaire .solitaire-table{--sol-card-w:74px;--sol-card-h:106px;box-sizing:border-box;width:100%;min-width:600px;max-width:670px;padding:16px;background:radial-gradient(circle at 45% 12%,#278271 0%,#155e5a 52%,#0b3f49 100%);border:1px solid #b7f4e342;box-shadow:inset 0 1px 24px #071b2c35,0 12px 30px #0002}
.arcade-solitaire .sol-top{align-items:flex-start;gap:20px;min-height:140px;padding-top:20px}
.arcade-solitaire .sol-foundations,.arcade-solitaire .sol-draw{position:relative;gap:10px;margin:0}
.arcade-solitaire .sol-draw{margin-left:auto}
.arcade-solitaire .sol-foundations::before,.arcade-solitaire .sol-draw::before{position:absolute;top:-19px;left:1px;color:#d9f5e8bd;font-size:.64rem;font-weight:800;letter-spacing:.13em;white-space:nowrap}
.arcade-solitaire .sol-foundations::before{content:'ZIELSTAPEL'}
.arcade-solitaire .sol-draw::before{content:'ABLAGE · STAPEL'}
.arcade-solitaire .sol-slot,.arcade-solitaire .sol-card{box-sizing:border-box;flex:none;width:var(--sol-card-w);height:var(--sol-card-h);border-radius:10px}
.arcade-solitaire .sol-slot{border:2px solid #d5f3e7a1;background:#ffffff14;color:#e3fff4;font-size:1.8rem;box-shadow:inset 0 0 0 3px #ffffff0c}
.arcade-solitaire .sol-slot[data-target^='f']{font-size:2.2rem;color:#bde9dc}
.arcade-solitaire .sol-stock{border:3px solid #f3f3ed;background:repeating-linear-gradient(45deg,#1b4487,#1b4487 7px,#2b60ad 7px,#2b60ad 14px);color:white;box-shadow:0 4px 12px #0019,inset 0 0 0 3px #8bb2ed}
.arcade-solitaire .sol-stock .sol-back-emblem{display:grid;place-items:center;width:56%;aspect-ratio:1;border:2px solid #ffffffae;border-radius:50%;font-size:1.35rem}
.arcade-solitaire .sol-stock small{right:5px;bottom:4px;padding:1px 4px;border-radius:5px;background:#0b274dcf;color:white;font-size:.7rem}
.arcade-solitaire .sol-card{display:block;position:relative;padding:0;border:1px solid #e2e0d9;background:linear-gradient(155deg,#fff,#f6f1e8);box-shadow:0 4px 10px #071d29a6,inset 0 0 0 2px #fff;cursor:pointer;text-align:left;overflow:hidden}
.arcade-solitaire .sol-card.black{color:#172d49}.arcade-solitaire .sol-card.red{color:#c52e4f}
.arcade-solitaire .sol-rank,.arcade-solitaire .sol-rank-bottom{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:center;line-height:.88;font-size:1.35rem;font-weight:900}
.arcade-solitaire .sol-rank{top:7px;left:7px}.arcade-solitaire .sol-rank-bottom{right:7px;bottom:7px;transform:rotate(180deg)}
.arcade-solitaire .sol-rank small,.arcade-solitaire .sol-rank-bottom small{margin-top:3px;font-size:1.05rem}
.arcade-solitaire .sol-pip{position:absolute;inset:0;display:grid;place-items:center;font-size:2.7rem;font-style:normal;line-height:1;opacity:.9}
.arcade-solitaire .sol-card.back{display:grid;place-items:center;border:3px solid #faf8ef;background:repeating-linear-gradient(45deg,#163d78,#163d78 7px,#2b60ab 7px,#2b60ab 14px);color:white;box-shadow:0 4px 10px #071d29a6,inset 0 0 0 3px #82a9dd}
.arcade-solitaire .sol-card.back:disabled{opacity:1}.arcade-solitaire .sol-card.back .sol-back-emblem{display:grid;place-items:center;width:58%;aspect-ratio:1;border:2px solid #ffffffb3;border-radius:50%;font-size:1.4rem}
.arcade-solitaire .sol-card.selected{outline:3px solid #ffdc80;outline-offset:1px;transform:translateY(-5px);filter:drop-shadow(0 0 8px #ffdb7299)}
.arcade-solitaire .sol-card:focus-visible,.arcade-solitaire .sol-slot:focus-visible{outline:3px solid #ffe091;outline-offset:2px}
.arcade-solitaire .sol-tableau{gap:10px;min-height:310px;margin-top:7px}
.arcade-solitaire .sol-column{min-height:300px}
.arcade-solitaire .sol-column .sol-card{margin-top:-69px}.arcade-solitaire .sol-column .sol-card.back{margin-top:-75px}
.arcade-solitaire .sol-column .sol-card:first-child,.arcade-solitaire .sol-column .sol-card.back:first-child{margin-top:0}
.arcade-solitaire .sol-status{padding-top:12px;color:#e0f5ee}
@media(max-width:620px){
 .arcade-solitaire .solitaire-table{--sol-card-w:clamp(44px,11.6vw,50px);--sol-card-h:calc(var(--sol-card-w)*1.42);min-width:330px;max-width:none;padding:7px}
 .arcade-solitaire .sol-top{gap:6px;min-height:95px;padding-top:19px}
 .arcade-solitaire .sol-foundations,.arcade-solitaire .sol-draw{gap:3px}
 .arcade-solitaire .sol-foundations::before,.arcade-solitaire .sol-draw::before{top:-16px;font-size:.5rem}
 .arcade-solitaire .sol-slot,.arcade-solitaire .sol-card{border-radius:7px}
 .arcade-solitaire .sol-rank,.arcade-solitaire .sol-rank-bottom{font-size:.88rem}.arcade-solitaire .sol-rank{top:4px;left:4px}.arcade-solitaire .sol-rank-bottom{bottom:4px;right:4px}
 .arcade-solitaire .sol-rank small,.arcade-solitaire .sol-rank-bottom small{font-size:.72rem;margin-top:2px}
 .arcade-solitaire .sol-pip{font-size:1.55rem}
 .arcade-solitaire .sol-stock .sol-back-emblem,.arcade-solitaire .sol-card.back .sol-back-emblem{font-size:1rem}
 .arcade-solitaire .sol-tableau{gap:2px;min-height:225px;margin-top:7px}.arcade-solitaire .sol-column{min-height:218px}
 .arcade-solitaire .sol-column .sol-card{margin-top:calc(var(--sol-card-h)*-.62)}.arcade-solitaire .sol-column .sol-card.back{margin-top:calc(var(--sol-card-h)*-.69)}
 .arcade-solitaire .sol-column .sol-card:first-child,.arcade-solitaire .sol-column .sol-card.back:first-child{margin-top:0}
}

/* Keep symbols inside their own card's paint layer when cards overlap. */
.arcade-solitaire .sol-card{z-index:0;isolation:isolate}
.arcade-solitaire .sol-card.stacked .sol-pip,.arcade-solitaire .sol-card.stacked .sol-rank-bottom,.arcade-solitaire .sol-card.back.stacked .sol-back-emblem{display:none}
.arcade-solitaire .sol-card.selected{z-index:2}

/* On phones the game title and controls need separate rows. */
@media(max-width:620px){
 .arcade-machine .arcade-machine-head,.arcade-focus .arcade-machine-head{display:grid;grid-template-columns:minmax(0,1fr);gap:11px;align-items:start;padding-inline:4px}
 .arcade-machine .arcade-machine-head>div:first-child{min-width:0}
 .arcade-machine .arcade-machine-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:7px}
 .arcade-machine .arcade-machine-buttons>button{box-sizing:border-box;display:inline-flex;width:100%;min-width:0;min-height:44px;padding:7px 4px;gap:5px;white-space:nowrap;font-size:.75rem;line-height:1.1;text-align:center}
 .arcade-machine .arcade-machine-buttons .arcade-focus-button span,.arcade-machine .arcade-machine-buttons .arcade-pause span,.arcade-machine .arcade-machine-buttons .arcade-sound span{display:inline;font-size:.72rem}
 .arcade-machine .arcade-machine-buttons .arcade-pause-main{min-width:0}
 .arcade-machine .arcade-machine-buttons .arcade-sound{overflow:hidden;text-overflow:ellipsis}
}

/* Desktop arcade controls must keep their labels on one line. */
@media(min-width:621px){
 .arcade-machine .arcade-machine-head{flex-wrap:wrap}
 .arcade-machine .arcade-machine-buttons{flex:0 0 auto;margin-left:auto}
 .arcade-machine .arcade-machine-buttons>button{flex:0 0 auto;width:auto;min-width:max-content;white-space:nowrap}
}

/* Minesweeper needs an explicit board width: intrinsic grid sizing made it shrink. */
.arcade-minesweeper .arcade-extra-stage{display:block;flex:none}
.arcade-minesweeper .puzzle-tools{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:15px 0;padding:11px 13px;border:1px solid #3c5877;border-radius:12px;background:#ffffff08}
.arcade-minesweeper .puzzle-tools label{display:flex;align-items:center;gap:7px;color:#c9daee;font-size:.76rem;font-weight:700}
.arcade-minesweeper .puzzle-tools button,.arcade-minesweeper .puzzle-tools select{min-height:39px;padding:8px 11px;border:1px solid #6783a2;border-radius:9px;background:#243f60;color:#f0f7ff;font:inherit;font-size:.75rem;font-weight:700;white-space:nowrap}
.arcade-minesweeper .puzzle-tools button:hover,.arcade-minesweeper .puzzle-tools select:hover{background:#315578}
.arcade-minesweeper #mines-mode[aria-pressed=true]{background:#355d55;border-color:#7ac6a5;color:#ecfff3}
.arcade-minesweeper #mines-left{margin-left:auto;color:#ffd28a;font-size:.76rem;font-weight:800;white-space:nowrap}
.arcade-minesweeper .arcade-extra-board{display:block;box-sizing:border-box;width:min(100%,680px);max-width:100%;margin-inline:auto;padding:10px;touch-action:auto}
.arcade-minesweeper .mines-scroll{box-sizing:border-box;width:100%;max-width:100%;overflow-x:auto;touch-action:pan-x}
.arcade-minesweeper .mines-pan-hint{display:none}
.arcade-minesweeper .mines-board{box-sizing:border-box;width:100%;max-width:none;gap:4px;padding:8px;background:linear-gradient(145deg,#18334e,#10253a)}
.arcade-minesweeper .mines-cell{border:1px solid #8ab3d4;border-radius:8px;background:linear-gradient(145deg,#426d92,#285075);color:#e8f5ff;font-size:clamp(.95rem,2vw,1.45rem);box-shadow:inset 0 2px 0 #ffffff38,0 2px 2px #07172755}
.arcade-minesweeper .mines-cell:active:not(:disabled){transform:scale(.94)}
.arcade-minesweeper .mines-cell.open{background:#e8f1f5;border-color:#b9d0db;color:#20384e;box-shadow:inset 0 1px 4px #334d6350}
.arcade-minesweeper .mines-cell.open.near-1{color:#185ab4}.arcade-minesweeper .mines-cell.open.near-2{color:#128254}.arcade-minesweeper .mines-cell.open.near-3{color:#c4553a}.arcade-minesweeper .mines-cell.open.near-4{color:#7547b4}.arcade-minesweeper .mines-cell.open.near-5,.arcade-minesweeper .mines-cell.open.near-6,.arcade-minesweeper .mines-cell.open.near-7,.arcade-minesweeper .mines-cell.open.near-8{color:#8b3943}
.arcade-minesweeper .mines-cell.flag{color:#ffd277}.arcade-minesweeper .mines-cell.mine{background:#8b5160;color:#fff}.arcade-minesweeper .mines-cell.exploded{background:#e45e62;color:#fff}.arcade-minesweeper .mines-cell.wrong-flag{background:#7d4851;color:#fff}
.arcade-minesweeper .mines-cell:disabled{opacity:1;cursor:default}
.arcade-minesweeper .arcade-overlay.is-result{position:relative;inset:auto;min-height:0;padding:18px 12px;border-top:1px solid #486a8a;background:#142942}
.arcade-minesweeper .arcade-overlay.is-result h3{margin:7px 0 4px;font-size:1.35rem}.arcade-minesweeper .arcade-overlay.is-result p{margin:0}.arcade-minesweeper .arcade-overlay.is-result .arcade-start{margin-top:12px}
.mines-state{max-width:680px;margin:12px auto 0;color:#b7d4e7;font-size:.8rem;line-height:1.4}
@media(max-width:620px){
 .arcade-minesweeper .arcade-extra-board{padding:5px}
 .arcade-minesweeper .mines-pan-hint:not([hidden]){display:block;padding:5px 6px 9px;color:#a9d9f3;font-size:.7rem;font-weight:800;text-align:center}
 .arcade-minesweeper .mines-board{gap:3px;padding:5px}
 .arcade-minesweeper .mines-cell{border-radius:5px;font-size:1rem}
 .arcade-minesweeper .puzzle-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px}
 .arcade-minesweeper .puzzle-tools label{grid-column:1/-1;justify-content:space-between}
 .arcade-minesweeper .puzzle-tools button{min-width:0;min-height:42px;white-space:normal}
 .arcade-minesweeper #mines-left{grid-column:1/-1;margin:2px 0 0;text-align:center}
}

/* Illustrated pairs keep the portrait visible even on small phone cards. */
.arcade-memory .arcade-extra-board{width:min(100%,520px)}
.arcade-memory .arcade-live-stats{grid-template-columns:1fr .8fr 1.45fr}
.arcade-memory .arcade-live-stats strong{white-space:nowrap}
.arcade-memory-board{box-sizing:border-box;gap:8px;padding:10px}
.arcade-memory-card{position:relative;overflow:hidden;padding:0;isolation:isolate;aspect-ratio:1;background:linear-gradient(145deg,#345ea0,#18294f)}
.arcade-memory-card.flipped{background:#fff;transform:none;border-color:#f5d793}
.arcade-memory-card.matched{background:#22493f;border-color:#7be0b8;box-shadow:0 0 0 2px #7be0b855}
.arcade-memory-card img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.arcade-memory-name{position:absolute;inset:auto 0 0;padding:4px 2px;background:#10213bce;color:white;font-size:clamp(.48rem,1vw,.68rem);line-height:1.1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.arcade-memory-back{font-size:clamp(1.9rem,5vw,3.1rem);color:#d0e9ff;text-shadow:0 2px 12px #8dcfff88}
.arcade-memory-legacy{align-self:center;justify-self:center;font-size:2.5rem}
@media(max-width:620px){.arcade-memory-board{gap:5px;padding:6px}.arcade-memory-name{font-size:.46rem;padding:3px 1px}.arcade-memory .arcade-live-stats strong{font-size:1rem}.arcade-memory .arcade-live-stats small{font-size:.53rem}}

/* Family arcade champions on the start page */
.home-champions{margin:0 0 27px;padding:24px 27px}
.home-champions-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px}
.home-champions-head .eyebrow{color:var(--blue);margin-bottom:5px}
.home-champions-head h2{font-size:1.4rem}
.home-champions-head p{margin:5px 0 0;color:var(--muted);font-size:.84rem}
.home-champions-head .text-link{flex:none}
.home-champions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}
.home-champions-grid>p{color:var(--muted);margin:0}
.home-champion{display:flex;align-items:center;gap:10px;min-width:0;min-height:66px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--hover)}
.home-champion>img{width:46px;height:46px;flex:none;border-radius:9px;object-fit:cover}
.home-champion-game{display:grid;gap:1px;min-width:0;flex:1}
.home-champion-game strong,.home-champion-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem}
.home-champion-game small{font-size:.72rem}
.home-champion .avatar{flex:none}
.home-champion-name{max-width:100px}
.home-champion-empty{color:var(--muted);font-size:.73rem;white-space:nowrap}
@media(max-width:850px){.home-champions-grid{grid-template-columns:1fr}}
@media(max-width:620px){.home-champions{padding:19px 17px}.home-champions-head{align-items:start}.home-champions-head h2{font-size:1.2rem}.home-champions-head .text-link{font-size:.75rem}.home-champion{gap:8px;padding:7px 9px}.home-champion>img{width:41px;height:41px}.home-champion-name{max-width:82px}}

/* Punktjäger: responsive maze and dedicated four-way controls. */
.arcade-maze .maze-stats{grid-template-columns:1.5fr .8fr 1fr}
.arcade-maze .maze-stats #maze-lives{font-size:1.05rem;color:#ff809e;letter-spacing:.08em}
.maze-level-bar{display:flex;justify-content:space-between;gap:12px;color:#c9d8ef;font-size:.78rem;font-weight:750;margin:0 3px 7px}
.maze-level-bar span:last-child{color:#98bad9;font-weight:600}
.maze-progress{height:6px;border-radius:8px;background:#2d496e;margin-bottom:13px;overflow:hidden}
.maze-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#6ee4cd,#ffd36f);transition:width .18s}
.arcade-maze .maze-stage{min-height:0}
.arcade-maze .maze-board-wrap{width:min(100%,520px);aspect-ratio:494/546;min-width:0}
.arcade-maze #maze-board{width:100%;height:100%;display:block;touch-action:none;user-select:none;-webkit-user-select:none}
.maze-level-flash{position:absolute;left:50%;top:13px;transform:translateX(-50%);z-index:2;max-width:90%;padding:9px 17px;border:1px solid #9bd1ff;border-radius:999px;background:#152f53eb;color:#fff2be;font-size:.76rem;font-weight:850;letter-spacing:.12em;text-align:center;white-space:nowrap;pointer-events:none;box-shadow:0 5px 20px #0008}
.maze-level-flash[hidden]{display:none}
.maze-dpad{display:grid;justify-content:center;gap:5px;margin:12px auto 0;touch-action:none;user-select:none;-webkit-user-select:none}
.maze-dpad>button{justify-self:center}
.maze-dpad>div{display:flex;gap:7px}
.maze-dpad button{display:grid;place-items:center;width:68px;height:54px;border:1px solid #6e90b5;border-radius:13px;background:#294969;color:#f7fbff;font-size:1.7rem;font-weight:800;touch-action:none;user-select:none;-webkit-user-select:none}
.maze-dpad button:active{background:#5d91c6;transform:scale(.96)}
.arcade-maze.arcade-focus .maze-stage{flex:1;min-height:0}
.arcade-maze.arcade-focus .maze-board-wrap{height:100%;width:auto;max-width:100%;aspect-ratio:494/546}
.arcade-maze.arcade-focus .maze-dpad{flex:none;margin-top:7px}
@media(max-width:620px){.arcade-maze .maze-stats{margin:11px 0 9px}.arcade-maze .maze-stats>div{padding:6px 9px}.arcade-maze .maze-stats #maze-lives{font-size:.83rem}.maze-level-bar{font-size:.7rem}.maze-dpad button{width:77px;height:60px;font-size:1.9rem}.arcade-maze .arcade-overlay h3{font-size:1.35rem}.arcade-maze .arcade-overlay p{font-size:.77rem}}
@media(max-height:710px){.arcade-maze.arcade-focus .maze-dpad button{height:45px}.arcade-maze.arcade-focus .maze-progress{margin-bottom:5px}.arcade-maze.arcade-focus .maze-level-bar{margin-bottom:4px}}

/* Fullscreen boards use the available stage, while preserving each game's proportions. */
.arcade-focus .arcade-extra-stage{container-type:size}
.arcade-focus .arcade-extra-board{box-sizing:border-box;flex:none;height:auto;max-width:100%;max-height:100%}
.arcade-focus.arcade-runner .arcade-extra-board{width:min(100cqw,166.667cqh);height:auto;aspect-ratio:5/3}
.arcade-focus.arcade-snake .arcade-extra-board,.arcade-focus.arcade-memory .arcade-extra-board{width:min(100cqw,100cqh);height:auto;aspect-ratio:1}
.arcade-focus.arcade-breakout .arcade-extra-board{width:min(100cqw,75cqh);height:auto;aspect-ratio:3/4}
.arcade-focus.arcade-pong .arcade-extra-board{width:min(100cqw,142.857cqh);height:auto;aspect-ratio:10/7}
.arcade-focus.arcade-jumper .arcade-extra-board{width:min(100cqw,64.286cqh);height:auto;aspect-ratio:360/560}
.arcade-focus.arcade-jumper #jumper-board{width:100%;height:100%}
.arcade-focus.arcade-minesweeper,.arcade-focus.arcade-puzzle{overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
.arcade-focus.arcade-minesweeper .arcade-extra-stage{display:block;flex:none;container-type:normal}
.arcade-focus.arcade-minesweeper .arcade-extra-board{width:min(100%,680px);height:auto;max-height:none;aspect-ratio:auto;overflow:visible}
.arcade-focus.arcade-minesweeper .mines-scroll{overflow-x:auto}
@media(max-width:620px){
 .arcade-focus .arcade-machine-head{display:flex;align-items:center;gap:8px;min-height:44px;padding-inline:0}
 .arcade-focus .arcade-machine-head h2{margin:0;font-size:1rem;line-height:1.1}
 .arcade-focus .arcade-kicker{display:none}
 .arcade-focus .arcade-machine-buttons{display:flex;width:auto;gap:4px;margin-left:auto}
 .arcade-focus .arcade-machine-buttons>button{width:40px;min-width:40px;min-height:40px;padding:4px;font-size:.95rem}
 .arcade-focus .arcade-machine-buttons button span{display:none!important}
 .arcade-focus .arcade-live-stats{margin:5px 0}
 .arcade-focus .arcade-live-stats>div{padding:4px 7px}
 .arcade-focus .arcade-live-stats small{font-size:.52rem}
 .arcade-focus .arcade-live-stats strong{font-size:.95rem}
 .arcade-focus.arcade-jumper .jumper-controls{width:100%;max-width:none;gap:8px;margin:7px auto 0}
 .arcade-focus.arcade-jumper .jumper-controls button{min-height:52px}
}
@media(max-height:500px) and (min-width:621px){
 .arcade-machine.arcade-focus{overflow-y:auto;touch-action:pan-y}
 .arcade-focus .arcade-extra-stage,.arcade-focus .arcade-play-layout,.arcade-maze.arcade-focus .maze-stage{flex:none;height:240px;min-height:240px}
}

/* During every game, long presses and swipes must not select UI text on iOS. */
.arcade-page-playing,.arcade-page-playing *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}

/* Version 1.0: a focused daily briefing and read-only family assistant. */
.today-briefing{margin-bottom:24px;padding:24px 28px}
.today-briefing-hero{display:flex;align-items:center;gap:22px;min-width:0;padding:18px 22px;margin-bottom:20px;border:1px solid color-mix(in srgb,var(--blue) 22%,var(--line));border-radius:18px;background:radial-gradient(circle at 75px 50%,color-mix(in srgb,#ffaf65 18%,transparent),transparent 180px),linear-gradient(110deg,var(--blue-light),var(--surface))}
.today-briefing-character{position:relative;display:grid;place-items:center;flex:none;width:132px;height:124px;border-radius:26px;background:radial-gradient(circle at 50% 72%,color-mix(in srgb,#ffae62 22%,var(--surface)),var(--surface));box-shadow:0 12px 28px #10234518;overflow:hidden}
.today-briefing-character:hover,.today-briefing-character:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.today-briefing-ai-button{margin-left:auto;flex:none;align-self:center;max-width:220px;white-space:normal;text-align:center}
.today-briefing-ai{display:grid;gap:10px;padding:18px 20px;margin:0 0 18px;border:1px solid color-mix(in srgb,var(--blue) 35%,var(--line));border-radius:16px;background:var(--blue-light)}
.today-briefing-ai p{margin:0;line-height:1.65;white-space:pre-wrap}.today-briefing-ai>small{color:var(--muted)}
.today-briefing-ai-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.today-briefing-ai-head small{color:var(--muted)}
.today-briefing-ai-sources{display:flex;gap:8px 14px;flex-wrap:wrap;align-items:center}.today-briefing-ai-sources strong{width:100%}.today-briefing-ai-sources a{color:var(--blue);font-size:.85rem}
.today-briefing-ai.is-thinking{display:flex;align-items:center}.today-briefing-ai.is-thinking img{width:44px;height:44px;object-fit:contain;animation:briefing-base 1.5s ease-in-out infinite}
.today-briefing-character img{position:absolute;display:block;width:117px;height:117px;object-fit:contain;filter:drop-shadow(0 5px 7px #142b4540)}
.today-briefing-wave-base{animation:briefing-base 5.5s ease-in-out infinite}
.today-briefing-wave-hello{animation:briefing-wave 5.5s ease-in-out infinite}
@keyframes briefing-base{0%,17%,43%,100%{opacity:1;transform:translateY(2px) rotate(-3deg)}20%,40%{opacity:0;transform:translateY(4px) rotate(0)}}
@keyframes briefing-wave{0%,17%,43%,100%{opacity:0;transform:translateY(5px) rotate(-5deg)}20%,25%,34%,40%{opacity:1;transform:translateY(-3px) rotate(7deg)}29%,37%{opacity:1;transform:translateY(-5px) rotate(-6deg)}}
.today-briefing-intro{min-width:0}.today-briefing-intro .eyebrow{display:block;margin-bottom:5px;color:var(--blue);font-size:.72rem;letter-spacing:.12em;font-weight:800}.today-briefing-intro h2{font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.2;overflow-wrap:anywhere}.today-briefing-intro p{margin:8px 0 0;color:var(--muted);font-size:.92rem}
.today-briefing-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}
.today-briefing-heading>strong{font-size:1rem}
.briefing-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}.briefing-option{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;padding:11px!important;border:1px solid var(--line);border-radius:12px;background:var(--hover);cursor:pointer}.briefing-option input{width:19px;height:19px;flex:none;margin-top:2px;accent-color:var(--blue)}.briefing-option strong,.briefing-option small{display:block}.briefing-option small{margin-top:3px;color:var(--muted);font-weight:400;line-height:1.35}.briefing-weather-place{margin:4px 0 18px}
.today-briefing-heading .text-link{white-space:nowrap}
.today-briefing-items{display:grid;gap:8px}
.today-briefing-row{display:grid;grid-template-columns:minmax(110px,160px) minmax(0,1fr) 20px;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--hover);color:var(--ink);text-decoration:none}
.today-briefing-row:hover{border-color:var(--blue)}
.today-briefing-row-static{grid-template-columns:minmax(110px,160px) minmax(0,1fr);cursor:default}.today-briefing-row-static:hover{border-color:var(--line)}
.today-briefing-row strong{font-size:.91rem;overflow-wrap:anywhere}
.today-briefing-label{color:var(--blue);font-size:.78rem;font-weight:700}
.today-briefing>small{color:var(--muted)}
.today-briefing>small{display:block;margin-top:12px;font-size:.74rem}
.today-briefing-more{margin:12px 0 0;font-size:.78rem;color:var(--muted)}
@media(max-width:620px){.today-briefing-hero{gap:12px;padding:12px 14px;margin-bottom:17px;border-radius:15px}.today-briefing-character{width:87px;height:90px;border-radius:18px}.today-briefing-character img{width:83px;height:83px}.today-briefing-intro .eyebrow{font-size:.59rem;letter-spacing:.07em}.today-briefing-intro h2{font-size:1.28rem}.today-briefing-intro p{font-size:.78rem;line-height:1.35;margin-top:4px}.today-briefing-heading{margin-bottom:11px}.today-briefing-heading .text-link{font-size:.78rem}.briefing-option-grid{grid-template-columns:1fr}}
@media(max-width:850px){.today-briefing-hero{flex-wrap:wrap}.today-briefing-ai-button{margin-left:0;width:100%;max-width:none}}
@media(prefers-reduced-motion:reduce){.today-briefing-character img{animation:none}.today-briefing-wave-hello{opacity:0}}
@media(prefers-reduced-motion:reduce){.today-briefing-ai.is-thinking img{animation:none}}
.simmi-page-heading{margin-bottom:22px}.simmi-layout{max-width:980px;display:grid;gap:14px}
.simmi-chat{padding:26px;display:flex;flex-direction:column;height:clamp(470px,calc(100dvh - 190px),840px);min-height:0}.simmi-chat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.simmi-chat-head .eyebrow{display:block;margin:0 0 4px;color:var(--blue)}.simmi-chat-head h2{font-size:1.28rem}
.simmi-chat-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.simmi-model{display:inline-flex;align-items:center;max-width:100%;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--hover);font-size:.76rem;color:var(--ink);overflow-wrap:anywhere}.simmi-clear{color:var(--muted);font-size:.77rem;text-decoration:underline;text-underline-offset:3px}.simmi-clear:hover{color:var(--blue)}
.simmi-conversation-bar{display:flex;align-items:center;gap:10px;margin-top:17px;min-width:0}.simmi-conversation-bar label{font-size:.78rem;font-weight:700;color:var(--muted);white-space:nowrap}.simmi-conversation-bar select{flex:1;min-width:0;max-width:420px;min-height:43px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:var(--input);color:var(--ink);font:inherit;font-size:.82rem}.simmi-conversation-bar .button{min-height:43px;white-space:nowrap}
.simmi-notice{margin:17px 0 12px;padding:10px 13px;border-radius:10px;background:var(--blue-light);color:var(--ink);font-size:.81rem;line-height:1.45}
.simmi-history{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:13px;padding:14px 2px 19px;overscroll-behavior:contain}.simmi-history.has-messages{min-height:0}.simmi-history.is-empty{align-items:center;justify-content:center}
.simmi-welcome{text-align:center;max-width:550px;padding:13px 8px}.simmi-welcome>.icon{width:34px;height:34px;color:var(--blue);margin-bottom:7px}.simmi-welcome h3{font-size:1.16rem;margin:0 0 5px}.simmi-welcome p{font-size:.85rem;color:var(--muted);margin:0 0 18px}.simmi-examples{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}.simmi-examples button{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--hover);font-size:.78rem;text-align:left}.simmi-examples button:hover{border-color:var(--blue);color:var(--blue)}
.simmi-message{padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--hover);max-width:min(92%,760px);align-self:flex-start;overflow-wrap:anywhere}
.simmi-message.you{align-self:flex-end;background:var(--blue-light);white-space:pre-wrap}
.simmi-message-name{font-weight:750;font-size:.8rem;color:var(--blue);margin-bottom:5px}
.simmi-proposal{margin-top:14px;padding:14px;border:1px solid var(--blue);border-radius:12px;background:var(--surface,transparent)}
.simmi-proposal strong{display:block;margin-bottom:5px;color:var(--blue)}
.simmi-proposal p{margin:0 0 12px!important}
.simmi-proposal>div{display:flex;flex-wrap:wrap;gap:8px}
.simmi-proposal .button{min-height:42px}
.simmi-plan{display:grid;gap:12px}
.simmi-plan>p{color:var(--muted,#aab6c9)}
.simmi-plan-step{border:1px solid var(--border,#40516a);border-radius:12px;padding:12px;background:var(--surface,#17243b)}
.simmi-plan-toggle{display:flex;align-items:flex-start;gap:10px;line-height:1.4;cursor:pointer}
.simmi-plan-toggle input{width:20px;height:20px;flex:none;margin-top:2px}
.simmi-plan-toggle strong{margin:0;color:inherit}
.simmi-plan-warning{margin:8px 0 0!important;color:#f6c26b;font-size:.88rem}
.simmi-plan-step details{margin-top:10px}
.simmi-plan-step summary{cursor:pointer;color:var(--blue,#83aaff)}
.simmi-plan-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.simmi-plan-fields label{display:grid;gap:5px;font-size:.85rem;color:var(--muted,#aab6c9)}
.simmi-plan-fields input,.simmi-plan-fields select,.simmi-plan-fields textarea{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--border,#40516a);border-radius:9px;background:var(--surface,#17243b);color:var(--text,#fff);font:inherit}
.simmi-plan-fields textarea{resize:vertical}
.simmi-plan-actions{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:640px){.simmi-plan-fields{grid-template-columns:1fr}.simmi-plan-actions .button{flex:1 1 100%}}
.simmi-message p{margin:0;line-height:1.55;font-size:.9rem}
.simmi-answer{display:grid;gap:11px;line-height:1.55;font-size:.9rem}.simmi-answer h3{margin:10px 0 0;font-size:.89rem;color:var(--ink)}.simmi-answer h3:first-child{margin-top:0}.simmi-answer p{margin:0}.simmi-answer ul,.simmi-answer ol{margin:0;padding-left:1.35em;display:grid;gap:5px}.simmi-answer li{padding-left:2px}.simmi-answer .simmi-list-nested{margin-left:1em;list-style-type:circle}.simmi-answer code{font-size:.9em;background:var(--input);padding:1px 4px;border-radius:4px}.simmi-inline-source{display:inline-flex;align-items:center;justify-content:center;min-width:1.35em;min-height:1.35em;margin-left:3px;color:var(--blue);font-size:.78em;font-weight:700;text-decoration:none;vertical-align:baseline}.simmi-inline-source:hover{text-decoration:underline}
.simmi-sources,.simmi-answer-info{margin-top:13px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:.76rem}.simmi-sources summary,.simmi-answer-info summary{cursor:pointer;width:max-content;max-width:100%}.simmi-sources summary:hover,.simmi-answer-info summary:hover{color:var(--blue)}.simmi-sources>div{display:grid;gap:7px;margin-top:10px}.simmi-sources a{font-size:.8rem;color:var(--blue);text-decoration:none}.simmi-sources a:hover{text-decoration:underline}.simmi-answer-info span{display:block;margin-top:8px}
.simmi-form{display:grid;gap:7px;border-top:1px solid var(--line);padding-top:17px}
.simmi-form label{font-size:.82rem;font-weight:700}
.simmi-form>div{display:flex;gap:8px}
.simmi-form textarea{min-width:0;min-height:46px;max-height:150px;flex:1;border:1px solid var(--line);border-radius:11px;background:var(--input);color:var(--ink);padding:11px 13px;font:inherit;resize:none;overflow:auto;line-height:1.4}
.simmi-thinking-dots{display:inline-flex;gap:5px;align-items:center;min-height:22px}.simmi-thinking-dots i{display:block;width:6px;height:6px;border-radius:50%;background:var(--blue);animation:simmi-dot 1s infinite alternate}.simmi-thinking-dots i:nth-child(2){animation-delay:.18s}.simmi-thinking-dots i:nth-child(3){animation-delay:.36s}@keyframes simmi-dot{to{opacity:.25;transform:translateY(-3px)}}.simmi-typing{color:var(--blue)}
.simmi-form-entry{align-items:stretch}.simmi-voice-button,.simmi-voice-cancel{min-height:46px;padding:9px 13px;border:1px solid var(--line);border-radius:11px;background:var(--hover);font-weight:700;font-size:.82rem;white-space:nowrap}.simmi-voice-button:hover,.simmi-voice-cancel:hover{border-color:var(--blue);color:var(--blue)}.simmi-voice-button.is-recording{border-color:#e55d69;background:#e55d6922;color:#dc4055;animation:simmi-voice-pulse 1.5s ease-in-out infinite}.simmi-voice-status{margin:0;color:var(--muted);font-size:.74rem;line-height:1.4}@keyframes simmi-voice-pulse{50%{box-shadow:0 0 0 5px #e55d6920}}
.simmi-form-foot{display:flex!important;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:3px}.simmi-form-foot small{font-size:.72rem}
.simmi-settings{padding:0}.simmi-settings summary{cursor:pointer;padding:16px 22px;font-size:.84rem;font-weight:650;color:var(--ink)}.simmi-settings-body{border-top:1px solid var(--line);padding:18px 22px 22px;display:grid;gap:11px}.simmi-settings-body p,.simmi-settings-body small{color:var(--muted);font-size:.83rem;line-height:1.5;margin:0}.simmi-settings-body strong{color:var(--ink)}.simmi-settings-body .button{justify-self:start}
.simmi-budget{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;padding:14px 0;border-block:1px solid var(--line)}.simmi-budget label{display:grid;gap:6px;color:var(--ink);font-size:.8rem;font-weight:600}.simmi-budget input{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--surface)}.simmi-budget .button{align-self:end}
@media(max-width:620px){.today-briefing{padding:18px}.today-briefing-heading{align-items:flex-start}.today-briefing-row{grid-template-columns:1fr 20px;gap:3px}.today-briefing-label{grid-column:1}.today-briefing-row strong{grid-column:1;grid-row:2}.simmi-chat{padding:18px;height:clamp(470px,calc(100dvh - 235px),760px)}.simmi-chat-head{flex-direction:column}.simmi-chat-actions{justify-content:flex-start}.simmi-conversation-bar{display:grid;grid-template-columns:minmax(0,1fr) auto}.simmi-conversation-bar label{grid-column:1/-1}.simmi-conversation-bar select{width:100%}.simmi-conversation-bar .button{width:auto;max-width:100%;font-size:.75rem;padding-inline:10px}.simmi-form>div:not(.simmi-form-foot){flex-direction:column}.simmi-form .button{width:100%}.simmi-history{min-height:0}.simmi-message{max-width:96%}}

/* Kinderplanung 1.1 */
.child-planning-root{display:grid;gap:18px;margin-bottom:34px}.child-planning-root .card{min-width:0}.child-toolbar{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.child-toolbar label,.child-form-grid label{display:grid;gap:6px;font-size:.78rem;font-weight:650;color:var(--muted)}.child-toolbar select,.child-form-grid input,.child-form-grid select{min-height:44px;min-width:0;width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--ink)}.child-toolbar label{min-width:180px}.child-status{margin-left:auto;padding:8px 12px;border-radius:999px;background:var(--hover);color:var(--muted);font-size:.76rem;font-weight:650}.child-status.confirmed{background:#168b691c;color:#159574}.child-config summary,.child-holidays summary,.child-school-edit summary{cursor:pointer;font-weight:700;color:var(--blue)}.child-config>p,.child-range>p,.child-holidays>p{margin:14px 0;color:var(--muted);font-size:.85rem}.child-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;align-items:end;margin-top:15px}.child-form-grid .button{justify-self:start}.child-year-head,.child-selected-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.child-year-head h2,.child-selected-head h2,.child-range h2,.child-holidays h2{font-size:1.35rem;margin:0 0 6px}.child-year-head p,.child-selected-head p{color:var(--muted);font-size:.8rem;margin:0}.child-legend{display:inline-block;width:12px;height:12px;border-radius:4px;margin-left:12px;vertical-align:middle}.child-legend.home,.child-day.home{background:#20a78325}.child-legend.away,.child-day.away{background:#d28a4625}.child-legend.other,.child-day.other{background:#9873d232}.child-legend.holiday,.child-day.holiday i{background:var(--blue)}.child-legend.override{border:2px solid var(--blue)}.child-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.child-month{padding:14px;border:1px solid var(--line);border-radius:12px;min-width:0;background:var(--hover)}.child-month h3{font-size:.95rem;margin:0 0 8px}.child-weekdays,.child-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.child-weekdays span{text-align:center;color:var(--muted);font-size:.68rem}.child-day{position:relative;display:grid;place-items:center;aspect-ratio:1;min-height:29px;width:100%;border-radius:7px;font-size:.72rem;font-weight:650;border:1px solid transparent}.child-day:hover{border-color:var(--blue)}.child-day.override{box-shadow:inset 0 0 0 1px var(--blue)}.child-day.selected{outline:2px solid var(--blue);outline-offset:1px}.child-day.today>span{text-decoration:underline;text-decoration-thickness:2px}.child-day.holiday i{position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%}.child-mobile-month{display:none}.child-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.child-day-info{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.child-day-info span{border-radius:8px;background:var(--hover);padding:7px 9px;font-size:.77rem}.child-selected .child-form-grid,.child-range .child-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.child-school-edit{border-top:1px solid var(--line);padding-top:15px;margin-top:18px}.child-holiday-list{display:grid;gap:8px;margin:12px 0}.child-holiday-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.child-holiday-row>div:first-child{display:grid;gap:2px}.child-holiday-row strong{font-size:.84rem}.child-holiday-row small{font-size:.72rem}.child-holiday-row>div:last-child{display:flex;gap:12px;flex-wrap:wrap}.child-holidays a{text-decoration:underline;color:var(--blue)}.child-range>small{display:block;margin-top:11px}
.child-past-months{margin-top:20px;border-top:1px solid var(--line);padding-top:17px}.child-past-months summary{cursor:pointer;color:var(--blue);font-size:.84rem;font-weight:700}.child-past-months summary:hover{text-decoration:underline}
@media(max-width:1050px){.child-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.child-detail-grid{grid-template-columns:1fr}}
@media(max-width:700px){.child-planning-root .card{padding:18px}.child-toolbar{align-items:stretch}.child-toolbar label{flex:1;min-width:120px}.child-status{margin-left:0;width:100%}.child-year-head,.child-selected-head{flex-direction:column}.child-mobile-month{display:grid;gap:5px;margin-top:16px;color:var(--muted);font-size:.8rem}.child-mobile-month select{min-height:44px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--ink)}.child-year-grid{display:block}.child-month{display:none}.child-month.active{display:block}.child-day{min-height:37px;font-size:.82rem}.child-form-grid,.child-selected .child-form-grid,.child-range .child-form-grid{grid-template-columns:1fr}.child-form-grid .button{width:100%}.child-holiday-row{align-items:start;flex-direction:column}}
@media(max-width:700px){.child-past-months .child-month{display:block;margin-bottom:12px}}
.child-guide summary,.child-pickup-edit summary{cursor:pointer;font-weight:700;color:var(--blue)}.child-guide ol{padding-left:1.25rem;margin:15px 0 0;display:grid;gap:10px;color:var(--muted);font-size:.85rem;line-height:1.5}.child-guide strong{color:var(--ink)}.child-pickups h2{font-size:1.35rem;margin:0 0 6px}.child-pickups>p,.child-pickup-edit>p{margin:10px 0;color:var(--muted);font-size:.85rem}.child-pickup-list{display:grid;gap:8px;margin:16px 0}.child-pickup-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--hover);font-size:.82rem}.child-pickup-edit{border-top:1px solid var(--line);padding-top:14px;margin-top:16px}.child-pickup-edit>small{display:block;color:var(--muted);margin-top:10px}.child-selected .child-pickup-edit{margin-bottom:12px}@media(max-width:700px){.child-pickup-row{align-items:start;flex-direction:column}}
.child-toolbar .button{margin-left:auto;align-self:center}.child-now{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(220px,1fr);gap:24px;align-items:center;overflow:hidden;border-left:5px solid #1aa985;background:linear-gradient(115deg,#20a78319,var(--surface) 55%)}.child-now.away{border-left-color:#d28a46;background:linear-gradient(115deg,#d28a461d,var(--surface) 55%)}.child-now.other{border-left-color:#9873d2;background:linear-gradient(115deg,#9873d21f,var(--surface) 55%)}.child-now .eyebrow{display:block;margin-bottom:8px}.child-now h2{font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.25;margin:0 0 8px}.child-now p{color:var(--muted);margin:0}.child-now small{display:block;margin-top:9px}.child-now-next{display:grid;gap:5px;padding:16px 19px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}.child-now-next>span:first-child{font-size:.7rem;letter-spacing:.1em;font-weight:750;color:var(--muted)}.child-now-next strong{font-size:.93rem}.child-now-next>span:last-child{font-size:.8rem;color:var(--muted)}.child-edit-panel{display:grid;gap:18px;padding-top:10px;border-top:1px solid var(--line)}.child-edit-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.child-edit-head h2{font-size:1.3rem}.child-edit-head p{color:var(--muted);font-size:.82rem;margin:4px 0 0}.child-day.override{box-shadow:none}.child-day.override::after{content:'';position:absolute;right:4px;bottom:4px;width:6px;height:6px;border:2px solid var(--blue);border-radius:50%;background:var(--surface)}.child-day.selected{outline:3px solid var(--blue);outline-offset:1px}.child-legend.override{width:8px;height:8px;border-radius:50%;border:2px solid var(--blue)}@media(max-width:700px){.child-now{grid-template-columns:1fr;gap:15px}.child-toolbar .button{margin-left:0;width:100%}.child-edit-head{align-items:start;flex-direction:column}}
.mfa-recovery-codes{padding:1rem;border-radius:12px;background:var(--surface-2,#13223c);font:600 1rem/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;user-select:text;overflow:auto}
.mfa-qr-code{width:min(240px,100%);aspect-ratio:1;padding:10px;margin:18px auto;border:1px solid var(--line);border-radius:12px;background:#fff}.mfa-qr-code svg{display:block;width:100%;height:100%}

/* Family Knowledge 1.3 */
.knowledge-root{display:grid;gap:18px;margin-bottom:32px}.knowledge-browser{min-width:0}.knowledge-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}.knowledge-tabs{display:flex;gap:7px;flex-wrap:wrap}.knowledge-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:9px 13px;border-radius:999px;font:inherit;font-size:.82rem;cursor:pointer}.knowledge-tabs button.active{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}.knowledge-search input{width:min(260px,80vw);min-height:42px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--input);color:var(--ink);font:inherit}.knowledge-layout{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:18px;align-items:start}.knowledge-grid{display:grid;gap:9px;max-height:75vh;overflow:auto;padding:2px}.knowledge-card{display:grid;grid-template-columns:42px minmax(0,1fr) 12px;align-items:center;gap:12px;width:100%;min-width:0;padding:13px;text-align:left;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}.knowledge-card.active{border-color:var(--blue);background:var(--hover)}.knowledge-card:hover{border-color:var(--blue)}.knowledge-card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--hover);color:var(--blue);font-size:1.35rem}.knowledge-card-copy{display:grid;min-width:0;gap:2px}.knowledge-card-copy small{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.knowledge-card-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.knowledge-card-copy span{font-size:.73rem;color:var(--muted)}.knowledge-card>span:last-child{color:var(--muted);font-size:1.35rem}.knowledge-empty{padding:18px;color:var(--muted)}.knowledge-placeholder{min-height:240px;display:flex;flex-direction:column;justify-content:center}.knowledge-placeholder p{color:var(--muted)}.knowledge-detail{min-width:0}.knowledge-detail-head{display:flex;align-items:start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:18px}.knowledge-detail-head h2{font-size:1.45rem;margin:3px 0}.knowledge-detail-head p{margin:5px 0;color:var(--muted)}.knowledge-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.knowledge-detail-actions .button{white-space:normal}.knowledge-help{margin:17px 0;padding:12px 14px;background:var(--hover);color:var(--muted);border-radius:10px;font-size:.82rem;line-height:1.45}.knowledge-facts{display:grid;gap:13px}.knowledge-fact{padding:17px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.knowledge-fact-top{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;font-size:.73rem;color:var(--muted)}.knowledge-state{padding:5px 8px;border-radius:999px;background:var(--hover);font-weight:750}.knowledge-state.confirmed{background:#1b906626;color:#28ab81}.knowledge-state.proposed{background:#d3872d28;color:#d58e35}.knowledge-state.future,.knowledge-state.past{background:var(--hover);color:var(--muted)}.knowledge-fact p{font-size:.94rem;line-height:1.5;margin:13px 0;white-space:pre-wrap;overflow-wrap:anywhere}.knowledge-fact-meta{display:flex;gap:5px 16px;flex-wrap:wrap;color:var(--muted);font-size:.76rem;line-height:1.45}.knowledge-fact-meta a{color:var(--blue);text-decoration:underline}.knowledge-fact-meta strong{color:#d58e35}.knowledge-fact-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.knowledge-fact-actions .button{padding:8px 11px;font-size:.76rem}.knowledge-no-facts{color:var(--muted);padding:16px}.knowledge-remove-profile{margin-top:20px;color:var(--muted)}.knowledge-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.knowledge-fact .knowledge-condition{margin-top:-5px;color:var(--muted);font-size:.8rem}
@media(max-width:820px){.knowledge-layout{grid-template-columns:1fr}.knowledge-grid{display:flex;overflow-x:auto;max-height:none;padding-bottom:5px;scroll-snap-type:x mandatory}.knowledge-card{flex:0 0 min(230px,72vw);scroll-snap-align:start}.knowledge-detail-head{flex-direction:column}.knowledge-search{width:100%}.knowledge-search input{width:100%}}
@media(max-width:520px){.knowledge-date-fields{grid-template-columns:1fr}.knowledge-tabs{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:5px}.knowledge-tabs button{white-space:nowrap}}

/* Family Chronicle 1.4 */
.chronicle-root{display:grid;gap:18px;max-width:1100px;margin:0 auto 32px}.chronicle-filters{display:grid;gap:17px}.chronicle-period{display:flex;gap:7px;flex-wrap:wrap}.chronicle-period button{border:1px solid var(--line);border-radius:999px;padding:9px 15px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}.chronicle-period button.active{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}.chronicle-filter-row{display:grid;grid-template-columns:1fr 1fr minmax(200px,1.7fr);gap:12px}.chronicle-filter-row label,.chronicle-link-create label{display:grid;gap:6px;color:var(--muted);font-size:.8rem;font-weight:700}.chronicle-filter-row select,.chronicle-filter-row input,.chronicle-link-create input[type=search]{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:var(--input);color:var(--ink);font:inherit}.chronicle-results{display:grid;gap:15px}.chronicle-result-count{color:var(--muted);font-size:.82rem}.chronicle-event{display:grid;grid-template-columns:minmax(155px,.32fr) minmax(0,1fr);gap:22px}.chronicle-date{display:flex;align-items:flex-start;gap:12px;color:var(--blue);font-size:.87rem;font-weight:750}.chronicle-line{width:2px;min-height:100%;background:var(--line)}.chronicle-event-body{min-width:0}.chronicle-event-head{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.chronicle-module,.chronicle-group-count{padding:5px 9px;border-radius:999px;background:var(--hover);color:var(--muted);font-size:.72rem;font-weight:750}.chronicle-event h2{font-size:1.3rem;margin:12px 0 7px}.chronicle-event p{color:var(--muted);margin:0 0 13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.chronicle-entry-list{display:grid;gap:7px}.chronicle-entry-list a{display:grid;grid-template-columns:90px minmax(0,1fr) 18px;gap:10px;align-items:center;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none}.chronicle-entry-list a:hover{border-color:var(--blue);background:var(--hover)}.chronicle-entry-list a span:first-child{color:var(--muted);font-size:.74rem}.chronicle-entry-list a strong{font-size:.87rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chronicle-link-action{margin-top:12px}.chronicle-pagination{display:flex;gap:10px;align-items:center;justify-content:center;color:var(--muted);font-size:.8rem}.chronicle-empty{text-align:center}.chronicle-empty p{color:var(--muted)}.chronicle-link-manager{display:grid;gap:16px;max-height:65vh;overflow:auto}.chronicle-link-manager>p{margin:0;color:var(--muted);font-size:.82rem}.chronicle-existing-links{display:grid;gap:8px}.chronicle-existing-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.chronicle-existing-link a{display:grid;gap:3px;min-width:0;color:var(--ink);text-decoration:none}.chronicle-existing-link a:hover strong{color:var(--blue)}.chronicle-existing-link small{color:var(--muted)}.chronicle-existing-link strong{overflow-wrap:anywhere}.chronicle-link-create{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:12px}.chronicle-link-create h3{margin:0}.chronicle-link-candidates{display:grid;gap:5px;max-height:190px;overflow:auto}.chronicle-link-candidates>button{display:grid;gap:2px;text-align:left;border:1px solid var(--line);border-radius:9px;padding:9px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}.chronicle-link-candidates>button:hover{border-color:var(--blue)}.chronicle-link-candidates small,.chronicle-link-candidates p,.chronicle-selected{color:var(--muted);font-size:.76rem}.chronicle-link-kind{display:flex;gap:14px;flex-wrap:wrap}.chronicle-link-kind label{display:flex;align-items:center;gap:6px;color:var(--ink);font-size:.82rem}.chronicle-link-kind input{accent-color:var(--blue)}
@media(max-width:700px){.chronicle-filter-row{grid-template-columns:1fr 1fr}.chronicle-search{grid-column:1/-1}.chronicle-event{grid-template-columns:1fr;gap:9px}.chronicle-date{align-items:center}.chronicle-line{min-height:0;height:2px;flex:1}.chronicle-entry-list a{grid-template-columns:70px minmax(0,1fr) 15px}}

/* Document intake: selected-file analysis and a calm review queue. */
.document-intake-card{margin:0 0 22px}.document-intake-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.document-intake-heading h2{font-size:1.2rem;margin:0 0 5px}.document-intake-heading p,.document-intake-empty{color:var(--muted);font-size:.88rem;margin:0}.document-intake-rows{display:grid;gap:8px;margin-top:17px}.document-intake-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:var(--input)}.document-intake-row:hover{border-color:var(--blue);background:var(--blue-light)}.document-intake-row span:first-child{display:grid;gap:3px}.document-intake-row span:last-child{white-space:nowrap;color:var(--blue);font-weight:650}.document-intake-empty{margin-top:15px}.document-intake-start,.document-intake-review{display:grid;gap:15px}.document-intake-start>p,.document-intake-review>p{margin:0}.document-intake-source{font-size:.83rem;color:var(--muted)}.document-intake-warning{border:1px solid #ecb250;background:#f7ab311c;border-radius:10px;padding:12px 15px}.document-intake-warning strong{display:block;margin-bottom:5px}.document-intake-warning ul{margin:0;padding-left:20px}.intake-check{display:flex!important;align-items:flex-start;gap:10px;line-height:1.4}.intake-check input{width:18px;height:18px;flex:none;margin:2px 0}.document-intake-apply{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:16px}.document-intake-apply p{margin:0}.document-intake-apply .button{justify-self:start}@media(max-width:620px){.document-intake-heading{flex-direction:column}.document-intake-row{align-items:flex-start}.document-intake-row span:last-child{font-size:.8rem}}
.document-intake-filters{justify-content:flex-start;margin:13px 0 0}.document-intake-card>#intake-new-document{margin-top:14px}

/* Version 1.7: speak, review the transcript, then send. */

/* Simmi Live: a separate, explicitly started speech-to-speech session. */
.simmi-live-launch{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 11px;border:1px solid color-mix(in srgb,var(--primary) 55%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--ink);font-size:.78rem;font-weight:750;white-space:nowrap}.simmi-live-launch:hover{background:color-mix(in srgb,var(--primary) 18%,var(--surface))}
.simmi-live-overlay{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;overflow:auto;padding:20px;background:#080d19d9;backdrop-filter:blur(8px)}
.simmi-live-dialog{width:min(680px,100%);max-height:min(820px,calc(100dvh - 40px));overflow:auto;padding:24px;border:1px solid #52617d;border-radius:24px;background:linear-gradient(155deg,#1c2b46,#111a2d 67%);color:#f1f5ff;box-shadow:0 26px 90px #0009}
.simmi-live-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.simmi-live-dialog .eyebrow{color:#ffab69;font-size:.7rem;font-weight:800;letter-spacing:.15em}.simmi-live-dialog h2{margin:4px 0 0;font-size:1.5rem}.simmi-live-close{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid #53617a;border-radius:12px;font-size:1.7rem;line-height:1}.simmi-live-close:hover{background:#ffffff1c}
.simmi-live-stage{display:grid;justify-items:center;align-content:center;min-height:270px;margin:18px 0;padding:18px;border:1px solid #415574;border-radius:20px;background:radial-gradient(circle at 50% 30%,#365b84 0,#1a2a46 45%,#142039 100%);text-align:center}.simmi-live-halo{position:relative;display:grid;place-items:center;width:128px;height:128px;margin-bottom:10px;border-radius:50%;background:#ffffff12;box-shadow:0 0 0 9px #ffffff07}.simmi-live-halo img{position:absolute;inset:10px;width:108px;height:108px;object-fit:contain;opacity:0;transition:opacity .2s}.simmi-live-overlay[data-phase=idle] .simmi-live-idle,.simmi-live-overlay[data-phase=listening] .simmi-live-idle,.simmi-live-overlay[data-phase=thinking] .simmi-live-think,.simmi-live-overlay[data-phase=speaking] .simmi-live-speak{opacity:1}.simmi-live-overlay[data-phase=listening] .simmi-live-halo{animation:simmi-live-breathe 1.5s ease-in-out infinite}.simmi-live-overlay[data-phase=thinking] .simmi-live-halo{animation:simmi-live-think 1.4s ease-in-out infinite}.simmi-live-overlay[data-phase=speaking] .simmi-live-halo{animation:simmi-live-talk .48s ease-in-out infinite alternate}.simmi-live-stage h3{margin:5px 0 0;font-size:1.15rem}.simmi-live-stage p{margin:3px 0 0;color:#bbcae0;font-size:.84rem}.simmi-live-time{margin-top:7px;color:#ffb675;font-size:.72rem;font-weight:700}
.simmi-live-wave{display:flex;align-items:center;justify-content:center;gap:4px;height:22px}.simmi-live-wave i{width:4px;height:6px;border-radius:5px;background:#75d5fa}.simmi-live-overlay[data-phase=listening] .simmi-live-wave i,.simmi-live-overlay[data-phase=speaking] .simmi-live-wave i{animation:simmi-live-level .6s ease-in-out infinite alternate}.simmi-live-wave i:nth-child(2),.simmi-live-wave i:nth-child(4){animation-delay:.18s}.simmi-live-wave i:nth-child(3){animation-delay:.33s}
.simmi-live-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.simmi-live-steps span{padding:8px;border:1px solid #40506a;border-radius:10px;color:#aebbd0;font-size:.76rem;text-align:center}.simmi-live-steps .is-active{border-color:#74b7f0;background:#274566;color:#fff}
.simmi-live-caption{min-height:92px;padding:14px;border:1px solid #40506a;border-radius:14px;background:#0e192d}.simmi-live-caption strong{color:#ffaf73;font-size:.76rem}.simmi-live-caption p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem}.simmi-live-status{min-height:24px;margin:11px 0;color:#c5d1e5;font-size:.8rem}.simmi-live-status.is-error{color:#ff9999}.simmi-live-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:13px}.simmi-live-actions button{min-height:43px}.simmi-live-dialog>small{display:block;color:#aebbd0;line-height:1.5}.simmi-live-dialog audio{display:none}
.simmi-live-dialog .button.secondary{border:1px solid #536985;background:#253754;color:#f1f5ff}.simmi-live-dialog .button.secondary:disabled,.simmi-live-dialog .button.primary:disabled{opacity:.62}
@keyframes simmi-live-breathe{50%{transform:scale(1.06)}}@keyframes simmi-live-think{50%{transform:translateY(-5px) rotate(-3deg)}}@keyframes simmi-live-talk{to{transform:translateY(-4px) scale(1.04) rotate(2deg)}}@keyframes simmi-live-level{to{height:18px}}
@media(max-width:620px){.simmi-live-launch{min-height:35px;padding:5px 8px;font-size:.73rem}.simmi-live-launch span{display:inline}.simmi-live-overlay{padding:8px}.simmi-live-dialog{max-height:calc(100dvh - 16px);padding:15px;border-radius:17px}.simmi-live-stage{min-height:220px;margin:12px 0}.simmi-live-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.simmi-live-actions button{white-space:normal;padding:8px}}
@media(max-height:760px) and (min-width:621px){.simmi-live-stage{min-height:190px;margin:10px 0;padding:10px}.simmi-live-halo{width:90px;height:90px;margin-bottom:2px}.simmi-live-halo img{inset:7px;width:76px;height:76px}.simmi-live-caption{min-height:68px;padding:10px}.simmi-live-dialog{padding:17px}.simmi-live-status{margin:7px 0}.simmi-live-actions{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.simmi-live-halo,.simmi-live-wave i{animation:none!important}}
@media(max-width:620px){.simmi-form-entry{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.simmi-form-entry textarea{grid-column:1/-1;min-height:46px}.simmi-form-entry .simmi-voice-button{grid-column:1;width:100%}.simmi-form-entry .simmi-voice-cancel{grid-column:1/-1;width:100%}.simmi-form-entry .button.primary{grid-column:2;width:100%}}

/* The assistant keeps the conversation usable on a phone, including the empty state. */
.simmi-mobile-title,.simmi-mobile-info{display:none}.simmi-voice-status:empty{display:none}
@media(max-width:620px){
 .simmi-page-heading{display:none}
 .simmi-layout{gap:10px}
 .simmi-chat{height:calc(100dvh - 175px);min-height:430px;padding:12px 14px;overflow:visible}
 .simmi-chat-head{flex-direction:row;align-items:center;gap:8px}
 .simmi-chat-head .eyebrow,.simmi-desktop-title,.simmi-model,.simmi-notice{display:none}
 .simmi-mobile-title{display:inline}.simmi-chat-head h2{font-size:1.05rem;margin:0}
 .simmi-chat-actions{gap:8px;flex-wrap:nowrap}
 .simmi-mobile-info{display:block;position:relative;font-size:.75rem;color:var(--muted)}
 .simmi-mobile-info summary{cursor:pointer;list-style:none;padding:7px 9px;border:1px solid var(--line);border-radius:9px;white-space:nowrap}
 .simmi-mobile-info summary::-webkit-details-marker{display:none}
 .simmi-mobile-info[open]>div{position:absolute;z-index:5;right:0;top:calc(100% + 7px);width:min(300px,78vw);padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:0 12px 28px #0003;line-height:1.4}
 .simmi-mobile-info p{margin:8px 0}.simmi-mobile-info small{color:var(--muted)}
 .simmi-notice-alert{display:block;margin:8px 0 0;padding:8px 10px;font-size:.73rem}
 .simmi-clear{font-size:.72rem;white-space:nowrap}
 .simmi-conversation-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:9px}
 .simmi-conversation-bar label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .simmi-conversation-bar select,.simmi-conversation-bar .button{min-height:38px;height:38px}
 .simmi-history{padding:9px 1px 11px;gap:10px}
 .simmi-history.is-empty{align-items:stretch;justify-content:flex-start}
 .simmi-welcome{margin:auto 0;padding:8px 3px}.simmi-welcome h3{font-size:1rem}.simmi-welcome p{margin-bottom:10px;font-size:.78rem}
 .simmi-examples{gap:6px}.simmi-examples button{font-size:.74rem;padding:7px 9px}
 .simmi-message{max-width:96%;padding:12px 13px}
 .simmi-form{padding-top:9px}.simmi-form>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .simmi-form-entry textarea{min-height:43px}.simmi-form-entry .button,.simmi-form-entry .simmi-voice-button{min-height:42px}
 .simmi-voice-status{font-size:.7rem;margin:5px 0 0}
 .simmi-form-foot{margin-top:4px}.simmi-form-foot small:first-child{display:none}.simmi-form-foot small{font-size:.66rem}
}
/* Zuhause & Geräte */
.asset-root{max-width:1200px;margin:0 auto 36px}.asset-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 18px}.asset-tools label:first-child{flex:1 1 260px}.asset-tools input,.asset-tools select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:var(--input);color:var(--ink);font:inherit}.asset-tools>span{font-size:.8rem;color:var(--muted)}.asset-layout{display:grid;grid-template-columns:minmax(250px,.38fr) minmax(0,.62fr);gap:18px;align-items:start}.asset-list{display:grid;gap:10px}.asset-card{width:100%;min-width:0;display:grid;grid-template-columns:45px minmax(0,1fr) 14px;gap:12px;align-items:center;padding:15px;text-align:left;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}.asset-card:hover,.asset-card.active{border-color:var(--blue);background:var(--hover)}.asset-card-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--hover);color:var(--blue);font-size:1.7rem}.asset-card-copy{display:grid;gap:3px;min-width:0}.asset-card-copy small,.asset-card-copy span,.asset-card-copy em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.78rem;font-style:normal}.asset-card-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}.asset-detail,.asset-placeholder,.asset-loading{padding:24px}.asset-placeholder p,.asset-help,.asset-docs>p,.asset-maintenance>p{color:var(--muted);font-size:.86rem;line-height:1.5}.asset-detail-head,.asset-section-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.asset-detail-head h2{font-size:1.65rem;margin:7px 0}.asset-detail-head p{color:var(--muted);margin:0}.asset-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0}.asset-facts>div{display:grid;gap:5px;padding:13px;border:1px solid var(--line);border-radius:11px;min-width:0}.asset-facts small{color:var(--muted);font-size:.75rem}.asset-facts strong{overflow-wrap:anywhere;font-size:.91rem}.asset-notes{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.asset-section-head{align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.asset-section-head h3{margin:0;font-size:1.1rem}.asset-docs,.asset-maintenance{display:grid;gap:8px;margin-top:14px}.asset-doc,.asset-event{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;min-width:0}.asset-doc a{display:grid;gap:3px;min-width:0;flex:1;color:var(--ink);text-decoration:none}.asset-doc a:hover strong{color:var(--blue)}.asset-doc span,.asset-event time,.asset-event small{font-size:.75rem;color:var(--muted)}.asset-doc strong{overflow-wrap:anywhere}.asset-doc button,.asset-event button{color:var(--blue);font:inherit;font-size:.78rem}.asset-event>div{min-width:0;flex:1}.asset-event p{margin:4px 0;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem}.asset-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.asset-delete{display:block;margin-top:24px;color:var(--muted)}.asset-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.asset-qr-print{text-align:center;border:1px solid var(--line);border-radius:14px;padding:16px;max-width:310px;margin:15px auto}.asset-qr-print h2{font-size:1.1rem}.asset-qr-image{width:210px;height:210px;margin:auto}.asset-qr-image svg{width:100%;height:100%}.asset-qr-print p{font-size:.75rem;color:var(--muted)}
@media(max-width:780px){.asset-layout{grid-template-columns:1fr}.asset-detail,.asset-placeholder,.asset-loading{padding:18px}.asset-form-grid{grid-template-columns:1fr}.asset-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){.asset-facts{grid-template-columns:1fr}.asset-detail-head{flex-wrap:wrap}}
@media print{body.print-asset-label *{visibility:hidden!important}body.print-asset-label .asset-qr-print,body.print-asset-label .asset-qr-print *{visibility:visible!important}body.print-asset-label .asset-qr-print{position:absolute;top:0;left:0;width:65mm;max-width:none;border:0;padding:0;margin:0;break-inside:avoid}body.print-asset-label .asset-qr-image{width:55mm;height:55mm}}
/* Optional read-only Tesla panel in a vehicle dossier. */
.vehicle-tesla{background:var(--bg);border:1px solid var(--line);border-radius:14px;margin:16px 0;padding:16px!important}
.vehicle-tesla .vehicle-dossier-head{margin-bottom:9px}
.vehicle-tesla .vehicle-dossier-head span,.vehicle-tesla-note{color:var(--muted);font-size:.78rem;line-height:1.45}
.vehicle-tesla .button{margin:6px 8px 6px 0}
.vehicle-tesla-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:13px 0}
.vehicle-tesla-facts span{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:10px;min-width:0}
.vehicle-tesla-facts strong,.vehicle-tesla-facts small{display:block;overflow-wrap:anywhere}
.vehicle-tesla-facts strong{font-size:1rem}.vehicle-tesla-facts small{color:var(--muted);font-size:.73rem;margin-top:3px}
.vehicle-tesla-picker{display:flex;gap:8px;flex-wrap:wrap}.vehicle-tesla-picker select{min-width:180px;flex:1}
@media(max-width:500px){.vehicle-tesla-facts{grid-template-columns:1fr 1fr}.vehicle-tesla-picker{display:block}.vehicle-tesla-picker select{width:100%}}
.tesla-card-info{margin:14px 0;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.tesla-card-info-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:.83rem}
.tesla-card-info>small{display:block;margin-top:8px}.tesla-card-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.tesla-card-values span{display:grid;gap:2px}.tesla-card-values strong{font-size:1.05rem}.tesla-card-values small{font-size:.68rem}
.tesla-home{font-size:.72rem;font-weight:700;border-radius:999px;padding:3px 8px}.tesla-home.is-home{color:#116845;background:#cdf4df}.tesla-home.is-away{color:#a82b30;background:#ffe0df}
.home-tesla{grid-column:1/-1}.home-tesla-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px;margin:14px 0}.home-tesla-car{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:15px}.home-tesla-car>strong,.home-tesla-car>small{display:block}.home-tesla-car>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:9px 0}.home-tesla-car b{font-size:1.7rem;line-height:1}.home-tesla-car span{font-size:.83rem}.home-tesla>p{margin-bottom:0}
.tesla-actions{display:flex;flex-wrap:wrap;gap:7px}.tesla-charging{margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.tesla-charging-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.tesla-charging-summary span{display:grid;gap:4px;padding:11px;background:var(--card);border:1px solid var(--line);border-radius:10px}.tesla-charging-summary strong{font-size:.93rem}.tesla-charging-months{margin-top:8px}.tesla-charging-months>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.8rem}.tesla-charging h4{font-size:.82rem;margin:16px 0 6px}.tesla-charging-sessions>div{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.8rem}.tesla-charging-sessions small{display:block;color:var(--muted);margin-top:2px}.tesla-charging-sessions>div>strong{text-align:right;white-space:nowrap}.tesla-charging details summary{cursor:pointer;color:var(--blue);font-weight:650}@media(max-width:620px){.tesla-charging-summary{grid-template-columns:1fr}.tesla-card-values strong{font-size:.9rem}}
/* Haushaltsbuch 1.10.0 */
.finance-root{display:grid;gap:1.25rem}
.finance-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.finance-view-tabs{display:flex;gap:.65rem;flex-wrap:wrap;margin:1.4rem 0}.finance-view-tabs button{min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:.7rem 1.3rem;font-weight:750}.finance-view-tabs button.active{border-color:var(--accent,#c15b1b);background:var(--accent,#c15b1b);color:#fff}.finance-ledger .finance-inbox-controls{margin-top:1.2rem}.finance-ledger .finance-inbox-controls label{min-width:130px}.finance-ledger .finance-inbox-controls label:first-child{min-width:220px}
.finance-stat{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.finance-stat>small:first-child{color:var(--muted,#aebbd0);font-weight:700}
.finance-stat>strong{font-size:clamp(1.35rem,2.2vw,2rem);letter-spacing:-.025em;white-space:nowrap}
.finance-stat>span{font-weight:700}
.finance-stat>small:last-child{color:var(--muted,#aebbd0);line-height:1.45}
.finance-explain{margin:0;color:var(--muted,#aebbd0);line-height:1.55}
.finance-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.finance-ledger{min-width:0}
.finance-table-wrap{overflow-x:auto}
.finance-table{width:100%;border-collapse:collapse;text-align:left}
.finance-table th,.finance-table td{padding:.9rem .65rem;border-bottom:1px solid var(--line,#34445d);vertical-align:top}
.finance-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#aebbd0)}
.finance-table td strong,.finance-table td small{display:block}
.finance-table td small{margin-top:.2rem;color:var(--muted,#aebbd0)}
.finance-table td:nth-child(4){font-weight:750;white-space:nowrap}
.finance-negative{color:#ffb277}.finance-positive{color:#8fe3bd}
.finance-voided summary{cursor:pointer;font-weight:700}.finance-voided[open] summary{margin-bottom:1rem}
.finance-inbox,.finance-inbox-list,.finance-mail-list{display:grid;gap:1rem;min-width:0}
.finance-inbox .card-head{gap:1rem;align-items:flex-start}.finance-inbox .card-head p{margin:.35rem 0 0;color:var(--muted,#aebbd0)}
.finance-inbox-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--line,#34445d);border-radius:1rem}
.finance-inbox-row>div:first-child{min-width:0}.finance-inbox-row strong,.finance-inbox-row small{display:block;overflow-wrap:anywhere}
.finance-inbox-row small{margin:.3rem 0;color:var(--muted,#aebbd0)}.finance-inbox-row .pill{display:inline-block;margin:.3rem .3rem 0 0}
.finance-inbox-row-actions{display:flex;gap:.5rem;flex-wrap:wrap}.finance-mail-row{border:1px solid var(--line,#34445d);border-radius:1rem;padding:1rem}
.receipt-item-row{display:grid;grid-template-columns:minmax(140px,2fr) repeat(4,minmax(80px,1fr)) auto;gap:.5rem;align-items:end;padding:.7rem 0;border-bottom:1px solid var(--line,#34445d)}
.receipt-item-row label{min-width:0}.receipt-item-row input{width:100%;min-width:0}.receipt-remove{min-width:2.8rem;padding:.6rem}
.receipt-warning{border:1px solid #d88945;background:rgba(216,137,69,.12);border-radius:.8rem;padding:.8rem 1rem;margin:1rem 0}.receipt-warning ul{margin:.4rem 0 0;padding-left:1.2rem}.receipt-balance{padding:.75rem 1rem;border:1px solid var(--line,#34445d);border-radius:.7rem}
.finance-mail-row summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:baseline}.finance-mail-row summary strong{flex-basis:100%}
.finance-mail-row summary span,.finance-mail-row small{color:var(--muted,#aebbd0)}.finance-mail-row p{white-space:pre-wrap;overflow-wrap:anywhere}
.finance-inbox-stats,.home-finance-grid{display:flex;gap:.65rem;flex-wrap:wrap}.finance-inbox-stats>span,.home-finance-grid>span{flex:1;min-width:120px;padding:.85rem 1rem;border:1px solid var(--line,#34445d);border-radius:.85rem;color:var(--muted,#aebbd0)}.finance-inbox-stats strong,.home-finance-grid strong{display:block;color:var(--text,#f2f5fb);font-size:1.45rem}.home-finance>small{display:block;margin-top:.75rem;color:var(--muted,#aebbd0)}
.finance-mail-client{min-width:0}.finance-mail-client .card-head{gap:1rem;align-items:start}.finance-mail-client .card-head p{color:var(--muted,#aebbd0)}.finance-mail-search{display:block;margin:1rem 0;color:var(--muted,#aebbd0)}.finance-mail-search input{display:block;width:100%;margin-top:.4rem}.finance-mail-client-grid{display:grid;grid-template-columns:minmax(220px, .8fr) minmax(0,1.5fr);gap:1rem;min-height:340px}.finance-mail-list{align-content:start;max-height:520px;overflow:auto}.finance-mail-item{display:block;width:100%;text-align:left;padding:.85rem;border:1px solid var(--line,#34445d);border-radius:.85rem;background:transparent;color:inherit;cursor:pointer}.finance-mail-item.selected{border-color:var(--accent,#f89955)}.finance-mail-item.unread strong:before{content:'● ';color:var(--accent,#f89955)}.finance-mail-item strong,.finance-mail-item span,.finance-mail-item small{display:block;overflow-wrap:anywhere}.finance-mail-item span,.finance-mail-item small{color:var(--muted,#aebbd0);margin-top:.25rem}.finance-mail-detail{border:1px solid var(--line,#34445d);border-radius:1rem;padding:1rem;min-width:0}.finance-mail-detail-head{display:flex;justify-content:space-between;align-items:start;gap:1rem}.finance-mail-detail-head h4{margin:0}.finance-mail-detail-head p{color:var(--muted,#aebbd0)}.finance-mail-body{white-space:pre-wrap;overflow-wrap:anywhere;max-height:440px;overflow:auto;padding:1rem 0;border-top:1px solid var(--line,#34445d);border-bottom:1px solid var(--line,#34445d)}.finance-mail-attachments{display:grid;gap:.45rem;margin-top:1rem}.finance-mail-attachments a{overflow-wrap:anywhere}
@media(max-width:1050px){.finance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.finance-mail-client-grid{grid-template-columns:1fr}.finance-mail-list{max-height:260px}.finance-mail-detail-head{display:block}.finance-mail-detail-head .button{margin-bottom:.75rem}}
@media(max-width:600px){.finance-stats{grid-template-columns:1fr 1fr;gap:.55rem}.finance-stat{padding:1rem}.finance-stat>strong{font-size:1.3rem}.finance-table{min-width:620px}.finance-inbox-row,.finance-inbox .card-head{display:block}.finance-inbox-row-actions{margin-top:.75rem}}
@media(max-width:700px){.receipt-item-row{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-item-row label:first-child{grid-column:1/-1}.receipt-item-row .receipt-remove{justify-self:start}}
.finance-inbox-overview{padding:0 0 1.4rem;border-bottom:1px solid var(--line,#34445d);margin-bottom:.4rem}
.finance-inbox-list-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.1rem}.finance-inbox-list-head h3{margin:.25rem 0 0}
.finance-debts{margin-top:1.1rem;padding:1rem;border:1px solid var(--line,#34445d);border-radius:.85rem}.finance-debts h3{margin:0 0 .65rem}.finance-debt-row{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-top:1px solid var(--line,#34445d)}.finance-debt-row:first-of-type{border-top:0}
.finance-preview-content{min-height:30vh;max-height:70vh;overflow:auto;display:flex;justify-content:center;align-items:start}.finance-preview-content img{max-width:100%;height:auto}.finance-preview-content iframe{width:100%;height:65vh;border:0;background:#fff}
.account-form [hidden]{display:none!important}
.finance-inbox-controls{display:flex;flex-wrap:wrap;align-items:end;gap:.7rem;margin:1rem 0 1.2rem}.finance-inbox-controls label{display:grid;gap:.3rem;min-width:170px;flex:1;color:var(--muted);font-size:.82rem}.finance-inbox-controls label:first-child{flex:2;min-width:230px}.finance-inbox-controls input,.finance-inbox-controls select{width:100%;min-height:42px;padding:.6rem .7rem;border:1px solid var(--line);border-radius:.55rem;background:var(--input);color:var(--ink)}.finance-inbox-controls .button{min-height:42px}.finance-inbox-pages{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.finance-inbox-pages span{color:var(--muted);font-size:.85rem}
.finance-price-panel{padding:1rem;border:1px solid var(--line,#34445d);border-radius:1rem}.finance-price-panel h3{margin-top:0}.finance-price-panel label{display:block;margin:1rem 0}.finance-price-panel input{display:block;width:100%;margin-top:.35rem}.finance-price-item{border-top:1px solid var(--line,#34445d);padding:.8rem 0}.finance-price-item summary{cursor:pointer;display:flex;justify-content:space-between;gap:1rem}.finance-price-item ul{padding-left:1.25rem}.shopping-quick-top{margin:.75rem 0 1.2rem}
@media(max-width:600px){.finance-inbox-list-head,.finance-debt-row,.finance-price-item summary{display:block}.finance-inbox-list-head .button{margin-top:.8rem}.finance-preview-content iframe{height:55vh}}

dialog:has(.finance-preview-content){width:min(1100px,calc(100% - 24px));max-width:1100px}
.finance-receipt-ref{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:.3rem 0 .5rem;color:var(--accent,#f89955);font-weight:700}.finance-receipt-ref .text-link{font-size:.8rem}
.finance-debt-row>div{min-width:0}.finance-debt-row>div:last-child{text-align:right}.finance-debt-row small,.finance-debt-row .text-link{display:block;margin-top:.2rem}
@media(max-width:600px){.finance-debt-row>div:last-child{text-align:left;margin-top:.35rem}}

/* Persönliche Startseite: ein responsives Raster, dessen DOM-Reihenfolge der gespeicherten Reihenfolge entspricht. */
.home-widget-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:9px 0 18px}.home-widget-toolbar .eyebrow{display:block;margin-bottom:3px;color:var(--blue)}.home-widget-toolbar p{color:var(--muted);font-size:.86rem;margin:0}.home-widget-toolbar .button{flex:none}.home-widget-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:stretch}.home-widget{grid-column:span 6;min-width:0}.home-widget-wide{grid-column:span 12}.home-widget:empty,.home-widget:has(> [hidden]){display:none}.home-widget>.card,.home-widget>.today-summary,.home-widget>.welcome-card,.home-widget>.exam-feature{height:100%;margin:0}.home-widget .card-head{gap:10px;flex-wrap:wrap}.home-widget .card-head .text-link{white-space:normal}.home-widget .today-briefing{min-height:0}.home-widget .today-summary-list{max-height:310px;overflow:auto;width:100%;scrollbar-width:thin}.home-widget .home-champions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-widget-empty{grid-column:1/-1;text-align:center;padding:35px}.home-widget-empty p{color:var(--muted);margin:8px 0 0}
@media(min-width:1550px){.home-widget:not(.home-widget-wide){grid-column:span 4}.home-widget-wide{grid-column:span 8}.home-widget[data-home-widget="briefing"]{grid-column:span 12}}
@media(max-width:900px){.home-widget,.home-widget-wide{grid-column:span 12}.home-widget-toolbar{align-items:start}.home-widget-toolbar .button{white-space:normal;text-align:center}}
@media(max-width:620px){.home-widget-grid{gap:13px}.home-widget-toolbar{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:0}.home-widget-toolbar p{font-size:.75rem}.home-widget-toolbar .button{padding:8px 10px;font-size:.76rem;min-height:38px}.home-widget>.card,.home-widget>.today-summary,.home-widget>.welcome-card{padding:19px}.home-widget .home-champions-grid{grid-template-columns:1fr}.home-widget .week-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.home-widget-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:620px){.home-widget-actions{grid-column:1/-1;justify-content:stretch}.home-widget-actions .button{flex:1}}
.task-smart-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.task-smart-overview>div{display:grid;gap:4px;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.task-smart-overview strong{font-size:1.7rem;font-variant-numeric:tabular-nums}.task-smart-overview span,.task-smart-hint{color:var(--muted);font-size:.83rem}.task-smart-hint{margin:3px 0 22px}.task-smart-fields{padding:14px;border:1px solid var(--line);border-radius:13px;margin:12px 0}.task-smart-fields .form-grid{margin-bottom:10px}.task-priority-urgent{border-left:4px solid #dc6573}.task-priority-important{border-left:4px solid #f1a04c}.task-priority-label{color:var(--accent,#c15b1b)}.shopping-tasks{margin:0 0 18px}.shopping-tasks .card-head{margin-bottom:8px}@media(max-width:740px){.task-smart-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
.home-widget-settings-intro p{margin:0 0 5px}.home-widget-settings-intro small{display:block;margin-bottom:14px}.home-widget-settings-list{display:grid;gap:8px;max-height:min(56vh,650px);overflow:auto;padding:3px;scrollbar-width:thin}.home-widget-setting{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:9px 10px;min-width:0}.home-widget-setting.is-hidden{opacity:.58;background:var(--bg)}.home-widget-setting.is-dragging{opacity:.35}.home-widget-grip{font-size:1.2rem;color:var(--muted);cursor:grab;letter-spacing:-.18em;padding-right:8px}.home-widget-setting-toggle{display:flex!important;align-items:center!important;gap:11px;flex:1;min-width:0;cursor:pointer}.home-widget-setting-toggle input{width:20px!important;height:20px;flex:none;accent-color:var(--primary)}.home-widget-setting-toggle span{display:grid;gap:1px;min-width:0}.home-widget-setting-toggle strong{font-size:.87rem}.home-widget-setting-toggle small{font-size:.73rem;line-height:1.3}.home-widget-setting-move{display:flex;gap:3px}.home-widget-setting-move button{width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-size:1rem}.home-widget-setting-move button:hover{border-color:var(--blue);color:var(--blue)}
@media(max-width:620px){.home-widget-setting{gap:6px;padding:8px}.home-widget-grip{display:none}.home-widget-setting-toggle strong{font-size:.8rem}.home-widget-setting-toggle small{font-size:.68rem}.home-widget-setting-move button{width:32px;height:34px}}
.home-finance-people{display:grid;gap:6px;margin-top:13px}.home-finance-people>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.83rem}.home-finance-people strong{font-variant-numeric:tabular-nums}

/* Ruhige, einheitliche Startseiten-Kacheln. Farben kodieren nur echte Zustände. */
.home-widget>.card{display:flex;flex-direction:column;min-width:0;border-radius:18px}
.home-widget>.card>.card-head{align-items:flex-start;margin-bottom:16px}
.home-widget>.card>.card-head h2{font-size:clamp(1.1rem,1.5vw,1.28rem);line-height:1.2}
.home-widget>.card>.card-head .text-link{font-size:.8rem}
.home-widget .home-widget-empty-state{display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:125px;padding:18px;border:1px dashed var(--line);border-radius:13px;background:var(--hover)}
.home-widget .empty{min-height:110px;border:1px dashed var(--line);border-radius:12px;background:var(--hover);margin:0}.home-widget .empty p{font-size:.82rem;line-height:1.45}
.home-widget .shopping-card .card-subtitle{margin:0 0 13px;font-size:.79rem;color:var(--muted)}.home-widget .shopping-card .quick-add{margin-top:auto;padding-top:15px}.home-widget .task-card .progress-meta{margin-top:1px}
.home-widget .home-finance-grid>span{background:var(--hover);border-radius:12px}.home-widget .home-finance-grid strong{font-variant-numeric:tabular-nums}.home-widget .home-finance-people>div:last-child{border-bottom:0}
.home-widget .home-champions-grid{gap:8px}.home-widget .home-champion{background:var(--hover);border-radius:11px}.home-widget .home-note{min-height:104px}.home-widget .home-note:hover{border-color:var(--blue)}
.home-widget .home-widget-empty-state strong{font-size:.9rem}.home-widget .home-widget-empty-state p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.home-widget .home-widget-empty-state .text-link{align-self:flex-start;font-size:.8rem}
.home-widget .home-polls .event-row,.home-widget .home-exams .event-row,.home-widget .home-documents .event-row{display:grid;gap:4px;width:100%;text-align:left;padding:12px 14px;margin:0 0 8px;border:1px solid var(--line);border-radius:11px;background:var(--hover);color:var(--ink)}
.home-widget .home-polls .event-row:hover,.home-widget .home-exams .event-row:hover,.home-widget .home-documents .event-row:hover{border-color:var(--blue);background:var(--blue-light)}
.home-widget .home-polls .event-row strong,.home-widget .home-exams .event-row strong,.home-widget .home-documents .event-row strong{font-size:.87rem;overflow-wrap:anywhere}
.home-widget .home-polls .event-row span,.home-widget .home-exams .event-row span,.home-widget .home-documents .event-row span{font-size:.75rem;color:var(--muted);line-height:1.4}
.home-widget .home-meal-list{display:grid;gap:9px}.home-widget .home-meal-list p{display:grid;gap:3px;margin:0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(120deg,color-mix(in srgb,var(--blue) 8%,var(--surface)),var(--surface))}.home-widget .home-meal-list strong{font-size:.95rem}.home-widget .home-meal-list small{font-size:.75rem;color:var(--muted)}
.home-widget .home-vehicles .home-vehicle-row{display:grid;gap:3px;justify-content:stretch;padding:12px 14px;margin-bottom:8px;border:1px solid var(--line);border-radius:11px;background:var(--hover)}.home-widget .home-vehicles .home-vehicle-row span{font-size:.76rem;color:var(--muted)}
.home-widget .week-focus-grid{gap:8px}.home-widget .week-focus-grid a{border-radius:12px}.home-widget .week-focus-grid a strong{font-variant-numeric:tabular-nums}.home-widget .week-focus>p{margin-top:16px;font-size:.8rem;line-height:1.5}
.home-widget .home-tesla-grid{margin:3px 0 14px}.home-widget .home-tesla-car{padding:17px;border-radius:14px;background:var(--hover)}.home-widget .home-tesla-car>div{margin:12px 0}.home-widget .home-tesla-car b{font-variant-numeric:tabular-nums}.home-widget .home-tesla-car small{font-size:.72rem;color:var(--muted)}
.home-tesla-meter{height:7px;overflow:hidden;background:var(--line);border-radius:99px;margin:0 0 11px}.home-tesla-meter i{display:block;height:100%;border-radius:inherit;background:#20a783}
.home-widget .home-tesla-car>.home-tesla-meter{display:block;margin:0 0 11px}
.child-home{gap:0}.child-home-head .eyebrow{display:block;color:var(--blue);margin-bottom:5px}.child-home-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}.child-home-list .child-home-person{min-width:0;padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--hover)}.child-home-person.is-home{border-top:3px solid #20a783}.child-home-person.is-away{border-top:3px solid #d28a46}.child-home-person.is-other{border-top:3px solid #9873d2}.child-home-person-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.child-home-person-top>div{display:grid;gap:4px;min-width:0}.child-home-name{font-size:.8rem;color:var(--muted);font-weight:650}.child-home-status{font-size:1.15rem;line-height:1.25;overflow-wrap:anywhere}.child-home-holiday{color:var(--muted);font-size:.72rem}.child-home-state{padding:4px 7px;border-radius:99px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:.67rem;font-weight:700;white-space:nowrap}.child-home-next{display:grid;gap:2px;margin:15px 0;padding:10px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}.child-home-next span{color:var(--muted);font-size:.7rem}.child-home-next strong{font-size:.86rem}.child-home-next small{color:var(--muted);font-size:.72rem}.child-home-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.child-home-day{display:grid;justify-items:center;gap:2px;min-width:0;padding:6px 1px;border-radius:8px;background:var(--surface);border:1px solid var(--line)}.child-home-day.is-today{outline:2px solid var(--blue);outline-offset:1px}.child-home-day small{font-size:.61rem;color:var(--muted);white-space:nowrap}.child-home-day strong{font-size:.76rem;font-variant-numeric:tabular-nums}.child-home-day i,.child-home-legend i{width:6px;height:6px;border-radius:50%;background:#d28a46}.child-home-day.is-home i,.child-home-legend i.is-home{background:#20a783}.child-home-day.is-other i,.child-home-legend i.is-other{background:#9873d2}.child-home-legend{display:flex;flex-wrap:wrap;gap:8px 15px;margin-top:13px;color:var(--muted);font-size:.69rem}.child-home-legend span{display:inline-flex;align-items:center;gap:5px}
@media(max-width:620px){.child-home-list{grid-template-columns:1fr}.child-home-list .child-home-person{padding:14px}.home-widget .home-widget-empty-state{min-height:105px}}
dialog:has(#home-widget-settings-list){width:min(760px,calc(100% - 24px));max-width:760px}

/* Lokale Reisekarte und Kartenpunkt-Auswahl. */
.travel-map-section{margin-bottom:22px}.travel-map-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.travel-map-heading h2{margin:5px 0}.travel-map-heading p,.travel-map-preview,.travel-map-note{color:var(--muted);font-size:.86rem;line-height:1.5}.travel-map-heading p{margin:0}.travel-map-filters{display:grid;gap:10px;margin:20px 0 13px}.travel-map-filters>div,.travel-people>div{display:flex;flex-wrap:wrap;gap:8px}.travel-map-filters label,.travel-people label{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;background:var(--hover);border:1px solid var(--line);border-radius:999px;font-size:.85rem;cursor:pointer}.travel-map-filters input,.travel-people input,.travel-visited-check input{width:18px;height:18px;accent-color:var(--blue);margin:0}.travel-map-filters small,.travel-people small{color:var(--muted)}.travel-map-canvas,.travel-place-picker{height:clamp(320px,50vh,540px);width:100%;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#c7d8e6;z-index:0}.travel-map-canvas .leaflet-container,.travel-place-picker .leaflet-container{font:inherit}.travel-map-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:9px;margin:14px 0}.travel-map-results button,.travel-map-unplaced button{display:grid;gap:3px;width:100%;text-align:left;border:1px solid var(--line);border-radius:11px;background:var(--hover);color:var(--ink);padding:12px;cursor:pointer}.travel-map-results button:hover,.travel-map-unplaced button:hover{border-color:var(--blue)}.travel-map-results span,.travel-map-unplaced p{font-size:.79rem;color:var(--muted)}.travel-map-unplaced{border-top:1px solid var(--line);padding-top:15px}.travel-map-unplaced summary{cursor:pointer;font-weight:700}.travel-map-unplaced>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px}.travel-map-popup{display:grid;gap:3px}.travel-map-popup small{color:#556071}.travel-map-failure{padding:18px;color:#7c2635}.travel-editor-fields{display:grid;gap:16px;margin:4px 0 16px}.travel-visited-check{display:flex!important;align-items:center;gap:10px}.travel-people{border:1px solid var(--line);border-radius:12px;padding:15px}.travel-people legend{font-weight:700;padding:0 6px}.travel-people small{display:block;margin-top:9px}.travel-editor-fields details{border:1px solid var(--line);border-radius:12px;padding:15px}.travel-editor-fields summary{font-weight:700;cursor:pointer}.travel-editor-fields details>p{color:var(--muted);font-size:.83rem}.travel-place-picker{height:330px}.travel-place-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:.8rem;color:var(--muted)}
@media(max-width:620px){.travel-map-heading{align-items:flex-start;flex-direction:column}.travel-map-canvas{height:400px}.travel-place-picker{height:300px}.travel-place-footer{align-items:flex-start;flex-direction:column}.travel-map-filters label,.travel-people label{padding:8px 10px}}
#entry-form .travel-editor-fields input[type="checkbox"]{width:18px;height:18px;min-width:18px;flex:none;padding:0;border-radius:4px;accent-color:var(--blue)}
#entry-form .travel-visited-check{justify-content:flex-start;margin:0;font-weight:650}

/* Ein Reiseeintrag bündelt Planung, Belege und Erinnerungen. */
dialog:has(.travel-folder){max-width:960px;width:calc(100% - 24px)}
.travel-folder{display:grid;gap:18px}.travel-folder-hero{padding:19px 21px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(130deg,color-mix(in srgb,var(--blue) 11%,var(--surface)),var(--surface))}.travel-folder-hero .eyebrow{color:var(--blue)}.travel-folder-hero>p{margin:5px 0;color:var(--muted);overflow-wrap:anywhere}.travel-folder-hero .travel-folder-description{color:var(--ink);white-space:pre-wrap}.travel-folder-stats{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.travel-folder-stats span{display:flex;gap:6px;align-items:baseline;padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-size:.79rem}.travel-folder-stats strong{font-size:1rem}.travel-folder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.travel-folder-panel{min-width:0;padding:19px;border:1px solid var(--line);border-radius:15px;background:var(--hover)}.travel-folder-panel h3{margin:0;font-size:1.08rem}.travel-folder-panel>p,.travel-folder-row p{color:var(--muted);font-size:.83rem;margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.travel-folder-panel>strong{display:block;margin-top:10px}.travel-folder-panel>small{display:block;margin-top:7px;overflow-wrap:anywhere}.travel-folder-wide{grid-column:1/-1}.travel-folder-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px}.travel-folder-panel-head .text-link{flex:none;font-size:.81rem}.travel-folder-list{display:grid;gap:8px}.travel-folder-row{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.travel-folder-row>div{display:grid;gap:2px;min-width:0}.travel-folder-row strong{overflow-wrap:anywhere}.travel-folder-row small{color:var(--muted)}.travel-budget-numbers{display:grid;gap:7px}.travel-budget-numbers span{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:6px;font-size:.84rem}.travel-budget-numbers strong{font-variant-numeric:tabular-nums}.travel-packing-list{display:grid;gap:5px}.travel-packing-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.travel-packing-row label{display:flex;align-items:center;gap:9px;min-width:0;font-size:.87rem;cursor:pointer}.travel-packing-row input{width:18px;height:18px;accent-color:var(--blue);flex:none}.travel-packing-row .done{text-decoration:line-through;color:var(--muted)}.travel-packing-row>button{width:30px;height:30px;border-radius:8px;color:var(--muted);font-size:1.25rem}.travel-packing-row>button:hover{background:var(--surface);color:var(--ink)}.travel-expense-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:.85rem}.travel-expense-row strong{font-variant-numeric:tabular-nums}.travel-linked-row{display:grid;gap:2px;width:100%;text-align:left;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.travel-linked-row:hover{border-color:var(--blue)}.travel-linked-row small{color:var(--muted)}.travel-folder-memories{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:9px}.travel-folder-memories button{display:grid;gap:6px;min-width:0;text-align:left}.travel-folder-memories img,.travel-folder-memories button>span{width:100%;height:100px;object-fit:cover;border-radius:10px;background:var(--surface);display:grid;place-items:center}.travel-folder-memories strong{font-size:.78rem;overflow-wrap:anywhere}.travel-folder-note{margin:0;color:var(--muted);font-size:.76rem}
@media(max-width:660px){.travel-folder-grid{grid-template-columns:1fr}.travel-folder-wide{grid-column:auto}.travel-folder-panel{padding:16px}.travel-folder-hero{padding:16px}.travel-folder-stats span{padding:7px 9px}}
/* One shared TheSimmiBrAIn character for every conversation surface. */
.simmi-chat-identity{display:flex;align-items:center;gap:10px;min-width:0}.simmi-head-avatar{width:48px;height:48px;object-fit:contain;flex:none}.simmi-avatar{width:24px;height:24px;object-fit:contain;vertical-align:middle;margin-right:6px}.simmi-welcome-avatar{width:clamp(90px,14vw,140px);height:clamp(90px,14vw,140px);object-fit:contain;display:block;margin:0 auto 10px}@media(max-width:620px){.simmi-head-avatar{width:38px;height:38px}}
/* TheSimmiBrAIn moves while thinking, then follows the end of the appearing answer. */
.simmi-thinking{min-width:min(250px,92%);border-color:color-mix(in srgb,var(--blue) 42%,var(--line));background:color-mix(in srgb,var(--blue) 8%,var(--hover))}.simmi-thinking-scene{position:relative;width:96px;height:76px;margin:4px 0 2px;display:grid;place-items:center}.simmi-thinking-mascot{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 6px 8px #09163055);animation:simmi-think-float 1.7s ease-in-out infinite}.simmi-thinking-sparks{position:absolute;inset:0;color:#f9a85a;font-size:1.1rem;letter-spacing:13px;white-space:nowrap;pointer-events:none;animation:simmi-think-spark 1.7s ease-in-out infinite}.simmi-thinking-caption{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.78rem}.simmi-thinking-caption .simmi-thinking-dots{min-height:0}.simmi-writing-marker{display:inline-flex;align-items:center;position:relative;width:34px;height:29px;margin-left:3px;vertical-align:middle;pointer-events:none;white-space:nowrap}.simmi-writing-marker img{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 3px 4px #09163044);animation:simmi-write-dash .38s ease-in-out infinite alternate}.simmi-writing-marker>span{position:absolute;right:-5px;top:-4px;color:#f4aa53;font-size:.8rem;animation:simmi-think-spark .7s ease-in-out infinite alternate}@keyframes simmi-think-float{0%,100%{transform:translateY(2px) rotate(-5deg)}50%{transform:translateY(-7px) rotate(6deg)}}@keyframes simmi-think-spark{0%,100%{opacity:.35;transform:translateY(5px)}50%{opacity:1;transform:translateY(-5px)}}@keyframes simmi-write-dash{from{transform:translate(-3px,2px) rotate(-9deg)}to{transform:translate(2px,-2px) rotate(8deg)}}@media(prefers-reduced-motion:reduce){.simmi-thinking-mascot,.simmi-thinking-sparks,.simmi-writing-marker img,.simmi-writing-marker>span{animation:none!important}}
.simmi-thinking-scene .simmi-thinking-mascot{position:absolute;inset:2px auto auto 12px}
.simmi-thinking-scene .simmi-thinking-base{animation:simmi-think-base 2.5s ease-in-out infinite}
.simmi-thinking-scene .simmi-thinking-peek{opacity:0;animation:simmi-think-peek 2.5s ease-in-out infinite}
@keyframes simmi-think-base{0%,16%,100%{opacity:1;transform:translateY(2px) rotate(-4deg)}38%,74%{opacity:0;transform:translateY(-4px) rotate(3deg)}}
@keyframes simmi-think-peek{0%,16%,100%{opacity:0;transform:translateY(4px) rotate(-5deg)}38%,74%{opacity:1;transform:translateY(-3px) rotate(4deg)}}
.simmi-ready-scene{position:relative;display:grid;place-items:center;width:100px;height:94px;margin:5px 0;pointer-events:none}
.simmi-ready-scene img{display:block;width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 6px 8px #09163055);animation:simmi-ready-hop .65s ease-out both}
.simmi-ready-scene span{position:absolute;inset:0;color:#f4aa53;font-size:1.25rem;letter-spacing:16px;white-space:nowrap;animation:simmi-ready-spark .65s ease-out both}
@keyframes simmi-ready-hop{0%{opacity:0;transform:translateY(14px) scale(.76) rotate(-8deg)}45%{opacity:1;transform:translateY(-9px) scale(1.1) rotate(7deg)}75%{transform:translateY(1px) scale(.98) rotate(-3deg)}100%{transform:translateY(0) scale(1) rotate(0)}}
@keyframes simmi-ready-spark{0%{opacity:0;transform:scale(.5)}45%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:scale(1.3)}}
@media(prefers-reduced-motion:reduce){.simmi-thinking-scene .simmi-thinking-mascot,.simmi-ready-scene img,.simmi-ready-scene span{animation:none!important}.simmi-thinking-scene .simmi-thinking-peek{display:none}}
#entry-form.calendar-editor{display:grid;gap:18px}
#entry-form.calendar-editor>label{margin:0}
#entry-form.calendar-editor label{min-width:0;color:var(--ink);font-size:.86rem;font-weight:600}
#entry-form.calendar-editor label:not(.calendar-car-toggle)>span{color:var(--muted);font-size:.76rem;font-weight:500}
#entry-form.calendar-editor .calendar-title-field{display:grid;gap:8px}
#entry-form.calendar-editor .calendar-title-field input{min-height:54px;padding:13px 15px;font-size:1.13rem;font-weight:650;background:var(--surface)}
.calendar-copy-note{margin:0;padding:11px 14px;border-radius:11px;background:var(--hover);color:var(--muted);font-size:.82rem}
.calendar-form-section{display:grid;gap:14px;padding:17px 0 0;border-top:1px solid var(--line)}
.calendar-form-section h3{margin:0;font-size:1rem;letter-spacing:-.02em}
.calendar-form-section label,.calendar-notes-field{display:grid;gap:6px}
.calendar-when-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:12px}
.calendar-people-grid,.calendar-car-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#entry-form.calendar-editor input,#entry-form.calendar-editor select,#entry-form.calendar-editor textarea{min-height:46px;border-radius:11px;background:var(--surface)}
#entry-form.calendar-editor textarea{min-height:92px}
.calendar-sharing-hint{margin:-3px 0 0;color:var(--muted);font-size:.79rem;line-height:1.45}
.calendar-car-section{padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--hover);gap:10px}
#entry-form.calendar-editor .calendar-car-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;min-height:46px}
.calendar-car-toggle>span{display:grid;gap:2px}
.calendar-car-toggle strong{font-size:.88rem}
.calendar-car-toggle small{font-weight:400}
#entry-form.calendar-editor .calendar-car-toggle input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;width:48px;min-width:48px;height:29px;min-height:29px;padding:0;border-radius:99px;border:1px solid var(--line);background:var(--muted);cursor:pointer;transition:background .18s}
#entry-form.calendar-editor .calendar-car-toggle input[type=checkbox]::before{content:"";position:absolute;left:3px;top:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0004;transition:transform .18s}
#entry-form.calendar-editor .calendar-car-toggle input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}
#entry-form.calendar-editor .calendar-car-toggle input[type=checkbox]:checked::before{transform:translateX(19px)}
#entry-form.calendar-editor .calendar-car-toggle input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}
#entry-form.calendar-editor [hidden]{display:none!important}
#entry-form.calendar-editor #vehicle-inputs{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
#entry-form.calendar-editor #vehicle-inputs p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}
#entry-form.calendar-editor .modal-actions{margin-top:0;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:560px){.calendar-people-grid,.calendar-car-grid{grid-template-columns:1fr}.calendar-when-grid{gap:10px}#entry-form.calendar-editor .modal-actions{display:grid;grid-template-columns:1fr 1fr}#entry-form.calendar-editor .modal-actions button{white-space:normal}}

/* 1.12.7: calendar entries are direct targets; details prioritize the appointment. */
.calendar-card .calendar-cell{align-items:stretch}
.calendar-day-button{display:flex;align-items:flex-start;justify-content:flex-start;width:100%;min-height:29px;text-align:left;border-radius:7px}
.calendar-day-button:focus-visible,.calendar-event:focus-visible,.calendar-more:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.calendar-card .calendar-event{cursor:pointer;text-align:left;min-height:25px}
.calendar-card .calendar-event:hover{filter:brightness(.94);text-decoration:underline}
.calendar-card .calendar-event.waste-calendar-event{background:color-mix(in srgb,#2b9b8d 20%,var(--surface));border-left:3px solid #2b9b8d;color:var(--ink)}
.day-agenda .waste-event-row .event-line{background:#2b9b8d}
.day-agenda .waste-event-row .row-main small{color:var(--muted)}
.waste-admin{max-width:880px}.waste-kind-choices{border:1px solid var(--line);border-radius:14px;padding:16px;margin:8px 0 0}.waste-kind-choices legend{font-weight:700;padding:0 6px}.waste-kind-choices label{display:inline-flex;align-items:center;gap:8px;margin:4px 16px 4px 0;min-width:175px}.waste-kind-choices input{width:auto}.waste-admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.waste-file-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.waste-file-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.waste-file-button:focus-within{outline:3px solid var(--blue);outline-offset:4px}.waste-preview{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.waste-preview h3{margin:0 0 6px}.waste-preview ul{padding-left:20px;max-height:220px;overflow:auto}.waste-preview li{margin:4px 0}.waste-preview .button{margin-top:8px}
.waste-admin #admin-waste-status,.waste-admin #admin-waste-error{margin:10px 0 0}.waste-admin #admin-waste-status:empty,.waste-admin #admin-waste-error:empty{display:none}.waste-admin .waste-status-active{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.waste-admin #admin-waste-error:not(:empty){padding:12px 14px;border-radius:12px;background:color-mix(in srgb,#c33232 12%,var(--surface))}
#admin-waste-form .waste-kind-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:16px}
#admin-waste-form .waste-kind-choices label{display:flex;align-items:center;gap:10px;min-width:0;margin:0;padding:9px 11px;border:1px solid var(--line);border-radius:10px;line-height:1.3;cursor:pointer}
#admin-waste-form .waste-kind-choices input[type="checkbox"]{appearance:auto;width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0;flex:0 0 18px;accent-color:var(--primary)}
#admin-waste-form .waste-kind-choices label span{min-width:0}
#admin-waste-form .waste-kind-choices label small{margin-left:auto;color:var(--muted);white-space:nowrap}
@media(max-width:600px){#admin-waste-form .waste-kind-choices{grid-template-columns:1fr}}
.calendar-more{font-size:.72rem;color:var(--blue);text-align:left;padding:2px 3px}
.calendar-more:hover{text-decoration:underline}
.calendar-detail{display:grid;gap:17px}
.calendar-detail-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.76rem}
.calendar-detail-visibility{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:var(--blue-light);color:var(--blue);font-weight:700}
.calendar-detail-visibility .icon{width:15px;height:15px}
.calendar-detail-main{display:flex;gap:14px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--hover)}
.calendar-detail-symbol,.calendar-detail-fact-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;background:var(--blue-light);color:var(--blue)}
.calendar-detail-main strong,.calendar-detail-main span{display:block}
.calendar-detail-main strong{font-size:1.05rem;line-height:1.3}
.calendar-detail-main span{margin-top:4px;color:var(--muted);font-size:.86rem}
.calendar-detail-facts{display:grid;gap:2px}
.calendar-detail-fact{display:flex;align-items:center;gap:12px;padding:9px 2px}
.calendar-detail-fact-icon{width:32px;height:32px;background:transparent;color:var(--muted)}
.calendar-detail-fact-icon .icon{width:19px;height:19px}
.calendar-detail-fact small,.calendar-detail-note small{display:block;color:var(--muted);font-size:.73rem;margin-bottom:2px}
.calendar-detail-fact strong{font-size:.88rem;font-weight:600;overflow-wrap:anywhere}
.calendar-detail-note{padding:12px 15px;border-radius:11px;background:var(--hover)}
.calendar-detail-note p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.88rem;line-height:1.5}
.calendar-detail-section,.calendar-detail-comments{border-top:1px solid var(--line);padding-top:16px}
.calendar-detail-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.calendar-detail-section-head h3{font-size:.95rem;margin:0}
.calendar-detail-section-head small{color:var(--muted)}
.calendar-detail-rsvp{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.calendar-detail-rsvp .filter{font-size:.8rem;min-height:38px}
.calendar-detail .event-response-list{margin-top:10px}
.calendar-detail-comments summary{cursor:pointer;list-style:none;font-size:.9rem;font-weight:700;display:flex;justify-content:space-between;align-items:center}
.calendar-detail-comments summary::-webkit-details-marker{display:none}
.calendar-detail-comments summary::after{content:'⌄';color:var(--muted);font-size:1.15rem}
.calendar-detail-comments[open] summary::after{transform:rotate(180deg)}
.calendar-detail-comments summary span{margin-left:auto;margin-right:12px;color:var(--muted);font-weight:500}
.calendar-detail-comments-body{padding-top:13px}
.calendar-detail-comments-body>p{font-size:.84rem;color:var(--muted)}
.calendar-detail-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:13px;border-top:1px solid var(--line)}
.calendar-detail-actions>.button{min-height:43px}
.calendar-detail-more{position:relative;margin-left:auto}
.calendar-detail-more>summary{cursor:pointer;list-style:none;display:grid;place-items:center;min-height:43px}
.calendar-detail-more>summary::-webkit-details-marker{display:none}
.calendar-detail-more-actions{position:absolute;right:0;bottom:calc(100% + 7px);z-index:3;min-width:190px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);display:grid}
.calendar-detail-more-actions button{padding:11px 12px;text-align:left;border-radius:7px;font-size:.84rem}
.calendar-detail-more-actions button:hover{background:var(--hover)}
.calendar-detail-more-actions button.danger{color:#cf4558}
@media(max-width:620px){.calendar-card .calendar-day-button{min-height:39px}.calendar-card .calendar-event{display:none}.calendar-card .calendar-more{display:none}.calendar-detail-actions>.button{flex:1}.calendar-detail-more{margin-left:0}.calendar-detail-meta{font-size:.72rem}}

/* 1.12.8–1.12.9: precise entry with a scroll-free hour and minute picker. */
.calendar-time-field{display:grid;gap:6px;min-width:0;align-self:start}
.calendar-time-field>label{display:grid;gap:6px}
.calendar-time-field>label span,.calendar-time-field>small{color:var(--muted);font-size:.76rem;font-weight:500}
.calendar-time-field>small{font-size:.69rem}
.calendar-time-input{position:relative;min-width:0}
#entry-form.calendar-editor .calendar-time-input input{width:100%;padding-right:46px;font-variant-numeric:tabular-nums}
.calendar-time-input input[aria-invalid=true]{border-color:#cf4558!important}
.calendar-time-open{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;border-radius:9px;color:var(--muted)}
.calendar-time-open:hover,.calendar-time-open[aria-expanded=true]{background:var(--blue-light);color:var(--blue)}
.calendar-clock-picker{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}
.calendar-clock-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.calendar-clock-picker-head strong{font-size:.85rem}
.calendar-clock-picker-head button{color:var(--blue);font-size:.8rem;font-weight:700;min-height:36px}
.calendar-clock-picker>span{font-size:.76rem;font-weight:700;color:var(--muted)}
.calendar-clock-hours,.calendar-clock-minutes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
.calendar-clock-picker [data-clock-hour],.calendar-clock-picker [data-clock-minute]{min-width:0;min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--hover);font-size:.78rem;font-weight:650;font-variant-numeric:tabular-nums}
.calendar-clock-picker [data-clock-hour]:hover,.calendar-clock-picker [data-clock-minute]:hover,.calendar-clock-picker [aria-pressed=true],.calendar-clock-picker [data-clock-hour]:focus-visible,.calendar-clock-picker [data-clock-minute]:focus-visible{background:var(--blue-light);color:var(--blue);border-color:var(--blue)}
.calendar-clock-picker>small{font-size:.71rem;line-height:1.35;color:var(--muted)}
@media(max-width:560px){.calendar-clock-picker{padding:10px}.calendar-clock-hours,.calendar-clock-minutes{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.calendar-clock-picker [data-clock-hour],.calendar-clock-picker [data-clock-minute]{min-height:40px}}

/* 1.12.10: one calm detail hierarchy for legacy list and school entries. */
.entry-detail{display:grid;gap:17px}
.entry-detail-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.entry-detail-type,.entry-detail-visibility{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;font-size:.75rem;font-weight:700}
.entry-detail-type{background:var(--blue-light);color:var(--blue)}
.entry-detail-visibility{border:1px solid var(--line);color:var(--muted)}
.entry-detail-type .icon,.entry-detail-visibility .icon{width:15px;height:15px}
.entry-detail-date{display:flex;align-items:center;gap:15px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--hover)}
.entry-detail-date-tile{display:grid;place-content:center;flex:none;min-width:62px;min-height:65px;padding:7px;border-radius:11px;background:var(--surface);border:1px solid var(--line);text-align:center;color:var(--blue)}
.entry-detail-date-tile strong{font-size:1.4rem;line-height:1}
.entry-detail-date-tile small{margin-top:4px;font-size:.72rem;font-weight:700}
.entry-detail-date>div{display:grid;gap:3px;min-width:0}
.entry-detail-date>div small,.entry-detail-fact small{color:var(--muted);font-size:.73rem}
.entry-detail-date>div strong{font-size:.98rem;line-height:1.3;overflow-wrap:anywhere}
.entry-detail-date>div span{font-size:.81rem;color:var(--muted)}
.entry-detail-facts{display:grid;gap:2px}
.entry-detail-fact{display:flex;align-items:center;gap:11px;min-width:0;padding:7px 2px}
.entry-detail-fact>.icon,.entry-detail-fact>.avatar{width:33px;height:33px;flex:none;padding:7px;border-radius:10px;color:var(--blue);background:var(--blue-light)}
.entry-detail-fact>.avatar{padding:0;border-radius:50%}
.entry-detail-fact>div{display:grid;gap:2px;min-width:0}
.entry-detail-fact strong{font-size:.87rem;font-weight:650;overflow-wrap:anywhere}
.entry-detail-tags{display:flex;flex-wrap:wrap;gap:7px}
.entry-detail-tags span{padding:5px 9px;border-radius:7px;border:1px solid var(--line);background:var(--hover);font-size:.73rem;font-weight:650}
.entry-detail-note{padding:15px;border-radius:12px;background:var(--hover)}
.entry-detail-note h3{font-size:.82rem;margin:0 0 7px}
.entry-detail-note p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.86rem;line-height:1.5}
.entry-detail .exam-preparation{padding-top:16px}
.entry-detail-foot{display:grid;gap:12px;padding-top:13px;border-top:1px solid var(--line)}
.entry-detail-foot>small{font-size:.73rem;color:var(--muted)}
.entry-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.entry-detail-actions>.button{min-height:43px}
.entry-detail-more{position:relative;margin-left:auto}
.entry-detail-more>summary{cursor:pointer;list-style:none;display:grid;place-items:center;min-height:43px}
.entry-detail-more>summary::-webkit-details-marker{display:none}
.entry-detail-more>div{position:absolute;right:0;bottom:calc(100% + 7px);z-index:3;min-width:190px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);display:grid}
.entry-detail-more>div button{display:flex;align-items:center;gap:7px;padding:11px 12px;text-align:left;border-radius:7px;font-size:.84rem}
.entry-detail-more>div button:hover{background:var(--hover)}
.entry-detail-more>div button.danger{color:#cf4558}
@media(max-width:620px){.entry-detail-actions>.button{flex:1}.entry-detail-meta{font-size:.7rem}.entry-detail-date{padding:12px}.entry-detail-more{margin-left:0}}
.entry-detail-empty{margin:0;color:var(--muted);font-size:.85rem}
.entry-detail-surface{display:grid;gap:16px;line-height:1.5}
.entry-detail-surface>.entry-detail-type{justify-self:start}
.entry-detail-surface>.entry-detail-type+p{margin:0;padding:15px;border-radius:12px;background:var(--hover);font-size:.88rem;white-space:pre-wrap;overflow-wrap:anywhere}
.entry-detail-surface>.pill{justify-self:start}
.entry-detail-surface>.card-head{margin:8px 0 0;padding-top:15px;border-top:1px solid var(--line)}
.entry-detail-surface>.card-head h3,.entry-detail-surface>.card-head span{margin:0}
.entry-detail-surface .approval-panel{margin:0}
.entry-detail-surface .hub-linked{margin-top:2px}
.entry-detail-surface .hub-poll-options button{min-height:52px;align-items:center}
.planning-detail-actions{margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}
.account-launcher-grid{display:grid;gap:10px;margin:17px 0}
.account-launcher-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--hover)}
.account-launcher-card img{width:54px;height:54px;border-radius:12px}
.account-launcher-card>div{display:grid;gap:3px;min-width:0}
.account-launcher-card strong{font-size:.9rem}
.account-launcher-card small{color:var(--muted);font-size:.75rem;line-height:1.35}
.account-launcher-card .text-link{grid-column:2/-1;justify-self:start}
@media(max-width:560px){.account-launcher-card{grid-template-columns:48px minmax(0,1fr)}.account-launcher-card img{width:48px;height:48px}.account-launcher-card .button{grid-column:1/-1}.account-launcher-card .text-link{grid-column:1/-1}}

/* Scanner and compact shopping actions */
.scanner-card,.scanner-destination{max-width:960px;margin-bottom:18px}.scanner-steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.scanner-steps span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.84rem}.scanner-steps b{color:var(--ink);margin-right:4px}.scanner-inputs,.scanner-edit-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.scanner-inputs .button{cursor:pointer}.scanner-help{font-size:.86rem;color:var(--muted);line-height:1.5}.scanner-image-wrap{position:relative;max-width:700px;margin:20px auto;background:#111827;border-radius:14px;overflow:hidden;min-height:150px}.scanner-image-wrap canvas,.scanner-image-wrap #scanner-corners{position:absolute;inset:0;width:100%;height:100%}.scanner-image-wrap canvas{object-fit:contain}.scanner-image-wrap svg{position:absolute;width:100%;height:100%;inset:0;pointer-events:none}.scanner-image-wrap polygon{fill:#ff9c4d22;stroke:#ffab68;stroke-width:.7;vector-effect:non-scaling-stroke}.scanner-corner{position:absolute;z-index:2;transform:translate(-50%,-50%);width:42px;height:42px;padding:0;border:3px solid #fff;border-radius:50%;background:#d35b11;box-shadow:0 0 0 4px #15233c99;touch-action:none;cursor:grab}.scanner-corner:focus-visible{outline:3px solid #fff;outline-offset:5px}.scanner-edit-actions label,.scanner-fields label{display:grid;gap:7px}.scanner-edit-actions select,.scanner-fields input,.scanner-fields select{min-height:44px;padding:10px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--surface)}.scanner-fields{display:grid;gap:14px;margin:20px 0}.scanner-fields .checkbox{display:flex;align-items:center;gap:10px}.scanner-fields .checkbox input{min-height:0;width:auto}.scanner-fields small{color:var(--muted)}.scanner-destination-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.scanner-destination-options label{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-content:center;border:1px solid var(--line);border-radius:14px;padding:15px;cursor:pointer}.scanner-destination-options label:has(input:checked){border-color:var(--primary);background:var(--blue-light)}.scanner-destination-options input{grid-row:1/3;width:20px;height:20px;accent-color:var(--primary)}.scanner-destination-options span{color:var(--muted);font-size:.82rem}.scanner-thumbnails{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 18px}.scanner-thumbnails>div{position:relative;width:120px;display:grid;gap:4px;font-size:.8rem}.scanner-thumbnails img{width:120px;height:150px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px}.scanner-thumbnails button{position:absolute;right:4px;top:4px;width:28px;height:28px;border-radius:50%;background:#752d38;color:#fff}.scanner-card [hidden],.scanner-destination [hidden]{display:none!important}.shopping-list-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 18px}.shopping-list-actions .button{width:100%;min-width:0;justify-content:center;text-align:center;padding:10px 12px}.list-card .shopping-quick-top{margin:0 0 12px}@media(max-width:720px){.scanner-destination-options{grid-template-columns:1fr}.shopping-list-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.shopping-list-actions .button:first-child{grid-column:1/-1}.scanner-steps span{font-size:.76rem}.scanner-image-wrap{margin:14px 0}.scanner-corner{width:46px;height:46px}}
.scanner-status{color:var(--ink);font-weight:600;line-height:1.5}.scanner-status:empty{display:none}

/* 1.12.16: document hero fits narrow phones; scan action is separate from counters. */
.document-hero{min-width:0}.document-hero>div:first-child{min-width:0;flex:1}.document-hero-action{margin-top:16px;max-width:100%;text-align:center;white-space:normal}.document-hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(260px,100%);min-width:0;flex:0 0 auto}.document-hero-stats span{min-width:0;overflow-wrap:anywhere}@media(max-width:720px){.document-hero{align-items:stretch}.document-hero-stats{width:100%;align-self:stretch}.document-hero-action{width:100%;justify-content:center}}

/* 1.12.17: compact receipt review with an explicit private share. */
#receipt-editor,#finance-inbox-review-form,#finance-inbox-form{gap:14px}#receipt-editor .form-grid,#finance-inbox-review-form .form-grid{gap:10px}#receipt-editor label,#finance-inbox-review-form label,#finance-inbox-form label{font-size:.82rem;font-weight:650}#receipt-editor>h3{margin:8px 0 0;font-size:1rem}#receipt-editor .account-explain{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.receipt-item-row{grid-template-columns:minmax(150px,2fr) minmax(60px,.65fr) minmax(65px,.7fr) minmax(80px,.85fr) minmax(88px,.9fr) auto auto;gap:7px;padding:11px 12px;margin:7px 0;border:1px solid var(--line);border-radius:12px;background:var(--surface);align-items:end}.receipt-item-row label{font-size:.7rem!important;color:var(--muted);gap:4px}.receipt-item-row input{height:38px;min-height:38px!important;padding:6px 9px!important;border-radius:8px;font-size:.83rem;color:var(--ink)}.receipt-item-row [name=itemName]{font-weight:650}.receipt-item-row .receipt-exclude,.receipt-item-row .receipt-remove{min-height:38px;padding:6px 9px;font-size:.75rem;white-space:normal}.receipt-item-row .receipt-exclude{min-width:95px}.receipt-item-excluded{border-color:#d89c64;background:color-mix(in srgb,var(--surface) 88%,#d89c64)}.receipt-item-excluded .receipt-exclude{background:#a94d17;color:white;border-color:#a94d17}.receipt-item-excluded [name=itemName]{text-decoration:line-through;text-decoration-thickness:1px}.receipt-balance{margin:2px 0 0;padding:9px 12px;font-size:.78rem}.receipt-allocation{margin:0;padding:13px 15px;border:1px solid var(--primary);border-radius:11px;background:var(--blue-light);color:var(--ink);font-weight:700;font-size:.9rem}.receipt-finish{display:grid;gap:16px}.receipt-finish-intro{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0}.receipt-finish-intro span{font-size:.8rem;color:var(--muted)}.receipt-finish-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.receipt-finish-totals>div{display:grid;gap:3px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--input)}.receipt-finish-totals small{font-size:.72rem}.receipt-finish-totals strong{font-size:1.05rem;font-variant-numeric:tabular-nums}.receipt-finish-totals .receipt-finish-household{border-color:var(--primary);background:var(--blue-light)}.receipt-finish>.account-explain{margin:0;color:var(--muted);font-size:.82rem}.receipt-finish-form{margin:0}.receipt-finish-form input[readonly]{opacity:1;font-weight:700;background:var(--blue-light)}.receipt-finish-actions{justify-content:flex-end;gap:8px;flex-wrap:wrap}#finance-inbox-form{max-width:620px}#finance-inbox-form>.checkbox{font-weight:500}#finance-inbox-form>.checkbox input{min-height:0}@media(max-width:760px){.receipt-item-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:10px}.receipt-item-row label:first-child{grid-column:1/-1}.receipt-item-row label:nth-child(2),.receipt-item-row label:nth-child(3),.receipt-item-row label:nth-child(4),.receipt-item-row label:nth-child(5){grid-column:span 2}.receipt-item-row .receipt-exclude{grid-column:1/4;justify-content:center}.receipt-item-row .receipt-remove{grid-column:4}.receipt-finish-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-finish-household{grid-column:1/-1}.receipt-finish-intro{align-items:flex-start;flex-direction:column}.receipt-finish-actions .button{white-space:normal}}
.receipt-readonly{display:grid;gap:16px}.receipt-readonly>p:first-child{display:grid;gap:3px;margin:0}.receipt-readonly-items{display:grid;gap:5px;max-height:36dvh;overflow:auto}.receipt-readonly-items>div{display:flex;justify-content:space-between;gap:12px;padding:7px 10px;border-bottom:1px solid var(--line);font-size:.82rem}.receipt-readonly-items strong{white-space:nowrap;font-variant-numeric:tabular-nums}.receipt-readonly-items .receipt-readonly-private{background:color-mix(in srgb,var(--surface) 88%,#d89c64);border-radius:7px}.receipt-readonly-items small{display:block;color:#bb6b38}.receipt-readonly>.account-explain{font-size:.8rem;color:var(--muted);margin:0}
/* 1.12.18 · private monthly child-benefit statement */
.child-benefit-heading{align-items:center}.benefit-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:20px;align-items:start}.benefit-panel,.benefit-result{min-width:0}.benefit-top{display:flex;justify-content:space-between;gap:16px;align-items:start}.benefit-top h2{font-size:1.5rem;margin:3px 0 6px}.benefit-top p,.benefit-calendar-head p{margin:0;color:var(--muted);font-size:.88rem}.benefit-save-state{border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--muted);font-size:.75rem;white-space:nowrap}.benefit-selectors,.benefit-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.benefit-inputs{grid-template-columns:repeat(3,minmax(0,1fr))}.benefit-selectors label,.benefit-inputs label{display:grid;gap:5px;position:relative;font-size:.82rem;font-weight:650}.benefit-selectors input,.benefit-selectors select,.benefit-inputs input{width:100%;min-width:0;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--input);color:var(--ink)}.benefit-inputs label span{position:absolute;right:12px;bottom:10px;color:var(--muted)}.benefit-inputs label:has(span) input{padding-right:30px}.benefit-copied{padding:9px 12px;border-radius:9px;background:var(--blue-light);font-size:.8rem;margin:14px 0 0}.benefit-calendar-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:26px 0 13px}.benefit-calendar-head h3{font-size:1.08rem;margin:0 0 3px}.benefit-live-mini{display:grid;justify-items:end;white-space:nowrap}.benefit-live-mini strong{color:var(--ink);font-size:1.25rem;font-variant-numeric:tabular-nums}.benefit-live-mini span{font-size:.77rem;color:var(--muted)}.benefit-calendar{max-width:560px}.benefit-weekdays,.benefit-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.benefit-weekdays{margin-bottom:7px}.benefit-weekdays span{text-align:center;font-size:.74rem;color:var(--muted);font-weight:700}.benefit-day{display:grid;place-items:center;gap:0;min-height:58px;width:100%;border:1px solid var(--line);border-radius:12px;background:var(--input);font-variant-numeric:tabular-nums}.benefit-day strong{font-size:.95rem}.benefit-day span{font-size:.75rem;line-height:1;color:var(--muted)}.benefit-day:hover{border-color:var(--primary)}.benefit-day.is-selected{background:#ab4e13;border-color:#ab4e13;color:#fff}.benefit-day.is-selected span{color:#fff}.benefit-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.benefit-actions .button{min-height:44px}.benefit-result{position:sticky;top:20px;background:linear-gradient(145deg,var(--surface),var(--input))}.benefit-result h2{font-size:1.25rem;margin:8px 0 19px}.benefit-breakdown{display:grid;gap:13px}.benefit-breakdown>div{display:flex;justify-content:space-between;gap:16px;font-size:.88rem}.benefit-breakdown strong{font-variant-numeric:tabular-nums;white-space:nowrap}.benefit-breakdown .benefit-net{border-top:1px solid var(--line);padding-top:13px;font-weight:700}.benefit-payable{display:grid;gap:3px;margin-top:23px;padding:20px;border-radius:14px;background:var(--blue-light);border:1px solid var(--primary)}.benefit-payable small{font-size:.69rem;font-weight:700;letter-spacing:.06em}.benefit-payable strong{font-size:2.1rem;line-height:1.2;font-variant-numeric:tabular-nums}.benefit-payable span{font-size:.73rem;color:var(--muted)}.benefit-result>p{font-size:.78rem;color:var(--muted);margin:14px 0 0}.benefit-result .benefit-print-note{font-weight:650}.benefit-panel .form-error{min-height:0;margin:10px 0 0}
@media(max-width:1050px){.benefit-layout{grid-template-columns:1fr}.benefit-result{position:static}.benefit-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.benefit-inputs label:last-child{grid-column:1/-1}}
@media(max-width:620px){.child-benefit-heading{align-items:start;gap:12px}.benefit-panel,.benefit-result{padding:18px}.benefit-top{display:block}.benefit-save-state{display:inline-block;margin-top:10px}.benefit-selectors,.benefit-inputs{grid-template-columns:1fr}.benefit-inputs label:last-child{grid-column:auto}.benefit-calendar-head{align-items:start}.benefit-calendar-head p{font-size:.78rem}.benefit-weekdays,.benefit-calendar-days{gap:4px}.benefit-day{min-height:46px;border-radius:9px}.benefit-actions .button{flex:1 1 150px}.benefit-payable strong{font-size:1.8rem}}
.finance-root{gap:14px}.finance-root .finance-stats{gap:8px}.finance-root .finance-stat{padding:14px 16px;gap:2px}.finance-root .finance-stat>strong{font-size:clamp(1.2rem,1.7vw,1.55rem);font-variant-numeric:tabular-nums}.finance-root .finance-stat>span{font-size:.76rem}.finance-root .finance-stat>small:last-child{font-size:.73rem;line-height:1.3}.finance-root .finance-explain{font-size:.78rem}.finance-root .finance-view-tabs{margin:3px 0;gap:4px;border-bottom:1px solid var(--line)}.finance-root .finance-view-tabs button{border:0;border-radius:9px 9px 0 0;padding:9px 15px;min-height:42px;background:transparent}.finance-root .finance-view-tabs button.active{background:var(--blue-light);color:var(--ink);box-shadow:inset 0 -3px var(--primary)}
.finance-inbox{gap:13px}.finance-inbox .card-head{margin:0;align-items:center}.finance-inbox .card-head h2{font-size:1.2rem}.finance-inbox .card-head p{font-size:.78rem;line-height:1.4}.finance-inbox-overview{padding:0 0 12px;margin:0}.finance-inbox-stats{display:flex;gap:8px}.finance-inbox-stats>span{display:flex;align-items:baseline;gap:6px;min-width:0;padding:8px 11px;border-radius:9px;font-size:.78rem;background:var(--input)}.finance-inbox-stats strong{display:inline;font-size:1.15rem;font-variant-numeric:tabular-nums}.finance-debts{padding:10px 13px;margin-top:10px;border-radius:10px}.finance-debts h3{font-size:.85rem;margin:0 0 4px}.finance-debt-row{padding:6px 0;align-items:center;font-size:.82rem}.finance-debt-row>div:first-child{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.finance-debt-row>div:last-child{display:flex;align-items:baseline;justify-content:flex-end;gap:12px;flex-wrap:wrap}.finance-debt-row strong{font-variant-numeric:tabular-nums}.finance-debt-row small,.finance-debt-row .text-link{margin:0;font-size:.72rem}.finance-inbox-list-head{margin:0;align-items:center}.finance-inbox-list-head .eyebrow{font-size:.66rem;margin:0}.finance-inbox-list-head h3{font-size:1rem;margin:0}.finance-inbox-list-head .button{min-height:36px;padding:7px 10px;font-size:.75rem}
.finance-receipt-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,310px);gap:8px 12px;align-items:center;margin:0 0 7px}.finance-receipt-filters{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.finance-receipt-filters button{min-height:35px;padding:5px 10px;border-radius:8px;background:var(--input);border:1px solid var(--line);font-size:.76rem;font-weight:650}.finance-receipt-filters button.active{border-color:var(--primary);background:var(--blue-light);color:var(--ink)}.finance-receipt-search{display:flex;gap:5px;min-width:0}.finance-receipt-search input,.finance-receipt-selects select{width:100%;min-width:0;min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--ink);font-size:.8rem}.finance-receipt-search .button{min-height:38px;padding:6px 10px}.finance-receipt-selects{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}.finance-receipt-selects label{display:flex;align-items:center;gap:6px;font-size:.73rem;color:var(--muted)}.finance-receipt-selects select{min-height:33px;width:auto;max-width:180px;padding:4px 24px 4px 7px}
.finance-inbox-list{gap:0;border:1px solid var(--line);border-radius:11px;overflow:visible}.finance-receipt-row{display:grid;grid-template-columns:minmax(180px,2fr) minmax(125px,1fr) minmax(120px,.85fr) auto;align-items:center;gap:12px;min-height:70px;padding:10px 12px;border-bottom:1px solid var(--line);border-left:3px solid transparent}.finance-receipt-row:last-child{border-bottom:0}.finance-receipt-row:hover{background:var(--hover)}.finance-receipt-identity{display:grid;gap:2px;min-width:0}.finance-receipt-identity strong{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-receipt-identity span,.finance-receipt-identity small{color:var(--muted);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-receipt-state{display:grid;justify-items:start;gap:3px}.finance-receipt-state small{font-size:.68rem}.finance-state-badge{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid;border-radius:999px;font-size:.71rem;font-weight:750;white-space:nowrap}.finance-receipt-amount{text-align:right;min-width:0}.finance-receipt-amount strong{display:block;font-size:.91rem;font-variant-numeric:tabular-nums;white-space:nowrap}.finance-receipt-amount small{display:block;font-size:.68rem;white-space:nowrap}.finance-receipt-actions{display:flex;justify-content:flex-end;align-items:center;gap:5px}.finance-receipt-actions>.button{min-height:36px;padding:6px 10px;font-size:.74rem}
.finance-receipt-more{position:relative}.finance-receipt-more>summary{list-style:none;display:grid;place-items:center;min-height:36px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--input);font-size:.74rem;font-weight:650;cursor:pointer}.finance-receipt-more>summary::-webkit-details-marker{display:none}.finance-receipt-more>div{position:absolute;right:0;top:calc(100% + 4px);z-index:9;display:grid;min-width:180px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:0 9px 26px #0003}.finance-receipt-more button{text-align:left;padding:8px 10px;border-radius:6px;font-size:.78rem}.finance-receipt-more button:hover{background:var(--hover)}.finance-receipt-more button.danger{color:#bb4357}.finance-receipt-empty{padding:20px;color:var(--muted);font-size:.84rem}
.finance-inbox{--finance-warn:#a75a0e;--finance-warn-bg:#fff3df;--finance-warn-line:#e5b56d;--finance-info:#1e5ba8;--finance-info-bg:#edf4ff;--finance-info-line:#9ac0ef;--finance-success:#176b48;--finance-success-bg:#e6f6ed;--finance-success-line:#88caaa;--finance-neutral:#637188;--finance-neutral-bg:#f2f4f7;--finance-neutral-line:#c4ceda}.finance-state-badge.warning{color:var(--finance-warn);background:var(--finance-warn-bg);border-color:var(--finance-warn-line)}.finance-state-badge.info{color:var(--finance-info);background:var(--finance-info-bg);border-color:var(--finance-info-line)}.finance-state-badge.success{color:var(--finance-success);background:var(--finance-success-bg);border-color:var(--finance-success-line)}.finance-state-badge.neutral{color:var(--finance-neutral);background:var(--finance-neutral-bg);border-color:var(--finance-neutral-line)}.finance-receipt-row[data-state=warning]{border-left-color:var(--finance-warn-line)}.finance-receipt-row[data-state=info]{border-left-color:var(--finance-info-line)}.finance-receipt-row[data-state=success]{border-left-color:var(--finance-success-line)}html[data-theme=dark] .finance-inbox,html[data-theme=energy] .finance-inbox{--finance-warn:#ffd09b;--finance-warn-bg:#493825;--finance-warn-line:#a97b44;--finance-info:#c3dbff;--finance-info-bg:#233b5b;--finance-info-line:#557dab;--finance-success:#b5edcd;--finance-success-bg:#214635;--finance-success-line:#539c77;--finance-neutral:#ccd6e5;--finance-neutral-bg:#303c4d;--finance-neutral-line:#64748b}
@media(max-width:920px){.finance-receipt-toolbar{grid-template-columns:1fr}.finance-receipt-selects{grid-column:1;justify-content:flex-start}.finance-receipt-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.finance-receipt-state{grid-column:1;grid-row:2}.finance-receipt-amount{grid-column:2;grid-row:1}.finance-receipt-actions{grid-column:2;grid-row:2}}
@media(max-width:600px){.finance-root .finance-stat{padding:10px}.finance-root .finance-stat>strong{font-size:1.08rem}.finance-root .finance-stat>small:last-child{font-size:.68rem}.finance-inbox .card-head{display:flex;flex-direction:column;align-items:stretch}.finance-inbox .card-head .finance-inbox-row-actions{margin:0}.finance-inbox-stats>span{display:grid;gap:0;padding:7px;font-size:.68rem}.finance-inbox-stats strong{font-size:1.05rem}.finance-debt-row{display:flex}.finance-debt-row>div:last-child{margin:0;text-align:right}.finance-inbox-list-head{display:flex}.finance-receipt-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.finance-receipt-filters button{padding:5px;font-size:.7rem}.finance-receipt-selects{flex-wrap:wrap}.finance-receipt-selects label{flex:1}.finance-receipt-selects select{max-width:none;min-width:0}.finance-receipt-row{padding:9px 8px;gap:5px;min-height:95px}.finance-receipt-identity strong{font-size:.8rem}.finance-receipt-identity span,.finance-receipt-identity small{font-size:.67rem}.finance-receipt-amount strong{font-size:.78rem}.finance-receipt-amount small{font-size:.61rem}.finance-receipt-actions>.button{min-height:34px;padding:4px 6px;font-size:.68rem}.finance-receipt-more>summary{min-height:34px;padding:4px 6px;font-size:.68rem}}
.finance-ledger .card-head{margin-bottom:8px}.finance-ledger .finance-inbox-controls{display:grid;grid-template-columns:minmax(180px,1.5fr) auto repeat(3,minmax(120px,1fr));gap:7px;margin:8px 0 12px}.finance-ledger .finance-inbox-controls label{min-width:0;font-size:.72rem}.finance-ledger .finance-inbox-controls label:first-child{min-width:0;grid-column:1}.finance-ledger .finance-inbox-controls input,.finance-ledger .finance-inbox-controls select{min-height:36px;padding:6px 8px;font-size:.79rem}.finance-ledger .finance-inbox-controls .button{min-height:36px;padding:6px 10px;font-size:.76rem}.finance-ledger .finance-table th,.finance-ledger .finance-table td{padding:8px 9px}.finance-ledger .finance-table td{font-size:.81rem}.finance-ledger .finance-table td small{font-size:.7rem}.finance-ledger .finance-table th{font-size:.7rem}
@media(max-width:1100px){.finance-ledger .finance-inbox-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-ledger .finance-inbox-controls label:first-child{grid-column:span 2}}
@media(max-width:600px){.finance-ledger .finance-inbox-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-ledger .finance-inbox-controls label:first-child{grid-column:1/-1}.finance-ledger .finance-inbox-controls>button[type=submit]{grid-column:1/-1}.finance-ledger .finance-inbox-controls label{min-width:0}.finance-ledger .finance-inbox-controls input,.finance-ledger .finance-inbox-controls select{min-width:0}}
.finance-inbox-stats strong{color:var(--ink)}
.finance-inbox-list .finance-receipt-row{grid-template-columns:minmax(0,1fr) 180px 155px 300px}
.finance-inbox-list .finance-receipt-amount{width:155px;justify-self:end;font-variant-numeric:tabular-nums}
.finance-inbox-list .finance-receipt-actions{width:300px;justify-self:end}
.finance-inbox-list .finance-receipt-state small{max-width:240px;line-height:1.35;color:var(--muted)}
@media(max-width:1100px){.finance-inbox-list .finance-receipt-row{grid-template-columns:minmax(0,1fr) 155px}.finance-inbox-list .finance-receipt-identity{grid-column:1;grid-row:1}.finance-inbox-list .finance-receipt-state{grid-column:1;grid-row:2}.finance-inbox-list .finance-receipt-amount{grid-column:2;grid-row:1;width:155px}.finance-inbox-list .finance-receipt-actions{grid-column:1/-1;grid-row:3;width:auto;justify-self:end}}
@media(max-width:600px){.finance-inbox-list .finance-receipt-row{grid-template-columns:minmax(0,1fr) 120px}.finance-inbox-list .finance-receipt-amount{width:120px}.finance-inbox-list .finance-receipt-actions{width:auto}}

/* Ideen-Ecke 1.12.22 */
.ideas-top-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit}
.ideas-top-link:hover,.ideas-top-link:focus-visible{color:var(--blue)}
.ideas-root{padding:1.25rem;min-height:23rem}
.ideas-toolbar,.ideas-detail-head,.ideas-plan,.ideas-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.ideas-toolbar{margin-bottom:1rem;flex-wrap:wrap}
.ideas-filters{display:flex;gap:.4rem;flex-wrap:wrap}
.ideas-filters button{border:1px solid var(--line);background:transparent;color:inherit;border-radius:.7rem;padding:.5rem .8rem;cursor:pointer}
.ideas-filters button.selected{background:var(--blue-light);border-color:var(--blue);color:var(--blue)}
.ideas-layout{display:grid;grid-template-columns:minmax(14rem,19rem) minmax(0,1fr);gap:1rem}
.ideas-list{display:grid;align-content:start;gap:.5rem;max-height:65vh;overflow:auto}
.ideas-row{text-align:left;border:1px solid var(--line);background:var(--input);color:inherit;border-radius:.85rem;padding:.85rem;cursor:pointer;display:grid;gap:.35rem;width:100%}
.ideas-row.active{border-color:var(--blue);background:var(--blue-light)}
.ideas-row strong{font-size:1rem}.ideas-row small,.ideas-detail-head p,.ideas-message time{opacity:.7}
.ideas-status{display:inline-flex;width:max-content;border-radius:2rem;padding:.25rem .6rem;background:#35455f;color:#e9effa;font-size:.75rem;font-weight:700}
.ideas-status.is-planned,.ideas-status.is-in_progress{background:#51402b;color:#ffd29b}
.ideas-status.is-done{background:#1c5648;color:#c4f7e8}
.ideas-status.is-clarifying{background:#374c7a;color:#d9e6ff}
.ideas-detail{border:1px solid var(--line);border-radius:1rem;padding:1.2rem;min-height:17rem;min-width:0}
.ideas-detail h3{font-size:1.45rem;margin:.3rem 0}.ideas-description{white-space:pre-wrap;line-height:1.55;margin:1.1rem 0}
.ideas-plan,.ideas-private{background:var(--hover);border-radius:.7rem;padding:.75rem 1rem;margin:1rem 0}
.ideas-private .button{margin:.25rem .35rem .25rem 0}
.ideas-plan-form{display:grid;grid-template-columns:minmax(9rem,1fr) minmax(9rem,1fr) auto;align-items:end;gap:.6rem;margin:1rem 0}
.ideas-plan-form label,.ideas-compose label,.ideas-message-form label{display:grid;gap:.35rem}
.ideas-plan-form input,.ideas-plan-form select,.ideas-compose input[type=text],.ideas-compose input:not([type]),.ideas-compose textarea,.ideas-message-form textarea{width:100%;min-width:0}
.ideas-thread{border-top:1px solid var(--line);margin-top:1.3rem;padding-top:.8rem}
.ideas-message{padding:.8rem 0;border-bottom:1px solid var(--line)}
.ideas-message strong{margin-right:.6rem}.ideas-message p{white-space:pre-wrap;margin:.5rem 0 0}
.ideas-message-form{display:grid;gap:.8rem;margin-top:1rem}.ideas-message-form button{justify-self:start}
.ideas-compose{max-width:43rem;margin:auto}.ideas-compose form{display:grid;gap:1rem}.ideas-compose fieldset{border:1px solid var(--line);border-radius:.8rem;display:grid;gap:.6rem;padding:1rem}.ideas-compose fieldset label{display:block}.ideas-empty{text-align:center;padding:2rem;opacity:.75}
@media(max-width:760px){.ideas-layout{grid-template-columns:1fr}.ideas-list{max-height:18rem}.ideas-detail{padding:1rem}.ideas-plan-form{grid-template-columns:1fr 1fr}.ideas-plan-form button{grid-column:1/-1}.ideas-toolbar .button{width:100%}}
@media(max-width:430px){.ideas-plan-form{grid-template-columns:1fr}.ideas-detail-head{align-items:flex-start;flex-wrap:wrap}}

@media(max-width:390px){.top-actions #release-info,.top-actions #theme{display:none}.top-actions .icon-button{min-width:34px}.topbar .breadcrumb strong{max-width:7rem}}

/* 1.12.23 · Themenkarten für den persönlichen Tagesüberblick */
.today-briefing-heading{margin-bottom:17px}
.today-briefing-heading .eyebrow{display:block;margin:0 0 2px;font-size:.65rem;letter-spacing:.15em;color:var(--blue)}
.today-briefing-heading strong{display:block;font-size:1.28rem;line-height:1.25;letter-spacing:-.02em}
.today-briefing-highlights{display:grid;grid-template-columns:minmax(260px,.92fr) minmax(0,1.65fr);gap:14px;align-items:stretch}
.today-briefing-highlights.is-solo{grid-template-columns:1fr}
.today-briefing-feature-slot{min-width:0}
.today-briefing-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(132px,1fr);gap:12px;min-width:0}
.today-briefing-tile{--briefing-accent:var(--blue);position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;gap:11px;min-width:0;min-height:132px;padding:17px 19px;border:1px solid color-mix(in srgb,var(--briefing-accent) 32%,var(--line));border-radius:17px;background:linear-gradient(145deg,color-mix(in srgb,var(--briefing-accent) 12%,var(--surface)) 0%,var(--surface) 83%);color:var(--ink);text-decoration:none;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.today-briefing-tile::before{content:"";position:absolute;z-index:-1;inset:auto -26px -42px auto;width:115px;height:115px;border-radius:50%;background:color-mix(in srgb,var(--briefing-accent) 12%,transparent);filter:blur(18px)}
.today-briefing-tile[href]:hover,.today-briefing-tile[href]:focus-visible{transform:translateY(-3px);border-color:var(--briefing-accent);box-shadow:0 12px 25px color-mix(in srgb,var(--briefing-accent) 14%,transparent)}
.today-briefing-tile-static{cursor:default}
.today-briefing-card-top{display:flex;align-items:center;gap:10px;min-width:0}
.today-briefing-card-icon{display:inline-grid;place-items:center;flex:none;width:35px;height:35px;border-radius:11px;background:color-mix(in srgb,var(--briefing-accent) 20%,var(--surface));color:var(--ink)}
.today-briefing-card-icon .icon{width:19px;height:19px}
.today-briefing-tile .today-briefing-label{color:var(--ink);font-size:.74rem;font-weight:750;line-height:1.2;letter-spacing:.02em;overflow-wrap:anywhere}
.today-briefing-tile strong{font-size:clamp(.9rem,1.1vw,1rem);line-height:1.43;letter-spacing:-.015em;overflow-wrap:anywhere}
.today-briefing-card-action{display:inline-flex;align-items:center;gap:7px;margin-top:auto;color:var(--ink);font-size:.74rem;font-weight:750;opacity:.76}
.today-briefing-card-action .icon{width:15px;height:15px}
.today-briefing-feature{min-height:276px;padding:23px 25px;border-radius:21px}
.today-briefing-feature::before{width:220px;height:220px;right:-65px;bottom:-95px;filter:blur(26px)}
.today-briefing-feature .today-briefing-card-top{gap:12px}
.today-briefing-feature .today-briefing-card-icon{width:51px;height:51px;border-radius:16px}
.today-briefing-feature .today-briefing-card-icon .icon{width:27px;height:27px}
.today-briefing-feature .today-briefing-label{font-size:.8rem}
.today-briefing-feature strong{margin-top:auto;font-size:clamp(1.2rem,1.8vw,1.7rem);line-height:1.27;max-width:32ch}
.today-briefing-feature .today-briefing-card-action{margin-top:8px;font-size:.84rem;opacity:1}
.today-briefing-highlights.is-solo .today-briefing-feature{min-height:200px}
.today-briefing-tile-calendar{--briefing-accent:#729eff}
.today-briefing-tile-school{--briefing-accent:#a887ed}
.today-briefing-tile-tasks{--briefing-accent:#f1a765}
.today-briefing-tile-weather{--briefing-accent:#6dbbd9}
.today-briefing-tile-finance{--briefing-accent:#e6a477}
.today-briefing-tile-vehicles{--briefing-accent:#6bb6a6}
.today-briefing-tile-meals{--briefing-accent:#e59caa}
.today-briefing-tile-shopping{--briefing-accent:#83be9c}
.today-briefing-tile-occasion{--briefing-accent:#d5a668}
.today-briefing-empty{display:flex;align-items:center;gap:16px;padding:23px;border:1px dashed var(--line);border-radius:17px;background:var(--hover)}
.today-briefing-empty>.icon{width:31px;height:31px;color:var(--blue)}
.today-briefing-empty p{margin:3px 0 0;color:var(--muted);font-size:.86rem}
@media(max-width:1080px){.today-briefing-highlights{grid-template-columns:1fr}.today-briefing-feature{min-height:205px}.today-briefing-secondary{grid-auto-rows:minmax(122px,1fr)}}
@media(max-width:620px){.today-briefing-heading{align-items:end}.today-briefing-heading strong{font-size:1.16rem}.today-briefing-highlights{gap:10px}.today-briefing-feature{min-height:186px;padding:18px 19px}.today-briefing-feature strong{font-size:1.25rem}.today-briefing-secondary{gap:9px;grid-auto-rows:minmax(133px,1fr)}.today-briefing-tile{padding:14px 15px}.today-briefing-tile strong{font-size:.88rem}.today-briefing-tile .today-briefing-label{font-size:.69rem}}
@media(max-width:430px){.today-briefing-secondary{grid-template-columns:1fr;grid-auto-rows:auto}.today-briefing-secondary .today-briefing-tile{min-height:111px}}
@media(prefers-reduced-motion:reduce){.today-briefing-tile{transition:none}.today-briefing-tile[href]:hover,.today-briefing-tile[href]:focus-visible{transform:none}}

/* 1.12.24 · Wochenwetter, nächste Termine und Schulüberblick */
.today-briefing-next{display:grid;gap:4px;width:100%;margin-top:auto;padding-top:10px;border-top:1px solid var(--line);font-size:.69rem;color:var(--muted)}
.today-briefing-next>small{font-size:.65rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
.today-briefing-next>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.today-briefing-tile-calendar .today-briefing-card-action{margin-top:7px}
.today-briefing-exams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin:auto 0}
.today-briefing-exams>span{display:grid;align-content:start;gap:2px;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--briefing-accent) 8%,var(--surface))}
.today-briefing-exams b{font-size:.76rem}.today-briefing-exams em{font-style:normal;font-size:.79rem;font-weight:720;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-briefing-exams small{color:var(--muted);font-size:.65rem}
.today-weather{margin-top:15px;padding:18px 19px;border:1px solid color-mix(in srgb,#6dbbd9 36%,var(--line));border-radius:18px;background:linear-gradient(125deg,color-mix(in srgb,#6dbbd9 14%,var(--surface)),var(--surface) 72%);min-width:0}
.today-weather-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.today-weather-head .eyebrow{font-size:.62rem;letter-spacing:.12em;color:var(--blue)}.today-weather-head h3{margin:3px 0 0;font-size:1.04rem}.today-weather-source{color:var(--muted);font-size:.67rem;white-space:nowrap}
.today-weather-today{display:flex;align-items:center;gap:15px;padding:15px 0 17px}.today-weather-main-icon{display:grid;place-items:center;flex:none;width:62px;height:62px;border-radius:16px;background:color-mix(in srgb,#6dbbd9 20%,var(--surface));color:#5bb9da}.today-weather-main-icon .icon{width:38px;height:38px}.today-weather-today>div:nth-child(2){display:grid;gap:3px;min-width:0}.today-weather-today>div:nth-child(2)>strong{font-size:1.1rem}.today-weather-today>div:nth-child(2)>span{font-size:.74rem;color:var(--muted)}.today-weather-temperature{display:grid;gap:2px;margin-left:auto;text-align:right;white-space:nowrap}.today-weather-temperature strong{font-size:1.7rem;font-variant-numeric:tabular-nums}.today-weather-temperature small{font-size:.69rem;color:var(--muted)}
.today-weather-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.today-weather-day{display:grid;justify-items:center;align-content:start;gap:6px;min-width:0;padding:11px 5px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,#6dbbd9 7%,var(--surface));text-align:center}.today-weather-day:first-child{border-color:#6dbbd9}.today-weather-day>strong{font-size:.72rem}.today-weather-day-icon{color:#69b9d8}.today-weather-day-icon .icon{width:25px;height:25px}.today-weather-day-temps{display:flex;gap:6px;align-items:baseline;font-variant-numeric:tabular-nums}.today-weather-day-temps b{font-size:.83rem}.today-weather-day-temps small{font-size:.7rem;color:var(--muted)}.today-weather-day>small{font-size:.58rem;color:var(--muted);white-space:nowrap}.today-weather-note{display:block;margin-top:10px;color:var(--muted);font-size:.62rem}
@media(max-width:760px){.today-weather-week{grid-template-columns:repeat(4,minmax(0,1fr))}.today-weather-head{flex-wrap:wrap}.today-weather-source{white-space:normal}}
@media(max-width:430px){.today-briefing-exams{grid-template-columns:1fr 1fr}.today-weather{padding:14px}.today-weather-week{grid-template-columns:repeat(4,minmax(0,1fr))}.today-weather-day{padding:9px 3px}.today-weather-day>small{font-size:.52rem}.today-weather-today{gap:9px}.today-weather-main-icon{width:49px;height:49px}.today-weather-main-icon .icon{width:31px;height:31px}.today-weather-today>div:nth-child(2)>strong{font-size:.91rem}.today-weather-temperature strong{font-size:1.3rem}.today-weather-temperature small{font-size:.6rem}}

/* 1.12.25 · Ein ruhiges Raster und eine einheitliche Kartenoberfläche */
.today-briefing{--briefing-card-bg:var(--surface);--briefing-card-line:var(--line);--briefing-soft:var(--input)}
.today-briefing-heading .eyebrow,.today-weather-head .eyebrow{color:var(--primary)}
.today-briefing-highlights,.today-briefing-highlights.is-solo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(154px,auto);gap:12px;align-items:stretch}
.today-briefing-feature-slot{grid-column:1;grid-row:1/span 2;min-height:0}
.today-briefing-secondary{display:contents}
.today-briefing-highlights.is-count-1{grid-template-columns:1fr}.today-briefing-highlights.is-count-1 .today-briefing-feature-slot{grid-column:1;grid-row:auto}
.today-briefing-highlights.is-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.today-briefing-highlights.is-count-2 .today-briefing-feature-slot{grid-column:1;grid-row:auto}
.today-briefing-highlights.is-count-3 .today-briefing-feature-slot{grid-row:auto}
.today-briefing-highlights.is-count-4 .today-briefing-secondary>.today-briefing-tile:last-child{grid-column:2/4}
.today-briefing .today-briefing-tile{--briefing-accent:var(--primary);height:100%;min-height:154px;padding:18px 20px;gap:12px;border:1px solid var(--briefing-card-line);border-radius:16px;background:var(--briefing-card-bg);box-shadow:none}
.today-briefing .today-briefing-tile::before{display:none}
.today-briefing .today-briefing-tile[href]:hover,.today-briefing .today-briefing-tile[href]:focus-visible{transform:none;border-color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,var(--briefing-card-bg));box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 8%,transparent)}
.today-briefing .today-briefing-card-icon,.today-weather-main-icon{background:var(--briefing-soft);color:var(--primary);border:1px solid var(--briefing-card-line)}
.today-briefing .today-briefing-feature{padding:22px 24px;min-height:0}
.today-briefing .today-briefing-feature strong{margin-top:15px;max-width:35ch}
.today-briefing .today-briefing-feature .today-briefing-card-action{margin-top:auto;padding-top:12px}
.today-briefing .today-briefing-tile-calendar .today-briefing-next{margin-top:14px}
.today-briefing .today-briefing-tile-calendar .today-briefing-card-action{margin-top:auto}
.today-briefing .today-briefing-card-action{color:var(--primary);opacity:1}
.today-briefing-exams{margin:0;gap:7px}.today-briefing-exams>span{padding:8px 9px;background:var(--briefing-soft);border-color:var(--briefing-card-line)}
.today-weather{margin-top:12px;padding:19px 20px;border:1px solid var(--briefing-card-line);border-radius:16px;background:var(--briefing-card-bg)}
.today-weather-main-icon{width:56px;height:56px;border-radius:14px}.today-weather-main-icon .icon{width:34px;height:34px}
.today-weather-today{padding:15px 0 16px}.today-weather-week{gap:8px}
.today-weather-day{background:var(--briefing-soft);border-color:var(--briefing-card-line);border-radius:11px}
.today-weather-day:first-child{border-color:var(--primary);box-shadow:inset 0 2px 0 var(--primary)}
.today-weather-day-icon{color:var(--primary)}
@media(max-width:1080px){.today-briefing-highlights,.today-briefing-highlights.is-solo{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(145px,auto)}.today-briefing-feature-slot,.today-briefing-highlights.is-count-2 .today-briefing-feature-slot,.today-briefing-highlights.is-count-3 .today-briefing-feature-slot{grid-column:1/-1;grid-row:auto}.today-briefing-highlights.is-count-4 .today-briefing-secondary>.today-briefing-tile:last-child{grid-column:auto}.today-briefing-highlights.is-count-1{grid-template-columns:1fr}.today-briefing .today-briefing-feature{min-height:190px}}
@media(max-width:620px){.today-briefing-highlights,.today-briefing-highlights.is-solo,.today-briefing-highlights.is-count-2{grid-template-columns:1fr;gap:9px}.today-briefing-feature-slot,.today-briefing-highlights.is-count-2 .today-briefing-feature-slot{grid-column:1;grid-row:auto}.today-briefing .today-briefing-tile{min-height:112px;padding:15px 16px}.today-briefing .today-briefing-feature{min-height:185px;padding:18px 19px}.today-weather{padding:15px 16px}.today-weather-week{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}}
@media(max-width:430px){.today-briefing .today-briefing-feature{min-height:170px}.today-briefing-exams{grid-template-columns:repeat(2,minmax(0,1fr))}.today-weather-day{padding:9px 3px}}

/* 1.12.26 · BESIM FAMILY wordmark in every design; fifth BESIM Identity appearance. */
.brand{min-height:47px;max-width:100%;gap:0}
.brand-wordmark{display:block;width:178px;height:50px;flex:none;background:transparent url('../assets/brand/besim-family-logo.svg') left center/contain no-repeat}
.brand-wordmark-dark{display:none;background-image:url('../assets/brand/besim-family-logo-weiss.svg')}
html:is([data-theme=dark],[data-theme=energy]) .brand-wordmark-light{display:none}
html:is([data-theme=dark],[data-theme=energy]) .brand-wordmark-dark{display:block}
.auth-card .brand-wordmark{width:min(265px,100%);height:76px}
html[data-theme=identity]{color-scheme:light;--bg:#f5f4f1;--surface:#fff;--sidebar:#10151d;--ink:#171b22;--muted:#65707a;--line:#dce0e2;--blue:#a9430d;--blue-light:#fff0e4;--hover:#f9f4ef;--shadow:0 10px 34px #10151d0a;--input:#faf9f6;--primary:#b64d12;--primary-hover:#923809;--primary-shadow:#b64d1228}
html[data-theme=identity] .sidebar{border-right-color:#293440;box-shadow:8px 0 32px #10151d12}
html[data-theme=identity] .sidebar .brand-wordmark-light{display:none}
html[data-theme=identity] .sidebar .brand-wordmark-dark{display:block}
html[data-theme=identity] .family-label,html[data-theme=identity] .demo-label{color:#adb5bf}
html[data-theme=identity] .family-name,html[data-theme=identity] .profile,html[data-theme=identity] .profile select{color:#f5f5f2}
html[data-theme=identity] .sidebar .nav-item{color:#bdc5ce}
html[data-theme=identity] .sidebar .nav-item.active{color:#ffb67d;background:#ed792c24}
html[data-theme=identity] .sidebar .nav-item:hover{color:#fff;background:#27313b}
html[data-theme=identity] .sidebar .nav-separator{background:#303a43}html[data-theme=identity] .sidebar .profile{border-color:#303a43}
html[data-theme=identity] .sidebar .badge,html[data-theme=identity] .sidebar .nav-count{background:#29333f;color:#d4dbe2}
html[data-theme=identity] .topbar,html[data-theme=identity] .mobile-quick-nav{background:#fff;border-color:#e3ded7}
html[data-theme=identity] .topbar{box-shadow:0 3px 18px #10151d05}
html[data-theme=identity] .page-heading .eyebrow,html[data-theme=identity] .theme-picker-head .eyebrow{color:#b64d12;letter-spacing:.16em}
html[data-theme=identity] .card,html[data-theme=identity] .today-summary,html[data-theme=identity] .auth-card,html[data-theme=identity] dialog{border-radius:18px;box-shadow:var(--shadow)}

/* 1.12.27: iPhone calendar fields, receipt controls and closable receipt preview. */
#entry-form.calendar-editor .calendar-when-grid>label{min-width:0}
#entry-form.calendar-editor .calendar-when-grid input[type=date]{display:block;width:100%;min-width:0;max-width:100%}
@media(max-width:560px){.calendar-when-grid{grid-template-columns:minmax(0,1fr);gap:14px}.calendar-time-field>label{display:flex;gap:6px;align-items:baseline}.calendar-time-field>small{margin-top:-2px}}
.finance-receipt-toolbar{grid-template-columns:minmax(0,1fr) minmax(250px,340px);gap:10px 14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.finance-receipt-filters{grid-column:1/-1;gap:7px}
.finance-receipt-filters button{min-height:38px;padding:7px 11px}
.finance-receipt-search{grid-column:1;align-items:stretch}
.finance-receipt-search input{min-height:40px}
.finance-receipt-search .button{min-height:40px}
.finance-receipt-selects{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;justify-content:stretch}
.finance-receipt-selects label{display:grid;gap:4px;min-width:0;align-content:start}
.finance-receipt-selects select{width:100%;max-width:none;min-height:40px;padding:7px 26px 7px 9px}
.finance-inbox-list-head{min-width:0}
.finance-inbox-list-head>div{min-width:0}
.finance-inbox-list-head .button{white-space:normal;text-align:center}
@media(max-width:920px){.finance-receipt-toolbar{grid-template-columns:minmax(0,1fr)}.finance-receipt-search,.finance-receipt-selects{grid-column:1}.finance-receipt-selects{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.finance-receipt-toolbar{padding:11px;gap:11px}.finance-receipt-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.finance-receipt-filters button{min-width:0;white-space:normal;line-height:1.2}.finance-receipt-search{display:grid;grid-template-columns:minmax(0,1fr) auto}.finance-receipt-search .button{padding:8px 11px}.finance-receipt-selects label{min-width:0}.finance-inbox-list .finance-receipt-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px}.finance-inbox-list .finance-receipt-identity{grid-column:1;grid-row:1}.finance-inbox-list .finance-receipt-amount{grid-column:2;grid-row:1;width:auto;min-width:90px}.finance-inbox-list .finance-receipt-state{grid-column:1/-1;grid-row:2}.finance-inbox-list .finance-receipt-actions{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;justify-self:stretch}.finance-inbox-list .finance-receipt-actions>.button{width:100%;white-space:normal;min-height:40px}.finance-inbox-list .finance-receipt-more>summary{min-width:62px;min-height:40px}}
#finance-preview-dialog{width:min(940px,calc(100% - 24px));max-width:940px;max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);overflow:hidden}
#finance-preview-dialog::backdrop{background:#0a1326bc}
.finance-preview-head,.finance-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--surface)}
.finance-preview-head{border-bottom:1px solid var(--line)}
.finance-preview-head h2{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.finance-preview-head .icon-button{flex:0 0 44px;color:var(--ink);font-size:1.5rem}
#finance-preview-dialog .finance-preview-content{display:flex;align-items:flex-start;justify-content:center;min-height:160px;max-height:calc(100dvh - 175px);overflow:auto;padding:12px;background:var(--bg)}
#finance-preview-dialog .finance-preview-content canvas,#finance-preview-dialog .finance-preview-content img{display:block;max-width:100%;height:auto;box-shadow:0 2px 14px #0002;background:white}
.finance-preview-footer{border-top:1px solid var(--line);flex-wrap:wrap}
.finance-preview-footer>div,.finance-preview-pages{display:flex;align-items:center;gap:7px}
.finance-preview-footer .button{min-height:40px;padding:8px 12px}
.finance-preview-pages span{white-space:nowrap;font-size:.8rem;color:var(--muted)}
@media(max-width:600px){.finance-preview-head,.finance-preview-footer{padding:9px 11px}.finance-preview-footer>div{margin-left:auto}.finance-preview-footer .button{font-size:.78rem;padding:7px 9px}.finance-preview-pages .button{min-width:38px}.finance-preview-head h2{font-size:.86rem}}
html[data-theme=identity] .welcome-card{background:radial-gradient(circle at 95% 5%,#ed792c45,transparent 38%),linear-gradient(125deg,#10151d,#26323d);color:#fff;border-color:#35414b}
html[data-theme=identity] .welcome-card p,html[data-theme=identity] .welcome-bottom{color:#d1d7df}
html[data-theme=identity] .welcome-bottom{border-color:#52606c}
html[data-theme=identity] .welcome-card .pill{color:#fff;background:#ffffff18;border-color:#ffffff48}
html[data-theme=identity] .avatar-stack .avatar{border-color:#26323d}
html[data-theme=identity] .light-link{color:#a9430d}
html[data-theme=identity] input,html[data-theme=identity] select,html[data-theme=identity] textarea{accent-color:#b64d12}
html[data-theme=identity] .meal-section-tabs button.active,html[data-theme=identity] .shopping-tab.active,html[data-theme=identity] .day.selected,html[data-theme=identity] .is-today .date-number,html[data-theme=identity] .mobile-quick-count{background:var(--primary);color:#fff;border-color:var(--primary)}
html[data-theme=identity] .memory-detail-meta .pill,html[data-theme=identity] .detail-content .pill{background:var(--surface);color:var(--ink);border-color:var(--line)}
html[data-theme=identity] .today-briefing-card,html[data-theme=identity] .today-briefing-weather,html[data-theme=identity] .today-briefing-feature{border-color:#ded7d0}
@media(max-width:620px){.brand-wordmark{width:162px;height:46px}.auth-card .brand-wordmark{width:min(238px,100%);height:68px}}

/* Five design choices: let the brand option complete the selector row. */
.theme-choice-grid > :last-child:nth-child(odd){grid-column:1/-1}
.ai-activity{position:fixed;z-index:9999;right:18px;bottom:22px;display:flex;align-items:center;gap:12px;max-width:min(360px,calc(100vw - 32px));padding:12px 16px;border:1px solid color-mix(in srgb,var(--blue) 38%,var(--line));border-radius:18px;background:var(--surface);box-shadow:0 14px 34px #0004;color:var(--ink);pointer-events:none}
.ai-activity.in-dialog{position:sticky;bottom:8px;margin:14px auto 0;width:max-content;max-width:100%}
.ai-activity.inline{position:relative;right:auto;bottom:auto;width:100%;max-width:none;margin:2px 0 8px;box-shadow:none;background:color-mix(in srgb,var(--blue) 6%,var(--surface))}
.ai-activity img{width:48px;height:48px;object-fit:contain;animation:ai-activity-breathe 1.7s ease-in-out infinite}
.ai-activity span{display:grid;gap:3px;min-width:0}.ai-activity strong{font-size:.9rem}.ai-activity small{font-size:.77rem;color:var(--muted);line-height:1.35}
@keyframes ai-activity-breathe{50%{transform:translateY(-4px) rotate(-4deg)}}
@media(max-width:620px){.ai-activity:not(.in-dialog){left:14px;right:14px;bottom:94px;max-width:none}}
@media(prefers-reduced-motion:reduce){.ai-activity img{animation:none}}

/* Admin workspace: one consistent software-style frame across every settings page. */
#admin-root{min-width:0;margin-bottom:28px}
.admin-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:720px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:0 16px 46px #101c3210}
.admin-rail{position:sticky;top:18px;align-self:start;display:flex;flex-direction:column;gap:23px;max-height:calc(100dvh - 36px);overflow:auto;padding:22px 12px 18px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--sidebar) 88%,var(--bg));border-radius:17px 0 0 17px}
.admin-rail-brand{display:flex;align-items:center;gap:10px;padding:0 10px 15px;border-bottom:1px solid var(--line)}
.admin-rail-brand>span:last-child{display:grid;gap:1px;min-width:0}.admin-rail-brand strong{font-size:.76rem;letter-spacing:.1em;white-space:nowrap}.admin-rail-brand small{font-size:.72rem}
.admin-rail-mark{display:grid;place-items:center;width:35px;height:35px;flex:none;border-radius:9px;background:#111b2a;color:#fff;font-size:1.14rem;font-weight:800;letter-spacing:-.08em}
.admin-rail nav{display:grid;gap:18px}.admin-rail-group{display:grid;gap:3px}.admin-rail-label{padding:0 10px 6px;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.admin-rail-link{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 10px;border-radius:8px;text-align:left;color:var(--muted);font-size:.79rem;font-weight:600;white-space:nowrap}
.admin-rail-link .icon{width:17px;height:17px}.admin-rail-link:hover:not(:disabled){color:var(--ink);background:var(--hover)}.admin-rail-link.is-active{color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface));font-weight:750}
.admin-rail-link:disabled{opacity:.45}.admin-rail-footer{display:flex;align-items:center;gap:7px;margin-top:auto;padding:14px 10px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.69rem}.admin-rail-status{width:7px;height:7px;flex:none;border-radius:50%;background:#49a47f}
.admin-mobile-picker{display:none}
.admin-workspace-main{min-width:0;padding:0 28px 30px;background:color-mix(in srgb,var(--surface) 94%,var(--bg));border-radius:0 17px 17px 0}
.admin-workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:93px;margin:0 -28px 24px;padding:18px 28px;border-bottom:1px solid var(--line);background:var(--surface);border-radius:0 17px 0 0}
.admin-workspace-path{display:block;margin-bottom:5px;color:var(--muted);font-size:.67rem;font-weight:750;letter-spacing:.13em}.admin-workspace-path span{padding:0 5px;color:var(--primary)}.admin-workspace-toolbar h1{margin:0;font-size:1.48rem;letter-spacing:-.035em}.admin-workspace-role{padding:5px 9px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:.72rem;font-weight:700;white-space:nowrap}
.admin-workspace-content{min-width:0}.admin-workspace-content .card{box-shadow:none;border-radius:10px}.admin-workspace-content .admin-intro{padding:22px 24px;background:var(--surface)}.admin-workspace-content .admin-intro h2{font-size:1.32rem}.admin-workspace-content .admin-stats{gap:13px 28px}.admin-workspace-content .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.admin-workspace-content .admin-tile{display:grid;grid-template-columns:36px minmax(0,1fr);align-content:center;column-gap:13px;row-gap:2px;min-height:105px;padding:14px 16px;border-radius:10px;box-shadow:none}.admin-workspace-content .admin-tile-icon{grid-row:1/4;width:34px;height:34px;margin:0;border-radius:8px}.admin-workspace-content .admin-tile-icon .icon{width:18px;height:18px}.admin-workspace-content .admin-tile strong{grid-column:2;font-size:.91rem}.admin-workspace-content .admin-tile>span:not(.admin-tile-icon){grid-column:2;font-size:.76rem;line-height:1.35}.admin-workspace-content .admin-tile small{grid-column:2;margin:2px 0 0;font-size:.68rem}
.admin-workspace-content .admin-back{font-size:.76rem;margin:0 0 8px}.admin-workspace-content .admin-section-head{margin-bottom:17px}.admin-workspace-content .admin-section-head h2{font-size:1.36rem}.admin-workspace-content .admin-panel{padding:20px}.admin-workspace-content .admin-panel h3{font-size:1rem}.admin-workspace-content .admin-form{max-width:760px}.admin-workspace-content .admin-member-card{border-radius:9px}
.admin-ai-jump{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 18px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.admin-ai-jump>span{padding:0 8px;color:var(--muted);font-size:.71rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.admin-ai-jump button{min-height:34px;padding:6px 9px;border-radius:6px;color:var(--ink);font-size:.76rem;font-weight:600}.admin-ai-jump button:hover{background:var(--hover);color:var(--primary)}.admin-ai-anchor{scroll-margin-top:20px}
@media(max-width:1120px){.admin-workspace{grid-template-columns:185px minmax(0,1fr)}.admin-rail-link{font-size:.75rem}.admin-workspace-main{padding:0 18px 24px}.admin-workspace-toolbar{margin:0 -18px 20px;padding:15px 18px}}
@media(max-width:800px){.admin-workspace{display:block;min-height:0}.admin-rail{position:static;max-height:none;overflow:visible;gap:9px;padding:11px 12px;border-right:0;border-bottom:1px solid var(--line);border-radius:17px 17px 0 0}.admin-rail-brand,.admin-rail-footer,.admin-rail-label{display:none}.admin-rail nav{display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin;padding-bottom:3px}.admin-rail-group{display:flex;gap:5px;flex:none}.admin-rail-link{width:auto;min-height:38px;padding:7px 10px}.admin-workspace-main{border-radius:0 0 17px 17px}.admin-workspace-toolbar{border-radius:0}}
@media(max-width:620px){.admin-rail nav{display:none}.admin-mobile-picker{display:grid;gap:4px;color:var(--muted);font-size:.69rem;font-weight:750;letter-spacing:.04em}.admin-mobile-picker select{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:.87rem;font-weight:650}.admin-workspace-main{padding:0 12px 22px}.admin-workspace-toolbar{min-height:72px;margin:0 -12px 15px;padding:12px}.admin-workspace-toolbar h1{font-size:1.21rem}.admin-workspace-role{font-size:.67rem}.admin-workspace-content .admin-grid{grid-template-columns:1fr}.admin-workspace-content .admin-tile{min-height:94px}.admin-workspace-content .admin-intro,.admin-workspace-content .admin-panel{padding:16px}.admin-ai-jump{flex-wrap:nowrap;overflow-x:auto}.admin-ai-jump>span,.admin-ai-jump button{white-space:nowrap}}

/* 1.13.3: all admin pages share a compact, readable management interface. */
.admin-workspace{--admin-rail-ink:#f1f5f8;--admin-rail-link:#d0d9e1;--admin-rail-muted:#aebbc7;--admin-rail-line:#53606b;overflow:hidden;border-radius:10px;box-shadow:0 8px 30px #101c3210}
.admin-rail{gap:16px;background:#252c34;color:var(--admin-rail-ink);border-right-color:var(--admin-rail-line);border-radius:9px 0 0 9px}
.admin-rail-brand{border-bottom-color:var(--admin-rail-line)}
.admin-rail-brand strong{color:var(--admin-rail-ink)}
.admin-rail-brand small,.admin-rail-label,.admin-rail-footer{color:var(--admin-rail-muted)}
.admin-rail-footer{border-top-color:var(--admin-rail-line)}
.admin-rail-link{color:var(--admin-rail-link);font-size:.83rem;min-height:38px}
.admin-rail-link .icon{color:currentColor}
.admin-rail-link:hover:not(:disabled),.admin-rail-link:focus-visible{color:#fff;background:#3c4854}
.admin-rail-link.is-active{color:#fff;background:#a9400c;font-weight:750}
.admin-rail-link:disabled{color:var(--admin-rail-muted);opacity:.7}
.admin-workspace-main{background:var(--surface);border-radius:0 9px 9px 0}
.admin-workspace-toolbar{min-height:75px;margin-bottom:17px;border-radius:0 9px 0 0}
.admin-workspace-toolbar h1{font-size:1.35rem}
.admin-workspace-content .admin-back{margin:0 0 7px}
.admin-workspace-content .admin-section-head{align-items:center;margin-bottom:14px}
.admin-workspace-content .admin-section-head h2{font-size:1.17rem}
.admin-workspace-content .admin-section-head p{font-size:.8rem}
.admin-workspace[data-section="ai"] .admin-section-head>div>h2,.admin-workspace[data-section="waste"] .admin-section-head>div>h2,.admin-workspace[data-section="mailbox"] .admin-section-head>div>h2,.admin-workspace[data-section="backup"] .admin-section-head>div>h2{display:none}
.admin-workspace-content .admin-panel{padding:15px 18px;margin-bottom:10px;border-radius:7px}
.admin-workspace-content .admin-panel h3{font-size:.94rem;margin:0 0 5px}
.admin-workspace-content .admin-panel p{font-size:.79rem;line-height:1.48;margin:4px 0 10px}
.admin-workspace-content .admin-panel>small{font-size:.72rem;line-height:1.45}
.admin-workspace-content .admin-detail-grid,.admin-workspace-content .admin-role-grid{grid-template-columns:minmax(0,1fr);gap:0}
.admin-workspace-content .admin-detail-grid>.admin-panel,.admin-workspace-content .admin-role-grid>.admin-panel{border-radius:0;margin:0;border-bottom:0}
.admin-workspace-content .admin-detail-grid>.admin-panel:first-child,.admin-workspace-content .admin-role-grid>.admin-panel:first-child{border-radius:7px 7px 0 0}
.admin-workspace-content .admin-detail-grid>.admin-panel:last-child,.admin-workspace-content .admin-role-grid>.admin-panel:last-child{border-bottom:1px solid var(--line);border-radius:0 0 7px 7px}
.admin-workspace-content .admin-form label,.admin-workspace-content .admin-panel form label{margin:8px 0;font-size:.78rem}
.admin-workspace-content .admin-panel>form>label:not(.admin-access-toggle),.admin-workspace-content form.admin-form>label:not(.admin-access-toggle){display:grid;grid-template-columns:minmax(145px,27%) minmax(0,1fr);align-items:center;gap:4px 12px;min-height:41px}
.admin-workspace-content .admin-panel>form>label:not(.admin-access-toggle)>small,.admin-workspace-content form.admin-form>label:not(.admin-access-toggle)>small{grid-column:2;font-weight:400;color:var(--muted)}
.admin-workspace-content .admin-form input,.admin-workspace-content .admin-form select,.admin-workspace-content .admin-panel form input:not([type="checkbox"]),.admin-workspace-content .admin-panel form select{min-height:38px;padding:7px 10px;border-radius:6px;font-size:.83rem}
.admin-workspace-content .button{min-height:36px;padding:7px 12px;border-radius:6px;font-size:.78rem}
.admin-workspace-content .admin-panel .button{margin:4px 6px 4px 0}
.admin-workspace-content .admin-big-day{font-size:1.3rem;letter-spacing:-.02em;margin:2px 0 5px}
.admin-workspace-content .admin-timeline{margin-top:10px;gap:10px}
.admin-workspace-content .admin-mini-list>div{min-height:42px;padding:7px 0}
.admin-workspace-content .admin-privacy{margin-top:10px;padding:13px 16px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}
.admin-workspace-content .admin-member-card{min-height:58px;padding:9px 12px;border-radius:6px}
.admin-workspace-content .admin-member-hero{padding:11px 14px;margin-bottom:10px;border-radius:7px}
.admin-workspace-content .admin-member-hero h2{font-size:1.16rem}
.admin-workspace[data-section="overview"] .admin-intro{padding:14px 18px;margin-bottom:13px;border-radius:7px}
.admin-workspace[data-section="overview"] .admin-intro h2{font-size:1.05rem;margin:4px 0}
.admin-workspace[data-section="overview"] .admin-intro p{margin:0 0 10px;font-size:.79rem}
.admin-workspace[data-section="overview"] .admin-stats{padding-top:9px;gap:9px 25px}
.admin-workspace[data-section="overview"] .admin-stats strong{display:inline;font-size:.86rem}
.admin-workspace-content .admin-grid{grid-template-columns:minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:7px;overflow:hidden}
.admin-workspace-content .admin-tile{grid-template-columns:30px minmax(150px,.6fr) minmax(0,1fr) auto;align-items:center;align-content:center;gap:8px 12px;min-height:61px;padding:9px 13px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--surface)}
.admin-workspace-content .admin-tile:last-child{border-bottom:0}
.admin-workspace-content .admin-tile-icon{grid-column:1;grid-row:1/3;width:28px;height:28px}
.admin-workspace-content .admin-tile strong{grid-column:2;grid-row:1/3;font-size:.83rem}
.admin-workspace-content .admin-tile>span:not(.admin-tile-icon){grid-column:3;grid-row:1/3;font-size:.74rem}
.admin-workspace-content .admin-tile small{grid-column:4;grid-row:1/3;margin:0;font-size:.71rem;text-align:right;max-width:180px}
.admin-workspace-content .admin-tile:hover{background:var(--hover)}
.admin-workspace-content .admin-tile>span:not(.admin-tile-icon),.admin-workspace-content .admin-tile small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-ai-jump{gap:0;margin-bottom:13px;padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;flex-wrap:nowrap;overflow-x:auto}
.admin-ai-jump>span{display:none}
.admin-ai-jump button{white-space:nowrap;border-radius:0;min-height:40px;padding:9px 14px;border-bottom:2px solid transparent}
.admin-ai-jump button[aria-selected="true"]{color:var(--primary);border-bottom-color:var(--primary);font-weight:800}
.admin-ai-pane[hidden]{display:none!important}
.admin-ai-pane{min-width:0}
.admin-ai-rate-grid{border:1px solid var(--line);border-radius:7px;overflow:hidden;margin:13px 0}.admin-workspace-content #admin-ai-rates .admin-ai-rate-row{display:grid;grid-template-columns:minmax(0,1fr) 105px;align-items:center;gap:14px;margin:0;padding:10px 12px;border-bottom:1px solid var(--line);min-height:58px}.admin-ai-rate-row:last-child{border-bottom:0}.admin-ai-rate-row span{display:grid;gap:2px;min-width:0}.admin-ai-rate-row strong{font-size:.81rem}.admin-ai-rate-row small{font-size:.7rem;color:var(--muted);font-weight:400}.admin-workspace-content #admin-ai-rates .admin-ai-rate-row input{width:100%;min-width:0;text-align:right}.admin-ai-rate-row:nth-child(even){background:var(--hover)}
.admin-workspace .admin-ai-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-bottom:10px}
.admin-workspace .admin-ai-summary>.card{min-height:88px;padding:11px 13px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;gap:3px;background:var(--surface)}
.admin-workspace .admin-ai-summary>.card:after{content:none}
.admin-workspace .admin-ai-summary>.card:nth-child(3n){border-right:0}
.admin-workspace .admin-ai-summary>.card:nth-last-child(-n+3){border-bottom:0}
.admin-workspace .admin-ai-summary strong{font-size:1.18rem}
.admin-workspace .admin-ai-summary small{font-size:.68rem}
.admin-workspace .admin-ai-model-overview{padding:14px 16px;margin:0;border-radius:7px}
.admin-workspace .admin-ai-model-overview-head{align-items:center;margin-bottom:7px}
.admin-workspace .admin-ai-model-overview-head h3{font-size:.93rem}
.admin-workspace .admin-ai-model-grid{grid-template-columns:1fr;gap:0}
.admin-workspace .admin-ai-model-card{grid-template-columns:minmax(120px,.8fr) minmax(110px,.7fr) minmax(0,1fr);align-items:center;gap:6px 15px;padding:9px 0;border:0;border-top:1px solid var(--line);border-radius:0}
.admin-workspace .admin-ai-model-card>b{font-size:.9rem}
.admin-workspace .admin-ai-model-card>small:nth-of-type(1){display:none}
.admin-workspace .admin-ai-model-card>small:last-child{grid-column:3;grid-row:1/3}
.admin-workspace .admin-ai-feature-grid{grid-template-columns:1fr;gap:0;margin:12px 0;border:1px solid var(--line);border-radius:7px;overflow:hidden}
.admin-workspace .admin-ai-feature{grid-template-columns:minmax(0,1fr) auto;gap:3px 14px;padding:11px 13px;border:0;border-bottom:1px solid var(--line);border-radius:0}
.admin-workspace .admin-ai-feature:last-child{border-bottom:0}
.admin-workspace .admin-ai-feature>div{grid-column:1;align-items:center}
.admin-workspace .admin-ai-feature h4{font-size:.82rem}
.admin-workspace .admin-ai-feature p,.admin-workspace .admin-ai-feature small{grid-column:1;font-size:.73rem}
.admin-workspace .admin-ai-feature .button{grid-column:2;grid-row:1/4;align-self:center;margin:0}
.admin-workspace .admin-ai-setup{padding:11px 13px;border-radius:7px}
.admin-workspace .admin-ai-setup li{font-size:.74rem;margin:4px 0}
.admin-workspace .admin-ai-free-grid,.admin-workspace .admin-ai-people{grid-template-columns:1fr;gap:0;margin:10px 0;border:1px solid var(--line);border-radius:7px;overflow:hidden}
.admin-workspace .admin-ai-free-grid .card{padding:13px 15px;border:0;border-bottom:1px solid var(--line);border-radius:0}
.admin-workspace .admin-ai-free-grid .card:last-child{border-bottom:0}
.admin-workspace .admin-ai-free-grid form{gap:5px}
.admin-workspace .admin-ai-free-grid h4{margin:0;font-size:.88rem}
.admin-workspace .admin-ai-free-grid small,.admin-workspace .admin-ai-free-grid p{font-size:.73rem}
.admin-workspace .admin-ai-person{padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0}
.admin-workspace .admin-ai-person:last-child{border-bottom:0}
.admin-ai-person-summary{display:flex;align-items:center;gap:10px;min-height:54px;padding:9px 12px;cursor:pointer;list-style:none}
.admin-ai-person-summary::-webkit-details-marker{display:none}
.admin-ai-person-summary:after{content:'⌄';margin-left:4px;color:var(--muted)}
.admin-ai-person-summary>span:nth-child(2){display:grid;gap:2px}
.admin-ai-person-summary strong{font-size:.84rem}
.admin-ai-person-summary-meta{margin-left:auto;color:var(--muted);font-size:.74rem}
.admin-ai-person[open]>.admin-ai-person-summary{background:var(--hover);border-bottom:1px solid var(--line)}
.admin-ai-person-body{padding:10px 15px 15px}
.admin-ai-person-body .admin-ai-person-stats{padding:4px 0 9px}
.admin-ai-person-body .admin-ai-member-insights>div,.admin-ai-person-body .admin-ai-member-cost{padding:9px;border-radius:6px}
.admin-ai-person-body .admin-ai-member-cost strong{font-size:1rem}
.admin-workspace .admin-ai-calls th,.admin-workspace .admin-ai-calls td{padding:7px 8px;font-size:.72rem}
.admin-workspace .waste-admin{max-width:none}
.admin-workspace .waste-kind-choices{padding:9px 12px;border-radius:6px}
.admin-workspace .waste-kind-choices label{min-width:160px;margin:3px 10px 3px 0;font-size:.78rem}
.admin-workspace .waste-preview{padding-top:12px;margin-top:14px}
.admin-workspace .ideas-root{min-height:0;padding:12px 15px}
.admin-workspace .ideas-toolbar{margin-bottom:10px}
.admin-workspace .ideas-filters{gap:0;border-bottom:1px solid var(--line)}
.admin-workspace .ideas-filters button{padding:8px 11px;border:0;border-bottom:2px solid transparent;border-radius:0;font-size:.76rem}
.admin-workspace .ideas-filters button.selected{border-bottom-color:var(--primary);background:transparent;color:var(--primary)}
.admin-workspace .ideas-layout{gap:0;grid-template-columns:minmax(175px,30%) minmax(0,1fr);border:1px solid var(--line);border-radius:7px;overflow:hidden}
.admin-workspace .ideas-list{gap:0;max-height:68vh;border-right:1px solid var(--line)}
.admin-workspace .ideas-row{padding:10px 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--surface);gap:3px}
.admin-workspace .ideas-row.active{border-left:3px solid var(--primary);padding-left:9px;background:var(--hover)}
.admin-workspace .ideas-row strong{font-size:.83rem}
.admin-workspace .ideas-row small{font-size:.68rem}
.admin-workspace .ideas-status{font-size:.66rem;padding:2px 7px}
.admin-workspace .ideas-detail{padding:14px 16px;min-height:250px;border:0;border-radius:0}
.admin-workspace .ideas-detail h3{font-size:1.05rem}
.admin-workspace .ideas-description{font-size:.83rem;margin:10px 0}
.admin-workspace .ideas-plan,.admin-workspace .ideas-private{padding:9px 11px;margin:10px 0;border-radius:6px}
.admin-workspace .ideas-plan-form{gap:8px;margin:10px 0}
.admin-workspace .finance-mail-client{padding:14px 16px;border-radius:7px}
.admin-workspace .finance-mail-client .card-head h3{font-size:.94rem}
.admin-workspace .finance-mail-client .card-head p{font-size:.76rem}
.admin-workspace .finance-mail-search{margin:10px 0;font-size:.76rem}
.admin-workspace .finance-mail-search input{min-height:38px;padding:7px 10px;border-radius:6px}
.admin-workspace .finance-mail-client-grid{gap:0;min-height:270px;border:1px solid var(--line);border-radius:7px;overflow:hidden}
.admin-workspace .finance-mail-list{max-height:440px;border-right:1px solid var(--line)}
.admin-workspace .finance-mail-item{padding:9px 11px;border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:.79rem}
.admin-workspace .finance-mail-item.selected{background:var(--hover);border-left:3px solid var(--primary);padding-left:8px}
.admin-workspace .finance-mail-item span,.admin-workspace .finance-mail-item small{font-size:.7rem;margin-top:2px}
.admin-workspace .finance-mail-detail{padding:13px;border:0;border-radius:0;font-size:.8rem}
@media(max-width:700px){.admin-workspace .ideas-layout{grid-template-columns:1fr}.admin-workspace .ideas-list{max-height:240px;border-right:0;border-bottom:1px solid var(--line)}.admin-workspace .ideas-plan-form{grid-template-columns:1fr}.admin-workspace .finance-mail-list{max-height:240px;border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:700px){.admin-workspace-content .admin-panel>form>label:not(.admin-access-toggle),.admin-workspace-content form.admin-form>label:not(.admin-access-toggle){grid-template-columns:1fr}.admin-workspace-content .admin-panel>form>label:not(.admin-access-toggle)>small,.admin-workspace-content form.admin-form>label:not(.admin-access-toggle)>small{grid-column:1}}
@media(max-width:900px){.admin-workspace-content .admin-tile{grid-template-columns:30px minmax(0,1fr) auto}.admin-workspace-content .admin-tile>span:not(.admin-tile-icon){grid-column:2;grid-row:2}.admin-workspace-content .admin-tile strong{grid-row:1}.admin-workspace-content .admin-tile small{grid-column:3;grid-row:1/3}}
@media(max-width:800px){.admin-rail{border-radius:9px 9px 0 0;border-bottom-color:var(--admin-rail-line)}.admin-workspace-main{border-radius:0 0 9px 9px}}
@media(max-width:620px){.admin-mobile-picker{color:var(--admin-rail-ink)}.admin-mobile-picker select{background:#384450;border-color:#758493;color:#fff}.admin-workspace-content .admin-tile{grid-template-columns:28px minmax(0,1fr);min-height:56px;padding:8px 10px}.admin-workspace-content .admin-tile small{display:none}.admin-workspace-content .admin-tile-icon{grid-row:1/3}.admin-workspace-content .admin-tile strong{grid-column:2;grid-row:1}.admin-workspace-content .admin-tile>span:not(.admin-tile-icon){grid-column:2;grid-row:2}.admin-workspace .admin-ai-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-workspace .admin-ai-summary>.card:nth-child(3n){border-right:1px solid var(--line)}.admin-workspace .admin-ai-summary>.card:nth-child(2n){border-right:0}.admin-workspace .admin-ai-summary>.card:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.admin-workspace .admin-ai-summary>.card:nth-last-child(-n+2){border-bottom:0}.admin-workspace .admin-ai-model-card{grid-template-columns:1fr;gap:3px}.admin-workspace .admin-ai-model-card>small:last-child{grid-column:1;grid-row:auto}.admin-workspace .admin-ai-feature{grid-template-columns:minmax(0,1fr)}.admin-workspace .admin-ai-feature .button{grid-column:1;grid-row:auto;justify-self:start;margin-top:5px}.admin-ai-person-summary-meta{font-size:.68rem;text-align:right}.admin-workspace-toolbar{min-height:66px}}
/* Gerichte: Bild-/URL-Import, prüfbare KI-Vorschläge und portionierte Zutaten. */
.recipe-head-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.recipe-head-actions .button{white-space:nowrap}.recipe-card-photo{display:block;width:calc(100% + 34px);height:130px;margin:-17px -17px 4px;object-fit:cover;border-radius:13px 13px 0 0}.recipe-detail-photo{display:block;width:100%;max-height:240px;object-fit:cover;border-radius:12px;margin-bottom:14px}.recipe-detail-facts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.recipe-detail-facts span{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:6px 10px;font-size:.8rem}.recipe-portion-picker{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:12px;margin:18px 0 8px;font-weight:650}.recipe-portion-picker input{width:90px;border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--ink);padding:9px}.recipe-steps{padding-left:24px}.recipe-steps li{margin:8px 0;white-space:pre-wrap}.recipe-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recipe-import-tabs{display:flex;gap:8px;margin:16px 0}.recipe-import-tabs button{border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font:inherit;font-weight:650;padding:9px 16px;cursor:pointer}.recipe-import-tabs button.active{background:var(--blue-light);border-color:var(--blue);color:var(--blue)}.recipe-import [hidden]{display:none!important}.recipe-import .recipe-consent{display:flex;align-items:flex-start;gap:10px}.recipe-import .recipe-consent input{width:auto;margin-top:4px}.recipe-review-warning{border:1px solid color-mix(in srgb,var(--primary) 55%,var(--line));background:color-mix(in srgb,var(--primary) 9%,var(--surface));border-radius:12px;padding:14px}.recipe-review-warning ul{padding-left:20px;margin:8px 0 0}.recipe-review-warning li{margin:4px 0}.recipe-import #recipe-import-status{color:var(--muted);font-size:.85rem;min-height:1.5em}@media(max-width:620px){.recipe-head-actions{width:100%;justify-content:stretch}.recipe-head-actions .button{flex:1}.recipe-facts{grid-template-columns:1fr}.recipe-card-photo{width:calc(100% + 34px)}}

.recipe-ai-tools{border:1px solid var(--line);border-radius:13px;background:var(--bg);padding:16px;display:grid;gap:12px}.recipe-ai-tools h3,.recipe-ai-tools p{margin:0}.recipe-ai-tools p,.recipe-ai-tools small{color:var(--muted)}.recipe-ai-consent,.recipe-photo-option{display:flex!important;align-items:flex-start;gap:9px}.recipe-ai-consent input,.recipe-photo-option input,.recipe-image-suggestion input{width:auto!important;flex:none}.recipe-photo-option small{display:block}.recipe-tool-actions{display:flex;flex-wrap:wrap;gap:8px}.recipe-ai-tools #recipe-tool-status{min-height:1.3em}.recipe-image-suggestion{display:grid;grid-template-columns:112px 1fr;gap:12px;align-items:center}.recipe-image-suggestion img{width:112px;height:90px;object-fit:cover;border-radius:8px}.recipe-image-suggestion strong,.recipe-image-suggestion small{display:block}.recipe-image-suggestion label{display:flex;gap:7px;align-items:flex-start;margin-top:8px}.recipe-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.recipe-image-grid button{border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:7px;text-align:left;cursor:pointer;min-width:0}.recipe-image-grid button[aria-pressed=true]{border-color:var(--blue)}.recipe-image-grid img{width:100%;height:120px;object-fit:cover;border-radius:6px}.recipe-image-grid strong,.recipe-image-grid small{display:block;overflow-wrap:anywhere}.recipe-calorie-box,.recipe-calorie-inline{border-left:3px solid var(--blue);background:var(--blue-light);padding:10px 12px;border-radius:7px}.recipe-calorie-box strong,.recipe-calorie-box small{display:block}.recipe-image-credit{font-size:.74rem;color:var(--muted);overflow-wrap:anywhere}.recipe-cook{min-height:330px;display:flex;flex-direction:column;gap:20px;padding:12px}.recipe-cook-progress{display:grid;gap:8px}.recipe-cook-progress>div{height:8px;background:var(--line);border-radius:99px;overflow:hidden}.recipe-cook-progress span{display:block;height:100%;background:var(--blue);transition:width .2s}.recipe-cook #cook-content{flex:1}.recipe-cook-instruction{font-size:clamp(1.25rem,4vw,2rem);font-weight:650;line-height:1.4;white-space:pre-wrap}.recipe-cook .modal-actions{justify-content:space-between}@media(max-width:620px){.recipe-image-grid{grid-template-columns:1fr}.recipe-image-suggestion{grid-template-columns:86px 1fr}.recipe-image-suggestion img{width:86px;height:86px}.recipe-tool-actions .button{width:100%}}

/* 1.13.9: Admin-Center als eigenständige, bildschirmfüllende Arbeitsoberfläche. */
.admin-app{min-height:100dvh;background:var(--surface)}
.admin-app #content{max-width:none;min-height:100dvh;margin:0;padding:0}
.admin-app #admin-root{min-height:100dvh;margin:0}
.admin-app .admin-loading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:32px;color:var(--muted)}
.admin-app .admin-loading a{color:var(--primary);font-weight:700}
.admin-app .admin-workspace{grid-template-columns:250px minmax(0,1fr);min-height:100dvh;overflow:visible;border:0;border-radius:0;box-shadow:none}
.admin-app .admin-rail{position:sticky;top:0;align-self:start;height:100dvh;max-height:100dvh;gap:19px;overflow-y:auto;overflow-x:hidden;padding:24px 15px 16px;border-radius:0}
.admin-app .admin-rail-brand{padding:0 11px 18px}
.admin-app .admin-rail-brand strong{font-size:.81rem}
.admin-app .admin-rail-link{min-height:41px;font-size:.86rem}
.admin-app .admin-rail-external{margin-top:5px;border-top:1px solid var(--admin-rail-line);border-radius:0;padding-top:14px;white-space:normal}
.admin-app .admin-workspace-main{min-height:100dvh;padding:0 30px 42px;border-radius:0;background:var(--surface)}
.admin-app .admin-workspace-toolbar{position:sticky;top:0;z-index:8;min-height:77px;margin:0 -30px 0;padding:15px 30px;border-radius:0;background:var(--surface);box-shadow:0 4px 13px #101c3208}
.admin-app .admin-workspace-toolbar h1{font-size:1.43rem}
.admin-app .admin-workspace-actions{display:flex;align-items:center;gap:12px}
.admin-app .admin-workspace-exit{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font-size:.81rem;font-weight:700;white-space:nowrap}
.admin-app .admin-workspace-exit:hover{border-color:var(--primary);color:var(--primary);background:var(--hover)}
.admin-app .admin-workspace-content{padding-top:22px}
.admin-app .admin-workspace-content .admin-back:not([data-admin-section="members"]){display:none}
.admin-app .admin-rail-link.is-active:hover{background:#a9400c;color:#fff}
.admin-app .admin-workspace-content .card{border-radius:6px}
.admin-app .admin-workspace-content .admin-intro{border-radius:6px}
.admin-app .admin-workspace-content .admin-panel p{font-size:.84rem}
.admin-app .admin-workspace-content .admin-tile strong{font-size:.88rem}
.admin-app .admin-workspace-content .admin-tile>span:not(.admin-tile-icon){font-size:.8rem}
.admin-app .admin-workspace-content .admin-tile small{font-size:.75rem}
@media(max-width:900px){
 .admin-app .admin-workspace{grid-template-columns:215px minmax(0,1fr)}
 .admin-app .admin-workspace-main{padding-left:20px;padding-right:20px}
 .admin-app .admin-workspace-toolbar{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}
}
@media(max-width:800px){
 .admin-app .admin-workspace{display:block}
 .admin-app .admin-rail{position:sticky;top:0;z-index:9;height:auto;max-height:none;overflow:visible;padding:10px 14px;border-radius:0}
 .admin-app .admin-rail nav{overflow-x:auto}
 .admin-app .admin-rail-external{margin:0;border:0;border-radius:7px;padding:7px 10px;white-space:nowrap}
 .admin-app .admin-workspace-main{min-height:calc(100dvh - 70px);border-radius:0}
 .admin-app .admin-workspace-toolbar{position:static;box-shadow:none}
}
@media(max-width:620px){
 .admin-app .admin-workspace-main{padding:0 14px 30px}
 .admin-app .admin-workspace-toolbar{align-items:flex-start;flex-direction:column;gap:9px;min-height:0;margin:0 -14px;padding:14px}
 .admin-app .admin-workspace-toolbar h1{font-size:1.27rem}
 .admin-app .admin-workspace-actions{width:100%;justify-content:space-between}
 .admin-app .admin-workspace-exit{min-height:36px}
 .admin-app .admin-workspace-content{padding-top:15px}
 .admin-app .admin-workspace-content .admin-tile>span:not(.admin-tile-icon){font-size:.75rem}
}
