/* Geometry from demo responsive.css/responsive.js: 600px side allowance,
   1600px center cap, 1800/1200/700 viewport and 850/580 container breakpoints. */
.workspace{transition:background-color .28s ease}
body.has-background.background-uncovered .workspace{background:transparent}
.appearance-settings{display:grid;gap:0;border-top:1px solid var(--line);margin-top:18px}
.appearance-setting{justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer}
.appearance-setting>span{display:grid;gap:4px;min-width:0}
.appearance-setting strong{font-weight:550;color:var(--text)}
.appearance-setting small{font-size:11px;line-height:1.5}
/* Native inputs retain their form values, labels, and keyboard semantics. */
input[type=checkbox]:not(:where(.form-check input,.drawing-controls input,.file-manager-list input,.deadline-time-choice input)){appearance:none;-webkit-appearance:none;position:relative;flex:none;width:36px;height:21px;min-width:36px;margin:0;padding:0;border:1px solid var(--line);border-radius:20px;background:var(--field);cursor:pointer;transition:background .18s,border-color .18s}
input[type=checkbox]:not(:where(.form-check input,.drawing-controls input,.file-manager-list input,.deadline-time-choice input))::after{content:'';position:absolute;left:3px;top:3px;width:13px;height:13px;border-radius:50%;background:var(--muted);transition:transform .18s,background .18s}
input[type=checkbox]:not(:where(.form-check input,.drawing-controls input,.file-manager-list input,.deadline-time-choice input)):checked{background:color-mix(in srgb,var(--green) 24%,var(--panel));border-color:color-mix(in srgb,var(--green) 60%,var(--line))}
input[type=checkbox]:not(:where(.form-check input,.drawing-controls input,.file-manager-list input,.deadline-time-choice input)):checked::after{transform:translateX(15px);background:var(--green)}
input[type=checkbox]:not(:where(.form-check input,.drawing-controls input,.file-manager-list input,.deadline-time-choice input)):disabled{opacity:.45;cursor:default}
input[type=checkbox]:not(:where(.form-check input,.drawing-controls input,.file-manager-list input,.deadline-time-choice input)):focus-visible{outline:2px solid var(--muted);outline-offset:3px}
.check{min-height:36px;cursor:pointer}
input[type=radio]:not(.priority-picker input){appearance:none;width:18px;height:18px;min-width:18px;padding:3px;border:1px solid var(--muted);border-radius:50%;background:var(--field);background-clip:content-box;cursor:pointer}
input[type=radio]:not(.priority-picker input):checked{background-color:var(--green);border-color:var(--green)}
/* Compact checkboxes use their own checkmark, never a switch thumb. */
:is(.form-check,.drawing-controls,.file-manager-list,.deadline-time-choice) input[type=checkbox]:focus-visible{outline:2px solid var(--muted);outline-offset:3px}
input[type=radio]:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--muted);outline-offset:3px}
.priority-picker label:focus-within{outline:none}
.priority-picker label:has(input:focus-visible){outline:2px solid var(--muted);outline-offset:2px}
.tabs button,.rail-tabs button,.chat-audience button{transition:background .18s,color .18s,box-shadow .18s}
.tabs button[aria-pressed=true],.rail-tabs button[aria-pressed=true],.chat-audience button.active{box-shadow:inset 0 0 0 1px var(--line);background:var(--hover)}
select{min-height:38px;cursor:pointer}input[type=date],input[type=datetime-local],input[type=time]{color-scheme:dark;font-weight:500;cursor:text}
body.light input[type=date],body.light input[type=datetime-local],body.light input[type=time]{color-scheme:light}
input::-webkit-calendar-picker-indicator{opacity:.65;cursor:pointer;padding:3px;border-radius:4px}input::-webkit-calendar-picker-indicator:hover{opacity:1;background-color:var(--hover)}
input[type=file]::file-selector-button{transition:background .18s;cursor:pointer}input[type=file]::file-selector-button:hover{background:var(--hover)}
.client-team summary{padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--field)}.client-team summary:hover{background:var(--hover)}
.client-team summary::-webkit-details-marker{display:none}
input[type=range]{accent-color:var(--muted);cursor:pointer}

