/* === CPT extracted style block 1/5 === */

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{
  --bg:#f0f2f6;--surf:#fff;--surf2:#f7f8fa;--surf3:#eef0f4;
  --brd:#e2e6ed;--brd2:#cdd2db;--txt:#1a1d23;--txt2:#5a6070;--txt3:#9aa0b0;
  --acc:#4a7bb5;--acc-l:#eef3fb;--acc-d:#3264a0;
  --grn:#2ecc8a;--grn-l:#e8faf3;--amb:#f5a623;--amb-l:#fef6e6;
  --red:#e05252;--red-l:#fdecea;--pur:#7c3aed;--pur-l:#f0ebfd;
  --r:10px;--rs:6px;--rm:14px;
  --sh:0 1px 4px rgba(0,0,0,.08);--sh2:0 4px 20px rgba(0,0,0,.12);
  --sidebar:220px;--hdr:52px;
}
body{background:var(--bg);color:var(--txt);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:13.5px;min-height:100vh;display:flex;flex-direction:column}

/* PASSWORD */
#pwd-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#1a1d23 0%,#2d3148 100%);z-index:9999;display:flex;align-items:center;justify-content:center}
.pwd-card{background:#fff;border-radius:16px;padding:44px 40px;width:360px;box-shadow:0 20px 60px rgba(0,0,0,.4);text-align:center}
.pwd-logo{font-size:11px;font-weight:800;color:var(--acc);letter-spacing:.12em;text-transform:uppercase;margin-bottom:28px}
.pwd-logo span{color:var(--txt3)}
.pwd-h{font-size:22px;font-weight:800;margin-bottom:6px}
.pwd-sub{font-size:13px;color:var(--txt3);margin-bottom:28px}
.pwd-inp{width:100%;padding:13px 16px;border:2px solid var(--brd);border-radius:var(--r);font-size:16px;text-align:center;letter-spacing:.15em;outline:none;transition:.2s;font-family:monospace;color:var(--txt)}
.pwd-inp:focus{border-color:var(--acc);box-shadow:0 0 0 4px rgba(74,123,181,.12)}
.pwd-btn{width:100%;margin-top:14px;padding:13px;background:var(--acc);color:#fff;border:none;border-radius:var(--r);font-size:15px;font-weight:700;cursor:pointer;transition:.15s}
.pwd-btn:hover{background:var(--acc-d)}
.pwd-err{color:var(--red);font-size:12px;margin-top:10px;min-height:18px;font-weight:600}

/* LAYOUT */
#app{display:flex;height:100vh;overflow:hidden}
.sidebar{width:var(--sidebar);flex-shrink:0;background:var(--txt);display:flex;flex-direction:column;overflow:hidden;transition:width .25s ease;z-index:100}
.sidebar.collapsed{width:56px}
.sb-logo{height:var(--hdr);display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;cursor:pointer;user-select:none}
.sb-logo-icon{width:30px;height:30px;border-radius:8px;background:var(--acc);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;font-weight:800;color:#fff;letter-spacing:-.5px}
.sb-logo-text{font-size:13px;font-weight:700;color:#fff;white-space:nowrap;letter-spacing:.04em;opacity:1;transition:.2s;overflow:hidden}
.sidebar.collapsed .sb-logo-text{opacity:0;width:0}
.sb-nav{flex:1;overflow-y:auto;padding:10px 0}
.sb-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:.15s;color:rgba(255,255,255,.6);font-size:13px;font-weight:500;white-space:nowrap;user-select:none;margin:1px 8px;border-radius:8px}
.sb-item:hover{color:#fff;background:rgba(255,255,255,.08)}
.sb-item.active{color:#fff;background:var(--acc)}
.sb-item .ico{font-size:16px;flex-shrink:0;width:22px;text-align:center}
.sb-item .lbl{flex:1;transition:.2s;overflow:hidden}
.sidebar.collapsed .sb-item .lbl{opacity:0;width:0}
.sb-item .badge{background:rgba(255,255,255,.2);color:#fff;border-radius:10px;padding:1px 7px;font-size:10px;font-weight:700;flex-shrink:0;transition:.2s}
.sidebar.collapsed .sb-item .badge{opacity:0}
.sb-item.active .badge{background:rgba(255,255,255,.25)}
.sb-divider{height:1px;background:rgba(255,255,255,.07);margin:6px 16px}
.sb-footer{padding:10px 8px;border-top:1px solid rgba(255,255,255,.07);flex-shrink:0}
.sb-user{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;cursor:pointer;color:rgba(255,255,255,.6);transition:.15s}
.sb-user:hover{color:#fff;background:rgba(255,255,255,.08)}
.sb-avatar{width:30px;height:30px;border-radius:50%;background:var(--acc);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}
.sb-uname{font-size:12px;font-weight:600;white-space:nowrap;transition:.2s;overflow:hidden}
.sidebar.collapsed .sb-uname{opacity:0;width:0}
.main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.topbar{height:var(--hdr);background:var(--surf);border-bottom:1px solid var(--brd);display:flex;align-items:center;padding:0 20px;gap:12px;flex-shrink:0;box-shadow:var(--sh);z-index:50}
.topbar-title{font-size:17px;font-weight:800;flex:1}
.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.sync-pill{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:20px;border:1px solid var(--brd);background:var(--surf2);font-size:11px;color:var(--txt3);cursor:pointer;transition:.15s;font-weight:600}
.sync-pill:hover{border-color:var(--acc);color:var(--acc)}
.sync-pill.synced{border-color:var(--grn);color:var(--grn);background:var(--grn-l)}
.sync-pill.error{border-color:var(--red);color:var(--red);background:var(--red-l)}
.sync-pill.syncing{border-color:var(--amb);color:var(--amb);background:var(--amb-l)}
.content{flex:1;overflow-y:auto;padding:20px}
.mob-menu-btn{display:none;width:36px;height:36px;border-radius:8px;border:1px solid var(--brd);background:var(--surf);cursor:pointer;align-items:center;justify-content:center;font-size:18px;color:var(--txt2);flex-shrink:0}
.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:var(--rs);border:1px solid var(--brd);background:var(--surf);color:var(--txt2);font-size:12.5px;font-weight:500;cursor:pointer;transition:.15s;white-space:nowrap;font-family:inherit;user-select:none}
.btn:hover{background:var(--surf3)}
.btn-p{background:var(--acc);border-color:var(--acc);color:#fff}
.btn-p:hover{background:var(--acc-d)}
.btn-g{color:var(--grn);border-color:var(--grn)}
.btn-g:hover{background:var(--grn-l)}
.btn-r{color:var(--red);border-color:var(--red)}
.btn-r:hover{background:var(--red-l)}
.btn-amb{color:var(--amb);border-color:var(--amb)}
.btn-amb:hover{background:var(--amb-l)}
.btn-sm{padding:4px 10px;font-size:11.5px}
.btn-ic{width:28px;height:28px;padding:0;border-radius:var(--rs);border:1px solid var(--brd);background:transparent;color:var(--txt3);font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.15s;flex-shrink:0;font-family:inherit}
.btn-ic:hover{background:var(--surf3);color:var(--txt)}
.btn-ic.danger:hover{background:var(--red-l);color:var(--red);border-color:var(--red)}
.btn-ic.success:hover{background:var(--grn-l);color:var(--grn);border-color:var(--grn)}

/* COMPONENTS */
.card{background:var(--surf);border:1.5px solid var(--brd);border-radius:var(--r);padding:16px;box-shadow:var(--sh);transition:.15s}
.card:hover{border-color:var(--brd2)}
.sec-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.sec-bar h2{font-size:18px;font-weight:800}
.sec-bar .cnt{font-size:12px;color:var(--txt3)}
.spc{flex:1}
.pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:600}
.pill-todo{background:var(--surf3);color:var(--txt3)}
.pill-prog{background:#deeaf8;color:#2c5282}
.pill-done{background:var(--grn-l);color:#1a8a5c}
.pill-cancelled{background:var(--red-l);color:var(--red)}
.pill-upcoming{background:var(--amb-l);color:#b37322}
.pill-acc{background:var(--acc-l);color:var(--acc)}
.pill-pur{background:var(--pur-l);color:var(--pur)}
.prog-bar{height:4px;background:var(--surf3);border-radius:2px;overflow:hidden;margin-top:8px}
.prog-fill{height:100%;background:var(--acc);border-radius:2px;transition:.3s}
.prog-fill.done{background:var(--grn)}
.tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;cursor:pointer;transition:.15s;margin:2px}
.tag:hover{filter:brightness(.92)}

/* FORMS */
.fg{margin-bottom:14px}
.fg label{display:block;font-size:10.5px;font-weight:700;color:var(--txt2);margin-bottom:5px;text-transform:uppercase;letter-spacing:.05em}
.fg input,.fg select,.fg textarea{width:100%;background:var(--surf);border:1.5px solid var(--brd);border-radius:var(--rs);color:var(--txt);padding:8px 11px;font-size:13.5px;font-family:inherit;transition:.15s}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(74,123,181,.1)}
.fg textarea{resize:vertical;min-height:72px}
.fg input::placeholder,.fg textarea::placeholder{color:var(--txt3)}
input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.3) sepia(1) hue-rotate(190deg);cursor:pointer}
input[type=checkbox],input[type=radio]{accent-color:var(--acc);cursor:pointer}
.fg2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tpill{display:flex;background:var(--surf3);border-radius:var(--rs);padding:3px;gap:2px}
.tpill button{flex:1;padding:6px 10px;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;background:none;color:var(--txt2);transition:.15s;font-family:inherit}
.tpill button.on{background:var(--surf);color:var(--txt);box-shadow:var(--sh)}
.search-wrap{position:relative}
.search-inp{width:100%;padding:8px 12px 8px 34px;border:1.5px solid var(--brd);border-radius:var(--r);background:var(--surf);font-size:13px;color:var(--txt);font-family:inherit;transition:.15s}
.search-inp:focus{outline:none;border-color:var(--acc)}
.search-ico{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--txt3);pointer-events:none}
.autocomplete{position:relative}
.tag-entry-row{display:flex;align-items:stretch;gap:8px}
.tag-entry-row .autocomplete{flex:1;min-width:0}
.tag-entry-row .tag-add-btn{flex:0 0 auto;min-width:92px;justify-content:center}
@media(max-width:480px){
  .tag-entry-row{gap:6px}
  .tag-entry-row .tag-add-btn{min-width:84px;padding-left:10px;padding-right:10px}
}
.ac-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surf);border:1.5px solid var(--brd);border-radius:var(--rs);box-shadow:var(--sh2);z-index:300;max-height:160px;overflow-y:auto;display:none}
.ac-dropdown.open{display:block}
.ac-item{padding:8px 12px;cursor:pointer;font-size:13px;color:var(--txt);transition:.1s}
.ac-item:hover{background:var(--acc-l);color:var(--acc)}
.ac-item.create{color:var(--acc);font-weight:600;border-top:1px solid var(--brd)}
.rec-box{background:var(--surf2);border:1px solid var(--brd);border-radius:var(--rs);padding:12px;margin-top:8px}
.rec-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.rec-row select,.rec-row input[type=number]{border:1.5px solid var(--brd);border-radius:4px;background:var(--surf);color:var(--txt);padding:5px 8px;font-size:12.5px;font-family:inherit}
.rec-prev{font-size:11.5px;color:var(--acc);margin-top:8px;font-weight:700;min-height:18px}
.tsel{max-height:140px;overflow-y:auto;border:1.5px solid var(--brd);border-radius:var(--rs);background:var(--surf2)}
.tsel-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--brd)}
.tsel-item:last-child{border-bottom:none}
.tsel-item label{flex:1;cursor:pointer;font-size:13px}

