.tasks-module{display:grid;gap:16px}.tasks-filters{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) minmax(160px,2fr) auto auto auto;gap:10px;align-items:end}.tasks-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.tasks-toolbar h3{margin:0;text-transform:capitalize}.tasks-calendar{overflow:auto}.tasks-weekdays,.tasks-days{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px}.tasks-weekdays b{padding:10px;color:#64748b;font-size:12px}.task-day{min-height:155px;padding:8px;border-top:1px solid #e2e8f0;border-right:1px solid #e2e8f0;min-width:0}.task-day header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.task-day header .btn{padding:2px 8px;min-height:28px}.task-day.today{background:#eff6ff;box-shadow:inset 0 3px #2563eb}.task-day.outside{background:#f8fafc}.task-chip{display:grid;gap:4px;width:100%;text-align:left;border:1px solid #dbeafe;border-left:3px solid #2563eb;border-radius:8px;padding:8px;background:white;color:#1e293b;margin-bottom:6px;cursor:pointer;overflow-wrap:anywhere}.task-chip strong{font-size:12px}.task-chip small,.task-chip span{font-size:11px;color:#64748b}.task-chip.done{border-left-color:#16a34a;background:#f0fdf4}.task-chip.overdue{border-left-color:#dc2626}.task-chip.cancelled{opacity:.65}.task-chip:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.tasks-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.tasks-dialog{width:min(720px,94vw);max-height:90dvh;border:0;border-radius:16px;padding:0;color:#1e293b;box-shadow:0 20px 60px #0f172a44}.tasks-dialog::backdrop{background:#0f172a80}.tasks-dialog form{display:flex;flex-direction:column;max-height:90dvh}.tasks-dialog header,.tasks-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid #e2e8f0}.tasks-dialog h2{font-size:20px;margin:0;overflow-wrap:anywhere}.tasks-dialog footer{justify-content:flex-end;border-top:1px solid #e2e8f0;border-bottom:0}.tasks-dialog-body{padding:20px 22px;overflow:auto}.tasks-dialog label{display:grid;gap:6px;margin-bottom:12px;font-size:13px;font-weight:600}.tasks-dialog input,.tasks-dialog select,.tasks-dialog textarea{font:inherit;padding:10px;border:1px solid #cbd5e1;border-radius:8px;width:100%;box-sizing:border-box}.tasks-dialog fieldset{border:1px solid #e2e8f0;border-radius:10px;padding:14px}.tasks-dialog .task-check{display:flex;align-items:center;font-weight:400;gap:8px}.task-check input{width:auto;flex:none}.tasks-description{white-space:pre-wrap;overflow-wrap:anywhere}.tasks-dialog [data-weekdays]{display:flex;flex-wrap:wrap;gap:8px}.tasks-dialog [hidden]{display:none!important}.tasks-dialog [data-error]{color:#b91c1c}.tasks-checklist{margin:16px 0}.tasks-dialog .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}@media(max-width:1100px){.tasks-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.tasks-filters{grid-template-columns:1fr 1fr}.tasks-filters label{min-width:0}.tasks-toolbar{align-items:flex-start}.tasks-toolbar h3{order:-1;flex-basis:100%;font-size:16px}.tasks-dialog .form-grid{grid-template-columns:1fr}.tasks-dialog header,.tasks-dialog footer,.tasks-dialog-body{padding:14px}.task-day{min-height:130px}}
.tasks-module{min-width:0;max-width:100%}.tasks-module>.card{min-width:0}.tasks-calendar{min-width:0;max-width:100%}.tasks-toolbar>.inline-actions{flex-wrap:wrap}.tasks-filters input,.tasks-filters select{min-width:0;max-width:100%;box-sizing:border-box}

/* Match the established Totus form controls; keep styles scoped to Tasks. */
.tasks-filters label{display:grid;gap:6px;color:#52627a;font-size:12px;font-weight:700}.tasks-filters input,.tasks-filters select{width:100%;min-height:42px;padding:10px 12px;border:1px solid #dbe3ee;border-radius:10px;background:#fff;color:#16213e;font:inherit;font-size:13px;box-sizing:border-box}.tasks-filters .btn{min-height:42px;padding:10px 14px;white-space:nowrap}.tasks-filters input:focus-visible,.tasks-filters select:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
