/* Kopano OS v1.24.30 — premium universal task hub; scoped to avoid other modules. */
.task-hub{display:grid;grid-template-columns:270px minmax(0,1fr);background:var(--surface,#fff);border:1px solid var(--line,#dce4ee);border-radius:26px;min-height:680px;overflow:hidden;box-shadow:0 12px 34px rgba(14,28,49,.045);color:var(--ink,#17253a)}
.task-hub-side{background:var(--surface-secondary,#f7f9fc);border-right:1px solid var(--line,#e3e8f2);padding:23px 16px;display:flex;flex-direction:column;gap:16px}
.task-side-brand{display:flex;gap:12px;align-items:center;padding:5px 9px 16px;border-bottom:1px solid var(--line,#e3e8f2)}
.task-brand-symbol{width:43px;height:43px;display:grid;place-items:center;background:linear-gradient(135deg,#0067ef,#398aff);color:#fff;border-radius:15px;font-size:23px;box-shadow:0 8px 20px rgba(0,98,240,.17)}
.task-side-brand strong{display:block;font-size:18px;letter-spacing:-.03em}.task-side-brand small{display:block;font-size:11px;color:var(--muted,#748399);margin-top:3px}
.task-hub-navigation,.task-side-lists{display:grid;gap:4px}
.task-hub-navigation button,.task-side-lists button{font:inherit;display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 13px;background:transparent;border:0;color:var(--ink,#25344c);border-radius:13px;cursor:pointer;font-size:13px;font-weight:780;transition:background .18s ease,color .18s ease}
.task-hub-navigation button>span{font-size:17px;width:23px;text-align:center;color:#4775b5}
.task-hub-navigation button>b,.task-side-lists button>b{margin-left:auto;font-size:11px;color:var(--muted,#73839c);font-weight:850}
.task-hub-navigation button.active,.task-side-lists button.active,.task-hub-navigation button:hover,.task-side-lists button:hover{background:rgba(20,105,240,.1);color:var(--brand,#0664e9)}
.task-side-lists-head{display:flex;align-items:center;justify-content:space-between;margin:7px 10px 0;font-size:12px;letter-spacing:.01em}
.task-side-lists-head button{border:1px solid var(--line,#dce6f0);background:var(--surface,#fff);border-radius:10px;width:28px;height:28px;font-size:20px;cursor:pointer;color:var(--ink,#29364a);line-height:1}
.task-side-lists button i{display:block;width:10px;height:10px;border-radius:4px;flex:none}
.task-side-lists p,.task-side-hint{font-size:11px;line-height:1.65;color:var(--muted,#79889d);padding:0 12px}
.task-side-hint{margin-top:auto;background:rgba(61,133,230,.07);border-radius:14px;padding:14px}
.task-hub-main{min-width:0;padding:32px clamp(18px,3.2vw,48px);background:var(--surface,#fff)}
.task-workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px}.task-workspace-heading h2{font-size:clamp(29px,3vw,40px);letter-spacing:-.06em;margin:6px 0 5px}.task-workspace-heading p{color:var(--muted,#697991);margin:0;font-size:13px;line-height:1.5}
.task-eyebrow{display:inline-block;color:#307fe1;text-transform:uppercase;font-weight:900;letter-spacing:.1em;font-size:10px}
.task-progress-bar{display:flex;align-items:center;gap:14px;padding:12px 15px;border-radius:13px;background:var(--surface-secondary,#f6f9fd);margin-bottom:17px}
.task-progress-bar span{font-size:12px;flex:1;color:var(--muted,#7789a4);font-weight:700}.task-progress-track{height:6px;background:#dbe5f3;border-radius:99px;overflow:hidden;min-width:95px;width:28%}.task-progress-track i{display:block;width:0;height:100%;background:#168568;transition:width .25s}
.task-quick-add{display:flex;align-items:center;gap:12px;border:1px solid #c4d8f4;border-radius:17px;background:var(--surface,#fff);padding:7px 9px 7px 17px;box-shadow:0 6px 15px rgba(23,86,183,.04)}
.task-quick-add>span{font-size:21px;color:#0b63f6;font-weight:700}.task-quick-add input{min-width:0;flex:1;border:0!important;background:transparent!important;outline:0!important;box-shadow:none!important;color:var(--ink,#1a2c46);font:inherit;font-size:14px;padding:11px 0}.task-quick-add button{border:0;border-radius:11px;background:#0b63f6;color:#fff;padding:11px 19px;font-weight:850;cursor:pointer}
.task-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:25px;padding-bottom:13px;border-bottom:1px solid var(--line,#e5eaf2)}
.task-search-field{position:relative;display:flex;align-items:center;gap:7px;max-width:330px;min-width:180px;flex:1}.task-search-field span{font-size:22px;color:var(--muted,#74839b)}.task-search-field input{background:transparent!important;border:0!important;padding:7px!important;outline:none!important;box-shadow:none!important;color:var(--ink,#283752);font-size:13px}
.task-toolbar>label:last-child{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted,#60738f)}.task-toolbar select{width:auto;font-size:12px;border-radius:10px;padding:8px 11px;background:var(--surface-secondary,#f7f9fd);color:var(--ink,#283752)}
.task-list-block{margin-top:22px}.task-list-heading{display:flex;gap:12px;align-items:center;margin-bottom:9px}.task-list-heading h3{margin:0;font-size:14px;letter-spacing:-.02em}.task-list-heading span{font-size:11px;color:var(--muted,#667b94)}
.task-items{display:grid}.task-item{display:flex;gap:13px;align-items:flex-start;padding:17px 5px;border-bottom:1px solid var(--line,#e5edf3);min-width:0}.task-item:hover{background:rgba(54,121,217,.025)}
.task-check-col{flex:none;padding-top:2px}.task-check{display:grid;place-items:center;background:transparent;width:25px;height:25px;border:2px solid #9cacc4;border-radius:50%;cursor:pointer;color:#138463;font-size:15px;font-weight:900}.task-check.p1{border-color:#d84f55;color:#dc4c55}.task-check.p2{border-color:#e58b37;color:#dc9142}.task-check.p3{border-color:#4387d5;color:#4387d5}.task-check.p4{border-color:#a3b1c7}.task-check.checked{border-color:#18a77e;background:#e4f8ee;color:#117c5e}.task-check.source-dot{font-size:12px;opacity:.65;cursor:default}
.task-item-copy{flex:1;min-width:0}.task-title{font-weight:790;font-size:14px;line-height:1.4;color:var(--ink,#24334b)}.task-item-copy p{font-size:12px;line-height:1.65;color:var(--muted,#65758c);margin:5px 0 7px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:3.25em;overflow:hidden}
.task-item-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:8px;color:var(--muted,#748397);font-size:11px}.task-item-meta .due{color:#4280b8;font-weight:750}.task-item-meta .due.overdue{color:#d35558}.task-item-meta .due.today{color:#168568}.task-source-pill{border:1px solid var(--line,#d9e2eb);border-radius:999px;padding:2px 7px}
.task-item-actions{display:flex;gap:4px;opacity:.2;transition:opacity .12s}.task-item:hover .task-item-actions,.task-item-actions:focus-within{opacity:1}.task-item-actions button,.task-item-actions a{display:grid;place-items:center;width:31px;height:31px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted,#597391);cursor:pointer;text-decoration:none}.task-item-actions button:hover,.task-item-actions a:hover{background:var(--surface-secondary,#f2f6fa);border-color:var(--line,#e3ebf2)}.task-item.is-done .task-title{text-decoration:line-through;opacity:.65}
.task-empty{display:grid;justify-items:center;text-align:center;margin:38px 0;padding:62px 18px;background:var(--surface-secondary,#f9fbff);border:1px dashed var(--line,#dbe4f0);border-radius:22px}.task-empty>span{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#e4f7ec;color:#148765;font-size:24px;font-weight:900;margin-bottom:16px}.task-empty h3{margin:0 0 8px;font-size:20px;letter-spacing:-.03em}.task-empty p{margin:0 0 20px;color:var(--muted,#6b7a8e);font-size:13px}
.task-dialog-backdrop{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(6,19,43,.63);backdrop-filter:blur(6px)}.task-dialog-backdrop[hidden]{display:none!important}
.task-dialog{background:var(--surface,#fff);color:var(--ink,#17253a);border:1px solid var(--line,#dce4ee);border-radius:25px;width:min(600px,98vw);max-height:92vh;overflow-y:auto;box-shadow:0 32px 90px rgba(0,0,0,.22)}
.task-dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:27px 30px 20px;border-bottom:1px solid var(--line,#dce4ee)}.task-dialog-top h2{font-size:26px;margin:6px 0;letter-spacing:-.04em}.task-dialog-top p{color:var(--muted,#6f8096);font-size:12px;margin:0}.task-dialog-close{background:var(--surface-secondary,#f5f8fd);border:1px solid var(--line,#dde6f0);border-radius:10px;color:var(--ink,#273951);width:36px;height:36px;font-size:23px;cursor:pointer}
.task-form-fields{display:grid;gap:17px;padding:25px 30px 30px}.task-form-fields>label,.task-form-two>label{display:grid;gap:7px;font-size:12px;font-weight:800;color:var(--ink,#24364a)}.task-form-fields .input{border-radius:12px;padding:12px 13px;background:var(--surface-secondary,#fcfdff);font-size:13px}.task-form-fields textarea{resize:vertical;min-height:80px}.task-form-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.task-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.task-form-message{color:#c75556;font-size:12px;min-height:0}.task-list-dialog{max-width:420px}.task-list-dialog .task-dialog-top{padding-bottom:23px}
.task-toast{position:fixed;z-index:100010;right:24px;bottom:24px;background:#0c493a;color:#fff;padding:14px 21px;border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.17);font-size:13px;font-weight:750}.task-toast.bad{background:#9e3033}
@media(max-width:1050px){.task-hub{grid-template-columns:220px minmax(0,1fr)}.task-hub-main{padding:26px}}
@media(max-width:760px){.task-hub{display:flex;flex-direction:column;min-height:0}.task-hub-side{border-right:0;border-bottom:1px solid var(--line,#dce4ee);padding:13px 14px;gap:8px}.task-side-brand{display:none}.task-hub-navigation{display:flex;overflow-x:auto;gap:5px}.task-hub-navigation button{width:auto;white-space:nowrap;padding:9px 11px}.task-hub-navigation button b{margin-left:0}.task-side-lists-head,.task-side-hint{display:none}.task-side-lists{display:flex;overflow-x:auto}.task-side-lists button{min-width:max-content;width:auto;padding:8px 11px}.task-hub-main{padding:22px 16px}.task-workspace-heading{gap:10px}.task-workspace-heading .btn{white-space:nowrap}.task-form-two{grid-template-columns:1fr}.task-item-actions{opacity:1}.task-dialog-top,.task-form-fields{padding:20px}}
@media(max-width:420px){.task-workspace-heading{align-items:flex-start;flex-direction:column}.task-search-field{min-width:120px}.task-quick-add{padding-left:10px}.task-quick-add button{padding:11px}.task-item{gap:9px}}
/* The app-wide theme sets dark custom properties; these ensure useful contrast if modules use legacy hard-coded colors. */
html[data-kopano-theme="dark"] .task-hub,body[data-kopano-theme="dark"] .task-hub{--surface:#17243a;--surface-secondary:#202e45;--line:#344661;--ink:#f0f5ff;--muted:#a7bbd2}
html[data-kopano-theme="dark"] .task-hub .task-quick-add,body[data-kopano-theme="dark"] .task-hub .task-quick-add{border-color:#42658f}
html[data-kopano-theme="dark"] .task-hub .task-progress-track,body[data-kopano-theme="dark"] .task-hub .task-progress-track{background:#455776}
html[data-kopano-theme="dark"] .task-dialog-backdrop .task-dialog,body[data-kopano-theme="dark"] .task-dialog-backdrop .task-dialog{--surface:#17243a;--surface-secondary:#202e45;--line:#344661;--ink:#f0f5ff;--muted:#a7bbd2}

.task-item.is-subtask{padding-left:28px}.task-item.is-subtask .task-title:before{content:'↳';font-size:13px;color:var(--muted,#8a9bb2);margin-right:8px}


/* v1.24.33 — Compact Tasks header: prioritize task rows within the first viewport. */
.task-hub-main{padding:20px clamp(16px,2.4vw,32px)}
.task-workspace-heading{margin:0 0 12px;min-height:47px;gap:12px}
.task-workspace-heading h2{font-size:clamp(24px,2.3vw,30px);line-height:1.1;letter-spacing:-.045em;margin:0}
.task-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.task-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}
.task-workspace-heading .btn{padding:10px 16px;font-size:13px;border-radius:11px;min-height:41px;white-space:nowrap;flex:none}
.task-progress-bar{display:flex;align-items:center;gap:9px;margin:0;padding:0;border:0;background:transparent;border-radius:0;min-width:0}
.task-progress-bar span{flex:unset;white-space:nowrap;font-size:11px;line-height:1.35;color:var(--muted,#7789a4)}
.task-progress-track{height:5px;min-width:58px;width:77px;flex:none}
.task-compact-controls{display:grid;grid-template-columns:minmax(240px,1fr) minmax(270px,.86fr);gap:12px;align-items:center;padding:0 0 12px;border-bottom:1px solid var(--line,#e5eaf2)}
.task-quick-add{height:42px;min-width:0;gap:9px;border-radius:12px;padding:3px 5px 3px 12px;box-shadow:none}
.task-quick-add>span{font-size:18px}
.task-quick-add input{font-size:13px;padding:8px 0;min-width:0}
.task-quick-add button{padding:8px 15px;min-height:32px;font-size:12px;border-radius:9px}
.task-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;margin:0;padding:0;border:0;flex-wrap:nowrap}
.task-search-field{min-width:0;max-width:none;flex:unset;border:1px solid var(--line,#e5eaf2);border-radius:11px;padding:2px 9px;height:42px}
.task-search-field span{font-size:18px;line-height:1}
.task-search-field input{width:100%;min-width:0;padding:7px 3px!important;font-size:12px}
.task-priority-filter{display:block!important;min-width:0}
.task-toolbar select{height:42px;max-width:150px;border-radius:11px;font-size:12px;padding:8px 24px 8px 10px}
.task-list-block{margin-top:11px}
.task-list-heading{margin-bottom:2px}
.task-item{padding:13px 5px}
.task-item-meta{margin-top:5px}
.task-item-actions{opacity:.65}
@media(max-width:1170px){
  .task-compact-controls{grid-template-columns:minmax(0,1fr)}
  .task-toolbar{grid-template-columns:minmax(0,1fr) auto}
  .task-progress-track{width:57px}
}
@media(max-width:760px){
  .task-hub-main{padding:15px 14px}
  .task-workspace-heading{margin-bottom:10px}
  .task-workspace-heading h2{font-size:25px}
  .task-heading-actions{gap:9px}
  .task-progress-track{display:none}
  .task-compact-controls{gap:8px;padding-bottom:10px}
  .task-toolbar{gap:8px}
  .task-list-block{margin-top:10px}
}
@media(max-width:440px){
  .task-workspace-heading{flex-direction:row;align-items:center;gap:6px}
  .task-heading-actions{margin-left:auto}
  .task-workspace-heading h2{font-size:23px}
  .task-workspace-heading .btn{font-size:12px;min-height:36px;padding:8px 10px}
  .task-progress-bar{display:none}
  .task-toolbar select{max-width:132px}
  .task-search-field{min-width:0}
}


/* v1.24.34 — Clearly recognizable destructive action instead of an ellipsis. */
.task-item-actions .task-delete-action{color:#a65a65;opacity:.95}
.task-item-actions .task-delete-action:hover,.task-item-actions .task-delete-action:focus-visible{background:#fff0f1;border-color:#f6bac2;color:#b42335;outline-offset:2px}
.task-item-actions .task-delete-action svg{display:block;pointer-events:none}
html[data-kopano-theme="dark"] .task-item-actions .task-delete-action{color:#f1a1ad}
html[data-kopano-theme="dark"] .task-item-actions .task-delete-action:hover,html[data-kopano-theme="dark"] .task-item-actions .task-delete-action:focus-visible{background:#482938;border-color:#a45165;color:#ffced5}
