.planner-app{--p-brand:#1400ff;--p-brand-bg:#f0f2f8;--p-brand-bg-soft:#f5f6fa;--p-surface:#fff;--p-text:#0a0a1a;--p-text-body:#3a3a50;--p-text-muted:#7a7a90;--p-border:#e0e2ea;--p-green:#1a8a4a;--p-green-bg:#e8f8ee;--p-orange:#d4720a;--p-orange-bg:#fef3e8;--p-red:#d42b2b;--p-purple:#7a3ad4;background:var(--p-brand-bg);min-height:80vh;padding:30px 20px}.planner-app .p-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.planner-app .p-header h1{color:var(--p-brand);align-items:center;gap:12px;font-size:25px;font-weight:900;display:flex}.planner-app .user-input{border:1.5px solid var(--p-border);background:var(--p-surface);border-radius:10px;outline:none;width:210px;padding:9px 16px;font-family:inherit;font-size:15px;font-weight:600}.planner-app .user-input:focus{border-color:var(--p-brand)}.planner-app .progress-timeline{border:1.5px solid var(--p-border);background:linear-gradient(135deg,#fff 0%,#f0f2ff 100%);border-radius:16px;margin-bottom:20px;padding:18px 24px;box-shadow:0 2px 12px #1400ff0a}.planner-app .pt-title{color:var(--p-text);align-items:center;gap:8px;margin-bottom:14px;font-size:14px;font-weight:800;display:flex}.planner-app .pt-icon{font-size:18px}.planner-app .pt-levels{justify-content:space-between;align-items:center;gap:0;display:flex}.planner-app .pt-level{cursor:pointer;background:#ffffffb3;border:1.5px solid #0000;border-radius:12px;flex:1;align-items:center;gap:10px;padding:12px 14px;transition:all .2s;display:flex;position:relative}.planner-app .pt-level:hover{border-color:var(--p-brand);background:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #1400ff14}.planner-app .pt-level.completed{border-color:var(--p-green);background:linear-gradient(135deg,#e8f8ee 0%,#d1fae5 100%)}.planner-app .pt-level.almost{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border-color:#f59e0b}.planner-app .pt-level-icon{flex-shrink:0;font-size:22px}.planner-app .pt-level-info{flex:1;min-width:0}.planner-app .pt-level-label{color:var(--p-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:800}.planner-app .pt-level-bar{background:var(--p-border);border-radius:4px;height:8px;margin-bottom:3px;overflow:hidden}.planner-app .pt-level-fill{border-radius:4px;height:100%;transition:width .5s,background .3s}.planner-app .pt-level-pct{font-size:14px;font-weight:900}.planner-app .pt-connector{color:var(--p-text-muted);opacity:.4;flex-shrink:0;padding:0 4px;font-size:16px}.planner-app .pt-badge{font-size:14px;animation:1s infinite pt-bounce;position:absolute;top:-6px;right:-4px}@keyframes pt-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.planner-app .celebration-toast{z-index:10000;background:linear-gradient(135deg,#1400ff 0%,#7c3aed 100%);border-radius:16px;min-width:320px;max-width:500px;padding:0;animation:.4s ct-slidein;position:fixed;top:24px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 32px #1400ff4d}@keyframes ct-slidein{0%{opacity:0;transform:translate(-50%)translateY(-100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}.planner-app .ct-content{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.planner-app .ct-msg{color:#fff;font-size:15px;font-weight:700;line-height:1.4}.planner-app .ct-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.planner-app .ct-progress{background:#ffffff4d;height:3px;animation:4s linear forwards ct-shrink}@keyframes ct-shrink{0%{width:100%}to{width:0%}}.planner-app .cascade-overlay{z-index:9000;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s cascade-fadein;display:flex;position:fixed;inset:0}@keyframes cascade-fadein{0%{opacity:0}to{opacity:1}}.planner-app .cascade-panel{background:#fff;border-radius:20px;width:100%;max-width:600px;max-height:85vh;animation:.3s cascade-slideup;overflow-y:auto;box-shadow:0 20px 60px #0003}@keyframes cascade-slideup{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.planner-app .cascade-header{border-bottom:1px solid var(--p-border);justify-content:space-between;align-items:flex-start;padding:24px 24px 16px;display:flex}.planner-app .cascade-label{text-transform:uppercase;letter-spacing:1px;color:var(--p-text-muted);margin-bottom:4px;font-size:11px;font-weight:700}.planner-app .cascade-goal-name{color:var(--p-brand);font-size:18px;font-weight:800}.planner-app .cascade-close{background:var(--p-brand-bg-soft);cursor:pointer;width:32px;height:32px;color:var(--p-text-muted);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.planner-app .cascade-progress{background:var(--p-brand-bg-soft);padding:16px 24px}.planner-app .cascade-prog-bar{background:var(--p-border);border-radius:5px;height:10px;margin-bottom:6px;overflow:hidden}.planner-app .cascade-prog-fill{border-radius:5px;height:100%;transition:width .5s}.planner-app .cascade-prog-text{color:var(--p-text-body);font-size:12px;font-weight:700}.planner-app .cascade-section{border-bottom:1px solid var(--p-brand-bg-soft);padding:16px 24px}.planner-app .cascade-section h4{color:var(--p-text);margin-bottom:12px;font-size:14px;font-weight:800}.planner-app .cascade-goals{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.planner-app .cascade-goal-item{background:var(--p-brand-bg-soft);border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.planner-app .cascade-goal-item.done{opacity:.5;text-decoration:line-through}.planner-app .cascade-check{border:2px solid var(--p-border);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:flex}.planner-app .cascade-goal-item.done .cascade-check{background:var(--p-green);border-color:var(--p-green);color:#fff}.planner-app .cascade-del{color:var(--p-text-muted);cursor:pointer;opacity:0;margin-left:auto;font-size:14px;transition:opacity .15s}.planner-app .cascade-goal-item:hover .cascade-del{opacity:.6}.planner-app .cascade-add{gap:8px;display:flex}.planner-app .cascade-add input{border:1.5px solid var(--p-border);background:var(--p-brand-bg-soft);border-radius:10px;outline:none;flex:1;padding:9px 12px;font-family:inherit;font-size:13px}.planner-app .cascade-add input:focus{border-color:var(--p-brand)}.planner-app .cascade-add button{background:var(--p-brand);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:9px 18px;font-family:inherit;font-size:15px;font-weight:700}.planner-app .cascade-cheer{text-align:center;padding:14px 24px;font-size:15px;font-weight:700;animation:2s infinite cascade-cheer-pulse}.planner-app .cascade-cheer.fire{color:#b45309;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.planner-app .cascade-cheer.complete{color:var(--p-green);background:linear-gradient(135deg,#e8f8ee,#d1fae5)}@keyframes cascade-cheer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.planner-app .cascade-ai-section{border-bottom:1px solid var(--p-brand-bg-soft);padding:16px 24px}.planner-app .cascade-ai-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1400ff 0%,#7c3aed 100%);border:none;border-radius:12px;width:100%;padding:14px 20px;font-family:inherit;font-size:15px;font-weight:800;transition:all .2s;box-shadow:0 4px 16px #1400ff33}.planner-app .cascade-ai-btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px #1400ff4d}.planner-app .cascade-ai-btn:disabled{opacity:.6;cursor:wait}.planner-app .cascade-ai-loading{background:var(--p-brand-bg-soft);color:var(--p-brand);border-radius:12px;align-items:center;gap:12px;padding:14px 20px;font-size:13px;font-weight:600;display:flex}.planner-app .cascade-ai-spinner{border:3px solid var(--p-border);border-top-color:var(--p-brand);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.8s linear infinite cascade-spin}@keyframes cascade-spin{to{transform:rotate(360deg)}}.planner-app .cascade-ai-error{color:var(--p-red);background:#d42b2b0f;border-radius:10px;padding:12px 16px;font-size:12px;font-weight:600}.planner-app .cascade-ai-result{border-bottom:1px solid var(--p-brand-bg-soft)}.planner-app .cascade-ai-summary{color:var(--p-text-body);background:linear-gradient(135deg,#eff6ff 0%,#eef2ff 100%);align-items:flex-start;gap:10px;padding:14px 24px;font-size:13px;font-weight:600;line-height:1.5;display:flex}.planner-app .cascade-ai-summary-icon{flex-shrink:0;margin-top:1px;font-size:18px}.planner-app .cascade-ai-preview{padding:16px 24px}.planner-app .cascade-ai-preview-section{margin-bottom:14px}.planner-app .cascade-ai-preview-section h5{color:var(--p-brand);margin-bottom:6px;font-size:12px;font-weight:800}.planner-app .cascade-ai-item{color:var(--p-text-body);padding:4px 0;font-size:13px;line-height:1.5}.planner-app .cascade-ai-cat{color:var(--p-brand);background:#1400ff0f;border-radius:4px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:700}.planner-app .cascade-ai-actions{gap:8px;margin-top:14px;display:flex}.planner-app .cascade-ai-apply{background:var(--p-green);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:2;padding:12px 16px;font-family:inherit;font-size:13px;font-weight:800;transition:all .15s}.planner-app .cascade-ai-apply:hover{opacity:.9;transform:translateY(-1px)}.planner-app .cascade-ai-retry{background:var(--p-brand-bg-soft);color:var(--p-brand);border:1.5px solid var(--p-border);cursor:pointer;border-radius:10px;flex:1;padding:12px 16px;font-family:inherit;font-size:13px;font-weight:700;transition:all .15s}.planner-app .cascade-ai-retry:hover{border-color:var(--p-brand)}.planner-app .cascade-ai-applied{background:var(--p-green-bg);color:var(--p-green);text-align:center;padding:14px 24px;font-size:13px;font-weight:700}.planner-app .goal-cascade-badge{color:var(--p-brand);cursor:pointer;background:#1400ff0f;border-radius:6px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:700;transition:all .15s}.planner-app .goal-cascade-badge:hover{background:#1400ff1f}.planner-app .tabs{background:var(--p-surface);border:1.5px solid var(--p-border);border-radius:12px;gap:4px;margin-bottom:20px;padding:4px;display:flex;overflow-x:auto}.planner-app .tab{color:var(--p-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:10px;padding:11px 20px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.planner-app .tab:hover{color:var(--p-text);background:var(--p-brand-bg-soft)}.planner-app .tab.active{background:var(--p-brand);color:#fff}.planner-app .nav-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.planner-app .nav-left{align-items:center;gap:10px;display:flex}.planner-app .nav-btn{border:1.5px solid var(--p-border);background:var(--p-surface);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.planner-app .nav-btn:hover{border-color:var(--p-brand)}.planner-app .nav-title{text-align:center;min-width:220px;font-size:18px;font-weight:800}.planner-app .today-btn{border:1.5px solid var(--p-brand);background:var(--p-surface);color:var(--p-brand);cursor:pointer;border-radius:8px;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:700}.planner-app .prog-mini{align-items:center;gap:10px;display:flex}.planner-app .pm-bar{background:var(--p-border);border-radius:3px;width:120px;height:6px;overflow:hidden}.planner-app .pm-fill{background:linear-gradient(90deg,var(--p-brand),var(--p-green));border-radius:3px;height:100%;transition:width .3s}.planner-app .pm-txt{color:var(--p-brand);font-size:14px;font-weight:800}.planner-app .card{background:var(--p-surface);border:1.5px solid var(--p-border);border-radius:16px;margin-bottom:16px;padding:24px}.planner-app .card h3{color:var(--p-brand);align-items:center;gap:8px;margin-bottom:14px;font-size:16px;font-weight:800;display:flex}.planner-app .card h3 .badge{color:var(--p-brand);background:#1400ff14;border-radius:5px;padding:3px 10px;font-size:11px;font-weight:700}.planner-app .goal-list{flex-direction:column;gap:8px;display:flex}.planner-app .goal{background:var(--p-brand-bg-soft);border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.planner-app .goal-check{border:2px solid var(--p-border);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:flex}.planner-app .goal.done .goal-check{background:var(--p-green);border-color:var(--p-green);color:#fff}.planner-app .goal.done .goal-text{color:var(--p-text-muted);text-decoration:line-through}.planner-app .goal-text{flex:1;font-size:15px;font-weight:600}.planner-app .goal-prog{background:var(--p-border);border-radius:3px;flex-shrink:0;width:60px;height:5px;overflow:hidden}.planner-app .goal-prog-fill{border-radius:3px;height:100%;transition:width .3s,background .3s}.planner-app .goal-pct{text-align:right;min-width:32px;font-size:11px;font-weight:800}.planner-app .goal-del{color:var(--p-text-muted);cursor:pointer;opacity:0;font-size:14px;transition:opacity .15s}.planner-app .goal:hover .goal-del{opacity:.6}.planner-app .add-row{gap:8px;margin-top:10px;display:flex}.planner-app .add-row input{border:1.5px solid var(--p-border);background:var(--p-brand-bg-soft);border-radius:10px;outline:none;flex:1;padding:9px 12px;font-family:inherit;font-size:14px}.planner-app .add-row input:focus{border-color:var(--p-brand)}.planner-app .add-row button{background:var(--p-brand);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:700}.planner-app .task{cursor:pointer;border-left:3px solid;border-radius:8px;align-items:center;gap:8px;margin-bottom:3px;padding:6px 10px;font-size:14px;font-weight:600;display:flex}.planner-app .task.done{opacity:.4;text-decoration:line-through}.planner-app .task .tc{cursor:pointer;border:2px solid;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;display:flex}.planner-app .task.done .tc{color:#fff}.planner-app .task .tt{opacity:.7;font-size:10px;font-weight:700}.planner-app .task .tx{flex:1}.planner-app .task .td{opacity:0;cursor:pointer;font-size:13px;transition:opacity .15s}.planner-app .task:hover .td{opacity:.5}.planner-app .cat-mkt{border-color:var(--p-brand);color:var(--p-brand);background:#1400ff0a}.planner-app .cat-mkt .tc{border-color:var(--p-brand)}.planner-app .cat-mkt.done .tc{background:var(--p-brand)}.planner-app .cat-ops{background:var(--p-green-bg);border-color:var(--p-green);color:var(--p-green)}.planner-app .cat-ops .tc{border-color:var(--p-green)}.planner-app .cat-ops.done .tc{background:var(--p-green)}.planner-app .cat-train{background:var(--p-orange-bg);border-color:var(--p-orange);color:var(--p-orange)}.planner-app .cat-train .tc{border-color:var(--p-orange)}.planner-app .cat-train.done .tc{background:var(--p-orange)}.planner-app .cat-personal{border-color:var(--p-purple);color:var(--p-purple);background:#7a3ad40a}.planner-app .cat-personal .tc{border-color:var(--p-purple)}.planner-app .cat-personal.done .tc{background:var(--p-purple)}.planner-app .journal textarea{border:1.5px solid var(--p-border);resize:vertical;background:var(--p-brand-bg-soft);border-radius:12px;outline:none;width:100%;min-height:80px;padding:12px;font-family:inherit;font-size:14px;line-height:1.6}.planner-app .journal textarea:focus{border-color:var(--p-brand)}.planner-app .journal label{color:var(--p-text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.planner-app .report-grid{grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.planner-app .rbox{text-align:center;border-radius:12px;padding:14px}.planner-app .rbox.keep{background:var(--p-green-bg)}.planner-app .rbox.drop{background:#d42b2b0f}.planner-app .rbox.improve{background:#1400ff0a}.planner-app .rbox h5{text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:11px;font-weight:800}.planner-app .rbox.keep h5{color:var(--p-green)}.planner-app .rbox.drop h5{color:var(--p-red)}.planner-app .rbox.improve h5{color:var(--p-brand)}.planner-app .rbox textarea{border:1px solid var(--p-border);resize:vertical;background:#fff9;border-radius:8px;outline:none;width:100%;min-height:70px;padding:8px;font-family:inherit;font-size:13px}.planner-app .stats-row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.planner-app .sc{background:var(--p-brand-bg-soft);text-align:center;border-radius:12px;flex:1;min-width:90px;padding:12px}.planner-app .sc .num{color:var(--p-brand);font-size:22px;font-weight:900}.planner-app .sc .lab{color:var(--p-text-muted);text-transform:uppercase;margin-top:2px;font-size:10px;font-weight:700}.planner-app .sc.green .num{color:var(--p-green)}.planner-app .sc.orange .num{color:var(--p-orange)}.planner-app .split{grid-template-columns:1fr 300px;align-items:start;gap:16px;display:grid}.planner-app .sidebar{flex-direction:column;gap:12px;display:flex}.planner-app .timeline{border:1.5px solid var(--p-border);background:var(--p-surface);border-radius:16px;overflow:hidden}.planner-app .hr{border-bottom:1px solid var(--p-brand-bg-soft);min-height:54px;display:flex}.planner-app .hl{width:60px;color:var(--p-text-muted);text-align:right;border-right:1px solid var(--p-brand-bg-soft);flex-shrink:0;padding:6px 8px;font-size:13px;font-weight:700}.planner-app .hc{flex:1;padding:4px 8px}.planner-app .legend{flex-wrap:wrap;gap:8px;display:flex}.planner-app .legend-item{color:var(--p-text-body);align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.planner-app .legend-dot{border-radius:3px;width:10px;height:10px}.planner-app .wk-grid{border:1.5px solid var(--p-border);background:var(--p-border);border-radius:16px;grid-template-columns:56px repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.planner-app .wk-corner{background:var(--p-brand-bg-soft);padding:5px}.planner-app .wk-dh{text-align:center;background:var(--p-brand-bg-soft);color:var(--p-text-muted);padding:8px 3px;font-size:11px;font-weight:700}.planner-app .wk-dh.today{color:var(--p-brand);background:#1400ff1a}.planner-app .wk-dh .wd{font-size:18px;font-weight:900;display:block}.planner-app .wk-hl{color:var(--p-text-muted);text-align:right;background:var(--p-surface);padding:4px 5px;font-size:10px;font-weight:700}.planner-app .wk-cell{background:var(--p-surface);min-height:42px;padding:2px 3px}.planner-app .wk-cell .task{border-left-width:2px;margin-bottom:1px;padding:3px 4px;font-size:10px}.planner-app .wk-cell .tc{width:14px;height:14px;font-size:8px}.planner-app .wk-cell .tt,.planner-app .wk-cell .td{display:none}.planner-app .wk-sum{border-top:1.5px solid var(--p-border);grid-template-columns:56px repeat(7,1fr);display:grid}.planner-app .wk-sc{text-align:center;background:var(--p-surface);border-right:1px solid var(--p-brand-bg-soft);padding:6px;font-size:10px;font-weight:700}.planner-app .mo-grid{border:1.5px solid var(--p-border);background:var(--p-border);border-radius:16px;grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.planner-app .mo-hdr{text-align:center;color:var(--p-text-muted);background:var(--p-brand-bg-soft);padding:8px;font-size:13px;font-weight:700}.planner-app .mo-day{background:var(--p-surface);cursor:pointer;min-height:85px;padding:6px}.planner-app .mo-day:hover{background:var(--p-brand-bg-soft)}.planner-app .mo-day.today{background:#1400ff08}.planner-app .mo-day.other{opacity:.2}.planner-app .mo-num{margin-bottom:4px;font-size:14px;font-weight:800}.planner-app .mo-day.today .mo-num{color:var(--p-brand)}.planner-app .mo-day .task{border-left-width:2px;margin-bottom:1px;padding:2px 4px;font-size:9px}.planner-app .mo-day .tc,.planner-app .mo-day .tt,.planner-app .mo-day .td{display:none}.planner-app .mo-prog{background:var(--p-border);border-radius:2px;height:4px;margin-top:3px;overflow:hidden}.planner-app .mo-prog-fill{background:var(--p-green);border-radius:2px;height:100%}.planner-app .month-block{background:var(--p-brand-bg-soft);text-align:center;cursor:pointer;border-radius:12px;padding:18px;transition:all .15s}.planner-app .month-block:hover{background:#1400ff14}.planner-app .month-block .mb-name{color:var(--p-brand);font-size:18px;font-weight:900}.planner-app .month-block .mb-count{color:var(--p-text-muted);margin-top:5px;font-size:13px}.planner-app .hr-now{background:#1400ff08}.planner-app .hr-now .hl{color:var(--p-brand);font-weight:900}.planner-app .recurring-badge{opacity:.7;flex-shrink:0;font-size:12px;font-weight:800}.planner-app .recurring-task{cursor:pointer;border-style:dashed}.planner-app .recurring-task:hover{opacity:.8}@media (max-width:768px){.planner-app .split,.planner-app .report-grid{grid-template-columns:1fr}.planner-app{padding:20px 10px}.planner-app .pt-levels{flex-direction:column;gap:8px}.planner-app .pt-connector{transform:rotate(90deg)}.planner-app .pt-level{width:100%}.planner-app .cascade-panel{max-height:90vh}.planner-app .cascade-overlay{padding:10px}}
