*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{--bg:#0e0e10;--s1:#18181c;--s2:#222228;--s3:#2a2a32;--s4:#32323c;--b0:rgba(255,255,255,.05);--b1:rgba(255,255,255,.09);--b2:rgba(255,255,255,.17);--t0:#f0eff5;--t1:#aaa8bc;--t2:#66637a;--t3:#3a3845;--today:#ffd166;--r:9px;--rsm:6px;--fh:system-ui,sans-serif;--fm:'SFMono-Regular',Consolas,'Liberation Mono',monospace;--green:#3ddc84;--red:#ff4d6d;--blue:#4cc9f0}
html,body{min-height:100%;background:var(--bg);color:var(--t0);font-family:var(--fm);overflow-x:hidden}body{padding-bottom:0}button,input,textarea,select{font:inherit}
::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--b2);border-radius:3px}
.hidden,[hidden]{display:none!important}.mobile-only{display:none!important}
.login-screen{position:fixed;inset:0;background:var(--bg);z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px}.login-box{background:var(--s1);border:1px solid var(--b2);border-radius:16px;padding:28px;width:100%;max-width:340px;display:flex;flex-direction:column;gap:12px}.login-box h1{text-align:center;font-size:22px;font-weight:800}.login-box h1 span,.logo span{color:var(--today)}.login-box input{background:var(--s2);border:1px solid var(--b1);border-radius:var(--rsm);color:var(--t0);padding:11px 13px;outline:none}.login-btn{background:var(--t0);color:var(--bg);border:0;border-radius:var(--rsm);padding:11px;font-weight:700}.login-err{text-align:center;color:var(--red);font-size:12px;min-height:16px}.login-hint{text-align:center;color:var(--t3);font-size:10px}
.topbar{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--b0);background:var(--s1);position:sticky;top:0;z-index:500}.logo{font-size:16px;font-weight:800;flex:none}.planner-tabs{display:flex;gap:5px;overflow-x:auto;flex:1;min-width:0;scrollbar-width:none}.planner-tabs::-webkit-scrollbar{display:none}.ptab{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:16px;border:1px solid var(--b1);background:transparent;color:var(--t1);font-size:11px;white-space:nowrap}.ptab.active{background:var(--s3);border-color:var(--b2);color:var(--t0)}.pdot,.ldot,.tab-dot{border-radius:50%;display:inline-block}.pdot{width:7px;height:7px}.topbar-right{display:flex;align-items:center;gap:6px}.sync-status{color:var(--t2);font-size:10px;display:flex;align-items:center}.sync-dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;margin-right:4px}.sync-dot.err{background:var(--red)}.sync-dot.busy{background:var(--today);animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.4}}
.hbtn,.mob-col-tab,.note-btn,.inline-editor-actions button,.planner-row button,.add-planner-btn,.del-bar button{background:none;border:1px solid var(--b1);color:var(--t1);border-radius:5px;cursor:pointer}.hbtn{font-size:10px;padding:6px 10px}.hbtn:active,.inline-editor-actions button:active,.planner-row button:active,.add-planner-btn:active{background:var(--s3)}
.addbar{background:var(--s1);border-bottom:1px solid var(--b0);padding:8px 12px;position:sticky;top:44px;z-index:450}.add-main-row{display:flex;gap:6px}.add-options-row{display:flex;gap:6px;margin-top:6px;align-items:center}.addbar input,.addbar select{background:var(--s2);border:1px solid var(--b1);border-radius:5px;color:var(--t0);padding:8px 10px;outline:none;font-size:12px;min-width:0}.add-main-row input:first-child{flex:1.4}.add-main-row input:nth-child(2){flex:2}.add-options-row select{flex:0 0 auto}.reminder-toggle{font-size:10px;color:var(--t2);display:flex;align-items:center;gap:4px;white-space:nowrap}.btn-add{background:var(--t0);color:var(--bg);border:0;border-radius:5px;padding:8px 14px;font-weight:700;font-size:12px;white-space:nowrap}.btn-add:active{opacity:.8}
.main{display:grid;grid-template-columns:205px 1fr;min-height:calc(100vh - 102px)}.board{padding:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:start;overflow:visible}.column{background:var(--s1);border-radius:var(--r);border:1px solid var(--b0);min-width:0}.col-top{padding:9px 11px 8px;border-bottom:1px solid var(--b0);display:flex;justify-content:space-between;align-items:center}.col-name{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--t1)}.col-cnt{font-size:9px;color:var(--t3);background:var(--s2);padding:2px 6px;border-radius:12px}.col-body{padding:6px;min-height:54px}.col-asap .col-top{border-top:3px solid var(--red)}.col-todo .col-top{border-top:3px solid var(--blue)}.col-standby .col-top{border-top:3px solid #8b8fa8}
.task-card{background:var(--s2);border:1px solid var(--b0);border-left:3px solid var(--pc,transparent);border-radius:6px;padding:8px 9px;margin-bottom:6px;position:relative;transition:border-color .15s,opacity .15s}.task-card:hover{border-color:var(--b2)}.task-card.dragging{opacity:.2}.task-title{font-size:12px;font-weight:600;line-height:1.35;word-break:break-word;padding-right:10px}.task-card.collapsed .task-details{display:none}.task-fold{position:absolute;right:7px;top:7px;border:0;background:none;color:var(--t2);font-size:11px;padding:2px 4px;cursor:pointer}.task-details{margin-top:5px}.task-bullets{list-style:none;margin:4px 0;padding:0}.task-bullets li{font-size:10.5px;color:var(--t1);padding:1px 0 1px 12px;position:relative;line-height:1.45}.task-bullets li:before{content:'–';position:absolute;left:0;color:var(--t2)}.task-note-plain{font-size:10.5px;color:var(--t1);line-height:1.45}.task-footer{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:6px}.task-date,.reminder-badge{font-size:9px;color:var(--t3)}.reminder-badge{color:var(--today)}.task-actions{display:flex;gap:2px}.tbtn{background:none;border:0;color:var(--t2);font-size:10px;cursor:pointer;padding:4px 5px;border-radius:4px}.tbtn:hover{background:var(--s3);color:var(--t0)}
.quick-bullet{display:inline-flex;align-items:center;gap:5px;background:none;border:0;color:var(--t2);font-size:10px;padding:3px 0;cursor:pointer}.quick-bullet:hover{color:var(--t0)}.quick-bullet-input{width:100%;background:var(--s3);border:1px solid var(--b1);color:var(--t0);padding:5px 7px;border-radius:4px;outline:none;font-size:10.5px}.check-list{display:flex;flex-direction:column;gap:1px}.check-row{display:flex;align-items:flex-start;gap:7px;padding:3px 0}.check-box{width:19px;height:19px;flex:0 0 19px;border-radius:5px;border:1.5px solid var(--b2);background:none;color:var(--green);display:flex;align-items:center;justify-content:center;cursor:pointer}.check-label{font-size:10.5px;color:var(--t1);line-height:1.45;flex:1;word-break:break-word}.check-row.done .check-label{text-decoration:line-through;color:var(--t3)}.done-toggle{margin-top:4px;border-top:1px solid var(--b0);padding-top:4px}.done-toggle button{background:none;border:0;color:var(--t2);font-size:9px;cursor:pointer}.insert-line{height:2px;background:var(--today);border-radius:2px;margin-bottom:6px}
.inline-edit{display:flex;flex-direction:column;gap:6px}.inline-edit input,.inline-edit textarea,.inline-edit select{width:100%;background:var(--s3);border:1px solid var(--b1);color:var(--t0);border-radius:5px;padding:7px;font-size:11px;outline:none}.inline-edit textarea{resize:vertical;min-height:80px}.inline-edit-actions{display:flex;gap:5px;justify-content:flex-end}.inline-edit-actions button{padding:6px 10px;font-size:10px}.inline-edit-actions button.primary,.planner-modal .primary{background:var(--t0);color:var(--bg);border-color:var(--t0);font-weight:700}
.archive-wrap{border-top:1px solid var(--b0);background:var(--s1)}.archive-inner{padding:12px 15px}.archive-inner h3{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--t2);margin-bottom:8px}.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:7px}.arch-card{background:var(--s2);border:1px solid var(--b0);border-radius:6px;padding:8px 9px;opacity:.7}.arch-title{font-size:11px;font-weight:600}.arch-meta{font-size:9px;color:var(--t3);margin-top:4px}.arch-restore{margin-top:6px;background:none;border:1px solid var(--b1);color:var(--t2);font-size:9px;padding:4px 8px;border-radius:4px;cursor:pointer}.empty-hint{text-align:center;color:var(--t3);font-size:10px;padding:14px 5px;line-height:1.6}
.mob-col-tabs{display:none}.drawer-overlay{display:none}.mob-drawer{display:none}
.inline-editor,.planner-modal{position:fixed;inset:auto 16px 16px auto;z-index:2000;background:var(--s1);border:1px solid var(--b2);box-shadow:0 18px 50px rgba(0,0,0,.55);border-radius:12px;padding:14px;width:min(480px,calc(100vw - 32px))}.inline-editor-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:12px}.inline-editor-head button{background:none;border:0;color:var(--t2);font-size:14px;cursor:pointer}.inline-editor>input,.inline-editor>textarea,.inline-editor-row input,.inline-editor-row select{width:100%;background:var(--s2);border:1px solid var(--b1);color:var(--t0);border-radius:5px;padding:8px;font-size:11px;outline:none}.inline-editor>textarea{resize:vertical;min-height:95px;margin:7px 0}.inline-editor-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.inline-editor-row input{grid-column:1/-1}.inline-editor-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:9px}.inline-editor-actions button{padding:7px 12px;font-size:10px}.planner-modal{inset:50% auto auto 50%;transform:translate(-50%,-50%);max-width:440px}.planner-modal-card h2{font-size:14px;margin-bottom:10px}.planner-row{display:flex;align-items:center;gap:7px;background:var(--s2);border:1px solid var(--b1);border-radius:5px;padding:7px 8px;margin-bottom:6px}.planner-row input[type=text]{flex:1;background:transparent;border:0;outline:0;color:var(--t0);font-size:11px}.planner-row input[type=color]{width:25px;height:25px;border:0;background:none;padding:0}.planner-row button{border:0;color:var(--t2);padding:4px 6px}.add-planner-btn{width:100%;padding:8px;font-size:10px;margin-top:2px}.del-bar{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:3000;display:flex;align-items:center;gap:10px;background:var(--s3);border:1px solid rgba(255,77,109,.3);border-radius:7px;padding:9px 12px;font-size:11px;box-shadow:0 8px 30px rgba(0,0,0,.5)}.del-bar div{display:flex;gap:5px}.del-bar button{padding:5px 9px;font-size:10px}.del-bar .danger{background:var(--red);color:white;border-color:var(--red)}.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%) translateY(5px);background:var(--s3);border:1px solid var(--b2);border-radius:6px;padding:7px 13px;color:var(--t0);font-size:10px;z-index:4000;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:700px){
  body{padding-bottom:66px}.desktop-only{display:none!important}.mobile-only{display:flex!important}.topbar{padding:8px 10px;padding-top:calc(8px + env(safe-area-inset-top));top:0}.logo{font-size:14px}.planner-tabs{order:3;flex-basis:100%;margin-top:2px}.topbar-right{margin-left:auto}.sync-status{display:none}.addbar{top:69px;padding:7px 10px}.add-main-row{display:grid;grid-template-columns:1fr auto}.add-main-row input:nth-child(2){grid-column:1/-1;display:block}.add-options-row{overflow-x:auto}.add-options-row select{flex:1}.reminder-toggle{display:none}.main{display:block;min-height:0}.today-sidebar{display:none}.board{display:block;padding:8px 8px 5px;overflow:visible}.column{display:none}.column.mob-active{display:block}.mob-col-tabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1200;background:var(--s1);border-top:1px solid var(--b1);padding:6px 7px;padding-bottom:calc(6px + env(safe-area-inset-bottom));gap:5px}.mob-col-tab{flex:1;padding:7px 2px;font-size:9px;font-weight:800;background:none}.mob-col-tab.active{background:var(--s3);color:var(--t0)}.tab-dot{display:block;width:5px;height:5px;margin:0 auto 3px}.asap-dot{background:var(--red)}.todo-dot{background:var(--blue)}.standby-dot{background:#8b8fa8}.today-dot{background:var(--today)}.mobile-today-panel{display:block;padding:8px}.mobile-today-panel .today-drop{max-height:none}.task-card{padding:8px 9px;margin-bottom:7px;touch-action:pan-y}.task-card.dragging{touch-action:none}.task-title{font-size:12.5px;padding-right:28px}.task-card .task-actions{opacity:1}.tbtn{min-width:29px;min-height:29px}.task-fold{width:28px;height:28px}.quick-bullet{padding:5px 0}.check-row{padding:3px 0;gap:8px}.check-box{width:24px;height:24px;flex-basis:24px}.check-label{font-size:11px}.add-options-row{padding-bottom:1px}.inline-editor{inset:auto 8px 74px 8px;width:auto}.planner-modal{width:calc(100vw - 18px)}.mob-drawer{display:flex;position:fixed;top:0;right:0;bottom:0;width:min(300px,88vw);z-index:2500;background:var(--s1);border-left:1px solid var(--b1);transform:translateX(100%);transition:transform .2s;padding:18px 14px;gap:8px;flex-direction:column}.mob-drawer.open{transform:translateX(0)}.drawer-overlay{position:fixed;inset:0;z-index:2400;background:rgba(0,0,0,.45);display:block;opacity:0;pointer-events:none;transition:.2s}.drawer-overlay.open{opacity:1;pointer-events:auto}.mob-drawer-close{background:none;border:0;color:var(--t2);font-size:18px;align-self:flex-end}.mob-drawer h3{font-size:10px;color:var(--t2);letter-spacing:.08em;text-transform:uppercase}.mob-drawer .hbtn{width:100%;text-align:left;padding:10px}.del-bar{bottom:calc(72px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* --- V2.1 focused layout fixes --- */
.addbar{top:44px}
.main{display:block;min-height:calc(100vh - 98px)}
.board{display:flex;gap:12px;align-items:flex-start;padding:14px;overflow-x:auto;overflow-y:visible}
.column{flex:1 1 280px;min-width:260px;max-width:420px;overflow:hidden}
.col-top{min-height:42px;border-top:3px solid var(--col-color,#8b8fa8);cursor:default}
.col-heading{display:flex;align-items:center;gap:7px;min-width:0}
.col-name{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--t0)}
.col-cnt{font-size:9px;flex:none}

.task-card{min-width:0}
.task-head{display:flex;align-items:flex-start;gap:7px;min-width:0}
.task-title{flex:1;min-width:0;padding-right:0;overflow-wrap:anywhere;word-break:normal}
.task-fold{position:static;flex:0 0 34px;width:34px;height:30px;padding:0;border:1px solid var(--b2);background:var(--s3);border-radius:7px;color:var(--t0);font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center}
.task-fold:hover{background:var(--s4)}
.task-card.collapsed .task-fold{background:var(--s3);color:var(--t0)}
.task-details{min-width:0}
.task-note-plain,.check-label{overflow-wrap:anywhere;word-break:normal}

/* Centered, focused edit dialog */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px);z-index:5000;display:flex;align-items:center;justify-content:center;padding:18px}
.modal-overlay[hidden]{display:none!important}
.edit-modal,.planner-modal-card{width:min(520px,calc(100vw - 36px));max-height:min(88vh,760px);overflow:auto;background:var(--s1);border:1px solid var(--b2);border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,.65);padding:18px}
.edit-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.edit-modal-head h2{font-size:16px;font-weight:800}
.modal-close{width:32px;height:32px;border:1px solid var(--b1);background:none;color:var(--t1);border-radius:7px;cursor:pointer;font-size:15px}
.edit-modal label{display:block;color:var(--t2);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin:12px 0 6px}
.edit-modal input,.edit-modal textarea,.edit-modal select{width:100%;background:var(--s2);border:1px solid var(--b1);color:var(--t0);border-radius:7px;padding:10px 11px;font-size:12px;outline:none}
.edit-modal textarea{resize:vertical;min-height:110px;line-height:1.55}
.edit-modal input:focus,.edit-modal textarea:focus,.edit-modal select:focus{border-color:var(--b2)}
.mode-row{display:flex;gap:6px;margin-top:10px}
.mode-btn{border:1px solid var(--b1);background:var(--s2);color:var(--t1);padding:7px 10px;border-radius:6px;font-size:10px;cursor:pointer}
.mode-btn.active{background:var(--s3);border-color:var(--b2);color:var(--t0)}
.inline-editor-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.inline-editor-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:16px}
.inline-editor-actions button{padding:8px 14px;font-size:11px}
.inline-editor-actions .primary{background:var(--t0);color:var(--bg);border-color:var(--t0);font-weight:700}

