/* Katie Task Tracker v2.4.5 */
:root{
  --ktt-bg:#f8fafc; --ktt-card:#ffffff; --ktt-border:#e5e7eb; --ktt-text:#111827;
  --ktt-muted:#6b7280; --ktt-accent:#6b46c1; --ktt-success:#059669; --ktt-danger:#dc2626;
}
.ktt-login-wrapper,.ktt-dashboard{max-width:1200px;margin:2rem auto;padding:1rem}
.ktt-card{background:var(--ktt-card);border:1px solid var(--ktt-border);border-radius:14px;padding:1rem 1.25rem;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.ktt-login-card{max-width:460px;margin:4rem auto;text-align:center}
.ktt-logo{max-height:56px;margin-bottom:.5rem}
.ktt-form label{display:block;margin:.5rem 0 .25rem;color:var(--ktt-muted);font-size:.9rem}
.ktt-form input[type="text"],.ktt-form input[type="password"],.ktt-form input[type="date"],.ktt-form input[type="url"],.ktt-form select,.ktt-form textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--ktt-border);border-radius:10px;background:#fff;color:var(--ktt-text)}
.ktt-form textarea{resize:vertical}
.ktt-btn{display:inline-block;background:var(--ktt-accent);color:#fff;padding:.6rem 1rem;border-radius:999px;border:none;cursor:pointer;font-weight:600}
.ktt-btn:hover{filter:brightness(.95)}
.ktt-btn-ghost{background:transparent;color:var(--ktt-accent);border:1px solid var(--ktt-accent)}
.ktt-small{font-size:.85rem;color:var(--ktt-muted)}
.ktt-alert{border-radius:12px;padding:.6rem .8rem;margin:.5rem 0}
.ktt-alert-success{background:#ecfdf5;color:var(--ktt-success);border:1px solid #a7f3d0}
.ktt-alert-danger{background:#fef2f2;color:var(--ktt-danger);border:1px solid #fecaca}
.ktt-inline{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.ktt-inline-input{margin-left:.35rem}
.ktt-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.ktt-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.ktt-brand{display:flex;align-items:center;gap:.6rem}
.ktt-user{display:flex;align-items:center;gap:.75rem}

.ktt-submit-card{margin-bottom:1rem}
.ktt-timebar{display:flex;align-items:center;gap:.5rem;margin: .25rem 0 1rem}
.ktt-timebar-spacer{flex:1}
.ktt-chip{border:1px solid var(--ktt-border);background:#fff;border-radius:999px;padding:.35rem .7rem;font-weight:600;cursor:pointer}
.ktt-chip-active{border-color:var(--ktt-accent);color:var(--ktt-accent)}

.ktt-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.ktt-col-title{margin:0 0 .5rem 0}
.ktt-empty{padding:.8rem;border:1px dashed var(--ktt-border);border-radius:10px;color:var(--ktt-muted);text-align:center}
.ktt-task-card{border:1px solid var(--ktt-border);border-radius:14px;padding:.8rem .9rem;background:#fff;display:flex;flex-direction:column;gap:.5rem}
.ktt-task-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.ktt-task-title{font-size:1.05rem}
.ktt-task-title a{text-decoration:none;color:inherit}
.ktt-task-title a:hover{text-decoration:underline}
.ktt-task-client{font-size:.85rem;color:var(--ktt-muted)}
.ktt-task-actions select,.ktt-meta-inline select{padding:.4rem;border-radius:10px;border:1px solid var(--ktt-border)}
.ktt-badge{display:inline-block;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;border-radius:999px;padding:.25rem .55rem;font-size:.78rem;font-weight:600}
.ktt-task-meta{display:flex;flex-wrap:wrap;gap:.75rem;color:var(--ktt-muted);font-size:.9rem}
.ktt-progress{margin-top:.5rem}
.ktt-timeline{list-style:none;margin:0;padding:.25rem 0;display:flex;flex-direction:column;gap:.75rem}
.ktt-tl-head{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--ktt-muted)}
.ktt-tl-head strong{color:var(--ktt-text)}
.ktt-tl-att{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.25rem}
.ktt-thumb{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--ktt-border)}
.ktt-file{display:inline-block;border:1px solid var(--ktt-border);border-radius:8px;padding:.3rem .5rem;font-size:.85rem}

.ktt-progressbar{height:8px;background:#f3f4f6;border-radius:8px;overflow:hidden}
.ktt-progressbar-fill{height:100%;background:var(--ktt-accent)}

.ktt-history{margin-top:1.5rem}
.ktt-history-list{display:flex;flex-direction:column;gap:.5rem}
.ktt-history-item{border:1px dashed var(--ktt-border);border-radius:10px;padding:.5rem .75rem;background:#fff}
.ktt-history-item a{text-decoration:none}
.ktt-history-item a:hover{text-decoration:underline}

.ktt-archive{margin-top:2rem}
.ktt-month{margin:.5rem 0}
.ktt-month-list{list-style:disc;margin:.25rem 1.25rem;padding:0}
.ktt-muted{color:var(--ktt-muted)}

@media (max-width: 980px){
  .ktt-columns{grid-template-columns:1fr}
}

/* Modal */
.ktt-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:9999}
.ktt-modal.show{display:flex}
.ktt-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.ktt-modal-dialog{position:relative;background:#fff;max-width:800px;width:92%;max-height:85vh;border-radius:14px;overflow:auto;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:1rem 1.25rem}
.ktt-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:999px;border:1px solid var(--ktt-border);background:#fff;display:grid;place-items:center;cursor:pointer}
.ktt-modal-close span{font-size:22px;line-height:1}
.ktt-modal-title{margin:0 0 .25rem 0}
.ktt-modal-meta{display:flex;flex-wrap:wrap;gap:.6rem;color:var(--ktt-muted);font-size:.9rem;margin-bottom:.5rem}
.ktt-modal-content{margin:.5rem 0}
.ktt-modal-progress{display:flex;align-items:center;gap:.5rem}
.ktt-progress-caption{font-size:.85rem;color:var(--ktt-muted)}
.ktt-modal-body .ktt-timeline{margin-top:.5rem}
.ktt-modal-actions{margin:.5rem 0}