/* MODAL */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(3px);z-index:800;display:flex;align-items:center;justify-content:center;padding:16px}
.modal{background:var(--surf);border-radius:var(--rm);box-shadow:var(--sh2);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;border:1px solid var(--brd)}
.modal-hd{display:flex;align-items:center;padding:16px 18px 12px;border-bottom:1px solid var(--brd);gap:10px;position:sticky;top:0;background:var(--surf);z-index:10}
.modal-hd h3{font-size:15px;font-weight:800;flex:1}
.modal-bd{padding:18px}
.modal-ft{padding:12px 18px;border-top:1px solid var(--brd);display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:0;background:var(--surf);flex-wrap:wrap}
.x-btn{background:none;border:none;color:var(--txt3);font-size:18px;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:.1s;line-height:1}
.x-btn:hover{background:var(--surf3);color:var(--txt)}

/* ACTIVITY CARDS */
.act-card{background:var(--surf);border:1.5px solid var(--brd);border-radius:var(--r);padding:14px;margin-bottom:10px;cursor:pointer;transition:.15s;position:relative}
.act-card:hover{border-color:var(--acc-d);box-shadow:var(--sh)}
.act-card-actions{position:absolute;top:10px;right:10px;display:flex;gap:4px;opacity:0;transition:.15s}
.act-card:hover .act-card-actions{opacity:1}
.act-name{font-size:14px;font-weight:700;color:var(--txt);margin:6px 0 4px;line-height:1.3;padding-right:140px}
.act-meta{font-size:11.5px;color:var(--txt3);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cat-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}

/* SHOPPING */
.shop-card{background:var(--surf);border:1.5px solid var(--brd);border-radius:var(--r);padding:14px;margin-bottom:10px;display:flex;gap:12px;align-items:flex-start;transition:.15s;position:relative}
.shop-card:hover{border-color:var(--brd2);box-shadow:var(--sh)}
.shop-card.bought{opacity:.55}
.shop-chk{width:22px;height:22px;border:2px solid var(--brd2);border-radius:50%;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:.15s;margin-top:1px}
.shop-chk.done{background:var(--grn);border-color:var(--grn);color:#fff}
.shop-chk:hover{border-color:var(--grn)}
.shop-name{font-size:14px;font-weight:700;color:var(--txt)}
.shop-name.done{text-decoration:line-through;color:var(--txt3)}
.shop-card-actions{position:absolute;top:10px;right:10px;display:flex;gap:4px;opacity:0;transition:.15s}
.shop-card:hover .shop-card-actions{opacity:1}

/* TASKS */
.task-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--brd);transition:.1s}
.task-row:last-child{border-bottom:none}
.task-row:hover{background:var(--surf2)}
.task-chk{width:18px;height:18px;border:1.5px solid var(--brd2);border-radius:50%;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;transition:.12s}
.task-chk.done{border-color:var(--grn);background:var(--grn);color:#fff}
.task-name{flex:1;font-size:13px;color:var(--txt)}
.task-name.done{text-decoration:line-through;color:var(--txt3)}
.task-dur{font-size:11px;color:var(--txt3)}
.task-row-actions{display:flex;gap:4px;opacity:0;transition:.15s}
.task-row:hover .task-row-actions{opacity:1}
.ie-box{background:var(--surf2);border:1.5px solid var(--acc-l);border-radius:var(--rs);padding:12px;margin:4px 0 8px;display:none;flex-direction:column;gap:8px}
.ie-box.open{display:flex}
.ie-row{display:flex;align-items:center;gap:8px}
.ie-lbl{font-size:10px;font-weight:700;color:var(--txt3);text-transform:uppercase;min-width:64px;flex-shrink:0}
.ie-inp{flex:1;background:var(--surf);border:1.5px solid var(--brd);border-radius:4px;padding:5px 8px;font-size:13px;color:var(--txt);font-family:inherit}
.ie-inp:focus{outline:none;border-color:var(--acc)}
.ie-btns{display:flex;justify-content:flex-end;gap:6px;padding-top:4px}

/* COUNTDOWN */
.countdown{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px}
.cd-urgent{background:var(--red-l);color:var(--red)}
.cd-soon{background:var(--amb-l);color:#b37322}
.cd-ok{background:var(--grn-l);color:#1a8a5c}

/* SETTINGS */
.setting-section{background:var(--surf);border:1px solid var(--brd);border-radius:var(--r);padding:20px;margin-bottom:16px;box-shadow:var(--sh)}
.setting-section h3{font-size:14px;font-weight:800;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--brd)}
.grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}

/* MISC */
#toast{position:fixed;bottom:24px;right:24px;background:#1a1d23;color:#fff;padding:11px 20px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:var(--sh2);z-index:9998;opacity:0;transition:opacity .3s;pointer-events:none;max-width:320px}
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--txt3)}
.empty-ico{font-size:42px;opacity:.4}
.empty p{font-size:14px;text-align:center;line-height:1.6}

/* SCROLLBAR */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--brd2);border-radius:3px}

/* RESPONSIVE */
@media(max-width:768px){
  :root{--sidebar:0px}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:240px !important;transform:translateX(-100%);transition:transform .25s ease;z-index:200}
  .sidebar.mobile-open{transform:translateX(0)}
  .sidebar-backdrop.open{display:block}
  .mob-menu-btn{display:flex}
  .content{padding:14px}
  .fg2{grid-template-columns:1fr}
  .modal{max-width:100%;border-radius:var(--rm) var(--rm) 0 0;align-self:flex-end;max-height:88vh}
  .overlay{align-items:flex-end;padding:0}
  .act-card-actions,.shop-card-actions{opacity:1}
  .task-row-actions{opacity:1}
  .topbar-actions .btn-sm:not(.btn-p){display:none}
}


/* CPT DARK YELLOW V1 */
:root{
  --bg:#090A0B;
  --bg2:#111315;
  --surf:#111315;
  --surf2:#181A1D;
  --brd:#2A2D31;

  --txt:#F4F4F4;
  --txt2:#C9C9C9;
  --txt3:#8F949B;

  --acc:#FFE433;
  --acc2:#D9C100;

  --danger:#FF5A5F;
  --success:#FFE433;
}

/* PAGE */
body{
  background:var(--bg)!important;
  color:var(--txt)!important;
}

/* MAIN CONTENT */
#content,
.main,
main{
  background:var(--bg)!important;
  color:var(--txt)!important;
}

/* TOP BAR */
.topbar,
header{
  background:var(--bg)!important;
  border-color:var(--brd)!important;
  color:var(--txt)!important;
}

/* SIDEBAR */
#sidebar,
.sidebar{
  background:#0B0C0E!important;
  border-color:var(--brd)!important;
  color:var(--txt)!important;
}

.sb-item{
  color:var(--txt2)!important;
}

.sb-item:hover{
  background:var(--surf2)!important;
  color:var(--txt)!important;
}

.sb-item.active{
  background:var(--surf2)!important;
  color:var(--acc)!important;
}

.sb-divider{
  border-color:var(--brd)!important;
}

/* CARDS */
.card,
.sec-bar,
.modal-card{
  background:var(--surf)!important;
  border-color:var(--brd)!important;
  color:var(--txt)!important;
}

.grid2,
.grid3{
  color:var(--txt)!important;
}

/* TITLES */
h1,h2,h3,h4,
.page-title,
.sec-bar{
  color:var(--txt)!important;
}

/* BUTTONS */
.btn{
  background:var(--surf2)!important;
  border-color:var(--brd)!important;
  color:var(--txt)!important;
}

.btn:hover{
  border-color:var(--acc)!important;
  color:var(--acc)!important;
}

.btn-p{
  background:var(--acc)!important;
  border-color:var(--acc)!important;
  color:#111!important;
}

.btn-g{
  background:transparent!important;
  border-color:var(--acc)!important;
  color:var(--acc)!important;
}

/* INPUTS */
input,
select,
textarea{
  background:var(--surf2)!important;
  border-color:var(--brd)!important;
  color:var(--txt)!important;
}

input::placeholder,
textarea::placeholder{
  color:var(--txt3)!important;
}

/* TAGS / PILLS */
.pill,
.tag,
.badge{
  background:var(--surf2)!important;
  color:var(--txt2)!important;
  border-color:var(--brd)!important;
}

.pill-upcoming,
.pill-todo,
.cd-urgent,
.cd-soon{
  color:var(--acc)!important;
  border-color:var(--acc)!important;
}

/* CALENDAR / HOME */
#content button{
  transition:.15s ease;
}

/* COUNTERS / DOTS */
.countdown{
  color:var(--acc)!important;
}

/* PROGRESS */
.prog-bar{
  background:var(--surf2)!important;
}

.prog-fill{
  background:var(--acc)!important;
}

/* BOTTOM NAV */
#content > div:last-child{
  border-color:var(--brd);
}

/* LINKS */
a{
  color:var(--acc);
}

/* SCROLL */
::-webkit-scrollbar{
  width:10px;
}

::-webkit-scrollbar-track{
  background:var(--bg);
}

::-webkit-scrollbar-thumb{
  background:#333;
  border-radius:10px;
}

::-webkit-scrollbar-thumb:hover{
  background:#444;
}




/* CPT DARK YELLOW V2 */

/* HOME / CALENDAR */
#content{
  background:#090A0B!important;
}

#content .sec-bar{
  background:transparent!important;
  border:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

#content .card{
  background:#111315!important;
  border:1px solid #2A2D31!important;
  border-radius:16px!important;
  box-shadow:none!important;
}

/* titres Home */
#content h1,
#content h2,
#content h3{
  letter-spacing:-0.02em;
}

/* boutons calendrier */
#content button{
  font-family:inherit;
}

/* navigation semaine ‹ › */
#content button.btn.btn-sm{
  border-radius:8px!important;
}

/* accent jaune uniforme */
#content .btn-p,
#content .sb-item.active,
#content .countdown,
#content a{
  color:#FFE433!important;
}

/* bouton principal jaune */
.btn-p{
  background:#FFE433!important;
  color:#111!important;
  border-color:#FFE433!important;
}

/* boutons action jaune contour */
.btn-g{
  background:transparent!important;
  color:#FFE433!important;
  border:1px solid #FFE433!important;
}

/* calendrier : jour actif */
#content button[style*="var(--acc)"]{
  border-color:#FFE433!important;
}

/* points calendrier */
#content span[style*="border-radius:50%"]{
  background:#FFE433!important;
}

/* vue journée */
#content div[style*="border-bottom:1px solid var(--brd)"]{
  border-color:#2A2D31!important;
}

/* tags / metadata */
.tag,
.pill{
  border-radius:6px!important;
}

/* Timer */
.home-live-timer{
  background:transparent!important;
  border:1px solid #2A2D31!important;
  color:#FFE433!important;
  font-weight:700!important;
}

/* Bottom navigation */
#content > div:last-child{
  background:#111315!important;
  border:1px solid #2A2D31!important;
  border-radius:18px!important;
  padding:8px!important;
  box-shadow:0 10px 30px rgba(0,0,0,.25)!important;
}

/* bottom nav buttons */
#content > div:last-child > button{
  background:transparent!important;
  border:0!important;
  color:#B7B7B7!important;
  border-radius:12px!important;
  min-height:54px!important;
}

/* onglet actif */
#content > div:last-child > button[style*="var(--acc)"]{
  background:#181A1D!important;
  color:#FFE433!important;
}

/* sidebar plus nette */
#sidebar{
  background:#0B0C0E!important;
}

#sidebar .sb-item{
  border-radius:8px!important;
}

#sidebar .sb-item.active{
  background:#181A1D!important;
  color:#FFE433!important;
}

/* bouton New */
#add-btn{
  background:#FFE433!important;
  color:#111!important;
  border-color:#FFE433!important;
  font-weight:700!important;
}

/* header */
#page-title{
  color:#F4F4F4!important;
  font-weight:800!important;
}