/* Planner + column management */
.planner-manage-card{background:var(--s2);border:1px solid var(--b1);border-radius:9px;padding:9px;margin-bottom:9px}
.planner-row{background:transparent;border:0;padding:0;margin:0 0 8px}
.column-manager{padding:7px 0 0 34px;border-top:1px solid var(--b0)}
.column-manage-row{display:flex;align-items:center;gap:6px;margin:6px 0}
.column-manage-row input[type=text]{flex:1;background:var(--s3);border:1px solid var(--b1);border-radius:5px;color:var(--t0);padding:6px 8px;font-size:11px;outline:none}
.column-manage-row input[type=color]{width:25px;height:25px;border:0;padding:0;background:none}
.column-manage-row button{padding:4px 7px;border:0}
.add-column-btn{width:100%;padding:6px 8px;margin-top:4px;border:1px dashed var(--b1);background:none;color:var(--t2);border-radius:5px;font-size:10px;cursor:pointer}
.add-column-btn:hover{background:var(--s3);color:var(--t0)}

@media(max-width:700px){
  .main{min-height:0}
  .board{display:block;padding:8px 8px 74px;overflow:visible}
  .column{display:none;max-width:none;min-width:0;width:100%;}
  .column.mob-active{display:block}
  .topbar{z-index:500}
  .addbar{top:69px}
  .edit-modal,.planner-modal-card{width:min(520px,calc(100vw - 20px));max-height:88vh;padding:16px}
  .inline-editor-row{grid-template-columns:1fr}
  .task-fold{flex-basis:38px;width:38px;height:34px;font-size:19px}
}


