
.notice-panel{border:1px solid #e8cf91;background:#fff9e9;color:#674617;border-radius:15px;padding:15px 18px;margin-bottom:18px;font-size:15px;line-height:1.5}.notice-panel:empty{display:none}
.extras-panel,.preference-panel,.streak-panel{margin-top:20px}.extras-panel textarea{display:block;resize:vertical;width:100%;min-height:140px;border:1px solid #d5deea;border-radius:12px;padding:15px;background:#fff;color:#172c48;font:inherit;line-height:1.6;margin:9px 0 15px}.extras-panel .field{display:block;margin-top:15px;font-weight:600}.settings-row{display:flex;flex-wrap:wrap;gap:18px}.settings-row label{flex:1;min-width:150px;font-weight:600}.settings-row select{display:block;width:100%;margin-top:6px;min-height:45px;padding:8px;border:1px solid #d4dce6;border-radius:12px;background:#fff;color:#1c344f;font-size:16px}.streak-content{display:flex;flex-wrap:wrap;gap:22px;align-items:center}.streak-content>div{display:flex;flex-direction:column;gap:6px}.streak-content strong{font-size:29px}.streak-content span{color:#697f93;font-size:14px}.history-row{padding:14px 0;border-bottom:1px solid #e7edf4;font-size:15px;line-height:1.5}.history-row:last-child{border-bottom:0}.history-row time{display:block;color:#688094;font-size:14px;margin-bottom:3px}body.theme-dark .extras-panel textarea,body.theme-dark .settings-row select{background:#203650;color:#fff;border-color:#49637b}body.theme-dark .notice-panel{background:#423923;color:#ffe4a2;border-color:#79663a}body.theme-dark .history-row{border-color:#3f5369}
@media print{.sidebar,.topbar,.bottom-nav,.section-head button,.searchbox,.extras-panel,.notice-panel,.footer,.header-actions,.streak-panel{display:none!important}.workspace{margin:0!important}.view{display:none!important}#schedule{display:block!important}.shell,.workspace{display:block!important;width:100%!important}body{background:white!important;color:#111!important}.panel{box-shadow:none!important;border:0!important}#fullSchedule{font-size:13px!important}footer{display:block!important}}@media(max-width:650px){.extras-panel,.streak-panel,.preference-panel{padding:17px!important}.settings-row{display:block}.settings-row label{display:block;margin-bottom:12px}.streak-content{gap:16px}.streak-content strong{font-size:25px}}
/* Higher-contrast theme with the same layout on mobile and desktop. */
body.theme-dark{--paper:#0d1929;--white:#192c43;--ink:#eaf0f8;--muted:#b5c3d3;--line:#334963;--navy:#f0f5fb;--shadow:0 12px 38px rgba(0,0,0,.18);background:var(--paper);color:var(--ink)}
body.theme-dark .sidebar,body.theme-dark .panel,body.theme-dark .metric,body.theme-dark .filter-panel,body.theme-dark .topbar{background:#192c43;color:#ecf3fa;border-color:#334963}body.theme-dark .brand strong,body.theme-dark .panel h2,body.theme-dark .metric strong{color:#f4f7fc}body.theme-dark .text-btn{color:#e5bd79}body.theme-dark select,body.theme-dark input{background:#213852;color:#f1f6fa;border-color:#415672}body.theme-dark .welcome{color:#fff}body.theme-dark .calendar-day{color:#ebf2fb}body.theme-dark .bottom-nav{background:#15283f;border-color:#344a61}body.theme-dark .secondary{color:#f4f7fb;border-color:#50667e}
/* Avoid tiny secondary text on phones. */
@media(max-width:700px){body{font-size:16px}.eyebrow,.sidecaption{font-size:12px}.tiny-note,.tiny-tag,.panel-heading small,.metric small,.muted.smalltext{font-size:14px}.brand small,.mini-brand small{font-size:13px}}
