:root{font-family:Meiryo,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;color:#25324a;background:#f5f7fb;font-size:16px;--blue:#315bda;--border:#e0e5ee;--muted:#69758b}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--blue)}button{background:white;color:#34435d;border:1px solid var(--border);padding:10px 15px;border-radius:10px;font-size:14px}button:hover{border-color:#8ca4e9}button.primary{background:var(--blue);border-color:var(--blue);color:white}button.danger{color:#b43d39;border-color:#f0cac6}button.link{background:transparent;border:0;color:var(--blue);padding:4px;font-size:14px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cdd5e1;background:white;color:#25324a;border-radius:9px;min-height:43px}textarea{min-height:94px;resize:vertical}input[type=checkbox]{width:18px;min-height:18px;margin:0;accent-color:var(--blue)}input[type=file]{font-size:14px}label{display:block;font-size:14px;line-height:1.7;margin-bottom:17px}label>input,label>select,label>textarea{margin-top:6px}label.check{display:flex;align-items:center;gap:10px;margin:12px 0}select[multiple]{height:115px}h1{font-size:27px;margin:0 0 10px}h2{font-size:19px;margin:0 0 18px}h3{font-size:16px;margin:0 0 12px}p{line-height:1.8}.muted{color:var(--muted);font-size:14px;line-height:1.8}.small{font-size:12px;color:var(--muted);line-height:1.7}.shell{display:grid;grid-template-columns:215px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--border);padding:28px 16px;position:sticky;top:0;height:100vh;overflow:auto}.brand{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-size:26px;font-weight:800;letter-spacing:-1px;padding:0 12px 26px;color:#2646a6}.sidebar nav{display:grid;gap:5px}.sidebar nav button{text-align:left;background:transparent;border:0;min-height:42px;font-size:14px}.sidebar nav button.active{color:var(--blue);background:#eaf0ff}.sidebar .orgselect{margin:0 0 20px}.sidebar footer{margin-top:26px;padding-top:20px;border-top:1px solid var(--border)}.main{min-width:0}.topbar{background:#fff;border-bottom:1px solid var(--border);padding:18px 30px;display:flex;align-items:center;justify-content:space-between;gap:15px}.content{padding:32px;max-width:1250px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.heading p{margin:0}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.card{background:white;padding:24px;border:1px solid var(--border);border-radius:13px;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid .card{margin-bottom:0}.stack{display:grid;gap:15px}.tag{display:inline-block;font-size:12px;padding:4px 8px;border-radius:8px;background:#edf1f8;color:#60708b;white-space:nowrap}.tag.good{background:#e7f5ed;color:#35794c}.tag.bad{background:#fff0ed;color:#b95045}.tag.blue{background:#ecf1ff;color:#426ac3}.list{border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}.item{padding:18px 22px;border-bottom:1px solid var(--border)}.item:last-child{border-bottom:0}.itemtitle{font-size:16px;font-weight:600;line-height:1.6}.item .muted{margin-top:6px}.item button.title{text-align:left;border:0;padding:0;background:transparent;font-size:16px;font-weight:600}.item button.title:hover{color:var(--blue)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.empty{text-align:center;padding:45px 25px;color:var(--muted);font-size:14px;line-height:1.9}.hero{border:1px solid #dce5ff;background:#eef3ff;padding:26px;border-radius:13px;margin-bottom:25px}.hero strong{font-size:25px}.hero p{margin:8px 0 0}.auth{max-width:480px;margin:6vh auto;padding:32px}.auth .brand{padding:0 0 24px}.auth .card{padding:28px}.auth .primary{width:100%}.error{padding:12px;background:#fff0ed;color:#ad3f32;border-radius:9px;font-size:14px;line-height:1.7;margin:12px 0}.notice{background:#f1f5fc;border-radius:10px;padding:16px;font-size:14px;line-height:1.8;margin:15px 0}.checkboxes{display:grid;gap:6px}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.toolbar input{flex:1;min-width:160px}.toolbar select{width:auto}.num{font-size:30px;display:block;margin:15px 0 5px}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}td,th{padding:14px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{color:#778399;font-weight:500;font-size:13px}.code{font-family:ui-monospace,monospace;overflow-wrap:anywhere;background:#f4f6fa;padding:15px;border-radius:9px;font-size:13px}details{margin:18px 0}summary{cursor:pointer;color:#4264b5;font-size:14px;padding:10px 0}dialog{width:min(760px,calc(100% - 28px));max-height:90vh;overflow:auto;padding:28px;border:1px solid var(--border);border-radius:15px;color:#25324a;box-shadow:0 20px 100px #10244830}dialog::backdrop{background:#16264570}.dialoghead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.dialoghead h2{margin:0}.dialoghead button{border:0;padding:4px 10px;font-size:24px}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fieldhelp{display:block;font-size:12px;color:var(--muted);margin-top:5px}.uploadbox{padding:17px;background:#f5f7fb;border-radius:11px;margin:16px 0}.history{border-left:2px solid #dce4f3;padding-left:16px;margin:18px 0}.history p{margin:3px 0;font-size:14px}.history section{margin:0 0 20px}.photo{max-width:100%;max-height:200px;border-radius:11px}.qr{width:230px;max-width:100%}.bar{height:9px;background:#e2e8f4;border-radius:8px;overflow:hidden;margin:14px 0}.bar span{display:block;height:100%;background:var(--blue)}#toast{position:fixed;z-index:100;bottom:25px;left:50%;transform:translateX(-50%);max-width:90%;background:#25385e;color:white;padding:14px 22px;border-radius:12px;font-size:14px;display:none}#toast.show{display:block}form>.primary{margin-top:10px}.loading{padding:50px;text-align:center}.pillnav{display:flex;gap:8px;margin-bottom:20px}.pillnav button.active{background:#eaf0ff;color:var(--blue);border-color:#b9caf5}.onboard{max-width:800px;margin:35px auto;padding:20px}.template{display:flex;gap:14px;align-items:flex-start}.template>input{margin-top:5px}.template .muted{margin:5px 0 0}.balance{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:850px){.shell{grid-template-columns:175px 1fr}.sidebar{padding:22px 10px}.content{padding:24px}.grid.three{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}@media(max-width:600px){.shell{display:block}.sidebar{height:auto;position:static;padding:15px;border-bottom:1px solid var(--border);border-right:0}.sidebar .brand{padding:0;font-size:22px}.sidebar .orgselect{margin:12px 0;width:100%}.sidebar nav{display:flex;overflow-x:auto;gap:3px}.sidebar nav button{white-space:nowrap;padding:9px 12px}.sidebar footer{display:none}.topbar{padding:13px 17px;align-items:flex-start}.content{padding:24px 17px}.heading{align-items:flex-start;gap:12px}h1{font-size:24px}.heading>button{white-space:nowrap;padding:10px;font-size:13px}.card{padding:20px}.grid.three,.split{grid-template-columns:1fr}.item{padding:17px}.row.between{align-items:flex-start}.auth{padding:20px;margin-top:20px}.auth .card{padding:22px}dialog{padding:22px}.hero{padding:20px}.hero strong{font-size:23px}.onboard{margin:10px auto}.topbar .small{max-width:160px}}

.password-control{display:flex;gap:8px;align-items:center}.password-control input{min-width:0;flex:1}.password-control button{flex-shrink:0;min-width:70px}.password-field{margin-bottom:16px}

.onboard-wizard{max-width:580px;margin:40px auto;padding:0 20px}.onboard-choice{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--border,#ddd);border-radius:13px;padding:14px;cursor:pointer;margin-bottom:10px}.onboard-choice input{width:auto;flex:none;margin-top:4px}.onboard-choice small{display:block;margin-top:5px;color:var(--muted,#666);font-weight:normal}.onboard-choice:has(input:checked){border-color:#2563eb;background:#eff6ff}.onboard-buttons{margin-top:24px;justify-content:space-between}.onboard-wizard h1:focus{outline:none}

.dashboard-panels{display:grid;gap:18px;margin-top:24px}.dashboard-panels h2{margin-bottom:12px}.dashboard-actions{flex-wrap:wrap}.dashboard-option{margin-bottom:20px}.dashboard-option p{margin:4px 0 0 28px}

/* Compact shared navigation: company/account controls stay in the menu. */
.compact-shell{display:block;min-height:100vh}.appbar{height:52px;display:flex;align-items:center;gap:14px;padding:0 24px;background:#fff;border-bottom:1px solid var(--border);position:relative;z-index:20}.appbar .brand{padding:0;font-size:21px}.account-context{font-size:12px;color:var(--muted)}.account-menu{margin:0 0 0 auto}.account-menu summary{padding:9px 12px;list-style:none;border:1px solid var(--border);border-radius:9px;color:#34435d}.account-menu summary::-webkit-details-marker{display:none}.account-menu[open] summary{background:#edf2ff}.account-popover{position:absolute;right:24px;top:46px;width:min(310px,calc(100vw - 24px));background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:0 12px 32px #25324a22}.account-popover p{margin:0 0 12px}.main-tabs{display:flex;gap:8px;overflow-x:auto;background:#fff;border-bottom:1px solid var(--border);padding:0 24px}.main-tabs button{white-space:nowrap;border:0;border-radius:0;background:transparent;min-height:44px;padding:10px 16px;color:var(--muted);border-bottom:2px solid transparent}.main-tabs button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.compact-shell .content{max-width:1440px;padding:20px 24px}.compact-shell .heading{margin-bottom:16px;gap:12px}.compact-shell h1{font-size:23px;margin-bottom:4px}.compact-shell h2{font-size:17px;margin-bottom:10px}.compact-shell .card{padding:16px;margin-bottom:12px}.compact-shell .item{padding:12px 16px}.compact-shell .empty{padding:20px 16px}.compact-shell .hero{padding:16px;margin-bottom:16px}.compact-shell .hero strong{font-size:20px}.compact-shell .dashboard-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;align-items:start}.compact-shell .dashboard-panels .card{margin:0}.compact-shell .dashboard-panels p{margin:8px 0 12px}.compact-shell .grid{gap:14px}
@media(max-width:600px){.appbar{padding:0 14px;height:48px}.account-popover{right:12px;top:44px}.main-tabs{padding:0 8px;gap:0}.main-tabs button{flex:1;padding:10px;font-size:13px}.compact-shell .content{padding:16px 14px}.compact-shell .dashboard-panels{grid-template-columns:1fr;gap:12px}.compact-shell .heading{flex-wrap:wrap}.compact-shell h1{font-size:21px}}

/* Prioritize actions and data; disclose secondary explanations on demand. */
.heading-title{display:flex;align-items:center;gap:12px;min-width:0}.context-help{position:relative;margin:0;flex-shrink:0}.context-help summary{padding:6px 0;color:var(--muted);font-size:13px;white-space:nowrap}.context-help p{position:absolute;z-index:25;top:28px;left:0;width:260px;max-width:70vw;background:white;border:1px solid var(--border);border-radius:10px;padding:12px;box-shadow:0 6px 20px #25324a18;font-size:14px;line-height:1.5;color:#34435d}.management-list{background:#fff;border:1px solid var(--border);border-radius:11px;overflow:hidden}.management-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border)}.management-row>div{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.management-row button{flex-shrink:0}.management-row:last-child{border-bottom:0}.secondary-section{margin:0}.secondary-section>summary{padding:12px 16px;background:#fafbfe}.secondary-link{display:flex;justify-content:space-between;align-items:center;gap:12px}.secondary-link .context-help p{left:auto;right:0}.compact-shell .muted{line-height:1.5}.compact-shell .heading h1{margin:0}.compact-shell .dashboard-panels .card>h2{margin-bottom:8px}.compact-shell .hero{background:transparent;border:0;padding:0;margin:0 0 12px}.compact-shell .hero strong{font-size:16px;font-weight:500}.compact-shell .list+.secondary-section{margin-top:14px}.compact-shell .item .muted{line-height:1.5}.compact-shell .card p:empty{display:none}
@media(max-width:600px){.heading-title{gap:8px}.management-row{padding:12px}.management-row>div{display:block}.management-row .muted{display:block;margin-top:4px}.compact-shell .heading>.row{gap:8px}.context-help p{left:auto;right:-60px}.compact-shell button{min-height:40px}}

/* Desktop uses one header row; phones use thumb-reachable fixed navigation. */
.appbar .desktop-tabs{flex:1;min-width:0;align-self:stretch;align-items:stretch;padding:0;border:0;gap:4px;background:transparent}.appbar .brand{flex-shrink:0}.appbar .account-menu{flex-shrink:0}.mobile-bottom-tabs,.mobile-menu-links{display:none}.account-popover{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:700px){.appbar .desktop-tabs{display:none}.appbar{height:48px;padding:0 14px}.mobile-menu-links{display:grid;gap:2px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px 0;margin-bottom:12px}.mobile-menu-links button{text-align:left;border:0;background:transparent;min-height:44px}.mobile-menu-links button.active{background:#edf2ff;color:var(--blue)}.mobile-bottom-tabs{display:flex;position:fixed;z-index:30;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border);padding:4px 12px calc(4px + env(safe-area-inset-bottom));box-shadow:0 -2px 12px #25324a08}.mobile-bottom-tabs button{flex:1;min-height:48px;border:0;border-radius:9px;background:transparent;font-size:14px}.mobile-bottom-tabs button.active{background:#edf2ff;color:var(--blue);font-weight:600}.compact-shell .content{padding-bottom:calc(84px + env(safe-area-inset-bottom))}#toast{bottom:calc(76px + env(safe-area-inset-bottom))}.account-popover{right:12px;top:44px}}

@media(min-width:701px){.responsive-management>summary{display:none}.management-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.management-list>.management-row{min-height:88px}.responsive-management{grid-column:1/-1}.responsive-management>.management-row{min-height:72px}.management-row{padding:18px 20px}.management-row>div{gap:24px}.management-list>.management-row:first-child{border-right:1px solid var(--border)}}

.owner-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1200px}.owner-function-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:22px;background:#fff;border:1px solid var(--border);border-radius:15px;min-width:0;color:#25324a;transition:border-color .15s,box-shadow .15s}.owner-function-card:hover{border-color:#7896e8;box-shadow:0 4px 16px #25324a0d}.owner-function-card:focus-visible{outline:3px solid #7596ef;outline-offset:3px}.owner-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.owner-card-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#edf2ff;color:#315bda;font-size:24px}.owner-card-arrow{font-size:20px;color:#8793a6}.owner-function-card strong{font-size:18px;line-height:1.5;margin-bottom:8px}.owner-card-summary{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.owner-card-description{font-size:13px;color:var(--muted);line-height:1.5;margin-top:8px}.owner-shell .mobile-menu-links{display:none}.owner-back{margin-bottom:16px}.owner-shell .content{padding-bottom:24px}
@media(min-width:701px) and (max-width:1000px){.owner-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.owner-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.owner-function-card{padding:16px}.owner-card-top{margin-bottom:12px}.owner-function-card strong{font-size:16px}.owner-card-summary{font-size:14px}.owner-card-description{display:none}.owner-shell .content{padding-bottom:24px}}

.owner-hidden{display:none!important}.header-company{margin-left:auto;min-width:0;max-width:360px}.header-company select{width:100%;min-height:38px;padding:7px 30px 7px 12px;font-size:14px;background:#f8faff;border-color:var(--border);text-overflow:ellipsis}.owner-account-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border);font-size:14px;color:var(--muted)}.owner-account-footer button{color:var(--muted)}@media(max-width:700px){.header-company{max-width:calc(100% - 92px)}.header-company select{min-height:40px;padding-left:8px}.owner-account-footer{margin-top:20px;gap:12px}}

.header-company select{background:transparent;border:0;border-radius:0;box-shadow:none;padding-right:24px;font-weight:500;cursor:pointer}.header-company select:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:7px}.appbar .owner-account-menu{margin-left:0}.owner-account-menu>summary{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:8px;border:0;background:transparent;color:var(--muted)}.owner-account-menu>summary:hover{background:#f0f3f8}.owner-account-menu .account-popover{width:240px}.owner-account-menu>summary:focus-visible{outline:2px solid var(--blue)}

.brand-home{border:0;background:transparent;cursor:pointer}.org-tree,.org-tree ul{list-style:none;padding-left:24px}.org-tree{padding:0;overflow:auto}.org-tree ul{border-left:2px solid #dce4f3;margin:12px 0 12px 18px}.org-tree li{margin:12px 0}.org-node{display:flex;flex-direction:column;gap:6px;text-align:left;min-width:220px;padding:16px;border-radius:13px}.org-node strong{font-size:17px}.org-node span{font-size:14px}.org-node small{color:var(--muted)}

.org-actions{display:grid;gap:16px}.org-actions section{padding-bottom:16px;border-bottom:1px solid var(--border)}.org-actions section:last-child{border:0;padding-bottom:0}.org-actions h3{margin:0 0 10px;display:flex;align-items:center;gap:12px}.org-actions details{margin:10px 0 0}.org-actions details p{margin:6px 0}.org-back{margin-bottom:16px}.org-chart-scroll{overflow-x:auto;padding:8px 0 20px;max-width:100%}.org-chart-scroll:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(min-width:701px){.org-tree{display:flex;min-width:max-content;justify-content:center;margin:0;overflow:visible;padding:0 16px}.org-tree li{display:flex;flex-direction:column;align-items:center;position:relative;margin:0;padding:20px 12px 0}.org-tree>li{padding-top:0}.org-tree ul{display:flex;align-items:flex-start;position:relative;border:0;margin:0;padding:20px 0 0}.org-tree ul:before{content:"";position:absolute;top:0;left:50%;height:20px;border-left:2px solid #dce4f3}.org-tree ul>li:before{content:"";position:absolute;top:0;left:0;right:0;border-top:2px solid #dce4f3}.org-tree ul>li:first-child:before{left:50%}.org-tree ul>li:last-child:before{right:50%}.org-tree ul>li:after{content:"";position:absolute;top:0;left:50%;height:20px;border-left:2px solid #dce4f3}.org-node{width:220px;min-width:220px;gap:5px;padding:14px}}
@media(max-width:700px){.org-tree{margin:0;overflow:visible}.org-tree li{margin:8px 0}.org-tree ul{margin:8px 0 8px 10px;padding-left:12px}.org-node{min-width:0;width:100%;padding:10px 12px;gap:3px}.org-node strong{font-size:15px}.org-node span{font-size:13px}.org-node small{font-size:12px}.org-chart-scroll{padding-top:0}.org-actions{gap:12px}.org-actions section{padding-bottom:12px}.org-actions .row{gap:8px}}

.org-node{border:1.5px solid color-mix(in srgb,var(--org-color,#5878a4) 55%,#e0e5ee);background:color-mix(in srgb,var(--org-color,#5878a4) 8%,white);color:#25324a}.org-node:hover{border-color:var(--org-color,#5878a4);background:color-mix(in srgb,var(--org-color,#5878a4) 13%,white)}.org-color-action{text-align:right}input[type=color]{height:44px;padding:4px;max-width:140px}

.color-swatches{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0 16px}.color-swatch{width:40px;min-height:40px;padding:0;background:var(--swatch);border:3px solid white;box-shadow:0 0 0 1px #d5dce7;border-radius:50%}.color-swatch:hover,.color-swatch:focus-visible{outline:2px solid #25324a;outline-offset:2px;background:var(--swatch)}.color-choice{position:relative;margin:0;width:34px;height:34px;cursor:pointer}.color-choice input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.color-choice span{display:block;width:30px;height:30px;border-radius:50%;background:var(--swatch);border:3px solid white;box-shadow:0 0 0 1px #d5dce7}.color-choice:has(input:checked) span,.color-choice:has(input:focus-visible) span{outline:2px solid #25324a;outline-offset:2px}.color-auto{display:flex;align-items:center;gap:6px;margin:0}.color-auto input{width:18px;min-height:18px;margin:0}.custom-color{display:flex;align-items:center;gap:8px;margin:0;font-size:14px}.custom-color input{width:44px;height:36px;min-height:36px;margin:0}.color-options{justify-content:space-between}.dialoghead h2{flex:1;min-width:0}.dialoghead .palette-button{font-size:14px;padding:8px;min-width:36px;min-height:36px;display:grid;place-items:center;color:var(--muted)}.org-actions{gap:10px}.org-actions section{padding-bottom:10px}.org-actions h3{margin-bottom:8px}.org-back{margin-bottom:8px}.org-node{padding:10px 12px;gap:3px}.org-node strong{font-size:16px}.org-node span{font-size:13px}@media(min-width:701px){.org-node{width:190px;min-width:190px}.org-tree li{padding-left:8px;padding-right:8px}}@media(max-width:700px){dialog{padding:16px}.dialoghead{margin-bottom:14px;gap:8px}.org-tree ul{margin-left:6px;padding-left:10px}.org-node{padding:8px 10px}.org-actions button{padding:8px 10px}}

.organization-badge{display:inline-flex;align-items:center;gap:5px;margin-right:8px;white-space:nowrap}.organization-badge>span{width:9px;height:9px;border-radius:50%;border:1px solid #0002;flex-shrink:0}

.org-node-row{display:flex;align-items:center}.org-expand,.org-leaf{display:none}
@media(max-width:700px){
.org-tree{width:100%}.org-tree li{position:relative;margin:0;padding:0}.org-tree ul{position:relative;margin:0 0 0 13px;padding-left:14px;border-left:1px solid #aebbd0}.org-tree ul>li:before{content:"";position:absolute;left:-14px;top:29px;width:14px;border-top:1px solid #aebbd0}.org-tree ul>li:last-child:after{content:"";position:absolute;left:-15px;top:30px;bottom:0;width:2px;background:#f5f7fb}.org-node-row{gap:0;position:relative;padding:3px 0;min-width:0}.org-node{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;flex:1;min-width:0;min-height:52px;padding:7px 10px;border-radius:9px}.org-node strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.org-node .org-person{font-size:12px;line-height:1.4;grid-column:1;overflow-wrap:anywhere}.org-node .org-count{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:12px;white-space:nowrap}.org-expand{display:grid;place-items:center;flex:0 0 28px;width:28px;min-height:44px!important;padding:0!important;background:transparent;border:0;font-size:20px;color:#596b85}.org-leaf{display:block;flex:0 0 28px;width:28px}.org-collapsed>ul{display:none}.org-chart-scroll{padding:0 0 12px}.compact-shell:has(.org-tree) .heading{margin-bottom:10px}
}

.member-directory{background:#fff;border:1px solid var(--border);border-radius:11px;overflow:hidden}.member-directory-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 90px 16px;gap:12px;align-items:center;width:100%;text-align:left;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:12px 16px}.member-directory-row:last-child{border-bottom:0}.member-directory-row:hover{background:#f4f7fd}.member-email{display:block;color:var(--muted);font-size:13px;overflow-wrap:anywhere;margin-top:3px}.pagination{justify-content:flex-end;margin-top:14px}@media(max-width:600px){.member-directory-row{grid-template-columns:minmax(0,1fr) auto 12px;gap:8px;padding:12px}.member-directory-row>span:nth-child(2){display:none}.member-directory-row:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}}

.account-edit-card{max-width:1100px}.account-edit-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-edit-heading h2{margin:0}.account-edit-heading .muted{margin:4px 0}.account-edit-card form>h3{margin:18px 0 8px}.org-picker-help{font-size:14px;margin:4px 0 10px;color:var(--muted)}.org-picker{max-height:390px;overflow:auto;border:1px solid var(--border);border-radius:11px;padding:12px;background:#fafbfe}.org-choice-node,.org-choice-node ul{list-style:none;margin:0;padding:0}.org-choice-node{display:grid;grid-template-columns:28px minmax(0,1fr);gap:0 6px;align-items:start;position:relative}.org-choice-node ul{grid-column:2;display:none;border-left:1px solid #cbd4e2;margin-left:13px;padding-left:12px;width:calc(100% - 12px)}.org-choice-node.expanded>ul,.org-choice-node:has(.org-choice-node.expanded)>ul{display:block}.org-choice-expand,.org-choice-spacer{display:grid;place-items:center;min-height:46px;width:28px;padding:0;border:0;background:transparent;color:#566985;font-size:19px}.org-choice-card{display:flex;align-items:center;gap:10px;padding:8px 12px;min-height:46px;margin:0;border:1px solid transparent;border-radius:10px;cursor:pointer}.org-choice-card:hover{background:#fff;border-color:var(--border)}.org-choice-card:has(input:checked){background:#eef3ff;border-color:#c4d2f5}.org-choice-card input{flex:0 0 18px}.org-color-dot{width:11px;height:11px;border-radius:50%;flex:0 0 11px}.org-choice-text{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;flex:1}.org-choice-text strong{overflow-wrap:anywhere}.org-choice-text small{color:var(--muted);white-space:nowrap}.account-extra{margin-top:14px}.account-edit-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:14px;border-top:1px solid var(--border)}
@media(min-width:900px){.org-picker{overflow-x:auto}.org-choice-node:not(:first-child){min-width:180px}.org-choice-node:first-child>ul{display:flex;align-items:flex-start;border:0;margin:0;padding:12px 0 0;width:max-content;min-width:100%}.org-choice-node:first-child>ul>.org-choice-node{display:block;padding:0 10px;min-width:200px;max-width:270px}.org-choice-node:first-child>.org-choice-card{max-width:350px}.org-choice-node:first-child>ul>.org-choice-node>ul{display:none}.org-choice-node:first-child>ul>.org-choice-node.expanded>ul{display:block;border-left:1px solid #cbd4e2;margin:6px 0 0 10px;padding-left:10px;width:auto}.org-choice-node:first-child>ul>.org-choice-node>.org-choice-expand{display:inline-grid;vertical-align:middle}.org-choice-node:first-child>ul>.org-choice-node>.org-choice-card{display:inline-flex;vertical-align:middle;width:calc(100% - 36px)}}
@media(max-width:600px){.org-picker{max-height:55vh;padding:8px}.org-choice-card,.org-choice-expand,.org-choice-spacer{min-height:42px}.org-choice-text{display:block}.org-choice-text small{display:block;margin-top:2px}.account-edit-card{padding:16px}.account-edit-actions{position:sticky;bottom:0;background:white;padding:10px 0 calc(10px + env(safe-area-inset-bottom));z-index:3}}

/* Quick organization creation controls: siblings at the side, descendants below. */
.org-node-row{gap:5px;align-items:center}
.org-add{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:5px 9px;border-radius:10px;color:#405170;background:#fff;border-color:#d8dfeb;white-space:nowrap}
.org-add{font-size:22px;line-height:1;color:var(--blue)}
.org-add:hover,.org-add:focus-visible{border-color:var(--blue);background:#f2f5ff;color:#2349bd}
.org-add-child{margin:3px 0 0 34px}
/* Each branch reserves equal space on both sides of its card. The right
   reserve holds the sibling button without shifting the branch centre. */
@media(min-width:701px){
 .org-tree li,.org-editing .org-tree li{padding:20px 0 0;min-width:238px}
 .org-tree>li,.org-editing .org-tree>li{padding-top:0}
 .org-node-row{position:relative;flex:none;width:190px;gap:0;justify-content:center}
 .org-node-row>.org-node{width:190px;min-width:190px;flex:none;position:relative;z-index:1}
 .org-sibling-slot{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);width:28px;height:28px}
 .org-add-sibling{position:static;transform:none;width:28px;min-width:28px;height:28px;min-height:28px;padding:0;border-radius:50%;font-size:18px}
 .org-add-child{position:relative;align-self:center;margin:6px 0 0;width:28px;min-width:28px;height:28px;min-height:28px;padding:0;border-radius:9px;font-size:18px;opacity:1}
 .org-add-child:before{content:"";position:absolute;bottom:100%;left:calc(50% - 1px);height:7px;border-left:2px solid #dce4f3;pointer-events:none}
 .org-tree ul>li:after{height:20px}
}
@media(max-width:700px){
 .org-node-row{position:relative;gap:5px}
 .org-sibling-slot{flex:0 0 28px;width:28px}
 .org-add-sibling{position:static;transform:none;width:28px;min-width:28px;height:28px;min-height:28px;padding:0;border-radius:50%;font-size:18px}
 .org-add-child{position:relative;width:28px;min-width:28px;height:28px;min-height:28px;margin:3px auto 5px;padding:0;border-radius:9px;font-size:18px}
}
.org-add-child,.org-sibling-slot{display:none!important}.org-editing .org-add-child,.org-editing .org-sibling-slot{display:flex!important}.org-editing .org-add-child{display:inline-flex!important}
.org-editing .org-node{cursor:grab;touch-action:none}.org-node.org-dragging{opacity:.42;cursor:grabbing;box-shadow:0 8px 24px #1e2a3d28}.org-drop-target>.org-node-row .org-node{border:2px dashed var(--blue)!important;outline:5px solid #315bda20;background:#edf2ff!important;transform:scale(1.025)}.org-drop-target>.org-node-row:after{content:"ここに配下として移動";position:absolute;inset:3px 0;z-index:4;display:flex;justify-content:center;align-items:center;border:2px dashed var(--blue);border-radius:11px;background:#ffffffd9;color:#2349bd;font-size:13px;font-weight:700;pointer-events:none}.org-drag-active{user-select:none;cursor:grabbing!important}
.org-rename-form{display:grid;grid-template-columns:minmax(130px,.65fr) minmax(0,1fr) auto;gap:10px;align-items:end;margin:0 0 16px;padding:14px;background:#f7f9fc;border:1px solid var(--border);border-radius:11px}
.org-rename-form label{margin:0}.org-rename-current{display:flex;flex-direction:column;gap:4px;padding:8px 0}.org-rename-current .muted{font-size:12px}
.org-move-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin:0 0 16px;padding:14px;background:#fff;border:1px solid var(--border);border-radius:11px}.org-move-form label{margin:0}.org-danger-zone{margin-top:16px;padding:12px;border:1px solid #efd3d0;border-radius:11px;background:#fffafa}.org-danger-zone summary{color:#9d3933;cursor:pointer}.org-danger-zone p{font-size:13px;color:var(--muted)}
@media(max-width:600px){.org-rename-form{grid-template-columns:1fr}.org-rename-form button{width:100%}.org-move-form{grid-template-columns:1fr}.org-move-form button{width:100%}}

/* Compact mobile outline; reserve controls inside the row, never outside it. */
@media(max-width:700px){
 .org-tree ul{margin-left:9px;padding-left:10px}
 .org-tree ul>li:before{left:-10px;width:10px;top:24px}
 .org-tree ul>li:last-child:after{left:-11px;top:25px}
 .org-node-row{display:flex;gap:3px;padding:2px 0}
 .org-node{min-height:44px;padding:5px 8px;gap:1px 6px;border-radius:9px}
 .org-node strong{font-size:14px;line-height:1.35}
 .org-node .org-person{font-size:11px;line-height:1.35}
 .org-node .org-count{font-size:11px}
 .org-expand,.org-leaf{flex-basis:22px;width:22px}
 .org-expand{min-height:40px!important;font-size:17px}
 .org-editing .org-node-row{padding-bottom:32px}
 .org-editing .org-sibling-slot{position:absolute;bottom:2px;left:22px;width:26px;height:26px}
 .org-add-sibling{width:26px;min-width:26px;height:26px;min-height:26px;font-size:17px}
 .org-editing .org-add-child{position:relative;width:26px;min-width:26px;height:26px;min-height:26px;margin:-30px 0 4px 54px;font-size:17px}
 .org-editing .org-add{min-height:26px!important}
}

.compact-shell .content:has(.org-chart-scroll){max-width:none;width:100%;padding-bottom:40px}
.org-chart-scroll{scrollbar-width:none}
.org-chart-scroll::-webkit-scrollbar{display:none}
.org-bottom-scroll{position:fixed;bottom:0;height:20px;overflow-x:scroll;overflow-y:hidden;z-index:35;background:#edf1f7;scrollbar-width:auto}
.org-bottom-scroll[hidden]{display:none}
.org-bottom-scroll>div{height:1px}
.org-bottom-scroll::-webkit-scrollbar{height:14px}
.org-bottom-scroll::-webkit-scrollbar-thumb{background:#9aa9bf;border:3px solid #edf1f7;border-radius:11px}
.org-bottom-scroll::-webkit-scrollbar-track{background:#edf1f7}

.org-drag-ghost{position:fixed;z-index:1000;pointer-events:none;display:flex;flex-direction:column;width:190px;padding:10px;border:2px solid #315bda;border-radius:11px;background:#eef3ff;opacity:.85;box-shadow:0 8px 24px #25324a30}

.org-drop-before>.org-node-row:before,.org-drop-after>.org-node-row:before{content:"ここに配置";position:absolute;top:-22px;bottom:0;width:40px;border-left:3px dashed var(--blue);color:var(--blue);background:#eef3ffb3;font-size:11px;pointer-events:none;z-index:5}
.org-drop-before>.org-node-row:before{left:-16px}.org-drop-after>.org-node-row:before{left:calc(100% + 6px)}
@media(max-width:700px){.org-drop-before>.org-node-row:before,.org-drop-after>.org-node-row:before{left:22px;right:0;width:auto;height:18px;border-left:0;border-top:3px dashed var(--blue);top:-8px;bottom:auto}.org-drop-after>.org-node-row:before{top:auto;bottom:27px}}

.org-create-card,.org-placement-card{width:190px;min-height:64px;border:1.5px dashed #aab4c4;border-radius:11px;background:#f0f2f6;color:#69758b;display:flex;align-items:center;justify-content:center;padding:10px;font-size:13px;text-align:center}
.org-placement-card{border-color:var(--blue);background:#edf2ff;color:var(--blue);opacity:.8}
.org-tree .org-create-slot:before,.org-tree .org-create-slot:after{display:none}
.org-tree .org-drag-expanded>ul{display:flex}
@media(max-width:700px){.org-tree .org-drag-expanded>ul{display:block}.org-create-card,.org-placement-card{width:calc(100% - 25px);margin:4px 0 4px 25px;min-height:42px}.org-tree .org-create-slot:before,.org-tree .org-create-slot:after{display:none}}

.org-edit-guide{margin:0 0 12px;padding:9px 12px;border-radius:9px;background:#edf2ff;color:#475d86;font-size:13px;line-height:1.6}
.org-editing .org-node-row{padding-bottom:2px}

.org-stage{display:flex;align-items:stretch;min-width:max-content;min-height:100%;gap:12px}
.org-stage>.org-tree{flex:1;width:auto}
.org-create-rail{position:relative;flex:0 0 166px;width:166px}
.org-create-rail .org-create-card{position:absolute;right:0;width:160px;min-height:48px;margin:0;font-size:12px}
@media(min-width:701px){.org-stage .org-tree li{min-width:218px}}
@media(max-width:700px){.org-stage{display:block;min-width:0}.org-stage>.org-tree{width:100%}.org-create-rail{width:100%;display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.org-create-rail .org-create-card{position:static;flex:1;min-width:130px}.org-editing .org-node-row{padding-bottom:32px}}

/* Keep level creation controls beside the chart, not at the viewport edge. */
@media(min-width:701px){
 .org-stage{width:max-content;min-width:0;margin-inline:auto;gap:8px}
 .org-stage>.org-tree{flex:none}
 .org-create-rail{flex-basis:160px;width:160px}
}

/* Narrow organization cards without reducing text size. */
@media(min-width:701px){
 .org-stage .org-tree li{min-width:188px}
 .org-stage .org-node-row,.org-stage .org-node-row>.org-node{width:160px;min-width:160px}
 .org-node strong,.org-node .org-person{overflow-wrap:anywhere}
 .org-create-rail{flex-basis:140px;width:140px}
 .org-create-rail .org-create-card{width:140px}
 .org-placement-card{width:160px}
}
.org-drag-ghost{width:160px}

/* Compact the organization page header without changing chart interactions. */
.compact-shell .content:has(.org-chart-scroll){display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;row-gap:6px;padding-top:10px;padding-inline:16px}
.content:has(.org-chart-scroll)>.owner-back{grid-column:1;grid-row:1;align-self:center;margin:0;white-space:nowrap;font-size:12px}
.compact-shell .content:has(.org-chart-scroll)>.heading{grid-column:2;grid-row:1;margin:0;align-items:center;min-width:0}
.content:has(.org-chart-scroll)>.org-edit-guide{grid-column:1/-1;margin:0;padding:3px 6px;font-size:11px;line-height:1.5;background:transparent;color:var(--muted)}
.content:has(.org-chart-scroll)>.org-chart-scroll{grid-column:1/-1;padding-top:2px}
.content:has(.org-chart-scroll) .heading h1{font-size:20px;margin:0}
.content:has(.org-chart-scroll) .heading .context-help summary{font-size:11px;padding:4px 0}
@media(max-width:700px){
 .compact-shell .content:has(.org-chart-scroll){padding-inline:8px;column-gap:8px;padding-top:8px}
 .content:has(.org-chart-scroll)>.owner-back{font-size:11px}
 .compact-shell .content:has(.org-chart-scroll)>.heading{gap:6px;flex-wrap:nowrap}
 .content:has(.org-chart-scroll) .heading h1{font-size:18px}
 .content:has(.org-chart-scroll) .heading button{padding:6px 8px;font-size:12px}
}
.content:has(.org-chart-scroll)>.org-chart-scroll{min-width:0;width:100%}

/* Mobile organization editing uses buttons; dragging is desktop-only. */
@media(max-width:700px),(hover:none) and (pointer:coarse){
 .content:has(.org-chart-scroll)>.org-edit-guide{display:none}
 .org-editing .org-node{cursor:pointer;touch-action:auto}
}

/* Hierarchy is expressed by weight; branch colors continue to indicate belonging. */
.org-level-1>.org-node-row>.org-node{border-width:3px;border-color:var(--org-color);background:color-mix(in srgb,var(--org-color) 10%,white)}
.org-level-1>.org-node-row>.org-node strong{font-size:17px;font-weight:750}
.org-level-2>.org-node-row>.org-node{border-width:2px}
.org-level-2>.org-node-row>.org-node strong{font-size:15px;font-weight:700}
.org-level-3>.org-node-row>.org-node{border-width:1.5px}
.org-level-3>.org-node-row>.org-node strong{font-size:14px;font-weight:650}
.org-level-4>.org-node-row>.org-node{border-width:1px;padding:6px 8px;gap:2px;background:color-mix(in srgb,var(--org-color) 4%,white)}
.org-level-4>.org-node-row>.org-node strong{font-size:14px;font-weight:600}
.org-level-4>.org-node-row>.org-node .org-person{font-size:12px}
@media(min-width:701px){
 .org-stage .org-tree li.org-level-4{min-width:164px}
 .org-stage .org-level-4>.org-node-row,.org-stage .org-level-4>.org-node-row>.org-node{width:140px;min-width:140px}
}

/* Filled upper levels, outlined descendants in the same branch hue. */
.org-tree .org-node{--org-solid:color-mix(in srgb,var(--org-color) 58%,#394454)}
.org-level-1>.org-node-row>.org-node,
.org-level-2>.org-node-row>.org-node{background:var(--org-solid);border-color:var(--org-solid);color:#fff}
.org-level-1>.org-node-row>.org-node{border-width:3px;padding:13px 14px}
.org-level-1>.org-node-row>.org-node strong{font-size:18px}
.org-level-1>.org-node-row>.org-node .org-person,
.org-level-2>.org-node-row>.org-node .org-person,
.org-level-1>.org-node-row>.org-node .org-count,
.org-level-2>.org-node-row>.org-node .org-count{color:#f1f4f8}
.org-level-3>.org-node-row>.org-node{border:2.5px solid var(--org-solid);background:color-mix(in srgb,var(--org-solid) 8%,white)}
.org-level-4>.org-node-row>.org-node{border:1px solid color-mix(in srgb,var(--org-solid) 65%,white);background:color-mix(in srgb,var(--org-solid) 4%,white)}
.org-level-4 .org-level-4>.org-node-row>.org-node{border-color:color-mix(in srgb,var(--org-solid) 40%,white);background:color-mix(in srgb,var(--org-solid) 2%,white)}
.org-tree .org-node:hover{filter:brightness(.96)}
@media(min-width:701px){
 .org-stage .org-level-1>.org-node-row,.org-stage .org-level-1>.org-node-row>.org-node{width:180px;min-width:180px}
}

.org-editable-title{display:flex;align-items:center;gap:6px}
.dialoghead .org-name-edit{font-size:19px;padding:4px 6px;color:var(--muted);background:transparent}
.org-title-form{display:flex;align-items:center;gap:4px;min-width:0;width:100%;margin:0}
.org-title-form input{min-width:0;padding:6px 8px;min-height:36px;font-size:18px;font-weight:600}
.dialoghead .org-title-form button{font-size:18px;padding:4px 7px}
.org-delete-action{margin-top:14px;padding-top:8px;border-top:1px solid var(--border);text-align:right}
.org-delete-action button.link.danger{font-size:12px;color:#a5413c;padding:5px 2px;width:auto}

/* Parent selection stays on one row with comfortably sized controls. */
.org-move-form{display:flex;align-items:center;gap:10px;padding:10px 12px}
.org-move-form label{display:flex;align-items:center;gap:12px;flex:1;min-width:0;white-space:nowrap;margin:0}
.org-move-form label>select{flex:1;min-width:0;width:auto;margin:0;min-height:48px;padding:10px 12px;font-size:15px}
.org-move-form button{flex:none;width:auto;min-height:48px;padding:10px 16px}
.dialoghead .org-name-edit{min-width:44px;min-height:44px;font-size:22px}
@media(max-width:600px){.org-move-form{gap:6px;padding:8px}.org-move-form label{gap:6px}.org-move-form button{width:auto;padding:10px}}

.owner-shell .account-menu{margin-left:auto}
.owner-menu-links{display:grid;gap:4px;margin:10px 0 16px}
.owner-menu-links button{text-align:left;min-height:40px}
.owner-shell .account-menu summary{display:flex;align-items:center;gap:6px;min-height:44px;padding:8px 10px}
.owner-shell .content:has(.org-chart-scroll)>.heading{grid-column:1/-1}

/* Desktop exposes management navigation; mobile keeps it in the menu. */
.appbar .owner-account-menu{margin-left:auto}
.owner-account-menu>summary{width:auto;height:auto;min-height:44px;white-space:nowrap}
.mobile-account-label{display:none}
.org-help-button{position:fixed;left:16px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:25;width:48px;height:48px;border-radius:50%;padding:0;font-size:24px;font-weight:600;background:white;box-shadow:0 3px 12px #25324a18}
.content:has(.org-chart-scroll)>.heading{justify-content:flex-end}
.content:has(.org-chart-scroll)>.heading .heading-title{display:none}
@media(min-width:701px){.owner-menu-links{display:none}}
@media(max-width:700px){.desktop-account-label{display:none}.mobile-account-label{display:inline}.owner-account-menu>summary{font-size:14px}.org-help-button{left:12px;width:48px;height:48px}}

.account-menu>summary.avatar-menu{width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;overflow:hidden;background:#e6ecf8;display:grid;place-items:center;color:#405784;font-size:18px;font-weight:600}
.avatar-menu img{width:44px;height:44px;object-fit:cover}
.profile-name{font-weight:600;font-size:16px!important}

.org-inline-section{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.org-inline-section h3{margin:0}
.parent-picker{flex:1;min-width:0;margin:0;position:relative}
.parent-picker>summary{border:1px solid var(--border);border-radius:9px;padding:12px;min-height:48px;color:inherit;overflow-wrap:anywhere}
.parent-tree{max-height:300px;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:9px;background:white}
.parent-branch{margin:0}.parent-branch>summary{padding:8px;color:inherit}
.parent-children{margin-left:16px;padding-left:10px;border-left:1px solid var(--border)}
.parent-tree .parent-choice{display:flex;align-items:center;gap:8px;min-height:44px;white-space:normal;margin:0;padding:6px}
.parent-choice input{width:18px;min-height:18px;flex:none}

.org-leader-list{margin-top:8px}
.org-leader-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}
.org-leader-row:last-child{border-bottom:0}
.org-leader-row>span{min-width:0;overflow-wrap:anywhere}
.org-leader-row>button{flex:none;min-height:44px;padding:8px 12px}

.org-leader-row{flex-wrap:wrap}
.leader-identity,.leader-permissions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.leader-identity input{width:150px;min-height:44px}
.leader-permissions .check{margin:0;min-height:44px;font-size:13px}
.leader-save-status{width:100%;font-size:12px;color:var(--muted)}
.leader-save-status:empty{display:none}

/* Compact member rows while retaining usable touch targets. */
.org-leader-list{margin-top:2px}
.org-leader-row{padding:2px 0;gap:2px 12px}
.leader-identity,.leader-permissions{gap:8px}
.leader-member-link{font-weight:600;text-decoration:none;display:inline-flex;align-items:center;min-height:36px}
.leader-member-link:hover{text-decoration:underline}
.leader-identity>.link{min-height:36px;padding:4px}
.leader-permissions .check{min-height:36px;line-height:1.3}
.org-actions section{padding-bottom:8px}
.org-actions h3{margin-bottom:4px}
.org-actions .org-inline-section h3{margin-bottom:0}
.leader-save-status{line-height:1.3}
@media(pointer:coarse){.leader-member-link,.leader-identity>.link,.leader-permissions .check{min-height:44px}}

.org-inline-section .row>.link{min-height:44px;padding:6px 8px}.org-members-link{margin-top:4px}

.org-node .org-person{min-width:0;max-width:100%}.org-node .org-person-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:inherit;line-height:1.5}

/* Consistent low-emphasis buttons for organization management actions. */
.org-actions button[data-action="org-child"],
.org-actions button[data-action="org-invite-leader"],
.org-actions button[data-action="org-appoint"],
.org-actions button[data-action="org-invite"],
.org-actions button[data-action="org-place"],
.org-members-link>button{
 background:#eef0f3;color:#344054;border:1px solid #c8ced7;
 border-radius:9px;padding:8px 12px;min-height:40px;
 font-size:14px;font-weight:500;line-height:1.4;
 transition:background-color .12s,border-color .12s;
}
.org-actions button[data-action="org-child"]:hover,
.org-actions button[data-action="org-invite-leader"]:hover,
.org-actions button[data-action="org-appoint"]:hover,
.org-actions button[data-action="org-invite"]:hover,
.org-actions button[data-action="org-place"]:hover,
.org-members-link>button:hover{background:#e1e5eb;border-color:#a8b1bf}
.org-actions button[data-action="org-child"]:active,
.org-actions button[data-action="org-invite-leader"]:active,
.org-actions button[data-action="org-appoint"]:active,
.org-actions button[data-action="org-invite"]:active,
.org-actions button[data-action="org-place"]:active,
.org-members-link>button:active{background:#d4dae3}
.org-actions button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(pointer:coarse){.org-actions button[data-action]{min-height:44px}}

.leader-identity button[data-action=leader-title-edit]{color:inherit}.leader-identity .edit-pencil,.dialoghead .org-name-edit{color:var(--blue)}.leader-title-done{min-height:36px;padding:6px 10px}
.batch-member-list{max-height:350px;overflow:auto;border:1px solid var(--border);border-radius:9px}
.batch-member{display:flex;align-items:center;gap:12px;margin:0;padding:10px 12px;border-bottom:1px solid var(--border);min-height:48px}
.batch-member:last-child{border-bottom:0}.batch-member input{flex:none}.batch-member small{display:block;color:var(--muted);overflow-wrap:anywhere}
.batch-result{margin:10px 0}.batch-result strong{display:block;font-size:13px;margin-bottom:4px}.batch-result input{font-size:12px}

.org-current-color{display:flex;align-items:center;gap:7px;flex:none;font-size:12px;color:var(--muted)}
.org-color-preview{display:inline-block;width:24px;height:24px;border:1px solid #0002;border-radius:7px}
.dialoghead .org-current-color button{font-size:13px;padding:6px;min-height:40px}
.org-color-menu{padding:12px;margin:-8px 0 14px;background:#f5f7fa;border:1px solid var(--border);border-radius:11px}
.org-palette-options{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.org-palette-options .color-swatch{border-radius:9px}
.org-palette-options .custom-color{margin-left:auto;font-size:12px}
.org-auto-color{min-height:44px;padding:10px 20px;background:#e5eaf1;font-weight:600}
@media(max-width:600px){.dialoghead:has(.org-current-color){flex-wrap:wrap;gap:8px}.org-current-color{margin-left:auto}}

/* Larger color samples in the inline organization color controls. */
.org-current-color .org-color-preview{width:48px;height:30px;border-radius:8px}
.org-color-menu .custom-color input[type=color]{width:72px;height:44px;min-height:44px;max-width:none;padding:3px;cursor:pointer;border-radius:9px}

/* Align descendants with longer connectors, never stretched cards. */
@media(min-width:701px){
 .org-tree .org-node-row,.org-editing .org-tree .org-node-row{padding-bottom:var(--org-level-gap,0px)}
 .org-tree li:has(>ul)>.org-node-row::before,
 .org-editing .org-tree li>.org-node-row::before{content:"";position:absolute;left:calc(50% - 1px);bottom:0;height:var(--org-level-gap,0px);border-left:2px solid #a4b3c9;pointer-events:none}
 .org-tree ul:before,.org-tree ul>li:before,.org-tree ul>li:after,.org-add-child:before{border-color:#a4b3c9}
}
@media(max-width:700px){.org-tree ul,.org-tree ul>li:before{border-color:#96a7be}}

/* Use the same border origin for every vertical connector segment. */
@media(min-width:701px){
 .org-tree ul::before,.org-tree ul>li::after{left:calc(50% - 1px)}
 .org-tree ul>li:first-child::before{left:calc(50% - 1px)}
 .org-tree ul>li:last-child::before{right:calc(50% - 1px)}
}

/* A single expanding parent picker, with one compact row per organization. */
.parent-picker{border:1px solid #c8ced7;border-radius:9px;overflow:hidden;background:white}
.parent-picker>summary{border:0;border-radius:0;padding:10px 12px;min-height:44px;list-style:none}
.parent-picker>summary::-webkit-details-marker{display:none}
.parent-picker>summary::before{content:'▸';display:inline-block;width:18px}
.parent-picker[open]>summary::before{content:'▾'}
.parent-picker[open]>summary{border-bottom:1px solid var(--border)}
.parent-picker .parent-tree{border:0;border-radius:0;padding:4px 8px;max-height:300px}
.parent-tree-row{display:flex;align-items:center;min-height:30px}
.parent-tree .parent-choice{min-height:30px;padding:2px 0;gap:7px;line-height:1.3;flex:1}
.parent-toggle,.parent-toggle-space{width:24px;min-width:24px;display:inline-block}
.parent-toggle{min-height:30px;padding:0;border:0;background:transparent;font-size:15px;color:#64748b}
.parent-children{margin-left:11px;padding-left:12px}
.parent-tree-node[data-depth="1"]>.parent-tree-row .parent-choice{font-size:15px;font-weight:700;color:var(--branch-color)}
.parent-tree-node[data-depth="2"]>.parent-tree-row .parent-choice{font-size:14px;font-weight:600;color:var(--branch-color)}
.parent-tree-node:not([data-depth="1"]):not([data-depth="2"])>.parent-tree-row .parent-choice{font-size:13px;font-weight:400;color:#586273}
.org-move-form{align-items:flex-start}
.org-move-form>span{padding-top:12px;white-space:nowrap}
.org-move-form>button{background:#eef0f3;border:1px solid #c8ced7;color:#344054;min-height:44px}
.org-move-form>button:hover{background:#e1e5eb;border-color:#a8b1bf}
.org-move-form>button:active{background:#d4dae3}
@media(pointer:coarse){.parent-tree-row,.parent-tree .parent-choice,.parent-toggle{min-height:44px}}

/* Compact folder-style selection: highlight the selected row, not a radio circle. */
.parent-tree .parent-choice{position:relative;min-height:26px;padding:2px 6px;cursor:pointer;border-radius:7px}
.parent-tree .parent-choice input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;min-height:0;margin:0}
.parent-tree-row{min-height:26px;border:1px solid transparent;border-radius:7px}
.parent-tree-row:has(.parent-choice input:checked){border-color:#8ca4c4;background:#eaf0f7}
.parent-tree-row:has(.parent-choice input:focus-visible){outline:2px solid var(--blue);outline-offset:1px}
.parent-tree-row:hover{background:#f0f3f7}
.parent-tree .parent-toggle{min-height:24px;height:24px}
.parent-tree .parent-children{margin-left:10px;padding-left:8px}
.parent-tree .parent-children[hidden]{display:none}
@media(pointer:coarse){.parent-tree-row,.parent-tree .parent-choice,.parent-tree .parent-toggle{min-height:40px}}

.parent-picker-footer{display:flex;justify-content:flex-end;padding:6px 8px;border-top:1px solid var(--border)}.parent-picker-footer button{background:#eef0f3;min-height:36px;padding:6px 12px}

.parent-tree .parent-select-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;min-height:28px;margin:0;padding:3px 8px;text-align:left;background:transparent;border:1px solid transparent;border-radius:7px;font-size:13px;line-height:1.4;color:#586273}
.parent-tree .parent-select-row>span:first-child{min-width:0;overflow-wrap:anywhere}
.parent-tree .parent-chevron{flex:none;width:18px;text-align:center;font-size:13px;color:#64748b}
.parent-tree .parent-select-row[aria-pressed=true]{background:#eaf0f7;border-color:#8ca4c4}
.parent-tree .parent-select-row:hover{background:#f0f3f7}
.parent-tree .parent-select-row:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.parent-tree-node[data-depth="1"]>.parent-select-row{font-size:15px;font-weight:700;color:var(--branch-color)}
.parent-tree-node[data-depth="2"]>.parent-select-row{font-size:14px;font-weight:600;color:var(--branch-color)}
@media(pointer:coarse){.parent-tree .parent-select-row{min-height:40px}}

.org-move-actions{display:flex;align-items:center;gap:6px;flex:none}
.org-move-actions button{min-height:44px;background:#eef0f3;border:1px solid #c8ced7;color:#344054;padding:8px 12px}
.org-move-actions button:hover{background:#e1e5eb}
.org-move-actions button[data-action=parent-pick-cancel]{background:transparent;border-color:transparent;color:var(--muted)}
.org-move-form:not(:has(.parent-picker[open])) .org-move-actions button[data-action=parent-pick-cancel]{display:none}
@media(max-width:600px){.org-move-form{flex-wrap:wrap}.org-move-actions{margin-left:auto}}

/* Keep cancel directly beneath move. */
.org-move-actions{flex-direction:column;align-items:stretch;gap:4px}

.user-directory-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:20px;align-items:start}
.directory-organizations{background:white;border:1px solid var(--border);border-radius:11px;padding:8px}
.directory-branch details{margin:0}.directory-branch summary{padding:8px;font-size:13px;color:#586273}
.directory-branch[data-depth="1"]>details>summary{font-size:16px;font-weight:700;color:var(--branch-color)}
.directory-branch[data-depth="2"]>details>summary,.directory-branch[data-depth="2"]>.directory-select{font-size:14px;font-weight:600;color:var(--branch-color)}
.directory-children{padding-left:12px;margin-left:8px;border-left:1px solid var(--border)}
.directory-select{display:block;width:100%;text-align:left;padding:7px 8px;margin:2px 0;min-height:34px;background:#f7f8fa;border:1px solid transparent;font-size:13px}
.directory-select.selected{background:#eaf0f7;border-color:#8ca4c4}
.directory-users{min-width:0}.directory-users .toolbar{margin-top:12px}
@media(max-width:700px){.user-directory-layout{grid-template-columns:1fr;gap:12px}}

/* Directory tree uses the same hierarchy styling as the home chart. */
.directory-branch{--directory-solid:color-mix(in srgb,var(--branch-color) 58%,#394454)}
.directory-branch>details>summary,.directory-branch>.directory-select{border:1px solid color-mix(in srgb,var(--directory-solid) 65%,white);border-radius:9px;background:color-mix(in srgb,var(--directory-solid) 4%,white);margin:4px 0;padding:8px 10px;line-height:1.4}
.directory-branch[data-depth="1"]>details>summary,.directory-branch[data-depth="1"]>.directory-select{background:var(--directory-solid);border:3px solid var(--directory-solid);color:white;font-size:16px;font-weight:700;padding:10px}
.directory-branch[data-depth="2"]>details>summary,.directory-branch[data-depth="2"]>.directory-select{background:var(--directory-solid);border:2px solid var(--directory-solid);color:white;font-size:14px;font-weight:600}
.directory-branch[data-depth="3"]>details>summary,.directory-branch[data-depth="3"]>.directory-select{border:2px solid var(--directory-solid);background:color-mix(in srgb,var(--directory-solid) 8%,white);font-size:13px;font-weight:600}
.directory-branch>.directory-select.selected{outline:2px solid var(--blue);outline-offset:1px}
.directory-children{margin-top:4px;margin-bottom:4px}

.directory-branch>details>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;padding:0!important;gap:0}
.directory-branch>details>summary::-webkit-details-marker{display:none}
.directory-name{flex:1;min-width:0;text-align:left;border:0;background:transparent;color:inherit;font:inherit;padding:8px 10px;border-radius:7px}
.directory-name[aria-pressed=true]{text-decoration:underline;text-underline-offset:3px}
.directory-arrow{width:32px;flex:none;text-align:center}
.directory-arrow::before{content:'▸'}
.directory-branch>details[open]>summary>.directory-arrow::before{content:'▾'}
.directory-branch>details>summary:has(.directory-name[aria-pressed=true]){outline:2px solid var(--blue);outline-offset:1px}

/* The member panel points back to the selected organization. */
.directory-users{position:relative;background:white;border:1px solid #c8d2df;border-radius:13px;padding:16px}
.directory-name[aria-pressed=true]{text-decoration:none}
.directory-branch>details>summary:has(.directory-name[aria-pressed=true]),.directory-branch>.directory-select.selected{outline:none}
@media(min-width:701px){
 .user-directory-layout{gap:24px}
 .directory-users.has-directory-pointer::before{content:"";position:absolute;left:-11px;top:var(--pointer-y,24px);width:20px;height:20px;background:white;border-left:1px solid #c8d2df;border-bottom:1px solid #c8d2df;transform:translateY(-50%) rotate(45deg);pointer-events:none}
}

/* Tie the member panel to its selected organization, including its pointer. */
.directory-users{border-color:var(--selected-org-color,#64748b)}
.directory-users>.row>strong{color:var(--selected-org-color,#64748b)}
.directory-users.has-directory-pointer::before{border-color:var(--selected-org-color,#64748b)}
.directory-arrow{display:flex;align-items:center;justify-content:center;align-self:stretch;min-height:44px;width:48px;flex:0 0 48px;cursor:pointer}
.directory-arrow::before{font-size:30px;line-height:1}
.directory-branch>details>summary{min-height:44px}
.directory-name{min-height:44px}
.directory-users{border-width:2px}
.directory-users.has-directory-pointer::before{border-width:0 0 2px 2px;left:-12px}
.directory-users button:not(.link):not(.title){background:#eef0f3;color:#344054;border:1px solid #c8ced7;border-radius:9px;padding:8px 12px;min-height:40px}
.directory-users button:not(.link):hover{background:#e1e5eb;border-color:#a8b1bf}
.directory-member{margin:0;border-bottom:1px solid var(--border)}
.directory-member:last-child{border-bottom:0}
.directory-member>summary{display:grid;grid-template-columns:32px minmax(90px,1fr) minmax(120px,1.4fr) minmax(90px,1fr) minmax(90px,.8fr) 16px;align-items:center;gap:10px;padding:9px 12px;list-style:none;color:inherit;font-size:13px}
.directory-member>summary::-webkit-details-marker{display:none}
.directory-member>summary:hover{background:#f4f6f9}
.directory-member>summary>span,.directory-member>summary>strong{overflow-wrap:anywhere;min-width:0}
.member-avatar{width:32px;height:32px;border-radius:50%;background:#e8edf5;display:grid;place-items:center;overflow:hidden}
.member-avatar img{width:100%;height:100%;object-fit:cover}
.directory-member-detail{padding:10px 14px;background:#f8fafc}
.member-inline-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:8px}
.member-inline-form label{flex:1;margin:0;min-width:130px}
.member-inline-form input{padding:6px 8px;min-height:36px}
.directory-member[open] .member-expand{transform:rotate(180deg)}
@media(max-width:1000px){.directory-member>summary{grid-template-columns:32px 1fr 1fr 16px}.member-mail{grid-column:2}.member-expand{grid-column:4;grid-row:1}}
.inline-memberships{flex-basis:100%;margin:0;border:1px solid var(--border);border-radius:9px;padding:0 10px}
.inline-memberships summary{padding:8px 0}
.inline-memberships .check{margin:0;min-height:32px}
.inline-membership-children{margin-left:12px;padding-left:12px;border-left:1px solid var(--border)}
.inline-memberships[open]{max-height:300px;overflow:auto}

.membership-row{display:flex;align-items:center;border:1px solid transparent;border-radius:7px;min-height:30px}
.membership-row:has(input:checked){background:#eaf0f7;border-color:#8ca4c4}
.membership-row label{display:flex;align-items:center;gap:8px;margin:0;flex:1;min-width:0;padding:4px 8px;cursor:pointer;font-size:13px;line-height:1.4;color:#586273}
.membership-branch[data-depth="2"]>.membership-row label{font-size:14px;font-weight:600;color:var(--branch-color)}
.directory-users .membership-row .membership-toggle{margin-left:auto;width:40px;min-height:30px;padding:0;border:0;background:transparent;font-size:22px;color:#64748b}
.inline-membership-children[hidden]{display:none}
.inline-memberships>summary{list-style:none;display:flex;justify-content:space-between}
.inline-memberships>summary::-webkit-details-marker{display:none}
.inline-memberships>summary::after{content:'▸'}
.inline-memberships[open]>summary::after{content:'▾'}
@media(pointer:coarse){.membership-row label,.directory-users .membership-row .membership-toggle{min-height:44px}}
.member-contacts{flex:1 1 260px;min-width:0;margin:0;border:1px solid var(--border);border-radius:9px;padding:8px 10px}
.member-contacts legend{font-size:13px}
.contact-input-row{display:flex;gap:5px;margin-bottom:5px;align-items:center}
.contact-input-row input{min-width:0}
.directory-users .contact-input-row button{padding:4px 8px;min-height:36px}
.member-contacts>.small{margin-left:8px}.contact-note{flex-basis:100%;margin:0}

/* Membership selection shares the parent-organization dropdown appearance. */
.inline-memberships.parent-picker{padding:0;flex-basis:100%;overflow:hidden;max-height:none}
.inline-memberships.parent-picker>summary{display:block;padding:10px 12px;min-height:44px;font-size:14px;color:inherit}
.inline-memberships.parent-picker>summary::after{content:none}
.inline-memberships.parent-picker .parent-tree{padding:4px 8px;max-height:300px;overflow:auto}
.inline-memberships .membership-row label{position:relative;min-height:26px;padding:3px 8px}
.inline-memberships .membership-row input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px;min-height:0;margin:0}
.inline-memberships .membership-row:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:-2px}
.inline-memberships .membership-row{min-height:28px}
.inline-memberships .inline-membership-children{margin-left:10px;padding-left:8px}
.inline-memberships .membership-row:has(input:checked){background:#eaf0f7;border-color:#8ca4c4}
.directory-users .inline-memberships .membership-toggle{width:32px;min-height:28px;font-size:13px}
/* Member detail form: intentional rows instead of wrapping unrelated fields. */
.directory-member-detail{padding:16px;background:#f8fafc}
.member-inline-form{display:block;margin:12px 0 0}
.member-basic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.member-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin-top:16px}
.member-inline-form label{min-width:0;margin:0;font-size:13px}
.member-inline-form input,.member-inline-form select{min-height:40px;padding:8px 10px;font-size:14px}
.member-contact-grid .member-contacts{min-width:0;border:0;border-radius:0;padding:0;margin:0}
.member-contact-grid legend{padding:0;margin-bottom:6px}
.member-contact-grid .contact-input-row{margin-bottom:6px}
.member-contact-grid .contact-input-row input{width:100%}
.directory-users .member-contacts>button{min-height:32px;padding:4px 8px;font-size:12px}
.member-inline-form .contact-note{margin:8px 0 0;line-height:1.5;font-size:11px}
.member-assignment-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:16px;align-items:start;margin-top:16px}
.member-field-label{display:block;font-size:13px;line-height:1.7;margin-bottom:6px}
.member-assignment-grid .parent-picker{margin:0;background:white}
.member-assignment-grid .parent-picker>summary{min-height:40px;padding:8px 10px}
.member-form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);margin-top:16px;padding-top:12px}
.directory-users .member-form-footer>button{background:var(--blue);border-color:var(--blue);color:white;flex:none}
.directory-member-detail>p.small{display:none}
@media(max-width:700px){.member-basic-grid{grid-template-columns:1fr}.member-contact-grid{grid-template-columns:1fr;gap:12px}.member-assignment-grid{grid-template-columns:1fr}.directory-member-detail{padding:12px}}
@media(max-width:700px){
 .directory-member>summary{grid-template-columns:32px minmax(0,1fr) 20px;gap:4px 8px}
 .directory-member>summary>.member-avatar{grid-column:1;grid-row:1 / span 4}
 .directory-member>summary>strong{grid-column:2;grid-row:1}
 .directory-member>summary>.member-mail{grid-column:2;grid-row:2}
 .directory-member>summary>span:nth-child(4){grid-column:2;grid-row:3}
 .directory-member>summary>.small{grid-column:2;grid-row:4}
 .directory-member>summary>.member-expand{grid-column:3;grid-row:1}
}
.directory-users .parent-tree .parent-select-row{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:28px;padding:3px 8px;border:1px solid transparent;background:transparent;border-radius:7px;font-size:13px;line-height:1.4;color:#586273}
.directory-users .parent-tree-node[data-depth="1"]>.parent-select-row{font-size:15px;font-weight:700;color:var(--branch-color)}
.directory-users .parent-tree-node[data-depth="2"]>.parent-select-row{font-size:14px;font-weight:600;color:var(--branch-color)}
.directory-users .parent-tree .parent-select-row[aria-pressed=true]{background:#eaf0f7;border-color:#8ca4c4}
.directory-users .parent-tree .parent-select-row:hover{background:#f0f3f7}
"
/* The membership picker uses the exact parent-picker frame and spacing. */
.member-assignment-grid{grid-template-columns:minmax(0,1fr)}
.member-membership-field.org-move-form{display:flex;align-items:flex-start;gap:10px;margin:0;padding:10px 12px;background:white;border:1px solid var(--border);border-radius:11px}
.member-membership-field>.parent-picker{flex:1;min-width:0}
.member-membership-field>.parent-picker>summary{padding:10px 12px;min-height:44px;font-size:14px}
.member-membership-field .parent-tree{padding:4px 8px}
.member-membership-field .parent-tree .parent-children{margin-left:10px;padding-left:8px}
.member-membership-field .org-move-actions button{min-height:44px}
.member-membership-field:not(:has(.parent-picker[open])) .org-move-actions{display:none}
.member-membership-field .org-move-actions button[data-action=membership-cancel]{background:transparent;border-color:transparent;color:var(--muted)}
.member-assignment-grid>label{max-width:220px}

.directory-member>summary{grid-template-columns:32px minmax(90px,1fr) minmax(120px,1.4fr) minmax(90px,1fr) minmax(90px,.8fr) 44px}
.member-expand{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:28px;line-height:1}
.parent-tree .parent-chevron{width:40px;min-height:36px;display:flex;align-items:center;justify-content:center;font-size:24px}
@media(max-width:1000px) and (min-width:701px){.directory-member>summary{grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) 44px}}
@media(max-width:700px){.directory-member>summary{grid-template-columns:32px minmax(0,1fr) 44px}}
.member-detail-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.directory-member-detail:not(.is-editing)>.member-inline-form{display:none}
.directory-member-detail.is-editing>.member-readonly,.directory-member-detail.is-editing .member-detail-top>button{display:none}
.member-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px;margin:12px 0 0}
.member-info-grid dt{font-size:12px;color:var(--muted);margin-bottom:3px}
.member-info-grid dd{font-size:14px;margin:0;overflow-wrap:anywhere}
.directory-users .member-form-footer>.row>button[type=submit]{background:var(--blue);border-color:var(--blue);color:white}
.contact-input-row button:disabled{opacity:.3;cursor:default}
@media(max-width:700px){.member-info-grid{grid-template-columns:1fr 1fr}}
.membership-check-row{display:flex;align-items:center;min-height:32px;border-radius:7px}
.membership-check-row:has(input:checked){background:#eaf0f7}
.membership-check-row label{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:4px 8px;margin:0;cursor:pointer}
.member-inline-form .membership-check-row input{width:18px;height:18px;min-height:18px;margin:0;flex:none}
.parent-tree-node[data-depth="1"]>.membership-check-row label{font-size:15px;font-weight:700;color:var(--branch-color)}
.parent-tree-node[data-depth="2"]>.membership-check-row label{font-size:14px;font-weight:600;color:var(--branch-color)}
.directory-users .membership-check-row .membership-tree-toggle{width:40px;min-height:36px;padding:0;background:transparent;border:0;font-size:24px;color:#64748b}

/* Match organization-tree disclosure arrows in the membership picker. */
.directory-users .membership-check-row .membership-tree-toggle{display:flex;align-items:center;justify-content:center;align-self:stretch;flex:0 0 48px;width:48px;min-width:48px;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font-size:30px;font-weight:400;line-height:1;box-shadow:none}
.directory-users .membership-check-row .membership-tree-toggle:hover{background:#00000006;border:0}
.membership-check-row{min-height:44px}
.membership-check-row label{min-height:44px}
.parent-tree-node[data-depth="1"]>.membership-check-row,.parent-tree-node[data-depth="2"]>.membership-check-row{color:var(--branch-color)}
.membership-line{display:block;line-height:1.5}
.member-membership-field .parent-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:8px}
.member-membership-field .parent-picker>summary::before{display:none}
.member-membership-field .parent-picker>summary::after{content:'▸';font-size:28px;line-height:1;flex:none;width:40px;text-align:center}
.member-membership-field .parent-picker[open]>summary::after{content:'▾'}

/* An expanded person reads as one continuous group. */
.directory-member[open]{background:#eef3f8}
.directory-member[open]>summary,.directory-member[open]>summary:hover{background:#eef3f8}
.directory-member[open]>.directory-member-detail{background:#eef3f8;border-top:1px solid #dbe4ef}
.directory-member>summary{grid-template-columns:32px minmax(100px,.8fr) minmax(95px,.7fr) minmax(130px,1fr) minmax(200px,2fr) 44px}
.member-identity strong,.member-number{display:block}
.member-number{font-size:11px;color:var(--muted);font-weight:400;margin-top:3px}
.directory-member>summary>.membership-lines{font-size:13px;line-height:1.5}
@media(max-width:1000px){
 .directory-member>summary{grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) 44px}
 .directory-member>summary>.member-avatar{grid-column:1;grid-row:1 / span 3}
 .directory-member>summary>.member-identity{grid-column:2 / 4;grid-row:1}
 .directory-member>summary>.member-phone{grid-column:2;grid-row:2}
 .directory-member>summary>.member-mail{grid-column:3;grid-row:2}
 .directory-member>summary>.membership-lines{grid-column:2 / 4;grid-row:3}
 .directory-member>summary>.member-expand{grid-column:4;grid-row:1}
}
.member-appointment{display:block;font-size:11px;line-height:1.4;color:#536580;margin-top:3px;font-weight:500}

/* Keep the header and detail visually united; emphasize the active editor. */
.directory-member[open]>.directory-member-detail{border-top:0}
.directory-member[open]{position:relative;border-radius:11px;box-shadow:none;border-bottom-color:transparent;overflow:hidden}
.directory-member:has(>.directory-member-detail.is-editing)>summary,
.directory-member:has(>.directory-member-detail.is-editing)>.directory-member-detail{background:transparent}

/* Share the parent-organization disclosure treatment in membership selection. */
.directory-users .membership-check-row .membership-tree-toggle{display:flex;align-items:center;justify-content:center;align-self:center;flex:0 0 40px;width:40px;min-width:40px;min-height:36px;height:36px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#64748b;font-size:24px;font-weight:400;line-height:1;box-shadow:none}
.membership-check-row,.membership-check-row label{min-height:28px}
.member-membership-field .parent-picker>summary{display:block;min-height:44px;padding:10px 12px}
.member-membership-field .parent-picker>summary::before{content:'▸';display:inline-block;width:18px;font-size:14px;line-height:inherit}
.member-membership-field .parent-picker[open]>summary::before{content:'▾'}
.member-membership-field .parent-picker>summary::after{display:none}
/* Disclosure controls must not inherit the directory's generic button skin. */
.directory-users .member-inline-form .parent-picker .membership-tree-toggle,
.directory-users .member-inline-form .parent-picker .membership-tree-toggle:hover,
.directory-users .member-inline-form .parent-picker .membership-tree-toggle:active{appearance:none;border:0;background:transparent;box-shadow:none;border-radius:0;padding:0;margin:0;flex:0 0 40px;width:40px;min-width:40px;height:36px;min-height:36px;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;font-weight:400;color:#64748b}
.directory-users .member-inline-form .parent-picker .membership-check-row{min-height:36px;border:1px solid transparent}
.directory-users .member-inline-form .parent-picker .membership-check-row:has(input:checked){border-color:#8ca4c4}
.directory-users .member-inline-form .parent-picker .membership-check-row label{min-height:28px;padding:3px 8px}

/* Frame the whole expanded member in both read and edit modes. */
.directory-member[open]::after{content:"";position:absolute;inset:0;border:2px solid #879bb7;border-radius:11px;pointer-events:none;z-index:2}

/* Match the organization picker hover across the entire membership row. */
.directory-users .parent-tree .membership-check-row:hover{background:#f0f3f7}

.appoint-candidates .batch-member{cursor:pointer}.appoint-candidates .batch-member:hover{background:#f0f3f7}.appoint-candidates .batch-member:has(input:checked){background:#e9f0f8}

/* Separate the collapse target from member details with an inset divider. */
.directory-member[open]>.directory-member-detail{position:relative;border-top:0}
.directory-member[open]>.directory-member-detail::before{content:"";position:absolute;top:0;left:14px;right:14px;height:1px;background:#cbd5e1;pointer-events:none}

/* Keep leader names and concurrent appointments readable in the chart. */
.org-node .org-person-line{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}

.org-node .org-person-line{font-size:.85em}
.org-node .org-person-line .org-role-title{font-size:inherit;font-weight:400}

.appoint-org-tree{margin-top:12px;max-height:50vh;overflow:auto;border:1px solid var(--border);border-radius:9px;padding:6px}
.appoint-org>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;cursor:pointer;padding:5px 8px;border-radius:7px;font-size:13px;color:#586273}
.appoint-org>summary::-webkit-details-marker{display:none}
.appoint-org>summary:hover,.appoint-person:hover{background:#f0f3f7}
.appoint-org[data-depth="1"]>summary{font-size:15px;font-weight:700;color:var(--branch-color)}
.appoint-org[data-depth="2"]>summary{font-size:14px;font-weight:600;color:var(--branch-color)}
.appoint-chevron{flex:none;font-size:20px;width:28px;text-align:center}
.appoint-org[open]>summary>.appoint-chevron{transform:rotate(90deg)}
.appoint-org-content{margin-left:12px;padding-left:8px;border-left:1px solid var(--border)}
.appoint-person{display:flex;align-items:center;gap:8px;margin:0;padding:5px 8px;min-height:32px;font-size:13px;line-height:1.4;cursor:pointer;border-radius:7px}
.appoint-person input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:0}
.appoint-person:has(input:checked){background:#eaf0f7}

/* Distinguish organization headers from selectable people without loose spacing. */
.appoint-org-tree .appoint-org{margin:4px 0;padding:0;border:0;background:transparent}
.appoint-org-tree .appoint-org>summary{margin:0;min-height:34px;padding:4px 8px;line-height:1.4;border:1px solid #dce3ec;background:#f4f6f9;border-radius:8px}
.appoint-org-tree .appoint-org[data-depth="1"]>summary,
.appoint-org-tree .appoint-org[data-depth="2"]>summary{background:color-mix(in srgb,var(--branch-color) 9%,white);border-color:color-mix(in srgb,var(--branch-color) 30%,white)}
.appoint-org-tree .appoint-org>summary:hover{background:#e9eef5}
.appoint-org-tree .appoint-org-content{margin:3px 0 3px 20px;padding:0 0 0 14px}
.appoint-org-tree .appoint-person{min-height:32px;padding:4px 8px;margin:0;font-weight:400}
.appoint-org-tree .appoint-org-content>.small{display:block;padding:4px 8px;line-height:1.4}

/* The branch connector carries the parent organization color. */
.appoint-org-tree .appoint-org-content{border-left-color:var(--branch-color,#cbd5e1)}

/* Shared hierarchy spacing and parent-colored connectors in organization pickers. */
.appoint-org-tree .appoint-org-content,
.parent-tree .parent-children,
.member-membership-field .parent-tree .parent-children,
.directory-children{margin-left:20px;padding-left:14px;border-left:2px solid var(--branch-color,#cbd5e1)}
.parent-tree .parent-tree-node{margin:4px 0}
.parent-tree .parent-select-row,
.directory-users .parent-tree .parent-select-row,
.parent-tree .membership-check-row,
.directory-users .member-inline-form .parent-picker .membership-check-row{border:1px solid #dce3ec;background:#f4f6f9;border-radius:8px;min-height:34px}
.parent-tree-node[data-depth="1"]>.parent-select-row,
.parent-tree-node[data-depth="2"]>.parent-select-row,
.parent-tree-node[data-depth="1"]>.membership-check-row,
.parent-tree-node[data-depth="2"]>.membership-check-row{background:color-mix(in srgb,var(--branch-color) 9%,white);border-color:color-mix(in srgb,var(--branch-color) 30%,white)}
.parent-tree .parent-select-row:hover,
.directory-users .parent-tree .parent-select-row:hover,
.parent-tree .membership-check-row:hover{background:#e9eef5}
.parent-tree .parent-select-row[aria-pressed=true],
.directory-users .parent-tree .parent-select-row[aria-pressed=true],
.parent-tree .membership-check-row:has(input:checked){background:#eaf0f7;border-color:#8ca4c4}
.org-picker .org-choice-node>ul{margin-left:20px;padding-left:14px;border-left:2px solid var(--branch-color,#cbd5e1)}

/* Single-organization selection: a strong frame, independent of branch color. */
.parent-tree .parent-select-row[aria-pressed=true],
.directory-users .parent-tree .parent-select-row[aria-pressed=true]{box-shadow:inset 0 0 0 1px currentColor;border-color:currentColor}

.org-actions button:not(.link),.org-move-actions button{min-height:34px;padding-top:5px;padding-bottom:5px}
.parent-tree .parent-select-row,.directory-users .parent-tree .parent-select-row{min-height:30px;padding-top:3px;padding-bottom:3px}

/* The tree replaces the closed picker label when expanded. */
.parent-picker:not([data-multiple])[open]>summary{display:none}
.parent-picker:not([data-multiple])[open]>.parent-tree{border-top:0}
.leader-order{display:flex;gap:4px;align-items:center}.org-actions .leader-order button{padding:2px 8px;min-height:28px}
.org-delete-action>button.danger{background:#fff1f0;border:1px solid #df8d88;color:#b42318;padding:6px 12px;min-height:34px}
.org-delete-action>button.danger:hover{background:#ffe3e0;border-color:#b42318}
.org-delete-error{margin-bottom:10px;padding:10px 12px;border:1px solid #f0aaa3;border-radius:9px;background:#fff1f0;color:#b42318;font-size:14px;line-height:1.5;text-align:left}
.company-settings{max-width:900px}.company-settings [hidden]{display:none!important}.industry-options{border:0;padding:0;margin:12px 0 18px;display:flex;flex-wrap:wrap;gap:8px}.industry-options legend{margin-bottom:8px;font-size:14px}.industry-options label{display:flex;align-items:center;gap:7px;margin:0;border:1px solid var(--border);border-radius:9px;padding:6px 12px;cursor:pointer}.industry-options input{width:16px;height:16px;min-height:16px;margin:0}.industry-options label:has(input:checked){background:#eaf0f7;border-color:#607ba5}.company-settings dd{margin-left:0}
.plan-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:start}.plan-layout .card{margin:0}.plan-layout .card:first-child{grid-row:span 2}.plan-layout [hidden]{display:none!important}.plan-layout h2{margin:0}.plan-layout details{margin-top:14px}.plan-layout details summary{cursor:pointer}.plan-meter{margin:14px 0;font-size:14px}.plan-meter progress{width:100%;height:8px;accent-color:var(--blue)}.plan-warning{color:#b42318}.plan-layout small{color:var(--muted);font-size:12px}.plan-layout p{margin:8px 0}@media(max-width:750px){.plan-layout{grid-template-columns:1fr}.plan-layout .card:first-child{grid-row:auto}}
.contract-options{border:0;padding:0;margin:16px 0;display:flex;flex-wrap:wrap;gap:8px}.contract-options legend{font-size:14px;font-weight:600;margin-bottom:8px}.contract-options label,.plan-choice{display:flex;align-items:center;gap:8px;cursor:pointer;padding:10px 12px;margin:0;border:1px solid var(--border);border-radius:10px}.contract-options input,.plan-choice input{width:18px;height:18px;min-height:18px;margin:0;flex:none}.contract-options label:has(input:checked),.plan-choice:has(input:checked){background:#eaf0f7;border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.plan-choice small{display:block;color:var(--blue)}.contract-options:disabled{opacity:.5}
.billing-cycle-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px;gap:12px}
.billing-cycle-options label{min-height:126px;padding:16px;align-items:flex-start;gap:12px}
.billing-cycle-options input{margin-top:4px}
.cycle-text{display:flex;flex-direction:column;gap:6px;line-height:1.4;min-width:0}
.cycle-text strong{font-size:16px}.cycle-text b{font-size:24px}.cycle-text small{font-size:13px;color:var(--muted)}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pricing-tier{display:flex;flex-direction:column;gap:6px;border:2px solid #dbe1ec;border-radius:16px;padding:16px;cursor:pointer}.pricing-tier:has(input:checked){border-color:#526ba8;background:#f0f4fa}.pricing-tier input,.module-choice input{width:20px;min-height:20px;height:20px}.pricing-tier b{font-size:22px}.module-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.module-choice{display:flex;align-items:center;gap:12px;border:1px solid #d6ddea;border-radius:12px;padding:12px}.module-choice small{display:block}.module-choice.included{background:#eef0f3;color:#717985}.pricing-breakdown{margin:20px 0;padding:16px;background:#f0f4fa;border-radius:14px;display:grid;gap:8px}.pricing-breakdown>span{display:flex;justify-content:space-between}.pricing-breakdown>span:last-child{border-top:1px solid #ccd5e5;padding-top:12px;font-size:20px}@media(max-width:760px){.pricing-grid,.module-options{grid-template-columns:1fr}}
.plan-table-scroll{overflow-x:auto;margin:20px 0;border:1px solid #d9e0ec;border-radius:16px}.plan-comparison{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;table-layout:fixed}.plan-comparison caption{text-align:left;padding:12px 16px;font-weight:700}.plan-comparison th,.plan-comparison td{text-align:center;padding:14px 8px;border-bottom:1px solid #e0e5ef;vertical-align:middle}.plan-comparison th:first-child{text-align:left;width:145px;background:#f7f9fc}.plan-comparison label{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}.plan-comparison input{width:20px;height:20px;min-height:20px}.plan-comparison small{display:block;font-size:12px;margin-top:5px;color:#64748b}.plan-comparison .selected-plan{background:#edf2fc;box-shadow:inset 2px 0 #829acb,inset -2px 0 #829acb}.plan-comparison thead .selected-plan{border-top:3px solid #526ba8}.plan-comparison tbody tr:last-child .selected-plan{border-bottom:3px solid #526ba8}
/* Owner workspace is visibly distinct from day-to-day work screens. */
.owner-shell>.appbar{background:#e8edf0;border-bottom:2px solid #9caeb7}.owner-mode-label{display:inline-flex;align-items:center;white-space:nowrap;color:#334d59;background:#d7e1e6;border:1px solid #afc0c9;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700;letter-spacing:.03em}.owner-shell>.appbar .desktop-tabs button.active{background:#d5e0e6;color:#263f4b}.owner-shell>.appbar .desktop-tabs button:hover{background:#dce5e9}@media(max-width:600px){.owner-mode-label{font-size:11px;padding:4px 7px}.owner-shell>.appbar{gap:8px}}
.work-assignment-picker{margin:18px 0}.work-assignment-picker h3{margin-bottom:4px}.work-assignment-picker .parent-tree{max-height:350px;overflow:auto;border:1px solid var(--border);border-radius:14px;padding:10px}.work-assignment-branch>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;color:var(--branch-color);font-weight:700}.work-assignment-branch>summary::-webkit-details-marker{display:none}.work-assignment-branch>summary .parent-chevron:after{content:'▸'}.work-assignment-branch[open]>summary .parent-chevron:after{content:'▾'}.work-assignee{display:flex;gap:10px;align-items:center;margin:0;padding:7px 10px;border-radius:10px;cursor:pointer}.work-assignee:hover{background:#f0f4fa}.work-assignee:has(input:checked){background:#e8eff9;outline:2px solid #8ea6c9}.work-assignee input{width:18px;height:18px;min-height:18px;margin:0}.work-assignee[hidden]{display:none}.other-work-departments>summary{padding:12px;cursor:pointer}.work-assignee-search{margin-bottom:8px}
.priority-home{max-width:1000px}.home-section{margin:0 0 24px}.home-section h2{margin-bottom:10px}.home-attention>h2{color:#a74735}.home-attention>.list{border-color:#dfb3a7}.home-calm{color:#516776;margin:0 0 20px}.priority-home .item{padding:12px 16px}.priority-home .muted{font-size:12px;line-height:1.6}.priority-home .secondary-section{margin:12px 0}.priority-home .item .title{margin-right:10px}.priority-home .tag{margin-right:8px}
.work-inline-detail>summary{font-weight:600;cursor:pointer;line-height:1.6}.work-inline-detail>p{font-size:14px;line-height:1.7}.work-inline-detail[open]{margin-bottom:8px}.priority-home .item>.row>div:first-child{flex:1;min-width:180px}.home-section .item .row{gap:8px}
.work-inline-detail{padding:0;border:0;background:transparent;margin:0}.work-inline-detail>summary{padding:0;min-height:0;margin:0;background:transparent;color:inherit}.priority-home .item .muted{margin-top:5px}.priority-home .item>.row{align-items:center}
.work-assignment-branch>summary{border:1px solid color-mix(in srgb,var(--branch-color) 40%,white);background:color-mix(in srgb,var(--branch-color) 9%,white);border-radius:12px;padding:9px 12px;min-height:40px;margin:5px 0}.work-assignment-branch>.parent-children{border-left:3px solid var(--branch-color);margin-left:20px;padding-left:18px}.work-selected{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.work-selection-chip{padding:5px 9px;background:#eef3fa;border:1px solid #aebfd6;border-radius:9px}.work-selection-chip:hover{background:#dde8f6}.work-assignment-picker .parent-chevron{font-size:20px}.work-assignment-picker .parent-tree-node .work-assignee{padding:6px 10px}@media(min-width:1000px){dialog:has(.work-assignment-picker){width:min(1000px,90vw);max-width:1000px}.work-assignment-picker .parent-tree{max-height:420px}}

.completion-confirm { flex-basis: 100%; padding: 12px 16px; border: 1px solid #b9c9dc; border-radius: 12px; background: #f1f5fa; }
.completion-confirm p { margin: 0 0 10px; }
.completion-confirm .row { justify-content: flex-end; gap: 12px; }
.completion-confirm .error:not([hidden]) { margin-top: 10px; }
button[hidden] { display: none !important; }

/* Match the organization chart hierarchy while keeping selection rows compact. */
.work-assignment-picker .work-assignment-branch{--picker-solid:color-mix(in srgb,var(--branch-color) 58%,#394454);margin:4px 0;padding:0}
.work-assignment-picker .work-assignment-branch>summary{min-height:34px;padding:5px 10px;margin:3px 0;line-height:1.35;border:2px solid var(--picker-solid);background:color-mix(in srgb,var(--picker-solid) 8%,white);color:#586273;font-size:14px}
.work-assignment-picker .work-assignment-branch[data-org-level="1"]>summary,
.work-assignment-picker .work-assignment-branch[data-org-level="2"]>summary{background:var(--picker-solid);color:white}
.work-assignment-picker .work-assignment-branch>summary:hover{filter:brightness(.94)}
.work-assignment-picker .work-assignment-branch>summary .parent-chevron{color:inherit;font-size:20px;line-height:24px;width:28px}
.work-assignment-picker .work-assignment-branch>.parent-children{margin-top:4px;margin-bottom:4px;padding-top:0;padding-bottom:0;border-color:var(--picker-solid)}
.work-assignment-picker .parent-tree-node .work-assignee{min-height:30px;padding:3px 10px;margin:0;line-height:1.4;font-size:14px;border-radius:8px}
.work-assignment-picker .work-assignee input{flex:0 0 18px}

/* Organization pickers share the chart's solid department colors and outlined sections. */
:is(#app,dialog) :is(.parent-tree-node,.appoint-org,.org-choice-node){--tree-solid:color-mix(in srgb,var(--branch-color) 58%,#394454)}
:is(#app,dialog) :is(.parent-tree-node>.membership-check-row,.parent-tree-node>.parent-select-row,.appoint-org>summary,.org-choice-node>.org-choice-card){border:2px solid var(--tree-solid);border-radius:12px;background:color-mix(in srgb,var(--tree-solid) 8%,white);color:#586273;min-height:34px;line-height:1.4;margin:3px 0}
:is(#app,dialog) :is(.parent-tree-node[data-depth="1"],.parent-tree-node[data-depth="2"])>:is(.membership-check-row,.parent-select-row),
:is(#app,dialog) :is(.appoint-org[data-depth="1"],.appoint-org[data-depth="2"])>summary{background:var(--tree-solid);border-color:var(--tree-solid);color:white}
:is(#app,dialog) .membership-check-row label{color:inherit;font-weight:600;padding:4px 10px;margin:0;line-height:1.4}
:is(#app,dialog) :is(.membership-tree-toggle,.parent-select-row .parent-chevron){color:inherit;background:transparent}
:is(#app,dialog) :is(.membership-check-row,.parent-select-row,.appoint-org>summary,.org-choice-card):hover{filter:brightness(.94)}
:is(#app,dialog) :is(.parent-tree-node>.parent-children,.appoint-org>.appoint-org-content,.org-choice-node>ul){border-left:3px solid var(--branch-color);margin-left:20px;padding-left:14px}
:is(#app,dialog) .appoint-person{padding:3px 10px;min-height:30px;line-height:1.4;margin:0}
/* Keep the organization's color when selected; the gap and label convey selection. */
:is(#app,dialog) .parent-tree-node>.parent-select-row[aria-pressed=true]{box-shadow:0 0 0 2px white,0 0 0 4px var(--tree-solid);border-color:var(--tree-solid)}
:is(#app,dialog) .parent-select-row[aria-pressed=true]::after{content:'選択中';font-size:11px;font-weight:600;line-height:1.4;border:1px solid currentColor;border-radius:6px;padding:2px 6px;margin-left:auto;white-space:nowrap}
:is(#app,dialog) .parent-select-row .parent-chevron{order:2;margin-left:8px}

/* Desktop dashboard: overall state first, then personal working panels. */
.home-overview{background:white;border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:16px}
.home-overview h2,.home-widget h2{margin:0}
.home-status-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 0 12px}
.home-metric{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:14px 18px;border-radius:12px;background:#f5f7fb;text-align:left;min-width:0}
.home-metric strong{font-size:30px;font-variant-numeric:tabular-nums;line-height:1.2;color:#315bda}
.home-metric span{font-size:14px;color:#526079}
.home-metric:hover{background:#eaf0fa;border-color:#8ca4c4}
.home-metric.needs-attention{background:#fff4ef;border-color:#efcdbf}
.home-metric.needs-attention strong{color:#b74830}
.home-focus-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.home-focus-grid .home-metric{flex-direction:row;align-items:center;gap:12px;padding:10px 18px}
.home-focus-grid .home-metric strong{font-size:22px}
.home-overview>p{margin:10px 0 0}
.home-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.home-widget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.home-widget{background:white;border:1px solid var(--border);border-radius:16px;padding:18px;min-width:0}
.home-widget>.row{margin-bottom:12px}.home-widget>.small{margin:0 0 10px}
.home-widget .item{padding:12px}.home-widget .item>.row{align-items:flex-start}
.home-widget .work-inline-detail>summary{overflow-wrap:anywhere}.home-widget .item>.row>div:first-child{flex:1;min-width:140px}
.home-widget .item .muted{font-size:12px}.home-widget .item p{margin:6px 0}
.home-empty{font-size:14px;color:var(--muted);margin:0;padding:18px}
.home-preference{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border)}
.home-preference label.check{margin:8px 0}.home-preference button{padding:5px 12px;margin-left:6px}
.home-count-options{display:flex;flex-wrap:wrap;gap:20px;margin:16px 0;padding:12px;border:1px solid var(--border);border-radius:10px}
.home-count-options label{display:flex;align-items:center;gap:5px;margin:0}.home-count-options input{width:18px;min-height:18px;margin:0}
@media(min-width:1600px){.compact-shell .content:has(.home-overview){max-width:1800px}.home-widget-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.home-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-widget-grid{grid-template-columns:1fr}.home-overview{padding:14px}.home-metric{padding:12px}}

/* PC working surface: a wide task table plus an independent attention rail. */
.compact-shell .content:has(.home-overview){max-width:none;width:100%;padding:20px 28px}
.home-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
.home-workspace.no-side,.home-workspace.no-work{grid-template-columns:minmax(0,1fr)}
.home-task-panel{min-width:0;border:1px solid var(--border);border-radius:14px;background:white;overflow:hidden}
.home-work-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:10px 12px;border-bottom:1px solid var(--border);background:#fafbfd}
.home-work-tabs button{border-color:transparent;background:transparent;padding:8px 10px}
.home-work-tabs button[aria-pressed=true]{background:#e9effb;border-color:#b6c8ee;color:#254bb9;font-weight:700}
.home-work-tabs button span{font-size:12px;margin-left:6px}
.home-task-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px}
.home-task-columns,.home-task-row{display:grid;grid-template-columns:minmax(200px,1fr) minmax(90px,.35fr) 150px 80px 86px;gap:12px;align-items:center;padding:10px 16px}
.home-task-columns{font-size:12px;color:var(--muted);background:#f7f9fc;border-block:1px solid var(--border)}
.home-task-row{border-bottom:1px solid #edf0f5;min-height:64px;font-size:13px}
.home-task-row:last-child{border-bottom:0}.home-task-row:hover{background:#fafbfd}
.home-task-name{min-width:0}.home-task-name .title{padding:0;font-size:14px;text-align:left;line-height:1.5;overflow-wrap:anywhere}
.home-task-name .small{margin-top:3px}.home-task-assignee{overflow-wrap:anywhere}
.home-task-due{font-variant-numeric:tabular-nums;font-size:12px}.home-task-due.is-late{color:#b74830}
.home-task-action>button{width:100%;padding:6px 8px;min-height:32px}
.home-task-action:has(.completion-confirm){grid-column:1/-1}.home-task-action .completion-confirm{margin-top:4px}
.home-task-footer{padding:8px 16px;text-align:right}
.home-side-panels{display:grid;gap:14px;align-content:start;min-width:0}.home-side-panels .home-widget{padding:14px}.home-side-panels .home-widget h2{font-size:15px}.home-side-panels .home-empty{padding:2px 0;font-size:12px}
@media(min-width:1100px){.home-overview{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:10px 18px;padding:14px 18px}.home-overview>.row,.home-overview>p{grid-column:1/-1}.home-status-grid{margin:0;gap:8px}.home-focus-grid{gap:8px}.home-metric{padding:10px 12px;gap:4px}.home-metric strong{font-size:25px}.home-metric span{font-size:12px}.home-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-focus-grid .home-metric{padding:6px 10px}.home-overview>p{margin:0}.home-shortcuts{margin-bottom:16px}}
@media(min-width:1700px){.home-workspace{grid-template-columns:minmax(0,1fr) 380px}.home-task-columns,.home-task-row{grid-template-columns:minmax(280px,1fr) minmax(130px,.4fr) 180px 100px 100px}.home-task-row{min-height:68px}}
@media(max-width:1099px){.home-workspace{grid-template-columns:minmax(0,1fr)}.home-side-panels{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.compact-shell .content:has(.home-overview){padding:14px}.home-work-tabs{flex-wrap:nowrap;overflow-x:auto}.home-work-tabs button{white-space:nowrap}.home-task-columns{display:none}.home-task-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px}.home-task-name{grid-column:1/-1}.home-task-assignee{grid-column:1}.home-task-due{grid-column:1}.home-task-action{grid-column:2;grid-row:2/4}.home-task-row>div:nth-child(4){grid-column:1}.home-side-panels{grid-template-columns:1fr}}
.completion-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid var(--border);border-radius:12px;padding:12px;margin:16px 0}.completion-mode-options label{display:flex;align-items:center;gap:8px;margin:0;padding:10px;background:#f5f7fb;border-radius:8px;line-height:1.4}.completion-mode-options input{width:18px;min-height:18px;margin:0}.completion-mode-options label:has(input:checked){outline:2px solid #8ea6c9;background:#e8eff9}.completion-reviewer-picker[hidden]{display:none}@media(max-width:700px){.completion-mode-options{grid-template-columns:1fr}}
.task-expandable{cursor:pointer;position:relative}.task-expandable:focus-visible{outline:2px solid #315bda;outline-offset:-2px}.task-row-title{font-size:14px;line-height:1.5}
.home-card-layout{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(420px,1.4fr) minmax(290px,1fr);gap:18px;align-items:start}.home-column{background:white;border:1px solid var(--border);border-radius:16px;padding:16px;min-width:0}.home-column h2{font-size:17px;margin:0 0 10px}.home-right-column{display:grid;gap:16px;min-width:0}.home-card-task{border-top:1px solid #e4e9f1;position:relative}.home-card-task.priority-high{border-left:1px solid #c58b35}.home-card-task.priority-urgent{border-left:1px solid #bb4636;background:#fff6f2}.home-card-layout .home-task-row{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:12px 8px 4px;min-height:0;border:0}.home-card-layout .home-task-name{grid-column:1;grid-row:1}.home-card-layout .home-task-action{grid-column:2;grid-row:1/3;align-self:center}.home-card-layout .home-task-assignee{grid-column:1;font-size:12px;color:#69758b}.home-card-layout .home-task-due{display:none}.home-card-layout .home-task-row>div:nth-child(4){grid-column:1;font-size:12px}.home-card-layout .task-inline-panel{grid-column:1/-1}.task-timing{display:block;padding:0 8px 10px;font-size:12px;color:#785b27}.priority-urgent>.task-timing{color:#ad392a;font-weight:700}.home-card-layout .home-work-tabs{padding:4px 0;background:none}.home-card-layout .home-work-tabs button{padding:6px 8px;font-size:12px}.home-card-layout .home-task-toolbar{padding:8px 0}.home-card-layout .item{padding:10px 0}.home-card-layout .home-empty{padding:12px 0}.home-card-layout:has([data-inline-edit]){grid-template-columns:minmax(200px,.6fr) minmax(550px,1.6fr) minmax(250px,.8fr)}
@media(max-width:1150px){.home-card-layout,.home-card-layout:has([data-inline-edit]){grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.home-attention-card{grid-column:1/-1}.home-personal-card{grid-column:1}.home-right-column{grid-column:2}}
@media(max-width:760px){.home-card-layout,.home-card-layout:has([data-inline-edit]){display:flex;flex-direction:column}.home-card-layout>*{width:100%}.task-inline-panel .completion-mode-options{grid-template-columns:1fr}}
.unsaved-warning{padding:14px;margin-bottom:16px;border:1px solid #d8b875;border-radius:12px;background:#fff8e9;color:#684b20}.unsaved-warning .row{margin-top:10px}.unsaved-warning .small{margin-bottom:0}.draft-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:12px 0;border-top:1px solid var(--border)}.draft-card strong{font-size:14px;overflow-wrap:anywhere}.draft-card .small{grid-column:1}.draft-card button{grid-column:2;grid-row:1/3;padding:5px 10px}
.global-drafts{position:fixed;right:20px;bottom:20px;width:280px;max-height:50vh;overflow:auto;z-index:10;box-shadow:0 5px 24px #26355020;border-radius:16px}.home-personal-card .home-task-assignee{display:none}.home-card-layout .home-task-row .task-inline-panel .row{cursor:default}
/* Two-line task rows: title, then one horizontal metadata line. */
.home-card-layout .home-task-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:10px 8px;min-height:62px;align-items:center}
.home-card-layout .home-task-row>.home-task-name{grid-column:1;grid-row:1}
.home-card-layout .home-task-row>.home-task-action{grid-column:2;grid-row:1;align-self:center}
.home-task-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin-top:5px;font-size:12px;line-height:1.4;color:var(--muted)}
.home-task-meta>span:not(.tag):not(.task-timing)+span:not(.tag):not(.task-timing)::before{content:'·';margin-right:10px;color:#a4afbf}
.home-task-meta .tag{font-size:11px;padding:2px 6px;line-height:1.3}
.home-task-meta .task-timing{display:inline;padding:0;color:#785b27;font-size:12px;line-height:1.4}
.home-task-meta .task-timing:empty{display:none}.home-task-meta .task-timing.is-late{color:#b74830}
.work-activity-indicator{display:inline-block;width:8px;height:8px;margin-left:7px;vertical-align:middle;border-radius:50%;background:#cf4038;box-shadow:0 0 0 3px #fff0ef}
.activity-update-dot{display:inline-block;width:8px;height:8px;margin:0 8px 0 0;vertical-align:middle;border-radius:50%;background:#cf4038}
.home-card-layout .home-task-action>button{width:auto;min-width:56px;min-height:30px;padding:5px 10px}
.home-card-layout .home-task-row>.home-task-action:has(.completion-confirm){grid-column:1/-1;grid-row:auto}
.home-card-layout .home-task-row>.task-inline-panel{grid-column:1/-1;grid-row:auto}
.home-card-layout .home-task-toolbar{padding:5px 0}.home-card-layout .home-column{padding:14px}.home-card-layout .home-column h2{margin-bottom:8px}
@media(max-width:760px){.home-card-layout .home-task-row{padding:10px 4px;gap:8px}.home-task-meta{gap:4px 8px}}
.home-left-column{display:grid;gap:16px;align-content:start;min-width:0}.global-drafts{left:20px;right:auto}
@media(max-width:1150px) and (min-width:761px){.home-left-column{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.home-left-column .home-attention-card{grid-column:auto}}
/* Visual hierarchy: quiet overview, one clear recommendation, secondary context. */
.home-overview .home-metric{background:#f8f9fc;border-color:#edf0f5}.home-overview .home-metric strong{color:#4f607a;font-size:23px}.home-overview .home-metric.needs-attention{background:#fff3ec;border-color:#eac6b4}.home-overview .home-metric.needs-attention strong{color:#a7452c}
.home-card-layout .home-personal-card{border-color:#a9bcdf;box-shadow:0 3px 16px #304d7710}.home-card-layout .home-personal-card>h2{font-size:19px;color:#223f70}
.home-recommendation{border:1px solid #b9cdec;border-left:4px solid #426fc4;background:#f0f5fd;border-radius:12px;margin:4px 0 12px;padding:12px 10px 4px}.recommendation-label{font-size:13px;font-weight:700;color:#315c9d}.recommendation-reason{font-size:12px;color:#526782;margin:5px 0 2px;line-height:1.5}.home-recommendation .task-row-title{font-size:17px;color:#233c64}.home-recommendation .home-task-row{padding:8px 0}.home-recommendation .home-task-action>button{border-color:#809bc7;color:#264e88;background:white}.home-recommendation.is-urgent{border-left-color:#b64937;background:#fff5f1}.home-recommendation.is-urgent .recommendation-label{color:#a03929}.next-work-label{font-size:12px;color:#69758b;font-weight:600;margin:10px 0 4px}
.home-card-layout.is-calm .home-attention-card{background:transparent;border-color:transparent;padding:8px 4px}.home-card-layout.is-calm .home-attention-card h2{font-size:14px;color:#637286}.home-card-layout.is-calm .home-attention-card .link{display:none}.home-card-layout.has-action-required .home-attention-card{border-color:#debfa2;border-top:4px solid #b9803a;background:#fffbf4}.home-card-layout.has-action-required .home-attention-card h2{color:#865823}
.home-right-column>.home-column{background:#fafbfd;border-color:#e5eaf1}.home-right-column .task-row-title{font-weight:500;color:#53627a}.home-right-column .task-timing{color:#758096}.home-left-column .draft-shelf .home-column{background:#fafbfd}.home-left-column .draft-shelf h2{font-size:14px}.home-card-layout{grid-template-columns:minmax(210px,.65fr) minmax(440px,1.55fr) minmax(280px,1fr)}
@media(max-width:1150px){.home-card-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
@media(max-width:760px){.home-recommendation .task-row-title{font-size:16px}}
/* Keep orientation in the navigation; avoid repeating a page title and tall gaps. */
.compact-shell .content:has(.home-overview){padding:14px 22px}
.home-overview{margin-bottom:10px;border-radius:12px}
.home-overview>.row h2{font-size:15px}.home-overview>.row .link{font-size:12px}
.home-count-help{grid-column:1/-1;justify-self:end;font-size:11px;color:var(--muted);margin:0;padding:0;border:0;background:transparent}
.home-count-help>summary{cursor:pointer;min-height:0;padding:0;font-size:11px}.home-count-help p{margin:4px 0;max-width:500px}
.home-shortcuts{gap:8px;margin-bottom:12px}.home-shortcuts button{min-height:32px;padding:6px 12px}
.home-card-layout{gap:14px}.home-left-column,.home-right-column{gap:12px}
.home-card-layout .home-column{padding:12px;border-radius:12px}
.home-card-layout .home-task-row{min-height:56px;padding:8px 6px}
.home-task-meta{margin-top:3px}.home-card-layout .home-work-tabs{gap:2px;padding:2px 0}.home-card-layout .home-task-toolbar{padding:4px 0}
.home-recommendation{padding:9px 9px 2px;margin:3px 0 8px}.recommendation-reason{margin:3px 0 0}.next-work-label{margin:6px 0 2px}
.home-left-column .home-empty{padding:5px 0}.home-left-column .home-column>.small{margin:4px 0}.draft-card{padding:8px 0}
@media(min-width:1100px){.home-overview{padding:10px 14px;gap:7px 14px}.home-status-grid{gap:6px}.home-overview .home-metric{padding:8px 10px;gap:3px}.home-overview .home-metric strong{font-size:22px}.home-focus-grid{gap:6px}.home-focus-grid .home-metric{padding:5px 10px}}
.home-personal-card .task-self-label{display:none}.home-recommendation .home-task-meta .task-timing{display:none}.home-left-column .draft-shelf .home-column:has(.draft-card){padding-bottom:4px}.home-left-column .draft-shelf .home-column:not(:has(.draft-card)) h2{margin:0}
/* Deadline and importance are independent signals, identical across all lists. */
.task-signal-icon{width:16px;height:16px;flex:none;vertical-align:-3px}.task-priority-flag{display:inline-flex;align-items:center;margin-right:6px;color:#956414}.task-priority-flag.urgent{color:#b53632}.task-repeat{display:inline-flex;align-items:center;gap:4px}
.home-card-layout .home-task-meta .task-timing{display:inline-flex;align-items:center;gap:4px;padding:2px 5px;border-radius:5px;color:#52647c}
.home-card-layout .home-task-meta .deadline-urgent{color:#b12e2a;background:#fff0ee;font-weight:700}
.home-card-layout .home-task-meta .deadline-soon{color:#8a5915;background:#fff7e6;font-weight:600}
.home-right-column>.home-column,.home-left-column .draft-shelf .home-column{background:white}
.home-right-column .task-row-title{font-weight:600;color:#25324a}
.home-card-layout .home-personal-card{box-shadow:none;border-color:var(--border)}
.home-card-layout .home-personal-card>h2{color:#25324a}
/* Compact overview and content-sized task rows on desktop. */
.home-overview .home-metric{flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;min-height:38px;padding:7px 10px}
.home-overview .home-metric strong{font-size:22px;line-height:1}
.home-overview .home-metric span{line-height:1.3}
.home-status-grid,.home-focus-grid{align-items:start}
@media(min-width:1300px){
 .home-overview{grid-template-columns:minmax(0,6fr) minmax(0,4fr);align-items:start}
 .home-focus-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .home-overview .home-metric{height:auto;min-height:38px;padding:7px 8px;gap:6px}
 .home-overview .home-metric span{font-size:12px}
}
.home-personal-card,.home-right-column>.home-column{container-type:inline-size}
.home-card-layout .home-task-row{min-height:44px;padding:6px 4px;gap:6px 10px}
.home-card-layout .home-task-toolbar{font-size:12px;padding:3px 0}
.home-card-layout .home-task-toolbar .small{font-size:11px}
@container(min-width:620px){
 .home-task-row>.home-task-name{display:flex;align-items:center;gap:12px;min-width:0}
 .home-task-name>.task-row-title{flex:1;min-width:160px;line-height:1.45}
 .home-task-name>.home-task-meta{margin:0;justify-content:flex-end;gap:4px 7px;max-width:55%}
 .home-task-meta>span{white-space:nowrap}
}
@media(min-width:1450px){
 .home-personal-card .home-task-name{display:flex;align-items:center;gap:12px;min-width:0}
 .home-personal-card .task-row-title{flex:1;min-width:160px;line-height:1.45}
 .home-personal-card .home-task-meta{margin:0;justify-content:flex-end;gap:4px 7px;max-width:55%}
 .home-personal-card .home-task-meta>span{white-space:nowrap}
}
.home-overview.home-reminders{display:flex;align-items:center;gap:12px;padding:10px 12px;background:white}
.home-reminders-list{display:flex;flex-wrap:wrap;gap:10px;flex:1;min-width:0}
.home-reminder{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;text-align:left;min-height:52px}
.home-reminder.danger{background:#fff1ef;border:1px solid #edb5ad;color:#a52d26}
.home-reminder.warning{background:#fff7e6;border:1px solid #e6c88e;color:#80520b}
.home-reminder:hover{filter:brightness(.97)}
.home-reminder>.task-signal-icon{width:21px;height:21px}
.home-reminder .reminder-count{font-size:26px;font-weight:750;white-space:nowrap;line-height:1}
.home-reminder .reminder-count small{display:inline;font-size:12px;margin-left:3px}
.home-reminder strong{display:block;font-size:14px}
.home-reminder small{display:block;font-size:11px;font-weight:400;margin-top:2px}
.home-reminders-clear{font-size:13px;color:#3b6658;padding:4px}
.home-reminders>.link{white-space:nowrap;font-size:12px}
@media(max-width:760px){.home-reminder{flex:1}.home-overview.home-reminders{align-items:flex-start}}
/* A stable visual landmark per task, with readable status instead of repeated boxes. */
.home-card-layout .home-task-row>.home-task-name{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:9px;align-items:center}
.home-task-name>.task-kind-icon{grid-column:1;grid-row:1/3;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:#edf2fd;color:#4365b0}
.task-kind-icon.kind-repeat{background:#e8f5f1;color:#2e7b69}.task-kind-icon.kind-inspection{background:#f3edfa;color:#8058a2}
.task-kind-icon>.task-signal-icon{width:21px;height:21px}
.home-task-name>.task-row-title{grid-column:2;min-width:0}
.home-task-name>.home-task-meta{grid-column:2;max-width:none;justify-content:flex-start}
.home-task-meta>.task-state{display:inline-flex;gap:4px;align-items:center;font-size:11px}
.task-state i{width:7px;height:7px;border-radius:50%;background:#94a3b8;flex:none}
.task-state.state-in_progress i{background:#3874dc}.task-state.state-completed i{background:#329073}.task-state.state-awaiting_approval i{background:#bd831b}.task-state.is-overdue i{background:#c44336}
.home-task-meta>.task-state::before{content:none!important}
@media(min-width:1700px){
 .home-personal-card .home-task-row>.home-task-name{grid-template-columns:32px minmax(160px,1fr) auto}
 .home-personal-card .home-task-name>.task-kind-icon{grid-row:1}
 .home-personal-card .home-task-name>.home-task-meta{grid-column:3;grid-row:1;margin:0;max-width:310px;justify-content:flex-end}
}
.home-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;align-items:start}
.feature-card h2{display:flex;align-items:center;gap:8px;font-size:16px;margin:0}.feature-card h2 .task-signal-icon{width:22px;height:22px;color:#4365b0}
.feature-card{padding:14px}.feature-summary{font-size:12px;color:#647188;margin:10px 0}.feature-summary b{font-size:24px;color:#344d78;margin-right:4px}
.feature-entry{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid #e7ecf3;border-radius:0;padding:9px 0}
.feature-entry>span:first-child{flex:1;min-width:0}.feature-entry strong{display:block;font-size:13px;line-height:1.5}.feature-entry small{display:block;font-size:11px;color:#6b7890;margin-top:2px}.feature-entry .tag{font-size:11px;flex:none}.feature-entry:hover{background:#f4f7fc}
.object-state-summary{display:flex;gap:22px;margin:12px 0;font-size:12px;color:#366b5a}.object-state-summary b{font-size:22px}.object-state-summary .problem{color:#b14532}
.feature-progress{display:flex;align-items:center;gap:20px;margin:16px 0}.feature-progress>strong{font-size:38px;color:#4266bc}.feature-progress small{font-size:16px}.feature-progress>div{flex:1;font-size:12px}.feature-progress progress{display:block;width:100%;height:12px;margin-top:8px;accent-color:#4266bc}
@media(max-width:1100px){.home-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.home-feature-grid{grid-template-columns:1fr}}
/* Preserve context while giving actionable reminders the strongest emphasis. */
.home-overview.home-reminders{flex-wrap:wrap;gap:8px 16px}
.home-reminders-list{flex:0 1 auto;align-items:center}
.home-state-summary{display:flex;flex:1;align-items:center;flex-wrap:wrap;gap:5px 12px;min-width:260px;border-left:1px solid #e0e6ef;padding-left:16px}
.home-summary-total{font-size:12px;white-space:nowrap;color:#53637b}
.home-summary-count{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;padding:5px 3px;min-height:28px;font-size:12px;color:#53637b;white-space:nowrap;border-radius:5px}
.home-summary-count b{font-size:16px;font-variant-numeric:tabular-nums;color:#253650}
.home-summary-count:hover{background:#eef3fb}
.home-summary-count i{width:6px;height:6px;border-radius:50%;background:#8190a7}
.summary-in_progress i{background:#3976d1}.summary-awaiting_approval i{background:#c08a20}.summary-completed i{background:#359174}
@media(max-width:1100px){.home-state-summary{flex-basis:100%;border-left:0;border-top:1px solid #e0e6ef;padding:6px 0 0}.home-reminders>.link{margin-left:auto}}
/* One desktop board: work, decisions, operations share the same starting line. */
.home-card-layout.home-board,.home-card-layout.home-board:has([data-inline-edit]){display:grid;grid-template-columns:minmax(360px,1.25fr) minmax(290px,1fr) minmax(290px,1fr);gap:12px;align-items:start}
.home-board-column{display:grid;gap:12px;min-width:0;align-content:start}
.home-board .feature-card{padding:12px}.home-board .feature-summary{display:inline-flex;gap:4px;align-items:baseline;margin:4px 0;font-size:11px}.home-board .feature-summary b{font-size:20px}
.home-board .feature-entry{padding:7px 0;gap:6px}.home-board .feature-entry .tag{white-space:normal;max-width:100px}
.home-board .object-state-summary{margin:5px 0;gap:14px}.home-board .object-state-summary b{font-size:20px}
.home-progress-overview{display:flex;flex-direction:column;gap:4px;min-width:155px;background:transparent;border:0;padding:4px 8px;text-align:left;font-size:11px;color:#53637b}
.home-progress-overview strong{font-size:23px;color:#4266bc;margin-right:5px}.home-progress-overview progress{width:100%;height:8px;accent-color:#4266bc}
.home-board .home-task-name>.task-row-title{min-width:0}.home-board .home-task-name>.home-task-meta{max-width:none}
@media(max-width:1100px){.home-card-layout.home-board,.home-card-layout.home-board:has([data-inline-edit]){grid-template-columns:repeat(2,minmax(0,1fr))}.home-board-column:last-child{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.home-card-layout.home-board,.home-card-layout.home-board:has([data-inline-edit]){grid-template-columns:1fr}.home-board-column:last-child{grid-column:auto;grid-template-columns:1fr}}
/* Dedicated action rail, separate from the overview and work cards. */
.home-desktop-layout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:start}
.home-shortcuts.home-action-rail{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:10px;background:white;border:1px solid var(--border);border-radius:12px;margin:0;position:sticky;top:68px}
.home-action-rail button{width:100%;text-align:left;min-height:38px;padding:8px;font-size:12px;white-space:normal}
.home-action-rail button:first-child{background:#315bda;color:white;border-color:#315bda;font-weight:650}
.home-desktop-layout .home-board{min-width:0;grid-template-columns:minmax(300px,1.2fr) minmax(240px,1fr) minmax(240px,1fr)}
@media(max-width:1250px) and (min-width:701px){.home-desktop-layout{grid-template-columns:135px minmax(0,1fr)}.home-desktop-layout .home-board{grid-template-columns:repeat(2,minmax(0,1fr))}.home-desktop-layout .home-board-column:last-child{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.home-desktop-layout{display:block}.home-shortcuts.home-action-rail{position:static;flex-direction:row;flex-wrap:wrap;margin-bottom:10px}.home-action-rail button{width:auto;flex:1 1 120px}.home-desktop-layout .home-board{grid-template-columns:1fr}.home-desktop-layout .home-board-column:last-child{grid-column:auto;grid-template-columns:1fr}}
.home-action-rail .draft-shelf{border-top:1px solid var(--border);margin-top:6px;padding-top:10px;min-width:0}
.home-action-rail .draft-shelf .home-column{border:0;background:none;padding:0;border-radius:0}
.home-action-rail .draft-shelf h2{font-size:13px;margin:0 0 6px}
.home-action-rail .draft-shelf .small{font-size:11px}
.home-action-rail .draft-card{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px 0;min-width:0}
.home-action-rail .draft-card strong{font-size:12px;overflow-wrap:anywhere}
.home-action-rail .draft-card button{background:white;color:#315bda;border:1px solid var(--border);min-height:28px;padding:4px 8px;text-align:center;font-weight:500}
.home-board .home-urgent-work{border-color:#e8bbb3;border-top:3px solid #bc4c3d}.home-urgent-work h2{color:#9c392d}
.home-approval-tabs{display:flex;gap:4px;margin:8px 0 2px;border-bottom:1px solid var(--border);padding-bottom:6px}
.home-approval-tabs button{flex:1;padding:7px 6px;min-height:32px;font-size:12px;border:1px solid transparent;background:transparent;color:#596a82;border-radius:7px}
.home-approval-tabs button[aria-selected="true"]{color:#315bba;background:#edf2ff;border-color:#bbcbf5;font-weight:650}
.home-approval-tabs b{margin-left:4px;font-variant-numeric:tabular-nums}
.home-period-bar{display:flex;align-items:center;gap:12px;margin-bottom:9px}.home-period-bar nav{display:flex;gap:3px;background:#eaf0f9;padding:3px;border-radius:9px}.home-period-bar button{min-height:30px;padding:5px 14px;font-size:13px;background:transparent;border:1px solid transparent}.home-period-bar button[aria-pressed="true"]{background:white;color:#315bba;border-color:#bfcef0;font-weight:650}.home-period-bar>button{display:flex;align-items:center;gap:6px;border-color:var(--border);background:white}.home-period-bar>button[aria-pressed="true"]{background:#e8f5f1;color:#286b58}.home-period-bar .small{font-size:11px}
.home-period-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px}
.home-period-card{background:white;text-align:left;border:1px solid var(--border);border-radius:12px;padding:10px 14px;display:grid;gap:5px;color:#344763}
.home-period-card>span{display:flex;align-items:center;gap:7px}.home-period-card>span>span:last-child{margin-left:auto;color:#7383a0}
.home-period-card>b{font-size:24px;color:#315bba}.home-period-card small{font-size:11px;font-weight:400;color:#66768d;margin-left:5px}
.home-period-card progress{width:100%;height:7px;accent-color:#5279c7}.home-period-card:hover{border-color:#8da9de;background:#f8faff}
.appbar .main-tabs{gap:4px}.appbar .main-tabs button{padding-left:12px;padding-right:12px}
.home-timeline-layout{align-items:start}.home-dashboard-main{min-width:0}.home-timeline-layout .home-action-rail{top:60px;min-height:calc(100vh - 95px)}
.home-card-layout.home-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px}
.timeline-card>p.small{font-size:11px;margin:5px 0}.timeline-card h2{font-size:18px}
.timeline-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.timeline-secondary .timeline-card{padding:12px}
.home-timeline .home-task-name{grid-template-columns:30px minmax(0,1fr)!important}.home-timeline .home-task-name>.home-task-meta{grid-column:2!important;grid-row:auto!important;justify-content:flex-start!important}
.home-card-layout.timeline-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-secondary .home-task-name{grid-template-columns:32px minmax(0,1fr)!important}.timeline-secondary .home-task-name>.home-task-meta{grid-column:2!important;grid-row:auto!important}
.home-card-layout.home-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-order{margin:3px 0;color:#6c7990;font-size:11px}
@media(min-width:1900px){.home-card-layout.home-timeline{grid-template-columns:repeat(4,minmax(0,1fr))}}
.timeline-card .timeline-heading-note{font-size:11px;font-weight:400;color:#718096;margin-left:8px;white-space:nowrap}
.nav-pending-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d4443b;margin-left:6px;vertical-align:middle;flex:none}
.nav-pending-dot{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:18px;height:18px;box-sizing:border-box;padding:0 5px;border-radius:10px;background:#ce3d35;color:white;font-size:11px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;vertical-align:middle}
.timeline-department{border-top:1px solid #ccd6e5;margin-top:10px;padding-top:9px}
.timeline-department h3{font-size:12px;color:#536780;margin:0 0 4px;display:flex;align-items:center;gap:6px}.timeline-department h3 span{font-size:11px;font-weight:400}
.timeline-department>.small{font-size:11px;margin:4px 0;color:#8190a4}.timeline-department .feature-entry:first-of-type{border-top:0}.timeline-department .feature-entry strong{font-weight:500}
/* The action rail sizes to its contents; drafts form a single grouped area. */
.home-timeline-layout .home-action-rail{min-height:0;height:auto;align-self:start}
.home-action-rail .draft-shelf{border-top:0;margin-top:4px;padding:10px 8px;background:#f0f4fb;border:1px solid #dce5f3;border-radius:10px}
.home-action-rail .draft-shelf h2{margin:0 0 5px;font-size:13px;color:#344b70}
.home-action-rail .draft-shelf .home-column>p.small{margin:0 0 8px;font-size:10px;line-height:1.4}
.home-action-rail .draft-card{background:white;border:1px solid #dce5f3;border-radius:8px;padding:8px;gap:4px;margin-top:7px}
.home-action-rail .draft-card button{margin-top:3px}
.home-action-rail .draft-shelf{padding:10px 0 0;background:transparent;border:0;border-top:1px solid #dce5f3;border-radius:0}
.home-action-rail .draft-shelf h2{font-size:14px;margin:0 0 8px}
.home-action-rail .draft-card{padding:10px 8px;background:#eef3fc;border:0;border-radius:9px;gap:6px;margin-top:8px}
.home-action-rail .draft-card strong{font-size:14px;line-height:1.5}
.home-action-rail .draft-card .small{font-size:12px;line-height:1.4}
.home-action-rail .draft-card button{font-size:13px;min-height:34px;padding:6px 8px;margin-top:2px}
.home-desktop-layout.home-timeline-layout{grid-template-columns:180px minmax(0,1fr)}
.home-action-sidebar{display:grid;gap:10px;align-content:start;position:sticky;top:60px;min-width:0}
.home-action-sidebar .home-action-rail{position:static}
.home-action-sidebar>.draft-shelf>.home-column{padding:12px;background:white;border:1px solid var(--border);border-radius:12px}
.home-action-sidebar .draft-shelf h2{font-size:14px;margin:0 0 8px}
.home-action-sidebar .draft-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:9px 0;margin:0;background:none;border:0;border-radius:0}
.home-action-sidebar .draft-card+.draft-card{border-top:1px solid var(--border)}
.home-action-sidebar .draft-card strong{grid-column:1;overflow-wrap:anywhere;font-size:14px;line-height:1.5}
.home-action-sidebar .draft-card .small{grid-column:1;font-size:12px}
.home-action-sidebar .draft-card button{grid-column:2;grid-row:1/3;align-self:center;min-height:32px;padding:5px 8px;font-size:12px}
.home-action-sidebar .draft-list-trigger{width:100%;min-height:40px;text-align:left;padding:10px 12px;background:white;border:1px solid var(--border);border-radius:10px;font-size:14px}
dialog:has(.draft-picker){width:min(780px,90vw);max-width:90vw}
.draft-picker{display:grid;gap:10px;max-height:65vh;overflow:auto;padding:8px 0}
.draft-picker-tools{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.draft-delete-all{color:#ad413b!important}.draft-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.draft-picker-item{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;text-align:left;padding:16px;background:#f5f8fd;border:1px solid #dce5f3;border-radius:12px}.draft-delete-one{min-width:64px;padding:8px 12px;color:#ad413b;background:#fff;border-color:#eed5d2}
.draft-picker-item strong{display:block;font-size:16px;overflow-wrap:anywhere}.draft-picker-item small{display:block;font-size:12px;color:#687994;margin-top:6px}.draft-resume-label{color:#315bba;font-size:14px;white-space:nowrap}.draft-picker-item:hover{background:#eaf1ff;border-color:#9bb5e6}
.main.with-unified-sidebar{display:grid;grid-template-columns:200px minmax(0,1fr);gap:0;align-items:start}
.unified-sidebar{position:sticky;top:60px;margin:12px 0 12px 12px;padding:10px;background:white;border:1px solid var(--border);border-radius:12px;display:grid;gap:12px;min-width:0;max-height:calc(100vh - 80px);overflow:auto}
.sidebar-pages,.sidebar-actions{display:flex;flex-direction:column;gap:4px}.sidebar-pages button{text-align:left;padding:9px 10px;border:0;background:transparent;border-radius:8px;min-height:37px;font-size:13px;display:flex;align-items:center;justify-content:space-between}
.sidebar-pages button.active{background:#eaf0ff;color:#315bba;font-weight:700}.sidebar-pages button:hover{background:#f0f4fa}
.sidebar-actions{border-top:1px solid var(--border);padding-top:10px;gap:6px}.sidebar-label{font-size:11px;color:#70809a;padding:0 5px 3px}.sidebar-actions>button,.sidebar-actions .draft-list-trigger{width:100%;text-align:left;padding:8px 10px;font-size:13px;min-height:35px}.sidebar-actions .draft-shelf{margin-top:4px}
.with-unified-sidebar>.content{min-width:0;width:100%;padding:12px 16px;max-width:none}.with-unified-sidebar .home-desktop-layout.home-timeline-layout{display:block}.compact-shell .with-unified-sidebar .content:has(.home-overview){padding:12px 16px}
.sidebar-shell .unified-sidebar{position:sticky;top:0;margin:0;height:100dvh;max-height:100dvh;border-radius:0;border-width:0 1px 0 0;padding:10px 10px 10px;display:flex;flex-direction:column;gap:12px;overflow:visible;box-sizing:border-box}
.sidebar-shell .sidebar-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px}
.sidebar-shell .unified-sidebar>.brand-home{align-self:flex-start;margin:0 8px 5px;font-size:25px}
.sidebar-shell .unified-sidebar>.account-menu{position:relative;margin:0;border-top:1px solid var(--border);padding-top:10px;flex:none}
.sidebar-shell .account-menu>summary{display:flex;align-items:center;gap:9px;width:100%;height:auto;min-height:40px;border-radius:8px;padding:6px;background:#eff3fa;box-sizing:border-box}
.sidebar-shell .account-menu>summary>span:first-child{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex:none}
.sidebar-shell .sidebar-account-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-shell .account-menu .account-popover{position:absolute;left:0;right:auto;top:auto;bottom:calc(100% + 8px);width:260px;max-height:75vh;z-index:60}
.sidebar-shell .mobile-bottom-tabs{display:none}
.sidebar-drafts{border-top:1px solid var(--border);padding-top:10px}
.draft-folder-trigger{display:flex;align-items:center;gap:9px;width:100%;min-height:40px;padding:8px 10px;border:0;border-radius:8px;background:transparent;text-align:left;color:#415674;font-size:13px}
.draft-folder-trigger:hover{background:#edf2fa}.draft-folder-trigger:focus-visible{outline:2px solid #315bda;outline-offset:1px}
.draft-folder-trigger svg{width:23px;height:23px;flex:none;color:#7189b0}
.draft-folder-count{margin-left:auto;min-width:22px;text-align:center;border-radius:5px;background:#eaf0f8;color:#536983;padding:2px 5px;font-size:12px;font-variant-numeric:tabular-nums}
/* Keep readable typography at every density; adapt columns to available space. */
@media (min-width:0px){
 .sidebar-shell .home-card-layout.home-timeline{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:16px}
 .sidebar-shell .timeline-card{padding:12px}
 .sidebar-shell .timeline-card h2{font-size:18px;line-height:1.5}
 .sidebar-shell .home-task-name>.task-row-title,.sidebar-shell .feature-entry strong{font-size:15px;font-weight:600;line-height:1.45;color:#25324a}
 .sidebar-shell .home-card-layout .home-task-row{padding:6px 4px;min-height:44px;gap:6px 10px}
 .sidebar-shell .home-task-meta,.sidebar-shell .home-card-layout .home-task-meta .task-timing,.sidebar-shell .feature-entry small{font-size:13px;line-height:1.5;color:#53647b}
 .sidebar-shell .home-task-meta>.task-state{font-size:12px}
 .sidebar-shell .feature-entry{padding:6px 2px}
 .sidebar-shell .home-approval-tabs button{font-size:14px;min-height:36px}
 .sidebar-shell .timeline-department{margin-top:8px;padding-top:8px}
 .sidebar-shell .timeline-department h3{font-size:13px}
 .sidebar-shell .timeline-department .feature-entry strong{font-weight:500}
 .sidebar-shell .sidebar-pages button,.sidebar-shell .sidebar-actions>button,.sidebar-shell .draft-folder-trigger{font-size:14px;min-height:39px}
 .sidebar-shell .home-card-layout .home-task-action>button{font-size:13px;min-height:34px}
 .sidebar-shell .home-overview.home-reminders{gap:10px 14px}
 .sidebar-shell .home-summary-count{font-size:13px}
 .sidebar-shell .home-summary-count b{font-size:17px}
 .sidebar-shell .home-task-meta .deadline-urgent{color:#a52d26}
 .sidebar-shell .home-task-meta .deadline-soon{color:#81530f}
}

/* Use content width, including browser zoom, instead of monitor resolution. */
.sidebar-shell .home-dashboard-main{container-type:inline-size}
@container (min-width:2200px){
 .sidebar-shell .home-card-layout.home-timeline{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:700px){
 .sidebar-shell .main.with-unified-sidebar{grid-template-columns:150px minmax(0,1fr)}
 .sidebar-shell .home-card-layout.home-timeline{grid-template-columns:minmax(0,1fr)}
 .sidebar-shell .timeline-card{padding:12px}
}
@media(max-width:480px){
 .sidebar-shell .main.with-unified-sidebar{display:block}
 .sidebar-shell .unified-sidebar{position:static;height:auto;max-height:none;border-width:0 0 1px}
 .sidebar-shell .sidebar-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .sidebar-shell .sidebar-body{overflow:visible}
 .sidebar-shell .account-menu .account-popover{bottom:auto;top:100%}
}

/* Compact reading rhythm; keep form controls and action targets usable. */
.compact-shell .content .muted,.compact-shell .content .small{line-height:1.5}
.compact-shell .content .itemtitle{line-height:1.45}
.compact-shell .content .item{padding-top:8px;padding-bottom:8px}
.compact-shell .content .item .muted{margin-top:3px}
.compact-shell .content .card>p{margin-top:6px;margin-bottom:6px;line-height:1.6}
.compact-shell .content .stack{gap:10px}
.sidebar-shell .home-task-name{row-gap:2px}
.sidebar-shell .feature-entry small{margin-top:2px}
.sidebar-shell .timeline-card .home-empty{padding:8px 0}

/* Metadata already has a grid gap; avoid adding a second vertical margin. */
.sidebar-shell .home-task-name>.home-task-meta{margin-top:0;row-gap:2px;column-gap:6px}
.sidebar-shell .home-card-layout .home-task-meta .task-timing{padding-top:0;padding-bottom:0}
.sidebar-shell .home-approval-tabs{margin-top:4px;padding-bottom:4px}
.sidebar-shell .timeline-card .home-column-head{margin-bottom:4px}

/* Deadline severity: overdue, imminent (4h), approaching (24h). */
:root{--surface-outline:#d5dbe5;--surface-outline-hover:#c7ced9;--deadline-overdue:#b4232d;--deadline-overdue-bg:#fff0f1;--deadline-overdue-border:#f1aeb5;--deadline-imminent:#b54708;--deadline-imminent-bg:#fff3e8;--deadline-imminent-border:#efbd91;--deadline-soon:#806000;--deadline-soon-bg:#fff9df;--deadline-soon-border:#e6c88e}
.sidebar-shell .home-card-layout .home-task-meta .deadline-overdue{color:var(--deadline-overdue);background:var(--deadline-overdue-bg);font-weight:700}
.sidebar-shell .home-card-layout .home-task-meta .deadline-urgent{color:var(--deadline-imminent);background:var(--deadline-imminent-bg);font-weight:700}
.sidebar-shell .home-card-layout .home-task-meta .deadline-soon{color:var(--deadline-soon);background:var(--deadline-soon-bg);font-weight:600}
.home-reminder.danger{color:var(--deadline-overdue);background:var(--deadline-overdue-bg);border-color:var(--deadline-overdue-border)}
.home-reminder.imminent{color:var(--deadline-imminent);background:var(--deadline-imminent-bg);border-color:var(--deadline-imminent-border)}
.task-state.is-overdue i{background:var(--deadline-overdue)}

/* Short pages stay at the top; spare viewport height remains below content. */
.compact-shell .main{align-content:start}
.compact-shell .main>.content{margin-block:0;align-self:start}
.home-card-layout.home-timeline,.timeline-secondary{align-content:start;align-items:start}

/* Task surfaces and semantic action buttons (see docs/design-rules.md). */
.timeline-card .home-card-task,.timeline-card .feature-entry{
 border:1px solid transparent;border-radius:15px;background:color-mix(in srgb,var(--blue) 6%,white);margin:10px 0 0;
}
.timeline-card .feature-entry{padding:7px 9px}
.sidebar-shell .timeline-card .home-task-row{padding:7px 9px}
.timeline-card .home-card-task:hover,.timeline-card .feature-entry:hover{border-color:transparent;background:color-mix(in srgb,var(--blue) 10%,white)}
.timeline-card .timeline-department .feature-entry:first-of-type{border-top:1px solid transparent}
button.action-button,button[type="submit"],button.danger{border-radius:999px;min-height:34px;font-weight:600}
button.action-button{background:#edf3ff;border-color:#9aafe0;color:#254ca5}
button.action-button:hover{background:#dfeaff;border-color:#5b80ca}
button.action-button.primary,button.action-button[data-action="quick-complete"]{background:#315bda;border-color:#315bda;color:#fff}
button.action-button.primary:hover,button.action-button[data-action="quick-complete"]:hover{background:#254ab8;border-color:#254ab8}
button:focus-visible{outline:2px solid #315bda;outline-offset:2px}
button:disabled{cursor:not-allowed}

/* Repeated controls stay subordinate to task content and deadline warnings. */
.sidebar-shell .timeline-card .home-approval-tabs{border-bottom:0}
.sidebar-shell .timeline-card .home-approval-tabs button[aria-selected="true"]{border-color:transparent}
.sidebar-shell .timeline-card .timeline-department{border-top:0;margin-top:10px;padding-top:0}
.timeline-card button.action-button[data-action="quick-complete"]{background:#edf3ff;color:#254ca5;border-color:#6e8cc9;font-weight:600}
.timeline-card button.action-button[data-action="quick-complete"]:hover{background:#e7efff;color:#254ca5;border-color:#9aafe0}

/* Reminder chips navigate to a list; they are not destructive action buttons. */
button.home-reminder{border-radius:10px}

/* Tabs indicate the current view, rather than looking like action buttons. */
.sidebar-shell .home-approval-tabs{gap:12px;border:0;padding-bottom:0;margin:4px 0 6px}
.sidebar-shell .home-approval-tabs button{position:relative;background:transparent;border:0;border-radius:0;padding:7px 6px 9px;color:#64748b;font-weight:500;min-height:36px}
.sidebar-shell .timeline-card .home-approval-tabs button[aria-selected="true"]{background:transparent;border:0;color:#315bba;font-weight:700}
.sidebar-shell .home-approval-tabs button[aria-selected="true"]::after{content:"";position:absolute;bottom:0;left:calc(50% - 24px);width:48px;height:3px;border-radius:2px;background:#315bba}
.sidebar-shell .home-approval-tabs button[aria-selected="false"]:hover{color:var(--blue);background:color-mix(in srgb,var(--blue) 9%,white)}

/* Deadline color belongs to the task surface; blue is reserved for interaction. */
.timeline-card .home-card-task,.timeline-card .feature-entry{margin-top:14px;border-left:1px solid transparent}
.timeline-card .deadline-box-overdue{background:#fff0f1}
.timeline-card .deadline-box-urgent{background:#fff3e8}
.timeline-card .deadline-box-soon{background:#fff9df}
.timeline-card .deadline-box-overdue:hover{background:#ffe6e8}
.timeline-card .deadline-box-urgent:hover{background:#ffe9d5}
.timeline-card .deadline-box-soon:hover{background:#fff3c7}
.sidebar-shell .home-approval-tabs{gap:4px;padding:3px;background:#edf0f5;border-radius:9px;margin:4px 0 8px}
.sidebar-shell .home-approval-tabs button{border-radius:6px;padding:6px;min-height:34px;background:transparent}
.sidebar-shell .timeline-card .home-approval-tabs button[aria-selected="true"]{background:#fff;color:#254ca5;box-shadow:0 1px 3px #25324a26}
.sidebar-shell .home-approval-tabs button[aria-selected="true"]::after{content:none}
/* Direct manipulation of dashboard cards. */
.timeline-card-heading h2{cursor:grab;display:flex;align-items:center;gap:5px}
.card-grip{color:#8291a8;font-size:16px}.timeline-card-heading h2:active{cursor:grabbing}
.timeline-card-menu{position:relative;margin:0}.timeline-card-menu>summary{list-style:none;font-size:22px;padding:0 8px;border-radius:6px;color:#536780}.timeline-card-menu>summary::-webkit-details-marker{display:none}
.timeline-card-options{position:absolute;right:0;top:100%;z-index:25;width:240px;padding:12px;background:white;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #25324a22;display:grid;gap:8px;font-size:13px}
.timeline-card-options button{padding:6px 9px;font-size:13px}.timeline-card-options [aria-pressed=true]{background:#edf3ff;border-color:#6e8cc9;color:#254ca5}
.timeline-add{margin:0;align-self:start;padding:10px;font-size:13px}.timeline-add>div{display:grid;gap:8px}.timeline-add summary{padding:4px}
.timeline-card.card-drop-target{outline:2px dashed var(--blue);outline-offset:3px}
.timeline-add{position:relative;padding:0;margin:0;min-width:0}
.timeline-add>summary{list-style:none;min-height:160px;display:flex;align-items:center;justify-content:center;border:1px dashed #b7c5da;border-radius:15px;color:#596f91;background:color-mix(in srgb,var(--blue) 2%,white);font-size:15px;padding:20px}
.timeline-add>summary::-webkit-details-marker{display:none}
.timeline-add>summary:hover{background:color-mix(in srgb,var(--blue) 6%,white);border-color:var(--blue)}
.timeline-add>.timeline-add-options{left:0;right:auto;top:12px;width:min(340px,100%);max-height:420px;overflow:auto}
.timeline-add-choices{display:grid;gap:6px}
.timeline-add-choices label{display:flex;align-items:center;gap:9px;margin:0;padding:9px;border-radius:8px;cursor:pointer;line-height:1.4}
.timeline-add-choices label:has(:checked){background:#edf3ff}
.timeline-add-choices input{width:16px;min-height:16px;margin:0;flex:none}
.timeline-add-choices small{display:block;font-size:12px;color:#69758b;margin-top:3px}
.department-overdue-dot{display:inline-block;width:9px;height:9px;margin-left:6px;border-radius:50%;background:var(--deadline-overdue);box-shadow:0 0 0 3px var(--deadline-overdue-bg);vertical-align:middle}
.sidebar-shell .timeline-card .home-approval-tabs button{min-width:0;font-size:13px}

/* Softer tab corners, distinct from pill-shaped action buttons. */
.sidebar-shell .home-approval-tabs{border-radius:14px}
.sidebar-shell .home-approval-tabs button{border-radius:11px}

.department-deadline-clock{display:inline-flex;vertical-align:middle;margin-left:5px;background:none}
.department-deadline-clock .task-signal-icon{width:18px;height:18px;stroke-width:2.2}
.department-deadline-clock.overdue{color:var(--deadline-overdue)}
.department-deadline-clock.urgent{color:var(--deadline-imminent)}
.department-deadline-clock.soon{color:var(--deadline-soon)}

/* Align labels, counts and severity icons consistently in every tab. */
.sidebar-shell .home-approval-tabs button{display:flex;align-items:center;justify-content:center;gap:5px;line-height:20px}
.sidebar-shell .home-approval-tabs b{margin-left:0;line-height:20px}
.sidebar-shell .home-approval-tabs .department-deadline-clock{margin-left:0;align-items:center;flex:none;line-height:1}
.sidebar-shell .home-approval-tabs .department-deadline-clock svg{display:block}

/* Keep tab labels on one line so wrapped text cannot shift their visual centers. */
.sidebar-shell .home-approval-tabs{align-items:center;overflow-x:auto}
.sidebar-shell .home-approval-tabs button{height:36px;min-height:36px;flex:1 0 auto;white-space:nowrap;padding:6px;box-sizing:border-box}
.sidebar-shell .home-approval-tabs .direction-tab-label{display:block;line-height:20px;white-space:nowrap}
.sidebar-shell .home-approval-tabs b{display:block;flex:none}

.sidebar-shell .timeline-card .home-approval-tabs button[aria-selected="true"]:hover{background:#fff;color:#254ca5}

/* Let the task surface own hover color; nested rows must not cover deadline hues. */
.timeline-card .home-card-task .home-task-row:hover{background:transparent}

/* The rounded task surface owns all hover paint, including its nested row. */
.sidebar-shell .timeline-card .home-card-task,.sidebar-shell .timeline-card .feature-entry{border-radius:15px}
.sidebar-shell .timeline-card .home-card-task>.home-task-row{border-radius:inherit;background:transparent}
.sidebar-shell .timeline-card .home-card-task>.home-task-row:hover{background:transparent}
.sidebar-shell .timeline-card .home-card-task:hover,.sidebar-shell .timeline-card .feature-entry:hover{background:color-mix(in srgb,var(--blue) 14%,white)}
.sidebar-shell .timeline-card .deadline-box-overdue:hover{background:#ffd9dd}
.sidebar-shell .timeline-card .deadline-box-urgent:hover{background:#ffdfc2}
.sidebar-shell .timeline-card .deadline-box-soon:hover{background:#ffedac}
/* Summary reminders follow the same surface shape and same-hue hover rules. */
button.home-reminder{border-radius:15px}
button.home-reminder.danger:hover{background:#ffd9dd;border-color:var(--deadline-overdue-border);color:var(--deadline-overdue)}
button.home-reminder.imminent:hover{background:#ffdfc2;border-color:var(--deadline-imminent-border);color:var(--deadline-imminent)}
button.home-reminder.warning:hover{background:#ffedac;border-color:var(--deadline-soon-border);color:#80520b}

/* Card settings use the same selection/action distinction as the dashboard. */
.timeline-card-options .card-count-segment{display:flex;gap:4px;padding:3px;background:#edf0f5;border-radius:14px}
.timeline-card-options .card-count-segment button{flex:1;border:0;border-radius:11px;background:transparent;color:#64748b;min-height:34px}
.timeline-card-options .card-count-segment button[aria-pressed="true"]{background:white;color:#254ca5;font-weight:700;box-shadow:0 1px 3px #25324a26}
.timeline-card-options .card-count-segment button[aria-pressed="false"]:hover{background:color-mix(in srgb,var(--blue) 9%,white);color:var(--blue)}
.timeline-card-options button[data-card-setting]:not([data-card-setting="limit"]){border-radius:999px;min-height:34px;background:#edf3ff;color:#254ca5;border:1px solid #6e8cc9;font-weight:600}
.timeline-card-options button[data-card-setting]:not([data-card-setting="limit"]):hover{background:#dfeaff;border-color:#5b80ca}
.timeline-card-options>.row>button{flex:1}
/* Shared secondary action treatment: completion, creation, and card controls. */
:root{--action-soft:#edf3ff;--action-soft-hover:#dfeaff;--action-ink:#254ca5;--action-line:#6e8cc9;--action-line-hover:#5b80ca}
button.action-button:not(.primary),
.timeline-card button.action-button[data-action="quick-complete"],
.timeline-card-options button[data-card-setting]:not([data-card-setting="limit"]){background:var(--action-soft);color:var(--action-ink);border:0.5px solid var(--action-line);border-radius:999px;min-height:34px;font-weight:600}
button.action-button:not(.primary):hover,
.timeline-card button.action-button[data-action="quick-complete"]:hover,
.timeline-card-options button[data-card-setting]:not([data-card-setting="limit"]):hover{background:var(--action-soft-hover);color:var(--action-ink);border-color:var(--action-line-hover)}
.custom-card-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px;max-height:240px;overflow:auto;padding:8px}
.custom-card-choices label{display:flex;align-items:center;gap:8px;margin:0;padding:6px;background:#f4f7fc;border-radius:8px}
.custom-card-preview{padding:12px;background:#f4f7fc;border-radius:12px;margin:12px 0}.custom-card-preview p{margin:5px 0;font-size:13px}
.card-filter-tree{max-height:320px;overflow:auto;padding:6px}.card-filter-tree label{display:flex;align-items:center;gap:8px;padding:6px;margin:3px 0}.card-filter-branch{margin:6px 0}.card-filter-branch>summary,.card-filter-branch>label{background:#eef2fa;border:1px solid #bccbe2;border-radius:9px;padding:8px;font-weight:600}.card-filter-branch>div{margin-left:14px;border-left:2px solid #bdcbe0;padding-left:10px}
.sidebar-shell .sidebar-actions>button{min-height:46px;padding:10px 12px;font-size:14px;border-radius:999px}
.compose-kind-switch{display:flex;gap:5px;background:#edf0f5;padding:4px;border-radius:14px;margin-bottom:16px;flex-wrap:wrap}
.compose-kind-switch button{flex:1;border:0;background:transparent;border-radius:10px;min-height:40px;white-space:nowrap;color:#536780}
.compose-kind-switch button[aria-pressed=true]{background:#fff;color:#254ca5;font-weight:700;box-shadow:0 1px 3px #25324a26}
#dialog form[hidden]{display:none!important}
.sidebar-shell .sidebar-actions>button{text-align:center;justify-content:center}
.sidebar-shell .sidebar-actions{gap:9px}
.management-type-editor{padding:12px 0}

/* Work creation: self first, optional delegation and sharing, compact rows. */
dialog:has(.compact-work-form){width:min(1100px,calc(100vw - 40px));max-width:1100px}
.compact-work-form>label:has(>input){display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:12px;margin:12px 0}
.compact-work-form>label>input{margin:0}
.compact-work-form>details{margin:10px 0}
.compact-work-form>details>summary{padding:6px 0;cursor:pointer}
.compact-work-form .work-control-line{display:flex;align-items:center;gap:16px;min-height:38px;flex-wrap:wrap}
.compact-work-form .work-control-line>strong{width:134px;flex:none}
.compact-work-form .work-control-line label,.compact-work-form .contract-options label{display:flex;align-items:center;gap:8px;margin:0}
.compact-work-form .work-control-line input,.compact-work-form .contract-options input{width:17px;height:17px;min-height:0;margin:0}
.compact-work-form .work-people-controls>p{margin:3px 0 8px 150px}
.compact-work-form [hidden]{display:none!important}
.compact-work-form .work-assignment-picker{margin:6px 0 12px 150px}
.compact-work-form .work-assignment-picker .parent-tree{max-height:230px;padding:6px;border-radius:10px}
.compact-work-form .work-assignment-branch>summary{min-height:28px;padding:3px 8px;border-width:1px;font-size:13px}
.compact-work-form .work-assignment-branch>.parent-children{margin-left:10px;padding-left:10px;border-left-width:2px}
.compact-work-form .parent-tree-node .work-assignee{min-height:27px;padding:3px 7px;font-size:13px}
.compact-work-form .work-assignment-picker .work-assignee input{width:16px;height:16px;min-height:16px;flex-basis:16px}
.compact-work-form .other-work-departments>summary{padding:6px}
.compact-work-form .work-selected{margin:5px 0}
.compact-work-form .work-suggestions{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin:5px 0}
.compact-work-form .work-suggestions button{padding:3px 9px;min-height:28px;border-radius:999px;font-size:13px;background:var(--action-soft);color:var(--action-ink)}
.compact-work-form .work-assignee-search{padding:6px 9px;min-height:34px;margin:5px 0}
.compact-work-form .contract-options{display:flex;gap:18px;margin:4px 0 4px 150px;padding:0;border:0}
.compact-work-form .completion-mode-options{display:flex;gap:12px;flex-wrap:wrap}
.compact-work-form .completion-mode-options label{margin:0}
@media(max-width:650px){.compact-work-form>label:has(>input){grid-template-columns:1fr;gap:4px}.compact-work-form .work-assignment-picker,.compact-work-form .contract-options,.compact-work-form .work-people-controls>p{margin-left:0}.compact-work-form .work-control-line>strong{width:auto}}
.input-template-tools,.management-display-settings{margin:8px 0 12px}
.input-template-tools summary,.management-display-settings summary{cursor:pointer;color:var(--action-ink);padding:5px 0}
.template-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}
.template-controls select,.template-controls input:not([type=checkbox]){width:auto;flex:1;min-width:160px;margin:0}
.template-controls button{border-radius:999px;background:var(--action-soft);color:var(--action-ink);border:1px solid var(--action-line);padding:7px 14px}
.template-controls label{display:flex;gap:6px;align-items:center;margin:0}
.template-controls input[type=checkbox]{width:17px;min-height:17px;margin:0}
.compose-kind-switch button[hidden]{display:none}
/* Frequent choices are direct actions, not hidden behind a disclosure. */
.input-template-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0 14px}
.input-template-tools button,.work-quick-candidates button{border-radius:999px;border:1px solid var(--action-line);background:var(--action-soft);color:var(--action-ink);padding:5px 11px;min-height:30px}
.input-template-tools button[aria-pressed=true]{background:#dfeaff;border-color:var(--blue)}
.form-save-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}
.form-save-actions [hidden]{display:none}
.work-quick-candidates{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:2px 0 8px 150px;font-size:13px}
.compact-work-form .work-assignment-picker .work-suggestions{display:none}
@media(max-width:650px){.work-quick-candidates{margin-left:0}}
.work-form-step{border-top:1px solid var(--border);padding:14px 0 10px;margin:4px 0}
.work-form-step>h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:15px}
.work-form-step>h3>span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--action-soft);color:var(--action-ink);font-size:13px}
.compact-work-form :is(.work-form-step>label,label.approval-field){display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:center;margin:10px 0}
.compact-work-form :is(.work-form-step>label,label.approval-field)>input,.compact-work-form :is(.work-form-step>label,label.approval-field)>select{margin:0}
.compact-work-form .work-form-step .completion-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0;padding:0;margin:8px 0}
.compact-work-form .completion-mode-options label{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:10px;background:var(--action-soft)}
.compact-work-form .completion-mode-options input{width:16px;min-height:16px;margin:0}
.assignment-directory>summary{font-size:13px;color:var(--action-ink);cursor:pointer;padding:4px 0}
@media(max-width:650px){.compact-work-form :is(.work-form-step>label,label.approval-field){grid-template-columns:1fr;gap:4px}.compact-work-form .work-form-step .completion-mode-options{grid-template-columns:1fr}}
/* Keep submit/template actions available while the form scrolls. */
dialog .form-save-actions{position:sticky;bottom:-1px;z-index:12;background:#fff;border-top:1px solid var(--border);padding:12px 0;margin-top:18px;box-shadow:0 -6px 12px #25324a08}
dialog .form-save-actions .form-cancel{margin-left:auto;border-radius:999px;background:#fff;color:var(--muted);border:1px solid var(--border)}
dialog:has(.form-save-actions){scroll-padding-bottom:90px}
.template-choice{display:inline-flex;align-items:center;border:1px solid var(--action-line);border-radius:999px;background:var(--action-soft)}
.input-template-tools .template-choice>button{border:0;background:transparent;padding-right:6px}
.template-menu{position:relative}
.template-menu>summary{cursor:pointer;list-style:none;padding:5px 10px;color:var(--action-ink)}
.template-menu>summary::-webkit-details-marker{display:none}
.input-template-tools .template-menu>button{position:absolute;top:100%;right:0;z-index:20;background:white;color:#b42332;border-color:var(--border);box-shadow:0 4px 14px #25324a20;white-space:nowrap;border-radius:10px}
.template-trash{font-size:13px;color:var(--muted)}
.template-trash summary{cursor:pointer;padding:5px}
.template-trash>div{padding:5px;display:flex;align-items:center;gap:8px}
/* Compact assignee selection: chosen people and directory share one row. */
.compact-work-form .work-control-line:has(.compact-assignment-inline){align-items:flex-start;gap:10px;min-height:32px}
.compact-work-form .work-control-line:has(.compact-assignment-inline)>strong{width:134px;padding-top:4px}
.compact-work-form .work-assignment-picker.compact-assignment-inline{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;flex:1;margin:0;min-width:0}
.compact-assignment-inline .work-selected{margin:0!important;gap:5px}
.compact-work-form .compact-assignment-inline .work-selection-chip{min-height:28px;padding:3px 8px;font-size:13px;line-height:20px;border-radius:9px}
.compact-assignment-inline .assignment-directory{margin:0;font-size:13px}
.compact-assignment-inline .assignment-directory[open]{flex-basis:100%}
.compact-assignment-inline .assignment-directory>summary{padding:4px 0}
.compact-work-form .work-quick-candidates{gap:4px;margin-top:4px;margin-bottom:8px;font-size:12px}
.compact-work-form .work-quick-candidates button{min-height:26px;padding:2px 8px;font-size:12px;line-height:20px;border-color:transparent;background:var(--action-soft)}
@media(max-width:650px){.compact-work-form .work-control-line:has(.compact-assignment-inline)>strong{width:auto}}
/* Footer has its own layout row; only the fields scroll behind it. */
dialog[open]:has(form.has-fixed-actions:not([hidden])){display:flex;flex-direction:column;overflow:hidden;max-height:90vh}
dialog:has(form.has-fixed-actions:not([hidden]))>.dialoghead,dialog:has(form.has-fixed-actions:not([hidden]))>.compose-kind-switch{flex-shrink:0}
dialog form.has-fixed-actions{display:flex;flex-direction:column;min-height:0;overflow:hidden;margin:0}
.has-fixed-actions>.work-form-scroll{overflow-y:auto;min-height:0;overscroll-behavior:contain;padding-right:8px;scroll-padding-block:12px}
dialog .has-fixed-actions>.form-save-actions{position:static;flex-shrink:0;margin-top:0;padding:12px 0 0;box-shadow:none;background:#fff;border-top:1px solid var(--border)}
/* Dense creation form: preserve hierarchy without oversized gaps or chips. */
dialog:has(.has-fixed-actions){padding:18px 22px}
dialog:has(.has-fixed-actions)>.dialoghead{margin-bottom:10px}
dialog:has(.has-fixed-actions)>.dialoghead h2{margin:0}
dialog:has(.has-fixed-actions)>.compose-kind-switch{margin-bottom:8px;padding:3px}
dialog:has(.has-fixed-actions)>.compose-kind-switch button{min-height:32px;padding:4px 12px}
.has-fixed-actions .input-template-tools{gap:6px;margin:0 0 8px;min-height:30px}
.has-fixed-actions .template-choice{height:30px;gap:0;padding:0;border-radius:9px}
.has-fixed-actions .template-choice>button{min-height:28px;height:28px;padding:3px 9px;font-size:13px;line-height:20px;border-radius:8px 0 0 8px}
.has-fixed-actions .template-menu{margin:0;padding:0;border:0;line-height:20px}
.has-fixed-actions .template-menu>summary{display:flex;align-items:center;justify-content:center;min-height:28px;height:28px;width:26px;padding:0;font-size:19px;line-height:1;list-style:none}
.has-fixed-actions .input-template-tools>[data-use-previous]{min-height:30px;height:30px;padding:3px 9px;font-size:13px;line-height:20px;border-radius:9px}
.compact-work-form .work-form-step{padding:8px 0 6px;margin:0}
.compact-work-form .work-form-step>h3{margin:0 0 6px;font-size:14px;gap:6px}
.compact-work-form .work-form-step>h3>span{width:21px;height:21px;font-size:12px}
.compact-work-form :is(.work-form-step>label,label.approval-field){margin:5px 0;gap:10px;grid-template-columns:130px minmax(0,1fr)}
.compact-work-form :is(.work-form-step>label,label.approval-field)>input,.compact-work-form :is(.work-form-step>label,label.approval-field)>select{min-height:34px;padding:6px 10px}
.compact-work-form .work-control-line{min-height:28px;gap:10px}
.compact-work-form .work-control-line>strong,.compact-work-form .work-control-line:has(.compact-assignment-inline)>strong{width:120px;padding-top:2px}
.compact-work-form .work-control-line:has(.compact-assignment-inline){min-height:28px}
.compact-work-form .work-quick-candidates{margin:2px 0 4px 130px;gap:4px}
.compact-work-form .work-people-controls>p{margin:2px 0 3px 130px;font-size:11px;line-height:1.4}
.compact-work-form .work-form-step .completion-mode-options{gap:5px;margin:4px 0}
.compact-work-form .completion-mode-options label{padding:5px 8px;line-height:1.4;font-size:13px}
.compact-work-form .completion-mode-options legend{font-size:13px;line-height:1.4;margin-bottom:4px}
.compact-work-form .work-form-step>p.small{margin:4px 0;font-size:11px;line-height:1.4}
.compact-work-form .work-form-scroll>details{margin:4px 0}
.compact-work-form .work-form-scroll>details>summary{padding:4px 0}
dialog .has-fixed-actions>.form-save-actions{padding-top:8px;gap:8px}
@media(max-width:650px){.compact-work-form :is(.work-form-step>label,label.approval-field){grid-template-columns:1fr}.compact-work-form .work-control-line>strong,.compact-work-form .work-control-line:has(.compact-assignment-inline)>strong{width:auto}.compact-work-form .work-quick-candidates,.compact-work-form .work-people-controls>p{margin-left:0}}
/* Density comes from layout, not smaller text or hit targets. */
.has-fixed-actions .template-choice{height:40px;border-radius:11px}
.has-fixed-actions .template-choice>button{height:38px;min-height:38px;padding:7px 12px;font-size:14px;line-height:24px}
.has-fixed-actions .template-menu>summary{width:36px;height:38px;min-height:38px;font-size:22px}
.has-fixed-actions .input-template-tools>[data-use-previous]{height:40px;min-height:40px;padding:7px 12px;font-size:14px;line-height:24px;border-radius:11px}
dialog:has(.has-fixed-actions)>.compose-kind-switch button{min-height:40px;padding:7px 12px;font-size:14px}
.compact-work-form .work-form-step>h3{font-size:15px}
.compact-work-form :is(.work-form-step>label,label.approval-field)>input,.compact-work-form :is(.work-form-step>label,label.approval-field)>select{min-height:42px;padding:9px 12px;font-size:14px}
.compact-work-form .work-quick-candidates button{min-height:34px;padding:5px 10px;font-size:13px;line-height:22px}
.compact-work-form .compact-assignment-inline .work-selection-chip{min-height:36px;padding:6px 10px;font-size:14px;line-height:22px}
.compact-work-form .completion-mode-options label{min-height:40px;padding:8px 10px;font-size:14px;line-height:1.5}
.compact-work-form .completion-mode-options legend{font-size:14px}
.compact-work-form .work-form-step>p.small,.compact-work-form .work-people-controls>p{font-size:12px;line-height:1.5}
.compact-work-form .work-control-line{min-height:36px}
.compact-work-form .assignment-directory>summary{min-height:36px;padding:8px 4px;font-size:14px}
@media(min-width:850px){
 .work-task-form .work-form-step:first-of-type{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:10px}
 .work-task-form .work-form-step:first-of-type>h3{margin:0}
 .work-task-form .work-form-step:first-of-type>label{display:block;font-size:0;margin:0}
 .work-task-form .work-form-step:first-of-type>label>input{font-size:14px}
 .compact-work-form .work-people-controls{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;column-gap:0}
 .compact-work-form .work-people-controls>.work-control-line{display:contents}
 .compact-work-form .work-people-controls>.work-control-line>strong{width:auto;padding:0}
 .compact-work-form .work-people-controls>.work-control-line>label{min-height:36px;align-items:center}
 .compact-work-form .work-people-controls>.work-quick-candidates{grid-column:2;margin:2px 0 6px}
 .compact-work-form .work-people-controls>[data-assignment-area],.compact-work-form .work-people-controls>[data-sharing-area],.compact-work-form .work-people-controls>p{grid-column:2;margin-left:0}
 .compact-work-form .work-people-controls [data-sharing-area] .work-assignment-picker,.compact-work-form .work-people-controls .contract-options{margin-left:0}
 .work-task-form .work-form-step:last-of-type{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
 .work-task-form .work-form-step:last-of-type>h3,.work-task-form .work-form-step:last-of-type>fieldset,.work-task-form .work-form-step:last-of-type>.completion-reviewer-picker,.work-task-form .work-form-step:last-of-type>p{grid-column:1/-1}
 .work-task-form .work-form-step:last-of-type>label{grid-template-columns:90px minmax(0,1fr)}
}
/* Use the dashboard task surface for the steps, rather than divider lines. */
.compact-work-form .work-form-step{border:0;border-radius:15px;background:color-mix(in srgb,var(--blue) 6%,white);padding:12px 14px;margin:0 0 12px}
.compact-work-form .work-form-step .completion-mode-options label{background:#fff}
.compact-work-form .work-selection-chip{background:#fff}
/* Interactive choices keep a visible outline and tinted surface. */
.compact-work-form .work-quick-candidates button,
.compact-work-form .work-selection-chip,
.compact-work-form .work-form-step .completion-mode-options label{background:var(--action-soft);border:1px solid var(--action-line);color:var(--action-ink)}
.compact-work-form .work-quick-candidates button:hover,
.compact-work-form .work-selection-chip:hover,
.compact-work-form .work-form-step .completion-mode-options label:hover{background:var(--action-soft-hover);border-color:var(--action-line-hover)}
.compact-work-form .work-form-step .completion-mode-options label:has(input:checked){background:var(--action-soft-hover);border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);outline:none;font-weight:600}
.compact-work-form .work-form-step .completion-mode-options label:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}
/* Separate selected assignees from suggestions with spacing and weight. */
.compact-work-form .work-quick-candidates:is([data-quick-scope=assign],[data-followup-candidates=assign]){margin-top:10px;margin-bottom:10px;gap:6px}
.compact-work-form .compact-assignment-inline .work-selected{gap:8px}
.compact-work-form .compact-assignment-inline .work-selection-chip{font-weight:600;border-width:2px}
.compact-work-form .compact-assignment-inline .work-selection-chip{padding-top:4px;padding-bottom:4px;min-height:34px}
/* Checkbox sizing in the assignee row must not shrink its nested search field. */
.compact-work-form .work-control-line .work-assignee-search{display:block;width:100%;height:38px;min-height:38px;padding:7px 10px;margin:5px 0 8px;border-radius:9px;font-size:14px}
/* Optional work fields follow the same surface and horizontal form layout. */
.compact-work-form .work-optional-section{background:color-mix(in srgb,var(--blue) 6%,white);border:0;border-radius:15px;padding:10px 14px;margin:0 0 12px!important}
.compact-work-form .work-optional-section>summary{padding:3px 0!important;font-size:14px;font-weight:600;color:var(--action-ink);cursor:pointer;min-height:30px}
.compact-work-form .work-classification-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-top:6px}
.compact-work-form .work-classification-grid>label,
.compact-work-form .work-advanced>label:not(.check){display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:10px;margin:8px 0;font-size:14px}
.compact-work-form .work-classification-grid>label>input,
.compact-work-form .work-advanced>label>input,
.compact-work-form .work-advanced>label>select,
.compact-work-form .work-advanced>label>textarea{margin:0;min-height:42px;padding:9px 12px;font-size:14px}
.compact-work-form .work-advanced>label:has(textarea){align-items:start}
.compact-work-form .work-advanced>label>textarea{height:76px;min-height:76px;resize:vertical;line-height:1.5}
.compact-work-form .work-advanced .home-count-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:0;padding:0;margin:8px 0}
.compact-work-form .work-advanced .home-count-options label{display:flex;align-items:center;gap:7px;min-height:36px;margin:0;padding:5px 12px;background:var(--action-soft);border:1px solid var(--action-line);border-radius:10px}
.compact-work-form .work-advanced .home-count-options input{width:17px;min-height:17px;margin:0}
.compact-work-form .work-advanced .home-count-options label:has(input:checked){background:var(--action-soft-hover);border-color:var(--blue);font-weight:600}
.compact-work-form .work-advanced .split{gap:12px}
.compact-work-form .work-advanced .split>label{margin:6px 0}
.compact-work-form .work-advanced>p.small{margin:5px 0;font-size:12px}
@media(max-width:700px){.compact-work-form .work-classification-grid{grid-template-columns:1fr}.compact-work-form .work-classification-grid>label,.compact-work-form .work-advanced>label:not(.check){grid-template-columns:90px minmax(0,1fr)}}
/* Step hierarchy: blue number badge and larger blue heading. */
.compact-work-form .work-form-step>h3{color:var(--action-ink);font-size:17px;font-weight:700}
.compact-work-form .work-form-step>h3>span{background:var(--blue);color:#fff;width:25px;height:25px;font-size:14px;font-weight:700;flex-shrink:0}
@media(min-width:850px){.compact-work-form .work-form-step:first-of-type{grid-template-columns:155px minmax(0,1fr)}}
.compact-work-form .completion-assignee-warning.is-invalid{color:#b42332;font-weight:600}
.compact-work-form .work-selection-chip.is-invalid{background:#fff0f2;border-color:#c52c3b;color:#b42332}
.compact-work-form .work-selection-chip.is-invalid:hover{background:#ffd9dd;border-color:#b42332}
.compact-work-form .work-file-drop{border:1px dashed var(--action-line);padding:12px 14px}
.work-file-drop.drag-over{background:var(--action-soft-hover);outline:2px solid var(--blue)}
.work-file-list>div{justify-content:space-between;margin-top:6px;font-size:14px}
.work-file-list button{padding:4px 10px;min-height:34px;background:var(--action-soft);border-color:var(--action-line)}
.work-link-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(200px,3fr) auto;gap:8px;align-items:center;margin:8px 0}
.work-link-row input{min-height:40px;margin:0;padding:8px 10px}
.work-link-row button,.work-resource-links button{background:var(--action-soft);border:1px solid var(--action-line);border-radius:999px;min-height:34px}
.work-resource-links .row{padding:8px 0;overflow-wrap:anywhere}
@media(max-width:650px){.work-link-row{grid-template-columns:1fr auto}.work-link-row input:first-child{grid-column:1/-1}}
.compact-work-form .work-links>strong,
.compact-work-form .work-file-drop>.row>strong{color:var(--action-ink);font-size:17px;font-weight:700}
dialog.work-detail-dialog{width:min(1100px,calc(100vw - 40px));max-width:1100px}
.work-transfer-history{background:color-mix(in srgb,var(--blue) 6%,white);border-radius:15px;padding:14px;margin:14px 0}
.work-transfer-history h3,.work-transfer-form h3{color:var(--action-ink)}
.work-transfer-history>div{padding:8px 0}.work-transfer-history p{margin:4px 0;white-space:pre-wrap}
/* Task detail and handoff inherit the established form design. */
dialog.work-detail-dialog .dialoghead h2,dialog.work-detail-dialog h2,dialog.work-detail-dialog h3{color:var(--action-ink)}
.work-detail-body{background:color-mix(in srgb,var(--blue) 6%,white);border-radius:15px;padding:16px}
.work-detail-body>h2{font-size:20px;margin:10px 0!important}
.work-detail-body>p{margin:10px 0;line-height:1.6}
.work-detail-body button:not(.primary):not(.danger):not(.link),.work-transfer-form button:not(.primary){border-radius:999px;background:var(--action-soft);border:1px solid var(--action-line);color:var(--action-ink);min-height:36px}
.work-detail-body .primary,.work-transfer-form .primary{border-radius:999px;min-height:40px}
.work-transfer-form{background:color-mix(in srgb,var(--blue) 6%,white);border-radius:15px;padding:14px}
.work-transfer-form>label{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:center;gap:10px;margin:10px 0}
.work-transfer-form>label>select,.work-transfer-form>label>textarea{margin:0}
.work-transfer-form textarea{min-height:76px}
.transfer-reasons{border:0;padding:0;margin:12px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.transfer-reasons legend{color:var(--action-ink);font-weight:600;margin-bottom:6px}
.transfer-reasons label{display:flex;align-items:center;gap:8px;margin:0;padding:8px 10px;background:var(--action-soft);border:1px solid var(--action-line);border-radius:10px;min-height:40px}
.transfer-reasons input{width:17px;min-height:17px;margin:0}
.transfer-reasons label:has(input:checked){background:var(--action-soft-hover);border-color:var(--blue);font-weight:600}
@media(max-width:650px){.work-transfer-form>label,.transfer-reasons{grid-template-columns:1fr}}
.work-detail-body{background:transparent;padding:0}
.task-detail-summary,.task-detail-section{background:color-mix(in srgb,var(--blue) 6%,white);border-radius:15px;padding:14px;margin-bottom:12px}
.task-detail-summary>h2{font-size:21px;margin:8px 0 12px!important}
.task-detail-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:0}
.task-detail-summary dl>div{display:grid;grid-template-columns:80px 1fr;gap:10px;align-items:baseline}
.task-detail-summary dt{font-size:13px;color:var(--muted)}
.task-detail-summary dd{margin:0;font-size:14px;font-weight:600;overflow-wrap:anywhere}
.task-detail-columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px;align-items:start}
.task-detail-columns>div{min-width:0}
.task-detail-section>h3{margin:0 0 10px;font-size:17px;color:var(--action-ink)}
.task-detail-section>p{margin:6px 0;line-height:1.6}
.task-detail-section>button{margin:0 6px 8px 0}
.task-detail-section .uploadbox{margin-top:10px;padding:0;border:0}
.task-detail-section label{margin-bottom:8px}
.task-detail-section textarea{min-height:72px}
.task-detail-section .notice{margin:6px 0;padding:10px}
.task-detail-section .notice p{margin:4px 0}
.task-detail-other{margin-top:8px}.task-detail-other>summary{color:var(--action-ink);cursor:pointer;padding:6px 0}.task-detail-other>button{margin:5px 6px 0 0}
.task-detail-columns .work-transfer-history{margin:0 0 12px}
@media(max-width:750px){.task-detail-columns,.task-detail-summary dl{grid-template-columns:1fr}}
/* Detail actions occupy a fixed footer, outside the scrolling information. */
dialog[open].work-detail-dialog:has(>.task-detail-footer){display:flex;flex-direction:column;overflow:hidden;max-height:90vh}
dialog.work-detail-dialog:has(>.task-detail-footer)>.dialoghead{flex-shrink:0}
dialog.work-detail-dialog:has(>.task-detail-footer)>.work-detail-body{overflow-y:auto;min-height:0;padding-right:6px;overscroll-behavior:contain}
.task-detail-footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-shrink:0;padding-top:12px;border-top:1px solid var(--border);background:#fff}
.task-detail-footer>button,.task-detail-footer .task-detail-other>button{min-height:38px;border-radius:999px}
.task-detail-footer>button:not(.primary):not(.danger){background:var(--action-soft);border-color:var(--action-line);color:var(--action-ink)}
.task-detail-footer .task-detail-other{position:relative;margin:0 0 0 auto}
.task-detail-footer .task-detail-other>summary{min-height:38px;padding:8px 12px;border:1px solid var(--action-line);border-radius:999px;background:var(--action-soft);list-style:none}
.task-detail-footer .task-detail-other[open]{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.task-detail-footer .task-detail-other>button{margin:0}
.work-detail-dialog .task-close-only{justify-content:flex-end;margin-bottom:0;height:26px}
.task-content-first .task-detail-summary>h2{margin-top:4px!important;font-size:22px}
.task-content-first .task-detail-summary>p{margin:10px 0;white-space:pre-wrap;line-height:1.6}
.task-detail-summary>.task-detail-section{padding:0;margin:12px 0 0;background:transparent}
.task-content-first>.task-detail-section dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:0}
.task-content-first>.task-detail-section dl>div{display:grid;grid-template-columns:80px 1fr;gap:10px}
.task-content-first dt{font-size:13px;color:var(--muted)}.task-content-first dd{margin:0;font-size:14px;font-weight:600}
.task-current-context p{margin:4px 0;font-size:15px}
.task-next-route{margin-top:12px;font-size:14px}.task-next-route strong{color:var(--action-ink)}.task-next-route p{margin:5px 0}
.task-attachment-tiles{display:flex;flex-wrap:wrap;gap:8px}
.work-detail-body .task-attachment-tile{display:flex;align-items:center;gap:10px;text-align:left;border-radius:12px!important;padding:8px 12px;max-width:320px}
.task-attachment-tile img{width:88px;height:66px;object-fit:cover;border-radius:8px;background:var(--action-soft)}
.task-attachment-tile>span:last-child{overflow-wrap:anywhere;font-size:14px}.task-attachment-tile small{display:block;color:var(--muted);font-size:12px}
.document-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:54px;border-radius:5px 12px 5px 5px;background:#64748b;color:white;font-weight:700;font-size:12px}
.document-icon.pdf{background:#ba303a}.document-icon.word{background:#2456a3;font-size:24px}.document-icon.sheet{background:#22774d}
@media(max-width:750px){.task-content-first>.task-detail-section dl{grid-template-columns:1fr}}
/* Use the detail width for content, instead of stacking short items full-width. */
.task-primary-content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:start;margin-top:10px}
.task-primary-content>.task-description:only-child,.task-primary-content>.task-detail-section:only-child{grid-column:1/-1}
.task-primary-content>.task-detail-section{padding:0;margin:0;background:transparent}
.task-primary-content .task-description p{margin:0;white-space:pre-wrap;line-height:1.6;overflow-wrap:anywhere}
.task-primary-content .task-detail-section>h3{margin-bottom:6px}
.task-primary-content .task-detail-section>details{margin-top:8px}
.task-primary-content .work-resource-links{display:flex;flex-wrap:wrap;gap:6px 12px;margin-bottom:8px}
.task-primary-content .work-resource-links .row{padding:0;gap:8px}
.task-primary-content .task-attachment-tiles{gap:8px}
.task-content-first .task-current-context{display:flex;align-items:baseline;gap:16px;padding:12px 14px}
.task-content-first .task-current-context h3{flex:none;margin:0}
.task-content-first .task-current-context p{margin:0;line-height:1.5}
.task-content-first>.task-detail-summary{padding:10px 14px;margin-bottom:10px}
.task-content-first>.task-detail-section{margin-bottom:10px}
.task-content-first .task-next-route{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:10px}
.task-content-first .task-next-route p{margin:0}
@media(max-width:750px){.task-primary-content{grid-template-columns:1fr;gap:12px}.task-content-first .task-current-context{display:block}.task-content-first .task-current-context h3{margin-bottom:5px}}
.task-attachment-tile[draggable=true]{cursor:grab}.task-attachment-tile.dragging{opacity:.45}.task-attachment-tile.drop-target{outline:2px solid var(--blue);outline-offset:2px}.task-attachment-tile img{pointer-events:none}
/* Content uses its natural height; attachments share the full width below it. */
.task-primary-content{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.task-primary-content>.task-description,.task-primary-content>.task-detail-section{width:100%;min-width:0}
.task-primary-content>.task-detail-section{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.task-primary-content>.task-detail-section>h3{flex:0 0 100%;margin:0;font-size:15px}
.task-primary-content .work-resource-links{display:contents}
.task-primary-content .work-resource-links>.row{display:inline-flex;flex-wrap:nowrap;gap:8px;min-height:66px;padding:8px 10px;border:1px solid var(--action-line);border-radius:12px;background:var(--action-soft);max-width:100%}
.task-primary-content .task-attachment-tiles{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}
.work-detail-body .task-primary-content .task-attachment-tile{width:240px;max-width:100%;min-height:66px;padding:7px 10px;gap:9px}
.task-primary-content .task-attachment-tile img{width:56px;height:50px;object-fit:contain;flex-shrink:0}
.task-primary-content .document-icon{width:36px;height:46px;font-size:11px}
.task-primary-content .document-icon.word{font-size:21px}
.task-primary-content .task-attachment-tile>span:last-child{min-width:0;line-height:1.4}
.task-primary-content>.task-detail-section>details{margin:0;flex:0 0 100%}
.task-primary-content>.task-detail-section>details>summary{padding:4px 0;font-size:13px;color:var(--action-ink);cursor:pointer}
/* Detail hierarchy: one title, one situation panel, uniform resource tiles. */
.task-title-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;margin-bottom:8px}
.task-title-line h2{font-size:22px;line-height:1.4;margin:0;flex:1;min-width:200px}
.task-title-line>.row{gap:6px;flex:none}
.task-content-first .task-primary-content{margin-top:0;gap:10px}
.task-content-first .task-situation{padding:14px}
.task-content-first .task-situation .task-current-context{background:transparent;padding:0;margin:0 0 12px;gap:12px}
.task-situation>.task-current-context>h3{font-size:16px;padding:5px 10px;border-radius:9px;background:var(--action-soft-hover)}
.task-content-first>.task-situation dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}
.task-content-first>.task-situation dl>div{display:block}
.task-content-first>.task-situation dt{margin:0 0 2px;font-size:12px}
.task-content-first>.task-situation dd{font-size:14px;line-height:1.5}
.task-situation .task-next-route{padding:8px 10px;background:color-mix(in srgb,var(--blue) 9%,white);border-radius:9px;margin-top:12px;line-height:1.5}
.task-primary-content .task-attachment-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));width:100%;gap:8px}
.work-detail-body .task-primary-content .task-attachment-tile,.task-primary-content .task-link-tile{width:100%;max-width:none;min-height:68px;margin:0;border:1px solid var(--action-line);background:var(--action-soft);border-radius:12px;padding:8px 10px}
.task-primary-content .task-link-tile{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.task-link-tile strong{font-size:14px;min-width:0;overflow-wrap:anywhere}
.task-link-tile a{font-size:14px}
.work-detail-body .task-link-tile button{margin-left:auto;padding:4px 8px;min-height:34px;font-size:12px}
.task-content-first .task-detail-section #completion-form{margin:0}
.task-content-first .task-detail-section .card:has(>#completion-form){background:transparent;border:0;padding:0;margin:0}
@media(max-width:750px){.task-content-first>.task-situation dl{grid-template-columns:1fr 1fr}.task-title-line h2{min-width:0;flex-basis:100%}}
.task-content-first>.task-current-context{background:color-mix(in srgb,var(--blue) 6%,white);border-radius:15px;margin-bottom:10px;padding:12px 14px}
.task-content-first>.task-next-route{display:block;background:color-mix(in srgb,var(--blue) 6%,white);border-radius:15px;padding:14px;margin:0 0 10px}
.task-content-first>.task-next-route>h3{font-size:17px;color:var(--action-ink);margin:0 0 6px}
.task-linked-object{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
/* A compact close row must still contain the full button hit area. */
dialog.work-detail-dialog{padding:10px 18px 14px}
dialog.work-detail-dialog>.dialoghead.task-close-only{display:flex;align-items:center;justify-content:flex-end;height:36px;min-height:36px;margin:0 0 6px;padding:0;flex-shrink:0}
dialog.work-detail-dialog>.task-close-only>[data-action=close]{display:flex;align-items:center;justify-content:center;width:auto;min-width:76px;height:36px;min-height:36px;padding:0 12px;line-height:1;font-size:14px;font-weight:600;border:1px solid var(--action-line);border-radius:999px;background:var(--action-soft);color:var(--action-ink);box-sizing:border-box}
dialog.work-detail-dialog:has(>.task-detail-footer)>.work-detail-body{scrollbar-gutter:stable;padding-right:8px}
.task-stage-track{display:flex;gap:10px;list-style:none;padding:0;margin:8px 0 0;flex-wrap:wrap}
.task-stage-track li{display:flex;gap:9px;align-items:flex-start;flex:1;min-width:140px;border:1px solid var(--action-line);border-radius:12px;padding:10px;background:var(--action-soft)}
.task-stage-track li.current{background:var(--action-soft-hover);border:2px solid var(--blue)}
.task-stage-track li.done{background:#e7f4ee;border-color:#77a992}
.stage-number{background:var(--blue);color:white;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;flex:none}
.task-stage-track small,.task-stage-track li div>span{display:block;font-size:12px;margin-top:3px;color:var(--muted)}
.task-chat{display:flex;flex-direction:column;gap:12px;max-height:360px;overflow:auto;padding:4px}
.chat-message{display:flex;gap:8px;max-width:85%;align-self:flex-start}.chat-message.mine{align-self:flex-end;flex-direction:row-reverse}
.chat-avatar{width:34px;height:34px;flex:none;background:var(--action-soft-hover);color:var(--action-ink);border-radius:50%;display:grid;place-items:center}.chat-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.chat-message-content{border:1px solid var(--action-line);border-radius:14px;background:var(--action-soft);padding:8px 12px;min-width:100px}.mine .chat-message-content{background:var(--action-soft-hover)}
.chat-message-content strong{font-size:12px;color:var(--action-ink)}.chat-message-content p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0;font-size:14px}.chat-message-content time{font-size:11px;color:var(--muted)}
.task-chat-compose{display:flex;align-items:flex-end;gap:10px;margin-top:12px}.task-chat-compose label{flex:1;margin:0}.task-chat-compose textarea{min-height:60px;height:60px}.task-chat-compose button{margin:0;min-height:38px}
.work-detail-body>.task-detail-section[hidden]{display:none}
.task-flow-action .task-stage-track{gap:3px;margin:0;flex-wrap:nowrap;overflow-x:auto}
.task-flow-action .task-stage-track li{position:relative;min-width:140px;border:0!important;border-radius:0;clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%,12px 50%);padding:12px 24px;background:#e5e8ed;color:#637084}
.task-flow-action .task-stage-track li:first-child{clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%);padding-left:12px}
.task-flow-action .task-stage-track li.current{background:#dce8ff;color:var(--action-ink)}
.task-flow-action .task-stage-track li.done{background:#e0eee6;color:#35634c}
.task-flow-action .future .stage-number{background:#a0a8b3}
.task-flow-action .task-current-context{margin:8px 0 0;padding:0;background:transparent}
.task-links-strip{display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap;width:100%;margin:4px 0;font-size:13px}
.task-primary-content .task-links-strip .task-link-tile{display:flex;width:auto;min-height:32px;background:transparent;border:0;padding:0;gap:6px;margin:0}
.task-primary-content .task-links-strip button{min-height:30px;padding:3px 7px}
.chat-message{max-width:95%;width:auto}.chat-message-content{min-width:200px}
.chat-author-line{display:flex;align-items:center;justify-content:space-between;gap:20px}
.task-content-first>.task-detail-section .history>section{display:grid;grid-template-columns:minmax(140px,1fr) minmax(100px,1fr) minmax(160px,1.3fr);gap:6px 16px;align-items:baseline;padding:8px 0}
.task-content-first>.task-detail-section .history>section>p{margin:0}
.task-content-first>.task-detail-section .history>section>details{grid-column:1/-1}
dialog.file-preview-dialog{width:min(1100px,94vw);max-width:1100px;height:85vh;max-height:90vh;padding:14px}
.file-preview-dialog[open]{display:flex;flex-direction:column;gap:12px}
.file-preview-dialog header{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--action-ink)}
.file-preview-dialog header>div{display:flex;align-items:center;gap:12px;flex-shrink:0}
.file-preview-dialog a{font-size:13px}.file-preview-body{flex:1;min-height:0;overflow:auto;background:#eef2f8;border-radius:12px;display:grid;place-items:center}
.file-preview-body img{max-width:100%;max-height:100%;object-fit:contain}.file-preview-body iframe{width:100%;height:100%;border:0}.file-preview-body pre{white-space:pre-wrap;justify-self:stretch;align-self:start;padding:16px}
@media(max-width:600px){
 .file-preview-dialog header{align-items:flex-start;flex-wrap:wrap}
 .file-preview-dialog header>strong{overflow-wrap:anywhere}
 .file-preview-dialog header>div{width:100%;justify-content:flex-end;gap:10px}
 .task-content-first>.task-detail-section .history>section{grid-template-columns:1fr 1fr}
 .task-content-first>.task-detail-section .history>section>p:last-of-type{grid-column:1/-1}
 .chat-message-content{min-width:0}.chat-author-line{gap:10px;flex-wrap:wrap}
}
/* Task detail rhythm: compact layout, unchanged text and action hit targets. */
.task-content-first>.task-detail-section{padding:10px 14px}
.task-content-first>.task-flow-action{padding:10px 12px}
.task-flow-action .task-stage-track li{padding:8px 24px;align-items:center}
.task-flow-action .task-stage-track li>div{display:flex;align-items:baseline;gap:3px 8px;flex-wrap:wrap;min-width:0}
.task-flow-action .task-stage-track li small{flex-basis:100%;margin:0;overflow-wrap:anywhere}
.task-flow-action .task-stage-track li div>span{order:-1;margin:0;font-size:11px}
.task-flow-action .task-stage-track li strong{order:-2}
.task-content-first .task-flow-action .task-current-context{margin-top:6px}
.task-primary-content .task-attachment-tiles{display:flex;flex-wrap:wrap;gap:8px}
.work-detail-body .task-primary-content .task-attachment-tile{width:clamp(220px,28%,300px);min-width:0;max-width:100%;text-align:left}
.task-attachment-tile>span:last-child{overflow-wrap:anywhere}
.task-content-first>.task-situation dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}
.task-content-first>.task-situation dl>div{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px;align-items:baseline}
.task-content-first>.task-situation dt{margin:0;font-size:13px}
.task-content-first>.task-situation dd{overflow-wrap:anywhere}
.task-content-first>.task-detail-section>h3{margin-bottom:8px}
.task-content-first .history{margin:0;padding:0;border:0;display:grid;gap:4px}
.task-content-first>.task-detail-section .history>section{margin:0;padding:7px 10px;border-radius:8px;background:color-mix(in srgb,var(--blue) 4%,white);grid-template-columns:minmax(130px,.8fr) minmax(150px,1fr) minmax(190px,1.2fr)}
.task-chat{gap:8px;padding:0}
.task-chat-compose{margin-top:8px;align-items:center}
.task-chat-compose label{margin:0;line-height:1.4}
.task-chat-compose textarea{height:48px;min-height:48px;margin:0}
.task-chat-compose button{min-height:40px;flex:none}
.chat-message-content{padding:6px 10px}
.task-content-first .task-linked-object{margin-top:8px;gap:8px}
.task-content-first .task-linked-object button{margin:0}
@media(max-width:650px){
 .task-content-first>.task-situation dl{grid-template-columns:1fr}
 .task-content-first>.task-detail-section .history>section{grid-template-columns:1fr 1fr;gap:4px 8px}
 .task-content-first>.task-detail-section .history>section>p:last-of-type{grid-column:1/-1}
 .work-detail-body .task-primary-content .task-attachment-tile{width:100%}
 .task-chat-compose{flex-wrap:wrap}.task-chat-compose label{flex-basis:100%}.task-chat-compose button{margin-left:auto}
 .task-detail-footer{gap:6px}.task-detail-footer>button{flex:1 1 auto}
}

@media(min-width:850px){
 .compact-work-form .work-completion-step{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
 .compact-work-form .work-completion-step>*{grid-column:1/-1;min-width:0}
 .compact-work-form .work-completion-step>label{grid-column:auto;grid-template-columns:90px minmax(0,1fr);margin-bottom:0}
 .compact-work-form .work-links{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:start;gap:8px}
 .compact-work-form .work-links>strong{padding-top:10px}
}
@media(max-width:650px){
 dialog:has(.has-fixed-actions),dialog.work-detail-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);padding:10px 12px 12px;margin:auto;max-height:calc(100dvh - 24px)}
 .has-fixed-actions>.work-form-scroll{padding-right:4px}
}
/* Keep task identity visible in the space beside the close button. */
dialog.work-detail-dialog>.dialoghead.task-identity-header{height:auto;min-height:40px;align-items:flex-start;gap:12px;margin-bottom:10px}
.task-identity-header .task-title-line{flex:1;min-width:0;display:block;margin:0}
.task-identity-header .task-title-line h2{font-size:22px;line-height:1.4;margin:0;min-width:0;overflow-wrap:anywhere}
.task-header-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px;margin-top:5px;font-size:13px;color:var(--muted)}
.task-header-meta>.row{gap:5px}
.task-header-due{white-space:nowrap}
.task-identity-header>[data-action=close]{flex:none}
@media(max-width:650px){.task-identity-header .task-title-line h2{font-size:19px}.task-header-due{white-space:normal}}
/* Attachment preview is the next page within the existing task dialog. */
dialog.task-preview-mode{overflow:hidden!important}
.task-preview-source{transition:transform .22s ease,opacity .22s ease}
.task-preview-shown>.task-preview-source{transform:translateX(-100%);opacity:0}
.task-file-preview{position:absolute;inset:10px 18px 14px;display:flex;flex-direction:column;gap:10px;min-width:0;transform:translateX(calc(100% + 36px));transition:transform .22s ease;background:white}
.task-preview-shown>.task-file-preview{transform:translateX(0)}
.task-file-preview>header{display:flex;align-items:center;gap:10px;min-width:0;color:var(--action-ink)}
.task-file-preview>header>button{flex:none;min-height:40px;border-radius:999px;background:var(--action-soft);border:1px solid var(--action-line);color:var(--action-ink)}
.task-file-preview>header>strong{flex:1;min-width:0;overflow-wrap:anywhere;font-size:15px}
.task-file-preview>header>div{display:flex;gap:12px;flex-wrap:wrap;font-size:13px}
.task-file-preview .file-preview-body{min-height:0}
@media(max-width:650px){.task-file-preview{inset:10px 12px 12px}.task-file-preview>header{flex-wrap:wrap}.task-file-preview>header>div{flex-basis:100%;justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){.task-preview-source,.task-file-preview{transition:none}}
/* Consistent detail headings and simple comment/history rows. */
.task-header-meta .task-header-due{display:inline-flex;align-items:center;gap:5px;margin:0;padding:3px 6px;font-size:13px}
.task-header-due svg{width:16px;height:16px}
.task-flow-action .task-stage-track li.has-action{flex-wrap:wrap}
.task-flow-action .task-stage-track li.has-action>div:not(.task-current-context){flex:1}
.task-content-first .task-flow-action .task-current-context{flex-basis:100%;padding:0;margin:5px 0 0;font-size:13px;line-height:1.5}
.task-description>h3,.task-resource-heading>h3{font-size:17px;color:var(--action-ink);margin:0 0 6px}
.task-resource-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
.task-resource-heading>h3{margin:0}
.work-detail-body .task-resource-heading>button{margin:0;min-height:36px;padding:5px 12px}
.task-primary-content>.task-detail-section>details:not([open]){display:none}
.task-primary-content>.task-detail-section>details>summary[hidden]{display:none}
.task-chat{display:block;max-height:360px}
.task-chat .chat-message,.task-chat .chat-message.mine{display:block;max-width:none;width:100%;margin:0;padding:9px 0;border-bottom:1px solid var(--border)}
.task-chat .chat-avatar{display:none}
.task-chat .chat-message-content,.task-chat .mine .chat-message-content{display:grid;grid-template-columns:minmax(180px,auto) minmax(0,1fr);gap:12px;min-width:0;padding:0;border:0;background:transparent;border-radius:0}
.chat-author-line{justify-content:flex-start;gap:10px;align-items:baseline}
.task-chat .chat-message-content strong{font-size:13px;font-weight:400;color:var(--muted)}
.task-chat .chat-message-content time{font-size:12px;white-space:nowrap}
.task-chat .chat-message-content p{margin:0;line-height:1.6}
.task-content-first .history{gap:0}
.task-content-first>.task-detail-section .history>section{grid-template-columns:minmax(0,1fr) auto;background:transparent;border-radius:0;border-bottom:1px solid var(--border);padding:9px 0;gap:8px 16px}
.task-content-first .history b{font-weight:400;font-size:14px}
.task-content-first .history .small{font-weight:400;text-align:right}
@media(max-width:650px){
 .task-chat .chat-message-content{grid-template-columns:1fr;gap:3px}
 .task-content-first>.task-detail-section .history>section{grid-template-columns:1fr}
 .task-content-first .history .small{text-align:left}
}
.image-preview-controls{display:flex;align-items:center;justify-content:center;gap:8px;flex:none}
.image-preview-controls button{min-width:38px;min-height:38px;padding:5px 12px;border-radius:999px;background:var(--action-soft);color:var(--action-ink);border-color:var(--action-line)}
.image-preview-controls output{min-width:72px;text-align:center;font-size:13px;color:var(--muted)}
.file-preview-body.image-preview-body{display:block;overflow:auto;position:relative}
.image-preview-canvas{display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box}
.file-preview-body .image-preview-canvas img{display:block;flex:none;max-width:none;max-height:none;object-fit:contain}
/* The progress strip must not expand to fit guidance inside each arrow. */
.task-flow-action .task-stage-track{align-items:stretch}
.task-flow-action .task-stage-track li{min-width:140px;gap:8px;padding:7px 20px;align-items:center}
.task-flow-action .task-stage-track li:first-child{padding-left:10px}
.task-flow-action .task-stage-track li>div{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:baseline}
.task-flow-action .task-stage-track li strong{font-size:14px;order:0}
.task-flow-action .task-stage-track li div>span{font-size:11px;order:0;margin:0}
.task-flow-action .task-stage-track li small{grid-column:1/-1;font-size:12px;line-height:1.4;margin:0}
.task-flow-action .stage-number{width:22px;height:22px;font-size:13px}
.task-content-first .task-flow-action>.task-current-context{display:block;margin:6px 0 0;padding:0 2px;background:transparent}
.task-content-first .task-flow-action>.task-current-context p{font-size:13px;line-height:1.5;margin:0}
/* Comments and history share the available width instead of stacking. */
.task-activity-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start;margin-bottom:10px}
.task-activity-columns>.task-detail-section{min-width:0;margin:0;padding:10px 14px}
.task-activity-columns h3{margin:0 0 8px}
.task-activity-columns .chat-message-content{display:block}
.task-activity-columns .chat-author-line{margin-bottom:3px;flex-wrap:wrap}
.task-activity-columns .task-chat-compose{flex-wrap:wrap;gap:6px}
.task-activity-columns .task-chat-compose label{flex:1 1 240px;min-width:0}
.task-activity-columns .task-chat-compose button{margin-left:auto}
.task-activity-columns .history>section{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:3px 12px;padding:9px 0;margin:0;background:transparent;border-bottom:1px solid var(--border)}
.task-activity-columns .history>section>p{margin:0}
.task-activity-columns .history>section>.small{font-size:12px;text-align:left}
.task-activity-columns .history>section>details{flex-basis:100%}
@media(max-width:750px){.task-activity-columns{grid-template-columns:1fr}}
.task-resource-heading{justify-content:flex-start;gap:10px}
.task-primary-content .task-links-strip>strong{font-size:17px;font-weight:700;color:var(--action-ink)}
.task-primary-content>.task-detail-section>details[open]{width:100%;margin:0}
/* Independent title and metadata blocks in the task header. */
.task-identity-header .task-title-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,38%);align-items:start;gap:12px 20px}
.task-identity-header .task-title-line h2{min-width:0;overflow-wrap:anywhere;word-break:normal;margin:0}
.task-identity-header .task-header-meta{min-width:0;margin:0;display:flex;justify-content:flex-end;align-content:flex-start;align-items:center;gap:6px 8px;padding-top:2px}
.task-identity-header .task-header-meta .task-header-due{white-space:normal}
@media(max-width:650px){
 .task-identity-header .task-title-line{grid-template-columns:minmax(0,1fr) minmax(110px,40%);gap:10px}
 .task-identity-header .task-header-meta{gap:4px;font-size:12px}
 .task-identity-header .task-header-meta>.row{justify-content:flex-end;flex-wrap:wrap}
}
.task-primary-content .task-links-strip{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:6px 12px}
.task-primary-content .task-links-strip .task-link-tile{min-width:0;width:100%;max-width:100%;flex-wrap:nowrap;grid-column:2}
.task-primary-content .task-links-strip .task-link-tile:first-of-type{grid-row:1}
.task-link-tile>strong{flex:none;max-width:30%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.resource-address{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--action-ink)}
.task-link-tile .resource-address{flex:1}
.work-detail-body .task-resource-heading>.attachment-add-text{border:0;background:transparent;border-radius:0;padding:4px 2px;min-height:32px;color:var(--action-ink);font-size:14px}
.work-detail-body .task-resource-heading>.attachment-add-text:hover{text-decoration:underline;background:transparent}
.task-linked-object>h3{color:var(--action-ink);font-size:17px;font-weight:700;margin:0}
.task-linked-object>a{color:var(--action-ink);text-decoration:underline;overflow-wrap:anywhere}
/* Compact, aligned modal header and a geometrically centered close icon. */
dialog.work-detail-dialog>.dialoghead.task-identity-header{align-items:center;min-height:36px;margin-bottom:4px;gap:12px}
.task-identity-header .task-title-line{align-items:center}
.task-identity-header .task-header-meta{padding-top:0;align-items:center}
dialog .dialoghead>[data-action=close]{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:auto;min-width:76px;height:36px;min-height:36px;padding:0 12px;border:1px solid var(--action-line);border-radius:999px;background:var(--action-soft);color:var(--action-ink);font-size:14px;font-weight:600;line-height:1;white-space:nowrap}
dialog .dialoghead>[data-action=close]::before,dialog .dialoghead>[data-action=close]::after{display:none}
dialog .dialoghead>[data-action=close]:hover{background:var(--action-soft-hover)}
dialog .dialoghead>[data-action=close]:focus-visible{outline:2px solid var(--action-ink);outline-offset:2px}
/* Activity identity uses two compact lines: author, then timestamp. */
.task-activity-columns .task-chat .chat-message-content{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:start}
.task-activity-columns .chat-author-line{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0}
.task-activity-columns .chat-author-line strong,.task-activity-columns .activity-author{font-size:12px;font-weight:400;color:var(--muted)}
.task-activity-columns .chat-author-line time,.task-activity-columns .history time{display:block;font-size:11px;line-height:1.4;white-space:nowrap;color:var(--muted)}
.task-activity-columns .history>section{align-items:center}
.task-activity-columns .history>section>.small{display:flex;flex-direction:column;gap:2px;flex:none}
@media(max-width:420px){.task-activity-columns .task-chat .chat-message-content{grid-template-columns:110px minmax(0,1fr);gap:8px}}
.task-activity-columns .chat-author-line,.task-activity-columns .history>section>.small{gap:0;line-height:1.15}
.task-activity-columns .chat-author-line strong,.task-activity-columns .activity-author{line-height:1.15}
.task-activity-columns .chat-author-line time,.task-activity-columns .history time{line-height:1.15}
.task-detail-footer>[data-action="task-withdraw"]{margin-left:auto;flex:0 0 auto;order:10}
.task-detail-footer:has(>[data-action="task-withdraw"]) .task-detail-other{margin-left:0}
.home-task-row .task-row-title::before{content:none;display:none}
.home-task-row .home-task-meta .task-next-action{color:var(--muted);line-height:1.45}
.home-task-row .home-task-action>button{border:1px solid var(--action-line);border-radius:999px;background:var(--action-soft);color:var(--action-ink);min-height:36px;padding:6px 12px;font-weight:600}
.home-task-row .home-task-action>button:hover{background:var(--action-soft-hover)}
.task-activity-columns .task-chat{max-height:none;overflow:visible}
.activity-older{margin-top:6px}
.activity-older>summary{padding:6px 0;color:var(--action-ink);font-size:13px;cursor:pointer}
.activity-older-list{margin-top:4px}
.task-header-meta .task-header-due{padding:4px 8px;border-radius:8px;background:var(--action-soft);color:var(--action-ink)}
.task-header-meta .task-header-due.deadline-overdue{background:var(--deadline-overdue-bg);color:var(--deadline-overdue)}
.task-header-meta .task-header-due.deadline-urgent{background:var(--deadline-imminent-bg);color:var(--deadline-imminent)}
.task-header-meta .task-header-due.deadline-soon{background:var(--deadline-soon-bg);color:var(--deadline-soon)}
.task-header-meta .task-header-due{font-weight:700}
.compact-work-form .work-content-step{display:block}
.compact-work-form .work-content-step>label{display:grid;font-size:14px}
.compact-work-form .work-content-step>label>textarea{margin:0;min-height:64px}
.compact-work-form .work-content-step>.work-links,.compact-work-form .work-content-step>.work-file-drop{padding:0;margin:8px 0 0;background:transparent}
.compact-work-form .work-links>strong,.compact-work-form .work-file-drop strong{font-size:14px}
.completion-methods{border:0;padding:0;margin:10px 0 6px;display:flex;flex-wrap:wrap;gap:8px}
.completion-methods legend{font-size:17px;font-weight:700;color:var(--action-ink);margin-bottom:8px}
.completion-methods>label{display:flex;align-items:center;gap:8px;border:1px solid var(--action-line);background:var(--action-soft);border-radius:10px;padding:8px 10px;margin:0;font-size:14px}
.completion-methods>label:has(:checked){background:var(--action-soft-hover);border-color:var(--blue);font-weight:600}
.completion-method-fields{display:grid;gap:8px}
.completion-method-config{display:flex;flex-wrap:wrap;gap:10px}
.completion-method-config[hidden]{display:none}
.completion-method-config>label{flex:1;min-width:160px;margin:0;font-size:14px}
.completion-method-config .needs-input{color:var(--deadline-overdue);font-weight:600}
.completion-method-config .needs-input>textarea{border-color:var(--deadline-overdue);background:var(--deadline-overdue-bg)}
.completion-method-fields>label.check{margin:2px 0}
/* Only the title shares the heading row; all content fields span the section. */
.compact-work-form .work-form-step.work-content-step{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px 14px;align-items:start}
.compact-work-form .work-content-step>h3{grid-column:1;align-self:center;margin:0}
.compact-work-form .work-content-step>label:first-of-type{grid-column:2;display:block;font-size:0;margin:0}
.compact-work-form .work-content-step>label:first-of-type>input{margin:0;font-size:14px}
.compact-work-form .work-content-step>label:not(:first-of-type){grid-column:1/-1;display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;font-size:14px;margin:0;align-items:start}
.compact-work-form .work-content-step>label:not(:first-of-type)>textarea{width:100%;min-height:76px;margin:0;font-size:14px}
.compact-work-form .work-content-step>.work-links,.compact-work-form .work-content-step>.work-file-drop{grid-column:1/-1;min-width:0;width:100%;margin:0}
.compact-work-form .work-content-step>.work-links{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;padding:0}
.compact-work-form .work-content-step>.work-links>strong{font-size:14px;padding-top:10px}
.compact-work-form .work-content-step>.work-file-drop{padding:10px 12px}
.compact-work-form .work-content-step>.work-file-drop>.row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.compact-work-form .work-content-step>.work-file-drop strong{font-size:14px}
@media(max-width:650px){
 .compact-work-form .work-form-step.work-content-step{grid-template-columns:1fr}
 .compact-work-form .work-content-step>h3,.compact-work-form .work-content-step>label:first-of-type{grid-column:1}
 .compact-work-form .work-content-step>label:not(:first-of-type),.compact-work-form .work-content-step>.work-links{grid-template-columns:1fr;gap:6px}
 .compact-work-form .work-content-step>.work-links>strong{padding-top:0}
}
/* Shared attachment input: one appearance for create, report, request and detail. */
.work-file-drop,.compact-work-form .work-content-step>.work-file-drop,.task-detail-section .work-file-drop{border:2px dashed var(--action-line);border-radius:15px;background:color-mix(in srgb,var(--blue) 6%,white);padding:10px 12px;width:100%;min-width:0;box-sizing:border-box}
.work-file-drop>.row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.work-file-drop>.row>strong{color:var(--action-ink);font-size:14px;font-weight:700}
.work-file-drop>.row>button{background:var(--action-soft);color:var(--action-ink);border:1px solid var(--action-line);border-radius:999px;min-height:38px;padding:6px 12px;margin:0;font-weight:600}
.work-file-drop>.row>.small{font-size:12px;line-height:1.5}
.work-file-drop.drag-over{background:var(--action-soft-hover);border-color:var(--blue)}
.task-detail-section .uploadbox>.work-file-drop{margin:0 0 8px}
.compact-work-form .work-content-step>label.description-input-row{display:block;grid-column:1/-1;width:100%;margin:0}
.compact-work-form .work-content-step>label.description-input-row>textarea{width:100%;margin:0}
.work-file-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.work-file-list:empty{margin:0}
.pending-attachment{position:relative;width:260px;max-width:100%}
.work-file-list .task-attachment-tile{display:flex;align-items:center;gap:9px;text-align:left;width:100%;min-height:68px;padding:8px 32px 8px 10px;border:1px solid var(--action-line);border-radius:12px;background:var(--action-soft);color:var(--action-ink)}
.work-file-list .task-attachment-tile img{width:56px;height:50px;object-fit:contain;flex:none;border-radius:6px}
.work-file-list .task-attachment-tile>span:last-child{min-width:0;overflow-wrap:anywhere;font-size:14px;line-height:1.4}
.work-file-list .task-attachment-tile small{display:block;color:var(--muted);font-size:12px}
.work-file-list .document-icon{width:36px;height:46px;flex:none}
.work-file-list .pending-file-remove{position:absolute;right:4px;top:4px;min-height:26px;width:26px;padding:0;border-radius:50%;font-size:18px}
form.validation-attempted label.field-invalid{color:var(--deadline-overdue)}
form.validation-attempted input[aria-invalid=true],form.validation-attempted textarea[aria-invalid=true],form.validation-attempted select[aria-invalid=true]{border-color:var(--deadline-overdue);background:var(--deadline-overdue-bg)}
form.validation-attempted label:has(input[type=checkbox][aria-invalid=true]),form.validation-attempted label:has(input[type=radio][aria-invalid=true]){outline:1px solid var(--deadline-overdue);outline-offset:2px}
.compact-work-form label.optional-deadline{color:var(--action-ink);font-weight:700}
.compact-work-form label.optional-deadline>input{font-weight:400}
.optional-deadline .deadline-input-status{grid-column:2;font-weight:400;font-size:12px;color:var(--muted);margin-top:-5px}
@media(max-width:650px){.optional-deadline .deadline-input-status{grid-column:1}}
/* Align the link heading with the first input row without stacked margins. */
.compact-work-form .work-content-step>.work-links{grid-template-columns:64px minmax(0,1fr);gap:8px 12px;align-items:start;margin:0!important}
.compact-work-form .work-content-step>.work-links>strong{display:flex;align-items:center;min-height:42px;padding:0;margin:0;line-height:1.4}
.work-links>input[type=hidden]{display:none}
.work-link-rows{min-width:0;display:grid;gap:8px}
.work-link-row{margin:0;min-width:0;grid-template-columns:minmax(120px,1fr) minmax(0,3fr) 34px}
.work-link-row>input{width:100%;min-width:0;height:42px;box-sizing:border-box}
.work-link-row>button[hidden]{display:block;visibility:hidden;pointer-events:none}
@media(max-width:650px){
 .compact-work-form .work-content-step>.work-links{grid-template-columns:1fr;gap:6px}
 .compact-work-form .work-content-step>.work-links>strong{min-height:0}
 .work-link-row{grid-template-columns:minmax(0,1fr) 34px}
 .work-link-row>input:first-child{grid-column:1/-1}
}
/* Field headings share one hierarchy across all forms. */
:root{--form-heading-size:14px}
form label:has(>input:not([type=checkbox]):not([type=radio]):not([type=hidden])),form label:has(>textarea),form label:has(>select),form .form-field-title,
form legend,form .work-control-line>strong,form .work-links>strong,form .work-file-drop>.row>strong,
.compact-work-form .completion-mode-options legend,.compact-work-form .completion-methods legend,.compact-work-form .work-content-step>.work-links>strong{
 font-size:var(--form-heading-size);font-weight:700;color:var(--action-ink);line-height:1.5
}
form label>input,form label>textarea,form label>select{font-weight:400;color:var(--form-input-ink)}
.datetime-controls{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.datetime-controls>input[type=date]{width:170px;flex:0 1 170px}
.datetime-controls>input[type=time]{width:125px;flex:0 1 125px}
.datetime-controls>input{margin:0;min-width:0;font-weight:400}
.datetime-controls>.deadline-input-status{margin:0;white-space:nowrap;font-size:12px;font-weight:400;color:var(--muted)}
form.validation-attempted label.field-invalid{color:var(--deadline-overdue)}
/* Allow full field headings; never squeeze them into a fixed narrow column. */
.compact-work-form .work-advanced>label:not(.check),.object-search-field{display:grid;grid-template-columns:minmax(200px,max-content) minmax(0,1fr);align-items:center;gap:10px;margin:8px 0}
.object-search-control{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;align-items:center}
.object-search-control>input[type=search]{width:100%;margin:0;min-height:42px}
.object-search-control>.object-search-status,.object-search-results{grid-column:1/-1}
.object-search-status{color:var(--muted);font-size:12px}
.object-search-results{max-height:260px;overflow:auto;border:1px solid var(--action-line);border-radius:10px;background:white;padding:4px}
.object-search-results>button{display:flex;justify-content:space-between;gap:10px;width:100%;text-align:left;border:0;border-radius:6px;background:white;margin:0;padding:8px 10px;color:var(--action-ink)}
.object-search-results>button:hover,.object-search-results>button:focus-visible{background:var(--action-soft)}
.object-search-results>small{display:block;color:var(--muted);padding:4px 10px}
@media(max-width:650px){.compact-work-form .work-advanced>label:not(.check),.object-search-field{grid-template-columns:1fr;gap:4px}}
.compact-work-form .work-advanced>label:has(>input[name=exception_title]){display:block}
.assignment-search-field{display:grid;grid-template-columns:200px minmax(0,1fr);gap:10px;align-items:start;margin:8px 0}
.assignment-search-control{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.assignment-current{font-size:14px;color:var(--action-ink);border:1px solid var(--action-line);border-radius:10px;background:var(--action-soft);padding:6px 10px}
.assignment-search-control>input[type=search]{flex:1 1 240px;width:auto;min-width:0;margin:0}
.assignment-search-options{display:flex;flex-wrap:wrap;gap:6px;width:100%}
.assignment-search-options>button{margin:0;padding:5px 10px;border-radius:999px;background:var(--action-soft);color:var(--action-ink);border:1px solid var(--action-line)}
.assignment-search-count{font-size:12px;color:var(--muted)}
@media(max-width:650px){.assignment-search-field{grid-template-columns:1fr}}
/* Short classification labels occupy only their text width. */
.compact-work-form .work-classification-grid>label{grid-template-columns:max-content minmax(0,1fr);gap:10px;align-items:center}
.compact-work-form .work-classification-grid>label>input{min-width:0;width:100%}
.single-assignment-line{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:12px;margin:10px 0}
.single-assignment-picker{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-width:0;margin:0;padding:0;border:0}
.single-assignment-picker>.work-selected{display:contents}
.single-assignment-picker>.assignment-directory{order:1}
.single-assignment-picker>.work-suggestions{display:flex;order:2;flex-basis:100%;gap:6px;flex-wrap:wrap;margin:0}
.single-assignment-picker>.assignment-directory[open]{flex-basis:100%}
.compact-work-form .single-assignment-picker>.work-suggestions{display:flex}
/* Follow-up people controls use exactly the main people-control layout. */

/* Keep the form calm: reserve blue for hierarchy and interactive selection. */
.compact-work-form .work-form-step,
.compact-work-form .work-optional-section{background:#f7f8fa;border:1px solid var(--surface-outline)}
.compact-work-form .work-content-step>.work-file-drop{background:#f7f8fa}
.compact-work-form .work-content-step>.work-links{background:transparent;border:0;border-radius:0;padding:0}
.timeline-card .home-card-task,.timeline-card .feature-entry{border:0.5px solid var(--surface-outline)}
.timeline-card .home-card-task:hover,.timeline-card .feature-entry:hover{border-color:var(--surface-outline-hover)}
.timeline-card .deadline-box-overdue{border-color:var(--deadline-overdue-border)}
.timeline-card .deadline-box-urgent{border-color:var(--deadline-imminent-border)}
.timeline-card .deadline-box-soon,.timeline-card .deadline-box-soon:hover{border-color:var(--deadline-soon-border)}
.timeline-card .deadline-box-overdue:hover{border-color:var(--deadline-overdue-border)}
.timeline-card .deadline-box-urgent:hover{border-color:var(--deadline-imminent-border)}
.timeline-card .timeline-department .feature-entry:first-of-type{border-top-color:var(--surface-outline)}
.home-card-layout .home-card-task{border:0.5px solid var(--surface-outline);border-radius:15px}
.home-card-layout .home-card-task.priority-high{border-left:3px solid #c58b35}
.home-card-layout .home-card-task.priority-urgent{border-left:3px solid #bb4636}
.home-card-layout .home-card-task:not(.deadline-box-overdue):not(.deadline-box-urgent):not(.deadline-box-soon):hover{border-color:var(--surface-outline-hover)}
.timeline-card .deadline-box-overdue{border-color:var(--deadline-overdue-border)}
.timeline-card .deadline-box-urgent{border-color:var(--deadline-imminent-border)}
.timeline-card .deadline-box-soon{border-color:var(--deadline-soon-border)}
.timeline-card .deadline-box-overdue:hover{border-color:var(--deadline-overdue-border)}
.timeline-card .deadline-box-urgent:hover{border-color:var(--deadline-imminent-border)}
.timeline-card .deadline-box-soon:hover{border-color:var(--deadline-soon-border)}

.history-changes{width:100%;min-width:0;text-align:left}
.history-changes>p{margin:2px 0;overflow-wrap:anywhere}
.task-activity-columns .history>section>.history-changes{flex-basis:100%;padding:0}
.task-progress-section{margin:0 0 12px}
.task-progress-list{display:flex;flex-direction:column;gap:0}
.task-progress-entry{display:grid;grid-template-columns:minmax(190px,220px) minmax(0,1fr);gap:12px;align-items:start;padding:9px 0;border-bottom:1px solid var(--border)}
.task-progress-entry:first-child{padding-top:2px}
.task-progress-entry:last-child{border-bottom:0}
.task-progress-meta{display:flex;flex-direction:column;gap:2px;min-width:0;color:var(--muted);font-size:12px;line-height:1.25}
.task-progress-meta strong{font-weight:500}
.task-progress-meta time{font-size:11px;white-space:normal;overflow-wrap:anywhere}
.task-progress-body{display:flex;align-items:flex-start;gap:8px;min-width:0}
.task-progress-body>p{flex:1;min-width:0;margin:0;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.progress-edit-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:auto;height:auto;min-height:0;margin:-2px 0 0;padding:0 4px;border:0;border-radius:0;background:transparent;color:inherit;font-size:inherit;line-height:inherit}
.progress-edit-icon:hover,.progress-edit-icon:focus-visible{background:transparent;color:var(--blue);text-decoration:none}
.progress-edit-icon .edit-pencil{color:var(--blue)}
.task-progress-edit-form{display:flex;align-items:stretch;gap:8px;min-width:0}
.task-progress-edit-form>label{display:block;flex:1;min-width:0;margin:0}
.task-progress-edit-form textarea{min-height:64px;margin:0}
.task-progress-edit-actions{display:flex;flex:0 0 88px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:6px}
.task-progress-edit-actions button{min-height:30px;margin:0;padding:5px 8px}
.task-progress-compose{display:flex;align-items:flex-end;gap:8px;margin-top:10px}
.task-progress-list>.task-progress-empty{margin:0 0 2px;line-height:1.4}
.task-progress-compose{margin-top:4px}
.task-progress-compose>label{display:block;flex:1;min-width:0;margin:0;line-height:1}
.task-progress-compose textarea{display:block;min-height:48px;height:48px;margin:0}
.task-progress-compose>button{flex:none;margin:0;min-height:40px}
@media(max-width:600px){.task-progress-entry{grid-template-columns:1fr;gap:3px}.task-progress-compose{flex-wrap:wrap}.task-progress-compose>label{flex-basis:100%}.task-progress-compose>button{margin-left:auto}}
.claim-source[hidden]{display:none}
/* Event changes belong under the action, not under its author metadata. */
.task-content-first .history .history-changes>.small{text-align:left;margin:2px 0;line-height:1.5}

/* Entered values use neutral ink across every form. */
:root{--form-input-ink:#222}
form input:not([type=button]):not([type=submit]):not([type=reset]),form textarea,form select{color:var(--form-input-ink);caret-color:var(--form-input-ink)}
form input::placeholder,form textarea::placeholder{color:#8b919b;opacity:1}
.unassigned-notice{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0 0 12px;padding:10px 14px}
.unassigned-notice>strong{font-size:14px}
.unassigned-notice>button{margin-left:auto}
.home-dashboard-main>.unassigned-notice{width:100%;box-sizing:border-box;min-height:40px;padding:7px 14px;margin:0 0 12px;border-radius:10px}
.home-dashboard-main>.unassigned-notice>button{padding:3px 10px;min-height:30px}

.unassigned-action-notice{font-size:17px;font-weight:700;color:var(--deadline-overdue);line-height:1.5;margin:8px 0 12px}

/* Task detail panels share the neutral bordered surface used by the task creation form. */
.work-detail-body .task-detail-summary,
.work-detail-body .task-detail-section{background:#f7f8fa;border:1px solid var(--surface-outline)}
.work-detail-body .task-detail-summary>.task-detail-section,
.work-detail-body .task-primary-content>.task-detail-section{background:transparent;border:0}
.work-detail-body .task-flow-action>.task-current-context{background:transparent;border:0;padding:0;font-weight:600}
.work-detail-body .task-flow-action>.task-current-context p{font-weight:600}

/* All creation dialogs reuse the work form panel and attachment treatment. */
.compact-work-form .work-file-drop{border:2px dashed var(--action-line);border-radius:15px;background:#f7f8fa;padding:10px 12px;width:100%;min-width:0;box-sizing:border-box}
.report-category-choice-row{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:10px;margin:5px 0}
.report-category-choice-row>strong{font-size:14px;font-weight:700;color:var(--action-ink);line-height:1.5}
.compact-work-form .work-form-step .report-category-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;margin:0;padding:0;border:0}
.report-category-options .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.report-category-options-list{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.report-category-options-list>label{margin:0}
:is(.report-form,.approval-form) .object-search-field{grid-template-columns:130px minmax(0,1fr);gap:10px}
@media(max-width:650px){.report-category-choice-row{grid-template-columns:1fr;gap:4px}:is(.report-form,.approval-form) .object-search-field{grid-template-columns:1fr;gap:4px}}
dialog.message-compose-dialog{height:min(740px,calc(100dvh - 32px));max-height:calc(100dvh - 32px)}
dialog.message-compose-dialog>form.has-fixed-actions{flex:1;min-height:0}
dialog.message-compose-dialog>form.has-fixed-actions>.work-form-scroll{flex:1}

/* Keep title and description in the same label/control rows as other forms. */
.compact-work-form .work-form-step.work-content-step{grid-template-columns:130px minmax(0,1fr);gap:10px 14px;align-items:start}
.compact-work-form .work-content-step>h3{grid-column:1/-1;align-self:auto;margin:0 0 2px}
.compact-work-form .work-content-step>label.work-title-input-row,
.compact-work-form .work-content-step>label.description-input-row{grid-column:1/-1;display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;align-items:center;margin:0;font-size:14px;min-width:0}
.compact-work-form .work-content-step>label.work-title-input-row>input,
.compact-work-form .work-content-step>label.description-input-row>textarea{grid-column:2;width:100%;min-width:0;margin:0;font-size:14px}
.compact-work-form .work-content-step>label.description-input-row{align-items:start}
.compact-work-form .work-content-step>label.description-input-row>textarea{min-height:76px}
.compact-work-form .work-content-step>.work-links{grid-template-columns:130px minmax(0,1fr);gap:10px 14px;align-items:center}
.compact-work-form .work-content-step>.work-links>strong{min-height:42px;align-items:center}
@media(max-width:650px){
 .compact-work-form .work-form-step.work-content-step{grid-template-columns:1fr}
 .compact-work-form .work-content-step>h3{grid-column:1}
 .compact-work-form .work-content-step>label.work-title-input-row,
 .compact-work-form .work-content-step>label.description-input-row{grid-template-columns:1fr;gap:4px}
 .compact-work-form .work-content-step>label.work-title-input-row>input,
 .compact-work-form .work-content-step>label.description-input-row>textarea{grid-column:1}
 .compact-work-form .work-content-step>.work-links{grid-template-columns:1fr;gap:6px}
 .compact-work-form .work-content-step>.work-links>strong{min-height:0}
}

/* A compact, searchable register for shared cases, contracts, and equipment. */
.object-list-toolbar{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.object-list-search{display:block;flex:1;min-width:220px;margin:0}
.object-list-search input{margin:0;min-height:42px}
.object-list-toolbar>button{flex:none}
.object-type-list{margin-top:16px}
.object-type-list>summary{padding:8px 2px}
.object-table-wrap{border:1px solid var(--border);border-radius:12px;background:#fff}
.object-table{min-width:850px;font-size:14px}
.object-table th{padding:11px 13px;background:#f7f8fa;white-space:nowrap}
.object-table td{padding:11px 13px;vertical-align:middle}
.object-table tbody tr:last-child td{border-bottom:0}

/* Personal work is a prioritised queue, distinct from the dashboard's time cards. */
.content:has(.personal-task-overview){max-width:none}
.personal-task-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:-8px 0 18px}
.personal-task-metric{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:white;color:#53627a;font-size:13px}
.personal-task-metric strong{font-size:21px;color:#25324a;line-height:1}
.personal-task-metric strong small{font-size:12px;font-weight:500;margin-left:4px;color:var(--muted)}
.personal-task-metric.is-overdue{border-color:#e8c3be;background:#fff7f5;color:#a7463e}
.personal-task-metric.is-overdue strong{color:#a7463e}
.personal-task-controls{margin-bottom:8px}
.personal-task-periods,.personal-task-statuses{display:flex;align-items:center;gap:3px;padding:3px;border-radius:12px;background:#edf0f5;width:max-content;max-width:100%;overflow:auto}
.personal-task-periods{margin-bottom:10px}
.personal-task-periods button,.personal-task-statuses button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:6px 13px;border:1px solid transparent;background:transparent;border-radius:9px;color:#58657a;white-space:nowrap}
.personal-task-periods button[aria-pressed="true"],.personal-task-statuses button[aria-pressed="true"]{background:white;color:var(--action-ink,#294e9b);border-color:#dce3ef;font-weight:700}
.personal-task-periods button span,.personal-task-statuses button span{font-size:12px;color:var(--muted);font-weight:500}
.personal-task-filter-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.personal-task-search{margin:0;flex:1;max-width:440px}
.personal-task-search input{min-height:40px}
.personal-task-result-count{margin:14px 0 7px;color:var(--muted);font-size:13px}
.personal-task-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:white}
.personal-task-table{min-width:820px;font-size:14px}
.personal-task-table thead th{padding:10px 14px;background:#f7f8fa;white-space:nowrap}
.personal-task-table td{padding:12px 14px;vertical-align:middle}
.personal-task-table .personal-task-group-heading th{padding:13px 14px 7px;border-bottom:0;color:#294e9b;font-size:14px;font-weight:700;background:white}
.personal-task-group-heading th span{margin-right:9px}.personal-task-group-heading th small{font-size:12px;color:var(--muted);font-weight:500}
.personal-task-row{cursor:pointer}
.personal-task-row:hover{background:#f8f9fc}
.personal-task-approval-row{background:#f8faff}
.personal-task-approval-row:hover{background:#f0f5ff}
.personal-task-row:last-child td{border-bottom:0}
.personal-task-title-line{display:flex;align-items:center;gap:8px;min-width:0}
.personal-task-title-line .tag{flex:none;font-size:11px;padding:2px 7px}
.personal-task-title{min-width:0;padding:0;border:0;background:transparent;color:#25324a;font-weight:700;text-align:left;font-size:15px;line-height:1.45}
.personal-task-title:hover{color:var(--blue)}
.personal-task-title:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:3px}
.personal-task-next{margin:3px 0 1px;color:#53627a;font-size:13px;line-height:1.45}
.personal-task-name .muted{display:block;font-size:12px;line-height:1.45}
.personal-task-status{white-space:nowrap}.personal-task-status .tag{margin:2px 4px 2px 0}
.personal-task-deadline{white-space:nowrap;color:#59677f}
.personal-task-deadline>span{display:block;font-weight:650}
.personal-task-deadline>small{display:block;margin-top:2px;color:var(--muted);font-size:12px}
.personal-task-deadline.overdue{color:#b95045}.personal-task-deadline.urgent{color:#b76524}.personal-task-deadline.soon{color:#8b6b1c}
.personal-task-action{text-align:right;white-space:nowrap}
.personal-task-action>button{min-height:36px}

@media(max-width:850px){.personal-task-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-task-filter-row{align-items:stretch;flex-direction:column}.personal-task-search{max-width:none;width:100%}}
@media(max-width:600px){.personal-task-periods,.personal-task-statuses{width:100%;justify-content:flex-start}.personal-task-metric{padding:9px 11px}.personal-task-metric strong{font-size:18px}}

/* The personal task page is a dense, searchable work register; keep the dashboard for summaries. */
.content:has(.personal-task-controls)>.heading{margin-bottom:12px}
.personal-task-controls{display:grid;gap:8px;margin:0 0 8px}
.personal-task-filter-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.personal-task-search{flex:1;max-width:none;margin:0}
.personal-task-search input{min-height:38px;margin:0;padding:8px 11px}
.personal-task-sort-label{display:flex;align-items:center;gap:8px;white-space:nowrap;margin:0;color:#59677f;font-size:13px}
.personal-task-sort-label select{width:auto;min-width:170px;min-height:38px;margin:0;padding:6px 30px 6px 10px}
.personal-task-periods,.personal-task-statuses{min-height:34px;padding:2px;gap:2px;border-radius:9px}
.personal-task-periods button,.personal-task-statuses button{min-height:30px;padding:4px 10px;border-radius:7px;font-size:13px}
.personal-task-periods{margin:0}
.personal-task-result-count{margin:8px 0 5px;font-size:12px}
.personal-task-result-count strong{color:#263651;font-size:14px}
.personal-task-table{min-width:780px;font-size:13px}
.personal-task-table thead th{padding:7px 10px}
.personal-task-table td{padding:7px 10px;vertical-align:middle}
.personal-task-table .personal-task-group-heading th{padding:8px 10px 4px;font-size:12px}
.personal-task-title-line{gap:5px}
.personal-task-title-line .tag{font-size:10px;padding:1px 6px}
.personal-task-title{font-size:13px;line-height:1.35}
.personal-task-next{margin:1px 0;color:#53627a;font-size:11px;line-height:1.35}
.personal-task-name .muted{font-size:11px;line-height:1.3}
.personal-task-status .tag{font-size:11px;padding:2px 6px;margin:1px 3px 1px 0}
.personal-task-deadline{font-size:12px}.personal-task-deadline>small{font-size:11px;margin-top:0}
.personal-task-action>button{min-height:30px;padding:5px 9px;font-size:12px}
.personal-task-row.is-draggable{cursor:default}
@media(max-width:850px){.personal-task-filter-row{align-items:stretch}.personal-task-sort-label{justify-content:space-between}.personal-task-sort-label select{flex:1}}
@media(max-width:600px){.personal-task-filter-row{flex-direction:column;align-items:stretch}.personal-task-periods,.personal-task-statuses{width:100%}.personal-task-sort-label select{max-width:none}}

/* Wide task register: sort from column headings and opt into extra fields as needed. */
.personal-task-controls{gap:7px}
.personal-task-filter-row:first-child{gap:10px}
.personal-task-search{flex:1}
.personal-task-search input{min-height:36px}
.personal-task-columns{position:relative;flex:none;margin:0}
.personal-task-columns>summary{list-style:none;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#42516a;font-size:13px;white-space:nowrap}
.personal-task-columns>summary::-webkit-details-marker{display:none}
.personal-task-columns[open]>summary{border-color:#9eb2e8;color:#294e9b}
.personal-task-columns-menu{position:absolute;z-index:20;right:0;top:calc(100% + 5px);width:min(320px,calc(100vw - 32px));max-height:min(72vh,620px);overflow:auto;padding:12px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #25324a20}
.personal-task-columns-menu>strong{display:block;margin:0 0 6px;color:#33435c;font-size:13px}
.personal-task-columns-menu label{display:flex;align-items:center;gap:9px;margin:0;padding:6px 2px;font-size:13px;line-height:1.4}
.personal-task-columns-menu small{display:block;margin-top:7px;color:var(--muted);font-size:11px}
.personal-task-columns-menu hr{height:1px;margin:10px 0;border:0;background:var(--border)}
.personal-task-page-size{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 0;padding:4px 2px;font-size:13px}
.personal-task-page-size select{width:100px;min-height:34px;margin:0;padding:5px 8px;font-size:13px}
.personal-task-facets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.personal-task-facet{display:flex;align-items:center;gap:8px;min-width:0;margin:0;color:#53627a;font-size:12px;white-space:nowrap}
.personal-task-facet>span{flex:none}
.personal-task-facet select{flex:1;min-width:0;min-height:36px;margin:0;padding:6px 26px 6px 9px;border-radius:8px;font-size:12px}
.personal-task-result-count{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 5px}
.personal-task-result-count>span{color:var(--muted)}
.personal-task-result-count>button{min-height:30px;padding:4px 9px;border-color:var(--border);font-size:12px}
.personal-task-table{min-width:1320px;width:100%;font-size:13px}
.personal-task-table thead th{padding:0;background:#f7f8fa;white-space:nowrap;vertical-align:middle}
.personal-task-sort-heading{display:flex;align-items:center;gap:4px;width:100%;min-height:36px;padding:7px 10px;border:0;border-radius:0;background:transparent;color:#53627a;font-size:12px;font-weight:700;text-align:left}
.personal-task-sort-heading:hover{background:#edf2fb;border-color:transparent;color:#294e9b}
.personal-task-sort-heading span{color:#315bda;font-size:14px}
.personal-task-table td{padding:8px 10px;vertical-align:middle}
.personal-task-table tbody td{border-bottom:1px solid #e2e6ed}
.personal-task-table .personal-task-title{font-size:13px;line-height:1.4}
.personal-task-table .personal-task-title-line{gap:6px}
.personal-task-table .personal-task-title-line .tag{font-size:10px;padding:2px 6px}
.personal-task-table .personal-task-cell-text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#34435d;font-size:12px}
.personal-task-table .personal-task-assignment-head{width:15%}.personal-task-table .personal-task-share-head{width:17%}.personal-task-table .personal-task-approver-head{width:13%}.personal-task-table .personal-task-status-head{width:10%}.personal-task-table .personal-task-due-head{width:14%}.personal-task-table .personal-task-title-head{width:23%}
.personal-task-table .personal-task-action{width:94px}
.personal-task-table .personal-task-deadline{font-size:12px}
.personal-task-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border-top:1px solid var(--border);color:var(--muted);font-size:13px}
.personal-task-pagination button{min-height:32px;padding:5px 12px;font-size:13px}
@media(max-width:850px){.personal-task-table{min-width:1120px}.personal-task-filter-row:first-child{flex-direction:row;align-items:center}.personal-task-columns-menu{right:0}}
@media(max-width:850px){.personal-task-facets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.personal-task-filter-row:first-child{flex-direction:row}.personal-task-search{min-width:0}.personal-task-periods,.personal-task-statuses{width:max-content;max-width:100%}.personal-task-columns-menu{position:fixed;top:auto;right:16px}}
@media(max-width:600px){.personal-task-facets{grid-template-columns:1fr}.personal-task-facet>span{width:74px}}
.personal-task-search-controls{display:flex;align-items:center;gap:14px;flex:1;min-width:0}
.personal-task-search{flex:0 1 440px;max-width:440px;min-width:220px}
.personal-task-search input{width:100%}
.personal-task-fuzzy-toggle{display:flex;align-items:center;gap:7px;flex:none;margin:0;color:#53627a;font-size:13px;white-space:nowrap;cursor:pointer}
.personal-task-fuzzy-toggle input{width:16px;height:16px;margin:0;accent-color:#315bda}
.personal-task-filter-row:first-child>.primary{flex:none;white-space:nowrap}
.personal-task-filter-row.personal-task-main-row{justify-content:space-between;gap:16px;flex-wrap:nowrap}
.personal-task-main-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.personal-task-main-actions .personal-task-search-controls{flex:none}
.personal-task-main-actions .personal-task-columns{flex:none}
.personal-task-table .personal-task-label{white-space:nowrap}
.personal-task-table .personal-task-label .tag{font-size:10px;padding:2px 7px}
.personal-task-table .personal-task-label-head{width:8%}
.personal-task-table .personal-task-title-head{width:22%}
.personal-task-table{table-layout:fixed}
.personal-task-table thead th{position:relative}
.personal-task-resize-handle{position:absolute;z-index:4;top:0;right:0;width:12px;height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;cursor:col-resize;touch-action:none}
.personal-task-resize-handle span{position:absolute;top:calc(50% - 8px);left:5px;width:1px;height:16px;background:#9ba8bc;opacity:.35}
.personal-task-resize-handle:hover span,.personal-task-resize-handle:focus-visible span{width:2px;background:#315bda;opacity:1}
.is-resizing-personal-columns,.is-resizing-personal-columns *{cursor:col-resize!important;user-select:none!important}
.personal-task-filter-row.personal-task-main-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}
.personal-task-main-actions{width:100%}
.personal-task-main-actions .personal-task-search-controls{flex:1 1 auto;min-width:0}
.personal-task-main-actions .personal-task-search{flex:1 1 320px;min-width:200px}
.personal-task-main-actions>.primary{flex:0 0 auto;white-space:nowrap}
@media(max-width:850px){.personal-task-filter-row.personal-task-main-row{display:flex;flex-direction:column;align-items:stretch;flex-wrap:wrap}.personal-task-main-actions{justify-content:flex-start;flex-wrap:wrap;width:100%}.personal-task-main-actions .personal-task-search-controls{flex:1 1 100%}.personal-task-search-controls{flex-wrap:wrap;gap:8px 12px}.personal-task-search{flex:1 1 100%;max-width:none}.personal-task-fuzzy-toggle{margin-left:2px}}
.object-table tbody tr:hover{background:#fafbfc}
.object-table th:first-child,.object-table td:first-child{min-width:190px}
.object-table th:nth-child(2),.object-table td:nth-child(2){min-width:120px}
.object-table th:nth-child(3),.object-table td:nth-child(3){min-width:125px}
.object-table th:nth-child(4),.object-table td:nth-child(4),.object-table th:nth-child(5),.object-table td:nth-child(5){white-space:nowrap}
.object-table .object-name-link{border:0;background:transparent;padding:2px 0;color:#315bda;font-size:14px;font-weight:600;text-align:left;line-height:1.5}
.object-table .object-name-link:hover{border:0;text-decoration:underline}
.object-row-actions{white-space:nowrap}
.object-row-actions button{padding:6px 9px;min-height:34px}
.object-list-search .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){.object-list-toolbar{align-items:stretch;flex-direction:column}.object-list-search{min-width:0}.object-list-toolbar>button{align-self:flex-start}}
.entity-list-toolbar{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.entity-list-toolbar label{display:block;flex:1;min-width:220px;margin:0}
.entity-list-toolbar input{margin:0;min-height:42px}
.entity-list-toolbar .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){.entity-list-toolbar label{min-width:0}}
.global-history-list{border-top:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}
.global-history-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.4fr) minmax(190px,.8fr);align-items:center;gap:6px 18px;padding:11px 14px;border-bottom:1px solid var(--border);font-size:14px;line-height:1.5}
.global-history-row:last-child{border-bottom:0}
.global-history-row>strong{font-size:14px;font-weight:600}
.global-history-row>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.global-history-row>span:nth-child(2)>button.link{font-size:14px;text-align:left;white-space:normal;line-height:1.5}
.global-history-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--muted);font-size:12px;white-space:nowrap}
.global-history-row .history-changes{grid-column:1/-1;padding-left:8px;border-left:2px solid var(--border)}
@media(max-width:850px){.global-history-row{grid-template-columns:minmax(140px,.8fr) minmax(180px,1.2fr)}.global-history-meta{grid-column:1/-1;justify-content:flex-start}.global-history-row .history-changes{grid-column:1/-1}}
@media(max-width:600px){.global-history-row{grid-template-columns:1fr;gap:4px;padding:10px 12px}.global-history-meta{grid-column:auto;flex-wrap:wrap}.global-history-row .history-changes{grid-column:auto}}

/* Personal task controls: quick switches first, compact search and facets beneath. */
.personal-task-quick-filters{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;margin:0 0 8px}
.personal-task-search .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.personal-task-quick-filters .personal-task-statuses,.personal-task-quick-filters .personal-task-periods{margin:0}
.personal-task-search-row{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;align-items:center;gap:12px;min-width:0}
.personal-task-search-row>.personal-task-search-controls{min-width:280px;max-width:510px;gap:10px}
.personal-task-search-row .personal-task-search{flex:1 1 280px;min-width:180px;max-width:380px}
.personal-task-search-row .personal-task-facets{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.personal-task-search-row .personal-task-facet{gap:5px;font-size:11px}
.personal-task-search-row .personal-task-facet select{flex:none;width:116px;min-height:34px;padding:5px 22px 5px 7px;font-size:12px}
.personal-task-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
.personal-task-list-actions>.primary{min-height:36px;padding:7px 12px}
.personal-task-reset-settings{display:block;width:100%;margin-top:10px;padding:8px 2px;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;color:#53627a;text-align:left;font-size:12px}
.personal-task-reset-settings:hover{color:var(--action-ink,#294e9b);background:#f7f8fa}
@media(max-width:1100px){.personal-task-search-row{grid-template-columns:minmax(240px,1fr) auto}.personal-task-search-row>.personal-task-facets{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}.personal-task-search-row>.personal-task-search-controls{max-width:none}}
@media(max-width:850px){.personal-task-quick-filters{align-items:flex-start;flex-wrap:wrap}.personal-task-search-row{grid-template-columns:minmax(0,1fr) auto}.personal-task-search-row>.personal-task-search-controls{grid-column:1/-1;max-width:none;flex-wrap:wrap}.personal-task-search-row .personal-task-search{flex:1 1 100%;max-width:none}.personal-task-search-row>.personal-task-facets{grid-column:1/-1;justify-content:flex-start;grid-template-columns:repeat(2,minmax(0,1fr))}.personal-task-list-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:600px){.personal-task-quick-filters{flex-direction:column}.personal-task-quick-filters .personal-task-statuses,.personal-task-quick-filters .personal-task-periods{width:100%}.personal-task-search-row{display:flex;align-items:stretch;flex-direction:column}.personal-task-search-row>.personal-task-search-controls{min-width:0}.personal-task-search-row>.personal-task-facets{display:grid;grid-template-columns:1fr}.personal-task-search-row .personal-task-facet>span{width:74px}.personal-task-list-actions{justify-content:flex-start}}
.personal-task-search-row{grid-template-columns:minmax(280px,510px) minmax(0,1fr) auto}
.personal-task-search-row>.personal-task-facets{justify-content:flex-start;flex-wrap:wrap}
.personal-task-columns-menu{display:flex;flex-direction:column;overflow:hidden;padding:0}
.personal-task-menu-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;padding:12px}
.personal-task-menu-scroll small{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.personal-task-reset-settings{flex:none;margin:0;padding:11px 14px;border-top:1px solid var(--border);background:#fff}
@media(max-width:1100px){.personal-task-search-row{grid-template-columns:minmax(240px,1fr) auto}.personal-task-search-row>.personal-task-facets{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}}
.personal-task-quick-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;width:100%}
.personal-task-quick-row>.personal-task-quick-filters{min-width:0;margin:0}
.personal-task-quick-row>.personal-task-list-actions{flex:none}
.personal-task-search-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}
.personal-task-search-row>.personal-task-search-controls{flex:0 1 510px;min-width:280px;max-width:510px}
.personal-task-search-row>.personal-task-facets{flex:1 1 550px;min-width:0;max-width:100%;justify-content:flex-start;flex-wrap:wrap}
@media(max-width:1100px){.personal-task-search-row>.personal-task-search-controls{flex:1 1 100%;min-width:0;max-width:none}.personal-task-search-row>.personal-task-facets{flex:1 1 100%;grid-column:auto}}
@media(max-width:600px){.personal-task-quick-row{grid-template-columns:minmax(0,1fr)}.personal-task-quick-row>.personal-task-list-actions{justify-content:flex-start}}
.personal-task-list-region{min-width:0;margin-top:-5px}
.personal-task-list-region>.personal-task-result-count{justify-content:flex-end;margin:0 0 2px;white-space:nowrap}
.task-scope-switch{display:flex;align-items:center;gap:3px;width:max-content;max-width:100%;padding:3px;margin:0 0 14px;border-radius:12px;background:#edf0f5}
.task-scope-switch button{min-height:36px;padding:6px 16px;border:1px solid transparent;border-radius:9px;background:transparent;color:#58657a;white-space:nowrap}
.task-scope-switch button[aria-pressed=true]{background:#fff;color:var(--action-ink,#294e9b);border-color:#dce3ef;font-weight:700}
.task-scope-switch button:hover{color:var(--action-ink,#294e9b)}
.personal-task-quick-filters{flex-flow:row nowrap;overflow-x:auto;scrollbar-width:thin}
.personal-task-quick-filters>*{flex:none}
.task-scope-switch{margin:0;min-height:34px;padding:2px;border-radius:9px}
.task-scope-switch button{min-height:30px;padding:4px 11px;border-radius:7px;font-size:13px}
.task-scope-switch button[aria-pressed=true]{border-color:#dce3ef}
.sidebar-attendance-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.sidebar-attendance-button{width:100%;min-width:0;min-height:42px;padding:7px 5px;border:1px solid #b6d4cd;border-radius:11px;background:#eaf5f2;color:#285e53;font-size:13px;font-weight:700;white-space:nowrap}
.sidebar-attendance-button:hover{background:#dcefe9;border-color:#83b5a9}
.sidebar-attendance-button.is-single{grid-column:1/-1}
.sidebar-attendance-button.is-break{background:#eaf5f2;border-color:#b6d4cd;color:#285e53}
.sidebar-attendance-button.is-clockout{background:#fff4e7;border-color:#ecd5b4;color:#82561e}
.sidebar-attendance-button.is-clockout:hover{background:#ffedd7;border-color:#dfb978}
.attendance-punch-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.attendance-punch-actions .attendance-punch{min-width:132px}
.attendance-punch-actions .attendance-clockout{min-height:46px;border-radius:999px;border:1px solid #ecd5b4;background:#fff5e8;color:#82561e;font-weight:650}
@media(max-width:600px){.task-scope-switch{width:max-content}.task-scope-switch button{flex:none}}
.personal-task-table th[aria-sort="ascending"] .personal-task-sort-heading,.personal-task-table th[aria-sort="descending"] .personal-task-sort-heading{color:var(--action-ink,#294e9b)}
.personal-task-controls{margin-bottom:16px}
.department-task-row{cursor:default}
.personal-task-quick-filters .personal-task-periods button,.personal-task-quick-filters .personal-task-statuses button{min-height:34px;padding:5px 12px;font-size:14px}

/* Attendance and durable internal knowledge */
.attendance-today,.attendance-month{padding:20px 22px;margin:0 0 16px}
.attendance-approvals{padding:20px 22px;margin:0 0 16px;border-color:#e6d6b5;background:#fffdf8}
.attendance-approvals-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.attendance-approvals-heading h2{margin:0;color:var(--ink);font-size:18px}
.attendance-approvals-heading p{margin:4px 0 0}
.attendance-approval-list{display:grid;gap:9px}
.attendance-approval-item{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(230px,1.2fr) minmax(160px,1fr) auto;align-items:center;gap:8px 18px;padding:12px 14px;border:1px solid #eee4d0;border-radius:11px;background:#fff}
.attendance-approval-person{display:flex;flex-direction:column;gap:3px;min-width:0}
.attendance-approval-person strong{font-size:14px;color:var(--ink)}
.attendance-approval-person span,.attendance-approval-change>span,.attendance-approval-footer time{font-size:12px;color:var(--muted)}
.attendance-approval-change{display:flex;flex-direction:column;gap:3px}
.attendance-approval-change strong{font-size:14px;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}
.attendance-approval-change i{padding:0 5px;color:#8793a8;font-style:normal}
.attendance-approval-reason{margin:0;color:#46536a;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.attendance-approval-footer{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.attendance-today-head,.attendance-month-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.attendance-today-head h2,.attendance-month-head h2{margin:3px 0 0;color:var(--ink);font-size:18px}
.attendance-punch{min-width:150px;min-height:46px}
.attendance-events{margin:21px 0 16px;padding:17px 4px 12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow-x:auto}
.attendance-timeline{position:relative;display:flex;align-items:flex-start;min-width:max-content;margin:0;padding:0;list-style:none}
.attendance-timeline::before{content:"";position:absolute;left:10px;top:7px;width:calc(100% - 20px);height:2px;background:#dce3ee}
.attendance-timeline-event{position:relative;display:flex;flex:1 0 145px;flex-direction:column;align-items:flex-start;gap:5px;min-width:145px;padding:25px 18px 0 0;color:var(--muted)}
.attendance-timeline-marker{position:absolute;z-index:1;top:0;left:2px;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:#91a1ba;box-shadow:0 0 0 2px #cbd5e3}
.attendance-timeline-event.is-clock_in .attendance-timeline-marker,.attendance-timeline-event.is-break_end .attendance-timeline-marker{background:#3566dd;box-shadow:0 0 0 2px #b9caf7}
.attendance-timeline-event.is-break_start .attendance-timeline-marker{background:#d69b35;box-shadow:0 0 0 2px #f1d59f}
.attendance-timeline-event.is-clock_out .attendance-timeline-marker{background:#548d7e;box-shadow:0 0 0 2px #bfddd4}
.attendance-timeline-event.is-latest .attendance-timeline-marker{width:14px;height:14px;top:-1px;left:1px}
.attendance-timeline-label{font-size:13px;font-weight:600;line-height:1.4;color:#65738c}
.attendance-timeline-event.is-latest .attendance-timeline-label{color:var(--ink)}
.attendance-timeline-event time{font-size:21px;font-weight:700;letter-spacing:.02em;line-height:1.25;color:var(--ink);font-variant-numeric:tabular-nums}
.attendance-timeline-empty{margin:0;padding:8px 0;color:var(--muted);font-size:14px}
.attendance-table-wrap{overflow-x:auto;margin:12px -6px 0}
.attendance-table{width:100%;min-width:890px;border-collapse:collapse;font-size:13px}
.attendance-table th,.attendance-table td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}
.attendance-table th{background:#f6f8fb;color:#53627a;font-weight:650}
.attendance-table td:last-child{width:1%;text-align:right}
.attendance-month-head input[type=month]{width:auto;min-height:36px}
.attendance-correction-review{min-width:min(480px,72vw);padding:4px 2px 10px}
.attendance-correction-review p{margin:10px 0;color:var(--ink)}
.management-type-switch{display:flex;align-items:center;gap:8px;max-width:100%;margin:0 0 16px;padding:5px;border:1px solid var(--border);border-radius:13px;background:#edf1f7;overflow-x:auto;scrollbar-width:thin}
.management-type-switch>button{flex:none;min-height:38px;padding:7px 13px;border:1px solid transparent;border-radius:9px;background:transparent;color:#53627a;font-size:13px;font-weight:600;white-space:nowrap}
.management-type-switch>button[aria-pressed=true]{border-color:#d6e0f5;background:#fff;color:#294e9b;box-shadow:0 1px 2px #25324a12}
.management-type-switch>button span{margin-left:7px;color:#75829a;font-size:12px;font-weight:500}
.management-type-switch>button[data-action="new-type"]{margin-left:auto;border-color:#cbd7f5;background:#f7f9ff;color:#315bda}
.management-type-switch>button[data-action="new-type"]:hover{background:#edf2ff}
.knowledge-toolbar{display:flex;align-items:center;gap:16px;margin:0 0 10px}
.knowledge-search{display:block;flex:1;max-width:560px;margin:0}.knowledge-search input{margin:0}
.knowledge-list{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.knowledge-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border-bottom:1px solid var(--border)}
.knowledge-row:last-child{border-bottom:0}.knowledge-row-main{min-width:0;flex:1}
.knowledge-meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}
.knowledge-title{display:block;margin:7px 0 2px;padding:0;border:0;background:none;color:#294e9b;text-align:left;font-weight:650;font-size:16px;line-height:1.45}
.knowledge-title:hover{text-decoration:underline}.knowledge-row p{margin:4px 0 0;color:#53627a;font-size:13px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}
.knowledge-open-button{flex:none}.knowledge-form>label,.knowledge-article{display:block}
.knowledge-form textarea{min-height:170px;resize:vertical;line-height:1.7}
.knowledge-form [hidden]{display:none!important}
.knowledge-form .work-form-scroll{padding-right:8px}
.knowledge-content{margin:22px 0;padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:15px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}
.knowledge-article-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
@media(max-width:850px){.attendance-approvals{padding:16px}.attendance-approval-item{grid-template-columns:minmax(130px,.7fr) minmax(200px,1.3fr);gap:8px 14px}.attendance-approval-reason{grid-column:1/-1}.attendance-approval-footer{grid-column:1/-1}}
@media(max-width:700px){.attendance-today,.attendance-month{padding:16px}.attendance-today-head{align-items:flex-start;flex-direction:column}.attendance-month-head{align-items:flex-start;flex-direction:column}.attendance-timeline-event{flex-basis:130px;min-width:130px}.attendance-timeline-event time{font-size:19px}.attendance-approval-item{grid-template-columns:1fr}.attendance-approval-reason,.attendance-approval-footer{grid-column:auto}.attendance-approval-footer{justify-content:space-between}.knowledge-row{padding:13px;gap:8px}.knowledge-meta{gap:7px;flex-wrap:wrap}.knowledge-content{font-size:14px}}

/* Task create/detail reveal from the live right edge of the sidebar. */
dialog.task-surface-dialog[open]{position:fixed;left:var(--task-panel-left,215px);right:auto;top:0;bottom:0;width:min(var(--task-surface-panel-width,1100px),calc(100vw - var(--task-panel-left,215px)));height:100dvh;max-height:100dvh;max-width:calc(100vw - var(--task-panel-left,215px));margin:0;border-radius:0 15px 15px 0;clip-path:inset(0 100% 0 0);transition:clip-path .26s cubic-bezier(.2,.7,.2,1);will-change:clip-path}
dialog.task-surface-dialog.task-surface-ready:not(.task-surface-closing){clip-path:inset(0)}
dialog.task-surface-dialog[open]::backdrop{inset:0;background:linear-gradient(to right,transparent 0 var(--task-panel-left,215px),rgba(24,34,51,.34) var(--task-panel-left,215px) 100%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-mask-image:linear-gradient(to right,transparent 0 var(--task-panel-left,215px),#000 var(--task-panel-left,215px) 100%);mask-image:linear-gradient(to right,transparent 0 var(--task-panel-left,215px),#000 var(--task-panel-left,215px) 100%)}
dialog.task-surface-dialog.task-surface-closing{clip-path:inset(0 100% 0 0)}
dialog.task-surface-dialog[open]:has(form.has-fixed-actions:not([hidden])),dialog.task-surface-dialog[open]:has(>.task-detail-footer){left:var(--task-panel-left,215px);right:auto;top:0;bottom:0;width:min(var(--task-surface-panel-width,1100px),calc(100vw - var(--task-panel-left,215px)));max-width:calc(100vw - var(--task-panel-left,215px));height:100dvh;max-height:100dvh;margin:0}
@media(max-width:600px){dialog.task-surface-dialog[open],dialog.task-surface-dialog[open]:has(form.has-fixed-actions:not([hidden])),dialog.task-surface-dialog[open]:has(>.task-detail-footer){left:0;right:0;top:0;bottom:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;clip-path:none}dialog.task-surface-dialog[open]::backdrop{inset:0;background:rgba(24,34,51,.34);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);-webkit-mask-image:none;mask-image:none}}
.task-panel-resize{position:absolute;z-index:30;top:50%;right:0;display:grid;place-items:center;width:22px;height:44px;transform:translateY(-50%);border:0;border-radius:6px;background:transparent;box-shadow:none;cursor:ew-resize;touch-action:none;user-select:none}
.task-panel-resize:before{content:"";display:block;width:10px;height:22px;background:linear-gradient(to right,transparent 1px,var(--muted) 1px 3px,transparent 3px 7px,var(--muted) 7px 9px,transparent 9px)}
.task-panel-resize:hover,.task-panel-resize:focus-visible{background:var(--action-soft);outline:2px solid var(--blue);outline-offset:-1px}
@media(max-width:700px){.task-panel-resize{display:none}}
/* Keep the original dashed file picker treatment in task forms. */
dialog.task-surface-dialog .work-file-drop{width:100%;min-width:0;margin:10px 0 0;padding:12px 14px;border:2px dashed var(--action-line);border-radius:14px;background:#f7f8fa;box-sizing:border-box}
dialog.task-surface-dialog .work-file-drop>.row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
dialog.task-surface-dialog .work-file-drop>.row>button{min-height:38px;margin:0;padding:6px 12px;border:1px solid var(--action-line);border-radius:999px;background:var(--action-soft);color:var(--action-ink);font-weight:600}
dialog.task-surface-dialog .work-file-drop.drag-over{border-color:var(--blue);background:var(--action-soft-hover)}

/* Align the attachment label with other field labels; begin the dashed drop area at the input column. */
.work-file-drop,.compact-work-form .work-content-step>.work-file-drop,dialog.task-surface-dialog .work-file-drop{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:10px 14px;width:100%;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-sizing:border-box}
.work-file-drop>.work-file-label{margin:0;color:var(--action-ink);font-size:14px;font-weight:700;line-height:1.5}
.work-file-zone{min-width:0;padding:10px 12px;border:2px dashed var(--action-line);border-radius:15px;background:#f7f8fa;box-sizing:border-box}
.work-file-zone>.row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.work-file-zone>.row>button{min-height:38px;margin:0;padding:6px 12px;border:1px solid var(--action-line);border-radius:999px;background:var(--action-soft);color:var(--action-ink);font-weight:600}
.work-file-zone.drag-over{border-color:var(--blue);background:var(--action-soft-hover)}
.work-file-zone .work-file-list:empty{display:none}
@media(max-width:650px){.work-file-drop,.compact-work-form .work-content-step>.work-file-drop,dialog.task-surface-dialog .work-file-drop{grid-template-columns:1fr;gap:5px}.work-file-zone{width:100%}}

/* Keep task detail actions anchored to the bottom even when the body is short. */
dialog.task-surface-dialog.work-detail-dialog[open]:has(>.task-detail-footer){height:100dvh;max-height:100dvh}
dialog.task-surface-dialog.work-detail-dialog:has(>.task-detail-footer)>.work-detail-body{flex:1 1 auto}
.task-detail-footer{margin-top:auto}

/* Daily reports reuse the task title/content rows, including their spacing. */
.daily-report-tools{grid-column:2;display:flex;justify-content:flex-end;min-width:0}
.daily-report-tools>button{margin:0}
.daily-report-form .report-content-step>details,.daily-report-form .report-content-step>p{grid-column:1/-1;margin:0}
.daily-report-form textarea[name="description"]{max-height:min(56dvh,560px);line-height:1.5;white-space:pre-wrap;tab-size:2;resize:none;overflow-y:hidden}
@media(max-width:650px){.daily-report-tools{grid-column:1}}

/* Report recipients use the same inline people row and candidates as tasks. */
.report-recipient-row{grid-column:1/-1;min-width:0}

/* Approval stages use the shared people picker and stay easy to reorder. */
.approval-stage-list{display:grid;gap:10px;margin:8px 0}
.compact-work-form .work-people-controls.approval-stage{position:relative;margin:0;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:#fff}
.approval-stage.is-dragging{opacity:.5}
.approval-stage-grip{display:inline-block;margin-right:8px;color:var(--muted);cursor:grab;touch-action:none;user-select:none}
.approval-stage-grip:active{cursor:grabbing}
.approval-stage-remove{margin-left:auto;padding:2px 6px;font-weight:400}
.approval-request-toggle{display:flex;align-items:center;gap:8px;margin:0 0 8px!important;font-weight:600}
.approval-request-toggle input{width:17px;height:17px;min-height:17px;margin:0}
.approval-settings-box>[data-approval-add-stage]{margin-top:2px}

/* Application-specific fields inherit the shared form rows above. */
.compact-work-form .work-form-step>label.approval-request-toggle,.compact-work-form .approval-request-toggle{display:flex;align-items:center;gap:8px;margin:10px 0!important}
.compact-work-form .approval-request-toggle input{width:17px;height:17px;min-height:17px;padding:0;margin:0;flex:0 0 17px}
.approval-cost-fields,.approval-period-fields{min-width:0}
.approval-cost-row{margin:10px 0;padding:8px 0;border-top:1px solid var(--border)}
.approval-cost-row>[data-cost-remove]{display:block;margin-left:auto}
.approval-cost-fields>[data-cost-body]>[data-cost-add]{margin:4px 0 8px 140px}
.approval-cost-total{display:block;margin:8px 0 10px 140px;color:var(--action-ink);font-weight:600}
.approval-type-settings{margin:4px 0 10px 140px}
.approval-type-settings>summary{color:var(--action-ink);font-size:13px;cursor:pointer}
.approval-type-settings fieldset{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.approval-type-settings fieldset label{display:flex;align-items:center;gap:5px;margin:0}
.approval-type-settings fieldset input{width:16px;min-height:16px;margin:0}
.approval-info-grid{display:grid;gap:8px}
.approval-info-grid>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px}
.approval-info-grid dt{color:var(--muted)}
.approval-info-grid dd{margin:0}
.approval-cost-detail table{width:100%;border-collapse:collapse}
.approval-cost-detail th,.approval-cost-detail td{padding:8px;text-align:left;border-bottom:1px solid var(--border)}
@media(max-width:650px){.approval-type-settings,.approval-cost-total,.approval-cost-fields>[data-cost-body]>[data-cost-add]{margin-left:0}.approval-period-fields>.split{display:block}}

/* Half-page content scrolls without a native boxed track; background stays still. */
html:has(dialog[open]){overflow:hidden;scrollbar-gutter:stable}
dialog.task-surface-dialog :is(.work-form-scroll,.work-detail-body,.inventory-detail-scroll,.inventory-operation-scroll){scrollbar-width:thin;scrollbar-color:#b9c3d1 transparent}
dialog.task-surface-dialog :is(.work-form-scroll,.work-detail-body,.inventory-detail-scroll,.inventory-operation-scroll)::-webkit-scrollbar{width:8px}
dialog.task-surface-dialog :is(.work-form-scroll,.work-detail-body,.inventory-detail-scroll,.inventory-operation-scroll)::-webkit-scrollbar-track{background:transparent;border:0}
dialog.task-surface-dialog :is(.work-form-scroll,.work-detail-body,.inventory-detail-scroll,.inventory-operation-scroll)::-webkit-scrollbar-thumb{background:#b9c3d1;border:2px solid transparent;border-radius:999px;background-clip:content-box}

/* Shared sequence markers for consecutive step boxes. */
:where(*):has(>.work-form-step+.work-form-step){row-gap:0}
:where(*):has(>.work-form-step+.work-form-step)>.work-form-step{margin-bottom:0!important}
.work-form-step+.work-form-step{position:relative;margin-top:18px!important}
.work-form-step+.work-form-step::before{content:"";position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid color-mix(in srgb,var(--inventory-operation-color,var(--blue,#315bda)) 80%,white);pointer-events:none}

/* Help uses the existing panel, with a single unobtrusive entry. */
.support-launch{margin-top:12px;padding:8px 12px;font-size:13px;color:var(--blue);background:#edf2ff;border-color:#d6e0f5}
.main>.support-launch{position:fixed;right:20px;bottom:20px;z-index:25}
.support-panel{display:flex;flex-direction:column;gap:12px;min-width:0}
.support-panel [role=log]{max-height:45vh;overflow:auto;overscroll-behavior:contain}
.support-message{padding:12px 14px;margin-bottom:10px;background:#f3f6fc;border-radius:12px}
.support-message.user{margin-left:10%;background:#edf2ff}
.support-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}
.support-message small{color:var(--muted)}
.support-panel [data-support-topics],.support-feedback{display:flex;flex-wrap:wrap;gap:6px}
.support-panel [data-support-topics] button,.support-feedback button{font-size:12px;padding:6px 9px}
.support-panel form{display:flex;align-items:end;gap:8px;margin:0}
.support-panel form label{flex:1;min-width:0;margin:0}
.support-panel form button{flex:none}
.support-panel>.small{margin:0;font-size:12px}