/* ================================================================
   V3.0 polish: readability, touch targets and visual hierarchy
   These overrides intentionally sit at the end so they do not
   disturb the working V2 layout/behavior.
   ================================================================ */
:root{
  --ui-text:14px;
  --ui-small:12px;
  --ui-control:40px;
}
body{
  font-size:var(--ui-text);
  background:
    radial-gradient(900px 420px at 10% -10%,rgba(255,209,102,.055),transparent 60%),
    radial-gradient(700px 420px at 95% 0%,rgba(76,201,240,.045),transparent 58%),
    var(--bg);
}
.topbar{
  box-shadow:0 5px 24px rgba(0,0,0,.18);
}
.logo{font-size:1.12rem;}
.ptab{font-size:13px;padding:7px 13px;min-height:34px;}
.hbtn{font-size:12px;padding:7px 12px;min-height:34px;}
.addbar{box-shadow:0 5px 20px rgba(0,0,0,.14);}
#inp-title{font-size:14px;min-height:40px;}
.btn-add{font-size:13px;min-height:40px;padding:9px 17px;}
.board{gap:14px;}
.column{
  box-shadow:0 10px 28px rgba(0,0,0,.12);
}
.col-top{min-height:48px;padding:10px 13px;}
.col-name{font-size:13px;}
.col-cnt{font-size:10px;padding:3px 8px;}
.task-card{
  padding:12px 13px;
  border-radius:8px;
  box-shadow:0 5px 16px rgba(0,0,0,.10);
}
.task-card:hover{transform:translateY(-1px);}
.task-title{font-size:15px;line-height:1.42;font-weight:600;}
.task-note-plain,.check-label{font-size:13px;line-height:1.62;}
.task-date{font-size:11px;}
.task-footer{margin-top:9px;}
.tbtn{
  min-width:38px;
  min-height:38px;
  padding:7px 9px;
  font-size:13px;
  border-radius:7px;
}
.task-fold{
  width:42px;height:38px;flex-basis:42px;
  font-size:21px;
  font-weight:800;
  border-width:1.5px;
  box-shadow:0 2px 10px rgba(0,0,0,.18);
}
.task-fold:active{transform:scale(.96);}
.check-row{min-height:42px;gap:11px;}
.check-box{width:28px;height:28px;flex-basis:28px;font-size:15px;border-radius:7px;}
.done-toggle button,.done-clear{min-height:34px;font-size:12px;padding:6px 10px;}
.empty-hint{font-size:12px;padding:22px 10px;}
.reminder-badge{font-size:11px;padding:3px 7px;border-radius:9px;background:rgba(255,209,102,.08);border:1px solid rgba(255,209,102,.18);color:var(--today);}

