.cp-questions {
    --cp-q-blue: #2457d6;
    --cp-q-dark: #173f9f;
    --cp-q-ink: #13203a;
    --cp-q-muted: #667085;
    --cp-q-border: #dbe4f0;
    width: min(1380px, 100%);
    margin: 30px auto 0;
    color: var(--cp-q-ink);
}
.cp-questions *, .cp-questions *::before, .cp-questions *::after { box-sizing: border-box; }
.cp-questions__hero {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    padding: clamp(25px, 4vw, 40px);
    border: 1px solid var(--cp-q-border);
    border-radius: 22px;
    background: radial-gradient(circle at 90% 10%, rgba(36,87,214,.13), transparent 32%), linear-gradient(135deg,#fff,#f4f7fd);
    box-shadow: 0 18px 52px rgba(23,32,51,.08);
}
.cp-questions__hero-icon {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(145deg, #2d68e7, #173f9f);
    color: #fff;
    font-size: 30px;
}
.cp-questions__hero h2 { margin: 3px 0 8px; color:#061d33; font:900 clamp(28px,4vw,44px)/1.08 Lato,Arial,sans-serif; }
.cp-questions__hero p:not(.cp-campus-eyebrow) { max-width:820px; margin:0; color:var(--cp-q-muted); line-height:1.6; }
.cp-questions__hero .cp-campus-button { display:inline-flex; align-items:center; gap:8px; }
.cp-questions__count { display:grid; min-width:50px; height:50px; place-items:center; border-radius:999px; background:#edf3ff; color:var(--cp-q-dark); font-size:20px; font-weight:900; }
.cp-question-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-height:720px; margin-top:20px; padding:16px; overflow-y:auto; overscroll-behavior:contain; border:1px solid #dbe5f5; border-radius:18px; background:#f3f7fd; scrollbar-color:#9bb2d8 #e7eef9; scrollbar-width:thin; }
.cp-question-grid > .cp-dashboard-empty { grid-column:1/-1; margin-top:0; }
.cp-question-card, .cp-question-group { padding:22px; border:1px solid var(--cp-q-border); border-radius:18px; background:#fff; box-shadow:0 13px 38px rgba(23,32,51,.06); }
.cp-question-card > header { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:13px; align-items:start; }
.cp-question-card > header > .dashicons, .cp-question-row__icon { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; background:#edf3ff; color:var(--cp-q-blue); font-size:22px; }
.cp-question-card h3 { margin:3px 0 0; font:900 18px/1.35 Lato,Arial,sans-serif; }
.cp-question-card header p, .cp-question-card__date { margin:0; color:var(--cp-q-muted); font-size:12px; font-weight:700; }
.cp-question-card__date { margin-top:12px; }
.cp-question-card__body, .cp-question-detail-body { margin-top:13px; padding:16px; border-radius:13px; background:#f7f9fd; color:#344054; line-height:1.65; }
.cp-question-status { display:inline-flex; align-items:center; min-height:29px; padding:5px 10px; border-radius:999px; background:#fff7e6; color:#8a5a00; font-size:12px; font-weight:800; white-space:nowrap; }
.cp-question-status--answered { background:#eaf8ef; color:#157347; }
.cp-question-status--class { background:#edf3ff; color:var(--cp-q-dark); }
.cp-question-file { display:inline-flex; align-items:center; gap:7px; margin-top:13px; color:var(--cp-q-dark); font-weight:800; text-decoration:none; }
.cp-question-file:hover { text-decoration:underline; }
.cp-question-answer { display:grid; grid-template-columns:42px minmax(0,1fr); gap:13px; margin-top:16px; padding:16px; border:1px solid #bfe4cc; border-radius:14px; background:#f2faf5; }
.cp-question-answer--class { border-color:#cfdcf8; background:#f4f7ff; }
.cp-question-answer > .dashicons { color:#157347; font-size:25px; }
.cp-question-answer--class > .dashicons { color:var(--cp-q-blue); }
.cp-question-answer p { margin:5px 0 0; color:#475467; line-height:1.55; }
.cp-question-answer .cp-campus-actions { margin-top:10px; }
.cp-question-answer .cp-campus-actions a { color:var(--cp-q-dark); font-weight:800; }
.cp-question-group { margin-top:20px; }
.cp-question-group > header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:16px; border-bottom:1px solid var(--cp-q-border); }
.cp-question-group > header h3 { margin:3px 0 0; font:900 27px/1.15 Lato,Arial,sans-serif; }
.cp-question-group > header > span { color:var(--cp-q-muted); font-weight:800; }
.cp-question-tutor-list { display:grid; gap:10px; max-height:430px; margin-top:15px; padding:12px; overflow-y:auto; overscroll-behavior:contain; border-radius:14px; background:#f3f7fd; scrollbar-color:#9bb2d8 #e7eef9; scrollbar-width:thin; }
.cp-question-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto 24px; align-items:center; gap:13px; width:100%; padding:15px; border:1px solid var(--cp-q-border); border-radius:14px; background:#fff; color:inherit; text-align:left; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.cp-question-row:hover, .cp-question-row:focus-visible { border-color:rgba(36,87,214,.38); box-shadow:0 10px 28px rgba(23,63,159,.1); transform:translateY(-1px); }
.cp-question-row > span:nth-child(2) { display:grid; gap:3px; min-width:0; }
.cp-question-row strong { font-size:16px; }
.cp-question-row small { color:var(--cp-q-muted); }
.cp-question-row em { overflow:hidden; color:#344054; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.cp-question-dialog { width:min(760px,calc(100% - 28px)); max-height:calc(100vh - 34px); padding:0; overflow:auto; border:0; border-radius:20px; background:#fff; box-shadow:0 28px 90px rgba(5,20,45,.28); }
.cp-question-dialog--detail { width:min(860px,calc(100% - 28px)); }
.cp-question-dialog::backdrop { background:rgba(8,22,45,.62); backdrop-filter:blur(3px); }
.cp-question-dialog > form { padding:clamp(22px,4vw,34px); }
.cp-question-dialog form > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:17px; border-bottom:1px solid var(--cp-q-border); }
.cp-question-dialog form > header h3 { margin:3px 0 0; font:900 28px/1.15 Lato,Arial,sans-serif; }
.cp-question-dialog form > header button { display:inline-flex !important; width:38px; height:38px; min-width:38px; min-height:38px; flex:0 0 38px; align-items:center; justify-content:center; padding:0 !important; border:1px solid var(--cp-q-border); border-radius:999px; background:#fff; color:var(--cp-q-ink); font:400 27px/1 Arial,sans-serif !important; text-align:center; text-indent:0; cursor:pointer; }
.cp-question-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; }
.cp-question-form-grid label, .cp-question-response-fields > label { display:grid; gap:7px; color:#344054; font-weight:800; }
.cp-question-form-grid select, .cp-question-form-grid textarea, .cp-question-response-fields textarea, .cp-question-response-fields input[type="url"] { width:100%; min-height:45px; padding:11px 12px; border:1px solid #cbd6e5; border-radius:10px; background:#fff; color:var(--cp-q-ink); font:inherit; }
.cp-question-form-grid textarea, .cp-question-response-fields textarea { resize:vertical; }
.cp-question-field--wide { grid-column:1/-1; }
.cp-question-upload { display:grid !important; grid-template-columns:32px minmax(0,1fr); gap:4px 11px !important; padding:14px; border:1px dashed #9fb4d8; border-radius:12px; background:#f7f9ff; }
.cp-question-upload > .dashicons { grid-row:1/span 2; color:var(--cp-q-blue); font-size:25px; }
.cp-question-upload small { display:block; margin-top:3px; color:var(--cp-q-muted); font-weight:500; }
.cp-question-upload input { grid-column:1/-1; margin-top:6px; }
.cp-question-dialog footer { display:flex; justify-content:flex-end; gap:10px; margin-top:22px; padding-top:18px; border-top:1px solid var(--cp-q-border); }
.cp-question-dialog footer .cp-campus-button { display:inline-flex; align-items:center; gap:7px; }
.cp-questions .cp-campus-button--primary { border:1px solid #173f9f !important; background:linear-gradient(145deg,#2d68e7,#173f9f) !important; color:#fff !important; box-shadow:0 8px 20px rgba(23,63,159,.22); text-decoration:none !important; }
.cp-questions .cp-campus-button--primary:hover, .cp-questions .cp-campus-button--primary:focus-visible { border-color:#0f327f !important; background:linear-gradient(145deg,#245edb,#123782) !important; color:#fff !important; box-shadow:0 10px 25px rgba(23,63,159,.3); }
.cp-questions .cp-campus-button--primary .dashicons { color:#fff !important; }
.cp-question-detail-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; }
.cp-question-detail-meta span { display:grid; gap:4px; padding:12px; border-radius:11px; background:#f5f8fd; color:#344054; }
.cp-question-detail-meta strong { color:var(--cp-q-muted); font-size:11px; letter-spacing:.05em; text-transform:uppercase; }
.cp-question-decisions { display:grid; gap:10px; margin:20px 0 0; padding:0; border:0; }
.cp-question-decisions legend { margin-bottom:9px; font:900 19px Lato,Arial,sans-serif; }
.cp-question-decisions label { display:grid; grid-template-columns:24px minmax(0,1fr); gap:11px; padding:15px; border:1px solid var(--cp-q-border); border-radius:13px; cursor:pointer; }
.cp-question-decisions input { position:absolute; opacity:0; pointer-events:none; }
.cp-question-box { display:grid; width:22px; height:22px; place-items:center; border:2px solid #9aa9bf; border-radius:5px; background:#fff; }
.cp-question-decisions input:checked + .cp-question-box { border-color:var(--cp-q-blue); background:var(--cp-q-blue); box-shadow:inset 0 0 0 4px #fff; }
.cp-question-decisions input:focus-visible + .cp-question-box { outline:3px solid rgba(36,87,214,.25); outline-offset:2px; }
.cp-question-decisions label > span:last-child { display:grid; gap:3px; }
.cp-question-decisions small { color:var(--cp-q-muted); font-weight:500; }
.cp-question-response-fields { display:grid; gap:13px; margin-top:17px; padding:17px; border:1px solid #cfdcf8; border-radius:14px; background:#f8faff; }
.cp-question-response-fields[hidden] { display:none; }
@media (max-width:800px) {
    .cp-questions__hero, .cp-question-card > header, .cp-question-row { grid-template-columns:42px minmax(0,1fr); }
    .cp-questions__hero .cp-campus-button, .cp-questions__count, .cp-question-card .cp-question-status, .cp-question-row .cp-question-status, .cp-question-row > .dashicons:last-child { grid-column:2; justify-self:start; }
    .cp-question-grid, .cp-question-form-grid { grid-template-columns:1fr; }
    .cp-question-grid { max-height:650px; }
    .cp-question-field--wide { grid-column:auto; }
    .cp-question-detail-meta { grid-template-columns:1fr; }
}
@media (max-width:520px) {
    .cp-questions__hero { grid-template-columns:1fr; }
    .cp-questions__hero .cp-campus-button, .cp-questions__count { grid-column:auto; }
    .cp-question-group > header, .cp-question-dialog footer { align-items:flex-start; flex-direction:column; }
    .cp-question-dialog footer .cp-campus-button { width:100%; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) { .cp-question-row { transition:none; } }
