/* ============================================================================
   CHARDINS VOYAGES — TASK MANAGER UI/UX v4.15.8.2.4
   Quiet operational luxury: dense where useful, calm everywhere else.
   ========================================================================== */

/* --- workspace shell ------------------------------------------------------ */
.tm-shell{--tm-ink:#17334c;--tm-soft:#f7f5f0;--tm-line:#e8e2d8;--tm-card:#fff;--tm-warm:#fbfaf7;min-width:0}
.tm-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:2px 0 18px}
.tm-page-title h2{margin:4px 0 5px;font:500 31px/1.08 Georgia,serif;color:var(--navy)}
.tm-page-title p{margin:0;max-width:650px;color:var(--muted);font-size:11.5px;line-height:1.55}
.tm-head-actions{display:flex;align-items:center;gap:8px;flex:none}
.tm-new-task{min-width:116px}
.tm-icon-button{width:39px;height:39px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-size:15px;font-weight:800;letter-spacing:.08em;cursor:pointer}
.tm-icon-button:hover{border-color:#d5c6ac;background:#fbf9f4}
.tm-more-wrap,.tm-filter-wrap{position:relative}

/* --- primary navigation --------------------------------------------------- */
.tm-primary-nav{display:flex;align-items:center;gap:2px;border-bottom:1px solid var(--line);margin-bottom:12px;overflow-x:auto;scrollbar-width:none}
.tm-primary-nav::-webkit-scrollbar{display:none}
.tm-primary-nav button{position:relative;flex:none;border:0;background:transparent;padding:12px 15px 13px;color:#76828c;font-size:11.5px;font-weight:780;cursor:pointer;white-space:nowrap}
.tm-primary-nav button:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:transparent;border-radius:2px}
.tm-primary-nav button.active{color:var(--navy)}
.tm-primary-nav button.active:after{background:var(--gold)}
.tm-primary-nav button b{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:5px;padding:0 5px;border-radius:10px;background:#eef1f3;color:#53616c;font-size:8.5px}

/* --- focus strip / audience ---------------------------------------------- */
.tm-focus-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 10px}
.tm-focus-strip{display:flex;align-items:center;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}
.tm-focus-strip::-webkit-scrollbar{display:none}
.tm-focus-strip button{display:inline-flex;align-items:center;gap:6px;flex:none;border:1px solid transparent;background:transparent;border-radius:9px;padding:7px 9px;color:#63717c;font-size:10.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.tm-focus-strip button strong{color:var(--navy);font-size:11px}
.tm-focus-strip button:hover{background:#f6f3ed}
.tm-focus-strip button.active{border-color:#e2d8c8;background:#fff;box-shadow:0 3px 12px rgba(11,31,51,.045)}
.tm-focus-strip button.active.danger{border-color:#ead4d2;background:#fffafa}
.tm-focus-dot{width:7px;height:7px;border-radius:50%;background:#b2bbc2;flex:none}
.tm-focus-dot.gold{background:var(--gold)}.tm-focus-dot.danger,.tm-focus-dot.blocked{background:#b15d59}
.tm-completed-link{color:#8b9399!important}
.tm-audience{display:flex;gap:2px;padding:3px;border-radius:10px;background:#f1eee8;flex:none}
.tm-audience button{border:0;background:transparent;border-radius:8px;padding:7px 11px;color:#747f87;font-size:10.5px;font-weight:750;cursor:pointer}
.tm-audience button.active{background:#fff;color:var(--navy);box-shadow:0 2px 8px rgba(11,31,51,.07)}

/* --- command bar ---------------------------------------------------------- */
.tm-commandbar{display:flex;align-items:center;gap:8px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:7px;box-shadow:0 3px 15px rgba(11,31,51,.025)}
.tm-search{position:relative;flex:1;min-width:180px}
.tm-search span{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#9aa2a8;font-size:15px;pointer-events:none}
.tm-search input{height:40px!important;min-height:40px!important;border:0!important;background:#f8f7f3!important;padding:0 12px 0 34px!important;border-radius:9px!important;font-size:11.5px!important;box-shadow:none!important}
.tm-search input:focus{background:#fff!important;box-shadow:0 0 0 1px #d9ceb9!important}
.tm-filter-button{height:40px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 12px;color:var(--navy);font-size:10.5px;font-weight:760;cursor:pointer;white-space:nowrap}
.tm-filter-button:hover{background:#faf8f4}.tm-filter-button b{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 4px;border-radius:9px;background:var(--navy);color:#fff;font-size:8px}
.tm-project-mode{display:flex;gap:2px;padding:3px;background:#f1eee8;border-radius:9px}
.tm-project-mode button{border:0;background:transparent;border-radius:7px;padding:7px 10px;color:#77828a;font-size:10px;font-weight:760;cursor:pointer}
.tm-project-mode button.active{background:#fff;color:var(--navy);box-shadow:0 2px 7px rgba(11,31,51,.06)}
.tm-active-filters{display:flex;gap:6px;flex-wrap:wrap;min-height:0;margin:0 0 12px}
.tm-active-filters:empty{display:none}
.tm-filter-chip{border:1px solid #e4ddd2;background:#faf8f4;border-radius:16px;padding:5px 8px 5px 10px;color:#5d6870;font-size:9.5px;font-weight:720;cursor:pointer}
.tm-filter-chip span{margin-left:4px;color:#999}

/* --- popovers ------------------------------------------------------------- */
.tm-popover{position:absolute;z-index:180;background:#fff;border:1px solid #e3ddd3;border-radius:12px;box-shadow:0 18px 45px rgba(11,31,51,.14)}
.tm-more-menu{right:0;top:46px;width:220px;padding:6px}
.tm-more-menu button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;border-radius:8px;padding:9px 10px;text-align:left;color:#56636d;font-size:10.5px;font-weight:700;cursor:pointer}
.tm-more-menu button:hover{background:#f7f4ee;color:var(--navy)}
.tm-more-menu button span{flex:1}
.tm-filter-popover{right:0;top:47px;width:330px;padding:14px}
.tm-filter-popover label{display:block;margin:0 0 5px!important;font-size:9px!important;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#879198}
.tm-filter-popover select{min-height:39px!important;height:39px!important;margin-bottom:11px;padding:0 30px 0 10px!important;border-radius:9px!important;font-size:10.5px!important}
.tm-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tm-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #eee9e0;margin-top:3px;padding-top:10px}
.tm-filter-actions .btn{min-height:36px;padding:7px 12px}

/* --- shared task atoms ---------------------------------------------------- */
.tm-priority-mark{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);flex:none}.tm-priority-mark.high{background:#ac5753}.tm-priority-mark.low{background:#b7c0c6}
.tm-due,.tm-due-button{font-size:9.5px;font-weight:780;white-space:nowrap;color:#7f898f}
.tm-due.late,.tm-due-button.late{color:#a74f4b}.tm-due.soon,.tm-due-button.soon{color:#8b6b31}.tm-due.done{color:var(--green)}
.tm-due-button{border:0;background:transparent;border-radius:7px;padding:5px 6px;margin:-5px -6px;cursor:pointer}
.tm-due-button:hover{background:#f4f1ea;color:var(--navy)}
.tm-status{display:inline-flex;border-radius:18px;padding:4px 8px;font-size:8.5px;font-weight:800;background:#eef1f3;color:#53616c;white-space:nowrap}
.tm-status.s-in-progress{background:#eaf1f6;color:#315e7d}.tm-status.s-blocked{background:#f8e9e8;color:#934642}.tm-status.s-done{background:var(--greenbg);color:var(--green)}.tm-status.s-cancelled{background:#efefef;color:#7b8389}.tm-status.s-active{background:#f5ead3;color:#755c2d}.tm-status.s-on-hold{background:#f0ece4;color:#6f6351}.tm-status.s-archived{background:#efefef;color:#7a8288}
.tm-check{display:grid;place-items:center;width:23px;height:23px;border:1px solid #d9d3c9;border-radius:50%;background:#fff;color:transparent;font-size:10px;font-weight:900;cursor:pointer;transition:.13s;flex:none}
.tm-check:hover{border-color:#8fa99a;background:#f5faf7;color:#3d7658}.tm-check.large{width:26px;height:26px}
.tm-owner-mini{display:flex;align-items:center;gap:7px;flex:none}.tm-owner-mini b{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:8.5px;font-weight:800}.tm-owner-mini span{font-size:9px;color:#9aa2a7}.tm-owner-mini em{font-style:normal;color:#969da2;font-size:9px}
.tm-project-text,.tm-card-project{display:inline-flex;align-items:center;gap:6px;color:#7a858c;font-size:9.5px;font-weight:720;min-width:0}.tm-project-text i,.tm-card-project i,.tm-project-kicker>span i{width:7px;height:7px;border-radius:50%;background:var(--chip,#aaa);flex:none}

/* --- My Work -------------------------------------------------------------- */
.tm-work-list{display:grid;gap:16px}
.tm-work-section{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.tm-work-section>header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#faf9f6;border-bottom:1px solid #eee9e1}
.tm-work-section>header>div{display:flex;align-items:center;gap:8px}.tm-work-section>header span{font-size:9.5px;font-weight:820;letter-spacing:.075em;text-transform:uppercase;color:#69757e}.tm-work-section>header b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:11px;background:#efebe4;color:#5e6870;font-size:8.5px}
.tm-work-section.danger>header{background:#fff9f8}.tm-work-section.danger>header span{color:#99504c}.tm-work-section.today>header{background:#fcfaf4}.tm-work-section.today>header span{color:#80652f}
.tm-work-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #f1ede6;cursor:pointer;transition:.12s}.tm-work-row:last-child{border-bottom:0}.tm-work-row:hover{background:#fcfbf8}
.tm-work-main{min-width:0}.tm-work-title{display:flex;align-items:center;gap:8px;min-width:0}.tm-work-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--navy);font-size:12.5px;font-weight:720}.tm-inline-blocked{border-radius:12px;background:#f7e9e8;color:#96504b;padding:3px 6px;font-size:8px;font-weight:800}
.tm-work-sub{display:flex;align-items:center;gap:9px;margin-top:4px;min-width:0;color:#98a0a5;font-size:9.5px}.tm-work-sub>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* --- board --------------------------------------------------------------- */
.tm-board-wrap{min-width:0}.tm-board-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 8px;color:#92999e;font-size:9.5px}.tm-board-note button{border:0;background:transparent;color:#7d858b;font-size:9.5px;font-weight:720;cursor:pointer}.tm-board-note button:hover{color:var(--navy)}
.tm-board{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:11px;align-items:start}
.tm-col{background:#f4f2ed;border:1px solid #e7e1d8;border-radius:13px;padding:9px;min-height:235px;transition:.14s}.tm-col.over{border-color:#d2b879;background:#f8f3e8;box-shadow:inset 0 0 0 1px rgba(198,161,91,.18)}
.tm-col-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 5px 10px}.tm-col-head>div:first-child{display:flex;align-items:center;gap:7px;color:#68747d;font-size:9.5px;font-weight:820;letter-spacing:.07em;text-transform:uppercase}.tm-col-head i{font-style:normal;color:#9c8151;font-size:12px}.tm-col-in-progress i{color:#557d99}.tm-col-blocked i{color:#aa5752}
.tm-col-meta{display:flex;align-items:center;gap:3px}.tm-col-meta b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:11px;background:#fff;color:#69747c;font-size:8.5px;border:1px solid #e6e0d7}.tm-col-add{width:24px;height:24px;border:0;border-radius:7px;background:transparent;color:#9b845b;font-size:16px;cursor:pointer}.tm-col-add:hover{background:#fff;color:var(--navy)}
.tm-col-body{display:grid;gap:8px}.tm-col-empty{border:1px dashed #d8d1c6;border-radius:10px;padding:23px 9px;text-align:center;color:#a1a7ab;font-size:9.5px}
.tm-card{background:#fff;border:1px solid #e7e2da;border-radius:10px;padding:11px 11px 10px;cursor:pointer;transition:.13s}.tm-card:hover{border-color:#d7cbb8;box-shadow:0 8px 20px rgba(11,31,51,.055);transform:translateY(-1px)}.tm-card.dragging{opacity:.45;transform:rotate(-.5deg)}
.tm-card-line{display:flex;align-items:center;gap:8px;min-width:0}.tm-card-project{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-card h4{margin:9px 1px 0;color:var(--navy);font:720 12.5px/1.38 Arial,sans-serif;letter-spacing:-.005em}.tm-blocked-note{display:inline-flex;margin-top:7px;border-radius:8px;background:#fcf3f2;color:#9c5550;padding:4px 6px;font-size:8.5px;font-weight:750}
.tm-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px;padding-top:9px;border-top:1px solid #f1ede7}

/* --- history -------------------------------------------------------------- */
.tm-history{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.tm-history-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px;border-bottom:1px solid var(--line)}.tm-history-head h3{margin:3px 0 0;font:500 20px Georgia,serif;color:var(--navy)}
.tm-history-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid #f1ede7;cursor:pointer}.tm-history-row:last-child{border-bottom:0}.tm-history-row:hover{background:#fbfaf7}.tm-history-icon{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:900}.tm-history-icon.done{background:#e8f3ec;color:#427158}.tm-history-icon.cancelled{background:#efefef;color:#858c91}.tm-history-row strong,.tm-history-row small{display:block}.tm-history-row strong{color:var(--navy);font-size:11.5px}.tm-history-row small,.tm-history-row>span:nth-child(3){margin-top:3px;color:#92999e;font-size:9px}.tm-history-row>b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:8px}

/* --- linked actions ------------------------------------------------------- */
.tm-linked-list{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.tm-linked-intro{padding:15px 16px;border-bottom:1px solid var(--line);background:#faf9f6}.tm-linked-intro h3{margin:3px 0 4px;font:500 20px Georgia,serif;color:var(--navy)}.tm-linked-intro p{margin:0;color:var(--muted);font-size:10px}
.tm-linked-row{display:grid;grid-template-columns:95px minmax(0,1fr) 105px 95px 105px;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid #f0ece5;cursor:pointer}.tm-linked-row:last-child{border-bottom:0}.tm-linked-row:hover{background:#fbfaf7}.tm-linked-source{display:inline-flex;width:max-content;border-radius:8px;background:#eef2f5;color:#526b7d;padding:5px 7px;font-size:8px;font-weight:820;letter-spacing:.045em;text-transform:uppercase}.tm-linked-main strong,.tm-linked-main small{display:block}.tm-linked-main strong{color:var(--navy);font-size:11.5px}.tm-linked-main small{margin-top:3px;color:#91999e;font-size:9px}.tm-open-source{border:0;background:transparent;color:#806533;font-size:9.5px;font-weight:790;cursor:pointer;text-align:right}

/* --- projects ------------------------------------------------------------- */
.tm-projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:11px}.tm-project{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;cursor:pointer;transition:.14s}.tm-project:hover{border-color:#d6cab6;box-shadow:0 9px 25px rgba(11,31,51,.055);transform:translateY(-1px)}.tm-project.late{border-color:#ead3d0}
.tm-project-kicker{display:flex;align-items:center;justify-content:space-between;gap:10px}.tm-project-kicker>span:first-child{display:flex;align-items:center;gap:6px;color:#7c858b;font-size:8.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.tm-project h4{margin:12px 0 4px;font:500 18px/1.25 Georgia,serif;color:var(--navy)}.tm-project-lead{color:#8d969c;font-size:9.5px}.tm-project-dates{margin-top:10px;color:#7f888e;font-size:9.5px;font-weight:700}.tm-project-dates span{margin:0 5px;color:#bbb2a6}
.tm-project-progress{margin-top:15px}.tm-project-progress>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.tm-project-progress span{color:#8d959a;font-size:8.5px;font-weight:780;text-transform:uppercase;letter-spacing:.06em}.tm-project-progress b{color:var(--navy);font-size:10px}.tm-bar{height:5px;border-radius:4px;background:#ebe7df;overflow:hidden}.tm-bar i{display:block;height:100%;border-radius:4px}
.tm-project-meta{display:grid;grid-template-columns:.7fr .8fr 1.5fr;gap:8px;margin-top:14px;padding:11px 0;border-top:1px solid #f0ece5;border-bottom:1px solid #f0ece5}.tm-project-meta span{display:block;color:#92999e;font-size:7.8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.tm-project-meta strong{display:block;margin-top:4px;color:var(--navy);font-size:11px}.tm-project-meta strong.bad{color:#a94f4a}.tm-project-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;color:#92999e;font-size:9px}

/* --- timeline ------------------------------------------------------------- */
.tm-timeline{padding:15px 16px 13px;background:#fff;border:1px solid var(--line);border-radius:13px;overflow-x:auto}.tm-timeline-scroll{min-width:670px}.tm-timeline-head,.tm-timeline-row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:14px;align-items:center}.tm-timeline-head{padding-bottom:9px;border-bottom:1px solid var(--line);margin-bottom:6px}.tm-timeline-head .tm-timeline-label{font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#90989d}.tm-timeline-head .tm-timeline-track{height:16px}.tm-timeline-row{padding:8px 0;border-bottom:1px solid #f2eee8;cursor:pointer}.tm-timeline-row:last-child{border-bottom:0}.tm-timeline-row:hover{background:#fbfaf7}.tm-timeline-label strong{display:block;color:var(--navy);font-size:10.5px}.tm-timeline-label small{display:block;margin-top:3px;color:#939ba0;font-size:8.5px}.tm-timeline-track{position:relative;height:25px;border-radius:7px;background:repeating-linear-gradient(90deg,#f2efe9 0 1px,transparent 1px 100%)}.tm-month{position:absolute;top:0;transform:translateX(-2px);border-left:1px solid #ddd7cd;padding-left:5px;color:#92999e;font-size:8px;font-weight:750;white-space:nowrap}.tm-today{position:absolute;top:-4px;bottom:-4px;width:2px;border-radius:2px;background:var(--gold);z-index:2}.tm-gantt{position:absolute;top:4px;height:17px;border-radius:8px;background:#eae6de;overflow:hidden;display:flex;align-items:center}.tm-gantt span{position:absolute;left:0;top:0;bottom:0;background:var(--bar,var(--gold));opacity:.82}.tm-gantt b{position:relative;z-index:1;margin-left:7px;color:var(--navy);font-size:8px}.tm-gantt.late{box-shadow:inset 0 0 0 1px #dba09d}.tm-timeline>.small-note{margin-bottom:0}

/* --- quick due popover ---------------------------------------------------- */
.tm-due-menu{position:fixed;z-index:520;width:220px;padding:6px;background:#fff;border:1px solid #e3ddd3;border-radius:11px;box-shadow:0 20px 50px rgba(11,31,51,.18)}.tm-due-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;border-radius:7px;padding:8px 9px;color:#5f6a72;font-size:9.5px;cursor:pointer}.tm-due-menu button:hover{background:#f7f4ee;color:var(--navy)}.tm-due-menu button b{font-size:9.5px}.tm-due-menu button span{color:#a0a6aa;font-size:8.5px}.tm-due-menu button.edit{border-top:1px solid #eee9e1;margin-top:4px;padding-top:10px}

/* --- Task drawer ---------------------------------------------------------- */
.modal-panel.tm-task-drawer{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;transform:none!important;width:min(510px,96vw)!important;max-width:none!important;border-radius:0!important;overflow:hidden!important;background:#fbfaf7!important;box-shadow:-22px 0 70px rgba(11,31,51,.22)!important}
.modal-panel.tm-task-drawer .modal-close{position:absolute!important;top:15px!important;right:15px!important;margin:0!important;z-index:20!important;width:34px!important;height:34px!important;background:#fff!important;border:1px solid #e6dfd6!important;box-shadow:0 3px 12px rgba(11,31,51,.05)!important}
.modal-panel.tm-task-drawer #modalContent{height:100%}
.tm-task-sheet{height:100%;display:flex;flex-direction:column;min-height:0}.tm-task-sheet-top{padding:27px 62px 15px 25px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.tm-task-sheet-top h2{margin:4px 0 0;font:500 23px/1.22 Georgia,serif;color:var(--navy);overflow-wrap:anywhere}.tm-task-sheet-top .btn{flex:none;margin-top:4px}
.tm-task-content{flex:1;min-height:0;overflow:auto;padding:19px 25px 28px}.tm-field-label{display:block;margin:0 0 6px!important;color:#7f898f!important;font-size:8.5px!important;font-weight:820!important;letter-spacing:.075em;text-transform:uppercase}.tm-task-title-input{min-height:48px!important;height:48px!important;padding:0 13px!important;border-radius:10px!important;background:#fff!important;color:var(--navy)!important;font-size:14px!important;font-weight:720!important;border:1px solid #ddd6cb!important}.tm-task-title-input:focus{border-color:#c8ae77!important;box-shadow:0 0 0 3px rgba(198,161,91,.09)!important}
.tm-task-meta-card{margin:14px 0 18px;background:#fff;border:1px solid #e4ddd3;border-radius:11px;overflow:hidden}.tm-meta-row{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid #f0ece6}.tm-meta-row:last-child{border-bottom:0}.tm-meta-row>div:first-child span,.tm-meta-row>div:first-child small{display:block}.tm-meta-row>div:first-child span{color:#465662;font-size:9.5px;font-weight:800}.tm-meta-row>div:first-child small{margin-top:2px;color:#a0a6aa;font-size:8px}.tm-meta-row select,.tm-meta-row input{min-height:37px!important;height:37px!important;margin:0!important;padding:0 30px 0 9px!important;border-radius:8px!important;background:#faf9f6!important;border-color:#e7e1d9!important;font-size:10px!important}.tm-meta-row.two{grid-template-columns:145px 1fr 1fr}.tm-due-editor>div:last-child{min-width:0}.tm-due-editor input{width:100%}.tm-quick{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.tm-quick button{border:0;background:#f3f0e9;border-radius:7px;padding:5px 7px;color:#6e777e;font-size:8.5px;font-weight:730;cursor:pointer}.tm-quick button:hover{background:#ece5d8;color:var(--navy)}
.tm-contributor-chips{display:flex;flex-wrap:wrap;gap:5px}.tm-contributor-chips span{display:flex;align-items:center;gap:5px;min-height:28px;border:1px solid #e1dad0;border-radius:15px;padding:3px 5px 3px 4px;background:#fff;color:#56636d;font-size:8.5px}.tm-contributor-chips span:before{content:attr(data-initials);display:none}.tm-contributor-chips span>b:first-of-type{font-weight:720}.tm-contributor-chips span>button{width:20px;height:20px;border:0;border-radius:50%;background:transparent;color:#9da3a7;cursor:pointer}.tm-contributor-chips span>button:hover{background:#f1ede6;color:#8e514d}.tm-contributor-chips em{font-style:normal;color:#a0a6aa;font-size:8.5px}.tm-contributor-add{margin-top:6px!important;width:100%;min-height:34px!important;height:34px!important}
.tm-task-description{min-height:110px!important;padding:11px 12px!important;border-radius:10px!important;background:#fff!important;border-color:#e0d9cf!important;font-size:10.5px!important;line-height:1.55!important;resize:vertical}
.tm-source-callout{margin:0;padding:11px 25px;background:#f1f5f7;border-bottom:1px solid #dfe7eb}.tm-source-callout>div{display:flex;flex-direction:column;gap:2px}.tm-source-callout span{color:#6b7f8d;font-size:7.5px;font-weight:820;letter-spacing:.09em}.tm-source-callout strong{color:#2d4d63;font-size:10px}.tm-source-callout small{color:#7f8e98;font-size:8.5px}
.tm-comments-block{margin-top:20px;border-top:1px solid #e6e0d8;padding-top:17px}.tm-comments-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:10px}.tm-comments-head h3{margin:3px 0 0;font:500 17px Georgia,serif;color:var(--navy)}.tm-comments-head>span{color:#a0a6aa;font-size:8px}.tm-comment-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-bottom:10px}.tm-comment-add input{min-height:38px!important;height:38px!important;border-radius:9px!important;background:#fff!important;font-size:10px!important}.tm-comment-add .btn{min-height:38px;padding:7px 11px}.tm-comment-list{display:grid;gap:7px}.tm-no-comments{margin:4px 0;color:#9ba2a6;font-size:9px}.tm-comment{display:grid;grid-template-columns:29px minmax(0,1fr) 20px;gap:8px;padding:9px;border:1px solid #ebe5dd;border-radius:9px;background:#fff}.tm-comment>b{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:8px}.tm-comment strong{color:var(--navy);font-size:9.5px}.tm-comment span{margin-left:6px;color:#9ca3a7;font-size:8px}.tm-comment p{margin:4px 0 0;color:#5e6970;font-size:9.5px;line-height:1.5;white-space:pre-wrap}.tm-comment-del{width:20px;height:20px;border:0;border-radius:5px;background:transparent;color:#a5aaad;cursor:pointer}.tm-comment-del:hover{background:#f4eceb;color:#9e4f4b}
.tm-task-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 25px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -7px 20px rgba(11,31,51,.035)}.tm-task-footer>div:last-child{display:flex;gap:7px}.tm-task-footer .btn{min-height:39px;padding:8px 14px}

/* --- project editor / people / swatches ---------------------------------- */
.tm-modal .form-grid.three{gap:10px}.tm-swatches{display:flex;gap:8px;flex-wrap:wrap}.tm-swatch{width:30px;height:30px;border-radius:50%;background:var(--sw);cursor:pointer;margin:0;box-shadow:0 0 0 2px #fff,0 0 0 2px transparent;transition:.14s}.tm-swatch input{display:none}.tm-swatch.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--navy)}

/* --- import dialog -------------------------------------------------------- */
.tm-import-report{margin-top:14px;border:1px solid var(--line);border-radius:12px;background:#fbfaf7;padding:13px}.tm-import-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tm-import-counts>div{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px}.tm-import-counts span{display:block;color:#90989d;font-size:7.8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.tm-import-counts strong{display:block;margin-top:4px;color:var(--navy);font:500 13px Georgia,serif;overflow:hidden;text-overflow:ellipsis}.tm-import-report .small-note{margin:10px 0 0;line-height:1.5}.tm-drop{display:flex;flex-direction:column;align-items:center;gap:5px;margin:6px 0 0;padding:24px 16px;border:1.5px dashed #d2c8b6;border-radius:13px;background:#fbfaf7;cursor:pointer;text-align:center;transition:.14s}.tm-drop:hover,.tm-drop.over{border-color:var(--gold);background:#fbf7ee}.tm-drop input[type=file]{display:none}.tm-drop-icon{font-size:22px;color:var(--gold)}.tm-drop strong{color:var(--navy);font:500 13px Georgia,serif}.tm-drop small{color:var(--muted);font-size:9px}.tm-import-counts strong em{font-style:normal;font-size:9px;color:#8a6c32}.tm-import-sample{margin-top:10px;border-top:1px solid var(--line);padding-top:9px}.tm-import-sample>span{display:block;margin-bottom:6px;color:#90989d;font-size:7.8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.tm-import-sample>div{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 75px;gap:9px;padding:6px 0;border-bottom:1px solid #f1ede7;font-size:9.5px}.tm-import-sample>div:last-child{border-bottom:0}.tm-import-sample b{color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-import-sample i{font-style:normal;color:#92999e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-import-sample u{text-decoration:none;color:#92999e;text-align:right}

/* --- responsive ----------------------------------------------------------- */
@media(max-width:1120px){.tm-board{grid-template-columns:repeat(2,minmax(240px,1fr))}.tm-linked-row{grid-template-columns:85px minmax(0,1fr) 95px 90px}.tm-open-source{display:none}}
@media(max-width:820px){
  .tm-page-head{align-items:flex-start}.tm-page-title h2{font-size:27px}.tm-head-actions .btn-outline{display:none}
  .tm-focus-row{align-items:flex-start;flex-direction:column}.tm-audience{align-self:flex-start}
  .tm-commandbar{flex-wrap:wrap}.tm-search{flex:1 1 calc(100% - 92px)}.tm-project-mode{order:3}.tm-filter-popover{right:0;width:min(330px,88vw)}
  .tm-work-row{grid-template-columns:auto minmax(0,1fr) auto}.tm-work-row>.tm-owner-mini{display:none}
  .tm-linked-row{grid-template-columns:78px minmax(0,1fr) auto}.tm-linked-row>.tm-status{display:none}.tm-linked-row>.tm-due{justify-self:end}
  .tm-projects{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .tm-page-head{gap:12px}.tm-page-title p{display:none}.tm-head-actions{gap:5px}.tm-head-actions .btn{padding:9px 10px}.tm-icon-button{width:38px}.tm-primary-nav button{padding:11px 12px 12px}
  .tm-focus-row{margin-bottom:8px}.tm-focus-strip{width:100%}.tm-focus-strip button{padding:7px 8px}.tm-audience{width:100%}.tm-audience button{flex:1}
  .tm-commandbar{padding:6px}.tm-search{flex:1 1 calc(100% - 84px)}.tm-filter-button{height:39px}.tm-project-mode{width:100%;order:3}.tm-project-mode button{flex:1}
  .tm-work-list{gap:10px}.tm-work-row{grid-template-columns:auto minmax(0,1fr);gap:9px;padding:11px}.tm-work-row>.tm-due-button{grid-column:2;justify-self:start;margin-top:-2px}.tm-work-sub>span:last-child{display:none}.tm-work-title strong{white-space:normal;line-height:1.35}
  .tm-board{display:flex;grid-template-columns:none;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;-webkit-overflow-scrolling:touch}.tm-col{flex:0 0 86%;scroll-snap-align:start}
  .tm-projects{grid-template-columns:1fr}.tm-project-meta{grid-template-columns:.7fr .8fr 1.5fr}
  .tm-linked-row{grid-template-columns:1fr auto;gap:6px 10px;padding:11px}.tm-linked-source{grid-column:1}.tm-linked-main{grid-column:1}.tm-linked-row>.tm-due{grid-column:2;grid-row:1/3}.tm-linked-row>.tm-status{display:none}
  .tm-history-head{align-items:flex-start;flex-direction:column}.tm-history-row{grid-template-columns:auto minmax(0,1fr) auto}.tm-history-row>span:nth-child(3){grid-column:2}.tm-history-row>b{grid-column:3;grid-row:1/3}
  .modal-panel.tm-task-drawer{width:100vw!important;height:100svh!important;max-height:100svh!important;inset:0!important}.modal-panel.tm-task-drawer .modal-close{position:fixed!important;top:calc(10px + env(safe-area-inset-top))!important;right:10px!important}.tm-task-sheet-top{padding:calc(17px + env(safe-area-inset-top)) 54px 13px 15px}.tm-task-sheet-top h2{font-size:21px}.tm-task-sheet-top .btn{display:none}.tm-task-content{padding:14px 13px 22px}.tm-task-meta-card{margin-top:11px}.tm-meta-row,.tm-meta-row.two{grid-template-columns:1fr;gap:7px;padding:10px}.tm-meta-row.two>div:first-child{grid-column:1/-1}.tm-meta-row.two select{width:100%}.tm-task-footer{padding:10px 13px calc(10px + env(safe-area-inset-bottom))}.tm-task-footer>div:first-child{display:none}.tm-task-footer>div:last-child{width:100%}.tm-task-footer .btn{flex:1}
  .tm-import-counts{grid-template-columns:1fr}.tm-import-sample>div{grid-template-columns:1fr auto}.tm-import-sample u{grid-column:2}
}
.tm-contributor-chips span>i{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#eef1f3;color:#52616c;font-style:normal;font-size:7.5px;font-weight:820;flex:none}

/* ============================================================================
   v4.15.8.2.5 CACHE-SKEW SAFETY NET
   If a proxy/browser briefly serves the pre-2.4 tasks.js with the current CSS,
   keep the legacy chrome usable instead of exposing raw browser controls.
   The versioned task assets referenced by index.php remain the canonical UI.
   ========================================================================== */
.tm-scope-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px;max-width:620px}
.tm-scope-switch button{appearance:none;border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 12px;text-align:left;color:var(--navy);cursor:pointer;font:inherit}
.tm-scope-switch button span,.tm-scope-switch button small{display:block}.tm-scope-switch button span{font-size:10.5px;font-weight:800}.tm-scope-switch button small{margin-top:3px;color:var(--muted);font-size:9px}.tm-scope-switch button.active{border-color:#d8c294;background:#fbf7ed;box-shadow:inset 2px 0 var(--gold)}
.tm-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 12px}.tm-stat{min-width:0;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 11px}.tm-stat span{display:block;color:#7d878f;font-size:7.5px;font-weight:820;letter-spacing:.08em;text-transform:uppercase}.tm-stat strong{display:block;margin:3px 0 1px;color:var(--navy);font:500 18px/1.05 Georgia,serif}.tm-stat small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9aa1a6;font-size:8px}.tm-stat.gold{background:#fcf8ef;border-color:#e7d7b6}.tm-stat.danger{background:#fffafa;border-color:#edd5d2}.tm-stat.danger strong{color:#a74f49}.tm-stat.ok{background:#f8fbf9;border-color:#d8e5dc}.tm-stat.ok strong{color:#4e745d}
.tm-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 14px;padding:7px;border:1px solid var(--line);border-radius:12px;background:#fff}.tm-tabs{display:flex;gap:2px;padding:3px;border-radius:9px;background:#f3f0e9}.tm-tabs button{appearance:none;border:0;border-radius:7px;background:transparent;padding:7px 10px;color:#6e7982;font:750 10px/1.2 Arial,sans-serif;cursor:pointer}.tm-tabs button.active{background:#fff;color:var(--navy);box-shadow:0 1px 6px rgba(11,31,51,.07)}
.tm-toolbar>.tm-search{flex:1 1 230px;min-width:180px}.tm-toolbar select{appearance:auto;width:auto;min-width:128px;min-height:38px!important;height:38px!important;margin:0!important;padding:0 30px 0 10px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fbfaf7!important;color:var(--navy)!important;font-size:10.5px!important}.tm-toggle{display:inline-flex;align-items:center;gap:6px;min-height:38px;margin:0;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fbfaf7;color:#53616b;font-size:10px;font-weight:750;white-space:nowrap}.tm-toggle input{width:14px!important;height:14px!important;margin:0!important}.tm-toolbar>.text-action{min-height:36px;padding:0 8px;border:0;background:transparent;color:#7a6851;font-size:9.5px;font-weight:780;cursor:pointer}
@media(max-width:1100px){.tm-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.tm-scope-switch{grid-template-columns:1fr}.tm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-tabs{width:100%}.tm-tabs button{flex:1}.tm-toolbar select{flex:1 1 calc(50% - 4px);min-width:0}.tm-toolbar>.tm-search{flex-basis:100%}.tm-toggle{flex:1}.tm-toolbar>.text-action{margin-left:auto}}
