.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 .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{background:var(--p-brand);border-radius:3px;height:100%}.planner-app .goal-pct{color:var(--p-brand);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}}
