.exercise-overview{max-width:1150px}.exercise-overview table{min-width:560px}.exercise-overview th{white-space:nowrap}.exercise-overview td:first-child{width:45%}.exercise-show{border:1px solid #6396aa;background:white;color:#357d96;padding:3px 9px;border-radius:2px;font-size:12px;cursor:pointer}.exercise-show.late{background:#b32d38;border-color:#b32d38;color:#fff}.exercise-show.soon{background:#d8a82e;border-color:#d8a82e;color:white}.due-late{color:#b02e3f}.due-soon{color:#b78a24}.due-label{display:block;font-size:10px;margin-top:4px}.exercise-more{border:0;background:none;color:#598391;font-size:20px}.exercise-controls{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:11px;color:#7f8e93;margin:0 0 20px}.total-count{font-size:12px;margin-bottom:0}.exercise-modal{max-width:780px;padding:20px;background:#f0f4f8}.exercise-dialog-head{display:flex;gap:12px;align-items:flex-start;color:#287f9b;text-transform:uppercase;font-size:20px;line-height:1.4;padding-bottom:20px}.exercise-dialog-head>div{flex:1}.exercise-dialog-head span{color:#80888d;font-size:16px}.exercise-dialog-head button{flex-shrink:0}.exercise-tabs{display:flex;gap:4px;border-bottom:1px solid #cfdee5;margin:5px 0 18px}.exercise-tabs button{border:0;background:none;color:#528295;padding:10px 12px;font-size:12px}.exercise-tabs button.selected{border-bottom:2px solid #287b98}.exercise-tabs button:last-child{margin-left:auto}.exercise-meta{background:white;margin:12px 0;padding:20px;font-size:12px}.exercise-meta>div{display:grid;grid-template-columns:145px 1fr;margin:10px 0;gap:10px}.exercise-meta span{color:#92a1a8}.exercise-meta b{font-weight:400;color:#548197}.exercise-description{background:white;padding:22px;margin:18px 0;line-height:1.8;font-size:13px}.exercise-description h3{font-size:14px}.exercise-input{background:#bfdde8!important;padding:22px!important}.exercise-input label{font-size:12px;color:#3c555e}.exercise-input em{color:#ad2b45;font-style:normal}.exercise-three{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:15px}.exercise-three input,.exercise-three select{padding:9px;font-size:12px}.exercise-input input,.exercise-input textarea,.exercise-input select{background:white;border:1px solid #76a5b8;border-radius:2px}.participant-add{display:flex;gap:8px;margin:10px 0}.participant-add input{flex:1;min-width:100px}.participant-chip{display:inline-flex;gap:6px;align-items:center;background:#f4f7f9;border:1px solid #a4becb;border-radius:2px;padding:5px 6px;margin:5px 5px 0 0;font-size:12px}.participant-chip button{border:0;background:none;color:#548195;padding:0 2px}.editor-tools{background:#f6f8fa;border:1px solid #a9c5d3;border-bottom:0;display:flex;gap:2px;padding:5px}.editor-tools button{border:0;background:none;padding:5px 10px;color:#405660}.editor-tools button:hover{background:#dcebf1}#exercise-evaluation{background:white;border:1px solid #689cb5;min-height:150px;padding:12px;outline-color:#297c9d;font-size:13px;line-height:1.6}.exercise-attachments{margin-top:18px;border:1px solid #76a5b8}.exercise-input details>summary{background:#c2dde7;color:#2d758e}.exercise-input details p{padding:0 10px;font-size:11px}.exercise-input details input[type=file]{width:95%;margin:10px;font-size:12px}.exercise-input details>textarea,.exercise-input details>select{margin-bottom:12px}.exercise-input .workspacehint{font-size:10px;color:#526f7d;margin-top:12px}#exercise-form-error,#exercise-download-error{color:#a82239;font-size:12px}.exercise-report .detailbody{line-height:1.7}.exercise-overview .toolbar{margin-bottom:12px}@media(max-width:650px){.exercise-modal{width:96%;padding:14px}.exercise-dialog-head{font-size:18px;gap:8px}.exercise-tabs button{padding:10px 7px;font-size:11px}.exercise-meta{padding:13px}.exercise-meta>div{grid-template-columns:105px 1fr}.exercise-description{padding:17px}.exercise-input{padding:15px!important}.exercise-three{grid-template-columns:1fr 1fr}.exercise-three>div:last-child{grid-column:1/-1}.exercise-controls span{max-width:140px}.exercise-overview td{padding:11px 8px}.participant-add .secondary{font-size:12px}.exercise-overview .toolbar input{max-width:135px}}@media print{.exercise-dialog-head button,.exercise-tabs,.exercise-input{display:none!important}.exercise-modal{border:0!important}.exercise-description{padding:0}.exercise-report{break-inside:avoid}}

/* Keep bottom actions reachable above the mobile app's floating controls. */
@media (max-width: 850px) {
  main {
    padding-bottom: calc(160px + env(safe-area-inset-bottom, 0px));
  }
  dialog#modal {
    max-height: 88vh;
    max-height: 88dvh;
    scroll-padding-bottom: calc(160px + env(safe-area-inset-bottom, 0px));
    -webkit-overflow-scrolling: touch;
  }
  dialog#modal::after {
    content: "";
    display: block;
    height: calc(160px + env(safe-area-inset-bottom, 0px));
    flex-shrink: 0;
    pointer-events: none;
  }
}
@media print {
  dialog#modal::after { display: none; }
}
