/* Workspace 4.11: one visual system over the historical module layouts. */
:root{--workspace-shadow:0 4px 20px #182b4c05;--workspace-ease:cubic-bezier(.2,.75,.25,1)}
html:not([data-theme=dark]){--bg:#f4f6fa;--text:#202b40;--muted:#647187;--line:#e3e8f0;--surface:#fff}
.app-page .content{max-width:1680px;margin-inline:auto;padding:32px clamp(20px,3vw,44px) 48px}
.app-page .page-head{gap:20px;margin-bottom:28px}.page-head h1{font-size:27px;letter-spacing:0;margin:0 0 7px}.page-head p{margin:0;max-width:70ch}.workspace-breadcrumb{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted);margin-bottom:10px}.workspace-breadcrumb a:hover{color:var(--primary)}
.app-page :is(.panel,.project-card,.access-site,.metric-card){border:1px solid var(--line);box-shadow:var(--workspace-shadow);border-radius:18px}.app-page .panel-head{padding:22px 24px;border-bottom:1px solid var(--line)}
.sidebar{background:var(--surface)!important}.sidebar-head{height:88px;min-height:88px;justify-content:center;border-bottom:0}.sidebar-logo-v65{max-width:155px!important;max-height:48px;object-fit:contain}.nav{padding:4px 14px 28px;flex:1;min-height:0}.nav section+section{margin-top:20px}.nav-title{font-size:10px!important;opacity:.8;padding:8px 14px}.sidebar .nav-item{min-height:43px;padding:9px 13px;font-weight:500;gap:12px}.sidebar .nav-item.active{background:color-mix(in srgb,var(--primary) 9%,var(--surface));box-shadow:inset -3px 0 var(--primary);font-weight:600}.nav-item.active:before{display:none}.sidebar .nav-item .sidebar-icon{width:21px;height:21px;flex-basis:21px}.sidebar-search{margin:0 16px 14px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--bg);border-radius:11px;padding:0 12px;min-height:40px}.sidebar-search input{background:transparent;border:0;outline:0;min-width:0;width:100%;font-size:12px;color:var(--text)}.sidebar-search:focus-within{outline:2px solid var(--primary);outline-offset:2px}.sidebar-search svg{width:16px;color:var(--muted)}.nav-no-results{font-size:12px;line-height:1.9;padding:16px;color:var(--muted)}
.topbar{min-height:78px;box-shadow:0 4px 20px #152b4b03}.global-search{border-color:transparent;max-width:480px;min-height:42px}.top-actions{gap:8px}.top-actions>.icon-btn{background:var(--bg);border:1px solid var(--line);width:38px;min-width:38px;height:38px;min-height:38px}.global-search kbd{font-family:inherit;font-size:10px;border:1px solid var(--line);border-radius:5px;padding:1px 5px;color:var(--muted);white-space:nowrap}
.app-page .btn{border-radius:11px;min-height:43px;padding:10px 16px}.app-page .btn.primary{box-shadow:0 3px 9px rgba(var(--primary-rgb),.12)}.app-page .btn.accent{background:var(--surface);border:1px solid var(--line);color:var(--text);box-shadow:none}.app-page .btn.accent:hover{background:var(--ui-hover)}.app-page .row-action{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:9px;min-height:34px}.app-page .row-action:hover{color:var(--primary);border-color:var(--primary)}
.app-page .table-toolbar{padding:18px 24px;gap:14px;background:var(--surface)}.responsive-table table{border-collapse:separate;border-spacing:0}.responsive-table thead th{background:var(--bg);font-size:11px!important;padding:13px 18px;border-bottom:1px solid var(--line)}.responsive-table td{padding:17px 18px;border-bottom:1px solid var(--line)}.responsive-table tbody tr:last-child td{border-bottom:0}.responsive-table td strong{line-height:1.9}.responsive-table tbody tr{transition:background-color 140ms}.responsive-table:focus-visible{outline-offset:-3px}.table-result-status{padding:10px 24px;margin:0;background:var(--bg)}
.segmented{padding:4px;gap:3px;background:var(--bg);border:1px solid var(--line);border-radius:12px}.segmented button{min-height:36px;color:var(--muted);border-radius:8px;padding:7px 13px}.segmented button.selected{color:var(--primary);background:var(--surface);box-shadow:0 2px 6px #14223c0a}.status-badge{border-radius:7px;padding:4px 9px;font-weight:500;white-space:nowrap}
/* Consistent inset labels and clear field surfaces. */
.app-page .ui-field :is(input:not([type=checkbox]):not([type=hidden]),textarea,select){border-color:var(--line);box-shadow:0 1px 2px #14223c03;background:var(--surface);transition:border-color 150ms,box-shadow 150ms}.app-page .ui-field:focus-within>.ui-field-label{color:var(--primary)}.app-page .ui-field>.ui-field-label{font-weight:500}.app-page .ui-field textarea{min-height:112px;line-height:1.9}.app-page .ui-field small{font-weight:400}.field-error{font-size:11px!important;line-height:1.8}.form-grid{column-gap:24px;row-gap:22px}.form-grid>fieldset{min-width:0}.modal-head p{max-width:60ch}.modal-footer{align-items:center}.modal-footer .btn.primary{min-width:120px}dialog.modal{box-shadow:0 28px 90px #101d3b30;border:1px solid var(--line)}dialog.modal::backdrop{background:#17243b66;backdrop-filter:blur(5px)}
/* A task has a title row, an action row, and optional context underneath. */
.tasks-v2{grid-template-columns:minmax(0,1fr) 280px!important}.route-tasks .team-task-board{height:auto;overflow:visible;scrollbar-gutter:auto;padding:0}.route-tasks .team-task-board .task-row{display:grid;grid-template-columns:24px 8px minmax(0,1fr) auto auto;gap:12px!important;padding:20px!important;align-items:center;border-inline-start:3px solid transparent}.route-tasks .team-task-board .task-row>form{grid-column:1;grid-row:1}.route-tasks .team-task-board .task-row>.project-dot{grid-column:2;grid-row:1}.route-tasks .team-task-board .task-row>.task-title{grid-column:3/-1;grid-row:1;min-width:0}.task-title strong{font-size:14px!important;font-weight:600}.task-title>span{font-size:11px!important;margin-top:2px}.route-tasks .team-task-board .task-row>time{grid-column:3;grid-row:2;justify-self:start;font-size:11px!important;margin:0}.route-tasks .team-task-board .task-row>.task-followup-button{grid-column:4;grid-row:2}.route-tasks .team-task-board .task-row>.task-edit-v61{grid-column:5;grid-row:2;margin:0!important}.route-tasks .team-task-board .task-row>.task-signals{grid-column:3/-1;min-width:0;padding:0;order:4;max-width:100%;width:auto}.route-tasks .team-task-board .task-row>.subtasks-v67{grid-column:3/-1;min-width:0;margin:0;max-width:100%;width:100%}.route-tasks .team-task-board .task-row>.status-badge{grid-column:3/-1;justify-self:start}.route-tasks .team-task-board .task-row[data-task-urgent="1"]{border-inline-start-color:#d55860!important}.route-tasks .team-task-board .task-row[data-task-overdue="1"]:not([data-task-urgent="1"]){border-inline-start-color:#d99a41!important}.task-planning-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.task-planning-summary>button{padding:18px;text-align:start;border:1px solid var(--line);background:var(--surface);border-radius:16px;display:grid;gap:10px;cursor:pointer;color:var(--text)}.task-planning-summary>button:hover{border-color:var(--primary);box-shadow:var(--workspace-shadow)}.task-planning-summary>button[aria-pressed=true]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,var(--surface))}.task-planning-summary span{font-size:12px}.task-planning-summary strong{font-size:28px;font-weight:600;line-height:1.25}.task-planning-summary button[data-summary-filter=urgent] strong{color:#bf4654}.task-planning-summary button[data-summary-filter=waiting] strong{color:#b47c26}.tasks-toolbar .task-search{min-width:220px;max-width:none}.tasks-toolbar .segmented{flex:1 0 100%}.tasks-toolbar .segmented button{flex:1}.person-tasks>header{background:var(--bg);border-radius:18px 18px 0 0}.personal-tasks-v2 .panel-head h2{font-size:15px!important}.personal-tasks-v2 .panel-head p{font-size:11px!important}
/* Dashboard, projects, client infrastructure, and supporting modules share spacing. */
.workspace-dashboard{gap:26px}.dash-kpi{border-radius:16px;padding:22px}.dash-kpi>strong{font-size:32px}.dash-priority-row{padding:20px 0}.project-grid,.access-grid{gap:22px}.project-card,.access-site{overflow:hidden}.project-card:hover,.access-site:hover{border-color:color-mix(in srgb,var(--primary) 32%,var(--line));box-shadow:0 8px 28px #15294308}.access-site header{padding:22px}.access-site dl{line-height:1.9}.access-site footer{gap:10px}.access-overview{border-radius:20px;background:var(--surface);border:1px solid var(--line)}.access-toolbar{margin-block:24px 12px}.kanban-column-v4{border:1px solid var(--line);border-radius:16px;background:var(--bg)}.kanban-task-v4{border-radius:13px!important;box-shadow:0 2px 5px #15294305!important;padding:18px!important}.kanban-task-v4 h3{line-height:1.9;margin-block:12px 8px}.settings-grid,.settings-tabs-v64,.reports-grid{gap:22px}.empty{min-height:260px;gap:7px}.empty.compact{min-height:160px}.empty strong{font-size:15px;color:var(--text)}.empty span{font-size:12px;line-height:2}.alert{padding:16px 20px;border-radius:13px;line-height:1.9}
html[data-theme=dark] .task-planning-summary>button{background:var(--surface);color:var(--text)}html[data-theme=dark] .task-planning-summary strong{color:#bdcaff}html[data-theme=dark] .task-planning-summary button[data-summary-filter=urgent] strong{color:#ffadb6}html[data-theme=dark] .task-planning-summary button[data-summary-filter=waiting] strong{color:#f3cc8a}html[data-theme=dark] .person-tasks>header{background:var(--bg)}
@media(max-width:1150px){.tasks-v2{grid-template-columns:minmax(0,1fr)!important}.personal-tasks-v2{position:static;order:1}.dash-layout{grid-template-columns:1fr}.task-planning-summary>button{padding:15px}.topbar{gap:10px}.global-search kbd{display:none}}
@media(max-width:900px){.sidebar-head{justify-content:space-between}.sidebar-search{flex:none}.app-page .content{padding:24px 20px 40px}.page-head h1{font-size:24px}}
@media(max-width:600px){.app-page .content{padding:24px 14px 32px}.topbar{position:relative;min-height:72px;height:auto}.app-page .page-head{align-items:flex-start;gap:14px;margin-bottom:24px}.page-head h1{font-size:23px}.workspace-breadcrumb{font-size:10px}.page-head p{font-size:12px}.task-planning-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.task-planning-summary>button:first-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.task-planning-summary>button{padding:16px;gap:8px}.task-planning-summary strong{font-size:25px}.tasks-toolbar{gap:10px}.tasks-toolbar .task-search{flex:1 0 100%;width:100%}.tasks-toolbar>.btn{flex:1}.route-tasks .team-task-board .task-row{grid-template-columns:22px 6px minmax(0,1fr) auto auto;gap:9px!important;padding:16px 12px!important}.route-tasks .team-task-board .task-row>.task-signals{grid-column:1/-1}.route-tasks .team-task-board .task-row>time{grid-column:1/4}.route-tasks .team-task-board .task-row>.subtasks-v67{grid-column:1/-1}.task-signal{font-size:10px!important}.panel-head,.app-page .panel-head{padding:18px}.table-toolbar,.app-page .table-toolbar{padding:16px}.responsive-table td{padding:14px}.project-grid,.access-grid{gap:16px}.modal-footer{flex-wrap:wrap}.modal-footer .btn{flex:1}.dash-welcome{align-items:flex-start;gap:16px}.dash-welcome h2{font-size:23px}.dash-kpis{gap:10px}.dash-kpi{padding:17px}.dash-kpi>strong{font-size:27px}.access-overview{padding:20px}}
@media(prefers-reduced-motion:reduce){.app-page *,dialog *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(prefers-contrast:more){.panel,.nav-item,.btn,.ui-field input,.select2-selection{border-color:var(--text)!important}.workspace-breadcrumb,.nav-title{opacity:1}}
.app-page .row-action.danger{color:#b83d4a;border-color:color-mix(in srgb,#b83d4a 24%,var(--line))}.app-page .row-action.danger:hover{background:#b83d4a12}
@media(max-width:600px){.mobile-record-table table,.mobile-record-table tbody{display:block;width:100%;min-width:0!important}.mobile-record-table thead{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.mobile-record-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr);padding:12px 16px;border-bottom:1px solid var(--line)}.mobile-record-table tbody tr:last-child{border-bottom:0}.mobile-record-table tbody td{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:10px 0;border:0;white-space:normal!important;overflow-wrap:anywhere;text-align:end}.mobile-record-table tbody td:before{content:attr(data-column-label);font-size:11px;color:var(--muted);flex-shrink:0;direction:rtl}.mobile-record-table tbody td:first-child{flex-wrap:wrap}.mobile-record-table tbody td:first-child small{flex-basis:100%;font-size:11px}.mobile-record-table tbody td.ltr{direction:rtl}.mobile-record-table tbody td a{overflow-wrap:anywhere;min-width:0}.mobile-record-table tbody td:last-child{flex-wrap:wrap;justify-content:flex-end;border-top:1px solid var(--line);margin-top:6px;padding-top:14px}.mobile-record-table tbody td:last-child:before{margin-inline-end:auto}.mobile-record-table tbody tr[hidden]{display:none!important}}
@media(max-width:600px){.tasks-toolbar .segmented button{flex:1 0 30%;min-height:39px}.global-search{max-width:none}.workspace-breadcrumb{margin-bottom:8px}}
.route-tasks .team-task-board .task-row>form.task-reopen{grid-column:3/-1;grid-row:auto;justify-self:start;order:5}.task-reopen .btn{font-size:12px!important;min-height:36px}.route-tasks .team-task-board .task-row>.task-edit-v61{font-size:12px!important;width:auto!important}.route-tasks .team-task-board .task-row>.task-edit-v61.task-edit-icon-v617{font-size:18px!important}
@media(max-width:600px){.route-tasks .team-task-board .task-row>form.task-reopen{grid-column:1/-1}}
/* Compact task workspace: one quiet row, explicit actions, restrained status color. */
.route-tasks .task-planning-summary{gap:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.route-tasks .task-planning-summary>button{border:0;border-inline-end:1px solid var(--line);border-radius:0;padding:16px 18px;gap:7px;background:transparent}.route-tasks .task-planning-summary>button:last-child{border-inline-end:0}.route-tasks .task-planning-summary strong{font-size:23px}.route-tasks .task-planning-summary span{font-size:11px}.route-tasks .task-planning-summary>button[aria-pressed=true]{box-shadow:inset 0 -2px var(--primary);background:var(--primary-soft)}.route-tasks .tasks-v2{gap:20px!important}.route-tasks .person-tasks>header{padding:15px 20px!important;background:var(--surface);border-bottom:1px solid var(--line)}.route-tasks .person-tasks>header h3{font-size:13px;margin:0}.route-tasks .person-tasks>header .avatar{width:32px;height:32px;border-radius:10px}.route-tasks .team-task-board .task-row.task-item{grid-template-columns:24px minmax(0,1fr);gap:10px 12px!important;padding:18px 20px!important;background:var(--surface)!important;border-inline-start:0!important;border-bottom:1px solid var(--line);align-items:start}.route-tasks .team-task-board .task-row.task-item:last-child{border-bottom:0}.route-tasks .team-task-board .task-item>.task-item-toggle,.task-item-readonly{grid-column:1;grid-row:1;margin-top:4px}.task-item-readonly{color:var(--muted);text-align:center}.route-tasks .team-task-board .task-item>.task-item-body{grid-column:2;grid-row:1;min-width:0;display:grid;gap:7px}.task-item-heading{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.task-item-heading strong{font-size:13px!important;font-weight:500;line-height:1.9;overflow-wrap:anywhere}.task-item-heading .status-badge{font-size:10px!important;flex:none;line-height:1.7;padding:3px 7px}.task-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:var(--muted)}.task-item-meta span,.task-item-meta time{font-size:11px!important}.task-item-meta .is-overdue{color:#b96036!important}.route-tasks .team-task-board .task-item .task-signals{padding:0;gap:5px;flex-direction:row;min-width:0}.task-item .task-signal{font-size:10px!important;padding:2px 7px}.route-tasks .team-task-board .task-item>.task-item-actions{grid-column:2;grid-row:2;display:flex;flex-direction:row;gap:8px;min-width:0;justify-content:flex-end;flex-wrap:wrap}.task-item-actions .row-action{min-height:32px;font-size:11px!important;padding:5px 10px;box-shadow:none}.task-item-actions form{margin:0}.route-tasks .team-task-board .task-item>.subtasks-v67{grid-column:2;min-width:0;margin:0;max-width:100%}.route-tasks .task-item[data-task-status=done] .task-item-heading strong{color:var(--muted)}.route-tasks .personal-tasks-v2{box-shadow:none}.route-tasks .personal-tasks-v2 .empty.compact{min-height:100px}.route-tasks .personal-archive-v69{margin-top:20px}
@media(max-width:600px){.route-tasks .task-planning-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.route-tasks .task-planning-summary>button{border-bottom:1px solid var(--line);padding:13px 16px}.route-tasks .task-planning-summary>button:first-child{grid-column:1/-1}.route-tasks .team-task-board .task-row.task-item{padding:16px 12px!important;gap:8px 10px!important}.task-item-heading{gap:8px}.task-item-heading strong{font-size:13px!important}.route-tasks .team-task-board .task-item>.task-item-actions{justify-content:flex-start}.route-tasks .task-item-actions .row-action{min-height:38px}.task-item-meta{gap:5px}}
html[data-theme=dark] .route-tasks .task-planning-summary>button[aria-pressed=true]{background:color-mix(in srgb,var(--primary) 18%,var(--surface));color:var(--text)}