/* responsive */
@media (max-width: 760px){

  #content{
    padding-bottom:92px!important;
  }

  #content > div:last-child{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    z-index:9000!important;
    margin:0!important;
    border-radius:18px!important;
    backdrop-filter:blur(12px);
  }

  #content > div:last-child > button{
    padding:7px 2px!important;
    min-height:58px!important;
  }

  #content > div:last-child > button div:first-child{
    font-size:18px!important;
  }

  #content > div:last-child > button div:last-child{
    font-size:9px!important;
  }

  #content .card{
    border-radius:14px!important;
  }
}



/* CPT LIGHT THEME V1 */

html[data-cpt-theme="light"]{
  --bg:#F4F5F6;
  --surf:#FFFFFF;
  --surf2:#F7F7F5;
  --brd:#D9DADD;

  --txt:#171717;
  --txt2:#55585D;
  --txt3:#85888D;

  --acc:#FFD91A;
}

/* Fond général */
html[data-cpt-theme="light"] body{
  background:#F4F5F6 !important;
  color:#171717 !important;
}

/* Sidebar */
html[data-cpt-theme="light"] #sidebar{
  background:#FFFFFF !important;
  border-color:#E0E1E3 !important;
}

/* Header */
html[data-cpt-theme="light"] header,
html[data-cpt-theme="light"] .topbar{
  background:#FFFFFF !important;
  border-color:#E0E1E3 !important;
}

/* Cartes */
html[data-cpt-theme="light"] .card{
  background:#FFFFFF !important;
  border-color:#D9DADD !important;
  color:#171717 !important;
}

/* Inputs */
html[data-cpt-theme="light"] input,
html[data-cpt-theme="light"] select,
html[data-cpt-theme="light"] textarea{
  background:#FFFFFF !important;
  color:#171717 !important;
  border-color:#D9DADD !important;
}

/* Menu bas */
html[data-cpt-theme="light"] .home-bottom-nav,
html[data-cpt-theme="light"] .bottom-nav{
  background:#FFFFFF !important;
  border-color:#D9DADD !important;
}

/* Boutons secondaires */
html[data-cpt-theme="light"] .btn{
  border-color:#D9DADD;
}

/* Jaune CPT conservé */
html[data-cpt-theme="light"] .active,
html[data-cpt-theme="light"] .btn-p{
  --acc:#FFD91A;
}

/* Ombres très légères */
html[data-cpt-theme="light"] .card,
html[data-cpt-theme="light"] .setting-section{
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}




/* CPT THEME QA FIX V1 */

/* =========================================================
   TOKENS OFFICIELS
   ========================================================= */

html[data-cpt-theme="dark"]{
  --bg:#090A0B;
  --bg2:#0E1012;
  --surf:#111315;
  --surf2:#181A1D;
  --brd:#2A2D31;

  --txt:#F4F4F4;
  --txt2:#B7B7B7;
  --txt3:#85888D;

  --acc:#FFE433;
  --accText:#171717;

  --success:#FFE433;
  --danger:#FF5A5F;
}

html[data-cpt-theme="light"]{
  --bg:#F6F7F9;
  --bg2:#F0F2F4;
  --surf:#FFFFFF;
  --surf2:#F7F8F9;
  --brd:#D9DDE3;

  --txt:#17191C;
  --txt2:#5F6670;
  --txt3:#8A919A;

  --acc:#FFE433;
  --accText:#171717;

  --success:#D9B900;
  --danger:#D94B4B;
}

/* =========================================================
   STRUCTURE GLOBALE
   ========================================================= */

html[data-cpt-theme] body,
html[data-cpt-theme] #content,
html[data-cpt-theme] main{
  background:var(--bg)!important;
  color:var(--txt)!important;
}

html[data-cpt-theme] header,
html[data-cpt-theme] .topbar{
  background:var(--surf)!important;
  color:var(--txt)!important;
  border-color:var(--brd)!important;
}

html[data-cpt-theme] #sidebar,
html[data-cpt-theme] .sidebar{
  background:var(--surf)!important;
  color:var(--txt)!important;
  border-color:var(--brd)!important;
}

/* =========================================================
   TEXTE
   ========================================================= */

html[data-cpt-theme] h1,
html[data-cpt-theme] h2,
html[data-cpt-theme] h3,
html[data-cpt-theme] h4,
html[data-cpt-theme] .page-title{
  color:var(--txt)!important;
}

html[data-cpt-theme] [style*="color:var(--txt)"]{
  color:var(--txt)!important;
}

html[data-cpt-theme] [style*="color:var(--txt2)"]{
  color:var(--txt2)!important;
}

html[data-cpt-theme] [style*="color:var(--txt3)"]{
  color:var(--txt3)!important;
}

/* =========================================================
   CARTES / BLOCS
   ========================================================= */

html[data-cpt-theme] .card,
html[data-cpt-theme] .modal-card,
html[data-cpt-theme] .setting-section,
html[data-cpt-theme] .sec-bar{
  background:var(--surf)!important;
  color:var(--txt)!important;
  border-color:var(--brd)!important;
}

html[data-cpt-theme] [style*="background:#111315"],
html[data-cpt-theme] [style*="background: #111315"],
html[data-cpt-theme] [style*="background:#FFFFFF"],
html[data-cpt-theme] [style*="background: #FFFFFF"]{
  background:var(--surf)!important;
  color:var(--txt)!important;
}

/* =========================================================
   CALENDRIER HOME
   ========================================================= */

html[data-cpt-theme] #content button{
  color:var(--txt);
}

html[data-cpt-theme="dark"] #content button[style*="background:var(--bg2)"]{
  background:var(--surf2)!important;
  color:var(--txt)!important;
}

html[data-cpt-theme="light"] #content button[style*="background:var(--bg2)"]{
  background:var(--surf2)!important;
  color:var(--txt)!important;
}

html[data-cpt-theme] #content button[style*="background:var(--acc)"]{
  background:var(--acc)!important;
  color:var(--accText)!important;
  border-color:var(--acc)!important;
}

html[data-cpt-theme] #content button[style*="border:2px solid var(--acc)"]{
  border-color:var(--acc)!important;
}

/* points */
html[data-cpt-theme] #content span[style*="border-radius:50%"]{
  background:var(--acc)!important;
}

/* =========================================================
   BUTTONS
   ========================================================= */

html[data-cpt-theme] .btn{
  background:var(--surf2)!important;
  color:var(--txt)!important;
  border-color:var(--brd)!important;
}

html[data-cpt-theme] .btn:hover{
  border-color:var(--acc)!important;
  color:var(--txt)!important;
}

html[data-cpt-theme] .btn-p,
html[data-cpt-theme] #add-btn{
  background:var(--acc)!important;
  color:var(--accText)!important;
  border-color:var(--acc)!important;
}

html[data-cpt-theme] .btn-g{
  background:transparent!important;
  color:var(--success)!important;
  border-color:var(--success)!important;
}

/* =========================================================
   INPUTS
   ========================================================= */

html[data-cpt-theme] input,
html[data-cpt-theme] select,
html[data-cpt-theme] textarea{
  background:var(--surf)!important;
  color:var(--txt)!important;
  border-color:var(--brd)!important;
}

html[data-cpt-theme] input::placeholder,
html[data-cpt-theme] textarea::placeholder{
  color:var(--txt3)!important;
}

/* =========================================================
   SIDEBAR
   ========================================================= */

html[data-cpt-theme] .sb-item{
  color:var(--txt2)!important;
}

html[data-cpt-theme] .sb-item:hover{
  background:var(--surf2)!important;
  color:var(--txt)!important;
}

html[data-cpt-theme] .sb-item.active{
  background:var(--surf2)!important;
  color:var(--acc)!important;
}

/* =========================================================
   TAGS / PILLS / BADGES
   ========================================================= */

html[data-cpt-theme] .tag,
html[data-cpt-theme] .pill,
html[data-cpt-theme] .badge{
  background:var(--surf2)!important;
  color:var(--txt2)!important;
  border-color:var(--brd)!important;
}

html[data-cpt-theme] .countdown,
html[data-cpt-theme] .pill-upcoming,
html[data-cpt-theme] .pill-todo{
  color:var(--acc)!important;
}

/* =========================================================
   PROGRESS / TIMER
   ========================================================= */

html[data-cpt-theme] .prog-bar{
  background:var(--surf2)!important;
}

html[data-cpt-theme] .prog-fill{
  background:var(--acc)!important;
}

html[data-cpt-theme] .home-live-timer{
  background:var(--surf2)!important;
  color:var(--txt)!important;
  border-color:var(--brd)!important;
}

/* =========================================================
   BOTTOM NAV GLOBAL
   ========================================================= */

html[data-cpt-theme] #content > div:last-child{
  background:var(--surf)!important;
  border-color:var(--brd)!important;
  color:var(--txt)!important;
}

html[data-cpt-theme] #content > div:last-child > button{
  background:transparent!important;
  color:var(--txt2)!important;
}

html[data-cpt-theme] #content > div:last-child > button[style*="var(--acc)"]{
  background:var(--surf2)!important;
  color:var(--acc)!important;
}

/* =========================================================
   LINKS / DIVIDERS / SCROLL
   ========================================================= */

html[data-cpt-theme] a{
  color:var(--acc)!important;
}

html[data-cpt-theme] [style*="border-bottom"]{
  border-color:var(--brd)!important;
}

html[data-cpt-theme] ::-webkit-scrollbar-track{
  background:var(--bg);
}

html[data-cpt-theme] ::-webkit-scrollbar-thumb{
  background:var(--brd);
  border-radius:10px;
}

/* =========================================================
   MODE CLAIR - AFFINAGES
   ========================================================= */

html[data-cpt-theme="light"] .sb-item.active{
  background:#FFF8C7!important;
  color:#9A8300!important;
}

html[data-cpt-theme="light"] .btn-g{
  color:#A58B00!important;
  border-color:#D8B900!important;
}

html[data-cpt-theme="light"] .countdown,
html[data-cpt-theme="light"] .pill-upcoming,
html[data-cpt-theme="light"] .pill-todo{
  color:#9A8300!important;
}

html[data-cpt-theme="light"] .card,
html[data-cpt-theme="light"] .setting-section{
  box-shadow:0 1px 3px rgba(0,0,0,.04)!important;
}

/* =========================================================
   MODE SOMBRE - AFFINAGES
   ========================================================= */

html[data-cpt-theme="dark"] .card,
html[data-cpt-theme="dark"] .setting-section{
  box-shadow:none!important;
}



/* ===== CPT THEME QA V2.1 ===== */

:root{
  --on-acc:#171717;
}

/* Les textes principaux héritent réellement du thème */
#content,
.card,
.setting-section{
  color:var(--txt);
}

/* CARTES */
.card{
  background:var(--surf) !important;
  color:var(--txt) !important;
  border-color:var(--brd) !important;
}

/* MODE CLAIR */
html[data-cpt-theme="light"] .card{
  background:#FFFFFF !important;
  color:#171717 !important;
  border-color:#D9DEE5 !important;
}

html[data-cpt-theme="light"] .card h1,
html[data-cpt-theme="light"] .card h2,
html[data-cpt-theme="light"] .card h3,
html[data-cpt-theme="light"] .card strong{
  color:#171717 !important;
}

/* Boutons neutres */
html[data-cpt-theme="light"] .btn:not(.btn-p):not(.btn-g){
  background:#FFFFFF;
  color:#30343A;
  border-color:#D9DEE5;
}

/* Accent jaune = texte foncé */
html[data-cpt-theme="light"] .btn-p{
  color:#171717;
}

/* MODE SOMBRE */
html[data-cpt-theme="dark"] .card{
  background:var(--surf) !important;
  color:var(--txt) !important;
  border-color:var(--brd) !important;
}

