.tool-nav { background:#515a60; padding:20px; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.tool-nav img { width:230px; max-width:100%; }
.tool-nav nav { display:flex; gap:20px; flex-wrap:wrap; }
.tool-nav a { color:#fff; }
#student-tool { color:#344054; }
.tool-content { padding:28px 15px 40px; }
.tool-input { display:block; width:100%; box-sizing:border-box; padding:12px; border:1px solid #b8c2cc; border-radius:8px; font:inherit; }
textarea.tool-input { min-height:240px; resize:vertical; line-height:1.6; }
.tool-options,.tool-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0; }
.tool-options label { display:block; margin-bottom:8px; }
.tool-results div { padding:16px; background:#f8f9fa; border:1px solid #e4e7ec; border-radius:10px; }
.tool-results dt { font-size:14px; font-weight:normal; }
.tool-results dd { margin:6px 0 0; font-size:26px; font-weight:700; overflow-wrap:anywhere; }
.tool-status { min-height:3em; line-height:1.5; }
.tool-button { display:inline-block; background:#f3e248; color:#222; border:0; border-radius:8px; padding:12px 20px; font-weight:700; min-height:44px; }
#student-tool :focus,.tool-nav a:focus { outline:3px solid #286090; outline-offset:3px; }
#student-tool [aria-invalid=true] { border:2px solid #a12622; }
.tool-small { font-size:14px; line-height:1.6; }
@media(max-width:480px) { .tool-options { grid-template-columns:1fr; } .tool-results div { padding:12px; } .tool-nav img { width:200px; } }
.plan-weekdays { border:0; padding:0; margin:20px 0; }
.plan-weekdays legend { font-size:16px; font-weight:700; border:0; margin-bottom:8px; }
.plan-weekdays label { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-right:16px; }
.plan-weekdays input { width:18px; height:18px; margin:0; }
.plan-actions { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0; }
.plan-table { width:100%; border-collapse:collapse; }
.plan-table th,.plan-table td { padding:12px 8px; border-bottom:1px solid #e4e7ec; text-align:left; }
.plan-table caption { color:#344054; padding:12px 8px; }
#plan-copy-text { white-space:pre-wrap; overflow-wrap:anywhere; }
#study-planner [hidden] { display:none !important; }
@media print {
 body.h4y-planner .tool-nav,body.h4y-planner footer,#study-planner aside,#study-planner .plan-actions { display:none !important; }
 #study-planner .col-md-8 { width:100%; }
 #study-planner .guide-box { border:0; padding:0; margin:12px 0; }
 #study-planner tr { break-inside:avoid; }
}
