/* FocusWeek V2.3 final review UI: core auth, storage and sync untouched. Theme tokens can be overridden for future products. */
:root{--fw-brand:#132740;--fw-accent:#98d36a;--fw-toolbar-bg:#fff;--fw-toolbar-text:#152b47;--fw-toolbar-border:#dce6ef;--fw-toolbar-shadow:0 12px 32px rgba(28,50,74,.06)}
body{overflow-x:hidden}.main-column{min-width:0}.toolbar-mount{padding:7px clamp(18px,2.7vw,45px) 0;background:#fbfcfe}.toolbar-mount.hidden{display:none!important}
.toolbar-mount .workspace-hub{display:flex;align-items:center;gap:12px;padding:7px 11px!important;margin:0!important;border-radius:16px!important;background:var(--fw-toolbar-bg)!important;color:var(--fw-toolbar-text);border:1px solid var(--fw-toolbar-border)!important;box-shadow:var(--fw-toolbar-shadow);min-width:0;flex-wrap:nowrap}
.toolbar-mount .hub-controls{display:flex;gap:7px;align-items:center;flex-wrap:nowrap;min-width:0;padding:0;border:0}
.toolbar-mount .hub-controls>button,.toolbar-mount .backup-toggle{border-radius:12px;padding:9px 11px;min-height:40px;height:40px;font-size:11px;white-space:nowrap;gap:7px}
.toolbar-mount .hub-controls .btn-sync{background:linear-gradient(125deg,#1859cb,#172f58);border:1px solid #3560a0;color:white;box-shadow:0 3px 8px #174fb124;font-weight:800}
.toolbar-mount .btn-sync span:first-child,.toolbar-mount .btn-plain span:first-child{font-size:19px;line-height:12px}
.toolbar-mount .btn-plain{display:inline-flex;gap:7px}
.toolbar-mount #printBtn svg{flex-shrink:0}
.toolbar-mount .backup-toggle{display:flex;background:#f6f9fd;border:1px solid #dce5f0;color:#18304d}
.toolbar-mount .backup-panel{right:auto;left:0;top:calc(100% + 7px)}
.toolbar-mount .hub-overview{display:flex;flex:1 1 auto;min-width:156px;gap:8px;align-items:center;padding:0 7px 0 12px;border-left:1px solid #e3e7ef;justify-content:start}
.toolbar-mount .hub-cloud-icon{width:35px;height:35px;border-radius:11px;background:#e5f6e7;display:grid;place-items:center;font-size:23px;color:#298349;flex-shrink:0}
.toolbar-mount .hub-status{min-width:0}.toolbar-mount .hub-status h3{font-size:12px;letter-spacing:-.2px;margin:0 0 3px;font-weight:850;white-space:nowrap}
.toolbar-mount .hub-status .cloud-chip{padding:0;border:0;color:#667b85;background:none;font-size:10px;gap:5px;max-width:180px}.toolbar-mount .hub-sync-text{font-size:9px;color:#738599;margin:2px 0 0;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toolbar-mount .cloud-state{margin-left:auto;align-self:start;margin-top:1px;font-size:9px;white-space:nowrap}
.toolbar-preferences{display:flex;align-items:center;gap:5px;padding-left:9px;border-left:1px solid #e3e7ef;white-space:nowrap;color:#234062}
.toolbar-preferences select{background:transparent;border:0;font-size:11px;font-weight:800;color:inherit;padding:8px 1px 8px 0;cursor:pointer;max-width:45px}
.theme-switch{display:flex;border:1px solid #dfe6f1;border-radius:14px;padding:2px;background:#edf3fa;gap:2px;margin-left:7px}
.theme-option{width:32px;height:31px;display:grid;place-items:center;font-size:20px;color:#10233a;background:transparent;border:0;border-radius:10px}
.theme-option.is-active{background:#fff;box-shadow:0 2px 6px #00000014;color:#e99c20}
.toolbar-mount .hub-lock{flex-shrink:0;width:43px;height:43px;min-width:43px;border:1px solid #f2d7a9;background:#fff4df;color:#ce8516;box-shadow:0 1px 10px #df9f4526;border-radius:13px;padding:0;margin-left:1px;display:grid;place-items:center}
.toolbar-mount .hub-lock:hover{background:#ffe7bc}
/* Keep the approved header close to the toolbar, with free branding room below. */
.topbar{background:#f9fbff;min-height:170px;padding:17px clamp(18px,2.7vw,45px) 22px;border-bottom:0;position:relative;isolation:isolate;align-items:flex-start}
.topbar::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,252,255,.98) 5%,rgba(249,251,255,.86) 47%,rgba(251,252,255,.1) 100%),url('/assets/landscape.svg') center right/cover no-repeat;opacity:.45;z-index:-1;pointer-events:none}
.topbar h1{font-size:clamp(33px,4.3vw,58px);margin:9px 0 4px;letter-spacing:-2px}
.topbar .eyebrow{font-size:10px;color:#667f9c;letter-spacing:2px}
.topbar p{font-size:16px;color:#617a9e;font-weight:600}
.top-right{margin-left:auto;align-self:start;gap:7px}.prototype-pill{font-size:9px;padding:7px 9px}.top-right .light-btn{padding:8px 10px;font-size:10px;max-width:198px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
main{padding:16px clamp(18px,2.7vw,45px) 38px}
.showcase{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(235px,.95fr);gap:12px;padding:10px;margin:0 0 22px;background:#fff;border:1px solid #e6ebef;border-radius:18px;box-shadow:0 10px 30px #2740590c}
.showcase-art{background:linear-gradient(90deg,rgba(12,35,64,.8),rgba(20,38,68,.2) 77%,transparent),url('/assets/landscape.svg') center/cover no-repeat;border-radius:13px;min-height:240px;display:flex;align-items:center;color:#fff}
.showcase-content{padding:24px 27px}.showcase-eyebrow{font-size:10px;font-weight:850;letter-spacing:2px;color:#c1d0e4}.showcase h2{font-size:clamp(25px,3vw,39px);line-height:1.07;letter-spacing:-1.4px;margin:13px 0 10px}.showcase-mark{background:#87d761;width:54px;height:5px;border-radius:9px;margin:14px 0}.showcase p{font-size:12px;color:#e4ebf4;line-height:1.5}
.showcase-links{display:grid;gap:7px;align-content:stretch}.showcase-links a{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #e7edf3;border-radius:12px;color:#1c3552;min-width:0;background:#fff}.showcase-links a:hover{background:#f3f8fe}.showcase-links a>span:nth-child(2){min-width:0;flex:1}.showcase-links strong{display:block;font-size:13px}.showcase-links small{display:block;font-size:11px;color:#7c8ba2;margin-top:5px}.showcase-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;font-size:24px;flex-shrink:0}.showcase-icon.blue{color:#225dc7;background:#eaf2ff}.showcase-icon.green{color:#1b9954;background:#e7f7ec}.showcase-icon.purple{color:#8528dd;background:#f0e7ff}.showcase-arrow{font-size:24px;color:#1c3552}
.command-strip{margin-top:7px}.metrics .metric{border-color:#e5ebf1;box-shadow:0 5px 16px #16324f08}.metrics .metric.dark{background:#132a48}.metric strong{font-weight:850}
.pin-backup-warning{margin-top:20px;border:1px solid #f2c2ba;border-left:5px solid #be3a35;background:#fff2f0;color:#8e3028;padding:16px;border-radius:11px;font-size:12px;line-height:1.67}.pin-backup-warning strong{display:block;font-size:15px;margin-bottom:7px;color:#9d251e}.pin-backup-warning b{color:#8c241c}
.gate-legal-intro{font-size:11px;color:#768495;margin:15px 0 0;line-height:1.6}.gate-legal-intro a{text-decoration:underline;font-weight:700;color:#315a82}
.softtruf-footer{padding:18px clamp(18px,2.7vw,45px);background:#f9fbfd;border-top:1px solid #e2e9ef;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#64738a;font-size:11px;line-height:1.65}
.softtruf-footer strong{font-weight:650}.softtruf-footer nav{display:flex;gap:9px;align-items:center}.softtruf-footer a{color:#1e456d}.softtruf-footer a:hover{text-decoration:underline}
:focus-visible{outline:3px solid #80aee8;outline-offset:2px}
@media (max-width:1290px){.toolbar-mount .workspace-hub{gap:8px}.toolbar-mount .hub-controls{gap:5px}.toolbar-mount .hub-controls>button,.toolbar-mount .backup-toggle{padding:8px}.toolbar-mount .hub-cloud-icon{width:30px;height:30px}.toolbar-mount .hub-status h3{font-size:11px}.toolbar-mount .hub-overview{padding-left:8px}.toolbar-preferences{padding-left:5px}.toolbar-mount .cloud-state{display:none}}
@media (max-width:1120px){.toolbar-mount .workspace-hub{flex-wrap:wrap}.toolbar-mount .hub-controls{flex:1 1 100%;justify-content:flex-start}.toolbar-mount .hub-overview{border-left:0;padding-left:0;flex:1 1 auto}.toolbar-preferences{margin-left:auto}}
@media (max-width:760px){.toolbar-mount{padding:9px 12px 0}.toolbar-mount .workspace-hub{gap:10px;border-radius:13px!important;padding:10px!important}.toolbar-mount .hub-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.toolbar-mount .hub-controls>button,.toolbar-mount .backup-toggle{font-size:10px;padding:8px 4px;height:38px;min-height:38px}.toolbar-mount .hub-controls #printBtn{gap:4px}.toolbar-mount .hub-controls .backup-toggle{width:100%;gap:3px}.toolbar-mount .hub-controls .backup-toggle .backup-caret{margin-left:0}.toolbar-mount .backup-menu{grid-column:auto}.toolbar-mount .hub-overview{max-width:60%;flex:1 1 auto}.toolbar-mount .hub-status h3{white-space:normal}.toolbar-mount .hub-sync-text{max-width:150px}.toolbar-mount .cloud-chip{font-size:9px!important}.toolbar-preferences{margin-left:auto}.toolbar-mount .hub-lock{height:39px;width:39px;min-width:39px}.topbar{min-height:156px;padding:19px 17px 18px}.topbar h1{font-size:35px}.topbar p{font-size:12px}.topbar .eyebrow{font-size:9px}.top-right{width:auto;justify-content:end}.top-right .light-btn{font-size:9px;max-width:165px}.prototype-pill{display:none}main{padding:15px 12px 35px}.showcase{grid-template-columns:1fr}.showcase-art{min-height:200px}.showcase-links{grid-template-columns:1fr 1fr 1fr}.showcase-links a{flex-direction:column;align-items:flex-start;gap:6px;padding:12px}.showcase-links .showcase-arrow{display:none}.showcase-links strong{font-size:10px}.showcase-links small{font-size:9px}.showcase-icon{width:35px;height:35px;font-size:19px}.softtruf-footer{flex-direction:column;align-items:flex-start;padding:17px}}
@media (max-width:430px){.toolbar-mount .hub-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar-mount .hub-overview{max-width:100%;flex-basis:100%;border-bottom:1px solid #e4ebf1;padding-bottom:7px}.toolbar-preferences{margin-left:0}.toolbar-mount .hub-lock{margin-left:auto}.showcase-links{grid-template-columns:1fr}.showcase-links a{flex-direction:row;align-items:center}.showcase-links strong{font-size:12px}.showcase-links small{font-size:10px}.showcase-links .showcase-arrow{display:block}.topbar h1{font-size:31px}.top-right{max-width:100%}}
/* Dark mode: visual only; stored encrypted user data is never altered. */
html[data-theme="dark"]{color-scheme:dark}html[data-theme="dark"] body{background:#111d2d;color:#e6effa}html[data-theme="dark"] .topbar{background:#16273b;color:#e9f3ff}html[data-theme="dark"] .topbar::before{opacity:.14}html[data-theme="dark"] .topbar p{color:#becbe0}html[data-theme="dark"] .toolbar-mount{background:#16273b}html[data-theme="dark"] .workspace-hub{--fw-toolbar-bg:#20354d;--fw-toolbar-text:#e8f2ff;--fw-toolbar-border:#3c536d;--fw-toolbar-shadow:none}html[data-theme="dark"] .outline-btn,html[data-theme="dark"] .light-btn,html[data-theme="dark"] .icon-btn,html[data-theme="dark"] .backup-toggle{background:#233a53!important;color:#eaf3fd!important;border-color:#49617a!important}html[data-theme="dark"] .card,html[data-theme="dark"] .metric:not(.dark),html[data-theme="dark"] .showcase{background:#1c2e43;color:#eaf2ff;border-color:#3d5368;box-shadow:none}html[data-theme="dark"] .showcase-links a{background:#24394f;color:#eaf3ff;border-color:#3d5267}html[data-theme="dark"] .showcase-links small{color:#b0c1d5}html[data-theme="dark"] .hub-overview,html[data-theme="dark"] .toolbar-preferences{border-color:#3d5267}html[data-theme="dark"] .hub-status h3,html[data-theme="dark"] .toolbar-preferences{color:#edf5ff}html[data-theme="dark"] .hub-sync-text,html[data-theme="dark"] .hub-cloud-icon{color:#cde0ef}html[data-theme="dark"] .theme-switch{background:#15243a;border-color:#445976}html[data-theme="dark"] .theme-option{color:#f2f5fc}html[data-theme="dark"] .theme-option.is-active{color:#e5bb61;background:#34475d}html[data-theme="dark"] .backup-panel{background:#243b53;border-color:#52647b}html[data-theme="dark"] .backup-choice{color:#edf4fd}html[data-theme="dark"] .backup-choice:hover{background:#324b63}html[data-theme="dark"] .backup-choice small{color:#c8d3df}html[data-theme="dark"] input,html[data-theme="dark"] textarea,html[data-theme="dark"] select:not(#languageSelect),html[data-theme="dark"] .day,html[data-theme="dark"] .task-line{background:#263b52;color:#edf4fe;border-color:#466077}html[data-theme="dark"] .day strong{color:#eaf1ff}html[data-theme="dark"] .task-entry{background:#253b53;border-color:#496079}html[data-theme="dark"] .task-entry input{background:transparent}html[data-theme="dark"] .metric strong{color:#f4f9ff}html[data-theme="dark"] .notice:not(.bad):not(.warn){background:#2d4b39;color:#d5f5de;border-color:#466c51}html[data-theme="dark"] .softtruf-footer{background:#16273b;color:#c2d0e1;border-color:#3c5067}html[data-theme="dark"] .softtruf-footer a{color:#b8d9ff}html[data-theme="dark"] .how p,html[data-theme="dark"] .how small,html[data-theme="dark"] .gate p{color:#b5c4d5}html[data-theme="dark"] .task-foot,html[data-theme="dark"] .side-stack textarea,html[data-theme="dark"] .gate-hint{color:#b8c6d5}
@media print{ @page{size:A4;margin:13mm} html,html[data-theme="dark"],body,html[data-theme="dark"] body{background:white!important;color:black!important;print-color-adjust:exact;-webkit-print-color-adjust:exact} .sidebar,.toolbar-mount,.top-right,.softtruf-footer,.showcase,.notice,.gate,#pinGate,.how,.gate-actions,.task-entry,.command-actions,.delete-btn,.task-foot,.backup-menu,.theme-switch{display:none!important} .shell{display:block!important}.main-column{width:100%!important}.topbar,.topbar::before{background:none!important;padding:0 0 12px!important;min-height:0!important;opacity:1!important}.topbar h1{font-size:25pt!important;color:black!important}.topbar p{color:#333!important} main{padding:0!important;max-width:none!important}.content-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}.metrics{grid-template-columns:repeat(3,1fr)!important;gap:6px!important}.metric,.metric.dark,.task-card,.focus-card,.notes-card{background:#fff!important;color:#000!important;border:1px solid #ccc!important;box-shadow:none!important;break-inside:avoid;padding:12px!important;min-height:0!important}.metric strong,.metric.dark strong{color:black!important}.task-card{min-height:0!important}.days{margin-bottom:8px!important}.day{padding:4px!important;min-height:30px!important;background:white!important;color:#111!important}.day strong,.day.selected strong{color:black!important}textarea{border:0!important;color:black!important;background:white!important;resize:none!important}.task-line{background:white!important;color:#000!important;padding:8px!important;border:0!important;border-bottom:1px solid #ddd!important}.task-line .delete-btn{display:none!important}.how,.transfer-dialog{display:none!important} }

/* Prominent save feedback: remains visible while user scrolls, without changing planner structure. */
.save-feedback{position:fixed;right:22px;bottom:22px;z-index:9000;display:flex;align-items:center;gap:11px;max-width:min(430px,calc(100vw - 32px));min-width:min(300px,calc(100vw - 32px));padding:13px 13px;border-radius:14px;border:1px solid #caddeb;background:#eef5ff;color:#153755;box-shadow:0 14px 40px #10243a2f;font-size:13px;font-weight:650;line-height:1.35;pointer-events:auto}
.save-feedback-icon{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:50%;font-size:18px;background:#d7e7fb;color:#225ea4;font-weight:850}
.save-feedback.ok{background:#ecf8eb;color:#205b38;border-color:#aad8b8}.save-feedback.ok .save-feedback-icon{background:#cfedd5;color:#207143}
.save-feedback.warn{background:#fff7e8;color:#80541b;border-color:#f4d598}.save-feedback.warn .save-feedback-icon{background:#ffebc1;color:#a26a1e}
.save-feedback.bad{background:#fff0ee;color:#9b2e2f;border-color:#ebbbba}.save-feedback.bad .save-feedback-icon{background:#f9d2cf;color:#b82b28}
.save-feedback-text{flex:1;min-width:0}.save-feedback-close{flex:0 0 25px;width:25px;height:25px;display:grid;place-items:center;border:0;background:transparent;color:inherit;font-size:22px;border-radius:7px;cursor:pointer}
.save-feedback-close:hover{background:#0000000c}.toolbar-mount .btn-sync.is-syncing span:first-child{display:inline-block;animation:fw-spin 1s linear infinite}
@keyframes fw-spin{to{transform:rotate(360deg)}}
html[data-theme="dark"] .save-feedback{box-shadow:0 14px 40px #0009}
@media(max-width:760px){.save-feedback{bottom:16px;right:12px;left:12px;min-width:0;max-width:none}}
@media print{.save-feedback{display:none!important}}
