:root{--ink:#1f302b;--muted:#718078;--green:#2e6957;--lime:#d9ecb8;--paper:#f4f6f1;--white:#fff;--line:#e7ebe4;--orange:#f3a66f;--shadow:0 16px 40px #20392c0b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.topbar{height:74px;padding:0 max(calc((100vw - 1120px)/2),32px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8ece5;background:#f8f9f6}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:800 19px Manrope,sans-serif;letter-spacing:-.7px}.brand-mark{display:grid;place-items:center;width:29px;height:29px;background:var(--green);color:#fff;border-radius:9px;font-size:20px}.topbar-right{display:flex;align-items:center;gap:17px}.local-badge{font-size:12px;color:#637168}.local-badge span{display:inline-block;width:7px;height:7px;background:#77a774;border-radius:50%;margin-right:6px}.avatar{border:0;background:#e6edda;color:var(--green);font-weight:700;border-radius:50%;width:35px;height:35px;font-size:14px}.shell{max-width:1120px;margin:auto;padding:53px 32px 28px}.welcome{display:flex;align-items:center;justify-content:space-between;min-height:250px;background:#e9efdf;border-radius:24px;padding:38px 60px;overflow:hidden;position:relative}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#718578;margin:0 0 12px}.welcome h1{font:800 39px/1.17 Manrope,sans-serif;letter-spacing:-1.7px;margin:0}.welcome h1 span{color:var(--green)}.intro{color:#68766c;font-size:14px;margin:13px 0 0}.welcome-art{position:relative;width:220px;height:190px;margin-right:45px}.sun{position:absolute;width:142px;height:142px;background:#d4e8ad;border-radius:50%;top:10px;right:10px}.book{position:absolute;bottom:14px;width:117px;height:142px;border-radius:5px 11px 11px 5px;transform:rotate(10deg);box-shadow:6px 8px 12px #42513e1c}.book-back{right:31px;background:#edaa75}.book-front{right:77px;background:#527b67;color:white;transform:rotate(-9deg);padding:22px 15px;font:700 15px/1.25 Manrope,sans-serif}.book-front i{font-size:26px;display:block;margin-top:14px;color:#d6e9b3}.sparkle{position:absolute;right:4px;top:30px;color:#d99261;font-size:26px}.dashboard{padding:42px 8px 20px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:23px}.section-heading h2{font:700 23px Manrope,sans-serif;letter-spacing:-.7px;margin:0}.section-heading .eyebrow{margin-bottom:6px}.primary-button,.secondary-button{border:0;border-radius:10px;padding:12px 17px;font:600 13px 'DM Sans',sans-serif;cursor:pointer;transition:transform .15s,background .15s}.primary-button{background:var(--green);color:#fff;box-shadow:0 5px 12px #2e69571c}.primary-button:hover{background:#245542;transform:translateY(-1px)}.primary-button span{margin-left:7px;font-size:17px;vertical-align:-1px}.secondary-button{background:#eff2ed;color:#4e5e54}.secondary-button:hover{background:#e4e9e1}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:16px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 18px;display:flex;align-items:center;gap:13px}.stat-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#eff4e7;font-size:16px;color:var(--green)}.stat strong{display:block;font:700 18px Manrope,sans-serif}.stat small{color:#7c8980;font-size:11px}.plans{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.plan-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 21px;box-shadow:var(--shadow)}.plan-top{display:flex;justify-content:space-between;align-items:flex-start}.subject-tag{font-size:10px;letter-spacing:.5px;font-weight:700;color:#527661;background:#edf3e8;border-radius:20px;padding:6px 10px}.delete-plan{border:0;background:none;color:#9aa39d;cursor:pointer;font-size:19px}.plan-card h3{font:700 17px Manrope,sans-serif;margin:14px 0 4px}.plan-meta{font-size:11px;color:#8a958e}.progress-line{height:7px;background:#edf0eb;border-radius:8px;margin:18px 0 8px;overflow:hidden}.progress-line span{height:100%;display:block;background:#8fb475;border-radius:8px;transition:width .25s}.progress-meta{display:flex;justify-content:space-between;color:#7f8c83;font-size:10px}.milestone-list{border-top:1px solid #edf0eb;margin-top:17px;padding-top:5px}.milestone{display:grid;grid-template-columns:22px 1fr auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #f0f2ef}.milestone:last-child{border-bottom:0}.milestone-check{width:20px;height:20px;border:1.5px solid #cdd6cb;background:#fff;border-radius:50%;cursor:pointer;color:#fff;font-size:11px;padding:0}.milestone.done .milestone-check{background:var(--green);border-color:var(--green)}.milestone-title{font-size:11px;font-weight:600}.milestone-date{display:block;font-size:10px;color:#89948d;margin-top:3px}.milestone-pages{font-size:10px;color:#7f8a83}.milestone-action{font-size:10px;border:0;background:#edf4e7;color:#42684f;border-radius:7px;padding:7px 9px;cursor:pointer}.milestone-action:hover{background:#e0edcf}.milestone-action:disabled{background:#f2f4f1;color:#8a958e;cursor:default}.empty-state{background:#fff;border:1px dashed #d8e0d5;border-radius:18px;text-align:center;padding:45px 24px;margin-top:4px}.empty-state.hidden,.hidden{display:none}.empty-icon{margin:auto auto 13px;width:46px;height:46px;display:grid;place-items:center;background:#edf3e8;color:var(--green);border-radius:14px;font-size:22px}.empty-state h3{font:700 17px Manrope,sans-serif;margin:0 0 7px}.empty-state p{max-width:410px;margin:0 auto 18px;color:#7c8980;font-size:12px;line-height:1.6}.empty-state .primary-button{font-size:12px}footer{display:flex;justify-content:space-between;border-top:1px solid #e4e9e2;padding:18px 8px 0;color:#89948d;font-size:10px;margin-top:27px}footer span{color:#718578}.dialog{border:0;border-radius:18px;padding:0;width:min(480px,calc(100% - 30px));box-shadow:0 24px 80px #1f302b3b;color:var(--ink)}.dialog::backdrop{background:#1f302b67;backdrop-filter:blur(3px)}.dialog form{padding:25px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.dialog-head h2{font:700 20px Manrope,sans-serif;letter-spacing:-.5px;margin:0}.dialog-head .eyebrow{margin-bottom:7px}.icon-button{border:0;background:#f1f3ef;color:#647168;border-radius:50%;width:30px;height:30px;font-size:20px;cursor:pointer}.dialog label{display:block;font-size:11px;font-weight:600;color:#536157;margin:14px 0}.dialog input,.dialog select{display:block;width:100%;margin-top:7px;border:1px solid #dfe5dd;border-radius:9px;background:#fff;padding:11px 12px;font:13px 'DM Sans',sans-serif;color:var(--ink);outline:none}.dialog input:focus,.dialog select:focus{border-color:#71947d;box-shadow:0 0 0 3px #73967c1c}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.plan-preview{background:#f1f5ed;color:#6f7d72;font-size:11px;line-height:1.5;padding:12px;border-radius:9px;margin-top:18px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.dialog-actions button{font-size:12px}.quiz-hint{font-size:12px;color:#77847b;line-height:1.5;margin:-8px 0 15px}.question{border-top:1px solid #edf0eb;padding:13px 0}.question strong{display:block;font-size:12px;margin-bottom:9px}.question label{display:flex;align-items:flex-start;gap:8px;font-weight:400;margin:8px 0;line-height:1.4}.question input{width:auto;margin:1px 0 0;accent-color:var(--green)}.quiz-result{background:#edf4e7;padding:13px;border-radius:10px;color:#3d6149;font-size:12px;line-height:1.5;margin-top:14px}@media(max-width:700px){.topbar{padding:0 20px}.shell{padding:24px 18px}.welcome{min-height:220px;padding:29px 25px}.welcome h1{font-size:31px}.welcome-art{transform:scale(.75);transform-origin:center right;margin:0 -33px 0 0}.stats{gap:8px}.stat{padding:11px;gap:8px}.stat-icon{width:29px;height:29px}.stat strong{font-size:16px}.stat small{font-size:9px}.plans{grid-template-columns:1fr}.section-heading h2{font-size:20px}.section-heading .primary-button{padding:10px 12px;font-size:11px}footer{gap:10px;line-height:1.4}footer span{text-align:right}}@media(max-width:430px){.welcome-art{display:none}.welcome{min-height:190px}.welcome h1{font-size:32px}.stat{display:block}.stat-icon{margin-bottom:7px}.stats{grid-template-columns:repeat(3,1fr)}}
/* Lernstand und flexible Etappentermine */
.checkin{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;padding:10px 11px;background:#f7f8f5;border-radius:10px}.checkin label{font-size:10px;color:#718078}.page-input{width:68px;margin-left:5px;padding:6px 7px;border:1px solid #dfe5dd;border-radius:7px;background:#fff;font:11px 'DM Sans',sans-serif;color:var(--ink)}.checkin .secondary-button{padding:7px 10px;font-size:10px}.milestone-date-label{display:flex;align-items:center;gap:5px;margin-top:5px;color:#89948d;font-size:9px}.date-input{width:117px;padding:4px 5px;border:1px solid #e5eae3;border-radius:6px;background:#fff;color:#718078;font:9px 'DM Sans',sans-serif}.milestone-summary{text-align:right;color:#8a958e;font-size:9px;margin-top:7px}@media(max-width:430px){.checkin{align-items:flex-start;flex-direction:column}.checkin .secondary-button{align-self:flex-end}.milestone{grid-template-columns:22px 1fr auto;gap:6px}.date-input{width:107px}}
/* Eigene Quizfragen pro Lernplan */
.plan-tools{display:flex;align-items:center;gap:10px}.questions-edit{border:0;background:#f1f5ed;color:#527661;border-radius:7px;padding:6px 9px;font:600 9px 'DM Sans',sans-serif;cursor:pointer}.questions-edit:hover{background:#e4edd9}.editor-dialog{width:min(620px,calc(100% - 30px))}.editor-dialog form{max-height:88vh;overflow:auto}.dialog textarea{display:block;width:100%;resize:vertical;margin-top:7px;border:1px solid #dfe5dd;border-radius:9px;background:#fff;padding:10px 11px;font:12px/1.5 'DM Sans',sans-serif;color:var(--ink);outline:none}.dialog textarea:focus{border-color:#71947d;box-shadow:0 0 0 3px #73967c1c}.question-edit-card{border:1px solid #e8ece5;border-radius:12px;padding:8px 14px 12px;margin:12px 0;background:#fcfdfa}.question-edit-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#536157}.remove-question{border:0;background:none;color:#a35c47;font:500 10px 'DM Sans',sans-serif;cursor:pointer}.question-edit-card label{margin:10px 0;font-size:10px}.add-question{font-size:11px!important;padding:8px 11px!important}@media(max-width:430px){.plan-tools{gap:5px}.questions-edit{padding:6px;font-size:8px}}
/* Datensicherung */
.heading-actions{display:flex;align-items:center;gap:8px}.heading-actions .secondary-button{padding:10px 12px;font-size:11px}.heading-actions .primary-button{white-space:nowrap}@media(max-width:700px){.section-heading{gap:10px}.heading-actions{justify-content:flex-end;flex-wrap:wrap;gap:6px}.heading-actions .secondary-button{padding:8px 9px;font-size:10px}.heading-actions .primary-button{padding:9px 10px;font-size:10px}}
/* Konten und Klassenräume */
.auth-error{padding:10px 12px;background:#fbefeb;border-radius:8px;color:#9a503a;font-size:11px;line-height:1.4}.classroom-section{padding:42px 8px 20px;border-top:1px solid #e4e9e2;margin-top:15px}.class-form{display:flex;align-items:end;gap:10px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:13px;margin:10px 0 14px}.class-form label{flex:1;display:block;color:#536157;font-size:10px;font-weight:600}.class-form input,.class-form select,.class-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #dfe5dd;border-radius:8px;background:#fff;padding:9px 10px;font:12px 'DM Sans',sans-serif;color:var(--ink)}.class-form .primary-button,.class-form .secondary-button{white-space:nowrap;font-size:11px;padding:10px 13px}.class-list{display:flex;gap:9px;flex-wrap:wrap}.class-chip{border:1px solid #e1e7dc;background:#fff;border-radius:10px;padding:10px 13px;text-align:left;cursor:pointer;color:var(--ink)}.class-chip:hover{border-color:#99b58a;background:#fbfcf9}.class-chip strong,.class-chip span{display:block}.class-chip strong{font-size:11px}.class-chip span{font-size:9px;color:#7f8c83;margin-top:3px}.class-empty{font-size:11px;color:#89948d}.class-detail-heading{display:flex;align-items:center;justify-content:space-between;margin:24px 0 12px}.class-detail-heading h2{font:700 19px Manrope,sans-serif;margin:0}.class-code{font-weight:700;color:#2e6957;background:#eaf2e4;border-radius:9px;padding:10px 13px;font-size:13px;letter-spacing:1px}.class-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:11px 0}.class-panel h3,.resource-form h3{font:700 13px Manrope,sans-serif;margin:0 0 12px}.class-panel p{font-size:11px;color:#89948d}.learner-row,.resource-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #eff1ee;font-size:10px}.learner-row span:first-child{color:#6d7c70;font-weight:600;min-width:90px}.learner-row span:last-child{text-align:right}.class-summary{display:flex;align-items:center;gap:12px}.class-summary strong{font:800 25px Manrope,sans-serif;color:var(--green)}.class-summary span,.class-summary small{font-size:10px;color:#718078}.class-summary small{margin-left:auto}.resource-row>div{display:flex;flex-direction:column;gap:4px}.resource-row strong{font-size:11px}.resource-row span,.resource-row a{font-size:9px;color:#7b8980}.resource-row a{color:#416b56;text-decoration:none}.like-button{border:0;border-radius:8px;padding:6px 9px;background:#f3f4f1;color:#78857c;cursor:pointer;font-size:10px}.like-button.liked{background:#f9e9e5;color:#be684f}.resource-form{display:block}.resource-form .form-row{display:grid;grid-template-columns:1fr 2fr;gap:10px}.sample-question-tools{display:flex;align-items:center;gap:8px;padding:11px;background:#f1f5ed;border-radius:10px}.sample-question-tools select{flex:1;padding:8px;border:1px solid #dfe5dd;border-radius:7px;background:#fff;color:var(--ink);font-size:10px}.sample-question-tools button{font-size:10px!important;padding:8px 10px!important}@media(max-width:700px){.classroom-section{padding:28px 0}.class-form{align-items:stretch;flex-direction:column}.class-form .primary-button,.class-form .secondary-button{align-self:flex-end}.class-summary{flex-wrap:wrap}.class-summary small{margin-left:0;width:100%}.learner-row{align-items:flex-start}.learner-row span:last-child{max-width:60%}.sample-question-tools{align-items:stretch;flex-direction:column}.class-detail-heading{gap:8px}}@media(max-width:430px){.heading-actions{max-width:70%}.class-code{font-size:10px;padding:8px}.resource-form .form-row{grid-template-columns:1fr}}
.edit-milestones{margin-top:10px;padding:7px 10px;font-size:10px}.milestone-range{margin:0 -2px}.milestone-range label{font-size:10px!important}.class-panel .shared-plan-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #eff1ee}.shared-plan-row>div{display:flex;flex-direction:column;gap:4px}.shared-plan-row strong{font-size:11px}.shared-plan-row span,.class-form small{font-size:9px;color:#7f8c83}.shared-plan-row .secondary-button{font-size:10px;padding:8px 10px;white-space:nowrap}.class-form.resource-form{display:block}.class-form.resource-form h3{margin-bottom:12px}@media(max-width:700px){.shared-plan-row{align-items:flex-start!important;flex-direction:column}.milestone-range{grid-template-columns:1fr 1fr}}
.student-views{margin:5px 0 28px}.view-heading h2,.calendar-heading h2{font:700 18px Manrope,sans-serif;margin:0}.kanban-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 20px}.kanban-column,.calendar-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.kanban-column h3{display:flex;justify-content:space-between;align-items:center;font:700 12px Manrope,sans-serif;margin:0 0 10px}.kanban-column h3 span{background:#eef2eb;border-radius:12px;padding:3px 7px;font:600 10px 'DM Sans',sans-serif;color:var(--muted)}.kanban-column>p{color:#89948d;font-size:10px}.kanban-card{display:flex;flex-direction:column;gap:5px;padding:10px;margin:7px 0;background:#f7f9f5;border:1px solid #edf0eb;border-radius:9px}.kanban-card strong{font-size:10px}.kanban-card span,.kanban-card small{font-size:9px;color:var(--muted)}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-heading>div:last-child{display:flex;align-items:center;gap:10px}.calendar-heading button{padding:5px 10px;font-size:16px}.calendar-heading strong{font-size:11px;min-width:105px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday{text-align:center;padding:5px;color:#7f8c83;font-size:9px;font-weight:700}.calendar-day{min-height:70px;padding:5px;background:#fafbf9;border-radius:6px;overflow:hidden}.calendar-day.today{outline:2px solid #8fb475}.calendar-day>strong{display:block;font-size:10px;margin-bottom:4px}.calendar-day.empty{background:transparent}.calendar-event{display:block;margin:2px 0;padding:3px 4px;border-radius:4px;background:#edf4e7;color:#42684f;font-size:8px;line-height:1.2;overflow-wrap:anywhere}.calendar-event.exam{background:#fff0e5;color:#995a32}.calendar-event.done{background:#edf0eb;color:#68766c}.class-heading-actions{display:flex;align-items:center;gap:8px}.class-heading-actions form{display:flex;gap:5px}.class-heading-actions input{width:140px;border:1px solid #dfe5dd;border-radius:8px;padding:8px;font:11px 'DM Sans',sans-serif}.class-heading-actions button{font-size:10px;padding:8px}.chart-heading{display:flex;justify-content:space-between;align-items:center}.chart-heading h3{margin:0}.chart-heading label{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--muted)}.chart-heading select{border:1px solid #dfe5dd;border-radius:7px;padding:6px;background:white;color:var(--ink);font-size:10px}.chart-bar-row{display:grid;grid-template-columns:minmax(70px,1fr) 3fr 35px;gap:9px;align-items:center;padding:9px 0;font-size:10px}.chart-bar-row>div{height:10px;background:#edf0eb;border-radius:7px;overflow:hidden}.chart-bar-row i{display:block;height:100%;background:#8fb475;border-radius:7px}.chart-bar-row strong{text-align:right}.progress-ring{width:108px;height:108px;margin:15px auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) var(--progress),#edf0eb 0);position:relative}.progress-ring::before{content:"";position:absolute;inset:10px;background:white;border-radius:50%}.progress-ring strong{position:relative;font:700 20px Manrope,sans-serif}.ring-caption{text-align:center;font-size:10px;color:var(--muted)}@media(max-width:700px){.kanban-board{grid-template-columns:1fr}.calendar-day{min-height:56px;padding:3px}.calendar-event{font-size:7px}.class-detail-heading{align-items:flex-start}.class-heading-actions{flex-direction:column;align-items:flex-end}.class-heading-actions input{width:115px}}
