.bulletin-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start;direction:rtl}
.bulletin-content{min-width:0}
.bulletin-side{position:sticky;top:18px;background:#0a344f;color:white;border-radius:16px;padding:18px;box-shadow:0 12px 32px #143d5220;z-index:8}
.side-heading{padding:2px 3px 15px;border-bottom:1px solid #ffffff20}
.side-heading span{color:#64cbe8;font-size:.8rem;font-weight:700}
.side-heading h2{font-size:1.15rem;margin:4px 0 0}
.side-dropdowns{display:grid;gap:11px;margin-top:15px}
.side-dropdown{position:relative}
.side-dropdown summary{list-style:none;display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;background:#ffffff10;border:1px solid #ffffff22;border-radius:11px;padding:10px;cursor:pointer;font-weight:800;min-height:48px}
.side-dropdown summary::-webkit-details-marker{display:none}
.side-dropdown summary:after{content:"‹";position:absolute;left:45px;color:#74d6ef;font-size:1.2rem;transition:transform .2s}
.side-dropdown[open] summary{background:#ffffff1b;border-color:#6ccde6}
.side-dropdown[open] summary:after{transform:rotate(-90deg)}
.side-summary-icon{width:30px;height:30px;border-radius:8px;background:#ffffff16;display:grid;place-items:center;color:#6bd6f1}
.side-dropdown summary b{min-width:25px;border-radius:20px;background:#f3a91f;color:#1c2b34;text-align:center;padding:3px 7px;font-size:.76rem}
.side-flyout{display:none;position:absolute;right:calc(100% + 12px);top:0;width:360px;max-height:460px;overflow:auto;background:white;color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 48px #092e4940;padding:12px;z-index:12}
.side-dropdown[open] .side-flyout{display:block}
.side-flyout-head{font-weight:800;color:var(--navy);padding:4px 5px 11px;border-bottom:1px solid var(--line)}
.side-course-list{display:grid;gap:8px;padding-top:9px}
.side-course-row{display:grid;grid-template-columns:1fr 42px;gap:7px;align-items:stretch}
.side-course-link,.side-candidates-icon{border:1px solid var(--line);background:#f7fafb;color:var(--ink);border-radius:9px;font:inherit;cursor:pointer;text-align:right}
.side-course-link{padding:10px}
.side-course-link b,.side-course-link small{display:block}
.side-course-link b{font-size:.86rem}
.side-course-link small{margin-top:4px;color:var(--muted);font-size:.74rem}
.side-course-link:hover,.side-candidates-icon:hover{border-color:#72bddb;background:#edf8fc}
.side-candidates-icon{font-size:1.05rem;text-align:center}
.side-archive-year{font-weight:800;color:var(--blue);font-size:.8rem;padding:8px 4px 2px}
.side-menu-empty{padding:20px 10px;text-align:center;color:var(--muted);font-size:.84rem}
.side-help{color:#c5dfe8;font-size:.78rem;line-height:1.7;margin:15px 3px 2px}
.manual-candidate-card{border-right:4px solid var(--green)}
.manual-candidate-card form{grid-template-columns:repeat(2,minmax(0,1fr))}
.manual-candidate-card .primary{align-self:end}
.course-candidates-button{width:100%;justify-content:center}
.archive-candidates{margin-top:10px;border:1px solid #cfdee5;background:#f5f9fb;color:var(--blue);border-radius:8px;padding:8px 10px;font:700 .8rem Tajawal;cursor:pointer}
.candidates-table-wrap table{min-width:900px}
.candidate-result-meta{color:#c5dce4;font-size:.8rem}
.candidate-result-course{font-weight:700}
@media(max-width:1000px){.bulletin-layout{grid-template-columns:220px minmax(0,1fr)}
.side-flyout{width:320px}
.course-grid{grid-template-columns:1fr}
}
@media(max-width:760px){.bulletin-layout{grid-template-columns:1fr}
.bulletin-side{position:relative;top:auto}
.side-flyout{position:static;width:100%;max-height:420px;margin-top:8px}
.side-dropdown summary:after{left:48px;transform:rotate(-90deg)}
.side-dropdown[open] summary:after{transform:rotate(90deg)}
.manual-candidate-card form{grid-template-columns:1fr}
}

.course-actions{flex-wrap:wrap}
.course-candidates-button{flex-basis:100%!important}
#candidatesDialog{width:min(1080px,96vw)}

.course-actions .archive{order:3}
.course-actions .delete{order:4}
.status-select{border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:white;font:700 .82rem Tajawal;color:var(--ink)}

.public-candidate-count{flex:1;background:#edf8fc;color:#175a75;border:1px solid #cde6ef;border-radius:9px;padding:10px 12px;text-align:center;font-weight:800;font-size:.84rem}
.archive-candidate-count{background:#edf8fc!important;color:#175a75!important;border:1px solid #cde6ef;font-weight:800}
.side-course-link small{color:#d95f00;font-size:.8rem;font-weight:800;line-height:1.55}
.public-candidate-count{background:#fff2dc;color:#b94d00;border-color:#efb15f;font:800 .84rem Tajawal;cursor:pointer}
.archive-candidate-count{display:block;width:100%;margin-top:10px;background:#fff2dc!important;color:#b94d00!important;border:1px solid #efb15f!important;border-radius:8px;padding:9px 10px;font:800 .8rem Tajawal;cursor:pointer}
.course-week-heading h3{color:#d95f00;font-weight:800}
.course-candidates-button{background:#d95f00;color:white}
#candidatesDialog.public-candidates-view{width:min(680px,94vw)}
#candidatesDialog.public-candidates-view .candidates-table-wrap table{min-width:0}
#candidatesDialog.public-candidates-view .candidates-table-wrap th:first-child,#candidatesDialog.public-candidates-view .candidates-table-wrap td:first-child{width:72px;text-align:center}