/* Empêche les titres de perdre leur contraste */
.sec-bar,
.sec-bar h2{
  color:var(--txt) !important;
}

/* Menu inférieur */
html[data-cpt-theme="light"] .home-bottom-nav,
html[data-cpt-theme="dark"] .home-bottom-nav{
  color:var(--txt);
}



/* CPT DARK COUNTDOWN V1 */

/* Badge délai standard */
html[data-cpt-theme="dark"] .countdown{
  background:rgba(255,228,51,.08)!important;
  color:#FFE433!important;
  border:1px solid rgba(255,228,51,.35)!important;
  border-radius:999px!important;
  padding:3px 8px!important;
  font-weight:700!important;
  line-height:1.2!important;
}

/* Échéance proche */
html[data-cpt-theme="dark"] .cd-soon{
  background:rgba(255,228,51,.12)!important;
  color:#FFE433!important;
  border-color:rgba(255,228,51,.55)!important;
}

/* Aujourd'hui / urgent */
html[data-cpt-theme="dark"] .cd-urgent{
  background:rgba(255,184,0,.14)!important;
  color:#FFD24A!important;
  border-color:rgba(255,184,0,.55)!important;
}

/* Échéance normale */
html[data-cpt-theme="dark"] .cd-ok{
  background:rgba(255,228,51,.06)!important;
  color:#EBD630!important;
  border-color:rgba(255,228,51,.25)!important;
}

/* Date à côté du badge */
html[data-cpt-theme="dark"] .countdown + span{
  color:var(--txt3)!important;
}

/* Empêcher les anciens fonds blancs */
html[data-cpt-theme="dark"] .countdown,
html[data-cpt-theme="dark"] .pill-upcoming,
html[data-cpt-theme="dark"] .pill-todo{
  box-shadow:none!important;
}



/* ===== CPT HISTORY V1 ===== */
.history-filters{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin-bottom:12px;padding:10px 12px;
  border:1px solid var(--brd);border-radius:12px;background:var(--surf);
}
.history-label{font-size:12px;font-weight:800;color:var(--txt2);margin-right:2px}
.history-section-title{
  margin:18px 0 10px;font-size:12px;font-weight:900;letter-spacing:.08em;
  text-transform:uppercase;color:var(--txt2)
}
.history-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px
}
.history-card{
  background:var(--surf);border:1px solid var(--brd);border-radius:12px;
  padding:13px;min-width:0
}
.history-card-top{display:flex;align-items:flex-start;gap:8px}
.history-type{font-size:18px;line-height:1}
.history-name{font-size:14px;font-weight:800;flex:1;min-width:0}
.history-meta{font-size:11.5px;color:var(--txt3);margin-top:6px;display:flex;gap:6px;flex-wrap:wrap}
.history-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.history-status{
  display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;
  border:1px solid var(--brd);font-size:10.5px;font-weight:800
}
.history-status.todo{color:var(--txt2)}
.history-status.done{color:var(--success);border-color:var(--success)}
.history-status.cancelled,.history-status.deleted{color:var(--danger);border-color:var(--danger)}
@media(max-width:760px){
  .history-grid{grid-template-columns:1fr}
}


/* ===== CPT MASTER EVENTS VIEW V1 ===== */
.master-type-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.master-section{margin-top:16px}
.master-section-hd{display:flex;align-items:center;gap:10px;margin:14px 0 10px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.master-section-hd:after{content:"";height:1px;flex:1;background:var(--brd)}
.master-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}
.master-card{background:var(--surf);border:1px solid var(--brd);border-radius:14px;padding:14px;position:relative;min-width:0}
.master-card-top{display:flex;align-items:flex-start;gap:10px}
.master-card-title{font-size:14px;font-weight:800;flex:1;min-width:0}
.master-kind{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:10.5px;font-weight:800;border:1px solid var(--brd)}
.master-kind.rec{color:var(--acc);border-color:var(--acc)}
.master-meta{display:flex;flex-direction:column;gap:4px;margin-top:10px;font-size:11.5px;color:var(--txt3)}
.master-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}
.master-actions{display:flex;gap:5px;justify-content:flex-end;margin-top:10px}
.master-next{color:var(--txt2);font-weight:700}
@media(max-width:760px){.master-grid{grid-template-columns:1fr}.master-card{padding:13px}}


/* ===== CPT UPCOMING OVERDUE SECTION V1 ===== */
.upcoming-section-overdue{
  background:#FF4D5A!important;
  color:#171717!important;
  border:1px solid #FF4D5A!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}


/* ===== CPT GLOBAL HOVER CONTRAST FIX V1 ===== */
html[data-cpt-theme] .btn:hover,
html[data-cpt-theme] .btn-ic:hover,
html[data-cpt-theme] .sb-item:hover,
html[data-cpt-theme] .cpt-bottom-nav-item:hover,
html[data-cpt-theme] .tag:hover{
  background:var(--surf2)!important;
  color:var(--txt)!important;
  border-color:var(--acc)!important;
  -webkit-text-fill-color:var(--txt)!important;
}
html[data-cpt-theme] .btn-p:hover,
html[data-cpt-theme] #add-btn:hover,
html[data-cpt-theme] .sb-item.active:hover,
html[data-cpt-theme] .cpt-bottom-nav-item.active:hover{
  background:var(--acc)!important;
  color:var(--accText)!important;
  border-color:var(--acc)!important;
  -webkit-text-fill-color:var(--accText)!important;
}
html[data-cpt-theme] .btn-r:hover,
html[data-cpt-theme] .btn-ic.danger:hover{
  background:var(--danger)!important;
  color:#fff!important;
  border-color:var(--danger)!important;
  -webkit-text-fill-color:#fff!important;
}
html[data-cpt-theme] .btn-g:hover,
html[data-cpt-theme] .btn-ic.success:hover{
  background:var(--acc)!important;
  color:var(--accText)!important;
  border-color:var(--acc)!important;
  -webkit-text-fill-color:var(--accText)!important;
}


/* ===== CPT HOVER COLOR SWAP V2 =====
   Au survol : inversion stricte fond <-> texte du bouton.
   Exemple : fond sombre / texte clair -> fond clair / texte sombre.
             fond jaune / texte noir -> fond noir / texte jaune.
*/
.btn:hover,
.btn-ic:hover,
.tag:hover,
.sb-item:hover,
.cpt-bottom-nav-item:hover,
button:hover {
  background-color: var(--cpt-hover-fg, currentColor) !important;
  color: var(--cpt-hover-bg, var(--bg)) !important;
}

/* Boutons standards sombres */
.btn:not(.btn-p):not(.btn-g):not(.btn-r):hover,
.btn-ic:not(.danger):not(.success):hover,
.tag:not(.active):hover {
  background:#f2f2f2 !important;
  color:#111 !important;
  border-color:#f2f2f2 !important;
  -webkit-text-fill-color:#111 !important;
}

/* Jaune : inversion jaune/noir */
.btn-p:hover,
.btn-g:hover,
.tag.active:hover,
.sb-item.active:hover,
.cpt-bottom-nav-item.active:hover,
#add-btn:hover {
  background:#111 !important;
  color:var(--acc) !important;
  border-color:var(--acc) !important;
  -webkit-text-fill-color:var(--acc) !important;
}

/* Rouge : inversion rouge/blanc */
.btn-r:hover,
.btn-ic.danger:hover {
  background:#fff !important;
  color:var(--danger) !important;
  border-color:var(--danger) !important;
  -webkit-text-fill-color:var(--danger) !important;
}

/* Les icônes/textes enfants héritent toujours de la couleur inversée. */
.btn:hover *,
.btn-ic:hover *,
.tag:hover *,
.sb-item:hover *,
.cpt-bottom-nav-item:hover *,
button:hover * {
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
}


/* ===== CPT ACTIVITY/TASK TIMER V10 ===== */
.cpt-timer-wrap{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.cpt-timer-display{
  min-width:74px;
  text-align:center;
  font-variant-numeric:tabular-nums;
  font-size:11.5px;
  font-weight:800;
  color:var(--txt2);
  border:1px solid var(--brd);
  border-radius:8px;
  padding:5px 8px;
  background:var(--surf2);
}
.cpt-timer-display.running{
  color:var(--acc);
  border-color:var(--acc);
}
.cpt-timer-btn{
  min-width:58px;
}
.cpt-time-spent{
  font-size:11.5px;
  color:var(--txt3);
  margin-top:4px;
}


/* ===== CPT TIMER UI V11 ===== */
.cpt-timer-wrap{
  display:inline-flex!important;
  align-items:stretch!important;
  gap:0!important;
  height:30px;
  border:1px solid var(--brd);
  border-radius:9px;
  overflow:hidden;
  background:var(--surf2);
  vertical-align:middle;
}
.cpt-timer-display{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-width:76px!important;
  padding:0 9px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  font-size:11px!important;
  font-weight:800!important;
  font-variant-numeric:tabular-nums;
  color:var(--txt2)!important;
  line-height:28px!important;
}
.cpt-timer-display.running{
  color:var(--acc)!important;
}
.cpt-timer-btn{
  min-width:62px!important;
  height:28px!important;
  margin:0!important;
  padding:0 10px!important;
  border:0!important;
  border-left:1px solid var(--brd)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--txt)!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:28px!important;
  white-space:nowrap;
}
.cpt-timer-btn:hover{
  background:var(--acc)!important;
  color:var(--accText)!important;
  -webkit-text-fill-color:var(--accText)!important;
}
.cpt-timer-wrap.running{
  border-color:var(--acc);
}
.cpt-time-spent{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:11px!important;
  color:var(--txt3)!important;
  margin-top:6px!important;
}
.cpt-time-spent strong{
  color:var(--txt)!important;
  font-variant-numeric:tabular-nums;
}


