.qsp-app{--qsp-navy:#142f4b;--qsp-teal:#0e8278;--qsp-gold:#e6b14a;--qsp-line:#dbe5ec;--qsp-ink:#17324e;--qsp-muted:#637b93;max-width:1100px;margin:24px auto;color:var(--qsp-ink);font-family:inherit;font-size:16px;line-height:1.7}
.qsp-app *{box-sizing:border-box}.qsp-app [hidden]{display:none!important}.qsp-hero{position:relative;overflow:hidden;padding:34px 28px 30px;border-radius:22px;background:linear-gradient(115deg,#122d49,#155c69 60%,#0b817a);color:#fff;text-align:center;box-shadow:0 12px 28px rgba(12,48,73,.13)}.qsp-hero:before,.qsp-hero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;width:240px;height:240px;pointer-events:none}.qsp-hero:before{inset:-145px auto auto -90px}.qsp-hero:after{inset:auto -130px -175px auto}.qsp-eyebrow{font-size:12px;letter-spacing:.04em;color:var(--qsp-gold);font-weight:800}.qsp-hero h2{position:relative;margin:4px 0;font-size:clamp(28px,4vw,42px);line-height:1.35;font-weight:900;color:#fff}.qsp-slogan{margin:6px 0 0;font-size:20px;font-weight:800;color:#f7d77e}.qsp-subtitle{margin:6px 0 0;color:#e4f1f4}.qsp-credit{margin-top:14px;font-size:12px;color:#d7e9ee}.qsp-notice{margin:16px 0;padding:12px 16px;background:#eef7f6;border:1px solid #cde7e4;border-right:4px solid var(--qsp-teal);border-radius:10px;color:#315c62;font-size:14px}.qsp-form,.qsp-results{background:#fff;border:1px solid var(--qsp-line);border-radius:18px;padding:clamp(16px,3vw,28px);box-shadow:0 6px 20px rgba(17,44,70,.06);margin-top:16px}.qsp-form-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}.qsp-step{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;background:#e6f3f0;color:var(--qsp-teal);border-radius:12px;font-weight:900}.qsp-form h3,.qsp-results h3{margin:0;font-size:22px;font-weight:850;color:var(--qsp-navy)}.qsp-form-heading p{margin:3px 0 0;color:var(--qsp-muted);font-size:13px}.qsp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.qsp-field{display:flex;flex-direction:column;gap:6px;min-width:0}.qsp-field-wide{grid-column:1/-1}.qsp-field>span,.qsp-days legend{font-size:14px;font-weight:800;color:#2b4965}.qsp-field b{color:#bd5d4d}.qsp-field input,.qsp-field select{width:100%;min-width:0;min-height:45px;border:1px solid #cddbe5!important;border-radius:9px!important;padding:9px 12px!important;background:#fff!important;color:#243f59!important;font:inherit;outline-offset:2px}.qsp-days{border:1px solid var(--qsp-line);border-radius:12px;padding:14px;margin:18px 0 0;min-width:0}.qsp-days legend{padding:0 7px}.qsp-days p{margin:0 0 12px;color:var(--qsp-muted);font-size:13px}.qsp-day-options{display:flex;flex-wrap:wrap;gap:8px}.qsp-day-options label{display:flex;align-items:center;gap:7px;border:1px solid var(--qsp-line);border-radius:9px;padding:7px 12px;cursor:pointer;background:#fff;font-size:13px}.qsp-day-options label:has(input:checked){border-color:var(--qsp-teal);background:#edf8f6;color:#0b6d66}.qsp-day-options input{accent-color:var(--qsp-teal);margin:0}.qsp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.qsp-btn{appearance:none;border:0;border-radius:9px;padding:11px 18px;font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:transform .15s,opacity .15s}.qsp-btn:hover{transform:translateY(-1px)}.qsp-primary{background:var(--qsp-teal);color:#fff}.qsp-muted{background:#eef2f5;color:#314c65}.qsp-outline{background:#fff;border:1px solid #b9d4d1;color:var(--qsp-teal)}.qsp-form-status,.qsp-save-status{margin-top:12px;color:var(--qsp-muted);font-size:13px}.qsp-results-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.qsp-results-head .qsp-eyebrow{margin-bottom:2px}.qsp-plan-summary{margin:6px 0 0;color:var(--qsp-muted);font-size:13px}.qsp-progress{margin:20px 0 10px;padding:16px;border:1px solid var(--qsp-line);border-radius:12px;background:#f8fbfc}.qsp-progress-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px}.qsp-progress-number{font-size:24px;color:var(--qsp-teal)}.qsp-progress-track{height:8px;border-radius:999px;background:#e2ebef;overflow:hidden}.qsp-progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--qsp-teal),#3fb5a3);transition:width .2s}.qsp-motivation{text-align:center;margin:12px 0 18px;padding:12px;border-radius:10px;background:#fff8e8;color:#8a641b;font-weight:800}.qsp-schedule{display:grid;gap:14px}.qsp-day-card{border:1px solid var(--qsp-line);border-radius:13px;overflow:hidden;background:#fff;break-inside:avoid}.qsp-day-head{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f3f7fa;border-bottom:1px solid var(--qsp-line);padding:12px 14px}.qsp-day-head>div{display:flex;align-items:center;gap:11px}.qsp-day-num{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#e2eeed;color:var(--qsp-teal);font-weight:900}.qsp-day-head h4{margin:0;color:var(--qsp-navy);font-size:16px}.qsp-day-head p{margin:1px 0 0;color:var(--qsp-muted);font-size:12px}.qsp-day-badge{font-size:11px;border-radius:7px;padding:4px 8px;background:#e8eff5;color:#47647c;white-space:nowrap}.qsp-day-comprehensive .qsp-day-head{background:#fdf5e5}.qsp-day-comprehensive .qsp-day-num{background:#f8e4b9;color:#895d0d}.qsp-day-weekly .qsp-day-head{background:#eef5ff}.qsp-day-weekly .qsp-day-num{background:#dce8ff;color:#315b9a}.qsp-day-off .qsp-day-head{background:#f6f7f8}.qsp-day-section{padding:12px 14px}.qsp-day-section+h5{margin-top:0}.qsp-day-section h5{margin:0 0 9px;font-size:13px;color:#365671}.qsp-review-section{border-top:1px dashed #dce5eb;background:#fbfcfd}.qsp-task{border:1px solid #e2eaf0;border-radius:10px;padding:10px 11px;margin:7px 0;background:#fff;break-inside:avoid}.qsp-task-main{display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0}.qsp-task-check{position:absolute;opacity:0;width:1px;height:1px}.qsp-checkbox-ui{width:22px;height:22px;flex:0 0 22px;border:1.5px solid #9eb4c1;border-radius:6px;display:grid;place-items:center;background:#fff}.qsp-task-check:checked+.qsp-checkbox-ui{background:var(--qsp-teal);border-color:var(--qsp-teal)}.qsp-task-check:checked+.qsp-checkbox-ui:after{content:'✓';font-size:15px;color:#fff;font-weight:900}.qsp-task-check:focus-visible+.qsp-checkbox-ui{outline:2px solid #5a8fdb;outline-offset:2px}.qsp-task-text{display:flex;flex-direction:column;min-width:0;flex:1}.qsp-task-text strong{font-size:14px;color:#203e59;font-weight:800;overflow-wrap:anywhere}.qsp-task-text small{color:var(--qsp-muted);font-size:11px}.qsp-task.is-checked .qsp-task-text strong{text-decoration:line-through;color:#6a8491}.qsp-open{display:inline-block;margin:8px 28px 2px 0;border-radius:7px;padding:5px 9px;background:#e4f3ed;color:#176b52;text-decoration:none;font-size:12px;font-weight:800}.qsp-open:hover{color:#0b4c3a;background:#d0ece0}.qsp-locked{background:#fff1d7;color:#845a12}.qsp-locked:hover{background:#ffe4b0;color:#68430a}.qsp-subitems{margin:8px 0 0 0;padding-right:27px}.qsp-subitem{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:6px 0;border-top:1px solid #edf1f4}.qsp-subitem-type{font-size:10px;background:#eaf0f5;color:#506a7e;border-radius:5px;padding:2px 6px}.qsp-subitem-title{font-size:12px;color:#3a566e;flex:1;min-width:160px}.qsp-subitem .qsp-open{margin:0;padding:4px 7px;font-size:11px}.qsp-empty{margin:6px 0;color:#8093a1;font-size:12px}.qsp-warning,.qsp-error{background:#fff3dc;border:1px solid #efd49a;border-radius:9px;padding:12px;color:#815c19;font-size:13px}.qsp-footer{margin-top:22px;border-top:1px solid var(--qsp-line);padding-top:12px;text-align:center;color:#758898;font-size:11px}
@media(max-width:640px){.qsp-app{margin:12px auto;font-size:15px}.qsp-hero{padding:25px 17px;border-radius:16px}.qsp-hero h2{font-size:29px}.qsp-slogan{font-size:18px}.qsp-fields{grid-template-columns:1fr;gap:12px}.qsp-field-wide{grid-column:auto}.qsp-form,.qsp-results{padding:14px;border-radius:14px}.qsp-actions .qsp-btn{flex:1}.qsp-results-head{align-items:stretch}.qsp-results-head .qsp-btn{width:100%}.qsp-day-head{padding:10px;align-items:flex-start}.qsp-day-head h4{font-size:14px}.qsp-day-badge{font-size:10px}.qsp-day-section{padding:10px}.qsp-subitems{padding-right:12px}.qsp-subitem-title{min-width:100px}.qsp-task{padding:9px}.qsp-task-text strong{font-size:13px}}
@media print{@page{size:A4;margin:12mm}.qsp-app{max-width:none;margin:0;color:#142f4b;font-size:10pt}.qsp-hero{background:#173e57!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:17px;border-radius:8px;box-shadow:none}.qsp-hero h2{font-size:22pt}.qsp-slogan{font-size:13pt}.qsp-notice,.qsp-form,.qsp-results-head .qsp-btn,.qsp-progress,.qsp-save-status{display:none!important}.qsp-results{display:block!important;border:0;box-shadow:none;padding:0;margin:10px 0}.qsp-results-head{display:block}.qsp-plan-title{font-size:17pt}.qsp-plan-summary{font-size:9pt}.qsp-motivation{background:#fff8e8!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.qsp-schedule{gap:8px}.qsp-day-card{break-inside:avoid;border-color:#aebdc7}.qsp-day-head{padding:7px 9px!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.qsp-day-head h4{font-size:11pt}.qsp-day-section{padding:6px 9px}.qsp-task{padding:5px 7px;margin:4px 0}.qsp-task-check{position:static;opacity:1;width:14px;height:14px;flex:0 0 14px;appearance:none;border:1px solid #526c7c;border-radius:2px;display:inline-block}.qsp-task-check:checked{background:#fff}.qsp-task-check:checked+.qsp-checkbox-ui{display:none}.qsp-checkbox-ui{display:none}.qsp-task-main{gap:6px}.qsp-open{font-size:8pt;margin-right:20px}.qsp-subitems{padding-right:20px}.qsp-subitem{padding:3px 0}.qsp-footer{margin-top:10px}}

.qsp-topic-title{display:flex;align-items:center;gap:9px;padding:2px 1px 8px;color:#203e59}.qsp-topic-title>span:last-child{display:flex;flex-direction:column}.qsp-topic-title strong{font-size:14px;font-weight:850}.qsp-topic-title small{font-size:11px;color:var(--qsp-muted)}.qsp-topic-icon{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:7px;background:#e8f2f4;color:var(--qsp-teal);font-weight:900}.qsp-subtask{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #edf1f4;padding:7px 0;break-inside:avoid}.qsp-subtask .qsp-task-main{flex:1;min-width:0}.qsp-subtask .qsp-task-text strong{font-size:12px}.qsp-subtask .qsp-open{margin:0;white-space:nowrap}.qsp-subtask.is-checked .qsp-task-text strong{text-decoration:line-through;color:#6a8491}
@media(max-width:640px){.qsp-subtask{align-items:flex-start;flex-wrap:wrap}.qsp-subtask .qsp-task-main{flex-basis:100%}.qsp-subtask .qsp-open{margin-right:32px}}
@media print{.qsp-topic-title{padding-bottom:4px}.qsp-subtask{padding:3px 0}.qsp-subtask .qsp-open{font-size:8pt}.qsp-topic-title strong{font-size:10pt}}

/* v0.2.0: section-level study tasks and compact print output */
.qsp-task-links{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding-right:32px;margin-top:6px}.qsp-task-links .qsp-open{margin:0;padding:5px 9px}.qsp-day-study .qsp-day-head{background:#eff8f6}.qsp-day-study .qsp-day-num{background:#d9eee8;color:#176d67}.qsp-topic-title{display:flex;align-items:center;gap:8px}.qsp-task-text small{margin-top:2px}
@media print{.qsp-task-links{gap:5px;padding-right:24px;margin-top:3px}.qsp-task-links .qsp-open{font-size:7.5pt;padding:3px 6px}.qsp-day-section{padding:5px 8px!important}.qsp-task{padding:5px 7px!important;margin:3px 0!important}.qsp-task-text strong{font-size:9pt!important}.qsp-task-text small{font-size:7.5pt!important}.qsp-day-card{page-break-inside:avoid;break-inside:avoid}.qsp-schedule{gap:6px!important}.qsp-day-head{padding:6px 8px!important}.qsp-day-num{width:27px;height:27px}}

/* v0.2.1 — Qudratak brand identity inspired by the supplied logo */
.qsp-app{
  --qsp-navy:#65472f;
  --qsp-teal:#e7851c;
  --qsp-gold:#b28b68;
  --qsp-line:#eadbca;
  --qsp-ink:#4d3a2a;
  --qsp-muted:#866e58;
}
.qsp-app .qsp-hero{
  background:linear-gradient(135deg,#fffdf9 0%,#fff6e9 56%,#f0d9c1 100%);
  color:var(--qsp-ink);
  border:1px solid #ead1b5;
  box-shadow:0 12px 28px rgba(116,75,38,.10);
}
.qsp-app .qsp-hero:before,.qsp-app .qsp-hero:after{border-color:rgba(172,127,82,.14)}
.qsp-app .qsp-brand-logo{
  position:relative;z-index:1;display:block;width:clamp(76px,9vw,96px);height:auto;max-height:108px;
  object-fit:contain;margin:0 auto 9px;border:0;border-radius:10px;
  box-shadow:0 4px 16px rgba(100,65,35,.08);background:#fff;
}
.qsp-app .qsp-eyebrow{color:#b96918}
.qsp-app .qsp-hero h2{color:#62462f}
.qsp-app .qsp-slogan{color:#e1841b}
.qsp-app .qsp-subtitle{color:#735b44}
.qsp-app .qsp-credit{color:#987b60}
.qsp-app .qsp-notice{background:#fff7ea;border-color:#f0d9b8;border-right-color:#e7851c;color:#715438}
.qsp-app .qsp-step{background:#fbebd7;color:#b96b18}
.qsp-app .qsp-form h3,.qsp-app .qsp-results h3{color:#68492f}
.qsp-app .qsp-field>span,.qsp-app .qsp-days legend{color:#62482f}
.qsp-app .qsp-field input:focus,.qsp-app .qsp-field select:focus{border-color:#e4a45b!important;box-shadow:0 0 0 3px rgba(231,133,28,.12)!important}
.qsp-app .qsp-day-options label:has(input:checked){border-color:#e7851c;background:#fff3e2;color:#8c5013}
.qsp-app .qsp-day-options input{accent-color:#e7851c}
.qsp-app .qsp-primary{background:linear-gradient(135deg,#f09a2b,#d97813);color:#fff;box-shadow:0 4px 10px rgba(190,105,20,.16)}
.qsp-app .qsp-primary:hover{background:linear-gradient(135deg,#e98b1a,#c96c0e)}
.qsp-app .qsp-muted{background:#f6eee5;color:#634b35}
.qsp-app .qsp-outline{background:#fffaf4;border-color:#e6c49f;color:#a45f18}
.qsp-app .qsp-progress{border-color:#eedbc4;background:#fffaf4}
.qsp-app .qsp-progress-number{color:#d87916}
.qsp-app .qsp-progress-track{background:#f1e5d7}
.qsp-app .qsp-progress-track span{background:linear-gradient(90deg,#e7851c,#c4a07d)}
.qsp-app .qsp-motivation{background:#fff3e0;color:#8e581f;border:1px solid #f0ddc1}
.qsp-app .qsp-day-head{background:#fbf4eb;border-bottom-color:#eadbca}
.qsp-app .qsp-day-num{background:#f8e5cd;color:#a65e14}
.qsp-app .qsp-day-head h4{color:#65472f}
.qsp-app .qsp-day-badge{background:#f5e8da;color:#815a36}
.qsp-app .qsp-day-comprehensive .qsp-day-head,.qsp-app .qsp-day-weekly .qsp-day-head{background:#fbf0e2}
.qsp-app .qsp-day-comprehensive .qsp-day-num,.qsp-app .qsp-day-weekly .qsp-day-num{background:#f3dfc5;color:#985813}
.qsp-app .qsp-day-off .qsp-day-head{background:#f8f4ef}
.qsp-app .qsp-task{border-color:#eee2d5}
.qsp-app .qsp-checkbox-ui{border-color:#c8ad91}
.qsp-app .qsp-task-check:checked+.qsp-checkbox-ui{background:#e7851c;border-color:#e7851c}
.qsp-app .qsp-open{background:#f9ead9;color:#975716}
.qsp-app .qsp-open:hover{background:#f3dcc0;color:#74410f}
.qsp-app .qsp-locked{background:#f7ead8;color:#865717}
.qsp-app .qsp-subitem-type,.qsp-app .qsp-topic-icon{background:#f7e7d4;color:#a65e14}
.qsp-app .qsp-footer{border-top-color:#eadbca;color:#947c65}
@media print{
  .qsp-app .qsp-hero{background:#fff8ed!important;border:1px solid #e8ceb0!important;color:#4d3a2a!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .qsp-app .qsp-hero h2{color:#65472f!important}
  .qsp-app .qsp-slogan{color:#d87916!important}
  .qsp-app .qsp-subtitle,.qsp-app .qsp-credit{color:#735b44!important}
  .qsp-app .qsp-brand-logo{width:70px;max-height:78px;margin-bottom:5px;box-shadow:none}
  .qsp-app .qsp-day-num,.qsp-app .qsp-day-head,.qsp-app .qsp-motivation{ -webkit-print-color-adjust:exact;print-color-adjust:exact }
}

/* v0.3.2 — more vivid Qudratak brand, compact identity header, print calendar and student tools */
.qsp-app{
  --qsp-navy:#24324A;
  --qsp-teal:#17A988;
  --qsp-gold:#F5A623;
  --qsp-orange:#F08218;
  --qsp-line:#D9E3EC;
  --qsp-ink:#26354B;
  --qsp-muted:#66758A;
  max-width:1160px;
}
.qsp-app .qsp-hero{
  display:flex; align-items:center; justify-content:center; gap:18px;
  padding:15px 24px; min-height:125px; border-radius:18px;
  text-align:right; color:#fff;
  background:linear-gradient(115deg,#F28C18 0%,#F5A623 43%,#19AF91 100%);
  border:1px solid rgba(194,111,15,.2);
  box-shadow:0 9px 22px rgba(37,55,76,.13);
}
.qsp-app .qsp-brand-logo{
  position:relative; z-index:1; display:block; flex:0 0 auto;
  width:clamp(70px,8vw,108px); height:auto; max-height:82px; object-fit:contain;
  margin:0; padding:0; border:0; border-radius:0; box-shadow:none; background:transparent;
}
.qsp-app .qsp-hero-copy{position:relative; z-index:1; min-width:0}
.qsp-app .qsp-eyebrow{font-size:11px;color:#fff8df;font-weight:900;letter-spacing:0}
.qsp-app .qsp-hero h2{margin:1px 0;font-size:clamp(22px,3vw,31px);line-height:1.24;font-weight:950;color:#fff}
.qsp-app .qsp-slogan{margin:3px 0 0;font-size:16px;font-weight:900;color:#fff5d7}
.qsp-app .qsp-subtitle{margin:3px 0 0;font-size:12px;line-height:1.45;color:#fff}
.qsp-app .qsp-credit{margin-top:3px;font-size:10px;color:#fff9ec;font-weight:800}
.qsp-app .qsp-notice{margin:11px 0;padding:9px 13px;background:#E9FBF6;border-color:#A7EAD7;border-right:4px solid #13A886;color:#245E53}
.qsp-app .qsp-form,.qsp-app .qsp-results{border-color:#DCE5ED;box-shadow:0 5px 16px rgba(35,51,72,.06);border-radius:15px}
.qsp-app .qsp-step{background:#FFF0D8;color:#C7680B}
.qsp-app .qsp-form h3,.qsp-app .qsp-results h3,.qsp-app .qsp-field>span,.qsp-app .qsp-days legend{color:#26354B}
.qsp-app .qsp-field input:focus,.qsp-app .qsp-field select:focus{border-color:#F3A02D!important;box-shadow:0 0 0 3px rgba(242,140,24,.15)!important}
.qsp-app .qsp-day-options label:has(input:checked){border-color:#13A886;background:#E5F9F3;color:#087C63}
.qsp-app .qsp-day-options input{accent-color:#13A886}
.qsp-app .qsp-primary{background:linear-gradient(135deg,#F59C24,#E87913);color:#fff;box-shadow:0 4px 10px rgba(221,113,12,.18)}
.qsp-app .qsp-primary:hover{background:linear-gradient(135deg,#EE8B12,#D7660B)}
.qsp-app .qsp-muted{background:#EEF2F7;color:#33445B}
.qsp-app .qsp-outline{border:1px solid #19AC8C;background:#E6FAF4;color:#087B63}
.qsp-app .qsp-progress{border-color:#D6EBE5;background:#F4FCF9}
.qsp-app .qsp-progress-number{color:#0E9D7E}
.qsp-app .qsp-progress-track{background:#DAEEE7}
.qsp-app .qsp-progress-track span{background:linear-gradient(90deg,#13A886,#79D84C)}
.qsp-app .qsp-motivation{background:#FFF3D9;color:#92500A;border:1px solid #F8D38C;padding:8px;margin:9px 0 12px}
.qsp-app .qsp-day-card{border-color:#D8E4EC;border-radius:10px}
.qsp-app .qsp-day-head{background:#EAF3FF;border-bottom-color:#D6E6FB;padding:9px 12px}
.qsp-app .qsp-day-num{background:#D7E9FF;color:#2757A4}
.qsp-app .qsp-day-head h4{color:#26354B}
.qsp-app .qsp-day-badge{background:#E0F8EF;color:#087C63;font-weight:850}
.qsp-app .qsp-day-study .qsp-day-head{background:#E8FBF3}
.qsp-app .qsp-day-study .qsp-day-num{background:#BFF0DD;color:#087C63}
.qsp-app .qsp-day-off .qsp-day-head{background:#FFF3DC}
.qsp-app .qsp-day-off .qsp-day-num{background:#FFE0A8;color:#92500A}
.qsp-app .qsp-task{border-color:#E0E8EE}
.qsp-app .qsp-checkbox-ui{border-color:#90A6BA}
.qsp-app .qsp-task-check:checked+.qsp-checkbox-ui{background:#13A886;border-color:#13A886}
.qsp-app .qsp-open{background:#E4F8EF;color:#08795F}
.qsp-app .qsp-open:hover{background:#C7F0DF;color:#075C49}
.qsp-app .qsp-locked{background:#FFF0D1;color:#955A08}
.qsp-app .qsp-subitem-type,.qsp-app .qsp-topic-icon{background:#DCEBFF;color:#2757A4}
.qsp-app .qsp-footer{border-top-color:#DCE5ED;color:#718096}
.qsp-app .qsp-print-calendar{display:none}
.qsp-app .qsp-persist-note{margin:8px 0 0;color:#65758A;font-size:11px}
.qsp-app .qsp-student-tools{margin:18px 0;padding:20px;border:1px solid #D9E3EC;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(35,51,72,.05);color:#26354B}
.qsp-app .qsp-student-tools h3{margin:0;font-size:22px;color:#26354B}
.qsp-app .qsp-student-tools p{margin:5px 0 12px;color:#66758A;font-size:13px}
.qsp-app .qsp-tools-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.qsp-app .qsp-tools-count{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#FFF0D8;color:#A4510B;padding:6px 11px;font-size:12px;font-weight:900;white-space:nowrap}
.qsp-app .qsp-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.qsp-app .qsp-tool-card{min-width:0;border:1px solid #DCE5ED;border-radius:13px;padding:12px;background:#FBFDFF}
.qsp-app .qsp-tool-card h4{font-size:16px;color:#24324A;margin:0 0 10px}
.qsp-app .qsp-tool-list{display:grid;gap:10px}
.qsp-app .qsp-question-card{border:1px solid #DCE5ED;background:#fff;border-radius:10px;padding:12px;min-width:0}
.qsp-app .qsp-question-card.qsp-bookmarked{border-color:#20B28F;background:#F5FCF9}
.qsp-app .qsp-question-meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.qsp-app .qsp-question-meta span,.qsp-app .qsp-question-meta b{font-size:10px;border-radius:5px;padding:3px 6px;background:#E8F1FF;color:#315FAD}
.qsp-app .qsp-question-meta b{background:#FFF0D8;color:#9B5408}
.qsp-app .qsp-question-card h5{margin:0 0 8px;font-size:14px;line-height:1.6;color:#24324A}
.qsp-app .qsp-question-description{font-size:13px;line-height:1.7;color:#3E4D62;overflow-wrap:anywhere}
.qsp-app .qsp-question-description img{max-width:100%;height:auto}
.qsp-app .qsp-answer-explanation{margin-top:8px;padding:8px;border-radius:8px;background:#F0FBF7;color:#146A54;font-size:12px}
.qsp-app .qsp-answer-explanation summary{cursor:pointer;font-weight:850}
.qsp-app .qsp-answer-explanation>div{padding-top:7px}
.qsp-app .qsp-question-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.qsp-app .qsp-small{padding:7px 10px;font-size:11px;border:1px solid #D7E3EC;background:#fff;color:#34475D}
.qsp-app .qsp-bookmark-question{background:#E2F8EF;border-color:#A5E7D0;color:#087C63}
.qsp-app .qsp-report-question{background:#FFF1E6;border-color:#FFD1B1;color:#A84E16}
.qsp-app .qsp-small:disabled{opacity:.55;cursor:wait}
.qsp-app .qsp-tool-empty{padding:12px;border:1px dashed #CAD8E3;border-radius:8px;background:#fff}
.qsp-app .qsp-tools-status{font-size:12px;font-weight:800;color:#0C8B70;margin-bottom:0}
@media(max-width:700px){
 .qsp-app .qsp-hero{gap:10px;padding:13px 14px;justify-content:flex-start;min-height:0}
 .qsp-app .qsp-brand-logo{width:67px;max-height:62px}
 .qsp-app .qsp-hero h2{font-size:23px}
 .qsp-app .qsp-slogan{font-size:14px}
 .qsp-app .qsp-subtitle{font-size:11px}
 .qsp-app .qsp-tools-grid{grid-template-columns:1fr}
 .qsp-app .qsp-student-tools{padding:13px}
 .qsp-app .qsp-student-tools h3{font-size:19px}
}
@media print{
 @page{size:A4 landscape;margin:7mm}
 html,body{background:#fff!important}
 body *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .qsp-app{max-width:none;margin:0!important;color:#26354B;font-size:8pt;line-height:1.25}
 .qsp-app .qsp-hero{display:flex!important;gap:8px;padding:5px 10px!important;min-height:0!important;border-radius:7px!important;box-shadow:none!important;background:linear-gradient(110deg,#F28C18,#F5A623 42%,#19AF91)!important;break-inside:avoid}
 .qsp-app .qsp-brand-logo{width:42px!important;max-height:38px!important;margin:0!important;background:transparent!important;box-shadow:none!important}
 .qsp-app .qsp-eyebrow{font-size:6.5pt!important}
 .qsp-app .qsp-hero h2{font-size:14pt!important;line-height:1.1!important;margin:0!important}
 .qsp-app .qsp-slogan{font-size:8pt!important;margin:1px 0 0!important}
 .qsp-app .qsp-subtitle{font-size:6pt!important;margin:1px 0 0!important}
 .qsp-app .qsp-credit{font-size:6pt!important;margin-top:1px!important}
 .qsp-app .qsp-notice,.qsp-app .qsp-form,.qsp-app .qsp-results-head .qsp-btn,.qsp-app .qsp-progress,.qsp-app .qsp-save-status,.qsp-app .qsp-persist-note,.qsp-app .qsp-schedule,.qsp-app .qsp-student-tools{display:none!important}
 .qsp-app .qsp-results{display:block!important;border:0!important;box-shadow:none!important;padding:0!important;margin:4px 0 0!important;border-radius:0!important}
 .qsp-app .qsp-results-head{display:block!important;margin:0 0 4px!important}
 .qsp-app .qsp-results-head .qsp-eyebrow{font-size:6pt!important;margin:0!important}
 .qsp-app .qsp-plan-title{font-size:12pt!important;line-height:1.1!important}
 .qsp-app .qsp-plan-summary{margin:2px 0!important;font-size:7pt!important;line-height:1.2!important}
 .qsp-app .qsp-motivation{margin:3px 0!important;padding:3px 6px!important;font-size:7pt!important;background:#FFF3D9!important;border-color:#F8D38C!important}
 .qsp-app .qsp-print-calendar{display:block!important}
 .qsp-app .qsp-print-intro{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:3px 0 5px;padding:4px 7px;border:1px solid #F5B75E;border-radius:5px;background:#FFF8EC!important}
 .qsp-app .qsp-print-intro-brand{display:flex;align-items:center;gap:7px;min-width:0}
 .qsp-app .qsp-print-intro-brand img{width:30px;height:30px;object-fit:contain;background:transparent!important}
 .qsp-app .qsp-print-intro-brand strong{display:block;font-size:8pt;color:#26354B}
 .qsp-app .qsp-print-intro-brand small{display:block;font-size:6pt;color:#8D520F}
 .qsp-app .qsp-print-intro-stats{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:7pt;color:#33445B}
 .qsp-app .qsp-print-intro-stats b{color:#D86D0B}
 .qsp-app .qsp-calendar-day-legend{display:none}
 .qsp-app .qsp-print-week{break-inside:avoid;page-break-inside:avoid;margin:0 0 5px}
 .qsp-app .qsp-print-week:nth-of-type(4n+1):not(:first-of-type){break-before:page;page-break-before:always}
 .qsp-app .qsp-calendar-week-head{display:flex;justify-content:space-between;align-items:center;padding:3px 6px;border-radius:4px 4px 0 0;background:#273852!important;color:#fff!important;font-size:7.2pt;font-weight:900}
 .qsp-app .qsp-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;border:1px solid #D8E2EB;border-top:0;padding:3px;background:#F7F9FC}
 .qsp-app .qsp-calendar-cell{min-width:0;min-height:30px;padding:4px;border:1px solid #D9E4ED;border-radius:3px;background:#fff;overflow-wrap:anywhere;break-inside:avoid}
 .qsp-app .qsp-calendar-cell-head{display:flex;justify-content:space-between;align-items:center;gap:3px;padding-bottom:2px;border-bottom:1px solid #E7EDF3;color:#26354B;font-size:6.4pt;font-weight:800}
 .qsp-app .qsp-calendar-cell-head b{display:inline-grid;place-items:center;min-width:15px;height:15px;border-radius:3px;background:#E0EFFF;color:#2757A4;font-size:6.3pt}
 .qsp-app .qsp-calendar-study{background:#F4FCF8;border-color:#A4E3CD}
 .qsp-app .qsp-calendar-study .qsp-calendar-cell-head{border-bottom-color:#CFEFE2;color:#087C63}
 .qsp-app .qsp-calendar-study .qsp-calendar-cell-head b{background:#C9F2E2;color:#087C63}
 .qsp-app .qsp-calendar-off{background:#FFF8EB;border-color:#F8D99D}
 .qsp-app .qsp-calendar-off .qsp-calendar-cell-head b{background:#FFE9B8;color:#8A550A}
 .qsp-app .qsp-calendar-empty{background:#FAFBFD;border-color:#E9EEF2}
 .qsp-app .qsp-calendar-empty .qsp-calendar-cell-head{color:#97A4B1}
 .qsp-app .qsp-calendar-count{font-size:6pt;font-weight:900;color:#087C63;margin-top:2px}
 .qsp-app .qsp-calendar-items{display:grid;gap:2px;margin-top:2px}
 .qsp-app .qsp-calendar-item{display:flex;align-items:flex-start;gap:3px;font-size:6.2pt;line-height:1.25;color:#26354B;overflow-wrap:anywhere}
 .qsp-app .qsp-print-square{display:inline-block;flex:0 0 8px;width:8px;height:8px;border:1px solid #718096;border-radius:1px;margin-top:1px;background:#fff}
 .qsp-app .qsp-calendar-off-label{font-size:6.4pt;font-weight:800;color:#9B610C;text-align:center;padding:4px 0}
 .qsp-app .qsp-calendar-outside{border:1px dashed transparent;background:transparent}
 .qsp-app .qsp-footer{margin-top:3px;padding-top:3px;font-size:5.7pt;break-inside:avoid}
}

@media print{
 .qsp-app .qsp-print-agenda-mode .qsp-print-week{display:none!important}
 .qsp-app .qsp-print-agenda{display:grid;grid-template-columns:1fr;gap:3px}
 .qsp-app .qsp-print-agenda-day{border:1px solid #D8E2EB;border-radius:4px;break-inside:avoid;page-break-inside:avoid;overflow:hidden;margin:0;background:#fff}
 .qsp-app .qsp-print-agenda-day>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 6px;background:#E6F8F1!important;color:#126D58;border-bottom:1px solid #B9E9D6;font-size:6.8pt}
 .qsp-app .qsp-print-agenda-day>header span{font-weight:900;color:#087C63;white-space:nowrap}
 .qsp-app .qsp-print-agenda-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px 7px;padding:4px 6px}
 .qsp-app .qsp-agenda-item{display:flex;align-items:flex-start;gap:3px;min-width:0;font-size:6.6pt;line-height:1.22;color:#26354B;overflow-wrap:anywhere}
 .qsp-app .qsp-agenda-item .qsp-print-square{margin-top:1px;flex:0 0 8px;width:8px;height:8px}
}



/* v0.3.2 — compact printable agenda table for large curricula */
.qsp-app .qsp-hero{padding:11px 20px;min-height:98px;gap:13px}
.qsp-app .qsp-brand-logo{width:82px;max-height:68px;background:transparent!important}
.qsp-app .qsp-hero h2{font-size:clamp(21px,2.6vw,28px)}
.qsp-app .qsp-slogan{font-size:15px;margin-top:2px}
.qsp-app .qsp-subtitle{font-size:11px;margin-top:2px}
.qsp-app .qsp-credit{margin-top:2px;font-size:10px}
@media(max-width:700px){
 .qsp-app .qsp-hero{padding:10px 12px;gap:9px}
 .qsp-app .qsp-brand-logo{width:62px;max-height:54px}
 .qsp-app .qsp-hero h2{font-size:22px}
 .qsp-app .qsp-slogan{font-size:13px}
 .qsp-app .qsp-subtitle{font-size:10px}
}
@media print{
 .qsp-app .qsp-hero{padding:4px 8px!important;min-height:0!important;gap:7px!important}
 .qsp-app .qsp-brand-logo{width:36px!important;max-height:32px!important;background:transparent!important}
 .qsp-app .qsp-hero h2{font-size:12.5pt!important}
 .qsp-app .qsp-slogan{font-size:7.5pt!important}
 .qsp-app .qsp-subtitle,.qsp-app .qsp-credit{font-size:5.5pt!important}
 .qsp-app .qsp-print-agenda-mode .qsp-print-week{display:none!important}
 .qsp-app .qsp-print-agenda-table{display:table;width:100%;table-layout:fixed;border-collapse:collapse;direction:ltr;margin:2px 0 0;color:#26354B;font-size:5.9pt;line-height:1.1}
 .qsp-app .qsp-print-agenda-table thead{display:table-header-group}
 .qsp-app .qsp-print-agenda-table tr{break-inside:avoid;page-break-inside:avoid}
 .qsp-app .qsp-print-agenda-table th{background:#263D58!important;color:#fff!important;text-align:right;direction:rtl;padding:3px 5px;border:1px solid #263D58;font-size:6.1pt;font-weight:900}
 .qsp-app .qsp-print-agenda-table td{padding:2px 4px;border:1px solid #D8E4EC;vertical-align:top;background:#fff;direction:rtl;text-align:right;overflow-wrap:anywhere}
 .qsp-app .qsp-print-agenda-table tbody tr:nth-child(even) td{background:#F4FAF8}
 .qsp-app .qsp-print-agenda-table.qsp-two-up col:nth-child(1),.qsp-app .qsp-print-agenda-table.qsp-two-up col:nth-child(3){width:auto}
 .qsp-app .qsp-print-agenda-table.qsp-two-up col:nth-child(2),.qsp-app .qsp-print-agenda-table.qsp-two-up col:nth-child(4){width:23mm}
 .qsp-app .qsp-print-agenda-table:not(.qsp-two-up) col:nth-child(2){width:27mm}
 .qsp-app .qsp-agenda-date strong{display:block;font-size:5.9pt;color:#087C63;line-height:1.2}
 .qsp-app .qsp-agenda-date small{display:block;font-size:5.3pt;color:#718096;margin-top:1px;white-space:nowrap}
 .qsp-app .qsp-agenda-item{display:inline;font-size:5.7pt;line-height:1.18;color:#26354B;overflow-wrap:anywhere;margin-left:3px}
 .qsp-app .qsp-agenda-item .qsp-print-square{display:inline-block;width:6px;height:6px;border:1px solid #718096;border-radius:1px;background:#fff;vertical-align:baseline;margin-left:2px}
 .qsp-app .qsp-print-reading-note{font-size:5.5pt;margin:2px 0 0;text-align:center;color:#65758A}
}

/* Dashboard summary and daily-task reminder inspired by the supplied platform references */
.qsp-app .qsp-progress-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.qsp-app .qsp-progress-metrics>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:9px 6px;border:1px solid #DDE8EF;border-radius:10px;background:linear-gradient(145deg,#F6FBFF,#EDF7F4)}
.qsp-app .qsp-progress-metrics>div:nth-child(2){background:#E1F8EC;border-color:#ABE9C6}
.qsp-app .qsp-progress-metrics>div:nth-child(3){background:#FFF0EE;border-color:#FFC8C1}
.qsp-app .qsp-progress-metrics>div:nth-child(4){background:#EAF2FF;border-color:#BFD7FF}
.qsp-app .qsp-progress-metrics strong{font-size:20px;line-height:1.1;color:#E47712;font-weight:950}
.qsp-app .qsp-progress-metrics>div:nth-child(2) strong{color:#07845F}
.qsp-app .qsp-progress-metrics>div:nth-child(3) strong{color:#CF463A}
.qsp-app .qsp-progress-metrics>div:nth-child(4) strong{color:#285EC4}
.qsp-app .qsp-progress-metrics small{font-size:11px;color:#53657A;font-weight:800;text-align:center}
.qsp-app .qsp-day-card.qsp-current-day-highlight{outline:3px solid #19AF91;outline-offset:2px;box-shadow:0 0 0 6px rgba(25,175,145,.12)}
.qsp-app .qsp-reminder-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px;direction:rtl}
.qsp-app .qsp-reminder-modal[hidden]{display:none!important}
.qsp-app .qsp-reminder-backdrop{position:absolute;inset:0;background:rgba(17,24,39,.64);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.qsp-app .qsp-reminder-dialog{position:relative;z-index:1;width:min(560px,100%);padding:22px 24px 24px;border:1px solid rgba(255,255,255,.8);border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(10,20,38,.28);text-align:center;color:#172033}
.qsp-app .qsp-reminder-close{position:absolute;top:11px;left:14px;width:30px;height:30px;border:0;background:transparent;color:#8793A5;font-size:27px;line-height:1;cursor:pointer}
.qsp-app .qsp-reminder-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 12px;border-radius:17px;background:linear-gradient(135deg,#26B88D,#F5B644);color:#fff;font-size:25px;box-shadow:0 7px 16px rgba(18,142,108,.18)}
.qsp-app .qsp-reminder-dialog h3{margin:0 0 8px;color:#172033;font-size:22px;font-weight:950}
.qsp-app .qsp-reminder-message{margin:0 auto 18px;max-width:450px;color:#69758A;font-size:14px;line-height:1.65}
.qsp-app .qsp-reminder-course-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:13px 15px;margin:0 0 18px;border:1px solid #EDF0F4;border-radius:17px;background:#F8FAFC;text-align:right}
.qsp-app .qsp-reminder-badge{padding:4px 9px;border-radius:999px;background:#E0F7EF;color:#149878;font-size:11px;font-weight:900}
.qsp-app .qsp-reminder-course{font-size:15px;color:#1F2937;font-weight:950}
.qsp-app .qsp-reminder-course-card p{margin:0;color:#647187;font-size:13px}
.qsp-app .qsp-reminder-count{color:#E47712}
.qsp-app .qsp-reminder-actions{display:flex;gap:10px;align-items:center}
.qsp-app .qsp-reminder-later{flex:0 0 82px;justify-content:center;background:#F0F2F5;color:#6B7280;border:0;border-radius:14px}
.qsp-app .qsp-reminder-start{flex:1;justify-content:center;background:#23B392;color:#fff;border:0;border-radius:14px;box-shadow:0 5px 12px rgba(35,179,146,.19)}
.qsp-app .qsp-reminder-start:hover{background:#159B7D}
@media(max-width:700px){
 .qsp-app .qsp-progress-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .qsp-app .qsp-progress-metrics>div{padding:8px 4px}
 .qsp-app .qsp-reminder-dialog{padding:20px 15px 17px;border-radius:20px}
 .qsp-app .qsp-reminder-dialog h3{font-size:19px}
 .qsp-app .qsp-reminder-message{font-size:13px}
 .qsp-app .qsp-reminder-actions{gap:7px}
 .qsp-app .qsp-reminder-later{flex-basis:68px}
}
@media print{.qsp-app .qsp-reminder-modal,.qsp-app .qsp-progress-metrics{display:none!important}}

/* v0.3.2 — brighter Qudratak identity, tighter header and branded compact print */
.qsp-app{
  --qsp-navy:#302247;
  --qsp-teal:#13B58D;
  --qsp-gold:#FFC247;
  --qsp-orange:#F47716;
  --qsp-line:#D5E2EC;
  --qsp-ink:#26324A;
  --qsp-muted:#5C6D83;
}
.qsp-app .qsp-hero{
  min-height:82px;
  padding:7px 16px;
  gap:12px;
  border-radius:14px;
  background:linear-gradient(112deg,#F47716 0%,#FFAD25 43%,#17B994 100%);
  box-shadow:0 7px 18px rgba(66,66,80,.13);
}
.qsp-app .qsp-brand-logo{
  width:62px;
  height:60px;
  max-height:60px;
  object-fit:contain;
  flex:0 0 62px;
  padding:0;
  margin:0;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 3px 3px rgba(88,54,20,.12));
}
.qsp-app .qsp-hero h2{font-size:clamp(21px,2.5vw,27px);line-height:1.2;margin:0;color:#fff}
.qsp-app .qsp-eyebrow{font-size:10px;color:#fff8df}
.qsp-app .qsp-slogan{font-size:13px;margin:2px 0 0;color:#fff9e7}
.qsp-app .qsp-subtitle{font-size:10.5px;margin:2px 0 0;line-height:1.35;color:#fff}
.qsp-app .qsp-credit{font-size:9px;margin-top:2px;color:#fff9ef}
.qsp-app .qsp-primary{background:linear-gradient(135deg,#F47716,#EB6508);box-shadow:0 4px 11px rgba(231,103,9,.2)}
.qsp-app .qsp-primary:hover{background:linear-gradient(135deg,#E96C0D,#D95100)}
.qsp-app .qsp-outline{background:#E2FBF3;border-color:#13B58D;color:#08785D}
.qsp-app .qsp-day-options label:has(input:checked){background:#D8F8EC;border-color:#13B58D;color:#066D55}
.qsp-app .qsp-day-options input{accent-color:#13B58D}
.qsp-app .qsp-progress{border-color:#A8E8D5;background:linear-gradient(140deg,#EDFFF8,#F3F8FF)}
.qsp-app .qsp-progress-track span{background:linear-gradient(90deg,#0DB68A,#70D943)}
.qsp-app .qsp-day-study .qsp-day-head{background:#DDF9ED;border-bottom-color:#B3EED9}
.qsp-app .qsp-day-study .qsp-day-num{background:#13B58D;color:#fff}
.qsp-app .qsp-day-off .qsp-day-head{background:#FFF0D0;border-bottom-color:#FFD98E}
.qsp-app .qsp-day-off .qsp-day-num{background:#FFB938;color:#65400B}
.qsp-app .qsp-open{background:#DDF9ED;color:#067858}
.qsp-app .qsp-locked{background:#FFEBC2;color:#8B4C00}
.qsp-app .qsp-motivation{background:linear-gradient(90deg,#FFF0D0,#FFF9E9);border-color:#FFD477;color:#92500A}
.qsp-app .qsp-persist-note{padding:8px 10px;border-right:3px solid #13B58D;background:#F0FFF9;border-radius:7px;color:#365B53}
@media(max-width:700px){
  .qsp-app .qsp-hero{min-height:0;padding:7px 10px;gap:8px;justify-content:center}
  .qsp-app .qsp-brand-logo{width:48px;height:48px;max-height:48px;flex-basis:48px}
  .qsp-app .qsp-hero h2{font-size:20px}
  .qsp-app .qsp-eyebrow{font-size:9px}
  .qsp-app .qsp-slogan{font-size:11px}
  .qsp-app .qsp-subtitle{font-size:9px}
  .qsp-app .qsp-credit{font-size:8px}
}
@media print{
  @page{size:A4 landscape;margin:6mm}
  .qsp-app .qsp-hero,
  .qsp-app .qsp-results-head,
  .qsp-app .qsp-motivation{display:none!important}
  .qsp-app .qsp-results{margin:0!important;padding:0!important}
  .qsp-app .qsp-print-intro{
    display:flex!important;align-items:center;justify-content:space-between;gap:8px;
    margin:0 0 4px!important;padding:4px 7px!important;min-height:0;
    border:1px solid #F2B24D!important;border-radius:5px;
    background:linear-gradient(100deg,#FFF0D4,#E4FBF2)!important;
    -webkit-print-color-adjust:exact;print-color-adjust:exact;
  }
  .qsp-app .qsp-print-intro-brand{display:flex;align-items:center;gap:6px;min-width:0;flex:1}
  .qsp-app .qsp-print-intro-brand img{display:block;width:14mm;height:14mm;max-width:14mm;object-fit:contain;background:transparent!important;flex:0 0 14mm}
  .qsp-app .qsp-print-intro-brand strong{display:block;color:#302247;font-size:8pt;line-height:1.2;font-weight:950}
  .qsp-app .qsp-print-intro-brand small{display:block;color:#5D4935;font-size:5.8pt;line-height:1.25;margin-top:1px}
  .qsp-app .qsp-print-intro-stats{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;font-size:6.2pt;color:#37465B}
  .qsp-app .qsp-print-intro-stats b{color:#E66E0C}
  .qsp-app .qsp-calendar-week-head{background:#6552D9!important;color:#fff!important}
  .qsp-app .qsp-calendar-study{background:#E2F9EF!important;border-color:#A4E8D0!important}
  .qsp-app .qsp-calendar-study .qsp-calendar-cell-head b{background:#13B58D!important;color:#fff!important}
  .qsp-app .qsp-calendar-off{background:#FFF1D1!important;border-color:#F4CF83!important}
  .qsp-app .qsp-calendar-off .qsp-calendar-cell-head b{background:#FFBE45!important;color:#583907!important}
  .qsp-app .qsp-print-agenda-table th{background:#6552D9!important;border-color:#6552D9!important}
  .qsp-app .qsp-print-agenda-table tbody tr:nth-child(even) td{background:#EFFBF6!important}
  .qsp-app .qsp-print-agenda-table td .qsp-print-square{border-color:#53667C}
  .qsp-app .qsp-print-reading-note{font-size:5.6pt;margin-top:3px}
}

/* 0.3.3: account persistence, independent question tools, readable print */
.qsp-app{--qsp-teal:#169b82;--qsp-gold:#f0a52c;--qsp-navy:#24344d;--qsp-line:#d9e2ec;--qsp-muted:#68788c;color:#26354b}
.qsp-app .qsp-hero{padding:13px 18px!important;border-radius:14px!important;min-height:0!important;box-shadow:0 6px 18px rgba(40,52,68,.09)!important;background:linear-gradient(105deg,#ea8837 0%,#e9b95f 45%,#55bca3 100%)!important;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center}
.qsp-app .qsp-brand-logo{width:52px!important;height:52px!important;object-fit:contain;background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important}
.qsp-app .qsp-hero-copy{position:relative;z-index:1;max-width:620px}
.qsp-app .qsp-hero .qsp-eyebrow{font-size:10px;color:#fff4dd;margin:0}
.qsp-app .qsp-hero h2{font-size:clamp(21px,2.3vw,28px)!important;line-height:1.18!important;margin:0!important;color:#fff!important}
.qsp-app .qsp-slogan{font-size:14px!important;margin:2px 0 0!important;color:#fff!important}
.qsp-app .qsp-subtitle{font-size:11px!important;line-height:1.4;margin:2px 0 0!important;color:#fffaf1!important}
.qsp-app .qsp-credit{font-size:10px!important;margin-top:3px!important;color:#fff8eb!important}
.qsp-app .qsp-notice{margin:10px 0;padding:9px 12px;background:#f0f6ff;border-color:#d8e5fa;border-right-color:#4678df;color:#354864}
.qsp-app .qsp-btn.qsp-primary{background:#24a982;color:#fff}
.qsp-app .qsp-btn.qsp-primary:hover{background:#178e6e}
.qsp-app .qsp-btn.qsp-outline{border-color:#d0dced;color:#3e639b}
.qsp-app .qsp-my-plans{margin:10px 0;padding:14px;border:1px solid #d9e3ed;border-radius:13px;background:#fff}
.qsp-app .qsp-my-plans-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.qsp-app .qsp-my-plans-head h3{font-size:17px;margin:0;color:#253954}
.qsp-app .qsp-my-plans-head span{font-size:12px;color:#728197}
.qsp-app .qsp-my-plans p{font-size:13px;margin:4px 0;color:#68788c}
.qsp-app .qsp-my-plans-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.qsp-app .qsp-my-plan-card{display:flex;flex-direction:column;gap:4px;min-width:0;text-decoration:none;padding:11px 12px;border:1px solid #dbe5ee;border-radius:10px;background:#fbfcfe;color:#273953}
.qsp-app .qsp-my-plan-card:hover{border-color:#31b18d;background:#f1fbf6}
.qsp-app .qsp-my-plan-card strong{font-size:14px}
.qsp-app .qsp-my-plan-card span,.qsp-app .qsp-my-plan-card small{font-size:11px;color:#68788c;overflow-wrap:anywhere}
.qsp-app .qsp-my-plan-card b{font-size:12px;color:#168968;margin-top:3px}
.qsp-app .qsp-course-tools{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0;padding:12px;border:1px solid #d9e5ef;border-radius:12px;background:#f8fbff}
.qsp-app .qsp-tool-nav-errors{background:#eef2ff;color:#4f49af;border:1px solid #dcd9ff}
.qsp-app .qsp-tool-nav-saved{background:#e8f8f2;color:#137c61;border:1px solid #c2ecdc}
.qsp-app .qsp-task.is-checked .qsp-task-text strong{text-decoration:line-through;text-decoration-thickness:1.5px;color:#78869a}
.qsp-app .qsp-open{background:#e7f7f0;color:#176e54;margin-top:6px}
.qsp-app .qsp-locked{background:#fff2dc;color:#89580e}
.qsp-tool-page{max-width:1120px;margin:18px auto;padding:0 12px 24px;color:#26354b}
.qsp-tool-page-head{display:flex;align-items:center;gap:12px;padding:13px 16px;margin:0 0 12px;border:1px solid #dbe3eb;border-radius:14px;background:linear-gradient(105deg,#fff8ee,#f7fbff);box-shadow:0 3px 12px rgba(37,54,79,.05)}
.qsp-tool-logo{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center}
.qsp-tool-logo img{width:44px;height:44px;object-fit:contain;background:transparent}
.qsp-tool-page-head>div{flex:1;min-width:0}
.qsp-tool-page-head>div>span{font-size:11px;color:#a86d27;font-weight:800}
.qsp-tool-page-head h2{font-size:22px;line-height:1.3;margin:0;color:#26354b}
.qsp-tool-page-head p{font-size:12px;color:#6c7a8f;margin:2px 0 0}
.qsp-tool-back{white-space:nowrap;text-decoration:none;background:#fff;border:1px solid #d7e0ea;color:#485b75}
.qsp-tool-page-nav{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px;padding:8px;border-radius:10px;background:#f5f7fb;border:1px solid #e3e8ef}
.qsp-tool-page-nav a{display:inline-flex;padding:8px 12px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:800;color:#53647c;background:transparent}
.qsp-tool-page-nav a.is-active{background:#e9f7f1;color:#117b5e;border:1px solid #c4eadb}
.qsp-tool-content{padding:16px;border:1px solid #dce5ee;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(34,49,73,.04)}
.qsp-tool-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.qsp-tool-title-row h3{font-size:21px;line-height:1.4;margin:0;color:#26354b}
.qsp-tool-title-row p{font-size:13px;line-height:1.7;margin:3px 0 0;color:#6d7b8f}
.qsp-tools-count{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:6px 10px;border-radius:999px;background:#fff0dc;color:#925711;font-size:12px;font-weight:900}
.qsp-tool-primary-action{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:10px 0 14px;padding:12px;border:1px solid #cfe8df;border-radius:11px;background:#f5fcf8}
.qsp-tool-primary-action p{font-size:13px;color:#547166;margin:0;flex:1;min-width:220px}
.qsp-tool-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.qsp-question-card{min-width:0;border:1px solid #dce4ed;background:#fff;border-radius:12px;padding:14px;color:#26354b;box-shadow:0 2px 8px rgba(30,48,74,.025)}
.qsp-question-card.qsp-bookmarked{border-color:#b9e6d5;background:#fbfffd}
.qsp-question-meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}
.qsp-question-meta span,.qsp-question-meta b{padding:4px 7px;border-radius:6px;font-size:10px;background:#edf3ff;color:#41629d;font-weight:700}
.qsp-question-meta b{background:#fff0dc;color:#985d12}
.qsp-question-card h5{font-size:15px;line-height:1.85;color:#25354e;margin:0 0 10px;font-weight:800;overflow-wrap:anywhere}
.qsp-question-description{font-size:13px;line-height:1.8;color:#53647b;margin-bottom:8px}
.qsp-review-options{margin:8px 0 10px;padding:0 26px 0 0;color:#40536c;line-height:1.8;font-size:13px}
.qsp-review-options li{padding:4px 7px;margin:3px 0;border-radius:6px;background:#f7f9fc;border:1px solid #eef1f5}
.qsp-correct-answer-details{border:1px solid #d8eae2;background:#f6fcf9;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.8;color:#315c4d;margin:10px 0}
.qsp-correct-answer-details summary{cursor:pointer;font-weight:800;color:#148265}
.qsp-review-explanation{margin-top:6px;padding-top:6px;border-top:1px solid #dceee6}
.qsp-no-options{font-size:12px;color:#7b6a4f;background:#fff8e9;padding:8px;border-radius:7px}
.qsp-question-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid #eef1f5}
.qsp-question-actions .qsp-btn{padding:8px 11px;font-size:12px}
.qsp-bookmark-question{background:#e6f7ef;color:#117557;border:1px solid #bde9d6}
.qsp-report-question{background:#fff4ec;color:#a95523;border:1px solid #f8d3b8}
.qsp-tool-gate{padding:24px;border:1px solid #dce5ee;border-radius:12px;background:#fff;text-align:center}
.qsp-tool-gate h3{font-size:20px;color:#26354b;margin:0 0 8px}
.qsp-tool-gate p{font-size:14px;color:#6a798d;margin:0 0 14px}
.qsp-tool-empty{padding:20px;text-align:center;color:#738197;background:#f8fafc;border:1px dashed #d7e1ea;border-radius:10px;font-size:13px}
.qsp-practice-question{margin:0 0 12px;padding:14px;border:1px solid #dce5ee;border-radius:11px;min-width:0}
.qsp-practice-question legend{padding:0 6px;color:#26354b;font-size:15px;font-weight:850;line-height:1.8}
.qsp-practice-question legend span{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#e9efff;color:#4f58b7;margin-left:8px;font-size:12px}
.qsp-practice-description{font-size:13px;color:#65758a;line-height:1.7;margin:3px 0 10px}
.qsp-practice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.qsp-practice-option{display:flex;gap:8px;align-items:flex-start;border:1px solid #e1e7ef;border-radius:8px;padding:10px;background:#fbfcfe;font-size:13px;line-height:1.7;color:#3c4e67;cursor:pointer}
.qsp-practice-option:has(input:checked){background:#eefaf5;border-color:#5fc8a7}
.qsp-practice-option input{margin-top:5px;accent-color:#179c79;flex:0 0 auto}
.qsp-practice-feedback{margin-top:10px;padding:10px;border-radius:8px;font-size:13px;line-height:1.8}
.qsp-practice-feedback.is-correct{background:#eaf8f0;color:#176b4e;border:1px solid #c4e9d5}
.qsp-practice-feedback.is-wrong{background:#fff0ee;color:#9a3d34;border:1px solid #f2ccc7}
.qsp-error-quiz-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:15px}
.qsp-retry-quiz{background:#eef2f7;color:#40516b}
.qsp-error-quiz-score{font-size:15px;font-weight:900;color:#3f54b5}
.qsp-return-plan-wrap{position:relative;z-index:10;direction:rtl;padding:10px 14px;margin:12px auto;max-width:1100px;border:1px solid #cbe8dc;border-radius:10px;background:#f2fbf7}
.qsp-return-plan-button{display:inline-block;text-decoration:none!important;background:#1aa17b!important;color:#fff!important;padding:9px 14px;border-radius:8px;font-size:13px;font-weight:800}
@media(max-width:720px){.qsp-app .qsp-hero{padding:12px!important;gap:7px}.qsp-app .qsp-brand-logo{width:42px!important;height:42px!important}.qsp-app .qsp-subtitle{font-size:10px!important}.qsp-app .qsp-my-plans-grid,.qsp-tool-list{grid-template-columns:1fr}.qsp-tool-page-head{align-items:flex-start;flex-wrap:wrap;padding:11px}.qsp-tool-page-head h2{font-size:19px}.qsp-tool-back{margin-right:auto;padding:8px 10px}.qsp-tool-content{padding:11px}.qsp-tool-title-row{align-items:flex-start}.qsp-practice-options{grid-template-columns:1fr}.qsp-tool-page-nav a{flex:1;justify-content:center;padding:8px 6px;font-size:12px}}
@media print{
 @page{size:A4 portrait;margin:9mm}
 .qsp-app .qsp-hero{padding:7px 10px!important;min-height:0!important;border-radius:7px!important;box-shadow:none!important;break-inside:avoid;background:linear-gradient(105deg,#ea8837,#e9b95f 45%,#55bca3)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .qsp-app .qsp-brand-logo{width:35px!important;height:35px!important}
 .qsp-app .qsp-hero h2{font-size:13pt!important}.qsp-app .qsp-slogan{font-size:9pt!important}.qsp-app .qsp-subtitle,.qsp-app .qsp-credit{font-size:7.5pt!important}
 .qsp-app .qsp-notice,.qsp-app .qsp-form,.qsp-app .qsp-results-head .qsp-btn,.qsp-app .qsp-progress,.qsp-app .qsp-save-status,.qsp-app .qsp-persist-note,.qsp-app .qsp-schedule,.qsp-app .qsp-student-tools,.qsp-app .qsp-my-plans,.qsp-app .qsp-course-tools,.qsp-app .qsp-reminder-modal{display:none!important}
 .qsp-app .qsp-results{display:block!important;border:0;box-shadow:none;padding:0;margin:4px 0}
 .qsp-app .qsp-print-agenda-table{font-size:7.2pt!important;line-height:1.25!important;margin-top:4px!important}
 .qsp-app .qsp-print-agenda-table th{font-size:7.2pt!important;padding:4px 5px!important;background:#4b5ecb!important;border-color:#4b5ecb!important}
 .qsp-app .qsp-print-agenda-table td{padding:4px 5px!important;font-size:7pt!important;line-height:1.3!important}
 .qsp-app .qsp-print-agenda-table:not(.qsp-two-up) col:nth-child(2){width:28mm!important}
 .qsp-app .qsp-print-agenda-table.qsp-two-up{font-size:6.6pt!important}
 .qsp-app .qsp-print-agenda-table.qsp-two-up td{font-size:6.5pt!important}
 .qsp-app .qsp-print-agenda-table .qsp-agenda-item{display:inline-flex;align-items:flex-start;gap:3px;margin:1px 4px 1px 0;font-size:inherit!important;line-height:1.35!important}
 .qsp-app .qsp-print-square{width:9px!important;height:9px!important;flex:0 0 9px!important;border:1px solid #69778a!important;display:inline-block!important;border-radius:1px!important;margin-top:1px!important}
 .qsp-app .qsp-print-intro{padding:7px 9px!important;margin-bottom:4px!important;border-radius:7px!important;background:#fff8ee!important;border:1px solid #f2d7b6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* v0.4.0 — single active plan, responsive controls, and clearer progression */
.qsp-app [hidden]{display:none!important}
.qsp-app .qsp-my-plans{border:1px solid #d8e4ee;border-radius:16px;background:linear-gradient(135deg,#ffffff 0%,#f6fbff 100%);padding:16px 18px;margin:16px 0;box-shadow:0 4px 14px rgba(31,50,78,.045)}
.qsp-app .qsp-my-plans-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.qsp-app .qsp-my-plans-head h3{margin:0;color:#183c5a;font-size:clamp(17px,2vw,21px);font-weight:900}
.qsp-app .qsp-plan-manager-state{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:#dff8ee;color:#087d61;border:1px solid #b6ead7;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:850}
.qsp-app .qsp-current-plan-summary{display:flex;align-items:flex-start;gap:7px;flex-direction:column;margin:8px 0 12px;padding:12px 14px;background:#fff;border:1px solid #dce6ef;border-radius:12px}
.qsp-app .qsp-current-plan-title{font-size:15px;color:#203c59;font-weight:900}
.qsp-app .qsp-current-plan-course{font-size:13px;color:#536b86}
.qsp-app .qsp-current-plan-dates{font-size:12px;color:#7b8b9d}
.qsp-app .qsp-plan-management-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.qsp-app .qsp-plan-management-actions .qsp-btn{min-width:175px;min-height:42px;font-weight:850;border-radius:10px}
.qsp-app .qsp-new-plan{background:#14a985!important;border:1px solid #109a79!important;color:#fff!important}
.qsp-app .qsp-new-plan:hover{background:#078e6f!important;color:#fff!important}
.qsp-app .qsp-delete-plan{background:#fff!important;border:1px solid #f2b5b1!important;color:#a93232!important}
.qsp-app .qsp-delete-plan:hover{background:#fff0ef!important;color:#922525!important}
.qsp-app .qsp-empty-plan-message{margin:6px 0;color:#657a90;line-height:1.8;font-size:13px}
.qsp-app .qsp-course-tools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;width:100%;margin:16px auto;padding:14px 12px;border:1px solid #d9e5ee;border-radius:14px;background:linear-gradient(110deg,#f7fbff,#fff9f0)}
.qsp-app .qsp-course-tools .qsp-btn{display:inline-flex;align-items:center;justify-content:center;min-width:190px;min-height:46px;text-align:center;font-size:14px;font-weight:900;border-radius:11px;box-shadow:0 2px 4px rgba(30,50,70,.04)}
.qsp-app .qsp-tool-nav-errors{background:#fff1dc!important;color:#94520c!important;border:1px solid #f4cf93!important}
.qsp-app .qsp-tool-nav-errors:hover{background:#ffe5bd!important}
.qsp-app .qsp-tool-nav-saved{background:#dff8ee!important;color:#087b60!important;border:1px solid #a8e4cf!important}
.qsp-app .qsp-tool-nav-saved:hover{background:#c8f2e3!important}
.qsp-app .qsp-task-links{justify-content:flex-start;gap:8px;flex-wrap:wrap}
.qsp-app .qsp-open{border:1px solid #bcebd9;background:#e3f8ef;color:#087658;font-weight:850}
.qsp-app .qsp-open:hover{background:#c9f0e1;color:#065842}
.qsp-app .qsp-locked{background:#fff0d5!important;border:1px solid #f4d59b!important;color:#8e5c13!important}
.qsp-app .qsp-day-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.qsp-app .qsp-day-options label{min-width:0;justify-content:center;text-align:center;white-space:normal;line-height:1.35;padding:10px 8px!important;border-radius:10px!important}
.qsp-app .qsp-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.qsp-app .qsp-actions .qsp-btn{min-width:155px;min-height:44px}
.qsp-app .qsp-form[hidden]{display:none!important}
.qsp-app .qsp-current-day-highlight{outline:3px solid #f4ad2a;outline-offset:2px}
.qsp-app .qsp-day-card{scroll-margin-top:18px}
@media(max-width:720px){
 .qsp-app .qsp-my-plans{padding:13px 12px;margin:12px 0}
 .qsp-app .qsp-my-plans-head{align-items:flex-start;flex-direction:column;gap:6px}
 .qsp-app .qsp-plan-management-actions{display:grid;grid-template-columns:1fr;width:100%;gap:8px}
 .qsp-app .qsp-plan-management-actions .qsp-btn{width:100%;min-width:0}
 .qsp-app .qsp-course-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;margin:12px 0}
 .qsp-app .qsp-course-tools .qsp-btn{width:100%;min-width:0;min-height:45px;padding:10px 7px;font-size:13px;line-height:1.35}
 .qsp-app .qsp-day-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .qsp-app .qsp-day-options label{padding:10px 6px!important;font-size:13px}
 .qsp-app .qsp-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .qsp-app .qsp-actions .qsp-btn{min-width:0;width:100%;padding:11px 7px}
 .qsp-app .qsp-task-links{padding-right:0;justify-content:flex-start}
}
@media(max-width:390px){
 .qsp-app .qsp-course-tools{grid-template-columns:1fr}
 .qsp-app .qsp-plan-manager-state{white-space:normal}
}
@media print{
 .qsp-app .qsp-my-plans,.qsp-app .qsp-plan-management-actions{display:none!important}
 .qsp-app .qsp-course-tools{display:none!important}
}