/* Make dialogs clearly modal and easier to use. */
.edit-modal,.planner-modal-card{
  font-size:13px;
  border-radius:16px;
  box-shadow:0 30px 90px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.025);
}
.edit-modal-head h2{font-size:18px;}
.modal-close{width:40px;height:40px;font-size:18px;}
.edit-modal label{font-size:11px;}
.edit-modal input,.edit-modal textarea,.edit-modal select{font-size:14px;min-height:42px;}
.edit-modal textarea{line-height:1.65;}
.mode-btn{font-size:12px;padding:9px 13px;min-height:38px;}
.inline-editor-actions button{font-size:12px;padding:10px 16px;min-height:40px;border-radius:7px;}

/* Planner/column manager readability. */
.planner-manage-card{box-shadow:0 6px 18px rgba(0,0,0,.12);}
.planner-row input[type=text],.column-manage-row input[type=text]{font-size:13px;min-height:38px;}
.column-manage-row button{font-size:14px;min-width:36px;min-height:36px;}
.add-column-btn,.add-planner-btn{font-size:12px;min-height:38px;}

/* Delete confirmation should never occupy the page unless explicitly opened. */
.del-bar[hidden]{display:none!important;}
.del-bar{font-size:12px;padding:11px 14px;}
.del-bar button{font-size:12px;min-height:34px;}
.toast{font-size:12px;padding:10px 15px;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.35);}

