/* Centrale Task - tema chiaro panna e caffellatte */
#ctk-app{
  --panna:#FBF8F3;
  --carta:#FFFFFF;
  --carta2:#F5EFE6;
  --linea:#E7DCCB;
  --linea2:#D9C9B2;
  --txt:#3B322A;
  --muted:#8B7D6D;
  --caffe:#B08968;
  --caffe-scuro:#8F6B4C;
  --caffe-chiaro:#EDE0D0;
  --ok:#5F8A6B;
  --warn:#C08A2E;
  --bad:#B4553F;
  --raggio:14px;
  --ombra:0 2px 10px rgba(120,95,70,.08);
  box-sizing:border-box;
  font-family:'Segoe UI',system-ui,-apple-system,sans-serif;
  color:var(--txt);
  background:var(--panna);
  width:auto;max-width:100%;min-height:100vh;margin:0;padding:22px 26px 56px;
  font-size:15px;line-height:1.45;
}
#ctk-app *{box-sizing:border-box}
#ctk-app button{font-family:inherit;cursor:pointer}
#ctk-app input,#ctk-app select,#ctk-app textarea{font-family:inherit}
body.ctk-fullscreen{background:var(--panna,#FBF8F3)}

/* barra superiore */
#ctk-app .topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;row-gap:8px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--linea)}
#ctk-app .brand{font-size:19px;font-weight:800;letter-spacing:.2px;color:var(--caffe-scuro)}
#ctk-app .who{font-size:14px;font-weight:600;color:var(--txt);background:var(--caffe-chiaro);border:1px solid var(--linea2);padding:4px 12px;border-radius:20px}
#ctk-app .spacer{flex:1}
#ctk-app .small{font-size:13px}
#ctk-app .muted{color:var(--muted)}
#ctk-app .rosso{color:var(--bad)}

/* pulsanti */
#ctk-app .btn{background:var(--carta);border:1px solid var(--linea2);color:var(--txt);padding:9px 16px;border-radius:10px;font-size:14px;font-weight:600;transition:.15s;box-shadow:var(--ombra);display:inline-flex;align-items:center;gap:7px;text-decoration:none;flex:0 0 auto}
#ctk-app .btn:hover{border-color:var(--caffe);background:var(--carta2)}
#ctk-app .btn.primary{background:var(--caffe);border-color:var(--caffe-scuro);color:#fff}
#ctk-app .btn.primary:hover{background:var(--caffe-scuro)}
#ctk-app .btn.ghost{background:transparent;box-shadow:none}
#ctk-app .btn.ghost:hover{background:var(--carta2)}
#ctk-app .btn.danger{color:var(--bad);border-color:transparent}
#ctk-app .btn.danger:hover{background:#F7E9E5;border-color:var(--bad)}

/* intestazione di pagina */
#ctk-app .pagehead{margin-bottom:18px}
#ctk-app .pagehead h1{font-size:26px;margin:0 0 4px;font-weight:800;letter-spacing:-.2px}
#ctk-app .pagehead p{margin:0;font-size:14px}
#ctk-app .indietro{margin-bottom:12px}

/* griglia delle persone */
#ctk-app .pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:16px}
#ctk-app .pcard{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:var(--carta);border:1px solid var(--linea);border-radius:var(--raggio);padding:18px;text-align:left;box-shadow:var(--ombra);transition:.15s;min-height:132px}
#ctk-app .pcard:hover{transform:translateY(-2px);border-color:var(--caffe);box-shadow:0 6px 18px rgba(120,95,70,.14)}
#ctk-app .pcard.allerta{border-left:4px solid var(--bad)}
#ctk-app .pcard.vuota{border-style:dashed;background:transparent;box-shadow:none}
#ctk-app .pname{font-size:16px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
#ctk-app .pmeta{font-size:13px;color:var(--muted)}
#ctk-app .pbadge{margin-top:auto;font-size:12px;font-weight:700;color:var(--bad);background:#F7E9E5;border-radius:20px;padding:2px 10px}
#ctk-app .pok{margin-top:auto;font-size:12px;font-weight:600;color:var(--ok)}
#ctk-app .ava{width:38px;height:38px;border-radius:50%;color:#fff;font-size:14px;font-weight:800;display:grid;place-items:center;flex-shrink:0;letter-spacing:.5px}
#ctk-app .ava.grigio{background:var(--linea2);color:#fff}

/* barra strumenti */
#ctk-app .toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;row-gap:8px;margin-bottom:18px}
#ctk-app .toolbar select{background:var(--carta);border:1px solid var(--linea2);color:var(--txt);padding:8px 12px;border-radius:10px;font-size:14px;font-weight:600;box-shadow:var(--ombra)}

/* due blocchi affiancati */
#ctk-app .due-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
#ctk-app .blocco{background:var(--carta);border:1px solid var(--linea);border-radius:var(--raggio);padding:16px;box-shadow:var(--ombra);min-width:0}
#ctk-app .blocco.scad{background:#FDF6F3;border-color:#EBD3C9}
#ctk-app .blocco.fatti{margin-top:18px;background:var(--carta2)}
#ctk-app .blocco h2{font-size:13px;margin:0 0 12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);display:flex;align-items:center;gap:8px}
#ctk-app .blocco.scad h2{color:var(--bad)}
#ctk-app .cnt{background:var(--carta2);border:1px solid var(--linea);border-radius:20px;padding:0 9px;font-size:12px;color:var(--txt)}
#ctk-app .blocco.scad .cnt{background:#F7E4DD;border-color:#EBD3C9;color:var(--bad)}
#ctk-app .vuoto{color:var(--muted);font-size:14px;padding:14px 0;text-align:center}

/* singolo task */
#ctk-app .task{display:flex;align-items:flex-start;gap:11px;padding:11px 12px;border:1px solid var(--linea);border-left:4px solid var(--linea2);border-radius:11px;background:var(--carta);margin-bottom:9px;transition:.13s}
#ctk-app .task:hover{border-color:var(--caffe);box-shadow:var(--ombra)}
#ctk-app .task.p-urgente{border-left-color:var(--bad)}
#ctk-app .task.p-alta{border-left-color:#D98324}
#ctk-app .task.p-media{border-left-color:var(--caffe)}
#ctk-app .task.p-bassa{border-left-color:#A8B5A0}
#ctk-app .task.done{opacity:.55}
#ctk-app .task.done .tname{text-decoration:line-through}
#ctk-app .spunta{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--linea2);background:var(--carta);flex-shrink:0;display:grid;place-items:center;color:#fff;font-size:13px;margin-top:1px}
#ctk-app .spunta:hover{border-color:var(--caffe)}
#ctk-app .spunta.on{background:var(--ok);border-color:var(--ok)}
#ctk-app .spunta.fissa{cursor:default}
#ctk-app .tbody{flex:1;min-width:0;cursor:pointer}
#ctk-app .tname{font-weight:600;font-size:15px;overflow-wrap:anywhere}
#ctk-app .tnote{font-size:13px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}
#ctk-app .tmeta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:7px}
#ctk-app .due{font-size:12px;font-weight:700;padding:2px 9px;border-radius:20px;background:var(--carta2);color:var(--muted);white-space:nowrap}
#ctk-app .due.soon{background:#FBF0DA;color:#8A6516}
#ctk-app .due.today{background:#FAE7D8;color:#9C5A1E}
#ctk-app .due.over{background:#F7E4DD;color:var(--bad)}
#ctk-app .due.none{background:transparent;border:1px dashed var(--linea2)}
#ctk-app .prio{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:20px;background:var(--carta2);color:var(--muted)}
#ctk-app .prio.urgente{background:#F7E4DD;color:var(--bad)}
#ctk-app .prio.alta{background:#FAE7D8;color:#9C5A1E}
#ctk-app .prio.bassa{background:#EDF1EA;color:#5F7A57}
#ctk-app .tmeta .ava{width:24px;height:24px;font-size:11px}
#ctk-app .mat{background:transparent;border:1px solid transparent;color:var(--muted);font-size:15px;padding:3px 8px;border-radius:8px;flex-shrink:0}
#ctk-app .mat:hover{color:var(--txt);background:var(--carta2);border-color:var(--linea)}

/* finestre */
#ctk-app .overlay{position:fixed;inset:0;width:100vw;height:100vh;background:rgba(59,50,42,.35);backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;z-index:100000;padding:20px}
#ctk-app .overlay.show{display:flex}
#ctk-app .modal{background:var(--carta);border:1px solid var(--linea);border-radius:18px;width:100%;max-width:540px;max-height:90vh;overflow:auto;box-shadow:0 20px 50px rgba(80,60,45,.25)}
#ctk-app .modal .mh{padding:18px 22px;border-bottom:1px solid var(--linea)}
#ctk-app .modal .mh h3{margin:0;font-size:18px}
#ctk-app .modal .mb{padding:18px 22px}
#ctk-app .modal .mf{padding:15px 22px;border-top:1px solid var(--linea);display:flex;gap:10px;justify-content:flex-end;background:var(--carta2);border-radius:0 0 18px 18px}
#ctk-app .field{margin-bottom:14px}
#ctk-app .field label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px;font-weight:600}
#ctk-app .field input,#ctk-app .field select,#ctk-app .field textarea{width:100%;background:var(--panna);border:1px solid var(--linea2);color:var(--txt);padding:10px 12px;border-radius:10px;font-size:15px}
#ctk-app .field input:focus,#ctk-app .field select:focus,#ctk-app .field textarea:focus{outline:none;border-color:var(--caffe);background:var(--carta)}
#ctk-app .field textarea{resize:vertical}
#ctk-app .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#ctk-app .aiuto{margin-top:20px;padding-top:16px;border-top:1px solid var(--linea);font-size:13px;color:var(--muted)}
#ctk-app .aiuto p{margin:0 0 9px}
#ctk-app .aiuto b{color:var(--txt)}

/* accesso */
#ctk-app .ctk-login{max-width:380px;margin:8vh auto;background:var(--carta);border:1px solid var(--linea);border-radius:18px;padding:32px 28px;box-shadow:0 8px 30px rgba(120,95,70,.12);text-align:center}
#ctk-app .ctk-logo{font-size:22px;font-weight:800;color:var(--caffe-scuro);margin-bottom:6px}
#ctk-app .ctk-login label{display:block;text-align:left;font-size:13px;color:var(--muted);font-weight:600;margin-top:12px}
#ctk-app .ctk-login input[type=text],#ctk-app .ctk-login input[type=password]{width:100%;padding:11px 12px;border:1px solid var(--linea2);border-radius:10px;font-size:15px;margin-top:5px;background:var(--panna);color:var(--txt)}
#ctk-app .ctk-login .login-submit input[type=submit],#ctk-app .ctk-login input#wp-submit{width:100%;background:var(--caffe);color:#fff;border:none;padding:12px 16px;border-radius:10px;font-weight:700;font-size:15px;cursor:pointer;margin-top:16px}
#ctk-app .ctk-login .login-remember{text-align:left;font-size:13px;margin-top:10px}

/* telefono */
@media (max-width: 860px){
  #ctk-app{padding:16px 14px 44px}
  #ctk-app .due-col{grid-template-columns:1fr;gap:14px}
  #ctk-app .pagehead h1{font-size:22px}
  #ctk-app .pgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
  #ctk-app .pcard{min-height:118px;padding:14px}
  #ctk-app .topbar{gap:8px}
  #ctk-app .topbar .btn{flex:1 1 calc(50% - 4px);justify-content:center}
  #ctk-app .toolbar select{flex:1 1 100%}
  #ctk-app .toolbar .btn{flex:1 1 auto;justify-content:center}
  #ctk-app .row2{grid-template-columns:1fr;gap:0}
  #ctk-app .modal{max-width:100%}
  #ctk-app .overlay{padding:10px;align-items:flex-start}
}

/* ===================== Panoramica generale ===================== */
#ctk-app .segbar{display:inline-flex;gap:4px;background:var(--carta2);border:1px solid var(--linea);border-radius:12px;padding:4px;margin-bottom:16px}
#ctk-app .seg{background:transparent;border:none;color:var(--muted);font-weight:700;font-size:14px;padding:8px 16px;border-radius:9px;transition:.15s}
#ctk-app .seg:hover{color:var(--txt)}
#ctk-app .seg.on{background:var(--carta);color:var(--caffe-scuro);box-shadow:var(--ombra);border:1px solid var(--linea2)}
#ctk-app .statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:18px}
#ctk-app .statbox{background:var(--carta);border:1px solid var(--linea);border-radius:var(--raggio);padding:14px 16px;box-shadow:var(--ombra)}
#ctk-app .statbox .sn{font-size:26px;font-weight:800;line-height:1.1}
#ctk-app .statbox .sl{font-size:13px;color:var(--muted);margin-top:2px}
#ctk-app .statbox.rosso{border-left:4px solid var(--bad)}
#ctk-app .statbox.rosso .sn{color:var(--bad)}
#ctk-app .statbox.ambra{border-left:4px solid var(--warn)}
#ctk-app .statbox.ambra .sn{color:var(--warn)}
#ctk-app .statbox.verde .sn{color:var(--ok)}
#ctk-app .cerca{background:var(--carta);border:1px solid var(--linea2);color:var(--txt);padding:8px 12px;border-radius:10px;font-size:14px;box-shadow:var(--ombra);min-width:180px;flex:0 1 240px}
#ctk-app .cerca:focus{outline:none;border-color:var(--caffe)}
#ctk-app .chi{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);background:var(--carta2);border:1px solid var(--linea);border-radius:20px;padding:2px 10px 2px 2px}
#ctk-app .chi .ava{width:20px;height:20px;font-size:10px}
@media (max-width: 860px){
  #ctk-app .segbar{width:100%}
  #ctk-app .seg{flex:1 1 auto;padding:8px 10px;font-size:13px}
  #ctk-app .statrow{grid-template-columns:1fr 1fr;gap:10px}
  #ctk-app .statbox .sn{font-size:22px}
  #ctk-app .cerca{flex:1 1 100%}
  #ctk-app .toolbar select{flex:1 1 auto}
}

/* ===================== Assegnazione a piu' persone ===================== */
#ctk-app .asslist{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:190px;overflow-y:auto;padding:4px;border:1px solid var(--linea);border-radius:11px;background:var(--panna)}
#ctk-app .assopt{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid transparent;border-radius:9px;cursor:pointer;font-size:14px;transition:.12s;background:transparent}
#ctk-app .assopt:hover{background:var(--carta)}
#ctk-app .assopt.on{background:var(--carta);border-color:var(--caffe);box-shadow:var(--ombra)}
#ctk-app .assopt input{width:auto;margin:0;accent-color:var(--caffe)}
#ctk-app .assopt .ava{width:26px;height:26px;font-size:11px}
#ctk-app .assopt span{overflow-wrap:anywhere;line-height:1.2}
#ctk-app .chi{display:inline-flex;align-items:center;gap:5px}
#ctk-app .chi .ava{margin-right:-8px;border:2px solid var(--carta)}
#ctk-app .chi .ava:last-of-type{margin-right:2px}
#ctk-app .ava.piu{background:var(--linea2);color:var(--txt);font-size:10px}

/* ===================== Calendario ===================== */
#ctk-app .calbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;row-gap:8px;margin-bottom:14px}
#ctk-app .calmese{font-size:17px;font-weight:800;min-width:150px;text-align:center}
#ctk-app .calbar select{background:var(--carta);border:1px solid var(--linea2);color:var(--txt);padding:8px 12px;border-radius:10px;font-size:14px;font-weight:600;box-shadow:var(--ombra)}
#ctk-app .calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
#ctk-app .calgrid.capi{margin-bottom:6px;gap:7px}
#ctk-app .capo{text-align:center;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:4px 0}
#ctk-app .cella{background:var(--carta);border:1px solid var(--linea);border-radius:11px;min-height:104px;padding:7px;display:flex;flex-direction:column;gap:4px;transition:.12s;overflow:hidden}
#ctk-app .cella:hover{border-color:var(--caffe)}
#ctk-app .cella.fuori{background:transparent;border-color:transparent;box-shadow:none}
#ctk-app .cella.fuori .gnum{color:var(--linea2)}
#ctk-app .cella.oggi{border-color:var(--caffe);box-shadow:0 0 0 2px var(--caffe-chiaro) inset}
#ctk-app .gnum{font-size:12px;font-weight:800;color:var(--muted)}
#ctk-app .cella.oggi .gnum{color:var(--caffe-scuro)}
#ctk-app .cev{display:block;width:100%;text-align:left;font-size:12px;font-weight:600;line-height:1.25;padding:4px 7px;border-radius:7px;border:1px solid var(--linea);border-left:3px solid var(--caffe);background:var(--carta2);color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#ctk-app .cev:hover{background:var(--caffe-chiaro)}
#ctk-app .cev.p-urgente{border-left-color:var(--bad);background:#FBEDE9}
#ctk-app .cev.p-alta{border-left-color:#D98324;background:#FCF0E4}
#ctk-app .cev.p-bassa{border-left-color:#A8B5A0}
#ctk-app .cev.fatto{opacity:.5;text-decoration:line-through}
@media (max-width: 860px){
  #ctk-app .asslist{grid-template-columns:1fr}
  #ctk-app .calmese{min-width:0;flex:1 1 auto;font-size:16px}
  #ctk-app .calgrid{gap:3px}
  #ctk-app .cella{min-height:74px;padding:4px;border-radius:8px}
  #ctk-app .cev{font-size:10px;padding:2px 4px}
  #ctk-app .capo{font-size:10px}
  #ctk-app .calbar select{flex:1 1 100%}
}