/* ===== CPT V12 — TIMER RECURRENT + BUDGET TIME ===== */
.cpt-budget-time-card{padding:16px;border:1px solid var(--brd);border-radius:16px;background:var(--surf);}
.cpt-budget-time-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}
.cpt-budget-time-title{font-size:14px;font-weight:900;color:var(--txt)}
.cpt-budget-time-sub{font-size:11px;color:var(--txt3);margin-top:3px}
.cpt-budget-time-period{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cpt-budget-time-period input{max-width:145px}
.cpt-budget-time-body{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.cpt-budget-time-donut{width:190px;height:190px;position:relative;flex:0 0 190px}
.cpt-budget-time-donut svg{width:190px;height:190px;transform:rotate(-90deg)}
.cpt-budget-time-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.cpt-budget-time-pct{font-size:27px;font-weight:950;color:var(--txt)}
.cpt-budget-time-pct.alert{color:#dc2626}
.cpt-budget-time-center small{font-size:10px;color:var(--txt3);font-weight:800}
.cpt-budget-time-stats{display:grid;grid-template-columns:repeat(2,minmax(125px,1fr));gap:9px;flex:1;min-width:250px}
.cpt-budget-time-stat{border:1px solid var(--brd);border-radius:11px;padding:10px;background:var(--surf2)}
.cpt-budget-time-stat b{display:block;font-size:17px;color:var(--txt);margin-top:3px}
.cpt-budget-time-stat span{font-size:10px;color:var(--txt3);font-weight:700}
.cpt-budget-time-alert{margin-top:10px;padding:8px 10px;border-radius:9px;background:rgba(220,38,38,.10);color:#dc2626;font-size:11px;font-weight:900}
@media(max-width:600px){
 .cpt-budget-time-body{justify-content:center}
 .cpt-budget-time-stats{width:100%;min-width:0}
}


/* ===== CPT V13 FOCUS MODE + BUDGET TIME 2 CHARTS ===== */
#cpt-focus-overlay{position:fixed;inset:0;z-index:999999;background:var(--bg,#080b12);color:var(--txt,#fff);display:flex;align-items:center;justify-content:center;padding:20px}
.cpt-focus-box{width:min(760px,96vw);text-align:center}
.cpt-focus-kicker{font-size:12px;font-weight:900;letter-spacing:.18em;color:var(--txt3);margin-bottom:16px}
.cpt-focus-name{font-size:clamp(24px,5vw,48px);font-weight:950;line-height:1.12;margin-bottom:24px}
.cpt-focus-clock{font-size:clamp(56px,14vw,126px);font-weight:950;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.cpt-focus-meta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:24px 0}
.cpt-focus-pill{border:1px solid var(--brd);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:800}
.cpt-focus-hint{font-size:12px;color:var(--txt3);margin:20px 0}
.cpt-focus-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.cpt-focus-actions .btn{min-width:130px;min-height:44px;font-weight:900}
.cpt-budget-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.cpt-budget-chart{border:1px solid var(--brd);border-radius:14px;padding:14px;background:var(--surf2)}
.cpt-budget-chart h4{margin:0 0 4px;font-size:13px}
.cpt-budget-chart p{margin:0 0 12px;font-size:10.5px;color:var(--txt3)}
.cpt-budget-bar{height:22px;border-radius:999px;background:var(--brd);overflow:hidden;display:flex}
.cpt-budget-seg{height:100%;min-width:0}
.cpt-budget-seg.proj{background:var(--acc)}
.cpt-budget-seg.real{background:var(--txt)}
.cpt-budget-seg.remain{background:var(--acc)}
.cpt-budget-bar.alert{outline:2px solid #dc2626}
.cpt-budget-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:9px;font-size:10.5px;color:var(--txt2)}
.cpt-budget-big{font-size:20px;font-weight:950;margin-top:9px}
.cpt-budget-big.alert{color:#dc2626}
@media(max-width:700px){.cpt-budget-chart-grid{grid-template-columns:1fr}}


/* ===== CPT V14 HISTORY UNDO + TWO BUDGET DONUTS ===== */
.cpt-budget-two-donuts{
  display:grid;
  grid-template-columns:repeat(2,minmax(280px,1fr));
  gap:14px;
  margin-top:16px;
}
.cpt-budget-donut-card{
  border:1px solid var(--brd);
  border-radius:16px;
  background:var(--surf2);
  padding:15px;
}
.cpt-budget-donut-title{font-size:13px;font-weight:900;color:var(--txt);margin-bottom:3px}
.cpt-budget-donut-sub{font-size:10.5px;color:var(--txt3);margin-bottom:12px}
.cpt-budget-donut-layout{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cpt-budget-donut-svg{width:170px;height:170px;position:relative;flex:0 0 170px}
.cpt-budget-donut-svg svg{width:170px;height:170px;transform:rotate(-90deg)}
.cpt-budget-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.cpt-budget-donut-center strong{font-size:24px;color:var(--txt);font-variant-numeric:tabular-nums}
.cpt-budget-donut-center strong.alert{color:#dc2626}
.cpt-budget-donut-center span{font-size:9.5px;color:var(--txt3);font-weight:800}
.cpt-budget-donut-info{flex:1;min-width:150px}
.cpt-budget-donut-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--brd);font-size:11px}
.cpt-budget-donut-row:last-child{border-bottom:0}
.cpt-budget-donut-row b{font-variant-numeric:tabular-nums}
.cpt-budget-countdown{margin-top:10px;padding:9px 10px;border-radius:10px;background:var(--surf);border:1px solid var(--brd);font-size:11px;font-weight:900;color:var(--txt2)}
.cpt-budget-countdown.alert{color:#dc2626;border-color:#dc2626}
.history-undo-btn{margin-left:auto}
@media(max-width:760px){.cpt-budget-two-donuts{grid-template-columns:1fr}}


/* V16 — KPI Budget Time drill-down */
.cpt-kpi-clickable{cursor:pointer;transition:transform .12s ease,border-color .12s ease}
.cpt-kpi-clickable:hover{transform:translateY(-1px);border-color:var(--acc)!important}
.cpt-kpi-drill-overlay{position:fixed;inset:0;z-index:10050;background:var(--bg);overflow:auto}
.cpt-kpi-drill{max-width:1180px;margin:0 auto;padding:24px}
.cpt-kpi-drill-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.cpt-kpi-drill-head h2{margin:0;flex:1}
.cpt-kpi-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0 18px}
.cpt-kpi-summary>div,.cpt-kpi-row{background:var(--surf);border:1px solid var(--brd);border-radius:12px;padding:13px}
.cpt-kpi-summary small{display:block;color:var(--txt2);margin-bottom:5px}
.cpt-kpi-summary strong{font-size:18px}
.cpt-kpi-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.cpt-kpi-row{display:grid;grid-template-columns:minmax(220px,2fr) 110px 130px repeat(3,110px);gap:10px;align-items:center;margin-bottom:8px}
.cpt-kpi-row:hover{border-color:var(--acc)}
.cpt-kpi-row .muted{color:var(--txt2);font-size:12px}
@media(max-width:800px){.cpt-kpi-row{grid-template-columns:1fr 1fr}.cpt-kpi-drill{padding:14px}}

/* ===== CPT V17 — KPI DRILLDOWN AFFORDANCE ===== */
.cpt-kpi-drill-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--brd);
}
.cpt-kpi-drill-cta .hint{
  font-size:10.5px;
  color:var(--txt3);
}
.cpt-kpi-drill-cta .btn{
  min-width:126px;
  font-weight:900;
}
.cpt-kpi-clickable{
  position:relative;
}
.cpt-kpi-clickable::after{
  content:'Cliquable';
  position:absolute;
  top:10px;
  right:10px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--acc);
  opacity:.85;
}


/* ===== CPT V19 — ACTIVITY COMPONENTS FORM ===== */
.cpt-act-modal{width:min(760px,96vw)!important;max-width:760px!important}
.cpt-modal-subtitle{font-size:10.5px;color:var(--txt3);margin-top:2px}
.cpt-act-modal-body{display:flex;flex-direction:column;gap:12px}
.cpt-form-section{border:1px solid var(--brd);background:var(--surf2);border-radius:13px;padding:14px}
.cpt-form-section-title{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--txt);margin-bottom:12px}
.cpt-form-section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.cpt-form-section-title-row .cpt-form-section-title{margin-bottom:3px}
.cpt-section-help,.cpt-field-note{font-size:10.5px;color:var(--txt3);line-height:1.45}
.cpt-hours-total{border:1px solid var(--acc);border-radius:10px;padding:8px 11px;min-width:145px;text-align:right;background:rgba(255,228,51,.06)}
.cpt-hours-total span{display:block;font-size:9.5px;color:var(--txt3);font-weight:800;text-transform:uppercase}
.cpt-hours-total strong{display:block;margin-top:2px;font-size:15px;color:var(--acc);font-variant-numeric:tabular-nums}
.cpt-component-head{display:grid;grid-template-columns:minmax(180px,1fr) 80px 90px 90px;gap:8px;padding:0 10px 6px;font-size:9.5px;font-weight:900;text-transform:uppercase;color:var(--txt3)}
.cpt-component-list{max-height:250px;overflow:auto;border:1px solid var(--brd);border-radius:10px;background:var(--surf)}
.cpt-component-list .tsel-item{display:grid!important;grid-template-columns:24px minmax(160px,1fr) 80px 90px 90px;gap:8px;align-items:center;padding:9px 10px!important;border-bottom:1px solid var(--brd)}
.cpt-component-list .tsel-item:last-child{border-bottom:0}
.cpt-component-list .cpt-comp-dur,.cpt-component-list .cpt-comp-total{font-size:11px;color:var(--txt2);font-variant-numeric:tabular-nums}
.cpt-component-list .cpt-comp-occ{width:72px!important}
.cpt-create-component{width:100%;margin-top:9px}
.cpt-hours-readonly{margin-top:12px!important}
.cpt-hours-readonly input{font-weight:900;color:var(--acc)!important;background:var(--surf)!important}
@media(max-width:650px){
  .cpt-act-modal{width:100%!important;max-width:100%!important}
  .cpt-form-section{padding:11px}
  .cpt-form-section-title-row{flex-direction:column}
  .cpt-hours-total{width:100%;text-align:left}
  .cpt-component-head{display:none}
  .cpt-component-list .tsel-item{
    grid-template-columns:24px minmax(0,1fr) 70px;
  }
  .cpt-component-list .cpt-comp-dur{grid-column:2}
  .cpt-component-list .cpt-comp-total{grid-column:3}
}


/* ===== CPT V20 — CLEAN ACTIVITY COMPONENTS UI ===== */
.cpt-act-modal{
  width:min(820px,96vw)!important;
  max-width:820px!important;
}
.cpt-components-section{
  padding:16px!important;
}
.cpt-component-head{
  display:grid!important;
  grid-template-columns:minmax(220px,1.8fr) 90px 110px 100px!important;
  gap:12px!important;
  padding:0 12px 7px 42px!important;
  align-items:center!important;
}
.cpt-component-list{
  max-height:290px!important;
  overflow:auto!important;
  background:var(--surf)!important;
  border:1px solid var(--brd)!important;
  border-radius:12px!important;
}
.cpt-component-list .tsel-item{
  display:grid!important;
  grid-template-columns:28px minmax(220px,1.8fr) 90px 110px 100px!important;
  gap:12px!important;
  align-items:center!important;
  min-height:54px!important;
  padding:10px 12px!important;
  border-bottom:1px solid var(--brd)!important;
  background:transparent!important;
}
.cpt-component-list .tsel-item:last-child{
  border-bottom:0!important;
}
.cpt-component-list .tsel-item:hover{
  background:rgba(255,228,51,.035)!important;
}
.cpt-component-list .cpt-comp-name{
  min-width:0!important;
  overflow:hidden!important;
}
.cpt-component-list .cpt-comp-name strong{
  display:block!important;
  font-size:12px!important;
  color:var(--txt)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.cpt-component-list .cpt-comp-name small{
  display:block!important;
  margin-top:2px!important;
  font-size:10px!important;
  color:var(--txt3)!important;
}
.cpt-component-list .cpt-comp-dur,
.cpt-component-list .cpt-comp-total{
  font-size:12px!important;
  font-weight:800!important;
  color:var(--txt2)!important;
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
}
.cpt-component-list .cpt-comp-total{
  color:var(--acc)!important;
}
.cpt-component-list .cpt-comp-occ{
  width:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  height:34px!important;
  padding:5px 8px!important;
  text-align:center!important;
}
.cpt-component-list input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  margin:0!important;
}
.cpt-component-empty{
  padding:18px!important;
  text-align:center!important;
  font-size:11.5px!important;
  color:var(--txt3)!important;
}
.cpt-hours-total{
  min-width:165px!important;
}
.cpt-hours-total strong{
  font-size:17px!important;
}
.cpt-hours-readonly{
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) 140px!important;
  column-gap:14px!important;
  align-items:end!important;
}
.cpt-hours-readonly label,
.cpt-hours-readonly .cpt-field-note{
  grid-column:1!important;
}
.cpt-hours-readonly input{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  height:42px!important;
  text-align:center!important;
  font-size:16px!important;
}
@media(max-width:700px){
  .cpt-component-head{display:none!important}
  .cpt-component-list .tsel-item{
    grid-template-columns:24px minmax(0,1fr) 82px!important;
    gap:8px!important;
    align-items:start!important;
  }
  .cpt-component-list .cpt-comp-name{
    grid-column:2!important;
  }
  .cpt-component-list .cpt-comp-dur{
    grid-column:2!important;
    margin-top:-2px!important;
  }
  .cpt-component-list .cpt-comp-occ{
    grid-column:3!important;
    grid-row:1 / span 2!important;
    width:78px!important;
    min-width:78px!important;
  }
  .cpt-component-list .cpt-comp-total{
    grid-column:2 / 4!important;
    padding-top:6px!important;
    border-top:1px dashed var(--brd)!important;
  }
  .cpt-hours-readonly{
    grid-template-columns:1fr!important;
  }
  .cpt-hours-readonly input{
    grid-column:1!important;
    grid-row:auto!important;
    text-align:left!important;
  }
}