body[data-page=tasks] .workspace{padding:16px 24px 10px}
.employee-space{position:relative;display:block;min-width:0;min-height:0;flex:1}
.staff-main{height:100%;width:100%;margin:0 auto;--board-size:48%}
/* Leave some air around the board and open task without squeezing small screens. */
@media(min-width:1000px) and (max-width:1199px){
 .staff-main,.task-search-row{width:calc(100% - 24px);margin-left:auto;margin-right:auto}
}
@media(min-width:1200px) and (max-width:1799px){
 .staff-main,.task-search-row{width:calc(100% - 48px);margin-left:auto;margin-right:auto}
}
#task-stage{container-type:inline-size;padding:9px 18px 18px;border-radius:6px}
#task-list .board{grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px;min-width:0;overflow-x:auto}
.task-splitter{height:14px;min-height:14px}
.mobile-tree-launch{display:none!important}
.work-viewport #work-tools{flex:0 0 39.4%;min-width:240px}
.client-space{max-width:1600px}
@media(min-width:1800px){
 .staff-main,.task-search-row{width:calc(100% - 760px);max-width:1440px;margin-left:auto;margin-right:auto}
 #task-list .board{gap:20px}
}
@media(max-width:1799px){
 .employee-space .rail-cards{flex-direction:column}
 .employee-space .rail-cards .task-card{width:100%;height:158px;min-height:158px}
 .employee-space .rail-cards .card-actions{display:flex}
}
@container(min-width:581px){
 .workspace-viewport.work-viewport{flex-direction:row}
 .work-viewport #work-tools{border-top:0;border-left:1px solid var(--line);padding:0 0 0 14px;overflow:auto}
 #task-panel>.stack{grid-template-columns:minmax(0,1fr) minmax(195px,31%);height:100%}
 #task-panel>.stack>form{height:100%;min-height:0}
 #task-panel>.stack>div:last-child{height:100%;min-height:0}
 #task-panel>.stack>h2~div:last-child{grid-column:2;grid-row:1 / span 2}
}
@container(max-width:850px){
 .task-stage-head{grid-template-columns:1fr auto;gap:8px}
 .task-stage-head .tabs{grid-column:2;grid-row:1;justify-self:end}
 .task-stage-head .tabs button{padding:8px 12px;font-size:13px;min-width:0}
 .task-work-state{grid-row:1;grid-column:1}
 .task-team{grid-row:2;grid-column:2}
 .work-viewport #work-tools{min-width:210px;flex-basis:41%}
}
@container(max-width:580px){
 .task-stage-head{grid-template-columns:1fr auto}
 .task-stage-head .tabs{grid-column:1/-1;grid-row:1;justify-self:stretch}
 .task-stage-head .tabs button{flex:1;padding:8px 6px;font-size:12px}
 .task-work-state,.task-team{grid-row:2}
 #task-panel>.stack{grid-template-columns:1fr;height:auto}
 #task-panel>.stack>form{height:auto;min-height:250px}
 #task-panel>.stack>div:last-child{height:auto;min-height:130px}
 #task-panel>.stack>h2~div:last-child{grid-column:1;grid-row:auto}
 .work-viewport{flex-direction:column;overflow:auto}
 .work-viewport #task-panel{flex:0 0 320px;min-height:280px;overflow:visible}
 .work-viewport #work-tools{flex:0 0 auto;min-height:200px;min-width:0;border-left:0;border-top:1px solid var(--line);padding:12px 0 0;overflow:visible}
}
@media(max-width:1200px){body[data-page=tasks] .workspace{padding:12px 18px 8px}}
@media(max-width:700px){
 body[data-page=tasks] .workspace{padding:10px 12px 8px}
 #task-list .board{grid-template-columns:repeat(3,minmax(230px,1fr));gap:12px;min-width:0}
 .rail-title{font-size:11px;padding:5px 6px}
 .employee-space .rail-tabs{display:flex}
 .employee-space .rail-search{flex-wrap:wrap}.employee-space .rail-search input{min-width:0}
 .employee-space .rail-cards .task-card{height:170px;min-height:170px}
 .employee-space .card-actions{flex-wrap:wrap}.employee-space .card-actions .pause,.employee-space .card-actions .resume{flex-basis:100%}
}
@media(max-height:850px){
 body[data-page=tasks] .workspace{padding-top:10px}
 .task-caption{margin-bottom:6px}
 .workspace-viewport{overflow-y:auto;overflow-x:clip}
 .workspace-viewport.work-viewport>#task-panel{min-height:300px}
}
@media(prefers-reduced-motion:reduce){.workspace,input[type=checkbox],input[type=checkbox]::after,.tabs button,.rail-tabs button,.chat-audience button{transition:none}}