@media(max-width:700px){
  body{font-size:15px;}
  .logo{font-size:16px;}
  .ptab{font-size:13px;padding:8px 13px;min-height:38px;}
  .topbar{padding-left:12px;padding-right:12px;}
  .hbtn{font-size:12px;min-height:38px;padding:8px 12px;}
  .addbar{padding:9px 10px;}
  .add-main-row input{font-size:16px;min-height:46px;}
  .btn-add{font-size:14px;min-height:46px;padding:10px 17px;}
  .board{padding:10px 9px 84px;}
  .task-card{padding:12px 13px;margin-bottom:9px;}
  .task-title{font-size:16px;line-height:1.4;}
  .task-note-plain,.check-label{font-size:14px;line-height:1.65;}
  .task-date{font-size:11.5px;}
  .task-fold{width:46px;height:42px;flex-basis:46px;font-size:23px;border-radius:8px;}
  .tbtn{min-width:42px;min-height:42px;font-size:14px;border-radius:8px;}
  .task-actions{gap:4px;}
  .check-row{min-height:46px;gap:12px;}
  .check-box{width:30px;height:30px;flex-basis:30px;font-size:16px;border-radius:8px;}
  .mob-col-tab{min-height:42px;font-size:11px;padding:9px 3px;}
  .tab-dot{width:6px;height:6px;}
  .edit-modal,.planner-modal-card{width:calc(100vw - 20px);max-height:90vh;padding:18px;}
  .edit-modal-head h2{font-size:19px;}
  .edit-modal input,.edit-modal textarea,.edit-modal select{font-size:15px;min-height:46px;}
  .mode-btn{font-size:13px;min-height:42px;padding:9px 14px;}
  .inline-editor-actions{position:sticky;bottom:0;background:linear-gradient(transparent,var(--s1) 18%);padding-top:14px;}
}


