:root{
      --bg:#f6f7fb; --panel:#ffffff; --text:#1f2937; --muted:#6b7280;
      --line:#e5e7eb; --accent:#4f46e5; --accent-soft:#eef2ff;
      --event:#dbeafe; --task:#ecfdf5; --danger:#fee2e2;
      --shadow:0 10px 30px rgba(15,23,42,.07);
    }
    *{box-sizing:border-box}
    body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    .app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
    aside{background:#111827;color:white;padding:24px 16px;position:sticky;top:0;height:100vh}
    .brand{font-weight:800;font-size:20px;margin:0 8px 24px}
    nav button{width:100%;display:flex;gap:10px;align-items:center;border:0;background:transparent;color:#d1d5db;padding:12px;border-radius:12px;text-align:left;margin-bottom:6px;cursor:grab}
    nav button.dragging{opacity:.45}
    nav button.drag-over{outline:2px dashed #818cf8}
    nav button.active, nav button:hover{background:#1f2937;color:#fff}
    main{padding:28px;max-width:1400px;width:100%;margin:auto}
    .topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
    .topbar h1{margin:0;font-size:28px}
    .actions{display:flex;gap:10px;flex-wrap:wrap}
    .btn{border:0;border-radius:10px;padding:10px 14px;background:var(--accent);color:white;font-weight:700}
    .btn.secondary{background:white;color:var(--text);border:1px solid var(--line)}
    .grid{display:grid;gap:18px}
    .grid.two{grid-template-columns:1.25fr .75fr}
    .card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
    .card h2,.card h3{margin-top:0}
    .muted{color:var(--muted)}
    .hidden{display:none!important}
    .stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
    .stat{background:white;border:1px solid var(--line);border-radius:14px;padding:14px}
    .stat strong{display:block;font-size:24px}
    .list{display:flex;flex-direction:column;gap:10px}
    .item{border:1px solid var(--line);border-radius:12px;padding:12px;background:white;position:relative}
    .item-row{display:flex;align-items:flex-start;gap:10px;padding-right:28px}
    .corner-check{position:absolute;top:10px;right:10px;width:20px;height:20px;accent-color:var(--accent)}
    .priority-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
    .priority-badge{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800}
    .urgent{background:#fee2e2;color:#991b1b}
    .not-urgent{background:#f3f4f6;color:#4b5563}
    .important{background:#fef3c7;color:#92400e}
    .not-important{background:#e0f2fe;color:#075985}
    .item .meta{font-size:12px;color:var(--muted);margin-top:4px}
    .badge{display:inline-flex;padding:3px 8px;border-radius:999px;background:var(--accent-soft);color:#3730a3;font-size:12px;font-weight:700}
    .task{background:var(--task)}
    .event{background:var(--event)}
    .routine{background:#fff7ed}
    .calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:10px}
    .calendar-controls{display:flex;gap:8px}
    .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
    .day-name{font-size:12px;text-align:center;color:var(--muted);font-weight:700}
    .day{min-height:110px;border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff}
    .day.drag-over{outline:2px dashed var(--accent);background:var(--accent-soft)}
    .day.today{outline:2px solid var(--accent)}
    .day-num{font-weight:800;margin-bottom:6px}
    .mini{font-size:11px;padding:4px 6px;border-radius:6px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:grab}
    .mini.task{border-left:3px solid #10b981}
    .mini.event{border-left:3px solid #3b82f6}
    .mini.routine{border-left:3px solid #f97316}
    .toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
    .eisenhower-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
    .eisenhower-cell{border:1px solid var(--line);border-radius:16px;padding:14px;min-height:220px;background:white}
    .eisenhower-cell.matrix-drag-over{outline:3px dashed var(--accent);transform:scale(1.01)}
    .eisenhower-cell h3{margin:0 0 10px}
    .eisenhower-cell.urgent-important{background:#fff1f2;border-color:#fecdd3}
    .eisenhower-cell.urgent-not-important{background:#fff7ed;border-color:#fed7aa}
    .eisenhower-cell.not-urgent-important{background:#eff6ff;border-color:#bfdbfe}
    .eisenhower-cell.not-urgent-not-important{background:#f8fafc;border-color:#e2e8f0}
    .matrix-task{border:1px solid rgba(15,23,42,.08);border-radius:10px;padding:9px;margin-top:8px;cursor:grab}
    .matrix-task.dragging{opacity:.5;cursor:grabbing}
    .unrated-tasks{margin-top:16px;border:1px dashed #cbd5e1;border-radius:16px;padding:14px;background:#f8fafc}
    .planning-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .planning-group{border:1px solid var(--line);border-radius:16px;padding:14px;background:white;min-height:180px}
    .month-weeks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
    .months-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
    .month-plan-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:white;min-height:190px}
    .month-plan-card.matrix-drag-over{outline:3px dashed var(--accent);transform:scale(1.01)}
    .month-picker-panel{margin-top:12px;border:1px dashed var(--line);border-radius:14px;padding:12px;background:#f8fafc}
    @media(max-width:1000px){.months-plan-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:700px){.months-plan-grid{grid-template-columns:1fr}}
    .month-week-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:white;min-height:180px}
    .month-week-card.matrix-drag-over{outline:3px dashed var(--accent);transform:scale(1.01)}
    @media(max-width:900px){.month-weeks-grid{grid-template-columns:1fr}}
    .planning-group h3{margin:0 0 10px}
    .planning-drop{min-height:90px}
    .mood-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0}
    .mood-btn{border:1px solid var(--line);background:white;border-radius:12px;padding:10px 6px;font-size:24px;cursor:pointer}
    .mood-btn small{display:block;font-size:10px;margin-top:4px;color:var(--muted)}
    .mood-btn.active{outline:3px solid var(--accent);background:var(--accent-soft)}
    .journal-entry{border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:10px;background:white}
    .journal-entry .mood{font-size:26px}
    @media(max-width:900px){.planning-groups{grid-template-columns:1fr}}
    @media(max-width:900px){.eisenhower-grid{grid-template-columns:1fr}}
    .toolbar input,.toolbar select{padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:white}
    .note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
    .note{min-height:150px;background:#fffef0;border:1px solid #f4e9a7;border-radius:14px;padding:14px;white-space:pre-wrap}
    .quarter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
    .quarter{min-height:180px}
    .area-manager{display:grid;grid-template-columns:320px 1fr;gap:18px}
    .area-list{display:flex;flex-direction:column;gap:10px}
    .area-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:white;cursor:pointer}
    .area-card.active{outline:2px solid var(--accent);background:var(--accent-soft)}
    .area-edit-row{display:flex;gap:8px;align-items:center;margin-top:12px}
    .area-edit-row input{flex:1;border:1px solid var(--line);border-radius:10px;padding:9px}
    .area-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
    .subarea-row{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);padding:9px 0;cursor:pointer;border-radius:8px}
    .subarea-row:hover{background:#f8fafc}
    .subarea-row.active{background:var(--accent-soft);outline:1px solid #c7d2fe}
    .area-task-panel{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}
    .context-menu{position:fixed;z-index:100;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px rgba(15,23,42,.22);padding:6px;min-width:150px}
    .context-menu button{width:100%;border:0;background:white;text-align:left;padding:9px 10px;border-radius:8px}
    .context-menu button:hover{background:#f3f4f6}
    .context-menu .danger{color:#b91c1c}
    .mindmap-wrap{overflow:auto;padding:10px;min-height:680px;max-height:76vh;cursor:grab;touch-action:none;user-select:none}
    .bubble-map{position:relative;width:1600px;height:1100px;min-width:1600px;min-height:1100px}
    .bubble-center,.bubble-area,.bubble-subarea,.bubble-task{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:50%;padding:10px;box-shadow:var(--shadow);cursor:pointer;transition:transform .15s ease}
    .bubble-center:hover,.bubble-area:hover,.bubble-subarea:hover,.bubble-task:hover{transform:scale(1.04)}
    .bubble-center{width:150px;height:150px;background:var(--accent);color:white;font-weight:800;font-size:20px;z-index:5}
    .bubble-area{width:120px;height:120px;background:#eef2ff;border:2px solid #c7d2fe;font-weight:800;z-index:4}
    .bubble-subarea{width:92px;height:92px;background:white;border:2px solid var(--line);font-weight:700;font-size:13px;z-index:3}
    .bubble-task{width:72px;height:72px;background:var(--task);border:2px solid #a7f3d0;font-size:11px;z-index:2}
    .bubble-task.done{opacity:.55;text-decoration:line-through}
    .bubble-line{position:absolute;height:2px;background:#cbd5e1;transform-origin:0 50%;z-index:1}
    .mind-empty{margin-top:8px;color:var(--muted);font-size:13px}
    .overdue-box{border:1px solid #fecaca;background:#fff7f7;border-radius:14px;padding:12px}
    .overdue-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
    .agenda-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
    .agenda-summary{margin-bottom:18px}
    .agenda-days{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
    .agenda-day{border:1px solid var(--line);border-radius:14px;background:white;min-height:220px;padding:10px}
    .week-time-grid{overflow:auto;border:1px solid var(--line);border-radius:14px;background:white}
    .week-time-header{display:grid;grid-template-columns:80px repeat(7,minmax(150px,1fr));position:sticky;top:0;background:white;z-index:5;border-bottom:1px solid var(--line)}
    .week-time-header>div{padding:10px;border-right:1px solid var(--line);font-weight:800;text-align:center}
    .week-time-body{display:grid;grid-template-columns:80px repeat(7,minmax(150px,1fr));position:relative}
    .week-time-label{border-right:1px solid var(--line);border-bottom:1px solid #f1f5f9;padding:3px 6px;font-size:11px;color:var(--muted);text-align:right;min-height:26px}
    .week-time-cell{border-right:1px solid var(--line);border-bottom:1px solid #f1f5f9;min-height:26px;position:relative;cursor:crosshair}
    .week-time-cell:hover{background:#f8fafc}
    .week-time-cell.selected-range{background:#a5b4fc}
    .week-time-cell.time-drop-target{background:#dbeafe;outline:1px dashed #3b82f6}
    .week-time-cell.major{border-bottom-color:#cbd5e1}
    .week-day-column{position:relative}
    .week-block{position:absolute;left:4px;right:4px;border-radius:8px;padding:4px 6px;font-size:11px;overflow:hidden;z-index:3;box-shadow:0 2px 8px rgba(15,23,42,.08);cursor:grab}
    .week-block.dragging{opacity:.55;cursor:grabbing}
    .week-resize-handle{position:absolute;left:0;right:0;bottom:0;height:10px;cursor:ns-resize;background:linear-gradient(transparent,rgba(15,23,42,.18))}
    .agenda-day.today{outline:2px solid var(--accent)}
    .agenda-entry{margin-top:8px;padding:8px;border-radius:10px;font-size:12px}
    .agenda-time{font-weight:800}
    .view-switch{display:flex;gap:6px;flex-wrap:wrap}
    .view-switch button.active{background:var(--accent);color:white;border-color:var(--accent)}
    .time-layout{display:grid;grid-template-columns:360px 1fr;gap:22px;align-items:start}
    .time-wheel{width:300px;height:300px;border-radius:50%;margin:12px auto;position:relative;background:#e5e7eb}
    .time-wheel:after{content:"";position:absolute;inset:62px;background:white;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line)}
    .time-wheel-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:2;text-align:center;pointer-events:none}
    .time-wheel-center strong{font-size:28px}
    .legend-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
    .legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:8px}
    .timeblock-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
    .timeblock-controls input,.timeblock-controls select{border:1px solid var(--line);border-radius:9px;padding:8px;background:white}
    .day-timeline{border:1px solid var(--line);border-radius:14px;overflow:auto;max-height:72vh;background:white}
    .night-block{display:grid;grid-template-columns:90px 1fr;border-bottom:1px solid var(--line);min-height:72px;background:#f8fafc}
    .night-block .time-label{padding:12px;border-right:1px solid var(--line);font-weight:700;color:var(--muted)}
    .night-block .night-content{padding:10px;position:relative}
    .timeline-row{display:grid;grid-template-columns:90px 1fr;min-height:26px;border-bottom:1px solid #f1f5f9}
    .timeline-row.major{border-bottom-color:#cbd5e1}
    .timeline-time{padding:3px 8px;border-right:1px solid var(--line);font-size:11px;color:var(--muted);text-align:right}
    .timeline-slot{position:relative;cursor:crosshair}
    .timeline-slot:hover{background:#f8fafc}
    .timeline-slot.selecting{background:#c7d2fe}
    .timeline-slot.selected-range{background:#a5b4fc}
    .timeline-selection-label{position:fixed;z-index:50;background:#111827;color:white;padding:7px 10px;border-radius:8px;font-size:12px;font-weight:700;pointer-events:none;box-shadow:0 8px 20px rgba(15,23,42,.2)}
    .timeline-event{position:absolute;left:4px;right:4px;border-radius:8px;padding:4px 7px;font-size:11px;overflow:hidden;z-index:3;box-shadow:0 2px 8px rgba(15,23,42,.08);cursor:grab}
    .timeline-event.dragging{opacity:.55;cursor:grabbing}
    .timeline-event.resizing{opacity:.8;cursor:ns-resize}
    .timeline-resize-handle{position:absolute;left:0;right:0;bottom:0;height:10px;cursor:ns-resize;background:linear-gradient(transparent,rgba(15,23,42,.18));border-radius:0 0 8px 8px}
    .timeline-continuation{font-size:10px;font-weight:700;opacity:.8;margin-top:3px}
    .timeline-slot.time-drop-target{background:#dbeafe;outline:1px dashed #3b82f6}
    .timeline-event.task{background:var(--task);border-left:4px solid #10b981}
    .timeline-event.event{background:var(--event);border-left:4px solid #3b82f6}
    .timeline-event.routine{background:#fff7ed;border-left:4px solid #f97316}
    .hidden-range-note{padding:10px 12px;background:#f8fafc;border:1px dashed var(--line);border-radius:10px;color:var(--muted);margin:8px 0}
    .hour-expander{font-size:10px;border:0;background:transparent;color:var(--accent);padding:0 4px;cursor:pointer}
    dialog{border:0;border-radius:18px;padding:0;max-width:620px;width:calc(100% - 24px);box-shadow:0 24px 80px rgba(15,23,42,.25)}
    dialog::backdrop{background:rgba(15,23,42,.45)}
    .modal{padding:20px}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .field{display:flex;flex-direction:column;gap:6px}
    .field.full{grid-column:1/-1}
    .field input,.field select,.field textarea{border:1px solid var(--line);border-radius:10px;padding:10px;background:white}
    .weekday-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
    .weekday-picker label{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;padding:8px 4px;background:white;font-size:12px;cursor:pointer}
    .weekday-picker input{margin-right:4px}
    .modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
    .check{width:18px;height:18px;margin-top:2px}
    .emoji-trigger{display:flex;align-items:center;justify-content:center;min-height:42px;font-size:24px;border:1px solid var(--line);border-radius:10px;background:white;cursor:pointer}
    .color-palette{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;max-height:340px;overflow:auto}
    .color-choice{width:38px;height:38px;border-radius:10px;border:2px solid white;box-shadow:0 0 0 1px var(--line);cursor:pointer}
    .color-choice:hover{transform:scale(1.05)}
    .color-preview{width:42px;height:42px;border-radius:10px;border:1px solid var(--line);cursor:pointer}
    .emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;max-height:360px;overflow:auto}
    .emoji-choice{border:1px solid var(--line);background:white;border-radius:10px;font-size:24px;padding:8px;cursor:pointer}
    .emoji-choice:hover{background:var(--accent-soft)}
    .brain-dump-button{position:fixed;right:22px;bottom:22px;z-index:20;border:0;border-radius:999px;padding:14px 18px;background:#111827;color:white;font-weight:800;box-shadow:0 12px 30px rgba(15,23,42,.25)}
    .brain-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
    .brain-entry{border:1px solid var(--line);border-radius:12px;padding:12px;background:white}
    .brain-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
    .suggestion{background:var(--accent-soft);border:1px solid #c7d2fe;border-radius:10px;padding:10px;margin-top:10px;font-size:13px}
    .mobile-nav{display:none}
    @media(max-width:900px){
      .app{display:block}
      aside{display:none}
      main{padding:16px 14px 86px}
      .grid.two,.quarter-grid,.note-grid,.stat-row,.area-manager,.time-layout{grid-template-columns:1fr}
      .agenda-days{grid-template-columns:1fr}
      .week-time-header,.week-time-body{grid-template-columns:70px repeat(7,180px)}
      .calendar-grid{gap:4px}
      .day{min-height:82px;padding:5px}
      .mini{font-size:10px}
      .mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);z-index:10}
      .mobile-nav button{border:0;background:white;padding:10px 4px;font-size:11px}
      .topbar{align-items:flex-start}
      .brain-dump-button{right:14px;bottom:76px}
      .form-grid{grid-template-columns:1fr}
    }
