/* Dream Design System — Figma ynUiVtUAPsEsTEfGMvzKNr.
   Semantic tokens adapt the existing prototype without changing its data model. */
:root {
  --sans:'Inter',Arial,sans-serif; --mono:var(--sans);
  --ink:#1b2533;--ink-2:#4a5565;--ink-3:#6b7787;
  --bg:#ebeff2;--surface:#fff;--surface-2:#f9fbfc;
  --line:#dde3e8;--line-2:#ebeff2;--muted:#4a5565;--muted-2:#6b7787;
  --accent:#0f766e;--accent-hover:#0e5f59;--accent-soft:#f0faf9;--accent-line:#9dded7;--on-accent:#fff;
  --red:#a62b24;--red-soft:#fdedec;--amber:#ae6b10;--amber-soft:#faeed2;--amber-ink:#583606;
  --green:#0e5f59;--green-soft:#c9efeb;--blue:#244b91;--blue-soft:#d4e2fc;--gray-soft:#ebeff2;
  --side-bg:#1b2533;--side-fg:#dde3e8;--side-fg-strong:#fff;--side-grp:#c4cdd6;
  --side-hover:#1f2a38;--side-active:#1f2a38;--side-line:#34404f;--side-av:#f9fbfc;
  --row-hover:#f0faf9;--line-hover:#98a5b3;--r:8px;--r-sm:8px;--r-lg:12px;
  --shadow:0 2px 4px rgba(20,28,42,.08);--shadow-lg:0 12px 32px rgba(20,28,42,.16);
  --control-h:36px;--control-h-sm:32px;
}
:root[data-theme="dark"]{
  --ink:#f9fbfc;--ink-2:#c4cdd6;--ink-3:#98a5b3;
  --bg:#141d29;--surface:#1b2533;--surface-2:#1f2a38;
  --line:#4a5565;--line-2:#34404f;--muted:#c4cdd6;--muted-2:#98a5b3;
  --accent:#62c8bd;--accent-hover:#9dded7;--accent-soft:#123e3b;--accent-line:#0f766e;--on-accent:#141d29;
  --red:#fdedec;--red-soft:#a62b24;--amber:#f5d493;--amber-soft:#ae6b10;--amber-ink:#fcf8f0;
  --green:#f0faf9;--green-soft:#0e5f59;--blue:#eaf1ff;--blue-soft:#244b91;--gray-soft:#4a5565;
  --row-hover:#263544;--shadow:0 2px 4px rgba(0,0,0,.15);
  --side-bg:#1b2533;--side-active:#1f2a38;--side-hover:#263544;--side-line:#34404f;
}
html{color-scheme:light}html[data-theme="dark"]{color-scheme:dark}
body{font-size:14px;line-height:1.4}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{outline-offset:3px}
:focus-visible{outline:2px solid var(--accent)}
input::placeholder,textarea::placeholder{color:#98a5b3;opacity:1}
.dark-icon{display:none!important}:root[data-theme="dark"] .light-icon{display:none!important}:root[data-theme="dark"] .dark-icon{display:block!important}
.app{grid-template-columns:236px minmax(0,1fr)}
.side{border-right:1px solid var(--line-2)}
.brand{padding:16px 12px 0;gap:12px;min-height:60px}
.brand .mark{width:32px;height:32px;border-radius:6px;font-size:16px;font-weight:800;color:var(--on-accent)}
.brand .name{font-size:14px;line-height:20px;letter-spacing:0}
.brand .sub{font-size:11px;line-height:14px;font-weight:500;text-transform:none;letter-spacing:0;color:#dde3e8;margin-top:2px}
.nav{padding:20px 12px;scrollbar-gutter:auto}
.nav .grp{font-size:11px;line-height:14px;text-transform:none;letter-spacing:0;font-weight:500;padding:4px 0 8px}
.nav .ref-grp{margin-top:16px}
.nav a{min-height:44px;padding:10px 12px;gap:12px;font-size:14px;line-height:18px;font-weight:600;border-radius:8px;margin-bottom:4px}
.nav a .ic{width:24px;height:24px;display:grid;place-items:center;flex:none;font-size:22px;opacity:1}
.nav a .ic img{display:block}
.nav a .badge{background:var(--green-soft);color:var(--green);padding:2px 8px;font-size:10px;line-height:12px}
.side .me{padding:12px;gap:10px;min-height:64px}
.side .me .av{width:32px;height:32px;background:#f9fbfc;border:1px solid #dde3e8;color:#6b7787;font-size:12px;font-weight:500}
.side .me .who{font-size:13px;line-height:16px;font-weight:600}
.side .me .who small{font-size:11px;line-height:14px;font-weight:500;margin-top:2px}
.side .me .logout{width:28px;height:32px;border-color:#98a5b3;border-radius:8px}
.topbar{height:56px;padding:8px 24px;gap:16px;border-color:var(--line-2)}
.nav-toggle,.theme-btn{height:40px;min-width:40px;width:40px;border-radius:8px;background:var(--surface);border-color:var(--line);padding:8px;display:flex;align-items:center;justify-content:center}
.topbar .nav-toggle{width:40px;min-width:40px;padding:8px 12px}
.topbar .nav-toggle img{flex:none}
.topbar .crumb,.page-crumb-title{font-size:13px!important;line-height:16px;font-weight:600}
.topbar .search{max-width:340px;flex-basis:340px}
.topbar .search input{height:40px;padding:8px 30px 8px 8px;font-size:14px;background:var(--surface)}
.topbar .btn.pri{height:36px;gap:4px;padding:8px 12px;font-size:14px}
.content{padding:24px;scrollbar-gutter:stable}
.page-h{margin:0 0 16px;min-height:36px;align-items:center}
h1,.page-h h1{font-size:20px;line-height:28px;font-weight:600;letter-spacing:0}
.btn{border-radius:8px;font-size:14px;line-height:18px;font-weight:600;gap:4px;height:36px;min-height:36px;padding:8px 12px}
.btn.sm{font-size:12px;line-height:16px;padding:8px;height:32px;min-height:32px}
.btn.pri,.pager button.on{color:var(--on-accent)}
.btn.ghost-danger{border:.5px solid #a62b24;color:#a62b24;background:transparent}
:root[data-theme="dark"] .btn.ghost-danger{color:#f6b5b0;border-color:#a62b24}
.chip,.pill,.mini-status,.edone{border:0;border-radius:999px;font-size:12px;line-height:16px;font-weight:500;padding:4px 9px}
.chip.pif,.pill.s-done,.pill.s-work{background:var(--green-soft);color:var(--green)}
.pill.s-new{background:var(--blue-soft);color:var(--blue)}
.pill.s-pause{background:var(--amber-soft);color:var(--amber-ink)}
.urg{font-size:14px;font-weight:400}.urg.low{color:var(--ink-2)}
.registry-filter-panel{padding:20px;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin-bottom:16px}
.registry-filter-panel .registry-filter-item{gap:4px;flex:1 1 145px;min-width:130px}
.registry-filter-panel .registry-filter-search{flex:2.4 1 300px}
.registry-filter-item>span,.registry-filter-panel .ms-field-label{font-size:12px;font-weight:500;padding-left:8px;color:var(--ink-2)}
.registry-filter-panel input,.registry-filter-panel select,.registry-filter-panel .ms-control,.registry-filter-panel .ui-select-control{height:40px;min-height:40px;border-radius:8px;padding:8px;font-size:14px;background:var(--surface);border-color:var(--line)}
.registry-filter-panel .registry-filter-item>input{height:var(--control-h);min-height:var(--control-h)!important;flex:0 0 var(--control-h);padding:8px!important;border-radius:var(--r);font-weight:400}
.registry-filter-reset{height:32px;min-height:32px!important;font-size:12px!important;margin-left:0}
.tablewrap{border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
table.grid{font-size:14px}table.grid th{background:var(--surface-2);font-size:14px;line-height:18px;font-weight:600;color:var(--ink);text-transform:none;letter-spacing:0;padding:12px 24px}
table.grid td{padding:12px 24px;line-height:18px;min-height:60px}.tname{font-weight:400}.id-cell{font-size:14px;color:var(--ink);font-weight:400}
table.grid td.table-short-value,table.grid td.table-short-value .tname{white-space:nowrap!important}
#taskRelRows .related-task-link{color:inherit;text-decoration:none}
#taskRelRows .related-task-link:hover{text-decoration:underline}
#listScreen .tablewrap{overflow-x:auto}#listScreen table.grid{min-width:1100px}
#listScreen table.grid th:nth-child(2){width:248px}#listScreen table.grid td:nth-child(2){min-width:230px}#listScreen table.grid td:nth-child(4){min-width:230px}
#listScreen .cell-edit{padding:0;border:0}
.tfoot{font-size:12px;min-height:56px;padding:12px 16px;background:var(--surface);flex-wrap:wrap;gap:8px}
.dhead{padding:16px;border:1px solid var(--line-2);border-radius:8px;margin-bottom:24px;box-shadow:var(--shadow)}
.dhead .top{align-items:center;min-height:40px}.dhead h1{font-size:20px;line-height:28px;letter-spacing:0}.dhead .eyebrow{display:none}
.task-heading{display:flex;gap:12px;align-items:center}.task-back{display:grid;place-items:center;background:none;border:none;width:20px;height:24px;padding:0;flex:none}.task-back img{display:block;width:17px;height:16px}
:root[data-theme="dark"] .task-back img,:root[data-theme="dark"] .sub-master .btn img{filter:brightness(0) invert(.85)}
.dmeta{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;margin-top:24px}
.dmeta.dmeta6{grid-template-columns:1.8fr 1.8fr repeat(4,1fr)}.dmeta .m{padding:12px 16px}.dmeta .m label{font-size:11px;line-height:14px;font-weight:500;letter-spacing:0;color:var(--muted-2)}.dmeta .m .v{font-size:12px;line-height:18px}.dmeta .av-s{display:none}
.card{border:1px solid var(--line-2);border-radius:8px;box-shadow:var(--shadow)}
.tabs{gap:0;min-height:44px;margin-bottom:16px;border-color:var(--line-2);padding:0;background:var(--surface)}
.tabs button{padding:12px;gap:8px;font-size:14px;line-height:18px;font-weight:500;color:var(--ink);border-radius:0}
.tabs button.on{font-weight:500}.tabs button .tc,.tabs button.on .tc{background:none;padding:0;border-radius:0;font-size:14px;line-height:18px;color:inherit;font-weight:500}.tabs button .tc.is-zero{opacity:1;color:inherit}
.tabpanel{padding:0 16px 16px;background:var(--surface-2)}.tabpanel .ttool{padding-top:8px}
.task-prog{padding:16px;margin:0}.tp-lbl{text-transform:none;font-size:12px;font-weight:400;letter-spacing:0}.tp-row{font-size:12px;gap:12px}.tp-row .pbar{height:8px}
.sub-master{display:grid;grid-template-columns:minmax(300px,40%) minmax(0,1fr);gap:24px;align-items:start}
.sub-master-list{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0}
.sub-list-title{gap:12px;font-size:12px;color:var(--ink-2);margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}
.sub-stage{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;position:relative}
.sub-stage:not(:last-child):before{content:'';position:absolute;top:20px;bottom:-20px;left:11px;border-left:1px solid var(--line)}
.sub-stage.done:not(:last-child):before{border-left-color:var(--accent)}
.sub-stage-number{display:grid;place-items:center;border-radius:50%;width:24px;height:24px;margin-top:8px;background:var(--line-2);font-size:12px;position:relative;z-index:1}.sub-stage-number.done{background:var(--accent);color:var(--on-accent)}
.sub-stage-cards{min-width:0;padding-bottom:12px}
.sub-stage-number svg{display:block}
.rowdel,.rowdel.tiny{display:inline-grid;place-items:center;flex:none;width:16px;height:16px;min-width:16px;padding:0;margin-top:0;border:0;border-radius:4px;font-size:0;line-height:1;vertical-align:middle;background:transparent url('../assets/icons/events-delete-icon.svg') center/16px 16px no-repeat}
.rowdel:hover{background:var(--red-soft) url('../assets/icons/events-delete-icon.svg') center/16px 16px no-repeat}
.sub-list-card{display:block;width:100%;text-align:left;border:0;border-left:1px solid transparent;border-bottom:1px solid var(--line-2);border-radius:4px;background:var(--surface);padding:12px;color:var(--ink);cursor:pointer}
.sub-list-card[aria-current="true"]{border-left-color:var(--accent);background:var(--surface-2)}.sub-list-card:hover{background:var(--row-hover)}
.sub-list-date{font-size:11px;line-height:14px;color:var(--muted-2);margin-bottom:4px}.sub-list-date.overdue{color:#a62b24}
.sub-list-title-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:14px;font-weight:600;line-height:20px}
.sub-list-title-row .sub-list-parallel{margin-left:auto;font-size:11px;background:var(--gray-soft);color:var(--ink-2);flex-shrink:0}
.sub-list-people{display:flex;gap:16px;margin-top:12px;font-size:12px;color:var(--ink-2)}
.sub-list-people>span{padding:4px 8px;border:.5px solid var(--line);border-radius:4px;min-width:0;overflow-wrap:anywhere}
.sub-list-people small{display:block;font-size:10px;line-height:14px;color:var(--muted-2);text-transform:uppercase}
.sub-master-detail{padding:16px;border:1px solid var(--line-2);border-left:2px solid var(--accent);background:var(--surface);border-radius:8px;box-shadow:var(--shadow);min-width:0}
.sub-master-detail[data-status="pause"]{border-left-color:var(--amber)}.sub-master-detail h2{font-size:16px;line-height:24px;font-weight:600;margin:0 0 16px}
.sub-master-detail .sd-top{padding:0 0 16px;border:0}.sub-master-detail .sd-cols{display:flex;flex-direction:column;gap:16px}.sub-master-detail .sd-col{width:100%}
.sub-master-detail .sd-col:first-child{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.sub-master-detail .sp-sec{background:var(--surface-2);padding:12px!important;border:0;border-radius:4px;margin:0}
.sub-master-detail .sd-col:first-child .sp-sec:last-child{grid-column:1;grid-row:1}
.sub-master-detail .sd-col:first-child .sp-sec:not(:last-child){grid-column:2}
.sub-master-detail .lbl{font-size:11px;font-weight:500;text-transform:uppercase;color:var(--muted-2);margin-bottom:8px}
.sub-master-detail .appr{padding:4px 0;gap:10px;border:0;align-items:flex-start}.sub-master-detail .an{font-size:14px;font-weight:400}.sub-master-detail .ameta{font-size:11px;line-height:14px}
.sub-master-detail .ck{width:20px;height:20px;border-radius:0;flex:none}.sub-master-detail .ck.on{background:var(--accent)}
.sub-master-detail .sd-col:last-child{background:var(--surface-2);padding:12px;border-radius:4px;display:flex;flex-direction:column;gap:12px}
.sub-master-detail .sd-col:last-child .sp-sec{display:contents}.sub-master-detail .sd-col:last-child .lbl{order:-2}.sub-master-detail .cmt-input{order:-1;display:flex;margin:0;gap:8px}.sub-master-detail .cmt-input textarea{height:40px;min-height:40px;resize:vertical;flex:1}.sub-master-detail .cmt{background:var(--surface);border:0;border-radius:4px;padding:12px;margin:0}.sub-master-detail .av-c{display:none}.sub-master-detail .cmeta{font-size:11px}.sub-master-detail .ctext{font-size:12px}
.sub-master-detail .ik-box{background:transparent;border:0;padding:0;font-size:12px}.sub-master-detail .sd-top .row>a{padding:8px;border:.5px solid #a62b24;border-radius:8px;color:#a62b24;font-size:12px}
.schedule-filters{padding:20px;border:1px solid var(--line);border-radius:12px;gap:20px;background:var(--surface);box-shadow:var(--shadow);margin-bottom:28px;grid-template-columns:1.6fr 1fr 1fr 1fr}
.schedule-filters .filter-caption{font-size:12px;line-height:16px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink-2);padding-left:8px;height:auto;margin-bottom:8px}
.schedule-filters input,.schedule-filters .ui-select-control,.schedule-filters .ms-control{height:40px;min-height:40px;border-radius:8px;background:var(--surface);font-size:14px;padding:8px}
.schedule-filters .schedule-search-line{display:block}.schedule-filters .schedule-search input{width:100%}
.schedule-filters .schedule-period label,.schedule-filters .schedule-kind>label{height:40px;grid-template-columns:20px minmax(0,1fr);margin-bottom:8px}
.schedule-filters .schedule-kind .filter-ms{height:auto;display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:16px}
.schedule-filters .schedule-kind .ms-value{font-size:14px}.schedule-filters .schedule-kind .ms-field-label{padding-left:8px;font-size:12px}
.schedule-shortcuts{gap:8px;margin-top:24px;flex-wrap:wrap}.schedule-shortcuts .btn{font-size:12px;padding:8px;min-height:32px}
.schedule-summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:14px;margin:0 0 24px;font-weight:600}.schedule-summary b{color:var(--accent);font-weight:600}.schedule-summary>span{color:var(--muted-2);font-weight:400}
.daygroup{margin-bottom:32px}.dayhead{gap:16px;margin-bottom:16px}.dayhead .dd{font-size:20px;font-weight:600;line-height:28px;color:var(--ink)}.dayhead .dcnt{font-size:14px;color:var(--ink-2)}
#scheduleScreen .feed{gap:16px}#scheduleScreen .schedule-entry{padding:12px;border:0!important;background:var(--surface);box-shadow:none;border-radius:8px;margin-bottom:16px}
.schedule-entry-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between}.schedule-entry-primary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;line-height:20px}
.schedule-entry-primary .schedule-entry-kind{font-size:16px;line-height:24px;font-weight:600;white-space:normal}.schedule-entry-date,.schedule-entry-time{font-size:11px;color:var(--muted-2)}
.schedule-entry-primary>.schedule-entry-person{background:var(--gray-soft);padding:2px 12px;border-radius:999px;color:var(--ink-2)}
.schedule-entry-state{display:flex;align-items:center;gap:8px}.schedule-entry-state .edone{font-size:12px;padding:4px 10px;line-height:16px}.schedule-place{background:var(--gray-soft);color:var(--ink-2);font-size:11px;border-radius:999px;padding:4px 10px;line-height:16px;height:auto}.schedule-place:empty{display:none}
.edone.over{background:var(--red-soft);color:var(--red)}.edone.n{background:var(--amber-soft);color:var(--amber-ink)}.edone.y{background:var(--green-soft);color:var(--green)}
#scheduleScreen .schedule-entry .ereport{font-size:14px;color:var(--ink-2);margin:6px 0 12px;line-height:20px;max-height:none;white-space:normal}
.schedule-context{display:flex;flex-wrap:wrap;gap:16px}.schedule-context .ctx{border:.5px solid var(--line);background:var(--surface-2);border-radius:4px;padding:4px 8px;flex:0 1 auto;min-width:0;max-width:40%}.schedule-context .ctx>span{font-size:11px;line-height:14px;letter-spacing:0}.schedule-context .ctx b>span{font-size:14px;font-weight:500;line-height:20px}
.event-split,#clEventFeed .event-split{grid-template-columns:minmax(280px,32%) minmax(0,1fr);gap:16px;align-items:start}
.event-list{padding:8px;border-color:var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}
.event-row,#clEventFeed .event-row{display:flex;flex-direction:column;gap:8px;padding:12px;margin-bottom:8px;border-left-width:1px;border-radius:8px;background:var(--surface)}
.event-row.on{background:var(--surface-2);box-shadow:none}.event-row.on .event-titleline .etype{color:var(--ink)}.event-date{font-size:11px;line-height:14px}.event-date br{display:none}.event-titleline{flex-wrap:wrap}.event-titleline .etype,#clEventFeed .event-titleline .etype{font-size:14px}.event-snippet{font-size:12px;line-height:16px}.event-meta{font-size:12px}.event-meta span{padding:4px 8px;background:var(--surface-2);border:.5px solid var(--line);border-radius:4px;white-space:normal!important}
.event-detail .event{border-left-width:2px}.client-event-card{padding:16px!important}.client-event-card .ev-block{padding:12px;background:var(--surface-2);border-radius:4px;margin-top:16px}.client-event-card .event-person-row,.client-event-card .ev-rel-row{padding:4px 8px;background:var(--surface);font-size:12px}.client-event-card .rowdel.tiny{flex:none}.client-event-card .event-comment{background:var(--surface);padding:12px;margin-top:8px;border:0}.client-event-card .evsec-h{font-size:11px;color:var(--muted-2)}
.client-event-actions{position:static;gap:12px;padding:0 0 16px}.client-event-actions .event-archive{margin-left:0}.client-event-card h3{font-size:16px;line-height:24px}
#taskEventFilters .registry-filter-panel{display:flex;flex-wrap:wrap;align-items:end;margin:0 0 16px}
#taskEventFilters label{display:flex;flex-direction:column;gap:4px;flex:1;min-width:150px;font-size:12px;color:var(--ink-2)}#taskEventFilters label:first-child{flex:2}
#taskEventFilters input,#taskEventFilters select{width:100%;height:40px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px}
#taskEventFilters .event-period-actions{display:flex;gap:8px;flex-wrap:wrap;width:100%;align-items:center}
#taskEventFeed .event-list{display:flex;flex-direction:column;height:auto;overflow:hidden;padding:0}
#taskEventFeed .event-list-head{position:static;flex:none;padding:16px 12px;border:0;background:var(--surface)}
#taskEventFeed .event-list-items{min-height:0;overflow:auto;padding:0 8px 8px}
:root[data-theme="dark"] .card,:root[data-theme="dark"] .event,:root[data-theme="dark"] .tablewrap,:root[data-theme="dark"] .event-list{background:var(--surface);border-color:var(--line-2)}
.b2b-workspace .tabs{border-radius:8px;padding:0;border-color:var(--line-2)}.b2b-workspace .tabs button{border-radius:0;border-bottom:2px solid transparent}.b2b-workspace .tabs button.on{background:none;border-bottom-color:var(--accent)}
.ui-select-control,.ms-control,.cell,.winput,.wselect{border-radius:8px}.ui-select-option:hover{background:var(--accent-soft)}
/* Single and multiple filters share the field height and 8px icon inset. */
.registry-filter-panel .registry-filter-item>.ui-select .ui-select-control{height:40px;min-height:40px}
.ms-control{font-weight:400}
.ms-control:hover{background:var(--surface-2)}
.registry-filter-panel .ms-control,.schedule-filters .ms-control{padding:0}
.ms-control>.ms-value{flex:1;min-width:0;max-width:none;padding:0 8px;font:inherit}
.ms-control>.ms-icon-btn{flex:0 0 32px;width:32px;min-width:32px;height:auto;align-self:stretch;border:0;color:var(--ink-2)}
.ms-control .ms-chevron{background:url('../assets/design-system/input-chevron-16.svg') center no-repeat}
.ms-control .ms-chevron svg{display:none}
:root[data-theme="dark"] .ms-control .ms-chevron{background-image:url('../assets/icons/dark-.svg')}
.login{background:var(--bg)}.login-card{border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:12px}.login-card .btn-in{background:var(--accent);color:var(--on-accent);border-radius:8px}.login-brand .mark{background:var(--accent);color:var(--on-accent)}
@media(max-width:1250px){.sub-master{grid-template-columns:minmax(260px,38%) minmax(0,1fr);gap:16px}.sub-master-detail .sd-col:first-child{display:flex;flex-direction:column}.sub-master-detail .sd-col:first-child .sp-sec{width:100%}.schedule-filters{grid-template-columns:1fr 1fr}.schedule-context .ctx{max-width:48%}.topbar .search{flex-basis:240px}.dmeta.dmeta6{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.content{padding:16px}.sub-master{grid-template-columns:1fr}.sub-master-list{max-height:400px;overflow:auto}.event-split,#clEventFeed .event-split{grid-template-columns:1fr}.event-list{max-height:360px}.dhead .top{flex-wrap:wrap}.dhead .quick{flex-wrap:wrap}.dhead .top .tt{flex-basis:100%}.schedule-filters{padding:16px}.schedule-context .ctx{max-width:100%}.registry-filter-panel{padding:16px}.side .me .who{font-size:12px}}
@media(max-width:600px){.content{padding:12px}.topbar{padding:8px 12px;gap:8px}.topbar .crumb{flex:1}.schedule-filters{grid-template-columns:minmax(0,1fr)}.schedule-filters>*{grid-column:1!important}.schedule-filters .schedule-period{display:block}.schedule-shortcuts{margin-top:12px}.schedule-entry-primary{gap:6px}.schedule-entry-state{flex-wrap:wrap}.schedule-context{display:grid;grid-template-columns:1fr 1fr;gap:8px}.schedule-context .ctx{max-width:100%;padding:4px 6px}.schedule-context .ctx b>span{white-space:normal;font-size:12px}.dayhead .dd{font-size:16px}.sub-list-people{gap:8px}.tabs button{padding:12px 8px;font-size:12px}.tabs button .tc{font-size:12px}.dmeta .m{padding:10px 8px}.dmeta.dmeta6{grid-template-columns:repeat(2,minmax(0,1fr))}.registry-filter-panel .registry-filter-search{flex-basis:100%}.tfoot .psize{margin-left:0}}
/* Exact Figma icon exports; their intrinsic dimensions remain unchanged. */
.btn img{display:block;flex:none}
.ui-select .ui-select-control{padding-left:8px!important;padding-right:8px!important;gap:8px;font-weight:400}
.ui-select-chevron{border-left:0!important;flex:0 0 16px!important;width:16px;height:16px;align-self:center}.ui-select-chevron:after{border:0!important;transform:translate(-50%,-50%)!important;width:16px!important;height:16px!important;background:url('../assets/design-system/input-chevron-16.svg') center no-repeat}
.ui-select-control[aria-expanded="true"] .ui-select-chevron:after{transform:translate(-50%,-50%) rotate(180deg)!important}
:root[data-theme="dark"] .ui-select-chevron:after{background-image:url('../assets/icons/dark-.svg')}
.sub-master .ck{border:0!important;background:transparent url('../assets/icons/detail-toggle-ic-check-box-outline-blank24px.svg') center no-repeat!important;width:24px!important;height:24px!important;font-size:0}
.sub-master .ck.on{background-image:url('../assets/icons/detail-approver-selection.svg')!important}
.sub-detail-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.sub-detail-heading h2{margin:0}.sub-detail-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sub-detail-actions>a{font-size:12px;color:#a62b24;border:.5px solid #a62b24;padding:8px;border-radius:8px;white-space:nowrap;display:inline-flex;gap:4px;align-items:center}
.sub-detail-actions>a:before,.dhead .ghost-danger:before{content:'';width:16px;height:16px;display:inline-block;background:url('../assets/icons/detail-icon-archive.svg') center no-repeat}
.pill.p-done{background:var(--green-soft);color:var(--green)}
.sub-status-control{margin-top:8px}.sub-status-control .ui-select{width:100%;max-width:180px}
.schedule-record{min-width:0}.schedule-filters .filter-caption{display:block}.schedule-date-field{margin-top:16px}.schedule-date-range{display:flex;align-items:center;height:40px;border:1px solid var(--line);border-radius:8px;padding:0 4px;gap:2px}.schedule-date-range input{border:0;padding:0 2px;font-size:11px;min-width:0;height:36px;min-height:36px;flex:1}.schedule-date-range input::-webkit-calendar-picker-indicator{width:10px;margin:0;padding:0}.schedule-date-range>span{font-size:11px;color:var(--muted)}
#scheduleFilters{position:static;grid-template-columns:minmax(320px,1.7fr) repeat(3,minmax(150px,1fr));gap:16px}
#scheduleFilters .schedule-shortcuts{flex-wrap:nowrap;margin-top:40px;gap:6px}.schedule-shortcuts .btn{padding:8px 6px}
#scheduleScreen .schedule-entry{margin-bottom:0}.dayline{display:block;height:1px;background:var(--line);flex:1}
@media(min-width:1450px){#listScreen .registry-filter-panel{flex-wrap:nowrap}#listScreen .registry-filter-item{flex:1 1 180px}#listScreen .registry-filter-search{flex:2.4 1 429px}}
@media(max-width:1150px){#scheduleFilters{grid-template-columns:1fr 1fr}#scheduleFilters .schedule-shortcuts{margin-top:16px;flex-wrap:wrap}}
@media(max-width:600px){#scheduleFilters{grid-template-columns:1fr}.schedule-date-range input{font-size:13px}.sub-detail-heading{align-items:flex-start}.sub-detail-actions{gap:6px}.sub-list-people{flex-wrap:wrap}}
/* Override legacy theme selectors with semantic tokens. */
:root[data-theme="dark"] .topbar,:root[data-theme="dark"] .gsearch,:root[data-theme="dark"] .wizard,:root[data-theme="dark"] .wiz-head,:root[data-theme="dark"] .wiz-foot,:root[data-theme="dark"] .wiz-main{background:var(--surface);border-color:var(--line-2)}
:root[data-theme="dark"] .btn{background:var(--surface);color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] .btn:hover{background:var(--surface-2);border-color:var(--muted-2)}
:root[data-theme="dark"] .btn.pri{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
:root[data-theme="dark"] .btn.pri:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}
:root[data-theme="dark"] .pill.p-done{background:var(--green-soft);color:var(--green);border:0}
:root[data-theme="dark"] .nav a .badge{background:var(--green-soft);color:var(--green)}
:root[data-theme="dark"] .search input,:root[data-theme="dark"] .winput,:root[data-theme="dark"] .wselect,:root[data-theme="dark"] .cell{background:var(--surface);border-color:var(--line);color:var(--ink)}
:root[data-theme="dark"] .btn.ghost-danger{color:#f6b5b0;border-color:#a62b24}
:root[data-theme="dark"] .nav-toggle .dark-icon{filter:brightness(0) invert(.85)}
.sub-master-detail .cmt-input{padding:0}.sub-master-detail .cmeta .tm{margin-left:6px}
.client-event-actions h3{margin:0 auto 0 0}.client-event-actions .btn{flex:none}
.reset-control::before{display:none}.schedule-summary{font-weight:500}
@media(max-width:720px){.app,.app.side-collapsed,.app.zoom-reflow{grid-template-columns:minmax(0,1fr)}.topbar .search{display:none}.dhead .quick{gap:8px}.sub-master-detail{min-width:0}.client-event-actions{flex-wrap:wrap}.schedule-context{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Identify screens and task tabs migrated to the new Figma design. */
.nav-section-label{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.design-update-label{display:inline-flex;align-items:center;gap:5px;font-size:9px;line-height:12px;font-weight:500;letter-spacing:.02em;color:#99e0d8}
.design-update-label::before,.design-update-dot{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#39b9ab;flex:none}
.tabs button .design-update-dot{margin-left:5px;vertical-align:middle;box-shadow:0 0 0 3px rgba(57,185,171,.12)}
.nav a.redesigned-nav{position:relative}
.app.side-collapsed .nav-section-label,.app.zoom-reflow .nav-section-label{display:none}
.app.side-collapsed .redesigned-nav::after,.app.zoom-reflow .redesigned-nav::after{content:'';position:absolute;top:6px;right:5px;width:6px;height:6px;border-radius:50%;background:#39b9ab}

#ttab-doc table{min-width:1500px}#ttab-doc th,#ttab-doc td{white-space:nowrap}#ttab-doc td.tname{min-width:280px;max-width:380px;white-space:normal}#ttab-doc td:nth-child(3){white-space:normal}

.appr .approval-kind{margin-left:4px;font-size:11px;line-height:14px;font-weight:400;color:var(--muted-2);white-space:nowrap}

.dmeta .task-meta-control{width:100%;min-width:0;height:32px;min-height:32px;padding:0 8px;font-size:12px;line-height:16px;font-weight:400;color:var(--ink-2)}
.dmeta select.task-meta-control{padding-right:28px}.task-save-icon{width:16px;height:16px;filter:brightness(0) invert(1)}

.dmeta select.task-meta-control{appearance:none;background:var(--surface) url("../assets/design-system/icon-chevron-down-16.svg") right 8px center/16px 16px no-repeat}
.dmeta input[type="date"].task-meta-control{background:var(--surface) url("../assets/design-system/icon-calendar-clock-16.svg") right 8px center/16px 16px no-repeat}.dmeta .task-meta-control::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer}

.input-label,.wfield:not(.row)>label{padding-left:8px}
.wizard:has(.client-editor)>.wiz-head{background:var(--surface-2)}
.client-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
.client-editor .wfield{min-width:0;margin:0}
.client-editor .wfield>label{font-weight:400;line-height:16px;margin-bottom:4px}
.client-editor .winput,.client-editor .ui-select .ui-select-control{height:40px;min-height:40px;padding:8px;font-size:14px;line-height:18px;border-width:1px}
.client-editor .winput:not(:focus):not(.is-invalid),.client-editor .ui-select-control:not(:focus-visible):not([aria-expanded="true"]){border-color:var(--line)}
@media(max-width:600px){.client-editor{grid-template-columns:minmax(0,1fr)}}
.event-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:16px}
.event-editor .wfield{min-width:0;margin-bottom:0}
.event-editor>.wfield,.event-editor>.event-editor-grid{margin-bottom:16px}
.event-editor .wfield>label{font-weight:400;margin-bottom:4px}
.event-editor .hint{margin-top:4px}
.event-editor .winput,.event-editor .ui-select .ui-select-control{height:40px;min-height:40px;font-size:14px;line-height:18px;border-width:1px}
.event-editor .winput{padding:8px}
.event-editor .winput:not(:focus):not(.is-invalid),.event-editor .ui-select-control:not(:focus-visible):not([aria-expanded="true"]){border-color:var(--line)}
.event-editor-section{padding:16px;background:var(--surface-2);border-radius:8px;margin-top:16px}
.event-editor-section h3{font-size:14px;line-height:20px;font-weight:600;margin:0 0 12px}
.event-editor-section .ms{width:100%;min-width:0}
.event-editor-section .ms-field-label{display:none}
.event-editor-section .ms-control{width:100%;min-height:40px;background:var(--surface)}
.event-editor-section .ms-value{white-space:normal;overflow-wrap:anywhere;padding:8px}
.event-editor-section textarea.winput{display:block;min-height:40px;resize:vertical}
.ui-select-option small{display:block;font-size:11.5px;font-weight:400;color:var(--muted);margin-top:2px}
@media(max-width:600px){.event-editor-grid{grid-template-columns:minmax(0,1fr)}.event-editor-section{padding:12px}}
.dmeta .m:has(.task-meta-control)>label{padding-left:8px}

/* Main page actions and modal actions use the Figma 36px variant. */
.dhead .quick .btn,.sub-detail-actions .btn,.sub-detail-actions>a,.client-event-actions .btn,.wiz-foot .btn,.sub-list-title .btn,.event-list-head .btn,.ch .btn{height:36px;min-height:36px;padding:8px 12px;font-size:14px;line-height:18px}
.filter-actions .btn,.schedule-shortcuts .btn,.client-event-card .event-comment-form .btn{height:32px;min-height:32px;padding:8px;font-size:12px;line-height:16px}

/* Center native date/time segments inside the control, independent of browser padding. */
input:is([type="date"],[type="time"],[type="datetime-local"]){padding-top:0;padding-bottom:0;line-height:normal}
input.winput:is([type="date"],[type="time"],[type="datetime-local"]){height:40px;min-height:40px}
input:is([type="date"],[type="time"],[type="datetime-local"])::-webkit-datetime-edit{display:flex;align-items:center;padding:0;min-height:100%}
input:is([type="date"],[type="time"],[type="datetime-local"])::-webkit-datetime-edit-fields-wrapper{padding:0}

/* PIF column layout; visual styles come from the shared registry components above. */
#pifListScreen .tablewrap{overflow-x:auto}
#pifListScreen table.grid{min-width:1400px}
#pifListScreen .pif-list-name{min-width:280px}
#pifListScreen .pif-empty,#pifListScreen .pif-empty .tname{color:var(--muted-2)}
.approver-picker{position:relative;min-width:0}
.approver-picker summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;list-style:none;font-size:14px}
.approver-picker summary::-webkit-details-marker{display:none}
.approver-picker summary:after{content:'';width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-4px 2px 0 8px}
.approver-picker-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 16px #0002}
.approver-picker-options{max-height:220px;overflow:auto;margin-top:4px}
.approver-option{display:flex;align-items:center;gap:8px;padding:8px;cursor:pointer;font-size:12px}
.approver-option[hidden]{display:none}
.approver-option:has(input:checked){background:var(--surface-2)}
.approver-option input{flex:none;width:16px;height:16px;accent-color:var(--accent)}
.approver-option small{display:block;color:var(--muted);margin-top:2px}
.approver-plan{margin:0;min-width:0}.approver-plan .hint{font-size:11px}
@media(max-width:820px){.subtask-approver-row{grid-template-columns:1fr}.subtask-approver-row .approver-plan{width:100%}.subtask-approver-row>.btn,.subtask-approver-row>.pill{justify-self:start}}
.responsible-picker summary>span{min-width:0;flex:1;white-space:normal;overflow-wrap:anywhere}
.responsible-picker summary:after{flex:none}
/* Subtask modal: two columns and a compact, aligned approval table. */
.wizard:has(.subtask-editor)>.wiz-head{background:var(--surface-2)}
.subtask-editor .subtask-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
.subtask-editor .wfield{min-width:0;margin:0}
.subtask-editor .wfield>label,.subtask-editor .subtask-field-label{display:block;padding-left:8px;font-size:12px;line-height:16px;font-weight:400;color:var(--ink-2);margin:0 0 4px}
.subtask-editor .hint{margin-top:4px}
.subtask-editor .winput,.subtask-editor .ui-select .ui-select-control,.subtask-editor .approver-picker summary{height:40px;min-height:40px;padding:8px;font-size:14px;line-height:18px;border-width:1px}
.subtask-editor .winput:not(:focus):not(.is-invalid),.subtask-editor .ui-select-control:not(:focus-visible):not([aria-expanded="true"]){border-color:var(--line)}
.subtask-editor .approver-picker summary{height:auto;color:var(--ink-2)}
.subtask-editor .approver-picker summary:after{flex:0 0 16px;width:16px;height:16px;margin:0;border:0;transform:none;background:var(--ink-2);mask:url('../assets/design-system/input-chevron-16.svg') center/16px no-repeat}
.subtask-editor .approver-picker[open] summary:after{transform:rotate(180deg)}
.subtask-editor .approver-picker summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.subtask-editor .subtask-approvers{grid-column:1/-1}
.subtask-approvers>h3{font-size:12px;line-height:16px;font-weight:600;margin:0 0 8px}
.subtask-editor .subtask-approver-editor{padding:14px;border-radius:8px}
.subtask-editor .subtask-approver-add{grid-template-columns:minmax(140px,.85fr) minmax(180px,1.55fr) minmax(150px,.85fr) auto;gap:8px}
.subtask-editor .subtask-approver-add>.btn{height:36px;min-height:36px;padding:8px 12px;font-size:14px;line-height:18px}
.subtask-editor .subtask-approver-list{margin-top:14px;border-radius:8px}
.subtask-editor .subtask-approver-row{grid-template-columns:minmax(160px,1fr) minmax(180px,1.15fr) 200px;gap:24px;padding:12px 16px}
.subtask-editor .subtask-approver-row>.btn{justify-self:end}
.subtask-approver-person{min-width:0;overflow-wrap:anywhere}
.subtask-approver-person>b{font-weight:600}
.subtask-editor .subtask-approver-row .meta{margin-top:0}
.subtask-editor .subtask-approver-row .pill{font-size:12px;line-height:16px;font-weight:400;padding:4px 8px;white-space:nowrap;justify-self:end}
.subtask-editor .approver-plan .winput{height:32px;min-height:32px;font-size:12px;line-height:16px;padding:0 8px}
.subtask-editor input[type="date"]{padding-top:0;padding-bottom:0}
.subtask-editor input[type="date"]::-webkit-calendar-picker-indicator{width:16px;height:16px;margin:0;padding:0;opacity:1;background:url('../assets/design-system/icon-calendar-clock-16.svg') center/16px no-repeat;cursor:pointer}
:root[data-theme="dark"] .subtask-editor input[type="date"]::-webkit-calendar-picker-indicator{filter:brightness(0) invert(1)}
@media(max-width:760px){.subtask-editor .subtask-approver-add{grid-template-columns:repeat(2,minmax(0,1fr))}.subtask-editor .subtask-approver-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.subtask-editor .subtask-approver-row>.pill,.subtask-editor .subtask-approver-row>.btn{grid-column:1/-1;justify-self:start}}
@media(max-width:600px){.subtask-editor .subtask-editor-grid,.subtask-editor .subtask-approver-add,.subtask-editor .subtask-approver-row{grid-template-columns:minmax(0,1fr)}.subtask-editor .subtask-approver-row{padding:12px}.subtask-editor .subtask-approver-editor{padding:12px}}
.table-icon-action{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;padding:7px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink-2);cursor:pointer;vertical-align:middle}
.table-icon-action img{display:block;flex:none;width:16px;height:16px}
.table-icon-action:hover{background:var(--surface-2)}
.table-icon-danger{border:.5px solid #a62b24;color:#a62b24}
.table-icon-danger:hover{background:var(--red-soft)}
.table-icon-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* Ready Figma screens: schedule, clients and projects — 15.10.2026. */
.nav .nav-proj .ic img{filter:brightness(0) invert(1)}
.nav :is(.nav-schedule,.nav-clients,.nav-proj) .ic{width:16px;height:16px}
#clientListScreen .page-h,#projListScreen .page-h{margin:0 0 16px;min-height:36px}
:is(#clientListScreen,#projListScreen) .registry-filter-panel{padding:16px;align-items:end}
:is(#clientListScreen,#projListScreen) .registry-filter-item{flex:0 1 180px}
:is(#clientListScreen,#projListScreen) .registry-filter-search{flex:0 1 429px}
:is(#clientListScreen,#projListScreen) .registry-filter-reset{height:32px;min-height:32px!important;font-size:12px!important}
:is(#clientListScreen,#projListScreen) table.grid td{white-space:normal;overflow-wrap:anywhere}
#clientListScreen table.grid td:nth-child(4){min-width:220px}
.entity-back{display:inline-flex;align-items:center;justify-content:center;width:24px;height:32px;padding:0;border:0;background:transparent;cursor:pointer;flex:none;border-radius:4px}
.entity-back img{display:block;width:17px;height:16px;flex:none;object-fit:contain}
#cl-contacts .arch-ctl{display:inline-flex;align-items:center;gap:8px;min-height:40px;white-space:nowrap}
#clContactArch{flex:none;width:17px;height:17px;min-height:17px;padding:0;margin:0;accent-color:var(--accent)}
:is(#clientDetailScreen,#projDetailScreen) .dhead .tt{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
:is(#clientDetailScreen,#projDetailScreen) .dhead h1{margin:0!important;overflow-wrap:anywhere}
:is(#clientDetailScreen,#projDetailScreen) .dhead .quick{margin-left:auto;flex-wrap:wrap}
#projDetailScreen .dhead .quick .entity-edit-primary{width:auto}
#clQuick .ghost-danger{order:2}
#clientDetailScreen #clMeta{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px}
#clientDetailScreen #clMeta .client-comment{grid-column:auto}
#clientDetailScreen #clMeta .v{white-space:normal;overflow-wrap:anywhere}
#clFundBar[hidden]{display:none}
#clientDetailScreen #clOverview:empty{display:none}
.entity-workspace{background:var(--surface);border-radius:8px;box-shadow:var(--shadow);min-width:0}
:is(#clientDetailScreen,#projDetailScreen) .entity-workspace>.tabs{margin:0;border-radius:8px 8px 0 0;padding:8px 0 0;gap:0;overflow-x:auto;flex-wrap:nowrap}
:is(#clientDetailScreen,#projDetailScreen) .entity-workspace>.tabs{overflow-y:hidden}
:is(#clientDetailScreen,#projDetailScreen) .tabs>button{padding:8px 12px;white-space:nowrap;flex:none;font-size:14px}
:is(#clientDetailScreen,#projDetailScreen) .tabs .tc{background:none;padding:0;color:inherit;font-size:12px}
:is(#clientDetailScreen,#projDetailScreen) .entity-workspace>.tabpanel{padding:16px;border-radius:0 0 8px 8px;background:var(--surface)}
#clientDetailScreen .entity-workspace>.tabpanel{background:var(--surface-2)}
#clientDetailScreen .registry-filter-panel{margin-bottom:16px;padding:20px;align-items:end}
#cl-proj .client-project-urgency .urg{font-size:12px;line-height:18px;white-space:nowrap}
#cl-proj .registry-filter-panel{display:grid;grid-template-columns:minmax(220px,3fr) repeat(4,minmax(130px,1fr))}
@media(max-width:1200px){#cl-proj .registry-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}#cl-proj .registry-filter-search{grid-column:1/-1}}
@media(max-width:600px){#cl-proj .registry-filter-panel{grid-template-columns:minmax(0,1fr)}}
.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;min-height:36px}
.section-toolbar h2,.entity-workspace .tab-note h2{font-size:14px;font-weight:600;line-height:20px;margin:0}
.section-toolbar .actions{display:flex;gap:8px;flex-wrap:wrap}
:is(#clientDetailScreen,#projDetailScreen) .tablewrap{margin:0;border-color:var(--line-2);overflow:auto}
:is(#clientDetailScreen,#projDetailScreen) .grid td{white-space:normal;overflow-wrap:anywhere}
#clientDetailScreen .grid th,#projDetailScreen .grid th{font-size:12px}
#clientDetailScreen .grid td,#projDetailScreen .grid td{font-size:12px;line-height:18px}
:is(#clientDetailScreen,#projDetailScreen) .tablewrap table{min-width:850px}
#projDetailScreen #pr-docs table{min-width:1450px}
:is(#cl-contacts,#pr-contacts) table.grid{min-width:1100px;table-layout:auto}
:is(#cl-contacts,#pr-contacts) table.grid :is(th,td):first-child{min-width:180px}
:is(#cl-contacts,#pr-contacts) table.grid :is(th,td):nth-child(2){min-width:140px}
:is(#cl-contacts,#pr-contacts) table.grid :is(th,td):nth-child(4){min-width:160px}
#projDetailScreen .project-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px}
#projDetailScreen .project-client-context{display:none}
#projDetailScreen .project-meta:has(.cell) .project-client-context{display:block;grid-column:1/-1}
#projDetailScreen .project-task-count{grid-column:4;grid-row:1}
#projDetailScreen .project-status{grid-column:1;grid-row:2}
#projDetailScreen .project-metrics{display:contents}
#projDetailScreen .project-metrics .ov-item{padding:12px 16px;border-top:1px solid var(--line);border-right:1px solid var(--line);min-width:0;background:var(--surface-2)}
#projDetailScreen .project-metrics .ov-item:last-child{border-right:0}
#projDetailScreen .project-meta .m{min-width:0;border-radius:0}
#projDetailScreen .project-meta .v{overflow-wrap:anywhere}
#projDetailScreen .project-status{border-top:1px solid var(--line)}
#projDetailScreen .ov-l{font-size:11px;line-height:14px;color:var(--muted-2);text-transform:uppercase;margin-bottom:4px}
#projDetailScreen .ov-v{font-size:12px;line-height:18px;font-weight:500}
#projDetailScreen .tab-note{background:none;border:0;padding:0;margin-bottom:12px;min-height:36px;box-shadow:none}
#projDetailScreen .tab-note>.tab-toolbar-copy{font-weight:600;color:var(--ink)}
#prGroupRows .av-s{display:none}
#scheduleFilters{display:flex;flex-direction:column;align-items:stretch;padding:16px;gap:16px;margin:0 0 24px;border-color:var(--line-2)}
.schedule-filter-grid{display:grid;grid-template-columns:minmax(0,2.5fr) repeat(2,minmax(0,1fr));gap:16px}
.schedule-search-column,.schedule-kind{display:flex;flex-direction:column;gap:16px;min-width:0}
.schedule-search-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.schedule-field{display:flex;flex-direction:column;gap:4px;min-width:0}
#scheduleFilters .schedule-kind>label{display:flex;height:auto;margin:0;gap:4px;align-items:stretch}
.schedule-field>span,.schedule-kind .ms-field-label{font-size:12px;line-height:16px;font-weight:500;padding-left:8px;color:var(--ink-2)}
#scheduleFilters input,#scheduleFilters select,#scheduleFilters .ui-select-control,#scheduleFilters .ms-control{height:32px;min-height:32px;font-size:12px;line-height:16px}
#scheduleFilters .schedule-kind .filter-ms{margin:0;gap:4px}
#scheduleFilters .schedule-kind .ms-field-label{margin:0}
#scheduleFilters .ms-value{font-size:12px}
#scheduleFilters .schedule-date-range{height:32px;min-width:0;padding:0 6px;gap:2px}
#scheduleFilters .schedule-date-range input{height:30px;min-height:30px;width:0;font-size:11px;background:transparent}
.schedule-filter-actions{display:flex;align-items:center;gap:8px;padding-top:16px;border-top:1px solid var(--line);flex-wrap:wrap}
.schedule-filter-actions>span{font-size:12px;color:var(--ink-2)}
.schedule-filter-actions .btn{font-size:12px;height:32px;min-height:32px;padding:6px 10px}
.schedule-filter-actions .btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.schedule-filter-actions .filter-divider{height:24px;width:1px;background:var(--line);margin:0 8px}
.schedule-filter-actions .schedule-reset{margin-left:auto}
#scheduleScreen .page-h{margin-bottom:24px}
#scheduleScreen .schedule-summary{display:none}
#scheduleScreen .daygroup{margin:0 0 32px}
#scheduleScreen .dayhead{margin-bottom:16px}
#scheduleScreen .dayhead .dd{font-size:18px;line-height:24px;font-weight:600}
#scheduleScreen .dayhead .dcnt{background:none;padding:0;font-size:12px;color:var(--ink-2)}
#scheduleScreen .schedule-entry{padding:12px;display:flex;flex-direction:column;gap:8px;cursor:pointer}
#scheduleScreen .schedule-entry:hover{box-shadow:0 0 0 1px var(--accent-line)}
#scheduleScreen .schedule-entry-head{align-items:flex-end}
#scheduleScreen .schedule-entry-primary{display:flex;flex-wrap:wrap;gap:8px;flex:1}
#scheduleScreen .schedule-entry-datetime{display:flex;align-items:baseline;gap:8px;order:-1;flex-basis:100%;white-space:nowrap}
#scheduleScreen .schedule-entry-date,#scheduleScreen .schedule-entry-time{font-size:11px}
#scheduleScreen .schedule-entry-primary>.schedule-entry-person{padding:2px 8px;font-size:11px;line-height:16px}
#scheduleScreen .schedule-entry-primary .schedule-entry-kind{font-size:14px;line-height:20px}
#scheduleScreen .schedule-entry .ereport{margin:0;font-size:12px;line-height:18px}
#scheduleScreen .schedule-context{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
#scheduleScreen .schedule-context .ctx{max-width:none;min-width:0;padding:4px 8px}
#scheduleScreen .schedule-context .ctx b>span{font-size:12px;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
#scheduleScreen .schedule-entry-state :is(.edone,.pill,.schedule-place){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:20px;font-size:10px;line-height:14px;font-weight:500;padding:3px 8px;white-space:nowrap;flex:none}
#scheduleScreen .schedule-entry-state :is(.schedule-signal,.schedule-place):empty{display:none}
#scheduleScreen .schedule-signal{display:flex;align-items:center}
:root[data-theme=dark] .entity-back img{filter:brightness(0) invert(1)}
#clientEventFilters{display:flex;flex-direction:column;align-items:stretch;padding:16px;gap:16px;margin-bottom:16px}
.client-event-filter-grid{display:grid;grid-template-columns:2fr 1.6fr repeat(3,minmax(0,1fr));gap:16px}
#clientEventFilters .schedule-field{display:flex;flex-direction:column;height:auto;align-items:stretch;gap:4px;margin:0}
#clientEventFilters input:not([type=checkbox]),#clientEventFilters select,#clientEventFilters .ui-select-control{height:32px;min-height:32px;font-size:12px}
#clientEventFilters .schedule-date-range{height:32px;padding:0 6px;gap:2px;min-width:0}
#clientEventFilters .schedule-date-range input{width:0;font-size:11px;background:transparent}
#clientEventFilters .event-archive-option{margin-left:auto;font-size:12px;display:flex;align-items:center;gap:8px}
#clientEventFilters .schedule-reset{margin-left:0}
@media(max-width:1100px){.client-event-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-event-filter-grid>label:first-child{grid-column:span 2}}
@media(max-width:720px){.client-event-filter-grid{grid-template-columns:1fr 1fr}.client-event-filter-grid>.schedule-field:nth-child(2){grid-column:span 2}}
@media(max-width:1100px){.schedule-filter-grid{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}.schedule-search-options{grid-template-columns:1fr}.schedule-filter-actions .schedule-reset{margin-left:0}.entity-workspace .section-toolbar{flex-wrap:wrap}#clientDetailScreen #clMeta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.schedule-filter-grid{grid-template-columns:1fr 1fr}.schedule-search-column{grid-column:1/-1}.schedule-search-options{grid-template-columns:1fr}#scheduleScreen .schedule-context{grid-template-columns:1fr 1fr;gap:8px}#scheduleScreen .schedule-entry-head{align-items:flex-start;flex-direction:column}#scheduleScreen .dayhead .dd{font-size:16px}#clientDetailScreen #clMeta{grid-template-columns:1fr}#projDetailScreen .project-meta{grid-template-columns:repeat(2,minmax(0,1fr))}#projDetailScreen .project-task-count,#projDetailScreen .project-status{grid-column:auto;grid-row:auto}#projDetailScreen .project-metrics .ov-item{border-bottom:1px solid var(--line)}:is(#clientDetailScreen,#projDetailScreen) .dhead .tt{flex-basis:100%}:is(#clientDetailScreen,#projDetailScreen) .dhead .quick{margin-left:0}:is(#clientDetailScreen,#projDetailScreen) .entity-workspace>.tabpanel{padding:12px}.section-toolbar{flex-wrap:wrap}.section-toolbar .actions{width:100%}:is(#clientListScreen,#projListScreen) .registry-filter-item{flex:1 1 130px}}
/* Contextual field sizes — 19.10.2026. Keep buttons and multiline textareas independent.
   Size overrides are important because legacy registry fields use important minima/padding. */
:root{--filter-input-h:32px;--modal-input-h:36px}
:is(.registry-filter-panel,.feed-filters,.filters,.schedule-filters){--control-h:var(--filter-input-h)}
:is(.registry-filter-panel,.feed-filters,.filters,.schedule-filters) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,.ui-select-control,.ms-control){height:var(--filter-input-h)!important;min-height:var(--filter-input-h)!important;padding-top:0!important;padding-bottom:0!important;font-size:12px;line-height:16px}
.registry-filter-panel .registry-filter-item>input{flex-basis:var(--filter-input-h)}
:is(.registry-filter-panel,.feed-filters,.filters,.schedule-filters) .ms-control{padding:0}
:is(.registry-filter-panel,.feed-filters,.filters,.schedule-filters) .ms-value{font-size:12px;line-height:16px}
.schedule-filters .schedule-date-range{height:var(--filter-input-h)}
:is(#scheduleFilters,#clientEventFilters,.schedule-filters) .schedule-date-range input{height:calc(var(--filter-input-h) - 2px)!important;min-height:0!important}
.wizard{--control-h:var(--modal-input-h)}
.wizard :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),select,.ui-select-control,.ms-control,.approver-picker summary){height:var(--modal-input-h)!important;min-height:var(--modal-input-h)!important;padding-top:0!important;padding-bottom:0!important}
.wizard .ms-control{padding:0}
.wizard :is(.ms-value,.responsible-picker summary>span){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Figma Components 6:688 / 6:710, checked 19.10.2026.
   Shared states also drive the catalogue's static previews. */
:root{--control-border-hover:#c4cdd6;--control-danger:#a62b24;--field-icon-size:36px}
:root[data-theme=dark]{--control-border-hover:#6b7787;--control-danger:#fdedec}
:root .btn.btn{--button-focus:var(--accent);--button-ring-width:2px;--button-ring-gap:2px;box-shadow:none;color:var(--ink);background:var(--surface);border:1px solid var(--line);filter:none}
:root .btn.btn.sm{--button-ring-width:1px;--button-ring-gap:2px}
:root .btn.btn:is(:hover,.ds-state-hover):not(:disabled){background:var(--surface-2);border-color:var(--control-border-hover)}
:root .btn.btn:is(:active,.ds-state-pressed):not(:disabled){background:var(--accent-soft);border-color:var(--line)}
:root .btn.btn:is(.pri,.ds-primary){background:var(--accent);border-color:transparent;color:var(--on-accent)}
:root .btn.btn:is(.pri,.ds-primary):is(:hover,:active,.ds-state-hover,.ds-state-pressed):not(:disabled){background:var(--accent-hover);border-color:transparent}
:root .btn.btn:is(.danger,.ghost-danger,.ds-danger){--button-focus:var(--control-danger);border:.5px solid var(--control-danger);color:var(--control-danger);background:transparent}
:root .btn.btn:is(.danger,.ghost-danger,.ds-danger):is(:hover,:active,.ds-state-hover,.ds-state-pressed):not(:disabled){background:var(--surface);border-color:var(--control-danger)}
:root .btn.btn:is(.danger,.ghost-danger,.ds-danger):is(:active,.ds-state-pressed):not(:disabled){opacity:.9}
:root .btn.btn:is(.tertiary,.ds-tertiary){background:transparent;border-color:transparent;color:var(--accent)}
:root .btn.btn:is(.tertiary,.ds-tertiary):is(:hover,:active,.ds-state-hover,.ds-state-pressed):not(:disabled){background:var(--accent-soft);border-color:transparent}
:root .btn.btn:is(:focus-visible,.ds-state-focus):not(:disabled){outline:var(--button-ring-width) solid var(--button-focus);outline-offset:var(--button-ring-gap)}
:root .btn.btn:is(.tertiary,.ds-tertiary):is(:focus-visible,.ds-state-focus):not(:disabled){outline:none;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
:root .btn.btn:disabled{opacity:.5;cursor:not-allowed;outline:none}
:root .btn.btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
/* Figma's compact secondary focus ring is 1px further from the control. */
:root .btn.btn.sm:not(.pri,.ds-primary,.danger,.ghost-danger,.ds-danger,.tertiary,.ds-tertiary){--button-ring-gap:3px}

:is(.registry-filter-panel,.feed-filters,.filters,.schedule-filters){--field-icon-size:32px}
.wizard{--field-icon-size:36px}
:is(.ds-field,.ds-select-comparison){--field-icon-size:var(--field-height,36px)}
/* Important visual properties replace the legacy per-screen and inline field rules.
   State is expressed through variables, so all states keep identical geometry. */
:root :is(.wizard,.registry-filter-panel,.feed-filters,.filters,.schedule-filters,.ds-page,.ui-select) :where(input:not([type=checkbox],[type=radio],[type=hidden],[type=file]),.ui-select-control,.ms-control,.approver-picker summary){
  --field-border:var(--line);--field-background:var(--surface);--field-text:var(--ink);--field-shadow:none;
  font-size:14px!important;line-height:18px!important;font-weight:400!important;
  border:1px solid var(--field-border)!important;background-color:var(--field-background)!important;color:var(--field-text)!important;
  box-shadow:var(--field-shadow)!important;outline:none;border-radius:8px;
}
:root :is(.wizard,.registry-filter-panel,.feed-filters,.filters,.schedule-filters,.ds-page,.ui-select) :where(input:not([type=checkbox],[type=radio],[type=hidden],[type=file]),.ui-select-control,.ms-control,.approver-picker summary):hover:not(:disabled,[readonly],[aria-disabled=true]),
:root .ds-field-hover :is(input,.ui-select-control){--field-border:var(--control-border-hover)}
:root :is(.wizard,.registry-filter-panel,.feed-filters,.filters,.schedule-filters,.ds-page,.ui-select) :where(input:not([type=checkbox],[type=radio],[type=hidden],[type=file]),.ui-select-control,.ms-control,.approver-picker summary):is(:focus-visible,:focus-within,[aria-expanded=true]),
:root .ds-field-focus :is(input,.ui-select-control){--field-border:var(--accent);--field-shadow:inset 0 0 0 1px var(--accent)}
:root :is(.wizard,.registry-filter-panel,.feed-filters,.filters,.schedule-filters,.ds-page,.ui-select) :where(input:not([type=checkbox],[type=radio],[type=hidden],[type=file]),.ui-select-control,.ms-control):is(.is-invalid,[aria-invalid=true]),
:root .ds-field-error :is(input,.ui-select-control){--field-border:var(--control-danger);--field-shadow:none}
:root :is(.wizard,.registry-filter-panel,.feed-filters,.filters,.schedule-filters,.ds-page,.ui-select) input[readonly]{--field-background:var(--surface-2);--field-text:var(--muted-2)}
:root :is(.wizard,.registry-filter-panel,.feed-filters,.filters,.schedule-filters,.ds-page,.ui-select) :is(input,.ui-select-control,.ms-control):is(:disabled,[aria-disabled=true]){--field-border:var(--line);--field-background:var(--surface);--field-text:var(--muted-2);--field-shadow:none;opacity:.5;cursor:not-allowed}
:root :is(.wizard,.registry-filter-panel,.feed-filters,.filters,.schedule-filters,.ds-page,.ui-select) input::placeholder{color:var(--muted-2);opacity:1}
:is(.wizard,.registry-filter-panel,.feed-filters,.filters,.schedule-filters,.ds-page) .ms-value{font:inherit!important}
:is(.wfield,.ds-field):has(input:disabled,select:disabled)>:is(label,span:first-child){opacity:.5}
:root .ds-field input{height:var(--field-height,36px);min-height:var(--field-height,36px);width:100%;padding:0 8px}
:root .ds-field .ui-select-control{height:var(--field-height,36px);min-height:var(--field-height,36px)}
:root .ds-field .ds-search-shell input{padding-left:32px}
:root .schedule-date-range input{border:0!important;border-radius:4px}
:root .schedule-date-range:focus-within{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}

/* A select remains one accessible button; its arrow is a full-size hover area. */
:root .ui-select .ui-select-control{padding:0 0 0 8px!important;gap:4px;overflow:hidden}
:root .ui-select .ui-select-chevron{flex:0 0 var(--field-icon-size)!important;width:var(--field-icon-size)!important;height:var(--field-icon-size);margin:-1px -1px -1px 0;align-self:center;border:0!important}
:root .ui-select .ui-select-chevron:after{background-image:url('../assets/design-system/components-img.svg')}
:root .ui-select-control:not(:disabled) .ui-select-chevron:hover{background-color:var(--surface-2)}
:root .ui-select-control:disabled .ui-select-chevron{visibility:hidden}
:root .ms-control>.ms-icon-btn{flex:0 0 var(--field-icon-size);width:var(--field-icon-size);min-width:var(--field-icon-size);height:var(--field-icon-size);align-self:center;margin-block:-1px;border:0;padding:0}
:root .ms-control>.ms-icon-btn:last-child{margin-right:-1px}
:root .ms-control>.ms-icon-btn:hover:not(:disabled){background:var(--surface-2)}
:root .ms-control .ms-chevron{background-image:url('../assets/design-system/components-img.svg')}
:root .ms-control .ms-clear-icon{display:block;width:16px;height:16px}
:root[data-theme=dark] .ui-select-chevron:after,:root[data-theme=dark] .approver-picker summary:after,:root[data-theme=dark] :is(.ms-chevron,.ms-clear-icon){filter:brightness(0) invert(.8)}
:root .ds-field-disabled .ui-select-chevron{visibility:hidden}
:root .approver-picker summary{padding-right:0!important;gap:4px;overflow:hidden}
:root .approver-picker summary:after{flex:0 0 var(--field-icon-size);width:var(--field-icon-size);height:var(--field-icon-size);margin:-1px -1px -1px 0;border:0;transform:none;background:transparent url('../assets/design-system/components-img.svg') center/16px no-repeat;mask:none}
:root .approver-picker[open] summary:after{transform:rotate(180deg)}
:root .ui-select .ui-select-control.is-placeholder{--field-text:var(--muted-2)}
:root .ms-control:has(>.ms-clear[hidden]){--field-text:var(--muted-2)}
.wfield>.hint{padding-inline:8px}
:root .ui-select:has(>select:is(.is-invalid,[aria-invalid=true]))>.ui-select-control{--field-border:var(--control-danger);--field-shadow:none}