/* V3.1 fixes: clearer editor modes and alert state */
.mode-btn{border:1px solid var(--b2);background:var(--s2);color:var(--t1);font-weight:700;transition:background .12s,border-color .12s,color .12s,transform .12s;}
.mode-btn.active{background:var(--today);border-color:var(--today);color:#171717;box-shadow:0 0 0 2px rgba(255,209,102,.18);}
.mode-btn:not(.active):hover{background:var(--s3);color:var(--t0);}
.active-alert{background:var(--s3)!important;border-color:var(--today)!important;color:var(--today)!important;}
.task-meta{min-height:1px;display:flex;align-items:center;gap:6px;}
@media(max-width:700px){.mode-row{gap:8px}.mode-btn{flex:1;min-height:46px;font-size:14px;padding:10px 14px;border-width:1.5px}.task-actions{min-height:38px}}

/* V3.2 updates: reminder banner, quick checklist items, header actions */
.task-head-actions{display:flex;align-items:center;gap:3px;flex:0 0 auto}
.task-head-actions .tbtn{min-width:34px;min-height:34px;padding:6px 8px}
.task-head-actions .tdel{color:var(--t2)}
.task-head-actions .tdel:hover{color:var(--red)}
.add-check-item{display:flex;align-items:center;gap:8px;width:100%;margin-top:7px;padding:8px 6px;background:none;border:1px dashed var(--b1);border-radius:7px;color:var(--t2);font-size:12px;cursor:pointer;text-align:left}
.add-check-item:hover{background:var(--s3);color:var(--t0);border-color:var(--b2)}
.add-check-icon{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:1.5px solid var(--b2);border-radius:7px;font-size:18px;line-height:1;color:var(--t0)}
.quick-check-item-row{display:flex;align-items:center;gap:11px;min-height:42px;padding:3px 0}
.quick-check-visual{width:28px;height:28px;flex:0 0 28px;border:1.5px solid var(--b2);border-radius:7px}
.quick-check-item-input{flex:1;min-width:0;background:var(--s3);border:1px solid var(--b2);color:var(--t0);padding:8px 9px;border-radius:7px;outline:none;font-size:13px}
.reminder-banner{display:flex;align-items:center;gap:10px;margin-top:7px;padding:10px 12px;border:1px solid rgba(255,209,102,.35);border-radius:8px;background:linear-gradient(90deg,rgba(255,209,102,.12),rgba(255,209,102,.04));color:var(--t0);box-shadow:0 6px 20px rgba(0,0,0,.16)}
.reminder-banner-icon{font-size:17px;flex:0 0 auto}
.reminder-banner-content{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.reminder-banner-content strong{font-size:12px;color:var(--today)}
.reminder-banner-content span{font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.reminder-banner-dismiss{background:none;border:1px solid var(--b2);color:var(--t1);border-radius:6px;padding:7px 10px;font-size:11px;cursor:pointer;flex:0 0 auto}
.reminder-banner-dismiss:hover{background:var(--s3);color:var(--t0)}

@media(max-width:700px){
  .task-head-actions .tbtn{min-width:42px;min-height:42px;font-size:14px;border-radius:8px}
  .add-check-item{min-height:44px;padding:7px 6px}
  .quick-check-item-row{min-height:46px}
  .quick-check-visual{width:30px;height:30px;flex-basis:30px}
  .quick-check-item-input{font-size:15px;min-height:44px}
  .reminder-banner{align-items:flex-start;padding:10px}
  .reminder-banner-dismiss{min-height:40px}
}