/* Shared outline icons and task fields; neutral surfaces inherit every theme. */
svg.linehaul-icon{width:20px;height:20px;flex:none;display:inline-block;vertical-align:middle;fill:currentColor;stroke:none;stroke-width:0}
body[data-board=hidden] .staff-main>.task-splitter{min-height:0;height:0;pointer-events:none}
.sidebar .nav-mark{display:flex;align-items:center;justify-content:center;font-size:0;min-width:22px}
.sidebar .nav-mark svg{width:21px;height:21px}
.task-trash svg{width:16px;height:16px}.trash-launch{display:grid;place-items:center}
#task-edit>.task-metadata{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.task-timing,.task-application{display:grid;gap:12px;min-width:0}
.task-timing>div>label{display:block;margin-bottom:7px}
.task-timing .priority-picker{margin:0}.task-timing .priority-picker label{padding:9px 10px;font-size:13px}
.entity-picker-trigger{width:100%;min-height:40px;display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;font-size:13px;font-weight:500;padding:10px 12px;background:var(--field);border:1px solid var(--line);border-radius:7px;color:var(--text)}
.entity-picker-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.entity-picker-trigger svg{width:16px;height:16px;opacity:.6}
.entity-picker-trigger:hover{background:var(--hover)}
.entity-picker-popup{position:fixed;inset:auto;margin:0;padding:10px;z-index:1000;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}
.entity-picker-popup:popover-open{display:flex;flex-direction:column;gap:9px}
.entity-picker-popup input{flex:none;min-height:38px;width:100%}
.entity-picker-options{display:flex;flex-direction:column;gap:5px;overflow:auto;min-height:40px}
.entity-picker-options button,.entity-picker-clear{width:100%;flex:none;min-height:39px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;text-align:left;background:var(--field);font-size:13px}
.entity-picker-options button[aria-selected=true]{background:var(--hover);font-weight:600}
.entity-picker-clear{display:flex;align-items:center;gap:8px;color:var(--red);background:color-mix(in srgb,var(--red) 7%,var(--field));border-color:color-mix(in srgb,var(--red) 25%,var(--line))}
.entity-picker-clear:hover{background:color-mix(in srgb,var(--red) 14%,var(--field))}
.entity-picker-options button:focus-visible,.entity-picker-trigger:focus-visible{outline:2px solid var(--muted);outline-offset:1px}
@container(max-width:580px){#task-edit>.task-metadata{grid-template-columns:1fr}.task-application{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:360px){.task-application{grid-template-columns:1fr}.task-timing .priority-picker label{font-size:12px;padding:9px 6px}}
@media(max-width:700px){
}

/* Full-width top bar from the demo; independent of the workspace backdrop. */
body .app-shell>.workspace,body[data-page=tasks] .app-shell>.workspace{padding:0;min-width:0}
.workspace>#content{padding:16px 24px 12px;min-width:0}
.page-head.app-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;height:72px;min-height:72px;flex:0 0 72px;margin:0;padding:12px 24px;position:sticky;top:0;z-index:25;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:0 1px 0 #00000003}
.page-head.app-topbar>.topbar-start{grid-column:1;grid-row:1;display:flex;align-items:center;gap:15px;min-width:0}
.app-topbar .topbar-heading{min-width:0;padding-left:15px;border-left:1px solid var(--line)}
.app-topbar .topbar-heading h1{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:500;line-height:1.4}
.app-topbar>.workspace-views{position:static;transform:none;grid-column:2;grid-row:1;justify-self:center;display:flex;align-items:center;gap:3px;padding:4px;background:var(--field);border:1px solid var(--line);border-radius:8px}
body:not([data-page=tasks]) .app-topbar>.workspace-views,body[data-role=client] .app-topbar>.workspace-views{display:none}
.app-topbar .workspace-views button{width:32px;min-width:32px;height:30px;border-radius:5px;transition:background .18s,color .18s}
.app-topbar .workspace-views button[aria-pressed=true]{background:var(--panel);box-shadow:0 1px 3px #00000018}
.app-topbar>.topbar-actions{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:9px;min-width:0}
.app-topbar .topbar-actions>.icon-button{background:var(--field);border-color:var(--line)}
.topbar-account{display:flex;gap:9px;align-items:center;min-width:0;max-width:210px;padding:4px 7px;border:1px solid transparent;background:transparent;text-align:left;border-radius:7px}
.topbar-account:hover{background:var(--hover);border-color:var(--line)}
.topbar-account .avatar{width:32px;height:32px;background:var(--hover);font-size:11px}
.topbar-account-text{display:grid;gap:2px;min-width:0}.topbar-account-text strong{font-size:12px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-account-text small{font-size:10px;color:var(--muted)}
.app-topbar [data-notifications]{position:relative}.app-topbar #notice-count:not(:empty){position:absolute;right:-4px;top:-5px;min-width:16px;height:16px;border-radius:10px;display:grid;place-items:center;background:var(--red);color:white;font-size:10px;padding:0 3px}
.app-topbar [data-notifications]:hover,.app-topbar [data-task-statistics]:hover{background:var(--hover)}
body[data-board=hidden] .staff-main>.task-splitter{display:none}
.task-statistics-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}
.task-statistics-counts>div{display:grid;gap:9px;background:var(--field);border:1px solid var(--line);border-radius:8px;padding:13px;font-size:12px}.task-statistics-counts strong{font-size:24px;font-weight:550}
.task-statistics-people{display:grid;gap:18px;max-height:45dvh;overflow:auto}.task-statistics-people h3{font-size:13px;margin-bottom:8px}.statistics-task-list{display:grid;gap:5px}
.statistics-task-list>button{display:flex;gap:10px;align-items:center;text-align:left;padding:10px;background:var(--field)}.statistics-task-list strong{display:block;font-weight:500;font-size:12px}.statistics-task-list small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.statistics-task-list .status-dot{background:currentColor;width:7px;height:7px;border-radius:50%;flex:none}.statistics-caption{font-size:12px;line-height:1.5;margin-top:12px}
@media(max-width:1200px){.app-topbar .topbar-account-text{display:none}.page-head.app-topbar{gap:12px}.workspace>#content{padding:12px 18px 10px}}
@media(max-width:700px){
 .page-head.app-topbar{grid-template-columns:36px minmax(0,1fr) auto;height:62px;min-height:62px;flex-basis:62px;padding:10px 12px;gap:6px}
 .app-topbar .topbar-heading{display:none}.app-topbar>.topbar-start{gap:0}
 .app-topbar>.topbar-actions{gap:4px}.app-topbar .topbar-actions>.icon-button{width:30px;min-width:30px;height:32px;padding:6px}
 .app-topbar>.workspace-views{gap:1px;padding:3px}.app-topbar .workspace-views button{width:26px;min-width:26px;height:28px;padding:5px}
 .topbar-account{padding:2px}.topbar-account .avatar{width:27px;height:27px;font-size:10px}
 .workspace>#content{padding:10px 12px 8px}
}
@media(prefers-reduced-motion:reduce){.app-topbar button{transition:none}}
