.moodle-organizer { padding-block: 35px 75px; }
.organizer-topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:24px 0; padding:18px 22px; background:#eaf1e8; border:1px solid var(--line); }
.organizer-topbar p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.organizer-topbar > div,.organizer-actions { display:flex; flex-wrap:wrap; gap:10px; }
.organizer-file { position:relative; cursor:pointer; }
.organizer-file input { position:absolute; inset:0; opacity:0; width:100%; cursor:pointer; }
.organizer-file:focus-within { outline:2px solid var(--teal); outline-offset:3px; }
.organizer-tabs { display:flex; flex-wrap:wrap; gap:10px; border-bottom:1px solid var(--line); padding-bottom:18px; }
.organizer-tabs button { padding:13px 20px; border:1px solid #b9cbbf; color:var(--teal-dark); background:var(--white); font:700 12px var(--sans); cursor:pointer; }
.organizer-tabs button[aria-pressed="true"] { color:white; background:var(--teal-dark); border-color:var(--teal-dark); }
.organizer-status { min-height:22px; margin:14px 0; font-size:12px; color:var(--teal); }
.organizer-planner { display:grid; grid-template-columns:300px minmax(0,1fr); gap:30px; }
.organizer-courses { padding:22px; border:1px solid var(--line); background:#f4f3eb; align-self:start; }
.moodle-organizer h3 { margin:0 0 17px; font:500 28px/1.3 var(--serif); }
.moodle-organizer h4 { color:var(--teal-dark); font:600 18px/1.4 var(--serif); margin:0 0 10px; }
.moodle-organizer p { line-height:1.75; }
.organizer-courses #org-course-list button { display:block; width:100%; text-align:left; margin-bottom:9px; padding:13px 15px; border:1px solid var(--line); background:white; color:var(--ink); font:650 12px/1.5 var(--sans); cursor:pointer; overflow-wrap:anywhere; }
.organizer-courses #org-course-list button[aria-pressed="true"] { border-color:var(--teal); background:#e4eee5; }
.organizer-courses details { margin-top:22px; }
.moodle-organizer summary { color:var(--teal-dark); font-size:13px; font-weight:700; cursor:pointer; }
.moodle-organizer label:not(.button) { display:block; font-size:12px; font-weight:650; margin:15px 0 6px; }
.moodle-organizer label small { font-weight:400; color:var(--muted); }
.moodle-organizer input:not([type="checkbox"]):not([type="file"]),.moodle-organizer select,.moodle-organizer textarea { width:100%; padding:11px 12px; border:1px solid #b9cbbf; background:white; color:var(--ink); font:13px/1.5 var(--sans); border-radius:0; }
.moodle-organizer textarea { resize:vertical; }
.organizer-row { display:flex; gap:12px; }
.organizer-row > div { flex:1; min-width:0; }
.organizer-actions { margin-top:20px; }
.organizer-empty { padding:30px; border:1px dashed #b9cbbf; background:#fafaf5; color:var(--muted); font-size:13px; }
.organizer-course-head { padding:23px 25px; border:1px solid var(--line); background:#eef2e9; margin-bottom:22px; }
.organizer-course-head p { margin:8px 0; font-size:13px; }
.organizer-course-meta,.organizer-item-meta { color:var(--teal); font-size:11px; font-weight:650; }
.organizer-item { border:1px solid var(--line); background:white; padding:19px 22px; margin:12px 0; }
.organizer-item h4 { font-size:21px; }
.organizer-item p { font-size:13px; white-space:pre-wrap; overflow-wrap:anywhere; margin:10px 0; }
.organizer-item .organizer-actions { margin-top:12px; }
.organizer-item.is-done { background:#f1f4ef; }
.organizer-item.is-done h4 { text-decoration:line-through; text-decoration-thickness:1px; }
.organizer-item a { color:var(--teal-dark); font-size:12px; }
.organizer-item .organizer-check,.organizer-check { display:flex!important; align-items:center; gap:9px; font-weight:500!important; }
.organizer-check input { accent-color:var(--teal); }
.organizer-topic { margin-top:26px!important; font-size:19px!important; }
.organizer-calendar-actions { display:flex; align-items:flex-end; gap:15px; flex-wrap:wrap; margin:0 0 23px; }
.organizer-calendar-actions > div { min-width:220px; flex:1; }
.organizer-calendar-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
.organizer-calendar { border:1px solid var(--line); padding:23px; background:#f4f3eb; align-self:start; }
.organizer-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; }
.organizer-days button { min-height:60px; background:white; border:1px solid var(--line); color:var(--ink); font:600 13px var(--sans); cursor:pointer; }
.organizer-days button span { display:block; font-size:10px; margin-top:7px; color:var(--teal); }
.organizer-days button[aria-pressed="true"] { background:var(--teal-dark); color:white; }
.organizer-days button[aria-pressed="true"] span { color:white; }
.organizer-days .is-today { border:2px solid var(--teal); }
.organizer-key { font-size:11px; color:var(--muted); margin-bottom:0; }
.organizer-key span { color:var(--teal); margin-left:12px; }
.organizer-agenda-head { display:flex; justify-content:space-between; align-items:start; gap:15px; }
.organizer-help { margin-top:24px; padding:21px 25px; border:1px solid var(--line); background:#f4f3eb; }
.organizer-help p,.organizer-connection-intro p { font-size:13px; color:var(--muted); }
.organizer-help a { color:var(--teal-dark); }
.organizer-help code { overflow-wrap:anywhere; }
.organizer-help form { max-width:600px; }
.organizer-hint { font-size:11px!important; color:var(--muted); }
.organizer-dialog { max-width:min(660px,calc(100vw - 32px)); width:660px; max-height:90vh; padding:30px; border:1px solid #b9cbbf; background:#fafaf5; }
.organizer-dialog::backdrop { background:#183e32aa; }
.organizer-dialog-head { display:flex; justify-content:space-between; align-items:start; gap:15px; }
.organizer-dialog h3 { font:500 28px var(--serif); margin:0 0 15px; }
.organizer-dialog label { display:block; font-size:12px; font-weight:650; margin:15px 0 6px; }
.organizer-dialog input:not([type="checkbox"]),.organizer-dialog select,.organizer-dialog textarea { width:100%; padding:10px 12px; border:1px solid #b9cbbf; background:white; color:var(--ink); font:13px/1.5 var(--sans); }
.organizer-dialog p { font-size:13px; line-height:1.75; }
.organizer-dialog small { color:var(--muted); font-weight:400; }
.organizer-moodle-module { display:block; margin:10px 0; font-size:13px; color:var(--teal-dark); }
@media(max-width:1000px) { .organizer-planner { grid-template-columns:260px minmax(0,1fr); gap:20px; } .organizer-calendar-layout { grid-template-columns:1fr; } }
@media(max-width:700px) { .organizer-planner { grid-template-columns:1fr; } .organizer-topbar { align-items:start; flex-direction:column; } .organizer-row { flex-wrap:wrap; } .organizer-row > div { min-width:120px; } .organizer-tabs button { flex:1; padding-inline:12px; } .organizer-calendar { padding:15px; } .organizer-days button { min-height:52px; } .organizer-dialog { padding:22px; } }