/* ===== CPT V21 — ACTIVITY COMPONENTS MATCH VALIDATED MOCKUP ===== */
.cpt-act-modal{
  width:min(980px,96vw)!important;
  max-width:980px!important;
}
.cpt-act-modal .modal-bd{
  padding:16px!important;
}
.cpt-components-section{
  background:var(--surf)!important;
  border:1px solid var(--brd)!important;
  border-radius:16px!important;
  padding:16px!important;
}
.cpt-form-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid var(--brd);
  border-radius:10px;
  overflow:hidden;
  margin-bottom:14px;
  background:var(--surf2);
}
.cpt-form-step{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:42px;
  padding:8px 10px;
  font-size:11px;
  font-weight:800;
  color:var(--txt2);
  border-right:1px solid var(--brd);
}
.cpt-form-step:last-child{border-right:0}
.cpt-form-step .n{
  width:22px;height:22px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--brd2);color:var(--txt);font-size:10px;
}
.cpt-form-step.active{
  background:var(--acc);
  color:var(--accText);
}
.cpt-form-step.active .n{
  background:rgba(0,0,0,.15);
  color:var(--accText);
}
.cpt-components-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:16px;
}
.cpt-components-titlebox h4{
  margin:0 0 4px;
  font-size:15px;
  font-weight:950;
  letter-spacing:.02em;
}
.cpt-components-titlebox p{
  margin:0;
  font-size:11px;
  color:var(--txt3);
}
.cpt-hours-total{
  min-width:205px!important;
  border:1px solid var(--acc)!important;
  background:rgba(255,228,51,.04)!important;
  padding:12px 14px!important;
  border-radius:12px!important;
}
.cpt-hours-total span{
  font-size:10px!important;
}
.cpt-hours-total strong{
  font-size:20px!important;
  margin-top:4px!important;
}
.cpt-task-add-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 240px;
  gap:12px;
  align-items:end;
  margin-bottom:16px;
}
.cpt-task-add-row .fg{margin:0!important}
.cpt-task-add-help{
  margin-top:6px;
  font-size:10.5px;
  color:var(--txt3);
}
.cpt-task-add-button{
  width:100%;
  min-height:42px;
  font-weight:900;
}
.cpt-selected-panel{
  border:1px solid var(--brd);
  border-radius:12px;
  overflow:hidden;
  background:var(--surf2);
}
.cpt-selected-panel-hd{
  padding:11px 14px;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  border-bottom:1px solid var(--brd);
}
.cpt-component-head{
  display:grid!important;
  grid-template-columns:34px minmax(260px,1.7fr) 110px 120px 120px 80px!important;
  gap:10px!important;
  padding:9px 12px!important;
  background:var(--surf)!important;
  font-size:9.5px!important;
}
.cpt-component-list{
  max-height:260px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.cpt-component-list .tsel-item{
  display:grid!important;
  grid-template-columns:34px minmax(260px,1.7fr) 110px 120px 120px 80px!important;
  gap:10px!important;
  min-height:62px!important;
  padding:10px 12px!important;
  background:transparent!important;
}
.cpt-component-list .tsel-item:hover{
  background:rgba(255,255,255,.018)!important;
}
.cpt-comp-index{
  color:var(--txt3);
  font-size:11px;
  text-align:center;
}
.cpt-component-list .cpt-comp-name strong{
  font-size:12.5px!important;
}
.cpt-comp-icon{
  margin-right:7px;
  opacity:.8;
}
.cpt-component-list .cpt-comp-dur{
  font-size:12px!important;
  font-weight:850!important;
}
.cpt-component-list .cpt-comp-dur small{
  display:block;
  font-size:10px;
  color:var(--txt3);
  font-weight:600;
  margin-top:2px;
}
.cpt-component-list .cpt-comp-total{
  font-size:12px!important;
  font-weight:900!important;
  color:var(--txt)!important;
}
.cpt-component-list .cpt-comp-total small{
  display:block;
  font-size:10px;
  color:var(--txt3);
  font-weight:600;
  margin-top:2px;
}
.cpt-comp-remove{
  justify-self:end;
  width:32px;height:32px;
  border-radius:8px;
  border:1px solid rgba(255,90,95,.35);
  background:rgba(255,90,95,.10);
  color:var(--danger);
  cursor:pointer;
  font-size:14px;
}
.cpt-component-total-row{
  display:grid;
  grid-template-columns:1fr 120px 80px;
  gap:10px;
  align-items:center;
  padding:11px 12px;
  border-top:1px solid var(--brd);
  background:rgba(255,255,255,.018);
}
.cpt-component-total-row strong{
  font-size:12px;
}
.cpt-component-total-row .value{
  text-align:right;
  font-size:12px;
  font-weight:900;
}
.cpt-component-total-row .value small{
  display:block;
  font-weight:600;
  color:var(--txt3);
  margin-top:2px;
}
.cpt-components-explain{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid rgba(34,197,94,.35);
  background:rgba(34,197,94,.08);
  border-radius:11px;
  font-size:11px;
  line-height:1.55;
}
.cpt-components-explain strong{
  display:block;
  margin-bottom:4px;
}
.cpt-components-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}
.cpt-components-summary-card{
  border:1px solid var(--brd);
  background:var(--surf2);
  border-radius:11px;
  padding:13px;
}
.cpt-components-summary-card h5{
  margin:0 0 9px;
  font-size:11px;
  text-transform:uppercase;
}
.cpt-components-summary-line{
  display:flex;justify-content:space-between;gap:12px;
  padding:5px 0;
  font-size:11px;
}
.cpt-components-summary-line b{font-variant-numeric:tabular-nums}
.cpt-hours-readonly{
  margin-top:14px!important;
  padding:13px!important;
  border:1px solid var(--brd);
  border-radius:11px;
  background:var(--surf2);
}
.cpt-hours-readonly input{
  position:relative;
}
@media(max-width:800px){
  .cpt-form-steps{grid-template-columns:1fr 1fr}
  .cpt-task-add-row{grid-template-columns:1fr}
  .cpt-components-top{flex-direction:column}
  .cpt-hours-total{width:100%;text-align:left!important}
  .cpt-component-head{display:none!important}
  .cpt-component-list .tsel-item{
    grid-template-columns:28px minmax(0,1fr) 86px!important;
  }
  .cpt-comp-index{display:none}
  .cpt-component-list .cpt-comp-name{grid-column:2}
  .cpt-component-list .cpt-comp-dur{grid-column:2}
  .cpt-component-list .cpt-comp-occ{grid-column:3;grid-row:1 / span 2}
  .cpt-component-list .cpt-comp-total{grid-column:2 / 4}
  .cpt-comp-remove{grid-column:3}
  .cpt-components-summary{grid-template-columns:1fr}
}


/* ===== CPT V22 — REFINED ACTIVITY EDITOR ===== */
.cpt-act-modal{
  width:min(940px,95vw)!important;
  max-width:940px!important;
  max-height:92vh!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
.cpt-act-modal .modal-hd{
  min-height:64px!important;
  padding:14px 18px!important;
  position:sticky!important;
  top:0!important;
  z-index:7!important;
  background:var(--surf)!important;
}
.cpt-act-modal .modal-bd{
  padding:16px 18px 22px!important;
  overflow-y:auto!important;
  scroll-behavior:smooth;
}
.cpt-act-modal .modal-ft{
  min-height:64px!important;
  padding:11px 18px!important;
  position:sticky!important;
  bottom:0!important;
  z-index:8!important;
  background:var(--surf)!important;
  border-top:1px solid var(--brd)!important;
}
.cpt-act-modal .modal-ft .btn{
  min-width:115px;
  min-height:40px;
}
.cpt-act-modal .modal-ft .btn-p{
  min-width:205px;
}
.cpt-act-modal .cpt-form-section{
  margin-bottom:12px!important;
  padding:16px!important;
  border-radius:13px!important;
}
.cpt-act-modal .cpt-form-section-title{
  margin-bottom:14px!important;
  padding-bottom:9px;
  border-bottom:1px solid var(--brd);
}
.cpt-form-steps{
  position:sticky;
  top:-16px;
  z-index:5;
  margin:-16px -16px 16px!important;
  border-radius:12px 12px 0 0!important;
  background:var(--surf)!important;
  box-shadow:0 8px 14px rgba(0,0,0,.16);
}
.cpt-components-section{
  padding:0 16px 16px!important;
}
.cpt-components-top{
  margin-top:3px!important;
  padding-top:4px;
}
.cpt-task-add-row{
  padding:13px;
  border:1px solid var(--brd);
  border-radius:11px;
  background:var(--surf2);
}
.cpt-selected-panel{
  margin-top:14px;
}
.cpt-selected-panel-hd{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.cpt-selected-panel-hd::after{
  content:'Durée × occurrences';
  font-size:9px;
  font-weight:700;
  color:var(--txt3);
  text-transform:none;
}
.cpt-component-list{
  min-height:76px;
}
.cpt-component-empty{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
}
.cpt-components-explain{
  display:grid;
  grid-template-columns:150px 1fr;
  align-items:center;
  gap:12px;
}
.cpt-components-explain strong{
  margin:0!important;
  color:#4ade80;
}
.cpt-components-summary-card{
  min-height:130px;
}
.cpt-hours-readonly{
  display:grid!important;
  grid-template-columns:1fr 150px!important;
  align-items:center!important;
  gap:10px 20px!important;
}
.cpt-hours-readonly label{
  margin:0!important;
  font-size:11px!important;
}
.cpt-hours-readonly .cpt-field-note{
  grid-column:1!important;
  margin-top:-5px;
}
.cpt-hours-readonly input{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  font-weight:950!important;
  font-size:15px!important;
  text-align:center!important;
  color:var(--acc)!important;
  border-color:var(--acc)!important;
}
@media(max-width:720px){
  .cpt-act-modal{width:100%!important;max-height:94vh!important;border-radius:16px 16px 0 0!important}
  .cpt-act-modal .modal-bd{padding:12px!important}
  .cpt-form-steps{top:-12px;margin:-12px -12px 14px!important}
  .cpt-components-section{padding:0 11px 12px!important}
  .cpt-components-explain{grid-template-columns:1fr}
  .cpt-hours-readonly{grid-template-columns:1fr!important}
  .cpt-hours-readonly input{grid-column:1!important;grid-row:auto!important;text-align:left!important}
}


/* ===== CPT V24 — HISTORY SORT + MOBILE KPI ===== */
.history-sortbar{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:8px 0 12px;
  padding:10px 12px;
  border:1px solid var(--brd);
  border-radius:11px;
  background:var(--surf);
}
.history-sortbar .history-label{
  margin-right:4px;
}
@media(max-width:760px){
  .history-sortbar{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .history-sortbar .history-label{
    grid-column:1 / -1;
  }
}


/* ===== CPT V24 — MOBILE KPI FULL VISIBILITY ===== */
@media(max-width:760px){

  /* KPI page: never hide cards/sections on mobile */
  #content .cpt-budget-time-card,
  #content .cpt-budget-two-donuts,
  #content .cpt-budget-donut-card,
  #content .cpt-budget-time-stats,
  #content .cpt-budget-chart-grid,
  #content .card{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }

  #content .cpt-budget-two-donuts{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
  }

  #content .cpt-budget-donut-card{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  #content .cpt-budget-donut-layout{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    width:100%!important;
  }

  #content .cpt-budget-donut-info{
    width:100%!important;
    min-width:0!important;
  }

  #content .cpt-budget-time-body{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    width:100%!important;
  }

  #content .cpt-budget-time-stats{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    min-width:0!important;
  }

  #content .cpt-budget-time-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }

  #content .cpt-budget-time-period{
    display:grid!important;
    grid-template-columns:auto 1fr auto 1fr!important;
    width:100%!important;
  }

  #content .cpt-budget-time-period input{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  /* Financial KPI cards stack vertically */
  #content .sec-bar + div[style*="grid-template-columns"],
  #content div[style*="repeat(auto-fit,minmax(210px,1fr))"]{
    grid-template-columns:1fr!important;
  }

  /* Enough bottom space to see final KPI above fixed nav */
  #content{
    padding-bottom:125px!important;
  }
}


