:root{--ink:#202625;--muted:#5f6d64;--line:#e4e9e6;--green:#217f62;--pale:#edf5ef;--bg:#f5f7f5}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:17px/1.6 Inter,Arial,sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}a{color:inherit;text-decoration:none}.sidebar{width:236px;background:#111615;color:#a2ada7;position:fixed;inset:0 auto 0 0;padding:35px 22px;display:flex;flex-direction:column}.brand{font-size:44px;font-weight:850;letter-spacing:-3px;color:#fff;line-height:1}.brand span{color:#8acbb0}.brand small{display:block;font-size:12px;letter-spacing:2px;color:#b4c0b9;margin:17px 0 50px;font-weight:500}.navlabel{font-size:12px;letter-spacing:2px;padding:0 13px;margin-bottom:14px;color:#63756c}nav a{padding:13px 14px;margin:5px 0;border-radius:9px;display:flex;gap:12px;font-size:20px}nav a span{font-size:16px}nav a.active{background:#2b4137;color:#c9f0d9}nav a:hover{background:#24332c}.sidebarbottom{margin-top:auto;font-size:14px}.sidebarbottom a{display:block;margin-bottom:22px}.sidebarbottom small{color:#63756c}.localdot{font-size:13px;color:#9abda9;margin-bottom:4px}.shell{margin-left:236px}header{height:78px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:15px;color:#849089}header b{font-weight:500;color:#43564c}header>div{display:flex;align-items:center;gap:22px}.private{font-size:13px;color:#71887c}.avatar{background:#eef2ee;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:600;color:#44554a}main{max-width:1500px;padding:34px 40px 50px;margin:auto}h1{font-size:33px;letter-spacing:-1px;margin:3px 0 8px;font-weight:650}h2{font-size:20px;font-weight:600;margin:0}h3{font-size:17px;margin:0 0 5px}.eyebrow{font-size:13px;letter-spacing:2px;color:var(--green);font-weight:650}.subtitle{color:var(--muted);margin:0}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:7px;padding:10px 15px;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{border-color:#7aa38c;background:#f3f7f3}.btn.primary{background:#247655;border-color:#247655;color:white}.btn.dark{background:#182b21;color:white;border-color:#182b21}.btn.small{padding:7px 10px;font-size:14px}.btn.danger{color:#ae4b42}.actions{display:flex;gap:9px;flex-wrap:wrap}.hero{background:#e4eee6;border:1px solid #d4e1d5;padding:28px 30px;border-radius:12px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;margin-bottom:25px}.hero:after{content:'';width:260px;height:260px;border:42px solid #d7e5d8;border-radius:50%;position:absolute;right:40px;top:-93px;opacity:.65;pointer-events:none}.hero>div{z-index:1}.hero h2{font-size:28px;letter-spacing:-.5px;margin:8px 0}.hero p{color:#617668;max-width:530px;font-size:15px}.hero .actions{margin-top:20px}.hero .heronum{font-size:70px;font-weight:600;line-height:1;letter-spacing:-3px}.heroright{padding-right:45px;text-align:center}.heroright small{display:block;font-size:13px;margin-top:12px;color:#60796b}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:28px}.stat,.card{background:#fff;border:1px solid var(--line);border-radius:10px}.stat{padding:19px 22px}.stat span{color:#75857b;font-size:14px}.stat strong{display:block;font-size:32px;margin:8px 0 2px;font-weight:600}.stat small{font-size:13px;color:var(--muted)}.grid{display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.card{padding:23px}.cardhead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.cardhead small{color:var(--muted);font-size:13px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:15px;text-align:left}th{font-size:12px;letter-spacing:1px;font-weight:500;color:#88938c;padding:10px 8px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 8px;border-bottom:1px solid #eef1ee}tr:last-child td{border-bottom:0}.person{display:flex;align-items:center;gap:11px}.initials{width:35px;height:35px;border-radius:9px;background:#edf2e8;color:#61774d;display:grid;place-items:center;font-size:14px;font-weight:600;flex-shrink:0}.person small{display:block;color:#829087;font-size:13px}.pill{display:inline-block;font-size:12px;border-radius:5px;background:#edf5ef;color:#477755;padding:4px 8px;white-space:nowrap}.pill.amber{background:#fbf2e1;color:#98772a}.pill.gray{background:#f0f2f0;color:#6f7d74}.score{font-size:18px;font-weight:650}.score small{font-size:12px;font-weight:400;color:#9aa39b}.minibar{height:4px;background:#edf0ed;border-radius:6px;margin-top:7px;width:75px;overflow:hidden}.minibar i{display:block;height:100%;background:#6b9b7c}.note{font-size:14px;color:#718278;margin:18px 0 0}.timeline{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #edf0eb}.timeline:last-child{border:0}.timeline .icon{width:30px;height:30px;background:#f0f3ee;border-radius:8px;display:grid;place-items:center;color:#5d7e66;flex-shrink:0}.timeline small{font-size:13px;color:#8c978e}.timeline p{font-size:14px;color:#77867c;margin:4px 0}.notice{background:#f0f4ee;border:1px solid #e0e8dc;border-radius:8px;padding:15px 18px;margin-top:22px;font-size:14px;color:#677a64}.notice strong{color:#42583e}.capture{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.capture button{padding:20px 10px;border:1px dashed #c9d7c9;border-radius:9px;background:#fafcf9;text-align:center;font-size:14px;color:#657b65}.capture button b{display:block;font-size:28px;font-weight:400;margin-bottom:8px}.filters{display:flex;gap:12px;align-items:end;margin-bottom:22px;flex-wrap:wrap}.filters label{min-width:150px;flex:1}.filters input,.filters select{background:white}label{display:block;font-size:14px;color:#6c7b72}input,select,textarea{display:block;border:1px solid #dce3dc;border-radius:7px;width:100%;padding:10px 11px;background:#fff;color:var(--ink);margin-top:5px}textarea{min-height:130px;resize:vertical}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.formactions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.empty{text-align:center;padding:45px;color:#8c978d}.teachergrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.teachergrid .card .initials{width:48px;height:48px}.teachergrid .person{margin-bottom:20px}.teachergrid h3{font-size:19px}.detailmeta{color:#7b897f;font-size:14px;margin:14px 0}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.reportarea{min-height:470px;font:17px/1.8 Georgia,serif;padding:24px;background:#fffefb}.reportlayout{display:grid;grid-template-columns:290px 1fr;gap:22px}.checks label{display:flex;align-items:flex-start;gap:8px;margin:16px 0}.checks input{width:auto;margin:3px 0}.criteria{display:grid;gap:12px}.criterion{border:1px solid var(--line);padding:17px;border-radius:8px}.criterion>div{display:flex;justify-content:space-between;align-items:center}.stars{display:flex;gap:5px;margin-top:10px}.stars button{border:1px solid #dbe5db;background:white;border-radius:5px;width:34px;height:32px;color:#6c806d}.stars button.selected{background:#287855;color:white;border-color:#287855}.stars button:first-child{width:48px;font-size:13px}.two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.filepreview{max-width:100%;max-height:260px;border-radius:8px;margin-top:15px}.source{font-size:15px;color:#477a5b;text-decoration:underline;display:block;margin:12px 0}.separator{border:0;border-top:1px solid var(--line);margin:23px 0}footer{padding:12px 40px 25px;color:#a2ada4;font-size:13px}dialog{border:1px solid #dde5dd;border-radius:14px;padding:28px;width:min(680px,94vw);max-height:90vh;overflow:auto;box-shadow:0 24px 90px #10201640}dialog::backdrop{background:#12201766;backdrop-filter:blur(4px)}.dialoghead{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.close{border:0;background:#f0f3ee;border-radius:50%;width:28px;height:28px}#toast{position:fixed;bottom:25px;left:50%;background:#203c2b;color:white;padding:12px 22px;border-radius:8px;opacity:0;pointer-events:none;transition:.2s;z-index:10}#toast.show{opacity:1}.barrow{display:grid;grid-template-columns:170px 1fr 35px;gap:12px;align-items:center;font-size:14px;margin:20px 0}.barrow .minibar{width:100%;height:7px;margin:0}.demo{font-size:13px;color:#8d998e;margin-left:10px}.periodflag{color:#a57824}.metrics{display:flex;gap:18px;color:#7d8d81;font-size:14px}.tabs{display:flex;gap:8px;margin:15px 0}.audio{width:100%;margin:12px 0}.checknote{font-size:13px;color:#829080;margin-top:9px}button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1100px){.sidebar{width:200px;padding:30px 16px}.shell{margin-left:200px}main{padding:28px 24px}.grid,.reportlayout{grid-template-columns:1fr}.teachergrid{grid-template-columns:repeat(2,1fr)}.stats{gap:10px}.stat{padding:16px}.heroright{padding-right:0}}@media(max-width:740px){.sidebar{width:65px;padding:24px 8px}.brand{font-size:28px;letter-spacing:-2px}.brand small,.navlabel,nav span,.sidebarbottom{display:none}nav{margin-top:40px}nav a{justify-content:center;padding:10px}.shell{margin-left:65px}header{height:60px;padding:0 18px;font-size:13px}header>span{max-width:180px}.private{display:none}main{padding:24px 16px}.pagehead{align-items:flex-start;flex-direction:column;gap:16px}h1{font-size:28px}.stats{grid-template-columns:1fr 1fr}.hero{padding:23px}.hero h2{font-size:24px}.heroright{display:none}.teachergrid,.two,.formgrid{grid-template-columns:1fr}.capture{grid-template-columns:1fr 1fr}.card{padding:18px}.barrow{grid-template-columns:130px 1fr 25px}.full{grid-column:auto}footer{padding:10px 16px}.reportarea{padding:14px}}@media print{.sidebar,header,footer,.pagehead,.reportlayout>.card:first-child,.reporttools,.notice,.reportcard>.cardhead{display:none!important}.shell{margin:0}main{padding:0}.reportlayout{display:block}.reportcard{border:0;padding:0}.reportarea{border:0;min-height:0;height:auto;width:100%;resize:none}body{background:white}}
.printreport{display:none}@media print{#reportText{display:none!important}.printreport{display:block;white-space:pre-wrap;font:11pt/1.65 Georgia,serif;color:#111}@page{size:A4;margin:20mm}}

/* Version 0.2: Projektlogo und größere, gut lesbare Bedienung. */
header{height:148px;padding:18px 40px;justify-content:flex-start}
.project-logo{display:block;width:500px;max-width:100%;line-height:0}
.project-logo img{display:block;width:100%;height:auto;max-height:112px;object-fit:contain;object-position:left center}
.sidebar{width:268px;padding-left:18px;padding-right:18px;overflow-y:auto}
.shell{margin-left:268px}
nav a{min-height:50px;align-items:center;padding:12px 10px;gap:10px}
nav a span{font-size:16px}
.sidebarbottom{padding-top:30px}
input,select,textarea{font-size:17px;line-height:1.5;min-height:46px}
.btn{min-height:44px;line-height:1.45}
.btn.small{min-height:40px}
.capture button{min-height:106px;font-size:16px}
.initials{width:40px;height:40px}
.reportarea{font:17px/1.8 Georgia,serif}
.filters{gap:16px}
.filters label{min-width:210px}
.pagehead{align-items:flex-start}
h1{line-height:1.25}
.hero p{max-width:620px}
.stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.stat{overflow-wrap:anywhere}
.stat span,.stat small{line-height:1.5}
.grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr)}
.cardhead{flex-wrap:wrap}
.tablewrap table{min-width:660px}
.reportlayout{grid-template-columns:320px minmax(0,1fr)}
.barrow{grid-template-columns:190px minmax(40px,1fr) 38px}
.close{width:40px;height:40px;font-size:24px}
@media(max-width:1250px){.grid,.reportlayout{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.teachergrid{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}}
@media(max-width:1000px){.sidebar{width:230px}.shell{margin-left:230px}nav a span{font-size:15px}header{padding:18px 24px}.project-logo{width:440px}}
@media(max-width:740px){.sidebar{width:65px;padding:24px 8px}.shell{margin-left:65px}header{height:112px;padding:12px 16px}.project-logo{width:100%}.project-logo img{max-height:88px}nav a{padding:10px;min-height:46px}nav a span{display:none}.teachergrid,.formgrid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stat{padding:16px}.stat strong{font-size:30px}.hero{padding:20px}.hero h2{font-size:25px}.filters label{min-width:100%}.barrow{grid-template-columns:145px minmax(25px,1fr) 32px;font-size:14px}.reportarea{font-size:17px}.capture{grid-template-columns:1fr 1fr}}
@media print{.shell{margin:0}.reportarea{font-size:11pt}}

/* Version 0.3: Projektlogo ersetzt die Schriftmarke oben links. */
.sidebar .sidebar-logo{display:block;flex-shrink:0;width:100%;padding:9px 5px;margin:0 0 36px;background:#f7f9f6;border-radius:8px;line-height:0;letter-spacing:normal}
.sidebar-logo img{display:block;width:100%;height:auto}
@media(max-width:740px){.sidebar .sidebar-logo{padding:5px 2px;margin-bottom:28px;border-radius:5px}.sidebar-logo img{display:block}nav{margin-top:0}}
