:root{--ink:#2a2c4b;--muted:#70738c;--paper:#fffdf8;--cream:#fff8e8;--sky:#eaf8ff;--purple:#6554d9;--purple-dark:#4336aa;--blue:#5f8ff7;--yellow:#ffd76a;--mint:#84dcb0;--pink:#f5a5c6;--orange:#ffb665;--line:#e8e5ef;--shadow:0 14px 34px rgba(69,63,107,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(180deg,#eef9ff 0,#fffaf0 100%);min-height:100vh}a{color:var(--purple)}button,input,select{font:inherit}button{border:0;border-radius:14px;padding:13px 17px;font-weight:900;background:var(--purple);color:#fff;cursor:pointer;box-shadow:0 5px 0 var(--purple-dark)}button:active{transform:translateY(2px);box-shadow:0 3px 0 var(--purple-dark)}button.small-btn{padding:8px 11px;border-radius:10px;font-size:.82rem;box-shadow:0 3px 0 var(--purple-dark)}button.link-btn{background:transparent;color:var(--purple);box-shadow:none;padding:4px;font-size:.85rem}button.link-btn.danger{color:#b54b63}form{display:grid;gap:16px}label{display:grid;gap:7px;font-weight:800;font-size:.94rem}label small{font-weight:600;color:var(--muted)}input,select{width:100%;border:2px solid #dedce8;border-radius:13px;padding:11px 12px;background:#fff;color:var(--ink)}input:focus,select:focus{outline:3px solid rgba(101,84,217,.14);border-color:var(--purple)}.eyebrow{margin:0 0 5px;font-weight:950;letter-spacing:.14em;color:var(--purple);font-size:.7rem}.alert{padding:12px 14px;border-radius:13px;margin:0 0 18px;font-weight:700}.error{background:#fff0f3;color:#9d3651}.success{background:#eafaf0;color:#287047}.info{background:#eef4ff}.muted{color:var(--muted)}.empty{padding:28px;border:2px dashed #ddd9e8;border-radius:16px;color:var(--muted);text-align:center}.status{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:900}.status.on{background:#e9f9ef;color:#277248}.status.off{background:#f3f1f5;color:#7d7789}.count-chip{background:#f1edff;color:var(--purple);font-weight:900;padding:6px 10px;border-radius:999px}.pixel-tag{display:inline-block;background:var(--yellow);border:2px solid #e6b94a;box-shadow:3px 3px 0 #c99a30;padding:4px 8px;font-weight:950;font-size:.72rem;letter-spacing:.08em;border-radius:4px}.shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;max-width:1100px;margin:auto;padding:48px 24px}.hero{padding:30px}.hero h1,.single h1,.welcome h1{font-size:clamp(2.2rem,5vw,4.6rem);line-height:1.02;margin:.2em 0}.lead{font-size:1.2rem;max-width:600px}.pixel-sun{font-size:5rem}.card{background:rgba(255,255,255,.95);border:3px solid #fff;border-radius:26px;padding:32px;box-shadow:var(--shadow)}.login-card{max-width:430px;width:100%}.card h2{font-size:2rem;margin-top:0}.single{max-width:560px;margin:auto;padding:48px 20px}.single h1{font-size:2.5rem}.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px max(20px,calc((100vw - 1100px)/2));background:#fff;border-bottom:1px solid var(--line)}.logout{text-decoration:none;font-weight:800}.dashboard{max-width:1100px;margin:auto;padding:50px 24px}.welcome{background:#fff;border-radius:28px;padding:36px;box-shadow:var(--shadow)}
/* Admin */
.admin-body{background:#f8f6ef}.admin-shell{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}.admin-sidebar{position:sticky;top:0;height:100vh;padding:20px 14px;background:#5746c8;color:#fff;display:flex;flex-direction:column;box-shadow:8px 0 0 rgba(67,54,170,.08);z-index:5}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;padding:8px 8px 24px;font-weight:950}.brand small{display:block;color:#dcd7ff;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;margin-top:2px}.brand-mark{display:grid;place-items:center;width:39px;height:39px;background:var(--yellow);color:#513f99;border:3px solid #f4bf36;box-shadow:4px 4px 0 #3e3197;border-radius:7px;font-size:1.15rem}.admin-nav{display:grid;gap:6px}.admin-nav a{color:#ebe8ff;text-decoration:none;display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:11px;font-weight:800}.admin-nav a span{width:22px;text-align:center}.admin-nav a:hover,.admin-nav a.active{background:#fff;color:#4e3eb4;box-shadow:0 5px 0 #3f329f}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.2);padding:16px 8px 2px;display:grid;gap:12px}.sidebar-footer>a{color:#fff;text-decoration:none;font-weight:800;font-size:.9rem}.mini-user{display:flex;gap:9px;align-items:center}.mini-user span:last-child{display:grid}.mini-user small{color:#dcd7ff}.mini-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#ffcf67;color:#5e46a7;font-weight:950;box-shadow:3px 3px 0 #3d3293}.admin-main{min-width:0}.admin-topbar{height:102px;background:#fffdf8;border-bottom:2px solid #ece7d9;padding:18px 34px;display:flex;justify-content:space-between;align-items:center}.admin-topbar h1{font-size:1.8rem;margin:0}.topbar-pixel{width:68px;height:68px;object-fit:contain;image-rendering:pixelated}.admin-content{padding:28px 34px 54px;max-width:1500px}.admin-hero{min-height:200px;background:linear-gradient(135deg,#fff7c8,#f5e8ff);border:3px solid #fff;border-radius:24px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;overflow:hidden;padding:28px 34px;margin-bottom:22px;position:relative}.admin-hero:after{content:"";position:absolute;inset:auto 0 0;height:12px;background:repeating-linear-gradient(90deg,#8ac96e 0 18px,#74b85b 18px 36px)}.admin-hero h2{font-size:2.1rem;margin:10px 0 8px}.admin-hero p{max-width:650px;color:#64627b;font-size:1.03rem}.admin-hero img{width:165px;height:165px;object-fit:contain;image-rendering:pixelated;align-self:flex-end;margin-bottom:-18px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.stat-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:18px;display:flex;align-items:center;gap:13px;border:2px solid #fff}.stat-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:12px;font-weight:950;font-size:1.25rem}.stat-icon.purple{background:#eee9ff;color:#5b47cf}.stat-icon.green{background:#e4f8ea;color:#31835a}.stat-icon.blue{background:#e9f1ff;color:#4d79d0}.stat-icon.orange{background:#fff1dd;color:#bf7430}.stat-card div{display:grid}.stat-card strong{font-size:1.65rem;line-height:1}.stat-card span:last-child{color:var(--muted);font-size:.83rem;margin-top:5px}.content-grid{display:grid;gap:20px;align-items:start}.content-grid.two-thirds{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.panel{background:#fff;border:2px solid #fff;border-radius:20px;padding:22px;box-shadow:var(--shadow);min-width:0}.sticky-panel{position:sticky;top:20px}.panel h2{margin:4px 0 18px;font-size:1.35rem}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel-head h2{margin:4px 0 0}.panel-head>a{font-size:.84rem;font-weight:900;text-decoration:none}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.quick-card{text-decoration:none;color:var(--ink);border:2px solid #ebe8f2;border-radius:16px;padding:16px;display:grid;gap:5px;background:#fffdf9}.quick-card:hover{transform:translateY(-2px);box-shadow:0 8px 0 #eee8d9}.quick-card>span{font-size:1.5rem}.quick-card small{color:var(--muted)}.activity-list{display:grid}.activity-list>div{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:start;padding:10px 0;border-bottom:1px solid #eeeaf3}.activity-list>div:last-child{border-bottom:0}.activity-list p{margin:0}.activity-list time{font-size:.72rem;color:var(--muted)}.activity-dot{width:8px;height:8px;border-radius:2px;background:var(--pink);margin-top:5px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;color:#6d6980;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;padding:10px;border-bottom:2px solid #eae6ef}td{padding:11px 10px;border-bottom:1px solid #efecf2;vertical-align:middle}td small{color:var(--muted)}code{font-size:.78rem;background:#f4f1fa;padding:3px 5px;border-radius:5px}.details-cell{max-width:360px;white-space:normal;word-break:break-word}.inline-edit{display:grid;grid-template-columns:minmax(100px,1fr) auto;gap:7px;align-items:center}.inline-edit input{padding:7px 9px}.person-list{display:grid;gap:10px}.person-row{display:grid;grid-template-columns:44px minmax(130px,1fr) auto auto;gap:11px;align-items:center;padding:12px;border:2px solid #ece9f2;border-radius:15px}.person-avatar{width:42px;height:42px;display:grid;place-items:center;background:#ffe0ed;color:#9b4772;border-radius:10px;font-weight:950;box-shadow:3px 3px 0 #dfb8c8}.person-avatar.teacher{background:#e7edff;color:#4e65b9;box-shadow:3px 3px 0 #bac8eb}.person-main{display:grid}.person-main small{color:var(--muted);margin-top:3px}.person-row details{position:relative}.person-row summary{cursor:pointer;font-weight:900;color:var(--purple);font-size:.84rem}.manage-box{position:absolute;right:0;top:28px;width:330px;background:#fff;border:2px solid #ded9eb;border-radius:14px;padding:14px;box-shadow:0 16px 35px rgba(60,48,100,.18);z-index:4;display:grid;gap:13px}.compact-form{gap:8px}.compact-form label{font-size:.8rem}.teacher-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.teacher-tabs a{padding:9px 11px;border-radius:11px;background:#f3f0f8;text-decoration:none;color:var(--ink);font-weight:900;display:grid}.teacher-tabs a small{font-weight:600;color:var(--muted)}.teacher-tabs a.active{background:#5c49cc;color:#fff;box-shadow:0 4px 0 #4234a0}.teacher-tabs a.active small{color:#e7e3ff}.permission-form fieldset{border:2px solid #eae6ef;border-radius:15px;padding:16px;margin:0}.permission-form legend{padding:0 6px;font-weight:950}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:12px}.check-card{display:flex;align-items:center;gap:9px;border:2px solid #ebe8f0;border-radius:12px;padding:10px;background:#fff}.check-card input{width:18px;height:18px}.check-card span{display:grid}.check-card small{font-weight:600;color:var(--muted)}.role-note{background:linear-gradient(180deg,#fffdf5,#f5f0ff)}.role-item{padding:12px 0;border-bottom:1px dashed #dcd6e6}.role-item:last-child{border-bottom:0}.role-item p{margin:4px 0;color:var(--muted)}
@media(max-width:1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}.content-grid.two-thirds{grid-template-columns:1fr}.sticky-panel{position:static}.admin-hero img{width:130px;height:130px}.quick-grid{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.shell{grid-template-columns:1fr;gap:10px;padding-top:24px}.hero{padding:10px}.hero h1{font-size:2.7rem}.login-card{max-width:none}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;padding:10px}.brand{padding-bottom:10px}.admin-nav{grid-template-columns:repeat(3,1fr)}.admin-nav a{justify-content:center;font-size:.72rem;padding:9px 6px}.admin-nav a span{display:none}.sidebar-footer{display:none}.admin-topbar{height:84px;padding:14px 18px}.admin-topbar h1{font-size:1.45rem}.topbar-pixel{width:52px;height:52px}.admin-content{padding:18px}.admin-hero{padding:22px;min-height:170px}.admin-hero img{width:100px;height:100px}.admin-hero h2{font-size:1.7rem}.person-row{grid-template-columns:42px 1fr auto}.person-row>.status{display:none}.person-row details{grid-column:2/4}.manage-box{position:static;width:auto;margin-top:8px}.check-grid{grid-template-columns:1fr}}
@media(max-width:520px){.admin-nav{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.admin-hero img{display:none}.inline-edit{grid-template-columns:1fr}.person-row{grid-template-columns:42px 1fr}.person-row details{grid-column:1/3}.panel{padding:16px}.admin-content{padding:14px}.table-wrap{margin:0 -6px}.admin-topbar{padding:12px 14px}}

/* Lehrpersonenbereich */
textarea{width:100%;border:2px solid #dedce8;border-radius:13px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit;resize:vertical}textarea:focus{outline:3px solid rgba(101,84,217,.14);border-color:var(--purple)}
.teacher-sidebar{background:linear-gradient(180deg,#4c55c7 0%,#6650c9 55%,#7150b9 100%)}.teacher-sidebar .brand-mark{background:#9ee6b8;border-color:#6dca91;color:#37428f}.teacher-coming-soon{margin:18px 7px 0;padding:13px;border:2px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.1);display:grid;gap:5px}.teacher-coming-soon small{color:#e6e5ff;line-height:1.35}.teacher-topbar{background:#fffdf7}.teacher-top-icon{display:grid;place-items:center;width:55px;height:55px;border-radius:12px;background:#ffe17f;border:3px solid #efbe47;box-shadow:5px 5px 0 #e3d2ab;font-size:1.7rem}.teacher-hero{background:linear-gradient(135deg,#e8fbff,#fff1c8 60%,#f6e9ff)}.teacher-hero:after{background:repeating-linear-gradient(90deg,#77c76b 0 18px,#5cab57 18px 36px)}.teacher-hero-scene{width:220px;height:135px;position:relative;display:flex;align-items:flex-end;justify-content:center;gap:12px;font-size:2.8rem}.teacher-hero-scene span:first-child{position:absolute;top:2px;left:7px;color:#fff;text-shadow:3px 3px 0 #cbe3ed}.teacher-hero-scene span:nth-child(2){display:grid;place-items:center;width:82px;height:82px;background:#ffdd73;border:5px solid #e4b749;box-shadow:8px 8px 0 rgba(71,66,137,.18);border-radius:13px}.teacher-hero-scene span:last-child{color:#ffca4e}.pixel-button{display:inline-block;margin-top:8px;text-decoration:none;background:#5c4ccf;color:#fff;padding:12px 16px;border-radius:12px;font-weight:950;box-shadow:0 5px 0 #4135a0}.teacher-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.teacher-class-card{border:2px solid #e8e5ef;border-radius:16px;padding:16px;background:linear-gradient(180deg,#fff,#fffdf7);display:grid;gap:7px}.teacher-class-card>a{font-weight:900;text-decoration:none;font-size:.86rem;margin-top:4px}.teacher-class-card small{color:var(--muted)}.class-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.class-badge{display:inline-grid;place-items:center;min-width:52px;padding:7px 10px;background:#6554d9;color:#fff;border-radius:8px;box-shadow:3px 3px 0 #4336aa;font-weight:950}.lead-status{background:#fff2c4;color:#8d691b}.recent-assignment-list{display:grid;gap:9px}.recent-assignment-list>a{display:grid;gap:4px;text-decoration:none;color:var(--ink);padding:12px;border:2px solid #ece8f1;border-radius:13px}.recent-assignment-list>a:hover{border-color:#b9b0ee}.recent-assignment-list small{color:var(--muted)}.assignment-subject-chip,.class-mini-chip{display:inline-block;width:max-content;padding:4px 7px;border-radius:7px;background:#e9f4ff;color:#4468a9;font-size:.72rem;font-weight:950}.class-mini-chip{background:#fff0c9;color:#9a6d22;margin-left:6px}.assignment-card-list{display:grid;gap:12px}.assignment-card{border:2px solid #e9e5f0;border-radius:17px;padding:17px;background:#fff;display:grid;gap:9px}.assignment-card.assignment-inactive{opacity:.7;background:#faf9fb}.assignment-card-head,.assignment-actions,.edit-page-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.assignment-card h3{margin:2px 0 0;font-size:1.12rem}.assignment-card p{margin:0;color:var(--muted);line-height:1.4}.assignment-meta{display:flex;flex-wrap:wrap;gap:6px}.assignment-meta span{font-size:.75rem;background:#f4f1f8;padding:5px 8px;border-radius:999px;font-weight:800}.assignment-actions{border-top:1px dashed #e2ddeb;padding-top:9px}.assignment-actions form{display:block}.small-link-button{text-decoration:none;font-size:.83rem;font-weight:950;background:#eee9ff;padding:8px 10px;border-radius:9px}.assignment-page-grid{grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr)}.assignment-form{gap:14px}.form-two,.coin-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}.task-builder-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:4px}.task-builder-head>div{display:grid}.task-builder-head small{color:var(--muted);margin-top:3px}.secondary-button{background:#fff;color:var(--purple);border:2px solid #bfb8ed;box-shadow:0 3px 0 #d9d4ef}.task-builder{display:grid;gap:12px}.task-editor{display:grid;gap:10px;border:2px solid #ddd8ec;border-radius:15px;padding:13px;background:linear-gradient(180deg,#fdfcff,#fffaf0)}.task-editor-head{display:flex;align-items:center;justify-content:space-between}.remove-task{background:#fff1f3;color:#a44c60;box-shadow:none;border-radius:8px;padding:4px 9px;font-size:1.2rem}.assignment-edit-panel{max-width:980px}.wide-form{max-width:850px}.edit-page-head{max-width:980px;margin-bottom:14px}.edit-page-head>a{text-decoration:none;font-weight:900}.coin-fields label{background:#fff8da;border:1px solid #f0dc8f;border-radius:11px;padding:9px}.coin-fields label[hidden]{display:none}.coin-fields label:before{content:'◉';margin-right:5px;color:#c78a17}.teacher-content .count-chip{white-space:nowrap}
@media(max-width:1050px){.assignment-page-grid{grid-template-columns:1fr}.teacher-class-grid{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.teacher-stats{grid-template-columns:1fr 1fr}.teacher-hero-scene{display:none}.teacher-coming-soon{display:none}.form-two,.coin-fields{grid-template-columns:1fr}}
@media(max-width:520px){.teacher-stats,.teacher-class-grid{grid-template-columns:1fr}.assignment-card-head,.assignment-actions,.edit-page-head,.task-builder-head{align-items:flex-start;flex-direction:column}.assignment-actions{align-items:stretch}.assignment-actions form{width:100%}.assignment-actions button{width:100%;text-align:left}.assignment-page-grid{display:block}.assignment-page-grid>.panel+ .panel{margin-top:16px}}

/* Schritt 6: Schüler*innenbereich & Lehrpersonenkontrollen */
.alert.info{background:#eef6ff;border-color:#b9d5ef;color:#335d7e}.secondary-pixel-button{background:#fff;color:#5143be;border:2px solid #b7afea;box-shadow:0 5px 0 #d8d3ee;margin-left:8px}.task-lock-fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:12px}.task-lock-fieldset:disabled{opacity:.72}.task-lock-fieldset:disabled input,.task-lock-fieldset:disabled textarea,.task-lock-fieldset:disabled select,.task-lock-fieldset:disabled button{cursor:not-allowed}
.student-body{margin:0;background:#f7f6fb;color:var(--ink)}.student-shell{min-height:100vh;display:grid;grid-template-columns:235px minmax(0,1fr)}.student-sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;background:linear-gradient(180deg,#6552cf,#7b55bf 58%,#9359ad);color:#fff;display:flex;flex-direction:column}.student-sidebar .brand{color:#fff}.student-sidebar .brand small{color:#ece8ff}.student-sidebar .brand-mark{background:#ffe17a;border-color:#e4b84d;color:#5544a6}.student-nav{display:grid;gap:7px;margin-top:16px}.student-nav a{display:flex;align-items:center;gap:10px;color:#f7f4ff;text-decoration:none;font-weight:900;padding:11px 12px;border-radius:11px}.student-nav a span{width:25px;text-align:center;font-size:1.2rem}.student-nav a:hover,.student-nav a.active{background:rgba(255,255,255,.17)}.student-nav a.active{box-shadow:inset 4px 0 0 #ffe17a}.student-coin-box{margin:22px 5px;padding:13px;border:2px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.12);display:flex;align-items:center;gap:10px}.student-coin-box>div{display:grid}.student-coin-box small{color:#eeeaff}.coin-dot{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffcf43;border:4px solid #f0a91c;box-shadow:inset 0 0 0 3px #ffe77c,3px 3px 0 rgba(63,40,100,.22);color:#fff1a9;font-size:.5rem;flex:0 0 auto}.student-sidebar-footer{margin-top:auto}.student-mini-avatar{background:#ffe17a!important;color:#6045aa!important}.student-main{min-width:0}.student-topbar{height:92px;background:#fffdf7;border-bottom:1px solid #ece7f0;padding:15px 30px;display:flex;align-items:center;justify-content:space-between}.student-topbar h1{margin:2px 0 0;font-size:1.6rem}.student-top-balance{display:flex;align-items:center;gap:8px;background:#fff7d2;border:2px solid #edd889;border-radius:14px;padding:8px 12px}.student-top-balance strong{font-size:1.2rem}.student-top-balance>span:last-child{font-weight:850;color:#876b24;font-size:.78rem}.student-content{padding:28px;max-width:1320px}.student-hero{min-height:210px;border:3px solid #e2dcf0;border-radius:22px;padding:28px 32px;background:linear-gradient(135deg,#e8fbff,#fff0c8 56%,#f5e8ff);display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;overflow:hidden;box-shadow:0 8px 0 #e8e3ef}.student-hero:after{content:'';position:absolute;left:0;right:0;bottom:0;height:18px;background:repeating-linear-gradient(90deg,#6fbd5d 0 18px,#58a84d 18px 36px)}.student-hero h2{font-size:2rem;margin:7px 0}.student-hero p{max-width:720px;color:#5e5970;line-height:1.5}.student-hero-coins{width:155px;height:145px;border-radius:20px;background:#fff9d8;border:4px solid #efd46d;box-shadow:8px 8px 0 rgba(83,63,137,.13);display:grid;place-items:center;align-content:center;position:relative}.student-hero-coins>span{position:absolute;right:12px;top:8px;color:#f3be35;font-size:1.5rem}.student-hero-coins strong{font-size:2.7rem;color:#5a49bc}.student-hero-coins small{font-weight:950;color:#9a7624;letter-spacing:.1em}.student-dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:20px}.student-panel{min-height:280px}.student-assignment-preview{display:grid;gap:9px}.student-assignment-preview>a{display:flex;align-items:center;justify-content:space-between;gap:14px;text-decoration:none;color:var(--ink);border:2px solid #ece8f2;border-radius:14px;padding:13px}.student-assignment-preview>a>div{display:grid;gap:4px}.student-assignment-preview small{color:var(--muted)}.coin-history-list{display:grid;gap:10px}.coin-history-row{display:flex;align-items:center;gap:11px;padding-bottom:10px;border-bottom:1px dashed #e2dde8}.coin-history-row>div{display:grid}.coin-history-row small{color:var(--muted);margin-top:3px}.coin-history-amount{min-width:49px;text-align:center;font-weight:950;padding:7px;border-radius:10px}.coin-history-amount.plus{background:#e7f7e9;color:#347b45}.coin-history-amount.minus{background:#ffe9ed;color:#a84d60}.student-empty-success{padding:18px;border-radius:14px;background:#ecf9ee;color:#397547;font-weight:850}.student-page-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px;padding:20px 23px;border-radius:18px;background:linear-gradient(135deg,#fff,#fff8d9)}.student-page-head h2{margin:4px 0;font-size:1.8rem}.student-page-head p{margin:0;max-width:770px;color:var(--muted);line-height:1.45}.student-page-coin{display:flex;align-items:center;gap:9px;white-space:nowrap;background:#fff;border:2px solid #eed989;padding:10px 13px;border-radius:13px}.student-assignment-list{display:grid;gap:18px}.student-assignment-block{padding:20px}.student-assignment-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:2px dashed #e8e3ed;padding-bottom:15px}.student-assignment-header h3{margin:8px 0 5px;font-size:1.35rem}.student-assignment-header p{margin:0;color:var(--muted);line-height:1.45}.assignment-progress-circle{width:72px;height:72px;border-radius:50%;background:#eeeaff;border:5px solid #d4ccf2;display:grid;place-items:center;align-content:center;flex:0 0 auto}.assignment-progress-circle strong{font-size:1.05rem}.assignment-progress-circle small{font-size:.7rem;color:var(--muted)}.student-task-list{display:grid;gap:11px;margin-top:15px}.student-task-card{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:14px;border:2px solid #ebe7ef;border-radius:15px;background:#fff}.student-task-card.task-complete{background:#f4fbf3;border-color:#cbe8ca}.student-task-number{width:39px;height:39px;border-radius:10px;background:#6653d0;color:#fff;box-shadow:3px 3px 0 #493ba7;display:grid;place-items:center;font-weight:950}.student-task-main{display:grid;gap:8px}.student-task-main p{margin:0;color:var(--muted);line-height:1.4}.student-task-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.done-chip{background:#dff4e2;color:#337443;border-radius:999px;padding:4px 8px;font-size:.75rem}.task-reward-row{display:flex;flex-wrap:wrap;gap:7px}.reward-chip{padding:6px 8px;border-radius:8px;background:#fff4c9;color:#87671b;font-size:.75rem;font-weight:900}.reward-chip.teacher{background:#e9eeff;color:#4b61a7}.reward-chip.done{background:#e4f5e6;color:#397649}.self-check-form{display:block;margin-top:2px}.self-check-form button{width:auto;background:#5f50ca;box-shadow:0 4px 0 #4337a1}.waiting-teacher{width:max-content;max-width:100%;padding:7px 9px;border-radius:9px;background:#eef2ff;color:#4b5d9a;font-weight:850;font-size:.8rem}.review-head-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff,#eef6ff)}.review-head-panel h2{margin:4px 0}.review-head-panel p{margin:0;color:var(--muted)}.review-count{display:grid;place-items:center;width:70px;height:70px;border-radius:16px;background:#6553d0;color:#fff;box-shadow:5px 5px 0 #d6d0ed;font-size:1.7rem;font-weight:950}.review-tabs{margin-top:16px}.review-list{display:grid;gap:10px}.review-card{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(260px,1.3fr) auto;gap:16px;align-items:center;border:2px solid #ebe7ef;border-radius:15px;padding:14px}.review-student{display:flex;align-items:center;gap:10px}.review-student>div,.review-task{display:grid;gap:3px}.review-student small,.review-task small{color:var(--muted)}.review-task>span{color:#5e596c}.review-reward{display:grid;justify-items:end;gap:7px}.review-reward>span{font-weight:950;color:#92701d;background:#fff4c9;border-radius:8px;padding:6px 9px}.review-reward form{display:block}.review-reward button{padding:8px 10px;box-shadow:0 3px 0 #4136a1}
@media(max-width:980px){.student-dashboard-grid{grid-template-columns:1fr}.review-card{grid-template-columns:1fr 1fr}.review-reward{grid-column:1/3;justify-items:start;display:flex;align-items:center;justify-content:space-between;width:100%}}
@media(max-width:780px){.student-shell{grid-template-columns:1fr}.student-sidebar{position:static;height:auto;padding:10px}.student-sidebar .brand{padding-bottom:8px}.student-nav{grid-template-columns:1fr 1fr;margin-top:4px}.student-nav a{justify-content:center;font-size:.8rem}.student-coin-box{display:none}.student-sidebar-footer{display:none}.student-topbar{height:82px;padding:12px 16px}.student-content{padding:16px}.student-hero{padding:23px;min-height:180px}.student-hero-coins{display:none}.student-page-head{align-items:flex-start}.review-card{grid-template-columns:1fr}.review-reward{grid-column:auto}.secondary-pixel-button{margin-left:0;margin-top:8px}}
@media(max-width:520px){.student-top-balance>span:last-child{display:none}.student-topbar h1{font-size:1.3rem}.student-page-head,.student-assignment-header,.student-task-title{flex-direction:column;align-items:flex-start}.student-page-coin{align-self:flex-start}.student-task-card{grid-template-columns:34px 1fr;padding:11px}.student-task-number{width:32px;height:32px}.student-assignment-block{padding:15px}.review-reward{display:grid;justify-items:start}.review-reward button{width:100%}}

/* Schritt 7: Zusatz-Coins für alle Lehrpersonen + Original-Coin-Asset */
.coin-dot{background:transparent url('pixel/coin.png') center/contain no-repeat!important;border:0!important;box-shadow:none!important;border-radius:0!important;color:transparent!important;width:34px!important;height:34px!important;font-size:0!important}
.student-hero-coins:before{content:'';display:block;width:62px;height:62px;background:url('pixel/coin.png') center/contain no-repeat;margin-bottom:-4px}.student-hero-coins>span{display:none}
.coin-pixel-button{display:inline-flex;align-items:center;gap:7px;background:#f6c947;color:#4f3d19;border-color:#d6a820;box-shadow:0 5px 0 #c69516}.coin-pixel-button img,.coin-submit img{width:24px;height:24px;object-fit:contain;image-rendering:pixelated}.coin-award-head{display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(135deg,#fffdf4,#fff0b7)}.coin-award-head h2{margin:4px 0 8px}.coin-award-head p{margin:0;max-width:780px;color:var(--muted);line-height:1.5}.coin-award-hero-img{width:105px;height:105px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(6px 7px 0 rgba(130,91,16,.12))}.coin-admin-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:18px;margin-top:16px}.coin-student-list{display:grid;gap:12px}.coin-student-card{border:2px solid #ebe6ef;border-radius:16px;padding:14px;background:#fff;display:grid;grid-template-columns:minmax(150px,.55fr) auto minmax(360px,1.2fr);gap:14px;align-items:end}.coin-student-person{display:flex;align-items:center;gap:10px;align-self:center}.coin-student-person>div{display:grid;gap:3px}.coin-student-person small{color:var(--muted)}.coin-current-balance{display:flex;align-items:center;gap:5px;background:#fff7d2;border:2px solid #ecd170;border-radius:12px;padding:8px 10px;align-self:center}.coin-current-balance img{width:34px;height:34px;object-fit:contain;image-rendering:pixelated}.coin-current-balance strong{font-size:1.25rem}.coin-current-balance span{font-size:.72rem;font-weight:900;color:#8b6c21}.coin-award-form{display:grid;grid-template-columns:100px minmax(150px,1fr) auto;gap:9px;align-items:end}.coin-award-form label{display:grid;gap:5px}.coin-award-form label>span{font-size:.72rem;font-weight:900;color:#635d70}.coin-award-form input{width:100%;box-sizing:border-box;border:2px solid #ddd6e5;border-radius:9px;padding:9px 10px;font:inherit;background:#fff}.coin-award-form input:focus{outline:3px solid #e9e2ff;border-color:#7361d2}.coin-submit{display:flex!important;align-items:center;justify-content:center;gap:6px;padding:9px 11px!important;white-space:nowrap}.teacher-coin-history{grid-template-columns:auto auto 1fr}.tiny-coin-img{width:30px;height:30px;object-fit:contain;image-rendering:pixelated}.teacher-coin-history .coin-history-amount{min-width:43px}.reward-chip:before,.review-reward>span:before{content:'';display:inline-block;width:17px;height:17px;margin-right:4px;vertical-align:-4px;background:url('pixel/coin.png') center/contain no-repeat;image-rendering:pixelated}
@media(max-width:1100px){.coin-admin-grid{grid-template-columns:1fr}.coin-student-card{grid-template-columns:minmax(160px,.7fr) auto 1.3fr}.coin-award-form{grid-template-columns:90px 1fr}.coin-submit{grid-column:1/3}.coin-reason-field{min-width:0}}
@media(max-width:760px){.coin-award-head{align-items:flex-start}.coin-award-hero-img{width:75px;height:75px}.coin-student-card{grid-template-columns:1fr}.coin-current-balance{width:max-content}.coin-award-form{grid-template-columns:100px 1fr}.coin-submit{grid-column:1/3}.coin-pixel-button{margin-top:8px}}
@media(max-width:520px){.coin-award-hero-img{display:none}.coin-award-form{grid-template-columns:1fr}.coin-submit{grid-column:auto}.teacher-coin-history{grid-template-columns:auto auto 1fr}}

/* Schritt 8: Klassenführung – Klassenshop & Klassenziele + saubere Button-Reihe */
.teacher-hero-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:12px;margin-top:18px}.teacher-hero-actions .pixel-button{display:inline-flex!important;align-items:center!important;justify-content:center;min-height:54px;margin:0!important;line-height:1.15;text-decoration:none}.teacher-hero-actions .coin-pixel-button img{width:24px;height:24px;flex:0 0 24px;margin:0}.lead-pixel-button{background:#88dcae!important;border-color:#5fbd89!important;color:#234c38!important;box-shadow:0 5px 0 #4d9f72!important}.lead-feature-head{display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(135deg,#fff,#f4f0ff)}.lead-feature-head h2{margin:4px 0 8px}.lead-feature-head p{margin:0;max-width:780px;color:var(--muted);line-height:1.5}.lead-feature-coin{width:100px;height:100px;object-fit:contain;image-rendering:pixelated}.goal-feature-head{background:linear-gradient(135deg,#fffdf5,#eef9e9)}.goal-feature-star{font-size:5.3rem;line-height:1;color:#f4c947;text-shadow:5px 5px 0 #d59f23}.lead-manage-grid{display:grid;grid-template-columns:minmax(330px,.62fr) minmax(0,1.38fr);gap:18px;margin-top:18px;align-items:start}.lead-form textarea{width:100%;resize:vertical;border:2px solid #dedce8;border-radius:13px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit}.lead-form textarea:focus{outline:3px solid rgba(101,84,217,.14);border-color:var(--purple)}.lead-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.coin-save-button{display:flex!important;align-items:center;justify-content:center;gap:8px}.coin-save-button img{width:26px;height:26px;object-fit:contain;image-rendering:pixelated}.form-cancel-link{text-align:center;font-weight:850;text-decoration:none}.lead-item-list,.goal-list{display:grid;gap:12px}.lead-item-card,.goal-card{border:2px solid #ebe7ef;border-radius:16px;padding:15px;background:#fff;display:grid;gap:12px}.lead-item-card.is-inactive{opacity:.65;background:#f8f7f9}.lead-item-main{display:grid;gap:7px}.lead-item-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.lead-item-title strong{font-size:1.08rem}.lead-item-main p,.goal-card p{margin:0;color:var(--muted);line-height:1.45}.lead-item-meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:#6b6576;font-size:.82rem;font-weight:750}.mini-coin-value{display:inline-flex;align-items:center;gap:4px;color:#8b6817;font-weight:950}.mini-coin-value img{width:20px;height:20px;object-fit:contain;image-rendering:pixelated}.lead-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.lead-item-actions form{display:block}.small-outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:2px solid #d8d2e6;border-radius:9px;text-decoration:none;font-size:.82rem;font-weight:900;background:#fff;color:#5548ad}.soft-danger{background:#ffe9ed!important;color:#9d4054!important;box-shadow:0 3px 0 #e7bfc8!important}.soft-success{background:#e4f6e9!important;color:#337348!important;box-shadow:0 3px 0 #bcdcc6!important}.goal-card{gap:10px}.goal-card.status-closed{opacity:.72}.goal-card.status-reached{border-color:#e9cf68;background:#fffaf0}.goal-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.goal-card-head>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.goal-card-head strong{font-size:1.08rem}.goal-reward{padding:9px 11px;border-radius:10px;background:#f1edff;color:#54499d;font-size:.88rem}.goal-progress{display:grid;gap:5px}.goal-progress-bar{height:17px;border-radius:999px;background:#f0ead8;border:2px solid #e3d8b9;overflow:hidden}.goal-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,#f5c84a,#ffde72)}.goal-progress-values{display:flex;justify-content:space-between;gap:12px;font-size:.8rem;color:var(--muted)}.goal-progress-values strong{color:#6b581d}
@media(max-width:1000px){.lead-manage-grid{grid-template-columns:1fr}.teacher-hero-actions{align-items:stretch}.teacher-hero-actions .pixel-button{flex:1 1 220px}}
@media(max-width:650px){.lead-feature-coin,.goal-feature-star{display:none}.lead-form-row{grid-template-columns:1fr}.teacher-hero-actions{display:grid;grid-template-columns:1fr}.teacher-hero-actions .pixel-button{width:100%;min-height:52px}.goal-card-head{display:grid}.lead-item-actions{justify-content:flex-start}}

/* Step 9: Schüler-Shop, Klassenziele und echte Coin-Grafik */
.student-coin-icon,.student-top-coin{width:34px;height:34px;object-fit:contain;image-rendering:pixelated;flex:0 0 auto}
.student-top-coin{width:28px;height:28px}
.student-hero-coins img{width:92px;height:92px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 5px 0 rgba(114,73,0,.16))}
.student-hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}
.student-hero-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px}
.student-feature-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;overflow:hidden;position:relative}
.student-feature-head h2{margin:.2rem 0 .45rem}
.student-feature-head p{max-width:760px;margin:0}
.feature-coin-balance{display:flex;align-items:center;gap:8px;background:#fff8d9;border:2px solid #f0cf63;border-radius:18px;padding:12px 18px;white-space:nowrap;box-shadow:0 5px 0 rgba(185,145,30,.18)}
.feature-coin-balance img{width:46px;height:46px;object-fit:contain;image-rendering:pixelated}.feature-coin-balance strong{font-size:1.55rem}.feature-coin-balance span{font-weight:800;color:#695a2e}
.student-shop-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:18px;align-items:start}.student-shop-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.student-shop-card{display:flex;flex-direction:column;justify-content:space-between;min-height:240px}.student-shop-card-top{display:flex;gap:14px;align-items:flex-start}.student-shop-card h3{margin:0 0 7px;font-size:1.15rem}.student-shop-card p{margin:0;color:#5d5872;line-height:1.55}.shop-gift-pixel{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:#ffe784;border:2px solid #efc951;color:#8e6410;font-size:1.5rem;flex:0 0 auto}.student-shop-card-bottom{border-top:1px dashed #ded4ad;margin-top:18px;padding-top:15px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.shop-price{display:inline-flex;align-items:center;gap:6px;font-weight:900}.shop-price img{width:30px;height:30px;object-fit:contain;image-rendering:pixelated}.shop-stock{font-size:.86rem;font-weight:800;color:#716d7f;margin-right:auto}.shop-buy-button{min-height:42px;padding:8px 16px}.pixel-button:disabled,.shop-buy-button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.student-purchase-panel{position:sticky;top:18px}.purchase-history-list{display:flex;flex-direction:column;gap:10px}.purchase-history-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px;border:1px solid #e6e0c8;border-radius:12px;background:#fffdf6}.purchase-history-row strong,.purchase-history-row small{display:block}.purchase-history-row small{margin-top:3px;color:#777184;font-size:.78rem}.status-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:900;background:#efe9ff;color:#5943ae}.status-chip.redeemed{background:#ddf6df;color:#277239}.status-chip.cancelled{background:#ffe1e1;color:#a02e2e}
.student-goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.student-goal-card{position:relative;overflow:hidden}.student-goal-card.goal-reached{background:linear-gradient(145deg,#fffdf5,#effbe8)}.goal-card-title{display:flex;gap:13px;align-items:center}.goal-card-title h3{margin:5px 0 0}.goal-trophy{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;background:#ffd85a;border:2px solid #e5b735;color:#8d6110;font-size:1.6rem;box-shadow:0 4px 0 #d9b247}.goal-progress-label{display:flex;justify-content:space-between;margin-top:20px;font-size:.9rem}.goal-progress-bar{height:18px;background:#eee6cb;border:2px solid #d8ccaa;border-radius:999px;overflow:hidden;margin-top:7px}.goal-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,#7b5ce1,#a57ae9);border-radius:999px}.goal-reward{margin-top:14px;padding:11px 13px;border-radius:11px;background:#fff5bf;color:#635322}.goal-donate-form{display:flex;gap:10px;align-items:end;margin-top:16px;flex-wrap:wrap}.goal-donate-form label{font-weight:900;font-size:.82rem;flex:1;min-width:120px}.goal-donate-form input{display:block;width:100%;margin-top:6px}.goal-donate-form .pixel-button{display:inline-flex;align-items:center;gap:7px;min-height:46px}.goal-donate-form .pixel-button img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated}.goal-reached-message{margin-top:16px;background:#dff4d8;color:#287236;padding:11px;border-radius:11px;font-weight:900}
.teacher-redemption-panel{margin-top:18px}.teacher-redemption-list{display:flex;flex-direction:column;gap:10px}.teacher-redemption-row{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #e7ddc4;border-radius:12px;padding:13px;background:#fffdf8}.teacher-redemption-row.is-redeemed{opacity:.7;background:#f7fbf4}.teacher-redemption-row strong,.teacher-redemption-row small{display:block}.teacher-redemption-row strong{margin-top:4px}.teacher-redemption-row small{margin-top:3px;color:#777184}
@media (max-width:980px){.student-shop-grid{grid-template-columns:1fr}.student-shop-items,.student-goal-grid{grid-template-columns:1fr}.student-purchase-panel{position:static}}
@media (max-width:640px){.student-feature-head{align-items:flex-start;flex-direction:column}.feature-coin-balance{align-self:stretch;justify-content:center}.student-shop-items{grid-template-columns:1fr}.teacher-redemption-row{align-items:flex-start;flex-direction:column}.student-hero-coins img{width:72px;height:72px}}


/* Step 10: Avatar-Auswahl, Level und Erfolge */
.student-mini-avatar-image{overflow:hidden;padding:0;background:#e9f7ff}
.student-mini-avatar-image img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.student-hero-with-avatar{display:grid;grid-template-columns:170px minmax(0,1fr) 150px;gap:24px;align-items:center}
.student-hero-avatar-wrap{height:180px;display:grid;place-items:end center;border-radius:20px;background:linear-gradient(180deg,#dff6ff,#eaf9df);border:3px solid #fff;box-shadow:inset 0 -10px 0 rgba(113,174,88,.12);overflow:hidden}
.student-hero-avatar{max-width:150px;max-height:176px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 5px 0 rgba(52,45,94,.12))}
.student-avatar-placeholder{width:115px;height:135px;border:3px dashed #8f82d8;border-radius:15px;display:grid;place-items:center;text-decoration:none;color:#6554d9;background:#f6f2ff}
.student-avatar-placeholder span{font-size:3rem;font-weight:950}.student-avatar-placeholder small{font-weight:900}
.student-level-row{display:grid;grid-template-columns:auto minmax(230px,1fr);gap:12px;align-items:stretch;margin-top:16px}
.student-level-card,.student-xp-card{background:#fff9dd;border:2px solid #e8ce76;border-radius:14px;padding:11px 13px}
.student-level-card{display:flex;align-items:center;gap:9px;min-width:155px}.student-level-card img{width:42px;height:42px;object-fit:contain;image-rendering:pixelated}.student-level-card span{display:grid}.student-level-card small,.student-xp-card small{font-size:.68rem;font-weight:850;color:#7a6b41}.student-level-card strong{font-size:1.05rem}
.student-xp-card{display:grid;gap:7px}.student-xp-card>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}.student-xp-bar{height:15px;border:2px solid #b8a676;border-radius:999px;background:#efe8d7;overflow:hidden}.student-xp-bar span{display:block;height:100%;background:linear-gradient(90deg,#8060df,#b078e9)}
.achievement-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.achievement-mini{border:2px solid #e4dfeb;border-radius:13px;padding:13px;display:flex;align-items:center;gap:9px}.achievement-mini span{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:#f0ecff;color:#5b48bd;font-weight:950}.achievement-mini.done{background:#f3fbef;border-color:#cfe6c7}.achievement-mini.done span{background:#d9f1cf;color:#36743d}.achievement-mini.locked{opacity:.58}
.profile-feature-head{background:linear-gradient(135deg,#fffdf5,#eaf9ff);min-height:150px}.profile-tree-decoration{height:125px;width:125px;object-fit:contain;image-rendering:pixelated}
.avatar-form{display:block}.avatar-selection-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.avatar-choice{display:grid;gap:8px;cursor:pointer;border:3px solid #ece8f2;border-radius:16px;padding:10px;background:#fff;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.avatar-choice:hover{transform:translateY(-2px);border-color:#c8bff0}.avatar-choice.selected{border-color:#6d58d8;background:#f7f4ff;box-shadow:0 5px 0 #d7cff7}.avatar-choice input{position:absolute;opacity:0;pointer-events:none}.avatar-image-stage{height:180px;display:grid;place-items:end center;background:linear-gradient(180deg,#eaf8ff,#f5fbe9);border-radius:11px;overflow:hidden}.avatar-image-stage img{max-width:95%;max-height:176px;object-fit:contain;image-rendering:pixelated}.avatar-check{text-align:center;font-size:.78rem;font-weight:900;color:#5b4bb6}.avatar-save-bar{position:sticky;bottom:14px;display:flex;justify-content:center;margin-top:22px}.avatar-save-bar button{min-width:220px}
.achievement-feature-head{background:linear-gradient(135deg,#fff7d2,#f1ebff);min-height:145px}.achievement-trophy-decoration{height:115px;width:115px;object-fit:contain;image-rendering:pixelated}
.student-stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.student-stats-strip>div{background:#fff;border:2px solid #fff;border-radius:16px;box-shadow:var(--shadow);padding:15px;display:grid;gap:4px}.student-stats-strip small{font-weight:900;font-size:.68rem;letter-spacing:.08em;color:#766e84}.student-stats-strip strong{font-size:1.2rem}
.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.achievement-card{display:flex;align-items:center;gap:17px;min-height:155px}.achievement-card h3{margin:8px 0 5px}.achievement-card p{margin:0;color:#6b6578}.achievement-badge{width:72px;height:72px;display:grid;place-items:center;border-radius:15px;background:#eee8ff;border:3px solid #d7cdf9;box-shadow:0 5px 0 #c3b8ed;color:#6048c1;font-size:2rem;font-weight:950;flex:0 0 auto}.achievement-card.done{background:linear-gradient(145deg,#fff,#f1faeb)}.achievement-card.done .achievement-badge{background:#ffe370;border-color:#efc84c;box-shadow:0 5px 0 #d9ae31;color:#825d0d}.achievement-card.locked{opacity:.66}
@media(max-width:1180px){.avatar-selection-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.student-hero-with-avatar{grid-template-columns:140px minmax(0,1fr)}.student-hero-coins{grid-column:1/-1;justify-self:stretch;flex-direction:row!important;min-height:auto!important}}
@media(max-width:760px){.avatar-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-hero-with-avatar{grid-template-columns:1fr}.student-hero-avatar-wrap{height:155px}.student-hero-avatar{max-height:152px}.student-level-row{grid-template-columns:1fr}.student-stats-strip,.achievement-grid{grid-template-columns:1fr}.achievement-mini-grid{grid-template-columns:1fr}.profile-tree-decoration,.achievement-trophy-decoration{display:none}}
@media(max-width:430px){.avatar-selection-grid{grid-template-columns:1fr}.avatar-image-stage{height:210px}.avatar-image-stage img{max-height:205px}}

/* Step 10b: echte Pixel-Symbole */
.student-nav-pixel{width:30px!important;height:30px!important;display:grid!important;place-items:center!important;flex:0 0 30px}
.student-nav-pixel img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated}
.student-nav a.active .student-nav-pixel{background:rgba(255,255,255,.2);border-radius:8px}
.student-level-card img,.achievement-trophy-decoration,.profile-tree-decoration{image-rendering:pixelated}
.student-pixel-landscape{position:relative;height:135px;margin:22px 0 -2px;overflow:hidden;border-radius:18px;background:linear-gradient(180deg,#e8f8ff 0%,#f7fbef 74%,transparent 74%)}
.student-landscape-ground{position:absolute;left:0;right:0;bottom:0;width:100%;height:48px;object-fit:fill;image-rendering:pixelated}
.student-landscape-flowers{position:absolute;left:4%;bottom:30px;width:95px;height:95px;object-fit:contain;image-rendering:pixelated}
.student-landscape-computer{position:absolute;right:5%;bottom:34px;width:100px;height:100px;object-fit:contain;image-rendering:pixelated}
@media(max-width:760px){.student-pixel-landscape{height:110px}.student-landscape-flowers{width:75px;height:75px}.student-landscape-computer{width:82px;height:82px}}

/* Step 11: Schülerbereich Feinschliff */
.student-hero-coins:before{display:none!important;content:none!important}
.student-hero-copy>p{display:none}
.student-landscape-computer{display:none!important}
.student-landscape-tree{position:absolute;right:5%;bottom:31px;width:105px;height:105px;object-fit:contain;image-rendering:pixelated}
.student-subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-bottom:22px}
.student-subject-card{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);padding:17px 18px;border:2px solid #e8e2f0;transition:transform .15s ease,box-shadow .15s ease}
.student-subject-card:hover{transform:translateY(-2px);box-shadow:0 7px 0 #e7e0f1}
.student-subject-card img{width:52px;height:52px;object-fit:contain;image-rendering:pixelated}
.student-subject-card span{display:grid;gap:3px;flex:1}.student-subject-card strong{font-size:1.1rem}.student-subject-card small{color:var(--muted)}.student-subject-card b{font-size:1.3rem;color:#6553d0}
.student-subject-sections{display:grid;gap:28px}.student-subject-section{scroll-margin-top:18px}.student-subject-heading{display:flex;align-items:center;gap:12px;margin:0 0 12px}.student-subject-heading img{width:46px;height:46px;object-fit:contain;image-rendering:pixelated}.student-subject-heading h2{margin:1px 0 0;font-size:1.55rem}
@media(max-width:760px){.student-landscape-tree{width:82px;height:82px}.student-subject-grid{grid-template-columns:1fr}}


/* Step 12: Coin-Anzeige, Avatar-Shop und kompakter Aufgabenbereich */
.student-hero-coins{
    height:145px!important;
    width:155px!important;
    padding:10px 8px!important;
    box-sizing:border-box!important;
    gap:1px!important;
    align-content:center!important;
}
.student-hero-coins img{
    width:64px!important;
    height:64px!important;
    margin:0!important;
}
.student-hero-coins strong{
    font-size:2.15rem!important;
    line-height:.95!important;
    margin:0!important;
}
.student-hero-coins small{
    font-size:.72rem!important;
    line-height:1!important;
    margin-top:4px!important;
}
.avatar-balance-strip{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:18px;
    padding:12px 14px;
    border:2px solid #efdc92;
    background:#fff9da;
    border-radius:14px;
    font-weight:900;
}
.avatar-balance-strip strong{display:flex;align-items:center;gap:7px;color:#6e5818}
.avatar-balance-strip img{width:30px;height:30px;object-fit:contain;image-rendering:pixelated}
.avatar-shop-card{position:relative}
.avatar-shop-card.locked-avatar .avatar-image-stage img{filter:saturate(.72) brightness(.82);opacity:.72}
.avatar-lock{
    position:absolute;
    right:9px;
    top:9px;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:9px;
    background:rgba(255,255,255,.92);
    box-shadow:0 3px 0 rgba(61,45,101,.15);
    font-size:1rem;
}
.avatar-card-status{min-height:29px;display:grid;place-items:center}
.avatar-price-tag{
    display:inline-flex;
    align-items:center;
    gap:5px;
    border-radius:999px;
    padding:5px 9px;
    background:#fff0b8;
    color:#815f12;
    font-size:.74rem;
    font-weight:950;
}
.avatar-price-tag img{width:20px;height:20px;object-fit:contain;image-rendering:pixelated}
.avatar-price-tag.free{background:#e4f5e1;color:#397344}
.avatar-price-tag.unlocked{background:#ece8ff;color:#5948b8}
.avatar-action-form{display:block;margin:0}
.avatar-action-form button{width:100%;min-height:40px;padding:8px 9px;font-size:.78rem}
.avatar-buy-button{background:#e9b92f!important;color:#543f09!important;box-shadow:0 4px 0 #bd8e17!important}
.avatar-buy-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none!important}
.avatar-select-button{background:#6653d0!important;box-shadow:0 4px 0 #4639a3!important}
.avatar-selected-label{
    min-height:40px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#dff3df;
    color:#34713e;
    font-size:.8rem;
    font-weight:950;
}
.student-subject-toolbar{display:flex;align-items:center;margin:-2px 0 16px}
.student-subject-grid{margin-bottom:0!important}
.student-assignment-list{margin-top:0}
@media(max-width:760px){
    .student-hero-coins{display:none!important}
}


/* Step 13: harte Größenbegrenzung gegen veralteten Browser-Cache / natürliche PNG-Größe */
.avatar-balance-strip img{
    width:30px!important;
    height:30px!important;
    max-width:30px!important;
    max-height:30px!important;
    flex:0 0 30px!important;
}
.avatar-price-tag img{
    width:20px!important;
    height:20px!important;
    max-width:20px!important;
    max-height:20px!important;
    flex:0 0 20px!important;
}
.student-hero-coins{
    overflow:hidden!important;
}
.student-hero-coins img{
    width:64px!important;
    height:64px!important;
    max-width:64px!important;
    max-height:64px!important;
    object-fit:contain!important;
    flex:0 0 64px!important;
}


/* Step 14: Lehrpersonen – größere Aufgabenerstellung & gemeinsame Bearbeitung */
.assignment-workspace{
    display:grid;
    grid-template-columns:minmax(0,1.75fr) minmax(310px,.72fr);
    gap:20px;
    align-items:start;
}
.assignment-create-panel{
    min-width:0;
    padding:28px;
}
.assignment-create-panel .assignment-create-form{
    display:grid;
    gap:17px;
}
.assignment-create-panel textarea{
    min-height:110px;
}
.assignment-create-panel .task-editor{
    padding:19px;
}
.assignment-existing-panel{
    position:sticky;
    top:92px;
    min-width:0;
    max-height:calc(100vh - 115px);
    overflow:auto;
}
.compact-assignment-list{
    gap:12px;
}
.compact-assignment-list .assignment-card{
    padding:15px;
}
.compact-assignment-list .assignment-card h3{
    font-size:1rem;
    margin:9px 0 6px;
}
.compact-assignment-list .assignment-card p{
    display:none;
}
.assignment-teacher-line{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:4px 0 8px;
}
.assignment-teacher-line span,
.assignment-collab-note{
    font-size:.76rem;
    font-weight:850;
    color:#655d78;
    background:#f3f0fb;
    border-radius:999px;
    padding:5px 8px;
}
.field-help{
    display:block;
    margin-top:5px;
    color:#766f82;
    font-weight:650;
    line-height:1.35;
}
.assignment-edit-wide{
    max-width:1150px;
}
.assignment-edit-wide textarea{
    min-height:105px;
}
@media(max-width:1100px){
    .assignment-workspace{
        grid-template-columns:1fr;
    }
    .assignment-existing-panel{
        position:static;
        max-height:none;
    }
}


/* Step 15: Klassen-Hub, Mehrfach-Lehrpersonen und Archiv */
.assignment-hub-head,
.assignment-class-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}
.assignment-hub-head h2,
.assignment-class-head h2{
    font-size:2rem;
    margin:3px 0 5px;
}
.assignment-hub-head p,
.assignment-class-head p{margin:0;color:#6d667b}
.assignment-back-classes{
    display:inline-block;
    margin-bottom:12px;
    color:#6554d9;
    font-weight:850;
    text-decoration:none;
}
.teacher-class-picker{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.teacher-class-choice{
    text-decoration:none;
    color:inherit;
    display:grid;
    gap:20px;
    min-height:230px;
    transition:transform .15s ease,box-shadow .15s ease;
}
.teacher-class-choice:hover{transform:translateY(-3px)}
.teacher-class-choice-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}
.teacher-class-big{
    display:grid;
    place-items:center;
    min-width:88px;
    min-height:70px;
    padding:10px 18px;
    border-radius:18px;
    background:linear-gradient(145deg,#7764df,#5d4bc7);
    color:#fff;
    font-size:1.55rem;
    font-weight:950;
    box-shadow:0 6px 0 #4638a5;
}
.teacher-class-choice-stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.teacher-class-choice-stats span{
    padding:12px;
    border-radius:14px;
    background:#f7f4ff;
    display:grid;
    gap:2px;
}
.teacher-class-choice-stats strong{font-size:1.35rem}
.teacher-class-choice-stats small{color:#756d82;font-weight:750}
.teacher-class-choice b{color:#6554d9}

.assignment-view-tabs{
    display:flex;
    gap:10px;
    margin-bottom:20px;
    flex-wrap:wrap;
}
.assignment-view-tabs a{
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 15px;
    border:2px solid #ded8ee;
    border-radius:13px;
    background:#fff;
    color:#514a61;
    text-decoration:none;
    font-weight:900;
}
.assignment-view-tabs a.active{
    border-color:#6b58d6;
    background:#f0ecff;
    color:#5542be;
}
.assignment-view-tabs a span{
    min-width:27px;
    height:27px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:#e9e4f6;
    font-size:.78rem;
}
.assignment-view-tabs a.active span{background:#6b58d6;color:#fff}

.assignment-create-full{
    max-width:none!important;
    padding:30px!important;
    margin-bottom:24px;
}
.assignment-create-full .assignment-form{
    max-width:none;
}
.assignment-class-fixed{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border:2px solid #dcd6e7;
    background:#faf9fc;
    border-radius:14px;
    padding:13px 15px;
}
.assignment-class-fixed span{font-size:.75rem;font-weight:900;color:#756e83;text-transform:uppercase;letter-spacing:.08em}
.assignment-class-fixed strong{font-size:1.15rem}

.teacher-checkbox-fieldset{
    border:0;
    padding:0;
    margin:4px 0 8px;
}
.teacher-checkbox-fieldset legend{
    width:100%;
    font-size:1rem;
    font-weight:950;
    margin-bottom:10px;
}
.teacher-checkbox-fieldset legend small{font-weight:700;color:#7b7387}
.teacher-checkbox-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.teacher-checkbox-card{
    position:relative;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 28px;
    align-items:center;
    gap:10px;
    border:2px solid #dfd9e8;
    border-radius:14px;
    padding:11px 12px;
    background:#fff;
    cursor:pointer;
    min-height:68px;
}
.teacher-checkbox-card:hover{border-color:#bdb2e5;background:#fbfaff}
.teacher-checkbox-card input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.teacher-check-avatar{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#ebe7ff;
    color:#5f4bc5;
    font-weight:950;
}
.teacher-checkbox-card span:nth-of-type(2){display:grid;gap:2px}
.teacher-checkbox-card small{font-size:.72rem;color:#756e83;font-weight:700}
.teacher-checkbox-card b{
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border:2px solid #d7d0e4;
    border-radius:8px;
    color:transparent;
}
.teacher-checkbox-card:has(input:checked){
    border-color:#6c58d8;
    background:#f3f0ff;
    box-shadow:0 4px 0 #d4ccf5;
}
.teacher-checkbox-card:has(input:checked) b{
    background:#6552cf;
    border-color:#6552cf;
    color:#fff;
}
.teacher-checkbox-empty{
    padding:14px;
    background:#f8f7fa;
    border-radius:12px;
    color:#766e80;
}

.teacher-assignment-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.teacher-assignment-card{
    display:grid;
    gap:14px;
    min-height:285px;
}
.teacher-assignment-card.paused{opacity:.72}
.teacher-assignment-card-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
}
.teacher-assignment-card-top>div{display:flex;gap:7px;flex-wrap:wrap}
.teacher-assignment-card h3{
    font-size:1.25rem;
    margin:0;
}
.teacher-assignment-people{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}
.teacher-assignment-people span{
    background:#f3f0f9;
    border-radius:999px;
    padding:6px 9px;
    font-size:.76rem;
    color:#6d6579;
}
.teacher-assignment-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    color:#706878;
    font-size:.8rem;
    font-weight:750;
}
.teacher-assignment-meta span{
    padding:6px 8px;
    background:#faf8fc;
    border-radius:9px;
}
.teacher-progress-box{
    display:grid;
    gap:8px;
    margin-top:auto;
}
.teacher-progress-box>div:first-child{
    display:flex;
    justify-content:space-between;
    gap:10px;
    font-size:.78rem;
}
.teacher-progress-box span{color:#756d82}
.teacher-progress-bar{
    height:12px;
    border-radius:999px;
    background:#e9e5ef;
    overflow:hidden;
}
.teacher-progress-bar span{
    display:block;
    height:100%;
    background:linear-gradient(90deg,#77bf72,#4fae60);
}
.teacher-assignment-actions{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    align-items:center;
    border-top:1px solid #ece8f1;
    padding-top:12px;
}
.archive-link-btn{color:#9b5d31!important}

@media(max-width:1050px){
    .teacher-class-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
    .teacher-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
    .assignment-hub-head,.assignment-class-head{align-items:flex-start;flex-direction:column}
    .teacher-class-picker,.teacher-assignment-grid,.teacher-checkbox-grid{grid-template-columns:1fr}
}


/* Step 16: Smartboard-Liveansicht pro Arbeitsauftrag */
.smartboard-link-button{
    background:#f1edff!important;
    border-color:#cfc6f5!important;
    color:#5845c2!important;
}
.edit-page-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

.smartboard-body{
    margin:0;
    background:#fff;
    color:#111436;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.smartboard-shell{
    min-height:100vh;
    box-sizing:border-box;
    padding:22px 30px 18px;
    background:#fff;
}
.smartboard-toolbar{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:20px;
}
.smartboard-back,
.smartboard-fullscreen,
.smartboard-live-state,
.smartboard-live-badge{
    border:2px solid #e1e2ef;
    border-radius:16px;
    min-height:48px;
    box-sizing:border-box;
}
.smartboard-back{
    justify-self:start;
    display:inline-flex;
    align-items:center;
    padding:0 16px;
    text-decoration:none;
    color:#4736bd;
    font-weight:850;
    background:#fff;
}
.smartboard-live-badge{
    justify-self:center;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 20px;
    color:#4530bf;
    font-size:1.05rem;
    font-weight:950;
    background:#fbfaff;
}
.smartboard-live-badge span,
.smartboard-live-state span,
.smartboard-refresh-dot{
    width:14px;
    height:14px;
    border-radius:999px;
    background:#28b74e;
    box-shadow:0 0 0 5px rgba(40,183,78,.08);
}
.smartboard-toolbar-right{
    justify-self:end;
    display:flex;
    gap:12px;
    align-items:center;
}
.smartboard-live-state{
    display:flex;
    align-items:center;
    gap:10px;
    padding:0 15px;
    font-weight:850;
    background:#fff;
}
.smartboard-live-state strong{font-variant-numeric:tabular-nums;color:#555d78}
.smartboard-fullscreen{
    padding:0 16px;
    border-color:#e1e2ef!important;
    background:#fff!important;
    color:#4736bd!important;
    box-shadow:none!important;
    font-size:.95rem!important;
    font-weight:900!important;
}
.smartboard-title-row{
    padding:28px 6px 18px;
}
.smartboard-title-row h1{
    margin:0 0 12px;
    font-size:clamp(2rem,3vw,3.2rem);
    line-height:1.05;
    letter-spacing:-.03em;
}
.smartboard-meta{
    display:flex;
    align-items:center;
    gap:28px;
    flex-wrap:wrap;
    color:#626a88;
    font-size:1.02rem;
    font-weight:750;
}
.smartboard-summary{
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    gap:16px;
    align-items:stretch;
}
.smartboard-donut,
.smartboard-summary-main,
.smartboard-total-progress,
.smartboard-stat-grid article,
.smartboard-rank-card{
    border:2px solid #e7e8f0;
    background:#fff;
    border-radius:22px;
}
.smartboard-donut{
    min-height:275px;
    display:grid;
    place-items:center;
    position:relative;
}
.smartboard-donut::before{
    content:"";
    width:205px;
    height:205px;
    border-radius:50%;
    background:conic-gradient(#654ce2 calc(var(--progress) * 1%),#eef0f5 0);
    transition:background .4s ease;
}
.smartboard-donut::after{
    content:"";
    position:absolute;
    width:160px;
    height:160px;
    border-radius:50%;
    background:#fff;
}
.smartboard-donut>div{
    position:absolute;
    z-index:2;
    display:grid;
    place-items:center;
    gap:2px;
}
.smartboard-donut strong{font-size:3rem;line-height:1}
.smartboard-donut span{font-weight:850}
.smartboard-summary-main{
    padding:18px;
    display:grid;
    gap:18px;
}
.smartboard-total-progress{
    padding:22px 26px;
    display:grid;
    gap:16px;
}
.smartboard-total-progress>div:first-child{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
}
.smartboard-total-progress strong{font-size:1.25rem}
.smartboard-total-progress span{font-weight:800;color:#4c5675}
.smartboard-progress-track,
.smartboard-student-bar{
    overflow:hidden;
    background:#eceef3;
    border-radius:999px;
}
.smartboard-progress-track{height:24px}
.smartboard-progress-track span,
.smartboard-student-bar span{
    display:block;
    height:100%;
    width:0;
    background:linear-gradient(90deg,#654ce2,#7355e8);
    border-radius:inherit;
    transition:width .65s cubic-bezier(.2,.8,.2,1);
}
.smartboard-stat-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}
.smartboard-stat-grid article{
    min-height:115px;
    padding:18px;
    display:flex;
    align-items:center;
    gap:15px;
}
.smartboard-stat-icon{
    font-size:2rem;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    flex:0 0 48px;
}
.smartboard-stat-grid article div{display:grid;gap:2px}
.smartboard-stat-grid strong{font-size:2rem;line-height:1}
.smartboard-stat-grid small{font-size:.9rem;color:#606985;font-weight:750}
.smartboard-top-section{padding-top:18px}
.smartboard-section-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:12px;
}
.smartboard-section-head>div{display:flex;align-items:center;gap:12px}
.smartboard-section-head h2{margin:0;font-size:1.35rem}
.smartboard-section-head p{margin:2px 0 0;color:#68708c;font-weight:700}
.smartboard-trophy{font-size:2rem}
.smartboard-top5{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
}
.smartboard-rank-card{
    min-height:310px;
    padding:15px 14px 18px;
    position:relative;
    display:grid;
    justify-items:center;
    align-content:start;
    gap:8px;
    overflow:hidden;
}
.smartboard-rank-number{
    min-width:34px;
    height:34px;
    padding:0 8px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:#ece9ff;
    color:#4f3bbb;
    font-weight:950;
    font-size:1rem;
}
.rank-1 .smartboard-rank-number{background:#f5c62f;color:#593d00;box-shadow:0 3px 0 #c9930b}
.rank-2 .smartboard-rank-number{background:#cfd3dc;color:#4c5364;box-shadow:0 3px 0 #9ba1ad}
.rank-3 .smartboard-rank-number{background:#d58b43;color:#fff;box-shadow:0 3px 0 #a96021}
.smartboard-avatar-stage{
    height:132px;
    width:100%;
    display:grid;
    place-items:end center;
}
.smartboard-avatar-stage img{
    max-width:120px;
    max-height:128px;
    object-fit:contain;
    image-rendering:pixelated;
}
.smartboard-avatar-placeholder{
    width:86px;
    height:86px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:#f0edff;
    color:#6552cc;
    font-size:2rem;
    font-weight:950;
}
.smartboard-student-name{
    font-size:1.15rem;
    text-align:center;
}
.smartboard-task-count{
    color:#4f5874;
    font-size:.84rem;
    font-weight:800;
    text-align:center;
}
.smartboard-student-bar{
    height:12px;
    width:100%;
    margin-top:4px;
}
.smartboard-student-percent{
    color:#4935c5;
    font-size:1.35rem;
}
.smartboard-rank-card.is-empty{opacity:.35}
.smartboard-footer{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    color:#676f89;
    font-size:.9rem;
    font-weight:750;
    padding-top:16px;
}
@media(max-width:1250px){
    .smartboard-summary{grid-template-columns:220px minmax(0,1fr)}
    .smartboard-donut::before{width:170px;height:170px}
    .smartboard-donut::after{width:132px;height:132px}
    .smartboard-donut strong{font-size:2.4rem}
    .smartboard-stat-grid article{padding:12px;gap:8px}
    .smartboard-avatar-stage{height:105px}
    .smartboard-avatar-stage img{max-height:102px}
    .smartboard-rank-card{min-height:275px}
}
@media(max-width:980px){
    .smartboard-shell{padding:16px}
    .smartboard-toolbar{grid-template-columns:1fr auto}
    .smartboard-live-badge{display:none}
    .smartboard-summary{grid-template-columns:1fr}
    .smartboard-donut{min-height:210px}
    .smartboard-stat-grid{grid-template-columns:repeat(2,1fr)}
    .smartboard-top5{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
    .smartboard-toolbar-right .smartboard-live-state{display:none}
    .smartboard-title-row h1{font-size:1.8rem}
    .smartboard-meta{gap:12px;font-size:.85rem}
    .smartboard-top5{grid-template-columns:1fr}
}

/* Step 17: sichtbarer Smartboard-Verbindungsstatus */
.smartboard-footer.has-error{
    color:#a73737;
}
.smartboard-footer.has-error .smartboard-refresh-dot{
    background:#d64545;
    box-shadow:0 0 0 5px rgba(214,69,69,.08);
}


/* Step 19: ruhige, bildbasierte Loginseite */
.login-page{
    margin:0;
    min-height:100vh;
    overflow-x:hidden;
    background:
        radial-gradient(circle at 50% 15%, rgba(235,231,255,.8), rgba(255,255,255,0) 38%),
        linear-gradient(180deg,#ffffff 0%,#fbfaff 62%,#f5f1ff 100%);
}
.login-scene{
    position:relative;
    min-height:100vh;
    display:grid;
    place-items:center;
    box-sizing:border-box;
    padding:48px 22px 130px;
    overflow:hidden;
}
.login-box{
    position:relative;
    z-index:5;
    width:min(430px,calc(100vw - 38px));
    box-sizing:border-box;
    padding:30px;
    border:2px solid #e4def7;
    border-radius:30px;
    background:rgba(255,255,255,.96);
    box-shadow:0 22px 60px rgba(79,59,170,.13);
}
.login-logo-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-bottom:26px;
}
.login-logo-row h1{
    margin:0;
    font-size:clamp(1.7rem,4vw,2.2rem);
    letter-spacing:-.035em;
    color:#272043;
}
.login-logo-avatar{
    width:58px;
    height:58px;
    object-fit:contain;
    image-rendering:pixelated;
}
.login-form{
    display:grid;
    gap:17px;
}
.login-form label{
    display:grid;
    gap:8px;
    font-weight:850;
    color:#302a48;
}
.login-form label span{
    padding-left:3px;
}
.login-form input{
    width:100%;
    min-height:54px;
    box-sizing:border-box;
    border:2px solid #ded9ee;
    border-radius:16px;
    background:#fff;
    padding:0 16px;
    font:inherit;
    color:#272043;
    outline:none;
    transition:border-color .18s ease,box-shadow .18s ease;
}
.login-form input:focus{
    border-color:#755be1;
    box-shadow:0 0 0 4px rgba(117,91,225,.11);
}
.login-form button{
    min-height:55px;
    margin-top:3px;
    border:0;
    border-radius:17px;
    background:linear-gradient(180deg,#755be1,#6349d3);
    color:#fff;
    font-size:1.04rem;
    font-weight:950;
    box-shadow:0 8px 0 #4d39ad,0 14px 28px rgba(85,62,185,.2);
    cursor:pointer;
}
.login-form button:active{
    transform:translateY(3px);
    box-shadow:0 5px 0 #4d39ad,0 10px 20px rgba(85,62,185,.18);
}
.login-box .alert{
    margin:0 0 18px;
}
.login-box .alert.info{
    text-align:center;
}
.login-cloud{
    position:absolute;
    z-index:1;
    width:145px;
    opacity:.9;
    image-rendering:pixelated;
}
.login-cloud-one{
    left:8%;
    top:11%;
}
.login-cloud-two{
    right:9%;
    top:19%;
    width:110px;
    transform:scaleX(-1);
}
.login-tree{
    position:absolute;
    z-index:2;
    right:6%;
    bottom:45px;
    width:190px;
    max-height:260px;
    object-fit:contain;
    object-position:bottom;
    image-rendering:pixelated;
}
.login-flowers{
    position:absolute;
    z-index:3;
    bottom:58px;
    width:110px;
    image-rendering:pixelated;
}
.login-flowers-left{left:7%}
.login-flowers-right{right:24%}
.login-avatar{
    position:absolute;
    z-index:4;
    bottom:65px;
    width:92px;
    max-height:118px;
    object-fit:contain;
    image-rendering:pixelated;
}
.login-avatar-left{left:20%}
.login-avatar-right{right:20%}
.login-ground{
    position:absolute;
    z-index:1;
    left:0;
    bottom:0;
    width:100%;
    height:80px;
    object-fit:cover;
    object-position:bottom;
    image-rendering:pixelated;
}
@media(max-width:850px){
    .login-tree{width:135px;right:1%}
    .login-avatar-left{left:5%}
    .login-avatar-right{right:7%}
    .login-flowers-left{left:1%}
    .login-flowers-right{right:15%}
}
@media(max-width:620px){
    .login-scene{padding:32px 18px 105px}
    .login-box{padding:24px 20px;border-radius:24px}
    .login-logo-avatar{width:50px;height:50px}
    .login-cloud{width:95px;opacity:.6}
    .login-cloud-one{left:-12px;top:7%}
    .login-cloud-two{right:-8px;top:13%}
    .login-tree{width:95px;bottom:42px;right:-8px}
    .login-avatar{width:65px;bottom:52px}
    .login-avatar-left{left:4%}
    .login-avatar-right{right:16%}
    .login-flowers{width:70px;bottom:45px}
    .login-flowers-right{display:none}
    .login-ground{height:60px}
}


/* Step 20: Erster Einstieg im neuen Login-Design */
.first-login-box{
    width:min(500px,calc(100vw - 38px));
}
.first-login-box .login-logo-row{
    justify-content:flex-start;
    align-items:center;
    margin-bottom:18px;
}
.first-login-box .login-logo-row h1{
    text-align:left;
}
.first-login-subtitle{
    margin:3px 0 0;
    color:#6a6381;
    font-weight:750;
}
.first-login-text{
    margin:0 0 18px;
    color:#4f4964;
    line-height:1.6;
    font-weight:650;
}
.first-login-username{
    margin:0 0 20px;
    padding:12px 15px;
    border:2px solid #ece7f8;
    border-radius:15px;
    background:#faf8ff;
    color:#4f4964;
    font-weight:750;
}
.password-field{
    position:relative;
}
.password-field input{
    padding-right:58px;
}
.password-toggle{
    position:absolute!important;
    top:50%;
    right:8px;
    transform:translateY(-50%);
    width:42px!important;
    min-height:42px!important;
    height:42px;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:12px!important;
    background:#f3efff!important;
    color:#4d3db3!important;
    box-shadow:none!important;
    font-size:1.1rem!important;
    cursor:pointer;
}
.password-toggle:active{
    transform:translateY(-50%)!important;
    box-shadow:none!important;
}
.first-login-box .login-form small{
    color:#77708d;
    font-weight:650;
    padding-left:3px;
}


/* Step 22: Die Plattform ist bewusst als helles Farbschema gestaltet.
   Normale Browser-/System-Dark-Modes sollen die Oberfläche nicht automatisch umfärben.
   Echte Bedienungshilfen wie erzwungene Kontrastmodi werden NICHT deaktiviert. */
:root,
html {
    color-scheme: light;
}

body,
input,
select,
textarea,
button {
    color-scheme: light;
}