@media(max-width:760px){
  #content .btn.btn-g{min-height:40px!important;padding:9px 13px!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent}
  #content .card{transition:opacity .12s ease,transform .12s ease!important}
}


/* ===== CPT V26 — HISTORY PERIOD GROUPS ===== */
.history-period-section{
  margin:18px 0 24px;
}
.history-period-header{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  padding:9px 12px;
  border-radius:10px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#171717;
}
.history-period-header .line{
  height:2px;
  flex:1;
  background:rgba(23,23,23,.28);
}
.history-period-header.today{background:#ff5a5f}
.history-period-header.week{background:#ffb020}
.history-period-header.month{background:#ffe433}
.history-period-header.earlier{background:#8b5cf6;color:#fff}
.history-period-header.earlier .line{background:rgba(255,255,255,.30)}
.history-period-count{
  min-width:24px;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(0,0,0,.14);
  text-align:center;
  font-size:10px;
}
.history-period-empty{
  font-size:11px;
  color:var(--txt3);
  padding:3px 2px 8px;
}


/* ===== CPT V27 — SAFE ENTRY + ACTIVITY OWN TIME ===== */
.cpt-activity-time-split{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.cpt-activity-time-split .fg{
  margin:0!important;
  padding:12px;
  border:1px solid var(--brd);
  border-radius:11px;
  background:var(--surf2);
}
.cpt-activity-time-split input{
  height:42px!important;
  font-weight:900!important;
  font-size:15px!important;
}
.cpt-activity-total-time{
  border-color:var(--acc)!important;
  background:rgba(255,228,51,.05)!important;
}
.cpt-activity-total-time input{
  color:var(--acc)!important;
  border-color:var(--acc)!important;
}
@media(max-width:760px){
  .cpt-activity-time-split{grid-template-columns:1fr!important}
}


#modal-activity .modal-hd::after,
#modal-task .modal-hd::after,
#modal-shop .modal-hd::after{
  content:'La saisie est conservée tant que vous ne cliquez pas sur Annuler ou ×';
  margin-left:auto;
  margin-right:10px;
  font-size:9px;
  color:var(--txt3);
  font-weight:600;
}
@media(max-width:760px){
  #modal-activity .modal-hd::after,
  #modal-task .modal-hd::after,
  #modal-shop .modal-hd::after{display:none}
}


/* ===== CPT V31 — BOTTOM NAV GRAPHIC FIX ===== */
.cpt-global-bottom-nav{display:none;}
@media(max-width:900px){
  .cpt-global-bottom-nav{
    display:block!important;position:fixed!important;left:12px!important;right:12px!important;
    bottom:10px!important;z-index:5000!important;background:var(--surf)!important;
    border:1px solid var(--brd)!important;border-radius:16px!important;
    box-shadow:0 12px 34px rgba(0,0,0,.28)!important;padding:6px!important;
  }
  .cpt-bottom-nav-track{
    display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:4px!important;width:100%!important;
  }
  .cpt-bottom-nav-item{
    appearance:none!important;-webkit-appearance:none!important;border:0!important;
    background:transparent!important;color:var(--txt2)!important;min-width:0!important;
    min-height:50px!important;padding:5px 2px!important;border-radius:11px!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;
    justify-content:center!important;gap:2px!important;font-family:inherit!important;
    cursor:pointer!important;box-shadow:none!important;
  }
  .cpt-bottom-nav-item.active{background:var(--acc)!important;color:var(--accText)!important;}
  .cpt-bottom-nav-icon{font-size:16px!important;line-height:18px!important;height:18px!important;}
  .cpt-bottom-nav-label{
    font-size:9.5px!important;font-weight:800!important;white-space:nowrap!important;
    overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;
  }
  #content{padding-bottom:88px!important;}
}

/* ===== CPT V31 — UPCOMING COLLAPSIBLE PERIODS ===== */
.upcoming-fold-section{margin:16px 0 18px!important;}
.upcoming-fold-header{
  width:100%;appearance:none;-webkit-appearance:none;border:0;display:flex;align-items:center;
  gap:10px;padding:10px 12px;border-radius:10px;color:#171717;font-family:inherit;
  cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.16);text-align:left;
}
.upcoming-fold-header:hover{filter:brightness(.98);}
.upcoming-fold-header .fold-line{height:2px;background:rgba(23,23,23,.28);flex:1;}
.upcoming-fold-header .fold-title{font-size:12px;font-weight:950;letter-spacing:.09em;white-space:nowrap;}
.upcoming-fold-header .fold-count{
  min-width:26px;padding:2px 7px;border-radius:999px;background:rgba(0,0,0,.14);
  text-align:center;font-size:10px;font-weight:900;
}
.upcoming-fold-header .fold-chevron{
  width:18px;font-size:14px;font-weight:950;text-align:center;transition:transform .15s ease;
}
.upcoming-fold-section.collapsed .fold-chevron{transform:rotate(-90deg);}
.upcoming-fold-body{margin-top:14px;}
/* V32: fermeture animée via max-height/opacity, pas display:none */
.upcoming-fold-section.collapsed{margin-bottom:8px!important;}


/* ===== CPT V32 — NEON + SMOOTH COLLAPSE ===== */
.upcoming-fold-header,
.history-period-header{
  position:relative;
  transition:
    box-shadow .24s ease,
    transform .22s ease,
    filter .22s ease,
    opacity .22s ease!important;
  will-change:box-shadow,transform;
}

/* Barre sélectionnée/repliée = effet néon */
.upcoming-fold-section.collapsed .upcoming-fold-header,
.history-period-section.collapsed .history-period-header{
  box-shadow:
    0 0 0 1px rgba(255,228,51,.85),
    0 0 10px rgba(255,228,51,.55),
    0 0 22px rgba(255,228,51,.32),
    inset 0 0 12px rgba(255,255,255,.10)!important;
  transform:translateY(-1px);
  filter:saturate(1.08) brightness(1.04);
}

/* Halo doux supplémentaire, sans flash brutal */
.upcoming-fold-section.collapsed .upcoming-fold-header::after,
.history-period-section.collapsed .history-period-header::after{
  content:'';
  position:absolute;
  inset:-3px;
  border-radius:12px;
  pointer-events:none;
  box-shadow:0 0 18px rgba(255,228,51,.28);
  opacity:.85;
}

/* Contenu animé : ne plus utiliser display:none */
.upcoming-fold-body,
.history-fold-body{
  display:block!important;
  overflow:hidden!important;
  max-height:4000px;
  opacity:1;
  transform:translateY(0);
  margin-top:14px;
  transition:
    max-height .42s cubic-bezier(.2,.8,.2,1),
    opacity .28s ease,
    transform .34s cubic-bezier(.2,.8,.2,1),
    margin-top .34s ease;
  will-change:max-height,opacity,transform;
}

.upcoming-fold-section.collapsed .upcoming-fold-body,
.history-period-section.collapsed .history-fold-body{
  max-height:0!important;
  opacity:0;
  transform:translateY(-10px);
  margin-top:0!important;
  pointer-events:none;
}

/* Rotation douce du chevron */
.upcoming-fold-header .fold-chevron,
.history-period-header .fold-chevron{
  transition:transform .32s cubic-bezier(.2,.8,.2,1)!important;
}
.upcoming-fold-section.collapsed .fold-chevron,
.history-period-section.collapsed .fold-chevron{
  transform:rotate(-90deg)!important;
}

/* Historique devient explicitement cliquable */
.history-period-header{
  width:100%;
  border:0;
  cursor:pointer;
  font-family:inherit;
  text-align:left;
}
.history-period-header:hover,
.upcoming-fold-header:hover{
  transform:translateY(-1px);
}

/* Respect accessibilité : réduire les animations si demandé par l'OS */
@media(prefers-reduced-motion:reduce){
  .upcoming-fold-header,
  .history-period-header,
  .upcoming-fold-body,
  .history-fold-body,
  .fold-chevron{
    transition:none!important;
  }
}


/* ===== CPT V33 — BANDEAU CONTRAST + EVENT DOTS ===== */

/* Contraste imposé par période, tous états */
.upcoming-fold-header.today,
.history-period-header.today{
  color:#fff!important;
}
.upcoming-fold-header.week,
.history-period-header.week{
  color:#101114!important;
}
.upcoming-fold-header.month,
.history-period-header.month{
  color:#101114!important;
}
.upcoming-fold-header.later,
.history-period-header.earlier{
  color:#fff!important;
}

/* Tous les éléments du bandeau héritent du contraste */
.upcoming-fold-header.today *,
.upcoming-fold-header.week *,
.upcoming-fold-header.month *,
.upcoming-fold-header.later *,
.history-period-header.today *,
.history-period-header.week *,
.history-period-header.month *,
.history-period-header.earlier *{
  color:inherit!important;
}

/* Traits et compteur restent lisibles */
.upcoming-fold-header .line,
.history-period-header .line{
  background:currentColor!important;
  opacity:.42!important;
}
.upcoming-fold-header .fold-count,
.history-period-header .history-period-count{
  color:inherit!important;
  border-color:currentColor!important;
  background:rgba(0,0,0,.20)!important;
}
.upcoming-fold-header.week .fold-count,
.upcoming-fold-header.month .fold-count,
.history-period-header.week .history-period-count,
.history-period-header.month .history-period-count{
  background:rgba(255,255,255,.30)!important;
}

/* Le halo ne blanchit jamais le contenu */
.upcoming-fold-section.collapsed .upcoming-fold-header,
.history-period-section.collapsed .history-period-header{
  filter:saturate(1.10)!important;
}

/* Puces décoratives et sémantiques */
.cpt-event-title-with-dot{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0;
}
.cpt-event-dot{
  width:8px;
  height:8px;
  min-width:8px;
  border-radius:50%;
  display:inline-block;
  box-shadow:0 0 7px currentColor;
}
.cpt-event-dot.activity{background:#ff4d55;color:#ff4d55;}
.cpt-event-dot.task{background:#ff981f;color:#ff981f;}
.cpt-event-dot.shopping{background:#8b5cf6;color:#8b5cf6;}

/* Puces dans les cartes historique */
.history-card-title.cpt-event-title-with-dot{
  display:flex!important;
}


/* ===== CPT V34 — DYNAMIC VISUAL COLORS ===== */
.upcoming-fold-section.collapsed .upcoming-fold-header,
.history-period-section.collapsed .history-period-header{
  box-shadow:
    0 0 0 1px var(--cpt-neon,#FFE433),
    0 0 10px var(--cpt-neon-soft,rgba(255,228,51,.55)),
    0 0 22px var(--cpt-neon-soft,rgba(255,228,51,.32)),
    inset 0 0 12px rgba(255,255,255,.10)!important;
}
.upcoming-fold-section.collapsed .upcoming-fold-header::after,
.history-period-section.collapsed .history-period-header::after{
  box-shadow:0 0 18px var(--cpt-neon-soft,rgba(255,228,51,.28))!important;
}

/* Le contraste est calculé par JavaScript et hérité par tous les enfants */
.upcoming-fold-header *,
.history-period-header *{
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}


/* ===== CPT V34 — COLOR SETTINGS PANEL ===== */
.cpt-color-settings{
  margin-bottom:14px;
}
.cpt-color-group{
  margin:12px 0 15px;
}
.cpt-color-group-title{
  margin-bottom:8px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--txt2);
}
.cpt-color-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.cpt-color-row{
  display:grid;
  grid-template-columns:24px minmax(110px,1fr) 48px 76px;
  align-items:center;
  gap:9px;
  min-height:46px;
  padding:8px 10px;
  border:1px solid var(--brd);
  border-radius:10px;
  background:var(--surf2);
  cursor:pointer;
}
.cpt-color-preview{
  width:18px;
  height:18px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.25);
  box-shadow:0 0 8px currentColor;
}
.cpt-color-name{
  font-size:12px;
  font-weight:750;
}
.cpt-color-row input[type="color"]{
  width:42px;
  height:30px;
  padding:2px;
  border:1px solid var(--brd);
  border-radius:7px;
  background:var(--surf);
  cursor:pointer;
}
.cpt-color-code{
  font-size:10px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  color:var(--txt3);
}
@media(max-width:760px){
  .cpt-color-grid{grid-template-columns:1fr}
}


/* ===== CPT V35 — DEFINITIVE COLLAPSIBLE BAND FIX ===== */
.upcoming-fold-header,
.history-period-header,
.upcoming-fold-header:hover,
.history-period-header:hover,
.upcoming-fold-header:focus,
.history-period-header:focus,
.upcoming-fold-header:active,
.history-period-header:active{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:42px!important;
  background:var(--cpt-band-color,#FFE433)!important;
  background-color:var(--cpt-band-color,#FFE433)!important;
  color:var(--cpt-band-text,#101114)!important;
  -webkit-text-fill-color:var(--cpt-band-text,#101114)!important;
  border:1px solid color-mix(in srgb,var(--cpt-band-color,#FFE433) 72%,white 28%)!important;
}

.upcoming-fold-header *,
.history-period-header *,
.upcoming-fold-header:hover *,
.history-period-header:hover *{
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}

/* A folded period keeps its complete colored header — only its BODY collapses. */
.upcoming-fold-section.collapsed > .upcoming-fold-header,
.history-period-section.collapsed > .history-period-header{
  display:flex!important;
  max-height:none!important;
  min-height:42px!important;
  opacity:1!important;
  background:var(--cpt-band-color,#FFE433)!important;
  color:var(--cpt-band-text,#101114)!important;
}

/* Smooth body folding, never remove the header from layout. */
.upcoming-fold-body,
.history-fold-body{
  overflow:hidden!important;
  transition:
    max-height .46s cubic-bezier(.22,.8,.24,1),
    opacity .28s ease,
    transform .38s cubic-bezier(.22,.8,.24,1),
    margin-top .34s ease!important;
}
.upcoming-fold-section.collapsed > .upcoming-fold-body,
.history-period-section.collapsed > .history-fold-body{
  max-height:0!important;
  opacity:0!important;
  transform:translateY(-8px)!important;
  margin-top:0!important;
}

/* Neon derives from each chosen band color. */
.upcoming-fold-section.collapsed > .upcoming-fold-header,
.history-period-section.collapsed > .history-period-header{
  box-shadow:
    0 0 0 1px var(--cpt-neon,var(--cpt-band-color,#FFE433)),
    0 0 11px var(--cpt-neon-soft,rgba(255,228,51,.35)),
    0 0 24px var(--cpt-neon-soft,rgba(255,228,51,.35)),
    inset 0 0 10px rgba(255,255,255,.08)!important;
}

/* Event dots are always visible next to actual titles. */
.cpt-event-title-with-dot{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
.cpt-event-dot{
  display:inline-block!important;
  width:9px!important;
  height:9px!important;
  min-width:9px!important;
  border-radius:999px!important;
  flex:0 0 9px!important;
  box-shadow:0 0 7px currentColor!important;
}

/* History section must stay in flow even if previously folded. */
.history-period-section{
  display:block!important;
  visibility:visible!important;
  margin:16px 0 20px!important;
}


/* ===== CPT V36 — HISTORY GUARANTEED VISIBILITY ===== */
.history-v36-count{
  font-size:12px;
  color:var(--txt3);
  margin:2px 0 12px;
}
.history-v36-undo-row{
  display:flex;
  margin-top:10px;
}
.history-period-section{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.history-period-header{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:42px!important;
  background:var(--cpt-band-color,#374151)!important;
  color:var(--cpt-band-text,#fff)!important;
}
.history-fold-body{
  display:block!important;
  visibility:visible!important;
}
.history-period-section.collapsed > .history-fold-body{
  max-height:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.history-period-section.collapsed > .history-period-header{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Global hover rule must never paint a period bar black/white. */
html[data-cpt-theme] .upcoming-fold-header:hover,
html[data-cpt-theme] .history-period-header:hover,
.upcoming-fold-header:hover,
.history-period-header:hover,
button.upcoming-fold-header:hover,
button.history-period-header:hover{
  background:var(--cpt-band-color,#FFE433)!important;
  background-color:var(--cpt-band-color,#FFE433)!important;
  color:var(--cpt-band-text,#101114)!important;
  -webkit-text-fill-color:var(--cpt-band-text,#101114)!important;
  border-color:var(--cpt-band-color,#FFE433)!important;
}

/* === CPT extracted style block 2/5 === */

/* CPT V37 — HISTORY HARD FIX CSS */
.history-v37-count{font-size:12px;color:var(--txt3);margin:2px 0 12px;padding:8px 10px;border:1px solid var(--brd);border-radius:9px;background:var(--surf2)}
.cpt-v37-history-section{display:block!important;visibility:visible!important;opacity:1!important;margin:14px 0 18px!important}
.cpt-v37-history-header,.cpt-v37-history-header:hover,.cpt-v37-history-header:focus,.cpt-v37-history-header:active{
  width:100%!important;min-height:42px!important;display:flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;gap:10px!important;
  padding:9px 12px!important;border:1px solid var(--v37-bg)!important;border-radius:10px!important;background:var(--v37-bg)!important;background-color:var(--v37-bg)!important;
  color:var(--v37-fg)!important;-webkit-text-fill-color:var(--v37-fg)!important;font-family:inherit!important;cursor:pointer!important;transition:transform .22s ease,box-shadow .28s ease,filter .22s ease!important
}
.cpt-v37-history-header *{color:inherit!important;-webkit-text-fill-color:inherit!important}
.cpt-v37-history-header .line{height:2px!important;background:currentColor!important;opacity:.34!important;flex:1!important}
.cpt-v37-history-header .history-period-count{min-width:28px;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.14);font-size:10px;font-weight:900;text-align:center}
.cpt-v37-history-section.collapsed>.cpt-v37-history-header{box-shadow:0 0 0 1px var(--v37-bg),0 0 12px var(--v37-glow),0 0 26px var(--v37-glow)!important;transform:translateY(-1px)}
.cpt-v37-history-header .fold-chevron{transition:transform .35s cubic-bezier(.22,.8,.24,1)!important}
.cpt-v37-history-section.collapsed .fold-chevron{transform:rotate(-90deg)!important}
.cpt-v37-history-body{display:block!important;visibility:visible!important;overflow:hidden!important;margin-top:12px;opacity:1;transform:translateY(0);transition:max-height .46s cubic-bezier(.22,.8,.24,1),opacity .28s ease,transform .38s ease,margin-top .34s ease!important}
.cpt-v37-history-section.collapsed>.cpt-v37-history-body{max-height:0!important;opacity:0!important;transform:translateY(-8px)!important;margin-top:0!important;pointer-events:none!important}
.cpt-v37-history-card .history-card-top{display:flex!important;align-items:center!important;gap:9px!important}
.cpt-v37-dot{width:9px;height:9px;min-width:9px;border-radius:999px;display:inline-block;flex:0 0 9px}
.cpt-v37-history-card .history-name{flex:1;min-width:0}
.history-v37-actions{display:flex;margin-top:10px}
@media(max-width:760px){.cpt-v37-history-header{min-height:40px!important;padding:8px 9px!important}.cpt-v37-history-header .line{display:none!important}}
/* === CPT extracted style block 3/5 === */

.history-period-section{display:block!important;visibility:visible!important;opacity:1!important;margin:14px 0 18px!important}
.history-period-header,.history-period-header:hover{display:flex!important;visibility:visible!important;opacity:1!important;min-height:42px!important;background:var(--cpt-band-color,#374151)!important;color:var(--cpt-band-text,#fff)!important;-webkit-text-fill-color:var(--cpt-band-text,#fff)!important}
.history-period-header *{color:inherit!important;-webkit-text-fill-color:inherit!important}
.history-fold-body{display:block!important;overflow:hidden!important;transition:max-height .45s cubic-bezier(.22,.8,.24,1),opacity .28s ease,transform .38s ease!important}
.history-period-section.collapsed>.history-fold-body{max-height:0!important;opacity:0!important;transform:translateY(-8px)!important;pointer-events:none!important}
.history-period-section.collapsed>.history-period-header{display:flex!important;visibility:visible!important;opacity:1!important}
/* === CPT extracted style block 4/5 === */

.cpt-board-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.cpt-board-surface{position:relative;min-height:680px;border:1px solid var(--brd);border-radius:16px;background:linear-gradient(rgba(127,127,127,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(127,127,127,.06) 1px,transparent 1px),var(--surf2);background-size:24px 24px;overflow:auto}
.cpt-postit{position:absolute;width:250px;min-width:180px;min-height:170px;border-radius:10px;padding:0;box-shadow:0 8px 24px rgba(0,0,0,.22);overflow:auto;resize:both;color:#171717}
.cpt-postit-head{display:flex;align-items:center;gap:6px;padding:8px 9px;border-bottom:1px solid rgba(0,0,0,.12);cursor:move;user-select:none}
.cpt-postit-title{flex:1;border:0!important;background:transparent!important;color:#171717!important;font-weight:900!important;padding:3px!important}
.cpt-postit-actions{display:flex;gap:4px}.cpt-postit-actions button{border:0;background:rgba(255,255,255,.42);border-radius:6px;padding:3px 6px;cursor:pointer;color:#171717}
.cpt-postit-text{width:100%;min-height:120px;border:0!important;background:transparent!important;color:#171717!important;padding:10px!important;resize:none!important;outline:none!important}
.cpt-board-empty{padding:40px;text-align:center;color:var(--txt3)}
.cpt-language-box{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cpt-language-toggle{display:flex;border:1px solid var(--brd);border-radius:10px;padding:3px;background:var(--surf2)}
.cpt-language-toggle button{border:0;border-radius:7px;padding:8px 12px;background:transparent;color:var(--txt2);font-weight:800;cursor:pointer}
.cpt-language-toggle button.active{background:var(--acc);color:var(--accText)}
.cpt-history-tagbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px solid var(--brd);border-radius:12px;background:var(--surf)}
@media(max-width:760px){.cpt-board-surface{min-height:620px}.cpt-postit{width:220px}}
/* === CPT extracted style block 5/5 === */

#cpt-language-setting{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;height:auto!important;min-height:0!important;margin:0 0 14px!important}
#cpt-language-setting .cpt-language-box{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
#cpt-language-setting .cpt-language-toggle{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--brd);border-radius:12px;padding:4px;background:var(--surf2);min-width:280px}
#cpt-language-setting .cpt-language-toggle button{border:0;border-radius:9px;padding:10px 14px;background:transparent;color:var(--txt2);font-weight:800;cursor:pointer;min-height:42px}
#cpt-language-setting .cpt-language-toggle button.active{background:var(--acc);color:var(--accText)}
@media(max-width:760px){#content{overflow-y:auto!important}#cpt-language-setting .cpt-language-box{flex-direction:column;align-items:stretch}#cpt-language-setting .cpt-language-toggle{width:100%;min-width:0}}
