:root{--blue:#2563eb;--blue-soft:#eff6ff;--ink:#172033;--muted:#6b7280;--line:#e5e7eb;--surface:#fff;--canvas:#f7f8fa;--success:#16803c;--warning:#b7791f;--danger:#d14343}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.5 Arial,"Microsoft YaHei",sans-serif}.layout{display:flex;min-height:100vh}.side{position:fixed;z-index:2;width:232px;height:100vh;background:#192334;color:#aebbd0;padding:18px 12px}.brand{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;color:#fff;font-size:18px;font-weight:700}.brand-mark{display:grid;place-items:center;width:24px;height:24px;background:#3478f6;border-radius:6px;color:white;font-size:14px}.workspace{padding:23px 11px 11px;color:#76849a;font-size:12px;font-weight:700}.nav{display:flex;align-items:center;gap:11px;width:100%;height:40px;padding:0 11px;border:0;border-radius:5px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.nav:hover{background:#243148;color:#eef4ff}.nav.active{background:#2a65d5;color:#fff}.nav i,.btn i,.icon-btn i{width:16px;height:16px;stroke-width:2}.side-footer{position:absolute;right:12px;bottom:16px;left:12px;border-top:1px solid #2e3a4d;padding-top:14px}.user-chip{display:flex;align-items:center;gap:9px;padding:6px 9px;color:#d9e3f1}.avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#52627c;color:#fff;font-size:12px;font-weight:700}.main{width:calc(100% - 232px);margin-left:232px}.top{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 30px;background:#fff;border-bottom:1px solid var(--line)}.crumb{display:flex;align-items:center;gap:8px;color:#374151}.crumb strong{font-weight:600}.top-actions{display:flex;align-items:center;gap:10px}.content{max-width:1500px;margin:0 auto;padding:28px 32px 48px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.title{margin:0;font-size:22px;line-height:1.25;font-weight:650}.sub{margin:6px 0 0;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 13px;border:1px solid transparent;border-radius:5px;background:var(--blue);color:#fff;font:inherit;font-weight:600;cursor:pointer}.btn:hover{background:#1d4ed8}.btn.secondary,.btn.ghost{background:#fff;border-color:#d5dae3;color:#344054}.btn.secondary:hover,.btn.ghost:hover{background:#f8fafc}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid #d5dae3;border-radius:5px;background:#fff;color:#4b5563;cursor:pointer}.icon-btn:hover{background:#f4f6f9}.overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric-card{min-height:112px;padding:17px 18px;background:#fff;border:1px solid var(--line);border-radius:6px}.metric-label{display:flex;align-items:center;justify-content:space-between;color:#667085}.metric-label i{width:17px;height:17px;color:#8491a5}.metric{margin-top:10px;color:#101828;font-size:27px;font-weight:700}.metric-foot{margin-top:3px;color:#8591a5;font-size:12px}.section-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:6px}.panel-head{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 18px;border-bottom:1px solid #edf0f3}.panel-title{font-size:15px;font-weight:650}.panel-body{padding:16px 18px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px}.search{position:relative;width:270px}.search i{position:absolute;top:9px;left:10px;width:16px;color:#8792a5}.search input{padding-left:32px}input,select,textarea{width:100%;height:34px;border:1px solid #d7dce5;border-radius:5px;outline:none;background:#fff;color:var(--ink);font:inherit;padding:0 10px}textarea{height:96px;padding:9px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#6a9afb;box-shadow:0 0 0 3px #dbeafe}table{width:100%;border-collapse:collapse}th,td{height:46px;padding:0 12px;border-bottom:1px solid #edf0f3;text-align:left;white-space:nowrap}th{height:42px;background:#fafbfc;color:#667085;font-size:12px;font-weight:600}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcff}.clickable{cursor:pointer}.table-link{color:#1d5fd1;font-weight:600}.tag{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:4px;background:#f0f4fa;color:#475467;font-size:12px}.tag.blue{background:#eaf2ff;color:#2563c9}.tag.green{background:#eaf8ef;color:#16803c}.tag.orange{background:#fff5df;color:#a56616}.tag.red{background:#fff0f0;color:#c23b3b}.progress{width:108px;height:6px;overflow:hidden;border-radius:99px;background:#edf1f5}.progress span{display:block;height:100%;border-radius:inherit;background:#3674e9}.activity{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid #eef1f5}.activity:last-child{border-bottom:0}.activity .avatar{flex:0 0 auto;width:27px;height:27px;background:#8b9bb3}.activity-copy{min-width:0;color:#4b5563}.activity-copy b{color:#1f2937}.activity-time{margin-top:2px;color:#98a2b3;font-size:12px}.empty{display:grid;place-items:center;min-height:160px;color:#8a95a5}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.board-column{min-height:320px;padding:12px;background:#eef1f5;border-radius:6px}.board-title{display:flex;align-items:center;justify-content:space-between;margin:2px 3px 12px;font-size:13px;font-weight:650}.board-count{padding:1px 7px;border-radius:10px;background:#dfe5ec;color:#5e6b7d;font-size:12px}.work-card{margin-bottom:9px;padding:13px;background:#fff;border:1px solid #e0e5eb;border-radius:5px;box-shadow:0 1px 1px #10182808}.work-card-title{margin:7px 0;color:#243047;font-weight:600}.work-card-foot{display:flex;align-items:center;justify-content:space-between;color:#8691a1;font-size:12px}.week-grid{display:grid;grid-template-columns:170px repeat(5,minmax(110px,1fr));overflow:auto;border:1px solid var(--line);border-radius:6px;background:white}.week-grid>div{min-height:54px;padding:10px;border-right:1px solid #edf0f3;border-bottom:1px solid #edf0f3}.week-grid .head{min-height:42px;background:#fafbfc;color:#667085;font-size:12px;font-weight:600}.week-grid .person{font-weight:600}.allocation{display:block;padding:4px 6px;border-radius:3px;background:#eaf2ff;color:#245bb7;font-size:12px}.modal{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:24px;background:#10182872}.dialog{width:min(620px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:24px;background:#fff;border-radius:7px;box-shadow:0 16px 45px #10182838}.dialog h2{margin:0 0 18px;font-size:18px}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form p{margin:0}.form .full{grid-column:1/-1}.field-label{display:block;margin-bottom:6px;color:#475467;font-size:12px;font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.notice{padding:10px 12px;border:1px solid #fecaca;border-radius:5px;background:#fff5f5;color:#bc3131}.login-wrap{display:grid;min-height:100vh;place-items:center;background:#f4f7fb}.login{width:400px;padding:36px;background:#fff;border:1px solid #e7ebf0;border-radius:8px;box-shadow:0 12px 35px #1d29390d}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:28px;font-size:21px;font-weight:700}.login p{margin:12px 0}.login .btn{width:100%;height:38px;margin-top:6px}.login-note{margin-top:17px;color:#98a2b3;font-size:12px;text-align:center}@media(max-width:980px){.side{width:58px;padding:18px 8px}.brand span,.workspace,.nav span,.side-footer span{display:none}.brand{padding:0;justify-content:center}.nav{justify-content:center;padding:0}.main{width:calc(100% - 58px);margin-left:58px}.overview{grid-template-columns:repeat(2,1fr)}.section-grid{grid-template-columns:1fr}.content{padding:22px 18px}}@media(max-width:640px){.top{padding:0 15px}.crumb span{display:none}.content{padding:18px 12px}.overview{grid-template-columns:1fr 1fr}.metric-card{padding:13px}.metric{font-size:22px}.page-header{align-items:stretch;flex-direction:column}.toolbar{align-items:stretch;flex-direction:column}.toolbar-left,.toolbar-right{justify-content:space-between}.search{width:100%}.board{grid-template-columns:1fr}.form{grid-template-columns:1fr}.form .full{grid-column:auto}.top-actions .btn{padding:0 9px}.top-actions span{display:none}}
.top-shell{min-height:100vh;background:var(--canvas)}
.app-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;height:58px;padding:0 20px;background:#fff;border-bottom:1px solid #dfe3e8;box-shadow:0 1px 3px #1018280a}
.app-brand{display:flex;align-items:center;gap:9px;min-width:220px;color:#42526e;font-size:22px;white-space:nowrap}.app-brand strong{font-weight:500}.app-brand .brand-mark{width:23px;height:23px;background:#1769e0;transform:rotate(45deg);border-radius:1px;font-size:0}.app-brand .brand-mark:after{display:block;width:8px;height:8px;margin:7px;background:#fff;content:"";opacity:.9}
.top-nav{display:flex;align-items:stretch;height:100%;gap:1px}.top-nav button{display:flex;align-items:center;gap:5px;height:100%;padding:0 13px;border:0;background:transparent;color:#344563;font:inherit;cursor:pointer}.top-nav button:hover,.top-nav button.active{background:#f1f5fa;color:#0c66e4}.top-nav button.active{border-bottom:2px solid #0c66e4}.top-nav button i{width:14px;height:14px}.top-nav button .chevron{width:13px;height:13px;color:#8492a6}.top-create{margin-left:8px;height:32px;padding:0 14px!important;border-radius:4px!important;background:#0c66e4!important;color:#fff!important;font-weight:600!important}.top-create:hover{background:#0755bd!important}
.top-nav-group{position:relative;display:flex;align-items:stretch;height:100%}.top-nav-menu-trigger{gap:4px!important}.top-nav-menu-trigger .nav-chevron{font-size:14px;line-height:1;transition:transform .14s ease}.top-nav-menu-trigger.menu-open .nav-chevron{transform:rotate(180deg)}.top-nav-menu[hidden]{display:none}
.header-tools{display:flex;align-items:center;gap:12px;margin-left:auto}.header-search{display:flex;align-items:center;width:170px;height:32px;border:1px solid #8993a4;border-radius:3px;background:#fff}.header-search i{width:16px;margin:0 7px;color:#172b4d}.header-search input{height:30px;padding:0;border:0;box-shadow:none;font-size:13px}.header-search input:focus{box-shadow:none}.header-tool{display:grid;place-items:center;width:27px;height:32px;border:0;background:transparent;color:#42526e;cursor:pointer}.header-tool:hover{color:#0c66e4}.header-tool i{width:19px;height:19px}.header-user{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#45c4c7;color:#fff;font-size:12px;font-weight:700}
.top-main{min-height:calc(100vh - 58px)}.top-main .content{max-width:1500px;margin:0 auto}.top-main .main{width:100%;margin-left:0}@media(max-width:1080px){.app-brand{min-width:180px;font-size:19px}.top-nav button{padding:0 8px}.header-search{width:145px}}@media(max-width:780px){.app-header{overflow-x:auto;padding:0 12px}.app-brand{min-width:155px}.app-brand strong{font-size:18px}.top-nav button{padding:0 7px;font-size:13px}.top-nav button:nth-child(n+6){display:none}.header-tools{min-width:120px}.header-search{width:120px}.top-create{padding:0 9px!important}}
.system-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px}.system-menu{align-self:start;padding:8px 0;background:#fff;border:1px solid var(--line);border-radius:6px}.system-menu-title{padding:10px 16px 8px;color:#667085;font-size:12px;font-weight:600}.system-menu button{display:flex;align-items:center;gap:9px;width:100%;height:38px;padding:0 16px;border:0;background:transparent;color:#344054;font:inherit;text-align:left;cursor:pointer}.system-menu button:hover{background:#f7f9fc;color:#0c66e4}.system-menu button.active{background:#eaf2ff;color:#0c66e4;font-weight:600}.system-menu button i{width:16px;height:16px}.system-content{min-width:0}.system-content .panel{margin-bottom:16px}.table-actions{display:flex;align-items:center;gap:6px}.link-button{padding:0;border:0;background:transparent;color:#0c66e4;font:inherit;cursor:pointer}.link-button:hover{text-decoration:underline}@media(max-width:800px){.system-layout{grid-template-columns:1fr}.system-menu{display:flex;overflow-x:auto;padding:6px}.system-menu-title{display:none}.system-menu button{flex:0 0 auto;width:auto;padding:0 10px}.system-menu button span{white-space:nowrap}}
.app-header{height:52px;padding:0 14px}.app-brand{min-width:210px;font-size:18px}.app-brand .brand-mark{width:20px;height:20px}.app-brand .brand-mark:after{width:7px;height:7px;margin:6px}.top-nav{min-width:0}.top-nav button{height:52px;padding:0 11px;white-space:nowrap;font-size:13px;line-height:1}.top-nav button.active{border-bottom-width:2px}.top-create{height:30px;min-height:30px;margin-left:5px;padding:0 12px!important;font-size:13px!important;white-space:nowrap}.header-tools{gap:7px}.header-search{width:150px;height:29px}.header-search input{height:27px;font-size:12px}.header-tool{width:25px;height:29px}.header-user{width:23px;height:23px;font-size:11px}.top-main{min-height:calc(100vh - 52px)}.content{padding:22px 28px 36px}.title{font-size:18px}.sub{font-size:13px}.page-header{margin-bottom:16px}.system-layout{grid-template-columns:180px minmax(0,1fr);gap:14px}.system-menu button{height:34px;padding:0 14px;font-size:13px}.system-menu-title{padding:9px 14px 6px;font-size:12px}.panel-head{min-height:46px}.panel-body{padding:13px 16px}.panel-title{font-size:14px}th,td{height:40px;padding:0 10px;font-size:13px}th{height:38px}.btn{min-height:32px;padding:0 11px;font-size:13px}.metric-card{min-height:96px;padding:14px 16px}.metric{font-size:23px}@media(max-width:1180px){.app-brand{min-width:175px}.top-nav button{padding:0 8px}.header-search{width:125px}}@media(max-width:920px){.app-header{overflow-x:auto}.header-tools{display:none}.top-nav button{padding:0 8px}.top-nav button:nth-child(n+7){display:none}}
.top-nav button b{margin-left:2px;color:#42526e;font-size:14px;font-weight:600;line-height:1}.top-menu{position:fixed;z-index:20;min-width:190px;max-width:270px;padding:5px 0;background:#fff;border:1px solid #d7dce5;border-radius:3px;box-shadow:0 4px 12px #091e4226;color:#172b4d}.top-menu button{display:block;width:100%;min-height:30px;padding:5px 12px;border:0;background:#fff;color:#172b4d;font:13px/20px Arial,"Microsoft YaHei",sans-serif;text-align:left;white-space:nowrap;cursor:pointer}.top-menu button:hover{background:#ebf2ff;color:#0052cc}.top-menu button small{color:#6b778c;font-size:11px}.top-menu-label{padding:6px 12px 3px;color:#5e6c84;font-size:12px;font-weight:600}.top-menu-divider{height:1px;margin:5px 0;background:#dfe1e6}.top-menu-empty{padding:9px 12px;color:#6b778c;font-size:13px}@media(max-width:920px){.top-nav button b{display:none}.top-menu{min-width:175px}}
.top-nav .nav-chevron{width:13px;height:13px;margin-left:2px;stroke-width:2;transition:transform .14s ease}.top-nav button.menu-open .nav-chevron{transform:rotate(180deg)}
.top-create{display:grid!important;place-items:center;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;margin:0 2px 0 0;padding:0!important;border:0!important;border-radius:50%!important;background:#0c66e4!important;color:#fff!important}.top-create i{width:18px;height:18px}.top-create:hover{background:#0755bd!important}.create-menu{position:fixed;z-index:30;width:186px;padding:5px 0;background:#fff;border:1px solid #d7dce5;border-radius:2px;box-shadow:0 5px 14px #091e4233;color:#172b4d}.create-group{padding:3px 0}.create-label{padding:5px 14px 4px;color:#6b778c;font-size:12px;font-weight:600}.create-menu button{display:block;width:100%;min-height:34px;padding:6px 14px;border:0;background:#fff;color:#172b4d;font:14px/20px Arial,"Microsoft YaHei",sans-serif;text-align:left;cursor:pointer}.create-menu button:hover{background:#ebf2ff;color:#0052cc}.create-divider{height:1px;margin:5px 0;background:#dfe1e6}
.header-tools .create{display:grid;place-items:center;width:30px;height:30px;min-height:30px;padding:0;border:0;border-radius:50%;background:#0c66e4;color:#fff;font-size:21px;font-weight:400;line-height:1}.header-tools .create:hover{background:#0755bd}.header-tool{font-size:12px;white-space:nowrap}.detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.75fr);gap:16px}.detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.detail-fields p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:9px 0;border-bottom:1px solid #edf0f3}.detail-fields b{color:#667085;font-size:12px}.panel-body h3{margin:18px 0 9px;font-size:14px}.description{min-height:58px;white-space:pre-wrap;color:#344054}.comment{padding:10px 0;border-bottom:1px solid #edf0f3}.comment small,.history small,.work-card small{display:block;margin-top:3px;color:#98a2b3;font-size:12px}.history{padding:8px 0;border-bottom:1px solid #edf0f3;font-size:13px}.check-list{max-height:380px;overflow:auto;border:1px solid #e5e7eb;border-radius:4px}.check-list label{display:block;padding:8px 10px;border-bottom:1px solid #edf0f3;font-size:13px}.check-list label:last-child{border-bottom:0}.check-list input{width:auto;height:auto;margin-right:6px}.member-list{margin-top:14px;color:#667085;font-size:13px}.member-list div{padding:5px 0}.danger{color:#c23b3b}@media(max-width:800px){.detail-grid{grid-template-columns:1fr}.detail-fields{grid-template-columns:1fr}}
.section-heading{display:flex;align-items:center;gap:12px;margin:0 0 12px}.section-heading h3{margin:0}.section-heading .sub{margin:0;flex:1}.scope-group{grid-column:1/-1;padding-top:8px;border-top:1px solid var(--line)}.scope-group>b{display:block;margin-bottom:6px;color:#475467}.scope-group label{margin-right:18px}

/* Keep the caret box fixed; opening the menu changes direction only. */
.jira-nav-trigger .nav-caret{position:relative;display:inline-block;width:10px;height:12px;margin-left:1px;font-size:0;vertical-align:middle;transform:none}.jira-nav-trigger .nav-caret:after{position:absolute;top:3px;left:2px;width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;content:"";transform:rotate(45deg);transform-origin:50% 50%;transition:transform .12s ease}.jira-nav-group.open .jira-nav-trigger .nav-caret{transform:none}.jira-nav-group.open .jira-nav-trigger .nav-caret:after{transform:rotate(225deg)}
.required-mark{margin-left:3px;color:#de350b;font-size:13px;font-weight:600}
.modal.drawer-modal{display:block;padding:0;background:#10182855}
.modal.drawer-modal .dialog{position:absolute;top:0;right:0;width:min(760px,92vw);height:100vh;max-height:none;padding:0;border-radius:0;overflow:auto;box-shadow:-12px 0 35px #1018282b}
.modal.drawer-modal .modal-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 22px;border-bottom:1px solid #e5e7eb;background:#fff}
.modal.drawer-modal .modal-body{padding:22px 24px 40px}
.modal.drawer-modal.parent-drawer-shifted .dialog{right:0;transform:translateX(-25%);transition:transform .16s ease}
.filter-view-move{width:28px;height:28px;min-width:28px;padding:0;border-color:var(--jira-line,#dfe1e6);font-size:16px;line-height:1}
.modal.drawer-modal.parent-drawer-shifted{z-index:11}
.modal.drawer-modal.child-drawer{z-index:12}
.modal.drawer-modal.child-drawer .dialog{right:0;width:min(620px,78vw)}
.modal.drawer-modal.child-drawer.work-item-dialog .dialog {
  width: min(760px, 68vw);
}
.modal.drawer-modal.work-item-dialog .modal-body {
  padding: 20px 24px 32px;
}
.modal.drawer-modal.work-item-dialog .wi-tabbar {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #fff;
}
.modal.drawer-modal.project-overview-item-drawer .dialog{width:60vw}
@media(max-width:760px){.modal.drawer-modal.project-overview-item-drawer .dialog{width:100vw}}
@media(max-width:900px){.modal.drawer-modal.child-drawer.work-item-dialog .dialog{width:92vw}}
.detail-side-tabs{display:flex;align-items:center;gap:2px;margin:0 0 14px;border-bottom:1px solid var(--jira-line,#dfe1e6);overflow-x:auto}
.drawer-navigation{align-items:center;justify-content:flex-start}
.detail-side-tabs-top{margin:0 0 0 auto;border-bottom:0;max-width:calc(100% - 190px)}
.detail-side-tabs-top .detail-side-tab{height:34px}
.detail-side-tab{height:34px;padding:0 10px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--jira-text,#42526e);font:12px Arial,"Microsoft YaHei",sans-serif;white-space:nowrap;cursor:pointer}
.detail-side-tab:hover{background:var(--jira-hover,#ebecf0)}
.detail-side-tab.active{border-bottom-color:var(--jira-blue,#0052cc);color:var(--jira-blue,#0052cc);font-weight:600}
.detail-side-panel[hidden]{display:none}
.detail-side-panel>h3:first-child{margin-top:0}
.detail-side-panel .relation-add{margin-top:16px;padding-top:14px;border-top:1px solid var(--jira-line,#dfe1e6)}
.detail-side-panel .relation-add h3{margin-top:0}
.modal:not(.drawer-modal) .dialog{position:relative;display:flex;flex-direction:column;width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;overflow:hidden;border:1px solid var(--jira-line,#dfe1e6);border-radius:4px;background:#fff;box-shadow:0 8px 24px rgba(9,30,66,.24)}
.modal:not(.drawer-modal) .modal-head{display:flex;align-items:center;justify-content:space-between;flex:0 0 52px;min-height:52px;padding:0 16px;border-bottom:1px solid var(--jira-line,#dfe1e6);background:#fff;color:var(--jira-ink,#172b4d)}
.modal:not(.drawer-modal) .modal-head>b{min-width:0;padding-right:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;line-height:1.3}
.modal:not(.drawer-modal) .modal-head .icon-btn.close{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;margin-left:auto;padding:0;border:0;border-radius:3px;background:transparent;color:var(--jira-text,#42526e);font-size:22px;font-weight:400;line-height:1;cursor:pointer}
.modal:not(.drawer-modal) .modal-head .icon-btn.close:hover{background:var(--jira-hover,#ebecf0);color:var(--jira-ink,#172b4d)}
.modal:not(.drawer-modal) .modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding:20px 22px 24px}
.modal:not(.drawer-modal) .modal-actions{display:flex;justify-content:flex-end;flex:0 0 auto;gap:8px;margin:0;padding:12px 16px;border-top:1px solid var(--jira-line,#dfe1e6);background:#fff}
.modal:not(.drawer-modal) .modal-actions .btn{min-width:72px}
.issue-workbench .toolbar{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:12px;padding:10px;background:#fff;border:1px solid var(--jira-line,#dfe1e6);border-radius:4px}
.issue-workbench .toolbar-left,.issue-workbench .toolbar-right{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}
.issue-workbench .toolbar-left{flex:1 1 520px}
.issue-workbench .toolbar-right{flex:1 1 620px;justify-content:flex-end}
.issue-workbench .toolbar .field-label{display:block;flex:0 0 auto;width:auto;min-width:92px;margin:0}
.issue-workbench .toolbar .search-field{flex:1 1 190px;min-width:160px;max-width:250px}
.issue-workbench .toolbar .field-label select{width:100%;min-width:86px}
.issue-workbench .toolbar button,.issue-workbench .toolbar summary{flex:0 0 auto;min-width:max-content;white-space:nowrap;word-break:keep-all;writing-mode:horizontal-tb}
.issue-workbench .toolbar .view-switcher{display:inline-flex;flex:0 0 auto;white-space:nowrap}
.issue-workbench .toolbar .view-switcher .btn{min-width:52px}
.issue-workbench .toolbar .advanced-filter{flex:0 0 auto}
.issue-workbench .toolbar .advanced-filter-grid{max-width:min(720px,calc(100vw - 32px));overflow:auto}
.issue-workbench .issue-bulkbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.issue-workbench .issue-bulkbar .btn{white-space:nowrap;word-break:keep-all;flex:0 0 auto}
@media(max-width:1100px){.issue-workbench .toolbar-left,.issue-workbench .toolbar-right{flex-basis:100%;justify-content:flex-start}.issue-workbench .toolbar-right{padding-top:4px;border-top:1px solid #f0f1f3}}
body:has(#new-issue) .toolbar{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:12px;padding:10px;background:#fff;border:1px solid var(--jira-line,#dfe1e6);border-radius:4px}
body:has(#new-issue) .toolbar-left,body:has(#new-issue) .toolbar-right{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}
body:has(#new-issue) .toolbar-left{flex:1 1 520px}
body:has(#new-issue) .toolbar-right{flex:1 1 620px;justify-content:flex-end}
body:has(#new-issue) .toolbar .field-label{display:block;flex:0 0 auto;width:auto;min-width:92px;margin:0}
body:has(#new-issue) .toolbar .search-field{flex:1 1 190px;min-width:160px;max-width:250px}
body:has(#new-issue) .toolbar .field-label select{width:100%;min-width:86px}
body:has(#new-issue) .toolbar button,body:has(#new-issue) .toolbar summary{flex:0 0 auto;min-width:max-content;white-space:nowrap;word-break:keep-all;writing-mode:horizontal-tb}
body:has(#new-issue) .toolbar .view-switcher{display:inline-flex;flex:0 0 auto;white-space:nowrap}
body:has(#new-issue) .toolbar .advanced-filter{flex:0 0 auto}
body:has(#new-issue) .issue-bulkbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px}
body:has(#new-issue) .issue-bulkbar .btn{white-space:nowrap;word-break:keep-all;flex:0 0 auto}
@media(max-width:1100px){body:has(#new-issue) .toolbar-left,body:has(#new-issue) .toolbar-right{flex-basis:100%;justify-content:flex-start}body:has(#new-issue) .toolbar-right{padding-top:4px;border-top:1px solid #f0f1f3}}
.issues-shell{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:start;margin:0 -32px -48px;padding:0 32px 48px;background:#fff;border-top:1px solid var(--jira-line,#dfe1e6)}
.content:has(.issues-shell){max-width:none}
.issues-filter-sidebar{position:sticky;top:52px;min-height:calc(100vh - 116px);padding:16px 10px 24px 0;border-right:1px solid var(--jira-line,#dfe1e6);background:#fff}
.issues-filter-sidebar .issue-new-filter{width:100%;min-height:32px;margin-bottom:20px;justify-content:flex-start;font-size:12px}
.issue-sidebar-title{margin:14px 0 6px;padding:0 8px;color:var(--jira-text,#42526e);font-size:11px;font-weight:600}
.issue-sidebar-links{display:grid;gap:1px}
.issue-sidebar-links button{display:block;width:100%;min-height:30px;padding:5px 8px;border:0;border-radius:3px;background:transparent;color:var(--jira-text,#42526e);font:13px/20px Arial,"Microsoft YaHei",sans-serif;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.issue-sidebar-links button:hover,.issue-sidebar-links button.active{background:var(--jira-blue-soft,#deebff);color:var(--jira-blue,#0052cc)}
.issue-sidebar-empty{padding:5px 8px;color:var(--jira-muted,#6b778c);font-size:12px}
.issues-filter-sidebar .issue-sidebar-filter-slot{margin-top:16px;padding:0 8px 0 0}
.issues-filter-sidebar .advanced-filter{display:block;position:static}
.issues-filter-sidebar .advanced-filter summary{display:flex;align-items:center;justify-content:space-between;min-height:30px;padding:5px 8px;background:var(--jira-fill,#f4f5f7);font-size:12px}
.issues-filter-sidebar .advanced-filter[open] .advanced-filter-grid{position:static;display:grid;grid-template-columns:1fr;gap:8px;min-width:0;padding:10px 0 0;border:0;box-shadow:none;background:transparent}
.issues-filter-sidebar .advanced-filter-grid .field-label{min-width:0}
.issues-filter-sidebar .advanced-filter-grid input,.issues-filter-sidebar .advanced-filter-grid select{width:100%;max-width:100%}
.issue-more-filters{position:relative;flex:0 0 auto;margin:0 0 10px}
.issue-more-filters>summary{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;background:#fff;color:var(--jira-text,#42526e);font-size:12px;cursor:pointer;list-style:none;white-space:nowrap}
.issue-more-filters>summary::-webkit-details-marker{display:none}
.issue-more-filters>summary:after{content:'⌄';margin-left:6px}
.issue-more-filters[open]>summary:after{content:'⌃'}
.issue-more-filters-menu{position:absolute;z-index:30;top:38px;left:0;display:flex;flex-direction:column;gap:10px;min-width:280px;max-width:min(680px,calc(100vw - 36px));padding:12px;background:#fff;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;box-shadow:0 8px 20px rgba(9,30,66,.18)}
.issue-more-filters-menu>.field-label{min-width:240px;margin:0}
.issue-more-filters-menu>.sort-group{display:grid;grid-template-columns:auto 1fr 1fr;align-items:center;gap:7px;color:var(--jira-text,#42526e);font-size:12px}
.issue-more-filters-menu>.advanced-filter{position:static;margin:0}
.issue-more-filters-menu>.advanced-filter>summary{display:flex;align-items:center;justify-content:space-between;min-height:30px;padding:5px 8px;background:var(--jira-fill,#f4f5f7);font-size:12px}
.issues-workspace{min-width:0;padding-top:16px}
.issues-workspace .toolbar{margin-top:0}
@media(max-width:900px){.issues-shell{grid-template-columns:1fr;margin:0 -16px -34px;padding:0 16px 34px}.issues-filter-sidebar{position:static;min-height:0;padding:12px 0;border-right:0;border-bottom:1px solid var(--jira-line,#dfe1e6)}.issue-sidebar-links{display:flex;flex-wrap:wrap;gap:4px}.issue-sidebar-links button{width:auto;max-width:190px}.issues-workspace{padding-top:12px}}
.detail-actions{display:flex;gap:8px;margin:18px 0}
.pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;color:#667085;font-size:13px}
.pager .page-size,.list-pager .page-size{display:inline-flex;align-items:center;gap:5px;color:inherit;font-size:12px;white-space:nowrap}
.pager .page-size select,.list-pager .page-size select{width:auto;height:28px;padding:0 4px;font-size:12px}
.search-field{display:block;width:220px;margin:0}.search-field input{height:34px}
.permission-list{max-height:560px;overflow:auto}.permission-group{margin:0 0 18px;border:1px solid #e5e7eb;border-radius:5px}.permission-group h3{margin:0;padding:10px 12px;border-bottom:1px solid #e5e7eb;background:#f8fafc;font-size:14px}.permission-group label{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid #edf0f3;font-weight:500}.permission-group label:last-child{border-bottom:0}.permission-group input{width:auto;height:auto}.permission-group small{margin-left:auto;color:#98a2b3;font-size:11px;font-weight:400}
.capability-panel{margin-bottom:14px}.capability-chip{display:inline-flex;align-items:center;gap:5px;margin:3px 6px 3px 0;padding:5px 8px;border:1px solid #c7d7f5;border-radius:4px;background:#f3f7ff;color:#245bb7;font-size:12px}.capability-chip small{color:#667085}
.attachment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #edf0f3;font-size:13px}.attachment-row small{color:#98a2b3}.attachment-row a{color:#0c66e4}.attachment-list{margin-bottom:9px}
.process-template-files{display:grid;gap:3px;margin-bottom:4px}.process-template-file{display:flex;align-items:center;gap:6px;max-width:260px}.process-template-file .link-button:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.process-template-attachment-select{font-size:12px}.process-template-attachment-queue{max-width:260px}.process-template-attachment-queue .attach-item{margin-top:4px;padding:4px;font-size:12px}
.process-template-output-assets{display:grid;gap:5px;margin-top:5px}.process-template-material{padding:4px 6px;background:#f7f8fa;border:1px solid #e5e8ec;border-radius:3px}.process-template-material-name{font-weight:600;margin-right:6px}.process-template-material .sub{margin-right:6px}.process-template-material .process-template-file{max-width:340px}.process-template-material .process-template-attachment-select{margin-left:6px}
.user-role-picker{grid-column:1/-1;margin:0;padding:10px 12px;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px}.user-role-picker legend{padding:0 5px;color:var(--jira-text,#42526e);font-size:12px;font-weight:600}.user-role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px}.user-role-options .checkbox-field{margin:0;font-size:13px}.user-role-options small{margin-left:4px;color:var(--jira-muted,#6b778c)}
.inline-status{height:28px;min-width:86px;padding:0 5px;border:1px solid #d7dce5;border-radius:3px;background:#fff;color:var(--ink);font:12px Arial,"Microsoft YaHei",sans-serif}.inline-status:focus{border-color:#6a9afb;box-shadow:0 0 0 2px #dbeafe}.section-title{margin:20px 0 10px;color:#172b4d;font-size:15px;font-weight:600}
.import-result{margin-top:14px;padding:10px;border:1px solid #e5e7eb;border-radius:4px;background:#f8fafc}.import-errors{margin-top:8px;color:#c23b3b;line-height:1.7}
.import-links{margin-top:10px;font-size:13px}.import-links a,.import-result a{color:#0c66e4}
.activity-feed{max-height:360px;overflow:auto}.activity-row{display:grid;grid-template-columns:74px 68px minmax(0,1fr);gap:6px;padding:7px 0;border-bottom:1px solid #edf0f3;color:#42526e;font-size:12px}.activity-row span{color:#98a2b3}.activity-row b{color:#172b4d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notification-trigger{position:relative}.notification-count{position:absolute;top:1px;right:-2px;display:grid;place-items:center;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:#de350b;color:#fff;font-size:10px}.notification-panel{max-height:620px;overflow:auto}.notification-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.notification-actions .list-search{width:220px}.notification-actions select{width:110px}.notification-row{position:relative;padding:10px 54px 10px 10px;border-bottom:1px solid #edf0f3}.notification-row.unread{background:#f3f7ff}.notification-row b{color:#172b4d;font-size:13px}.notification-row p{margin:4px 0;color:#42526e;font-size:12px}.notification-row small{color:#98a2b3}.notification-row .mark-notification{position:absolute;right:8px;top:12px;font-size:12px}.notification-pager{justify-content:flex-end;padding-top:10px}
.drawer-navigation{display:flex;justify-content:flex-end;gap:8px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #edf0f3}.relation-row{padding:7px 0;border-bottom:1px solid #edf0f3}.relation-add{display:flex;gap:7px;margin:10px 0}.relation-add select{min-width:110px}
.cell-editor{width:100%;height:30px;padding:0 6px;border:1px solid #4c9aff;border-radius:3px;outline:0;font:13px Arial,"Microsoft YaHei",sans-serif}.issue-grid td.editable-cell{cursor:text}.issue-grid td.editable-cell:hover{background:#f4f7fb;box-shadow:inset 0 0 0 1px #b6c9e7}.issue-grid th,.issue-grid td{min-width:88px}.issue-grid th:first-child,.issue-grid td:first-child{min-width:42px}.issue-grid th:nth-child(4),.issue-grid td:nth-child(4){min-width:240px}
.inline-user-picker{position:relative;min-width:150px}.inline-user-picker .cell-editor{padding-right:24px}.inline-user-caret{position:absolute;top:12px;right:8px;width:0;height:0;border-top:5px solid #6b778c;border-right:4px solid transparent;border-left:4px solid transparent;pointer-events:none}.inline-user-options{position:fixed;z-index:10000;min-width:220px;max-height:250px;overflow:auto;padding:4px;border:1px solid #dfe1e6;border-radius:3px;background:#fff;box-shadow:0 6px 16px rgba(9,30,66,.22)}.inline-user-options[hidden]{display:none}.inline-user-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:28px;padding:4px 7px;border:0;background:#fff;color:#172b4d;font:12px Arial,"Microsoft YaHei",sans-serif;text-align:left;cursor:pointer}.inline-user-option:hover{background:#deebff;color:#0052cc}.inline-user-option b{font-weight:400}.inline-user-option small{color:#6b778c;font-size:11px}.inline-user-empty{display:block;padding:7px;color:#6b778c;font-size:12px}
.issue-grid.standard th,.issue-grid.standard td{height:46px}.issue-grid.compact th,.issue-grid.compact td{height:36px;padding-top:0;padding-bottom:0}.column-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.column-settings label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;border:1px solid #edf0f3;border-radius:4px}.column-settings label span{color:#667085;font-size:12px}.column-settings input{width:auto;height:auto;margin-right:5px}.issue-grid{overflow:auto}.issue-grid th[data-frozen="true"],.issue-grid td[data-frozen="true"]{position:sticky;z-index:1;background:#fff;box-shadow:1px 0 0 #dfe1e6}.issue-grid thead th[data-frozen="true"]{z-index:2;background:#fafbfc}
.rich-label{display:block;margin-top:14px;color:#475467;font-size:12px;font-weight:600}.rich-editor{margin-top:6px;border:1px solid #d7dce5;border-radius:4px;background:#fff;overflow:hidden}.rich-editor:focus-within{border-color:#6a9afb;box-shadow:0 0 0 3px #dbeafe}.rich-toolbar{display:flex;align-items:center;gap:2px;min-height:34px;padding:3px 5px;border-bottom:1px solid #e5e7eb;background:#f8fafc}.rich-toolbar span{width:1px;height:18px;margin:0 3px;background:#d7dce5}.rich-toolbar button{min-width:27px;height:26px;padding:0 6px;border:0;border-radius:3px;background:transparent;color:#344054;font:12px Arial,"Microsoft YaHei",sans-serif;cursor:pointer}.rich-toolbar button:hover{background:#dfe8f6;color:#0052cc}.rich-content{min-height:150px;padding:10px 12px;outline:0;color:#172b4d;font:14px/1.55 Arial,"Microsoft YaHei",sans-serif;white-space:normal}.rich-content p{margin:0 0 8px}.rich-content ul,.rich-content ol{margin:6px 0;padding-left:22px}.rich-content img,.description img{display:block;max-width:100%;height:auto;margin:8px 0;border:1px solid #dfe1e6;border-radius:3px}.description p{margin:0 0 8px}.description ul,.description ol{padding-left:22px}.description a{color:#0052cc}
.issues-page{display:grid;grid-template-columns:180px minmax(0,1fr);min-height:calc(100vh - 102px);margin:-24px -32px -42px}.issue-sidebar{padding:20px 14px;border-right:1px solid #dfe1e6;background:#fff;color:#172b4d}.issue-sidebar>.btn{width:84px;min-height:30px;padding:0 9px;font-size:13px}.issue-collapse{float:right;width:28px;height:30px;border:0;background:transparent;color:#172b4d;font-size:20px;cursor:pointer}.issue-side-title{margin:22px 0 4px;color:#42526e;font-size:12px;font-weight:600}.issue-side-group{display:grid;gap:1px}.issue-side-group a{display:block;padding:5px 1px;color:#172b4d;font-size:13px;line-height:20px;cursor:pointer}.issue-side-group a:hover,.issue-side-group a.active{color:#0052cc;text-decoration:none}.issue-search-main{min-width:0;padding:21px 20px;background:#fff}.issue-search-heading{display:flex;align-items:center;gap:12px}.issue-search-heading h1{margin:0;color:#172b4d;font-size:24px;font-weight:500}.issue-search-heading .btn{min-height:30px}.issue-search-actions{display:flex;align-items:center;gap:20px;margin-left:auto}.issue-search-actions .link-button{color:#172b4d}.issue-jql{display:flex;align-items:center;gap:7px;margin-top:22px}.issue-jql input{height:32px;border-color:#97a0af;border-radius:3px}.issue-query-icon{display:grid;place-items:center;flex:0 0 auto;width:16px;height:16px;margin-right:-29px;z-index:1;border-radius:50%;background:#36b37e;color:#fff;font-size:10px}.issue-jql input{padding-left:30px}.issue-jql .btn{min-height:32px;border-radius:3px}.issue-jql .link-button{padding:0 5px;white-space:nowrap}.issue-list-divider{height:1px;margin:40px 0 0;background:#dfe1e6}.issue-table-wrap{overflow:auto}.issue-table{min-width:1120px}.issue-table th,.issue-table td{height:37px;padding:0 12px;font-size:12px}.issue-table th{background:#fff;color:#42526e;font-weight:600}.issue-table tbody tr:nth-child(odd){background:#f4f5f7}.issue-table tbody tr:hover{background:#deebff}.issue-table .tag{min-height:18px;padding:0 5px;font-size:11px}.issue-summary{display:flex;align-items:center;gap:7px;min-width:330px}.issue-type{display:inline-grid;place-items:center;min-width:14px;height:14px;border-radius:2px;color:transparent;font-size:0}.issue-type.requirement{background:#36b37e}.issue-type.task{background:#0052cc}.issue-type.bug{background:#ff5630}.issue-type.issue{background:#ffab00}.issue-key{white-space:nowrap}.issue-pagination{display:flex;align-items:center;justify-content:space-between;padding:13px 12px;color:#42526e;font-size:12px}.issue-pagination>div{display:flex;align-items:center;gap:12px}.issue-pagination .link-button:disabled{color:#97a0af;cursor:default;text-decoration:none}@media(max-width:820px){.issues-page{grid-template-columns:1fr;margin:-18px -12px -36px}.issue-sidebar{display:none}.issue-search-main{padding:18px 12px}.issue-search-actions{display:none}.issue-jql{margin-top:15px}.issue-list-divider{margin-top:20px}}
.issue-drawer-layer{position:fixed;z-index:100;inset:0;display:flex;justify-content:flex-end}.issue-drawer-mask{position:absolute;inset:0;background:#091e421f}.issue-drawer{position:relative;z-index:1;width:min(570px,100vw);height:100%;overflow:auto;background:#fff;box-shadow:-6px 0 18px #091e4233}.issue-drawer-head{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 20px;border-bottom:1px solid #dfe1e6}.issue-drawer-key{color:#0052cc;font-size:13px;font-weight:600}.issue-drawer-type{margin-left:9px;color:#6b778c;font-size:12px}.issue-drawer-close{width:32px;height:32px;border:0;background:transparent;color:#42526e;font-size:26px;font-weight:300;cursor:pointer}.issue-drawer-close:hover{background:#ebecf0}.issue-drawer-body{padding:20px}.issue-drawer-title{color:#172b4d;font-size:22px;font-weight:500;line-height:1.35}.issue-drawer-actions{display:flex;align-items:end;gap:9px;margin:18px 0}.issue-drawer-actions label{display:flex;align-items:center;gap:7px;color:#42526e;font-size:12px}.issue-drawer-actions select{width:130px;height:31px}.drawer-section{padding:17px 0;border-top:1px solid #dfe1e6}.drawer-section h3{margin:0 0 11px;color:#172b4d;font-size:14px}.drawer-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;margin:0}.drawer-fields div{display:flex;justify-content:space-between;gap:10px}.drawer-fields dt{color:#6b778c;font-size:12px}.drawer-fields dd{margin:0;color:#172b4d;font-size:12px;text-align:right}.drawer-description{color:#172b4d;line-height:1.6;white-space:normal}.drawer-description p{margin:0 0 8px}.drawer-description ul,.drawer-description ol{padding-left:22px}.drawer-history>div{padding:7px 0;border-bottom:1px solid #f0f1f3;color:#42526e;font-size:12px}.drawer-history small,.drawer-comments small{display:block;margin-top:2px;color:#8993a4}.drawer-comments article{padding:8px 0;border-bottom:1px solid #f0f1f3;font-size:12px}.drawer-comments p{margin:4px 0 0}.drawer-section textarea{height:70px;margin:9px 0}.drawer-section .btn{min-height:30px;font-size:12px}@media(max-width:620px){.issue-drawer{width:100%}.drawer-fields{grid-template-columns:1fr}}
.issue-drawer-title input{height:38px;font-size:20px;font-weight:500}.issue-drawer-actions .btn{min-width:52px}

/* Excel-derived project execution surfaces retain Jira's dense desktop table layout. */
.project-ledger{margin-top:18px}.section-heading>div:first-child{min-width:0}.ledger-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #dfe1e6;border-left:1px solid #dfe1e6}.ledger-grid>div{min-height:58px;padding:8px 10px;border-right:1px solid #dfe1e6;border-bottom:1px solid #dfe1e6}.ledger-grid span{display:block;margin-bottom:4px;color:#6b778c;font-size:12px}.ledger-grid b{display:block;overflow:hidden;color:#172b4d;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.ledger-risk{margin-top:12px;padding:10px 12px;border-left:3px solid #ffab00;background:#fff7d6;color:#42526e;font-size:13px}.ledger-risk b{display:block;margin-bottom:3px;color:#172b4d}.phase-table-wrap{overflow:auto;border:1px solid #dfe1e6}.phase-table{width:100%;min-width:940px;border-collapse:collapse}.phase-table th,.phase-table td{height:38px;padding:0 9px;border-right:1px solid #dfe1e6;border-bottom:1px solid #dfe1e6;font-size:12px;white-space:nowrap}.phase-table th{background:#f4f5f7;color:#42526e;text-align:left}.phase-table tr:last-child td{border-bottom:0}.phase-table th:last-child,.phase-table td:last-child{border-right:0}.phase-table input,.phase-table select{width:100%;height:28px;min-width:82px;padding:2px 5px;font-size:12px}.phase-editor{max-height:62vh;overflow:auto}.phase-editor .phase-table-wrap{border:0}.issue-bulkbar{display:flex;align-items:center;gap:10px;min-height:40px;padding:5px 10px;border-bottom:1px solid #dfe1e6;background:#fff}.issue-bulkbar label,.issue-bulkbar span{color:#42526e;font-size:12px}.issue-bulkbar span{min-width:76px}.issue-bulkbar .btn{min-height:28px;padding:0 9px;font-size:12px}.issue-select{width:32px}.issue-table td:first-child{width:32px}.issue-columns{max-height:440px}.drawer-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.drawer-section-title h3{margin:0}.management-section .drawer-fields{gap:8px 20px}.drawer-note{margin-top:12px;padding:8px 10px;border-left:2px solid #4c9aff;background:#f4f5f7;color:#42526e;font-size:12px}.drawer-note b{display:block;margin-bottom:3px;color:#172b4d}

/* Issue filtering stays visible above the dense desktop result grid. */
.issue-filter-bar{display:flex;align-items:center;gap:8px;min-height:42px;margin-top:12px;padding:6px 0;border-bottom:1px solid #ebecf0}.issue-filter-bar select{width:142px;height:30px;padding:0 25px 0 8px;background:#fff;font-size:12px}.issue-filter-bar select:first-child{width:190px}.issue-filter-bar .link-button{margin-left:2px;padding:0 5px;white-space:nowrap}.issue-search-main .issue-filter-bar+.issue-list-divider{margin-top:16px}.issue-jql input{min-width:360px}@media(max-width:1060px){.issue-filter-bar{flex-wrap:wrap}.issue-jql input{min-width:220px}}
.issue-workbench .issue-inline-cell{cursor:text}.issue-workbench .issue-inline-cell:hover{outline:1px solid #4c9aff;outline-offset:-1px;background:#fff}.issue-workbench .issue-inline-cell:focus{outline:2px solid #4c9aff;outline-offset:-2px}.inline-editor{box-sizing:border-box;width:100%;min-width:88px;height:28px!important;padding:2px 6px!important;border-color:#4c9aff!important;background:#fff;font-size:12px!important}.issue-inline-cell.is-saving{opacity:.55;pointer-events:none}.inline-help{margin-left:auto!important;min-width:0!important;color:#6b778c!important;white-space:nowrap}.issue-workbench th{white-space:nowrap}.issue-workbench td{white-space:nowrap}.issue-workbench .issue-summary{overflow:hidden}.issue-workbench .issue-summary .link-button{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}
.issue-row-actions{display:inline-flex;gap:5px;margin-left:7px;opacity:0;transition:opacity .12s}.issue-table tr:hover .issue-row-actions,.issue-row-actions:focus-within{opacity:1}.issue-row-actions .link-button{font-size:11px;white-space:nowrap}.issue-saved-views .sub{padding:5px 0;color:#8993a4;font-size:12px}.issue-view-empty{display:block}
.issue-view-bar{display:flex;align-items:center;gap:12px;min-height:38px;padding:5px 0;border-bottom:1px solid #ebecf0}.issue-view-bar label{display:flex;align-items:center;gap:6px;color:#42526e;font-size:12px}.issue-view-bar select{width:138px;height:29px;padding:0 24px 0 7px;font-size:12px}.issue-workbench .issue-group-row td{height:31px;padding:0 12px;background:#ebecf0!important;color:#42526e;font-size:12px;font-weight:600}.issue-workbench.density-comfortable th,.issue-workbench.density-comfortable td{height:45px}.issue-workbench th:first-child,.issue-workbench td:first-child{position:sticky;left:0;z-index:2;background:inherit}.issue-workbench th:nth-child(2),.issue-workbench td:nth-child(2){position:sticky;left:32px;z-index:1;background:inherit}.issue-workbench th:nth-child(2){z-index:3}.issue-workbench tbody tr:hover td:first-child,.issue-workbench tbody tr:hover td:nth-child(2){background:var(--jira-blue-soft)}@media(max-width:1060px){.issue-view-bar{flex-wrap:wrap}}
.issue-workbench.frozen-0 th:first-child,.issue-workbench.frozen-0 td:first-child,.issue-workbench.frozen-0 th:nth-child(2),.issue-workbench.frozen-0 td:nth-child(2),.issue-workbench.frozen-0 th:nth-child(3),.issue-workbench.frozen-0 td:nth-child(3),.issue-workbench.frozen-0 th:nth-child(4),.issue-workbench.frozen-0 td:nth-child(4){position:static}.issue-workbench.frozen-1 th:nth-child(2),.issue-workbench.frozen-1 td:nth-child(2),.issue-workbench.frozen-1 th:nth-child(3),.issue-workbench.frozen-1 td:nth-child(3),.issue-workbench.frozen-1 th:nth-child(4),.issue-workbench.frozen-1 td:nth-child(4){position:static}.issue-workbench.frozen-3 th:nth-child(3),.issue-workbench.frozen-3 td:nth-child(3){position:sticky;left:calc(32px + 140px);z-index:1;background:inherit}.issue-workbench.frozen-4 th:nth-child(3),.issue-workbench.frozen-4 td:nth-child(3),.issue-workbench.frozen-4 th:nth-child(4),.issue-workbench.frozen-4 td:nth-child(4){position:sticky;left:calc(32px + 140px);z-index:1;background:inherit}.column-config-list{display:grid;gap:6px;max-height:52vh;overflow:auto;margin-bottom:14px}.column-config-row{display:grid;grid-template-columns:22px minmax(150px,1fr) 92px 42px 42px;align-items:center;gap:7px;min-height:34px;padding:4px 6px;border:1px solid var(--jira-line);background:#fff}.column-drag{color:var(--jira-muted);cursor:grab}.column-config-row label{font-size:12px}.column-config-row input[type=number]{width:92px;height:28px;font-size:12px}.column-config-row .link-button{padding:0;font-size:11px}
.workbench-board{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:12px;overflow:auto;padding:14px 0}.workbench-board .board-column{min-height:320px}.workbench-timeline{display:grid;gap:1px;padding:14px 0;border-top:1px solid var(--jira-line)}.timeline-row{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(360px,1.3fr);align-items:center;min-height:48px;border-bottom:1px solid var(--jira-line)}.timeline-label{display:grid;gap:2px;min-width:0;padding:7px 12px}.timeline-label .link-button{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.timeline-label small{color:var(--jira-muted);font-size:11px}.timeline-track{height:28px;margin:0 12px;background:repeating-linear-gradient(90deg,#f4f5f7 0,#f4f5f7 calc(14.28% - 1px),#dfe1e6 calc(14.28% - 1px),#dfe1e6 14.28%);position:relative}.timeline-bar{display:flex;align-items:center;width:max(18%,var(--timeline-progress));height:22px;margin-top:3px;padding:0 8px;border-radius:3px;background:#4c9aff;color:#fff;font-size:11px;white-space:nowrap;overflow:hidden}.timeline-bar b{font-weight:400}.timeline-range{padding:0 12px 12px}@media(max-width:1000px){.workbench-board{grid-template-columns:repeat(5,190px)}.timeline-row{grid-template-columns:190px 420px}}
.workbench-feedback{position:fixed;right:24px;bottom:24px;z-index:220;padding:9px 14px;border:1px solid #b3d4ff;border-radius:3px;background:#fff;color:#172b4d;box-shadow:0 5px 16px #091e4230;font-size:13px}.workbench-feedback.success{border-left:3px solid #00875a}.workbench-feedback.error{border-left:3px solid #de350b;color:#bf2600}
@media(min-width:1300px){.issue-drawer{width:min(680px,100vw)}.issue-table{min-width:1240px}}@media(max-width:1050px){.ledger-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.ledger-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Jira visual pass: compact density, quiet chrome, and clear operational hierarchy. */
:root{--jira-blue:#0052cc;--jira-blue-hover:#0747a6;--jira-blue-soft:#deebff;--jira-ink:#172b4d;--jira-text:#42526e;--jira-muted:#6b778c;--jira-line:#dfe1e6;--jira-fill:#f4f5f7;--jira-hover:#ebecf0;--jira-success:#00875a;--jira-warning:#ff8b00;--jira-danger:#de350b}body{background:#f4f5f7;color:var(--jira-ink);font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif}.jira-header{height:50px;border-top:1px solid #f5d56d;border-bottom-color:var(--jira-line);box-shadow:0 1px 2px #091e4214}.jira-brand{min-width:222px;color:var(--jira-text);font-size:24px;letter-spacing:0}.jira-brand .brand-mark{background:#2684ff}.jira-nav-trigger{min-width:0;padding:0 10px;color:var(--jira-ink);font-size:13px}.jira-nav-trigger:hover,.jira-nav-group.open .jira-nav-trigger,.jira-nav-trigger.active{background:var(--jira-hover);color:var(--jira-blue)}.jira-menu{top:49px;min-width:208px;border-color:var(--jira-line);box-shadow:0 6px 14px #091e4230}.jira-menu button{min-height:32px;padding:6px 12px;font-size:13px}.jira-menu button:hover{background:var(--jira-blue-soft);color:var(--jira-blue)}.jira-actions{gap:10px}.jira-create{height:30px;border-radius:3px;background:var(--jira-blue);font-size:13px}.jira-create:hover{background:var(--jira-blue-hover)}.jira-search{width:170px;height:30px;border-color:#7a869a}.jira-search input{font-size:12px}.jira-icon{font-size:12px}.jira-main{background:#fff}.jira-main .content{padding:24px 32px 44px}.page-header{align-items:center;margin-bottom:18px}.title{color:var(--jira-ink);font-size:22px;font-weight:500}.sub{color:var(--jira-muted);font-size:13px}.btn{min-height:32px;border-radius:3px;background:var(--jira-blue);font-size:13px;font-weight:600}.btn:hover{background:var(--jira-blue-hover)}.btn.ghost,.btn.secondary{border-color:var(--jira-line);background:#fff;color:var(--jira-ink)}.btn.ghost:hover,.btn.secondary:hover{background:var(--jira-hover);color:var(--jira-blue)}.link-button{color:var(--jira-blue);font-size:13px}.link-button:hover{color:var(--jira-blue-hover)}.panel{border-color:var(--jira-line);border-radius:3px;box-shadow:none}.jira-main .panel{border-right:1px solid var(--jira-line);border-left:1px solid var(--jira-line);border-radius:3px}.panel-body{padding:16px}.toolbar{min-height:34px;margin-bottom:14px}.search{width:280px}.search input,input,select,textarea{height:32px;border-color:#dfe1e6;border-radius:3px;color:var(--jira-ink);font-size:13px}.search input:focus,input:focus,select:focus,textarea:focus{border-color:#4c9aff;box-shadow:0 0 0 2px #b3d4ff}textarea{padding:8px 10px}.overview{gap:12px}.metric-card{min-height:90px;padding:14px 16px;border-color:var(--jira-line);border-radius:3px;box-shadow:none}.metric-label{color:var(--jira-muted);font-size:12px}.metric{margin-top:7px;color:var(--jira-ink);font-size:24px;font-weight:500}table{font-size:13px}th,td{height:40px;padding:0 11px;border-bottom-color:var(--jira-line)}th{height:36px;background:var(--jira-fill);color:var(--jira-text);font-size:12px;font-weight:600}tbody tr:hover{background:#f1f5ff}.tag{min-height:20px;border-radius:3px;padding:0 6px;font-size:11px;font-weight:500}.tag.blue{background:#deebff;color:#0052cc}.tag.green{background:#e3fcef;color:#006644}.tag.orange{background:#fff0b3;color:#974f0c}.tag.red{background:#ffebe6;color:#bf2600}.progress{height:5px;border-radius:2px;background:#ebecf0}.progress span{background:#4c9aff}.board{gap:12px}.board-column{min-height:330px;padding:10px;border-radius:3px;background:#f4f5f7}.board-title{margin:2px 2px 10px;color:var(--jira-text);font-size:13px}.work-card{padding:11px;border-color:var(--jira-line);border-radius:3px;box-shadow:0 1px 1px #091e4214}.work-card:hover{border-color:#4c9aff}.dialog{width:min(680px,100%);padding:22px;border-radius:3px;box-shadow:0 8px 18px #091e4240}.dialog h2{color:var(--jira-ink);font-size:20px;font-weight:500}.modal{background:#091e427a}.form{gap:12px}.field-label{color:var(--jira-text);font-size:12px}.modal-actions{padding-top:4px}.system-layout{gap:16px}.system-menu{border-color:var(--jira-line);border-radius:3px}.system-menu button{height:34px;color:var(--jira-text);font-size:13px}.system-menu button:hover{background:var(--jira-hover);color:var(--jira-blue)}.system-menu button.active{background:var(--jira-blue-soft);color:var(--jira-blue)}.detail-grid{gap:14px}.description{color:var(--jira-ink);line-height:1.6}.issues-page{background:#fff}.issue-sidebar{padding:18px 14px;border-right-color:var(--jira-line)}.issue-side-title{color:var(--jira-text);font-size:12px}.issue-side-group a{color:var(--jira-text)}.issue-side-group a:hover,.issue-side-group a.active{color:var(--jira-blue)}.issue-search-main{padding:20px}.issue-search-heading h1{font-size:24px}.issue-jql{margin-top:20px}.issue-table th,.issue-table td{height:37px}.issue-table tbody tr:nth-child(odd){background:#f4f5f7}.issue-table tbody tr:hover{background:var(--jira-blue-soft)}.issue-pagination{border-top:1px solid var(--jira-line)}.issue-drawer{width:min(610px,100vw);box-shadow:-8px 0 20px #091e4240}.issue-drawer-head{min-height:52px;padding:0 22px;border-bottom-color:var(--jira-line)}.issue-drawer-body{padding:22px}.issue-drawer-title{font-size:23px;font-weight:500}.drawer-section{border-top-color:var(--jira-line)}.drawer-section h3{font-size:14px}.drawer-fields dt{color:var(--jira-muted)}.rich-editor{border-color:var(--jira-line);border-radius:3px}.rich-toolbar{background:var(--jira-fill);border-bottom-color:var(--jira-line)}.rich-toolbar button:hover{background:var(--jira-blue-soft);color:var(--jira-blue)}.rich-content{font-size:13px}.login-wrap{background:#f4f5f7}.login{border-radius:3px;box-shadow:0 8px 18px #091e4224}.login-brand{color:var(--jira-ink)}@media(max-width:920px){.jira-main .content{padding:18px 16px 34px}.jira-brand{min-width:166px}.jira-search{width:130px}}@media(max-width:640px){.jira-main .content{padding:16px 12px 28px}.title{font-size:19px}.overview{gap:8px}.metric-card{padding:12px}.metric{font-size:21px}}

/* Performance reporting stays table-first for high-density desktop use. */
.performance-toolbar{display:flex;align-items:center;gap:14px;margin:0 0 14px}.performance-toolbar label{display:flex;align-items:center;gap:8px;color:var(--jira-text);font-size:13px}.performance-toolbar input{width:148px}.performance-hint{color:var(--jira-muted);font-size:13px}.segmented{display:inline-flex;border:1px solid var(--jira-line);border-radius:3px;overflow:hidden}.segmented button{height:30px;padding:0 11px;border:0;border-right:1px solid var(--jira-line);background:#fff;color:var(--jira-text);font:13px Arial,"Microsoft YaHei",sans-serif;cursor:pointer}.segmented button:last-child{border-right:0}.segmented button.active,.segmented button:hover{background:var(--jira-blue-soft);color:var(--jira-blue)}.settlement-layout{display:grid;grid-template-columns:minmax(440px,.9fr) minmax(680px,1.4fr);gap:22px;align-items:start}.performance-section-title{margin:0 0 9px;color:var(--jira-ink);font-size:15px;font-weight:600}.selected-row td{background:#deebff}.settlement-summary{padding:14px 0 0;color:var(--jira-text)}.settlement-summary b{color:var(--jira-ink);font-size:18px}.adjustment-title{margin-top:22px}@media(max-width:1180px){.settlement-layout{grid-template-columns:1fr}.performance-toolbar{flex-wrap:wrap}}

.department-tree-name{display:flex;align-items:center;min-height:24px;padding-left:calc(var(--department-depth) * 22px);white-space:nowrap}.department-tree-toggle{display:inline-grid;place-items:center;flex:0 0 auto;width:20px;height:20px;margin-right:3px;padding:0;border:0;border-radius:2px;background:transparent;color:#42526e;font-size:14px;line-height:1;cursor:pointer}.department-tree-toggle:hover{background:#deebff;color:#0052cc}.department-tree-toggle.placeholder{cursor:default}.department-tree-toggle.placeholder:hover{background:transparent;color:#42526e}
.issue-drawer{transition:transform .22s ease}.issue-drawer-parent-pushed{transform:translateX(-50%)}.issue-subdrawer{position:absolute;z-index:4;inset:0;display:flex;justify-content:flex-end}.issue-subdrawer-mask{position:absolute;inset:0;background:#091e4233}.issue-subdrawer-panel{position:relative;z-index:1;width:min(540px,100%);height:100%;overflow:auto;background:#fff;box-shadow:-6px 0 18px #091e4233}.issue-subdrawer-head{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 20px;border-bottom:1px solid #dfe1e6}.issue-subdrawer-head h2{margin:0;color:#172b4d;font-size:14px;font-weight:500;line-height:1.4}.issue-subdrawer-body{height:calc(100% - 112px);overflow:auto;padding:20px}.issue-subdrawer-actions{display:flex;justify-content:flex-end;gap:8px;height:58px;padding:12px 20px;border-top:1px solid #dfe1e6;background:#fff}.issue-subdrawer-actions .btn{min-height:32px}.issue-subdrawer .form{grid-template-columns:1fr 1fr}.issue-subdrawer .form .full{grid-column:1/-1}@media(max-width:620px){.issue-drawer-parent-pushed{transform:translateX(-50%)}.issue-subdrawer-panel{width:100%}.issue-subdrawer .form{grid-template-columns:1fr}.issue-subdrawer .form .full{grid-column:auto}}
.issue-drawer-nav{display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:10px;white-space:nowrap}.issue-drawer-nav span{color:#6b778c;font-size:11px}.issue-drawer-nav .link-button{padding:3px 4px;font-size:11px}.issue-drawer-nav .link-button:disabled{color:#a5adba;cursor:not-allowed}.drawer-mention-picker{position:relative;z-index:5;display:flex;flex-direction:column;max-height:190px;overflow:auto;margin-top:4px;border:1px solid #dfe1e6;border-radius:3px;background:#fff;box-shadow:0 4px 12px #091e4226}.drawer-mention-picker[hidden]{display:none}.drawer-mention-picker button{display:flex;justify-content:space-between;gap:18px;padding:7px 10px;border:0;background:#fff;color:#172b4d;text-align:left;font-size:12px;cursor:pointer}.drawer-mention-picker button:hover{background:#deebff;color:#0052cc}.drawer-mention-picker small{color:#6b778c}.drawer-history-changes{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px;color:#6b778c;font-size:11px}.drawer-history-changes span{padding:2px 5px;border-radius:3px;background:#f4f5f7}
.project-dashboard,.product-dashboard{margin:0 0 16px}.project-dashboard .overview,.product-dashboard .overview{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.project-dashboard-alerts,.product-dashboard-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:34px;padding:8px 2px;color:#6b778c;font-size:12px}.product-dashboard-meta span{padding-right:12px;border-right:1px solid #dfe1e6}.product-dashboard-meta span:last-child{border-right:0}.project-dashboard .metric-card,.product-dashboard .metric-card{min-height:76px}.project-dashboard .metric,.product-dashboard .metric{font-size:21px}.metric.danger{color:#de350b}@media(max-width:760px){.project-dashboard .overview,.product-dashboard .overview{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Top navigation follows the compact Jira interaction model: trigger, floating menu, and clear active state. */
.jira-shell{min-height:100vh;background:#fff}.jira-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;height:54px;padding:0 18px;background:#fff;border-top:1px solid #f0de96;border-bottom:1px solid #dfe1e6;box-shadow:0 1px 2px #091e4214}.jira-brand{display:flex;align-items:center;gap:9px;min-width:218px;padding:0;border:0;background:transparent;color:#42526e;font:500 25px/1 Arial,"Microsoft YaHei",sans-serif;cursor:pointer;white-space:nowrap}.jira-brand .brand-mark{width:18px;height:18px;border-radius:1px;background:#2684ff;transform:rotate(45deg);font-size:0}.jira-brand .brand-mark:after{display:block;width:7px;height:7px;margin:5.5px;background:#fff;content:""}.jira-nav{display:flex;align-self:stretch}.jira-nav-group{position:relative;display:flex;align-items:stretch}.jira-nav-trigger{display:flex;align-items:center;gap:5px;padding:0 11px;border:0;background:#fff;color:#172b4d;font:13px/1 Arial,"Microsoft YaHei",sans-serif;cursor:pointer;white-space:nowrap}.jira-nav-trigger:hover,.jira-nav-group.open .jira-nav-trigger,.jira-nav-trigger.active{background:#ebecf0;color:#0052cc}.nav-caret{display:inline-block;font-size:13px;line-height:1;transform:translateY(-1px)}.jira-nav-group.open .nav-caret{transform:translateY(-1px) rotate(180deg)}.jira-menu{position:absolute;top:53px;left:0;display:none;min-width:210px;padding:5px 0;background:#fff;border:1px solid #dfe1e6;border-radius:2px;box-shadow:0 5px 14px #091e4233}.jira-nav-group.open .jira-menu{display:block}.jira-menu button{display:block;width:100%;min-height:33px;padding:6px 13px;border:0;background:#fff;color:#172b4d;font:13px/20px Arial,"Microsoft YaHei",sans-serif;text-align:left;cursor:pointer;white-space:nowrap}.jira-menu button:hover{background:#deebff;color:#0052cc}.jira-menu-separator{height:1px;margin:5px 0;background:#dfe1e6}.jira-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.jira-create{height:32px;padding:0 14px;border:0;border-radius:3px;background:#0052cc;color:#fff;font:600 13px/1 Arial,"Microsoft YaHei",sans-serif;cursor:pointer}.jira-create:hover{background:#0747a6}.jira-search{display:flex;align-items:center;gap:6px;width:172px;height:31px;padding:0 8px;border:1px solid #7a869a;border-radius:3px;color:#172b4d}.jira-search input{height:29px;padding:0;border:0;box-shadow:none;font-size:13px}.jira-search input:focus{box-shadow:none}.jira-icon{height:31px;padding:0;border:0;background:transparent;color:#42526e;font:13px/1 Arial,"Microsoft YaHei",sans-serif;cursor:pointer;white-space:nowrap}.jira-icon:hover{color:#0052cc}.jira-main{min-height:calc(100vh - 54px);background:#fff}.jira-main .content{max-width:none;margin:0;padding:24px 32px 42px}.jira-main .panel{border-right:0;border-left:0;border-radius:0}.jira-main table th{background:#f4f5f7;color:#42526e}.jira-main .link-button{color:#0052cc}@media(max-width:1000px){.jira-brand{min-width:172px;font-size:20px}.jira-nav-trigger{padding:0 8px}.jira-search{width:130px}}@media(max-width:760px){.jira-header{padding:0 10px;overflow-x:auto}.jira-brand{min-width:145px;font-size:18px}.jira-actions{gap:5px}.jira-search,.jira-icon{display:none}.jira-nav-trigger{padding:0 7px;font-size:12px}.jira-nav-group:nth-child(n+5){display:none}.jira-main .content{padding:18px 12px}}
.issue-group-block{margin:0 0 12px;border:1px solid var(--line);background:#fff}.issue-group-heading{display:flex;align-items:center;gap:6px;width:100%;min-height:36px;padding:0 12px;background:#f4f5f7;border:0;border-bottom:1px solid var(--line);color:#42526e;font-size:12px;font-weight:600;font-family:inherit;text-align:left;cursor:pointer}.issue-group-heading:hover{background:#ebecf0}.issue-group-heading:focus-visible{outline:2px solid #0052cc;outline-offset:-2px}.issue-group-caret{width:0;height:0;border-left:5px solid #6b778c;border-top:4px solid transparent;border-bottom:4px solid transparent;transform:rotate(90deg);transition:transform .12s ease}.issue-group-block.collapsed .issue-group-caret{transform:rotate(0)}.issue-group-count{margin-left:auto;color:#6b778c;font-weight:400}.issue-group-body[hidden]{display:none}.issue-group-block .table-panel{border:0;border-radius:0}.issue-group-block .table-panel table{margin:0}.issue-group-block:last-child{margin-bottom:0}.issue-timeline .issue-group-block,.gantt-panel .issue-group-block{border:0;margin:0}
.table-panel{overflow-x:auto}.table-panel table{min-width:max-content}
.issue-grid{max-height:calc(100vh - 270px);overflow:auto}
.product-item-grid{max-height:calc(100vh - 300px);overflow:auto}
.issue-grid thead th{position:sticky;top:0;z-index:4}
.issue-grid th[data-frozen="true"],.issue-grid td[data-frozen="true"]{position:sticky;left:0;z-index:5;background:#fff;box-shadow:1px 0 0 #dfe1e6}.issue-grid th[data-frozen="true"]{z-index:8;background:#f4f5f7}.issue-grid th[data-frozen-right="true"],.issue-grid td[data-frozen-right="true"]{position:sticky;right:0;z-index:6;background:#fff;box-shadow:-1px 0 0 #dfe1e6}.issue-grid th[data-frozen-right="true"]{z-index:9;background:#f4f5f7}.issue-grid tbody tr:hover td[data-frozen="true"],.issue-grid tbody tr:hover td[data-frozen-right="true"]{background:var(--jira-blue-soft)}
.product-item-grid thead th{position:sticky;top:0;z-index:4}
.issue-grid th[data-frozen="true"],.issue-grid td[data-frozen="true"]{background:#fff}
.product-item-grid th[data-frozen="true"],.product-item-grid td[data-frozen="true"]{background:#fff}
.issue-grid thead th[data-frozen="true"]{z-index:6}
.product-item-grid thead th[data-frozen="true"]{z-index:6}
.issue-grid tbody tr:hover td[data-frozen="true"]{background:var(--jira-blue-soft)}
.product-item-grid tbody tr:hover td[data-frozen="true"]{background:var(--jira-blue-soft)}
.list-toolbar{flex-wrap:wrap}
.list-toolbar .list-count{white-space:nowrap}
.list-toolbar input[type="checkbox"]{width:15px;height:15px;vertical-align:middle}
.gantt-panel{overflow:auto;min-width:900px}
.gantt-head,.gantt-row{display:grid;grid-template-columns:300px minmax(600px,1fr);min-height:42px;border-bottom:1px solid var(--jira-line)}
.gantt-head{position:sticky;top:0;z-index:3;background:var(--jira-fill);align-items:center;padding:0 12px;color:var(--jira-text);font-size:12px}
.gantt-label{display:flex;align-items:center;gap:6px;padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gantt-label small{color:var(--jira-muted);margin-left:auto}
.gantt-track,.gantt-axis{position:relative;min-height:42px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(14.285% - 1px),#ebecf0 calc(14.285% - 1px),#ebecf0 14.285%)}
.gantt-axis span,.gantt-ticks span{position:absolute;top:5px;transform:translateX(-50%);color:var(--jira-muted);font-size:11px;white-space:nowrap}
.gantt-ticks{position:absolute;inset:0;pointer-events:none}
.gantt-bar{position:absolute;top:17px;height:16px;min-width:24px;padding:0 7px;border:0;border-radius:3px;background:#4c9aff;color:#fff;font-size:10px;line-height:16px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.gantt-bar:hover{background:#0052cc}.gantt-bar.complete{background:#36b37e}
.list-toolbar{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:8px 10px;background:#fff;border:1px solid var(--line);border-radius:4px}.list-search{width:280px}.list-toolbar select{width:130px}.list-count,.selection-count{color:var(--muted);font-size:12px;white-space:nowrap}.selection-count{min-width:48px}.list-spacer{flex:1}
.list-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px;color:var(--muted);font-size:12px}.list-pager .btn{min-height:28px;padding:0 10px;font-size:12px}
.project-metrics { display:grid; grid-template-columns:repeat(8,minmax(80px,1fr)); gap:12px; padding:16px; }
.project-metrics div { border-right:1px solid var(--line); padding-right:10px; }
.project-metrics div:last-child { border-right:0; }
.project-metrics b { display:block; font-size:18px; line-height:1.3; color:var(--text); }
.project-metrics span { display:block; margin-top:4px; color:var(--muted); font-size:12px; white-space:nowrap; }
@media (max-width: 1100px) { .project-metrics { grid-template-columns:repeat(4,minmax(100px,1fr)); } .project-metrics div:nth-child(4n) { border-right:0; } }
.batch-progress-toast { position:fixed; right:24px; bottom:24px; z-index:1000; display:flex; align-items:center; gap:14px; padding:12px 16px; background:#fff; border:1px solid var(--line); box-shadow:0 8px 24px rgba(15,23,42,.14); border-radius:8px; font-size:13px; }
.batch-progress-toast b { color:var(--text); }
.batch-progress-text { color:var(--muted); min-width:110px; }
.batch-result-summary{margin:0 0 12px;color:var(--jira-text,#42526e);font-size:13px;line-height:1.5}
.batch-result-actions{display:flex;justify-content:flex-end;margin:0 0 10px}.batch-result-retry-hint{margin:0 0 10px;padding:8px 10px;background:#f7f8fa;color:var(--jira-text,#42526e);font-size:12px;line-height:1.45}
.notice-stack{position:fixed;right:20px;bottom:20px;z-index:1100;display:flex;flex-direction:column;align-items:stretch;gap:8px;width:min(420px,calc(100vw - 32px));pointer-events:none}.app-notice{display:flex;align-items:flex-start;gap:10px;padding:10px 10px 10px 12px;border:1px solid var(--jira-line,#dfe1e6);border-left:3px solid #2684ff;background:#fff;color:var(--jira-ink,#172b4d);box-shadow:0 6px 16px rgba(9,30,66,.2);font-size:13px;line-height:1.45;pointer-events:auto;animation:notice-in .16s ease-out}.app-notice.success{border-left-color:var(--jira-success,#00875a)}.app-notice.warning{border-left-color:var(--jira-warning,#ff8b00)}.app-notice.danger{border-left-color:var(--jira-danger,#de350b)}.app-notice-content{min-width:0;flex:1;max-height:88px;overflow:auto;white-space:pre-wrap;word-break:break-word}.app-notice-close{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;margin:-3px -3px -3px 0;padding:0;border:0;border-radius:3px;background:transparent;color:var(--jira-text,#42526e);font-size:19px;line-height:1;cursor:pointer}.app-notice-close:hover{background:var(--jira-hover,#ebecf0);color:var(--jira-ink,#172b4d)}.app-notice.leaving{opacity:0;transform:translateY(4px);transition:opacity .16s ease,transform .16s ease}@keyframes notice-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.confirm-action-modal{z-index:1200}.confirm-action-modal .dialog{width:min(440px,calc(100vw - 32px));max-width:440px}.confirm-action-message{margin:0;white-space:pre-wrap;word-break:break-word;color:var(--jira-text,#42526e);font-size:14px;line-height:1.55}.confirm-impact-summary{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 8px}.confirm-impact-summary span{padding:4px 8px;border:1px solid #dfe1e6;background:#f4f5f7;color:#42526e;font-size:12px}.confirm-impact-summary b{color:#172b4d}.confirm-action-modal.danger .modal-head{border-top:3px solid var(--jira-danger,#de350b)}.confirm-action-modal.danger .confirm-action-submit{background:var(--jira-danger,#de350b);border-color:var(--jira-danger,#de350b)}.confirm-action-modal.danger .confirm-action-submit:hover{background:#bf2600;border-color:#bf2600}
.prompt-action-modal{z-index:1200}.prompt-action-modal .dialog{width:min(480px,calc(100vw - 32px));max-width:480px}.prompt-action-label{display:block;margin:0 0 7px;color:var(--jira-text,#42526e);font-size:13px;font-weight:600}.prompt-action-label span{color:var(--jira-danger,#de350b)}.prompt-action-input{width:100%;min-height:32px}.prompt-action-modal textarea.prompt-action-input{min-height:120px;resize:vertical}.prompt-action-error{margin:7px 0 0;color:var(--jira-danger,#de350b);font-size:12px}
.issue-grid tbody tr[draggable="true"] { cursor:default; }
.hierarchy-impact{grid-template-columns:minmax(0,1fr);gap:0}.hierarchy-impact div{display:flex;justify-content:space-between;gap:14px;padding:6px 0;border-bottom:1px solid #ebecf0;font-size:13px}.hierarchy-impact b{flex:0 0 auto;color:var(--jira-muted,#6b778c);font-weight:500}.hierarchy-impact span{text-align:right;color:var(--jira-ink,#172b4d);word-break:break-word}.hierarchy-impact-samples{margin:6px 0 0;padding-left:18px;color:var(--jira-text,#42526e);font-size:12px;line-height:1.6}
.issue-grid tbody tr[draggable="true"]:active { cursor:default; }
.capacity-saturation{padding:0;border:0;background:transparent;line-height:1}.capacity-worklog-summary{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 10px;color:var(--jira-text,#42526e);font-size:12px}.capacity-worklog-summary b{color:var(--jira-ink,#172b4d);font-size:13px}.metric-card .link-button{margin-top:6px;padding:0;font-size:12px}
.issue-grid tbody tr.drag-target { outline:2px solid #93c5fd; outline-offset:-2px; }
.advanced-filter{display:inline-block;position:relative}.advanced-filter summary{cursor:pointer;color:#42526e;font-size:12px;padding:7px 9px;border:1px solid #dfe1e6;border-radius:3px;background:#fff;list-style:none}.advanced-filter summary::-webkit-details-marker{display:none}.advanced-filter[open] .advanced-filter-grid{position:absolute;z-index:20;right:0;top:34px;display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px;padding:12px;background:#fff;border:1px solid #dfe1e6;box-shadow:0 8px 24px rgba(9,30,66,.18);min-width:520px}.advanced-filter-grid .field-label{min-width:0}.issue-swimlane{margin-bottom:14px}.issue-swimlane-heading{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f7f8fa;border:1px solid #dfe1e6;border-bottom:0;font-size:12px}.issue-board-column.drag-target{outline:2px solid #0c66e4;outline-offset:-2px;background:#e9f2ff}.issue-board-column.wip-full .issue-board-heading{color:#de350b;background:#ffebe6}.issue-card.dragging{opacity:.45}.issue-card-actions{display:flex;gap:8px;margin-top:8px;padding-top:6px;border-top:1px solid #ebecf0}.issue-card-actions .link-button{font-size:11px}
.import-mapping{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #ebecf0}.import-mapping h4,.import-mapping #apply-import-mapping{grid-column:1/-1}.import-mapping .field-label{min-width:0}
.modal.import-excel-modal{width:min(1100px,calc(100vw - 32px));max-width:none}
table tbody tr[data-product-work-item-id] { cursor:grab; }
table tbody tr[data-product-work-item-id]:active { cursor:grabbing; }
.mention-composer{position:relative;margin:10px 0}.mention-composer textarea{width:100%;min-height:76px;resize:vertical}.mention-suggestions{position:absolute;z-index:20;left:0;right:0;bottom:calc(100% + 4px);max-height:240px;overflow:auto;background:#fff;border:1px solid #dfe1e6;border-radius:4px;box-shadow:0 4px 14px rgba(9,30,66,.18);padding:4px}.mention-option{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;padding:8px 10px;text-align:left;cursor:pointer}.mention-option:hover,.mention-option:focus{background:#f4f5f7;outline:0}.mention-option span{color:#6b778c;font-size:12px}
.view-switcher{display:inline-flex;gap:2px;margin-right:6px}.view-switcher .btn.active{background:#e9f2ff;color:#0c66e4;border-color:#0c66e4}.issue-board{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:10px;overflow:auto;padding-bottom:8px}.issue-board-column{background:#f7f8fa;border:1px solid #dfe1e6;border-radius:4px;min-height:260px}.issue-board-heading{display:flex;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #dfe1e6;font-size:12px}.issue-board-cards{padding:8px}.issue-card{position:relative;background:#fff;border:1px solid #dfe1e6;border-radius:4px;padding:10px 10px 8px;margin-bottom:8px;box-shadow:0 1px 2px rgba(9,30,66,.08)}.issue-card-select{position:absolute;right:8px;top:8px}.issue-card-title{display:block;max-width:calc(100% - 20px);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.issue-card-meta,.issue-card-footer{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:8px;font-size:11px;color:#6b778c}.issue-timeline{overflow:auto}.issue-timeline-head,.issue-timeline-row{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) 120px 160px;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid #ebecf0;font-size:12px}.issue-timeline-head{font-weight:600;background:#f7f8fa;position:sticky;top:0}.issue-timeline-row small{margin-left:6px;color:#6b778c}.issue-timeline-row:hover{background:#f7f8fa}@media(max-width:1200px){.issue-board{grid-template-columns:repeat(7,220px)}}
.table-panel td:last-child,.table-panel th:last-child{white-space:nowrap}.table-panel tbody tr:has(input[type="checkbox"]:checked){background:#e9f2ff}
.retrospective-checklist{grid-column:1/-1;margin:4px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:3px}.retrospective-checklist legend{padding:0 4px;color:var(--jira-text);font-size:12px;font-weight:600}.retrospective-checklist .checkbox-field{display:inline-flex;margin:4px 18px 4px 0}
.closure-check-summary{margin-top:10px}.closure-check-summary>strong{display:block;margin-bottom:7px;font-size:12px;color:var(--jira-text)}.closure-check-summary table{font-size:12px}.closure-check-status{font-weight:600}.closure-check-status.is-pass{color:#216e4e}.closure-check-status.is-fail{color:#c9372c}
.issue-grid td.cell-selected{background:#e9f2ff;box-shadow:inset 0 0 0 2px #0c66e4}
.issue-grid td.fill-preview{background:#dff1ff;box-shadow:inset 0 0 0 1px var(--jira-blue,#0c66e4)}
.fill-handle{position:fixed;width:9px;height:9px;margin:-4px 0 0 -4px;border:1px solid #fff;background:var(--jira-blue,#0c66e4);cursor:crosshair;z-index:60}
.fill-handle:hover{background:#0747a6}
body.is-filling-cell,body.is-filling-cell *{cursor:crosshair!important;user-select:none!important}

.issue-search-panel{margin:0 0 12px}
.issue-search-panel.is-archived{padding:0 0 10px;border-bottom:1px solid var(--jira-line,#dfe1e6)}
.issue-search-panel.is-archived .issue-search-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-left{flex:0 1 auto;width:100%;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:0 0 3px}
.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-left>.field-label:has([name="projectId"]){flex:0 0 112px;width:112px;min-width:0}
.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-left>.field-label:has([name="type"]){flex:0 0 86px;width:86px;min-width:0}
.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-left>.field-label:has([name="status"]){flex:0 0 110px;width:110px;min-width:0}
.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-left>.field-label:has([name="assigneeId"]){flex:0 0 132px;width:132px;min-width:0}
.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-left>.search-field{flex:0 1 170px;width:170px;min-width:145px;max-width:200px}
.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-left>.issue-more-filters{flex:0 0 auto;margin:0}
.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-left>#apply-filter,
.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-left>#advanced-filter,
.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-left>#save-view{flex:0 0 auto;min-width:0}
.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-right{flex:0 1 auto;width:100%;justify-content:flex-start;margin-top:2px;padding-top:8px;border-top:1px solid #f0f1f3}
@media(max-width:1100px){.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-left{flex-wrap:wrap;overflow:visible}.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-left>.field-label:has([name="projectId"]),.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-left>.field-label:has([name="type"]),.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-left>.field-label:has([name="status"]),.issue-search-panel.is-archived .issue-search-toolbar>.toolbar-left>.field-label:has([name="assigneeId"]){flex:0 1 140px;width:auto}}
.issue-search-panel.is-archived .issue-search-toolbar :is(input:not([type="checkbox"]):not([type="radio"]),select,button,.btn,.link-button,summary,.field-label,label){font-size:13px!important}
.issue-filter-extra-storage{display:none!important}
.issue-extra-filter-modal-wrap .dialog{width:min(1000px,calc(100vw - 40px));max-height:calc(100vh - 40px)}
.issue-extra-filter-modal-wrap .modal-body{padding:18px 20px}
.issue-extra-filter-modal .issue-extra-filter-slot{display:grid;gap:16px}
.issue-extra-filter-modal .sort-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:8px;width:100%;padding-bottom:14px;border-bottom:1px solid var(--jira-line,#dfe1e6)}
.issue-extra-filter-modal .sort-group .sort-label{grid-column:1/-1}
.issue-extra-filter-modal .sort-group .field-label,.issue-extra-filter-modal .sort-group .field-label:nth-of-type(even){width:auto!important;min-width:0!important}
.issue-extra-filter-modal .advanced-filter{display:block;position:static}
.issue-extra-filter-modal .advanced-filter-grid,.issue-extra-filter-modal .advanced-filter[open] .advanced-filter-grid{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0;max-width:none;padding:0;border:0;box-shadow:none;background:transparent}
.issue-extra-filter-modal .advanced-filter-grid .field-label{min-width:0;margin:0}
.issue-extra-filter-modal .advanced-filter-grid input,.issue-extra-filter-modal .advanced-filter-grid select{width:100%;max-width:100%}
.issue-extra-filter-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--jira-line,#dfe1e6)}
@media(max-width:700px){.issue-extra-filter-modal-wrap .dialog{width:calc(100vw - 24px)}.issue-extra-filter-modal .sort-group,.issue-extra-filter-modal .advanced-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Search controls use the same 13px text size as list rows across the app. */
:is(.list-toolbar,.toolbar,.performance-toolbar,.report-filters,.filter-toolbar,.issue-search-panel) :is(input:not([type="checkbox"]):not([type="radio"]),select,button,.btn,.link-button,summary,.field-label,label){font-size:13px!important}

/* Dense list controls: checkboxes must remain native-sized instead of inheriting form input dimensions. */
input[type="checkbox"],input[type="radio"]{width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important;margin:0; padding:0; vertical-align:middle; box-shadow:none!important; accent-color:var(--jira-blue,#0052cc)}
.table-selection-header>input[type="checkbox"]{margin-right:6px;vertical-align:-3px}
label:has(> input[type="checkbox"]),label:has(> input[type="radio"]){display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.table-panel table{table-layout:auto;min-width:100%}
.issue-grid>table{width:max-content;min-width:100%;table-layout:fixed}
.issue-grid th,.issue-grid td{box-sizing:border-box}
.product-item-grid>table{width:max-content;min-width:100%;table-layout:fixed}
.product-item-grid th,.product-item-grid td{box-sizing:border-box}
.table-panel th,.table-panel td{vertical-align:middle;overflow:hidden;text-overflow:ellipsis}
.table-panel td:first-child{overflow:visible;text-overflow:clip}
.table-panel td .sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.table-panel td:has(.sub){height:52px;line-height:20px;white-space:normal}
.table-panel td:has(.sub)>.link-button{line-height:20px}
.table-panel td .sub{display:none}
.table-panel td:has(.sub){height:40px;line-height:normal;white-space:nowrap}
.table-panel td .link-button{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.table-panel td .link-button,.table-panel td .overflow-ellipsis{white-space:nowrap}
.table-panel td .project-link,.table-panel td .product-link,.table-panel td .item-link,.table-panel td .product-item-link{max-width:min(34vw,360px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
.list-toolbar{min-height:48px;align-items:center}
.project-item-more-actions{position:relative;margin-left:auto}.project-item-more-actions summary{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;background:#fff;color:var(--jira-text,#42526e);font-size:12px;cursor:pointer;list-style:none;white-space:nowrap}.project-item-more-actions summary::-webkit-details-marker{display:none}.project-item-more-actions summary:after{content:'⌄';margin-left:6px;font-size:12px}.project-item-more-actions[open] summary:after{transform:rotate(180deg)}.project-item-more-actions-menu{position:absolute;z-index:20;right:0;top:36px;display:grid;min-width:150px;gap:2px;padding:6px;background:#fff;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;box-shadow:0 8px 20px rgba(9,30,66,.18)}.project-item-more-actions-menu .btn{justify-content:flex-start;width:100%;min-height:30px;padding:0 9px;border:0;background:#fff;color:var(--jira-text,#42526e);font-size:12px;white-space:nowrap}.project-item-more-actions-menu .btn:hover{background:var(--jira-hover,#ebecf0);color:var(--jira-blue,#0052cc)}.project-item-more-actions-menu .btn:disabled{color:#a5adba;background:#fff}.project-item-more-actions-menu label{display:flex;align-items:center;gap:5px;padding:5px 8px;font-size:12px;color:var(--jira-text,#42526e)}
.list-toolbar>label{display:inline-flex;align-items:center;gap:6px;min-height:28px;color:var(--jira-text,#42526e);font-size:12px}
.selection-count{display:inline-flex;align-items:center;min-height:28px}
/* Work item editor refinements. */
.work-item-description-editor{grid-column:1/-1}.rich-label.full{grid-column:1/-1}.work-item-description-editor .rich-toolbar{min-height:38px;padding:4px 7px}.work-item-description-editor .rich-toolbar button{min-width:32px;height:29px}.work-item-description-editor .rich-content{min-height:180px}.detail-management>h3{display:none}
.task-week-preview{display:block;margin-top:5px;color:var(--jira-muted,#6b778c);font-size:12px;font-weight:400}
.snapshot-json{max-height:360px;margin:0;padding:12px;overflow:auto;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;background:var(--jira-fill,#f4f5f7);color:var(--jira-text,#42526e);font:12px/1.55 Consolas,"Microsoft YaHei",monospace;white-space:pre-wrap;word-break:break-word}.detail-preformatted{display:block;max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-word}
.sort-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}.sort-group .sort-label{color:var(--jira-text,#42526e);font-size:12px;font-weight:600;white-space:nowrap}.sort-group .field-label{min-width:0!important;width:112px!important}.sort-group .field-label select{min-width:0!important}.sort-group .field-label:nth-of-type(even){width:72px!important}@media(max-width:1100px){.sort-group{flex-basis:100%}}@media(max-width:640px){.sort-group .field-label{width:calc(50% - 3px)!important}.sort-group .field-label:nth-of-type(even){width:calc(50% - 3px)!important}}
.advanced-filter-editor{display:grid;gap:12px}.advanced-condition-group{display:grid;gap:8px;padding:10px;border:1px solid #dfe1e6;border-radius:3px;background:#fafbfc}.advanced-condition-group:not(.advanced-condition-root){margin-left:16px;background:#fff}.advanced-group-heading{display:flex;align-items:center;gap:10px;color:var(--jira-text);font-size:13px;font-weight:600}.advanced-group-heading select{width:auto;min-width:170px}.advanced-group-conditions{display:grid;gap:8px}.advanced-condition-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,1fr) minmax(160px,1.4fr) auto;align-items:center;gap:8px}.advanced-condition-row .advanced-condition-remove,.advanced-group-remove{white-space:nowrap}.advanced-group-actions{display:flex;gap:8px}.advanced-condition-add,.advanced-group-add{justify-self:start}.advanced-filter-editor>.sub{margin:0;font-size:12px}@media(max-width:620px){.advanced-condition-row{grid-template-columns:1fr 1fr}.advanced-condition-row .advanced-condition-value{grid-column:1/-1}.advanced-condition-row .advanced-condition-remove{justify-self:start}.advanced-group-heading{align-items:flex-start;flex-wrap:wrap}.advanced-condition-group:not(.advanced-condition-root){margin-left:6px}}
.issue-filter-savebar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 12px;padding:12px 14px;background:#fff;border:1px solid var(--jira-line,#dfe1e6);border-left:3px solid var(--jira-blue,#0052cc);border-radius:3px;box-shadow:0 1px 2px #091e4214}.issue-filter-savebar-main{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;min-width:0}.issue-filter-savebar-main strong{align-self:center;color:var(--jira-ink,#172b4d);font-size:14px;white-space:nowrap}.issue-filter-savebar-main label{display:flex;flex-direction:column;gap:4px;color:var(--jira-text,#42526e);font-size:11px;font-weight:600}.issue-filter-savebar-main label input,.issue-filter-savebar-main label select{width:190px}.issue-filter-save-summary{align-self:center;color:var(--jira-muted,#6b778c);font-size:12px;white-space:nowrap}.issue-filter-savebar-actions{display:flex;gap:8px;flex:0 0 auto}@media(max-width:900px){.issue-filter-savebar{align-items:stretch;flex-direction:column}.issue-filter-savebar-actions{justify-content:flex-end}.issue-filter-savebar-main label{flex:1 1 180px}.issue-filter-savebar-main label input,.issue-filter-savebar-main label select{width:100%}.issue-filter-save-summary{white-space:normal}}
.issues-filter-sidebar .issue-sidebar-condition-title{margin-top:18px}.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left{display:grid;align-items:stretch;gap:8px;min-width:0}.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>.field-label,.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>.search-field{width:100%;min-width:0;max-width:none}.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>.field-label select,.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>.search-field input{width:100%;min-width:0}.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>.sort-group{display:grid;grid-template-columns:1fr 1fr;gap:6px}.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>.sort-group .sort-label{grid-column:1/-1}.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>.sort-group .field-label,.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>.sort-group .field-label:nth-of-type(even){width:auto!important}.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>button{width:100%;justify-content:flex-start}.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>.advanced-filter{width:100%;margin-top:2px}.issues-workspace>.toolbar{justify-content:flex-start}.issues-workspace>.toolbar>.toolbar-right{width:100%;justify-content:flex-start}@media(max-width:900px){.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left{grid-template-columns:repeat(2,minmax(0,1fr))}.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>.search-field,.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>.sort-group,.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>.advanced-filter,.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>button{grid-column:1/-1}.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>.field-label{width:auto}.issues-filter-sidebar .issue-sidebar-filter-slot>.toolbar-left>.field-label select{min-width:0}.issues-workspace>.toolbar>.toolbar-right{flex-wrap:wrap}}
.modal-open{overflow:hidden}
.rich-previewable-image{cursor:zoom-in}
.rich-image-preview-modal .dialog{width:min(94vw,1600px)!important;max-width:none!important;height:min(92vh,1100px);max-height:92vh}
.rich-image-preview-modal .modal-body{display:flex;flex-direction:column;min-height:0;padding:10px;overflow:hidden;text-align:center;background:#f4f5f7}
.rich-image-preview-toolbar{display:flex;justify-content:center;gap:8px;flex:0 0 auto;padding:0 0 10px}
.rich-image-preview-toolbar .btn{min-width:74px;min-height:30px;padding:0 10px;font-size:12px}
.rich-image-preview{display:grid;place-items:center;min-height:0;flex:1;overflow:auto;cursor:grab}
.rich-image-preview:active{cursor:grabbing}
.rich-image-preview img{display:block;max-width:none;max-height:none;width:auto;height:auto;object-fit:contain;transform-origin:center center;transition:transform .12s ease}
.tag.upgraded{background:#eae6ff;color:#5243aa}
.audit-snapshot-summary{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px;color:var(--jira-text,#42526e);font-size:12px}.audit-value{max-width:280px;max-height:150px;margin:0;overflow:auto;white-space:pre-wrap;word-break:break-word;font:12px/1.5 Consolas,"Microsoft YaHei",monospace;color:var(--jira-text,#172b4d)}.audit-change-row td{background:#fff8e1}.audit-change-mark{color:#c25100;font-weight:600}

/* Batch schedule creation grid: compact multi-row entry reused by the schedule page. */
.batch-schedule-rows{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.batch-schedule-row{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}
.batch-schedule-row .batch-schedule-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.batch-schedule-row .batch-schedule-item .batch-schedule-remove{min-height:34px;padding:0 12px}
.batch-schedule-row .batch-schedule-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.batch-schedule-row .batch-schedule-meta label{display:block;min-width:0;font-size:12px;font-weight:600;color:#475467}
.batch-schedule-row .batch-schedule-meta select,.batch-schedule-row .batch-schedule-meta input{margin-top:6px}
#batch-schedule-add{width:100%;margin-top:2px}
@media (max-width:760px){.batch-schedule-row .batch-schedule-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Conflict drill-down keeps the long explanation readable instead of truncating it. */
.conflict-toolbar{flex-wrap:wrap;justify-content:flex-start;gap:8px}
.conflict-toolbar #conflict-type{width:210px}
.conflict-toolbar #conflict-period{width:150px}
.conflict-toolbar .list-count{margin-right:auto}
.conflict-detail-cell{max-width:420px;white-space:normal;line-height:1.45}
.column-settings-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}

/* Batch failure retry dialog: choose which failed rows to run again. */
.batch-failure-select-all{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--jira-text,#42526e);font-size:13px}
.batch-failure-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.batch-failure-actions .btn{min-width:88px}

/* Attachment upload queue: per-file progress, retry and background indicator. */
.upload-indicator{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:3px;background:#deebff;color:#0052cc;font-size:12px;white-space:nowrap;cursor:default}
.upload-indicator[hidden]{display:none}
.upload-indicator b{display:inline-grid;place-items:center;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:#0052cc;color:#fff;font-size:10px;font-weight:600}
.attach-queue{display:grid;gap:6px;margin-top:10px}
.attach-queue:empty{margin-top:0}
.attach-queue-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--jira-muted,#6b778c);font-size:12px}
.attach-queue-summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attach-queue-tools{display:flex;flex:0 0 auto;gap:10px;white-space:nowrap}
.attach-item{display:grid;gap:4px;padding:8px 10px;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;background:#fff}
.attach-item.active{border-color:#4c9aff;background:#f7faff}
.attach-item.done{border-color:#abf5d1;background:#f3fdf8}
.attach-item.failed{border-color:#ffbdad;background:#fff8f6}
.attach-item-main{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.attach-item-name{min-width:0;overflow:hidden;color:var(--jira-ink,#172b4d);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.attach-item-size{flex:0 0 auto;color:#8993a4;font-size:11px}
.attach-item-progress{width:100%;height:4px;border:0;border-radius:2px;background:#ebecf0;-webkit-appearance:none;appearance:none}
.attach-item-progress::-webkit-progress-bar{border-radius:2px;background:#ebecf0}
.attach-item-progress::-webkit-progress-value{border-radius:2px;background:#4c9aff}
.attach-item-progress::-moz-progress-bar{border-radius:2px;background:#4c9aff}
.attach-item.done .attach-item-progress::-webkit-progress-value{background:#36b37e}
.attach-item.done .attach-item-progress::-moz-progress-bar{background:#36b37e}
.attach-item.failed .attach-item-progress::-webkit-progress-value{background:#de350b}
.attach-item.failed .attach-item-progress::-moz-progress-bar{background:#de350b}
.attach-item-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--jira-muted,#6b778c);font-size:11px}
.attach-item-detail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attach-item-actions{display:flex;flex:0 0 auto;gap:9px;white-space:nowrap}
.attach-item-actions .link-button{font-size:11px}

/* Async state for tables, drawers and filters: list loading is an overlay so
   it never shifts the page; failures remain inline and retryable. */
.content.is-busy{position:relative}
.content.is-busy>.region-busy-bar{position:absolute;z-index:12;top:0;left:0;right:0;height:2px;min-height:0;overflow:hidden;padding:0;border:0;background:#deebff;color:transparent;font-size:0;pointer-events:none}
.content.is-busy>.region-busy-bar:before{display:none}
.content.is-busy>.region-busy-bar:after{position:absolute;top:0;bottom:0;left:-25%;width:25%;background:#0052cc;content:"";animation:region-progress 1.1s ease-in-out infinite}
@keyframes region-progress{to{left:100%}}
.region-busy-bar:before{width:12px;height:12px;border:2px solid #b3bac5;border-top-color:#0052cc;border-radius:50%;content:"";animation:region-spin .7s linear infinite}
@keyframes region-spin{to{transform:rotate(360deg)}}
.region-error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;border-left:3px solid var(--jira-danger,#de350b)}
.region-error-text{min-width:0;word-break:break-word}
.region-error-retry{flex:0 0 auto}
.page-loading{display:flex;align-items:center;gap:9px;min-height:180px;justify-content:center;color:var(--jira-muted,#6b778c)}
.page-loading:before{width:14px;height:14px;border:2px solid #b3bac5;border-top-color:#0052cc;border-radius:50%;content:"";animation:region-spin .7s linear infinite}
/* Rows are real keyboard targets: focus rings stay inside the row so frozen
   columns and widths are unaffected. */
.issue-grid tbody tr[tabindex="0"]:focus-visible,.product-item-grid tbody tr[tabindex="0"]:focus-visible{outline:2px solid #0052cc;outline-offset:-2px}
.issue-grid tbody tr.row-focused>td,.product-item-grid tbody tr.row-focused>td{background:var(--jira-blue-soft,#e9f2ff)}
.issue-grid tbody tr.row-focused>td[data-frozen="true"],.product-item-grid tbody tr.row-focused>td[data-frozen="true"]{background:#e9f2ff}
.performance-preview{grid-column:1/-1;padding:11px 12px;border:1px solid #dfe1e6;border-radius:4px;background:#f7f8fa}.performance-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.performance-preview-head .btn{flex:0 0 auto;min-height:28px;padding:0 9px;font-size:12px}.performance-preview-detail{margin-top:7px;color:#344054;font-size:13px}.performance-preview .sub{margin-top:6px;font-size:12px}
.detail-live-update{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:8px 10px;border:1px solid #ffab00;border-radius:3px;background:#fff7e6;color:#5e4200;font-size:12px}.detail-live-update .btn{flex:0 0 auto;min-height:28px;padding:0 9px}
.tree-toggle {
  width: 20px;
  height: 20px;
  margin-right: 6px;
  padding: 0;
  border: 1px solid var(--border, #d9dde5);
  background: transparent;
  color: inherit;
  line-height: 18px;
  text-align: center;
  cursor: pointer;
}
.tree-toggle-placeholder { display: inline-block; width: 26px; }

.project-search-layout {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  flex: 1 0 100%;
  min-width: 0;
}
.project-basic-search {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}
.project-basic-search > input,
.project-basic-search > select {
  min-width: 160px;
}
.project-advanced-toggle {
  margin-left: auto;
  white-space: nowrap;
}
.project-advanced-count { color: var(--primary, #0052cc); }
.project-advanced-drawer { position: fixed; inset: 0; z-index: 60; }
.project-advanced-drawer[hidden] { display: none; }
.project-advanced-backdrop { position: absolute; inset: 0; background: rgba(9, 30, 66, .42); }
.project-advanced-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  width: min(440px, 100vw);
  background: #fff;
  box-shadow: -4px 0 18px rgba(9, 30, 66, .18);
}
.project-advanced-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border, #dfe1e6);
  font-size: 14px;
}
.project-advanced-close {
  border: 0;
  background: transparent;
  color: var(--text-secondary, #5e6c84);
  font-size: 22px;
  line-height: 1;
  padding: 0 4px;
  cursor: pointer;
}
.project-advanced-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  flex: 1;
  padding: 16px;
  overflow: auto;
}
.project-advanced-fields > input,
.project-advanced-fields > select {
  width: 100%;
  min-width: 0;
  max-width: none;
}
.project-advanced-foot {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid var(--border, #dfe1e6);
}

/* Project workspace tab bar. Kept in CSS so the markup stays declarative. */
.project-workspace-tabs {
  display: flex;
  align-items: center;
  gap: 0;
  margin: -4px 0 18px;
  border-bottom: 1px solid var(--border, #dfe1e6);
  background: #fff;
  overflow-x: auto;
}
.project-workspace-tabs > button {
  height: 38px;
  padding: 0 14px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: #fff;
  color: #172b4d;
  font: 13px Arial, 'Microsoft YaHei', sans-serif;
  white-space: nowrap;
  cursor: pointer;
}
.project-workspace-tabs > button:hover { background: #f4f5f7; }
.project-workspace-tabs > button.active {
  border-bottom-color: #0052cc;
  background: #deebff;
  color: #0052cc;
}
.project-workspace-context { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 10px; border-right: 1px solid #dfe1e6; white-space: nowrap; }
.project-workspace-list { height: 26px; padding: 0 7px; border: 0; border-radius: 3px; background: transparent; color: #0052cc; font: inherit; font-size: 13px; cursor: pointer; }
.project-workspace-list:hover { background: #deebff; }
.project-context-actions { display: inline-flex; align-items: center; gap: 8px; min-height:30px; margin-left:10px; padding-left:10px; border-left:1px solid var(--jira-line,#dfe1e6); white-space:nowrap; }
.project-context-actions .btn,.project-context-actions .link-button { flex:0 0 auto; }
.project-page-toolbar { display:flex; align-items:center; min-height:40px; margin:0 0 12px; padding:5px 0; }
.project-page-toolbar .project-context-actions { margin-left:0; }
.project-dashboard-actions { display:inline-flex; align-items:center; gap:8px; margin-left:10px; }
.project-dashboard-actions .project-context-actions { margin-left:0; }
.milestone-completion-head,.milestone-completion-cell{width:48px;min-width:48px;padding:0!important;text-align:center}.milestone-completion-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:28px;padding:0;border:0;background:transparent;cursor:pointer}.milestone-completion-toggle:before{position:absolute;left:6px;top:4px;width:2px;height:20px;background:#a5adba;content:""}.milestone-completion-toggle span{position:absolute;top:5px;left:8px;width:13px;height:10px;border:1px solid #a5adba;border-left:0;background:#fff;clip-path:polygon(0 0,100% 22%,58% 50%,100% 78%,0 100%)}.milestone-completion-toggle:hover span{border-color:#2684ff;background:#deebff}.milestone-completion-toggle.is-complete:before{background:#00875a}.milestone-completion-toggle.is-complete span{border-color:#00875a;background:#36b37e}.milestone-completion-toggle.is-complete.is-phase:before{background:#0052cc}.milestone-completion-toggle.is-complete.is-phase span{border-color:#0052cc;background:#2684ff}.milestone-completion-toggle:disabled{cursor:default;opacity:.72}.milestone-plan-completed .milestone-name{color:#6b778c;text-decoration:line-through}
.milestone-plan-grid th.milestone-completion-head,.milestone-plan-grid td.milestone-completion-cell{position:sticky!important;left:0!important;z-index:8;width:40px!important;min-width:40px!important;max-width:40px!important;padding:0!important;background:#f4f5f7}.milestone-plan-grid td.milestone-completion-cell{z-index:6;background:#fff;box-shadow:1px 0 0 #dfe1e6}.milestone-plan-grid tr>th:nth-child(2),.milestone-plan-grid tr>td:nth-child(2){position:sticky!important;left:40px!important;z-index:7;width:260px;min-width:260px;max-width:260px;background:#f4f5f7}.milestone-plan-grid tr>td:nth-child(2){z-index:5;background:#fff;box-shadow:1px 0 0 #dfe1e6}.milestone-plan-grid tr.milestone-plan-phase td.milestone-completion-cell,.milestone-plan-grid tr.milestone-plan-phase td:nth-child(2){background:#deebf7}.milestone-completion-head,.milestone-completion-cell{width:40px;min-width:40px}
.milestone-plan-grid tr>th:nth-child(3),.milestone-plan-grid tr>td:nth-child(3){width:96px;min-width:96px;max-width:96px}.milestone-plan-grid tr>th:nth-last-child(4),.milestone-plan-grid tr>td:nth-last-child(4){width:132px;min-width:132px;max-width:132px}
.milestone-plan-grid tr>th:last-child,.milestone-plan-grid tr>td:last-child{position:sticky!important;right:0;z-index:7;width:220px;min-width:220px;max-width:220px;background:#f4f5f7;box-shadow:-1px 0 0 #dfe1e6}.milestone-plan-grid tr>td:last-child{z-index:5;background:#fff}.milestone-plan-grid tr.milestone-plan-phase td:last-child{background:#deebf7}
.project-workspace-switch { width: 150px; height: 28px; padding: 0 24px 0 7px; border: 1px solid #dfe1e6; border-radius: 3px; background: #fff; color: #172b4d; font: inherit; font-size: 13px; }
.project-workspace-switch:focus { border-color: #4c9aff; outline: 0; box-shadow: 0 0 0 2px #b3d4ff; }
.product-workspace-tabs > button,.product-workspace-tabs .project-workspace-list,.product-workspace-tabs .project-workspace-switch{font-size:12px}.content:has(.product-workspace-tabs) :is(.list-toolbar,.section-tabs,.project-page-toolbar,.project-context-actions) :is(input:not([type="checkbox"]):not([type="radio"]),select,button,.btn,.link-button,label,.sub,.selection-count,.list-count){font-size:12px!important}.content:has(.product-workspace-tabs) .project-context-actions{gap:6px;min-height:28px}.content:has(.product-workspace-tabs) .project-context-actions .btn{min-height:28px;padding:3px 10px}
.table-sort-button{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.table-sort-caret{width:0;height:0;border-right:4px solid transparent;border-left:4px solid transparent;border-top:5px solid #8993a4}.table-sort-button.is-active .table-sort-caret{border-top:0;border-bottom:5px solid #0052cc}.table-sort-button.is-active[data-direction="DESC"] .table-sort-caret{border-top:5px solid #0052cc;border-bottom:0}
.issue-multi-filter{position:relative;display:inline-block;min-width:128px}.issue-multi-filter summary{display:flex;align-items:center;justify-content:space-between;gap:8px;height:32px;padding:0 9px;border:1px solid #dfe1e6;border-radius:3px;background:#fff;color:#172b4d;cursor:pointer;list-style:none;white-space:nowrap}.issue-multi-filter summary::-webkit-details-marker{display:none}.issue-multi-filter[open] summary{border-color:#4c9aff}.issue-multi-filter-panel{position:absolute;z-index:30;top:36px;left:0;display:grid;gap:6px;min-width:230px;max-height:300px;padding:8px;border:1px solid #dfe1e6;border-radius:3px;background:#fff;box-shadow:0 4px 12px #091e4226}.issue-multi-filter-search{width:100%;height:28px;padding:0 8px;border:1px solid #b3bac5;border-radius:3px;font-size:12px}.issue-multi-filter-all{padding-bottom:5px!important;border-bottom:1px solid #ebecf0}.issue-multi-filter-options{display:grid;gap:2px;max-height:210px;overflow:auto}.issue-multi-filter-panel label{display:flex;align-items:center;gap:7px;padding:4px 2px;white-space:nowrap;font-size:12px}.issue-multi-filter-panel label:hover{background:#f4f5f7}

.milestone-plan-wrap { border: 1px solid #dfe1e6; background: #fff; }
.milestone-plan-hint { padding: 10px 14px; border-bottom: 1px solid #dfe1e6; color: #6b778c; font-size: 13px; }
.milestone-plan-toolbar{display:flex;align-items:center;gap:8px;min-height:38px;padding:3px 10px;border-bottom:1px solid #dfe1e6;font-size:12px}.milestone-plan-toolbar .btn,.milestone-plan-toolbar .sub{font-size:12px}.milestone-plan-toolbar .btn{min-height:28px;padding:3px 10px}
.milestone-plan-grid { max-height: calc(100vh - 260px); overflow: auto; }
.milestone-plan-grid table { min-width: 1580px; border-collapse: separate; border-spacing: 0; }
.milestone-plan-grid th { position: sticky; top: 0; z-index: 2; min-width: 50px; padding: 8px 6px; background: #f4f5f7; color: #42526e; font-size: 12px; white-space: nowrap; }
.milestone-plan-grid th:first-child,.milestone-plan-grid td:first-child { position: sticky; left: 0; }
.milestone-plan-grid th:first-child { z-index: 4; background: #f4f5f7; }
.milestone-plan-grid td:first-child { z-index: 1; min-width: 210px; background: #fff; box-shadow: 1px 0 0 #dfe1e6; }
.milestone-plan-grid tr.milestone-plan-phase td:first-child { background: #deebf7; }
.milestone-plan-grid th small { display: block; margin-top: 2px; color: #6b778c; font-weight: 400; }
.milestone-plan-grid th:nth-child(1) { min-width: 210px; }
.milestone-plan-grid th:nth-child(2) { min-width: 64px; }
.milestone-plan-grid th:nth-child(4),.milestone-plan-grid th:nth-child(5) { min-width: 112px; }
.milestone-plan-grid td { height: 38px; padding: 3px 5px; border-bottom: 1px solid #ebecf0; white-space: nowrap; }
.milestone-plan-grid tr.milestone-plan-phase > td { background: #deebf7; }
.milestone-plan-grid tr.milestone-plan-phase .milestone-gantt-cell { background: #deebf7; }
.milestone-plan-grid td input,.milestone-plan-grid td select { width: 100%; height: 28px; padding: 0 5px; border: 1px solid transparent; border-radius: 3px; background: transparent; color: #172b4d; font: inherit; font-size: 13px; }
.milestone-plan-grid td input:hover,.milestone-plan-grid td select:hover,.milestone-plan-grid td input:focus,.milestone-plan-grid td select:focus { border-color: #4c9aff; background: #fff; outline: 0; }
.milestone-plan-grid .milestone-name-cell { display: flex; align-items: center; gap: 3px; min-width: 210px; }
.milestone-plan-grid .milestone-name-cell .milestone-name { min-width: 0; }
.milestone-drag-handle { flex: 0 0 18px; width: 18px; height: 28px; padding: 0; border: 0; background: transparent; color: #8993a4; cursor: grab; font-size: 16px; line-height: 10px; }
.milestone-drag-handle:hover { color: #0052cc; background: #deebff; }
.milestone-drag-handle:active { cursor: grabbing; }
.milestone-plan-grid tr.is-dragging { opacity: .45; }
.milestone-plan-grid tr.milestone-drop-target td { border-top: 2px solid #0052cc; }
.milestone-plan-grid .milestone-check { text-align: center; }
.milestone-plan-grid .milestone-check input { width: 16px; height: 16px; }
.milestone-gantt-cell { min-width: 50px; padding: 0 !important; text-align: center; background: #fafbfc; }
.milestone-gantt-bar { display: block; width: 100%; height: 12px; border-radius: 2px; background: #0052cc; }
.milestone-gantt-bar.is-milestone { width: 12px; height: 12px; margin: 0 auto; transform: rotate(45deg); border-radius: 1px; background: #de350b; }
.milestone-gantt-empty { display: block; height: 12px; }
.milestone-actions { min-width: 146px; }
.milestone-actions .link-button { margin-right: 6px; }
.project-contact-key > td { background: #fff4cc !important; }
.project-contact-key-tag { display: inline-block; margin-left: 8px; padding: 1px 6px; border-radius: 3px; background: #ffdf8a; color: #614700; font-size: 11px; }
.project-contact-key-toggle { display: flex; align-items: center; justify-content: space-between; }
.project-contact-key-toggle input { width: 16px; height: 16px; }
.project-contact-remark { max-width: 280px; overflow: hidden; text-overflow: ellipsis; }

.plan-template-admin { border: 1px solid #dfe1e6; background: #fff; }
.plan-template-admin .list-toolbar { margin: 0; border: 0; border-bottom: 1px solid #dfe1e6; }
.plan-template-admin .list-toolbar > input { width: 230px; }
.plan-template-hint { padding: 9px 14px; border-bottom: 1px solid #ebecf0; color: #6b778c; font-size: 13px; }
.plan-template-admin .table-panel { border: 0; border-radius: 0; }
.plan-template-admin tr.plan-template-phase > td { background: #deebf7; }
.template-drag-cell { width: 26px; padding: 0 !important; text-align: center; }
.template-drag-handle { width: 22px; height: 28px; padding: 0; border: 0; background: transparent; color: #8993a4; cursor: grab; font-size: 16px; line-height: 10px; }
.template-drag-handle:hover { color: #0052cc; background: #deebff; }
.template-drag-handle:active { cursor: grabbing; }
.plan-template-admin tr.is-dragging { opacity: .45; }
.plan-template-admin tr.template-drop-target td { border-top: 2px solid #0052cc; }
.plan-template-admin td input:not([type="checkbox"]),.plan-template-admin td select { width: 100%; height: 28px; padding: 0 5px; border: 1px solid transparent; border-radius: 3px; background: transparent; color: #172b4d; font: inherit; font-size: 13px; }
.plan-template-admin td input:not([type="checkbox"]):hover,.plan-template-admin td select:hover,.plan-template-admin td input:not([type="checkbox"]):focus,.plan-template-admin td select:focus { border-color: #4c9aff; background: #fff; outline: 0; }

/* 新建/编辑工作项：加宽弹窗并把字段按分类拆成页签。 */
.modal.work-item-dialog:not(.drawer-modal) .dialog {
  width: min(1000px, calc(100vw - 32px));
  height: min(820px, calc(100vh - 32px));
  min-height: min(620px, calc(100vh - 32px));
}
.work-item-dialog-tabs { display: block; }
.work-item-dialog-tabs .wi-tabbar {
  display: flex;
  align-items: center;
  gap: 2px;
  margin: -4px 0 18px;
  border-bottom: 1px solid var(--jira-line, #dfe1e6);
  overflow-x: auto;
}
.work-item-dialog-tabs .wi-tab {
  height: 36px;
  padding: 0 14px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--jira-text, #42526e);
  font: 13px Arial, 'Microsoft YaHei', sans-serif;
  white-space: nowrap;
  cursor: pointer;
}
.work-item-dialog-tabs .wi-tab:hover { background: var(--jira-hover, #ebecf0); }
.work-item-dialog-tabs .wi-tab.active { border-bottom-color: #0052cc; color: #0052cc; font-weight: 600; }
.work-item-dialog-tabs .wi-tab[hidden]{display:none}
.work-item-dialog-tabs .wi-config-button{margin-left:auto;height:30px;padding:0 10px;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;background:#fff;color:var(--jira-text,#42526e);font:12px Arial,'Microsoft YaHei',sans-serif;white-space:nowrap;cursor:pointer}
.work-item-dialog-tabs .wi-config-button:hover{background:var(--jira-hover,#ebecf0);color:var(--jira-blue,#0052cc)}
.wi-config-panel{margin:-8px 0 14px;padding:12px;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;background:var(--jira-fill,#f4f5f7);color:var(--jira-text,#42526e);font-size:12px}
.wi-config-panel[hidden]{display:none}
.wi-config-panel>b{display:block;margin-bottom:8px;color:var(--jira-ink,#172b4d)}
.wi-config-options{display:flex;flex-wrap:wrap;gap:8px 18px}
.wi-config-options label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.wi-config-options input{width:auto;height:auto;margin:0}
.wi-config-fields-title{display:block;margin-top:12px}
.wi-config-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 18px;max-height:180px;overflow:auto;padding-right:4px}
.wi-config-fields label[hidden]{display:none}
.wi-config-panel p{margin:8px 0 0;color:var(--jira-muted,#6b778c)}
.work-item-dialog-tabs .wi-tabpanel[hidden] { display: none; }
.work-item-dialog-tabs .field-label[hidden],
.work-item-dialog-tabs .rich-label[hidden] { display: none !important; }
.detail-fields p[hidden] { display: none !important; }
.inline-editable-field { position: relative; }
.inline-field-edit {
  display: none;
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: var(--jira-blue, #0052cc);
  font-family: Arial, 'Microsoft YaHei', sans-serif;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}
.inline-editable-field:hover .inline-field-edit,
.inline-editable-field:focus-within .inline-field-edit,
.inline-editable-section:hover .inline-field-edit,
.inline-editable-section:focus-within .inline-field-edit { display: inline-flex; align-items: center; }
.inline-field-edit[hidden] { display: none !important; }
.inline-field-edit:hover { background: var(--jira-blue-soft, #deebff); }
.inline-editable-section { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.inline-editable-section .inline-field-edit { margin-left: auto; }
.inline-editable-field > span { display: inline-flex; align-items: center; justify-content: flex-end; gap: 6px; min-width: 0; }
.inline-field-control { width: auto; min-width: 112px; height: 28px; }
.inline-field-actions { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.inline-field-actions .link-button { padding: 2px 3px; font-size: 12px; }
.inline-description-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.description[data-inline-editing="1"] { min-height: 0; }
.week-picker { position: relative; }
.week-picker-trigger { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; height: 32px; padding: 0 10px; border: 1px solid var(--jira-line, #dfe1e6); border-radius: 3px; background: #fff; color: var(--jira-ink, #172b4d); font: 13px Arial, 'Microsoft YaHei', sans-serif; text-align: left; cursor: pointer; }
.week-picker-trigger:hover,.week-picker-trigger[aria-expanded="true"] { border-color: #4c9aff; box-shadow: 0 0 0 2px #b3d4ff; }
.week-picker-trigger b { color: var(--jira-muted, #6b778c); font-size: 14px; font-weight: 400; }
.week-picker-popover { position: absolute; z-index: 30; top: calc(100% + 5px); left: 0; width: 296px; padding: 12px; border: 1px solid var(--jira-line, #dfe1e6); border-radius: 4px; background: #fff; box-shadow: 0 8px 20px #091e4230; }
.week-picker-popover[hidden] { display: none; }
.week-picker-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; color: var(--jira-ink, #172b4d); font-size: 13px; }
.week-picker-nav { width: 26px; height: 26px; border: 0; border-radius: 3px; background: transparent; color: var(--jira-text, #42526e); font-size: 19px; cursor: pointer; }
.week-picker-nav:hover,.week-picker-week-actions button:hover { background: var(--jira-blue-soft, #deebff); color: var(--jira-blue, #0052cc); }
.week-picker-week-actions { display: flex; gap: 4px; margin-bottom: 9px; }
.week-picker-week-actions button { flex: 1; height: 27px; border: 0; border-radius: 3px; background: #f4f5f7; color: var(--jira-text, #42526e); font-size: 11px; cursor: pointer; }
.week-picker-dow,.week-picker-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; }
.week-picker-dow { margin-bottom: 3px; color: var(--jira-muted, #6b778c); font-size: 11px; }
.week-picker-day { height: 30px; border: 0; border-radius: 3px; background: transparent; color: var(--jira-ink, #172b4d); font-size: 12px; cursor: pointer; }
.week-picker-day:hover { background: #ebecf0; }
.week-picker-day.outside { color: #a5adba; }
.week-picker-day.selected { background: var(--jira-blue-soft, #deebff); color: var(--jira-blue, #0052cc); font-weight: 600; }
.week-picker-summary { margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--jira-line, #dfe1e6); color: var(--jira-blue, #0052cc); font-size: 12px; font-weight: 600; text-align: center; }
.inline-week-picker { min-width: 190px; }
.inline-week-picker .week-picker-field > span { display: none; }
.inline-week-picker .week-picker-trigger { min-width: 190px; }

/* 工作项详情采用 Jira 式主内容/辅助信息分栏，避免字段堆叠在窄抽屉中。 */
.modal.drawer-modal:has(.detail-grid) .dialog {
  width: min(1100px, 70vw);
}
.modal.drawer-modal:has(.detail-grid) .modal-body {
  padding: 28px 32px 44px;
}
.modal.drawer-modal:has(.detail-grid) .detail-grid {
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 32px;
  align-items: start;
}
.modal.drawer-modal:has(.detail-grid) .detail-grid > aside {
  min-width: 0;
  padding-left: 28px;
  border-left: 1px solid var(--jira-line, #dfe1e6);
}
.modal.drawer-modal:has(.detail-grid) .detail-management {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--jira-line, #dfe1e6);
}
.modal.drawer-modal:has(.detail-grid) .detail-fields p {
  min-height: 38px;
  align-items: center;
}
.modal.drawer-modal:has(.detail-grid) .detail-fields p[hidden] {
  display: none !important;
}
@media (max-width: 900px) {
  .modal.drawer-modal:has(.detail-grid) .dialog { width: 94vw; }
  .modal.drawer-modal:has(.detail-grid) .modal-body { padding: 22px 20px 36px; }
  .modal.drawer-modal:has(.detail-grid) .detail-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .modal.drawer-modal:has(.detail-grid) .detail-grid > aside { padding-left: 0; border-left: 0; border-top: 1px solid var(--jira-line, #dfe1e6); padding-top: 18px; }
}

/* 可搜索项目选择器 */
.search-select-field > span { display: block; margin-bottom: 6px; }
.search-select { position: relative; }
.search-select-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  height: 34px;
  padding: 0 10px;
  border: 1px solid #d7dce5;
  border-radius: 5px;
  background: #fff;
  color: var(--ink, #172033);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.search-select-trigger:hover { border-color: #8993a4; }
.search-select.open .search-select-trigger { border-color: #6a9afb; box-shadow: 0 0 0 3px #dbeafe; }
.search-select.is-disabled .search-select-trigger { background: #f4f5f7; color: #6b778c; cursor: not-allowed; }
.search-select-value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-select-value.placeholder { color: #98a2b3; }
.search-select-caret {
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  margin-top: -3px;
  border-right: 1.5px solid #6b778c;
  border-bottom: 1.5px solid #6b778c;
  transform: rotate(45deg);
}
.search-select-panel {
  position: absolute;
  z-index: 5;
  top: calc(100% + 4px);
  right: 0;
  left: 0;
  padding: 8px;
  border: 1px solid #dfe1e6;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(9, 30, 66, .22);
}
.search-select-input { height: 32px; margin-bottom: 6px; }
.search-select-options { max-height: 230px; overflow: auto; }
.search-select-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 32px;
  padding: 5px 8px;
  border: 0;
  border-radius: 3px;
  background: #fff;
  color: #172b4d;
  font: 13px Arial, 'Microsoft YaHei', sans-serif;
  text-align: left;
  cursor: pointer;
}
.search-select-option:hover { background: #ebf2ff; color: #0052cc; }
.search-select-option small { color: #6b778c; font-size: 12px; }
.search-select-empty { padding: 8px; color: #6b778c; font-size: 13px; }
/* The source picker in the module-import dialog must float over the action
   footer. Generic modal bodies scroll, which otherwise clips its option list. */
.modal.module-sync-modal .dialog{overflow:visible}.modal.module-sync-modal .modal-body{overflow:visible}.modal.module-sync-modal .search-select{z-index:2}.modal.module-sync-modal .search-select.open{z-index:30}.modal.module-sync-modal .search-select-panel{z-index:31;max-height:min(360px,calc(100vh - 250px))}.modal.module-sync-modal .search-select-options{max-height:min(270px,calc(100vh - 340px))}
.issue-more-actions{position:relative;display:inline-block}.issue-more-actions summary{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;background:#fff;color:var(--jira-text,#42526e);font-size:12px;cursor:pointer;list-style:none;white-space:nowrap}.issue-more-actions summary::-webkit-details-marker{display:none}.issue-more-actions summary:after{content:'⌄';margin-left:6px}.issue-more-actions-menu{position:absolute;z-index:20;right:0;top:38px;display:grid;min-width:160px;gap:2px;padding:6px;background:#fff;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;box-shadow:0 8px 20px rgba(9,30,66,.18)}.issue-more-actions-menu .btn{justify-content:flex-start;width:100%;min-height:30px;padding:0 9px;border:0;background:#fff;color:var(--jira-text,#42526e);font-size:12px;white-space:nowrap}.issue-more-actions-menu .btn:hover{background:var(--jira-hover,#ebecf0);color:var(--jira-blue,#0052cc)}
.header-more-actions{position:relative;display:inline-block}.header-more-actions summary{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;background:#fff;color:var(--jira-text,#42526e);font-size:12px;cursor:pointer;list-style:none;white-space:nowrap}.header-more-actions summary::-webkit-details-marker{display:none}.header-more-actions summary:after{content:'⌄';margin-left:6px}.header-more-actions-menu{position:absolute;z-index:20;right:0;top:38px;display:grid;min-width:160px;gap:2px;padding:6px;background:#fff;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;box-shadow:0 8px 20px rgba(9,30,66,.18)}.header-more-actions-menu .btn{justify-content:flex-start;width:100%;min-height:30px;padding:0 9px;border:0;background:#fff;color:var(--jira-text,#42526e);font-size:12px;white-space:nowrap}.header-more-actions-menu .btn:hover{background:var(--jira-hover,#ebecf0);color:var(--jira-blue,#0052cc)}
.risk-more-filters{position:relative}.risk-more-filters summary{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;background:#fff;color:var(--jira-text,#42526e);font-size:12px;cursor:pointer;list-style:none;white-space:nowrap}.risk-more-filters summary::-webkit-details-marker{display:none}.risk-more-filters summary:after{content:'⌄';margin-left:6px}.risk-more-filters-menu{position:absolute;z-index:20;right:0;top:38px;display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:8px;padding:10px;background:#fff;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;box-shadow:0 8px 20px rgba(9,30,66,.18)}.risk-more-filters-menu input,.risk-more-filters-menu select{width:150px}
.list-more-actions{position:relative;margin-left:auto}.list-more-actions summary{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;background:#fff;color:var(--jira-text,#42526e);font-size:12px;cursor:pointer;list-style:none;white-space:nowrap}.list-more-actions summary::-webkit-details-marker{display:none}.list-more-actions summary:after{content:'⌄';margin-left:6px}.list-more-actions[open] summary:after{transform:rotate(180deg)}.list-more-actions-menu{position:absolute;z-index:20;right:0;top:36px;display:grid;min-width:160px;gap:2px;padding:6px;background:#fff;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;box-shadow:0 8px 20px rgba(9,30,66,.18)}.list-more-actions-menu .btn,.list-more-actions-menu select{width:100%;min-height:30px;padding:0 9px;border:0;background:#fff;color:var(--jira-text,#42526e);font-size:12px;text-align:left;white-space:nowrap}.list-more-actions-menu .btn:hover{background:var(--jira-hover,#ebecf0);color:var(--jira-blue,#0052cc)}.list-more-actions-menu label{display:flex;align-items:center;gap:5px;padding:5px 8px;font-size:12px;color:var(--jira-text,#42526e)}
.list-more-actions-menu input[type=date]{box-sizing:border-box}.report-more-filters{margin-left:8px}
.list-more-actions-menu input:not([type=checkbox]):not([type=radio]){width:160px;min-height:30px;height:30px;padding:0 8px}.list-more-actions-menu label:has(input:not([type=checkbox]):not([type=radio])){display:grid;gap:4px;min-width:160px;padding:4px 6px}
.modal.project-member-edit-modal .dialog{width:min(900px,calc(100vw - 40px));max-height:calc(100vh - 40px)}
.project-role-field{min-width:0}
.project-role-selection-count{color:var(--jira-muted,#6b778c);font-weight:400}
.project-role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;max-height:min(360px,42vh);overflow:auto;padding:6px;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;background:#fff}
.project-role-options>label{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 9px;border-radius:3px;cursor:pointer;overflow-wrap:anywhere}
.project-role-options>label:hover{background:#f4f5f7}
.project-role-options input[type=checkbox]{width:16px;height:16px;margin:0}
.modal.member-batch-add-modal .dialog{width:min(900px,calc(100vw - 40px));max-height:calc(100vh - 40px)}
.member-batch-add{display:grid;gap:16px;max-width:520px}
.member-batch-add section{min-width:0}
.member-batch-add .field-label{margin-bottom:8px}
.member-batch-add .field-label small{color:var(--jira-muted,#6b778c);font-weight:400}
.member-user-multi{position:relative}
.member-user-multi-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:32px;padding:0 10px;border:1px solid #dfe1e6;border-radius:3px;background:#fff;color:var(--jira-ink,#172b4d);font:inherit;text-align:left;cursor:pointer}
.member-user-multi-trigger:hover{border-color:#8993a4}
.member-user-multi-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-user-multi-value.placeholder{color:#98a2b3}
.member-user-multi-panel{position:absolute;z-index:30;top:calc(100% + 4px);right:0;left:0;overflow:auto;padding:8px;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;background:#fff;box-shadow:0 8px 20px rgba(9,30,66,.22)}
.member-batch-user-search{margin-bottom:8px}
.member-batch-user-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;max-height:min(300px,40vh);overflow:auto;padding:6px;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;background:#fff}
.member-batch-user-options>label{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 9px;border-radius:3px;cursor:pointer}
.member-batch-user-options>label:hover{background:#f4f5f7}
.member-batch-user-options input{flex:0 0 auto;width:16px;height:16px;margin:0}
.member-batch-user-options span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-batch-user-options small{margin-left:auto;color:var(--jira-muted,#6b778c);font-size:12px;white-space:nowrap}
.schedule-control-row{display:flex;align-items:center;gap:8px;min-height:48px;margin:0 0 8px;padding:4px 8px;border:1px solid var(--jira-line,#dfe1e6);border-radius:3px;background:#fff}
.schedule-period-controls{display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto;gap:6px;margin:0;padding:0;border:0;background:transparent}
.schedule-control-divider{align-self:stretch;width:1px;min-height:28px;background:var(--jira-line,#dfe1e6)}
.schedule-period-controls>strong{min-width:180px;color:var(--jira-ink,#172b4d);text-align:center;font-size:14px;font-weight:600}
.schedule-period-controls>input[type=month]{width:150px;min-height:32px}
.schedule-work-item-toolbar{flex-wrap:wrap}
.content:has(.schedule-period-controls)>.page-header{align-items:center;margin-bottom:8px}
.content:has(.schedule-period-controls)>.page-header>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}
.content:has(.schedule-period-controls)>.page-header .title{font-size:19px}
.content:has(.schedule-period-controls)>.page-header .sub{margin:0;font-size:12px}
.content:has(.schedule-period-controls)>.page-header .btn{min-height:28px;padding:0 9px}
.schedule-control-row .schedule-period-controls .btn,.schedule-control-row .schedule-period-controls .segmented button{min-height:28px;padding:0 9px}
.schedule-control-row .schedule-period-controls>strong{min-width:150px;font-size:13px}
.schedule-control-row .schedule-period-controls>input[type=month]{min-height:28px}
.schedule-control-row .schedule-work-item-toolbar{flex:1 1 auto;min-width:0;min-height:36px;flex-wrap:nowrap;gap:6px;margin:0;padding:0;border:0;background:transparent}
.schedule-control-row .schedule-work-item-toolbar input,.schedule-control-row .schedule-work-item-toolbar select,.schedule-control-row .schedule-work-item-toolbar .btn{height:28px;min-height:28px;padding-top:0;padding-bottom:0}
.schedule-control-row .schedule-work-item-toolbar>.list-search{width:230px;min-width:150px}
.schedule-control-row .schedule-work-item-toolbar>.list-count{margin-left:auto}
.schedule-settings-icon{flex:0 0 30px;width:30px;padding:0!important}
.schedule-settings-icon svg{width:16px;height:16px}
@media(max-width:1250px){.schedule-control-row{flex-wrap:wrap}.schedule-control-divider{display:none}.schedule-control-row .schedule-period-controls{width:100%;min-height:30px;padding-bottom:4px;border-bottom:1px solid var(--jira-line,#dfe1e6)}.schedule-control-row .schedule-work-item-toolbar{flex-wrap:wrap}}
.schedule-inline-cell{position:relative;min-width:92px}
.schedule-inline-cell.is-editable{cursor:pointer}
.schedule-inline-pencil{display:inline-block;margin-left:6px;color:#6b778c;font-size:11px;opacity:0;transition:opacity .12s ease}
.schedule-inline-cell.is-editable:hover{background:#f4f8ff}
.schedule-inline-cell.is-editable:hover .schedule-inline-pencil,.schedule-inline-cell.is-editable:focus-within .schedule-inline-pencil{opacity:1}
.schedule-inline-editor{min-width:190px}
.schedule-inline-control,.schedule-inline-editor input:not([type=hidden]),.schedule-inline-editor select{box-sizing:border-box;width:100%;min-width:96px;min-height:30px;padding:4px 7px;border:1px solid #6a9afb;border-radius:3px;background:#fff;color:var(--jira-text,#172b4d);font:inherit}
.schedule-inline-editor .week-picker-field{margin:0}.schedule-inline-editor .week-picker-field>span{display:none}
.schedule-inline-editor .week-picker{min-width:190px}
.schedule-inline-editor .week-picker-trigger{width:100%;min-height:30px;padding:4px 7px;font-size:12px}
.schedule-inline-error{display:block;margin-top:4px;color:#ae2e24;font-size:11px;white-space:normal}
@media(max-width:760px){.schedule-period-controls{justify-content:flex-start;flex-wrap:wrap}.schedule-period-controls>strong{min-width:130px}.schedule-work-item-toolbar>*{max-width:100%}}
@media(max-width:700px){.modal.project-member-edit-modal .dialog,.modal.member-batch-add-modal .dialog{width:calc(100vw - 24px)}.modal.project-member-edit-modal .form,.member-batch-add{grid-template-columns:1fr}.project-role-options,.member-batch-user-options{grid-template-columns:1fr;max-height:38vh}}

/* The milestone-plan contact list supports in-table creation, so it needs room
   for the editable cells instead of opening a second small dialog. */
.modal.project-customer-contacts-modal .dialog{width:min(920px,calc(100vw - 40px));max-height:calc(100vh - 40px)}
.project-customer-contacts-modal .modal-body{padding:18px 20px 22px}
.project-contact-toolbar{margin-bottom:12px}
.project-contact-manager .table-panel{overflow-x:auto}
.project-contact-manager table{min-width:780px}
.project-contact-manager th,.project-contact-manager td{padding-right:10px;padding-left:10px}
.project-contact-manager th:nth-child(1),.project-contact-manager td:nth-child(1){min-width:130px}
.project-contact-manager th:nth-child(2),.project-contact-manager td:nth-child(2){min-width:130px}
.project-contact-manager th:nth-child(3),.project-contact-manager td:nth-child(3){min-width:180px}
.project-contact-manager th:nth-child(4),.project-contact-manager td:nth-child(4){min-width:88px}
.project-contact-manager th:nth-child(5),.project-contact-manager td:nth-child(5){min-width:70px}
.project-contact-manager th:nth-child(6),.project-contact-manager td:nth-child(6){min-width:112px}
.project-contact-draft-row{background:#f4f8ff}
.project-contact-draft-row:hover{background:#edf4ff!important}
.project-contact-input{width:100%;min-width:0;height:30px;padding:0 8px;font-size:12px}
.project-contact-row-actions{white-space:nowrap}
.project-contact-row-actions .link-button+.link-button{margin-left:8px}
@media(max-width:700px){.modal.project-customer-contacts-modal .dialog{width:calc(100vw - 24px)}.project-customer-contacts-modal .modal-body{padding:16px 14px}}

.milestone-deliverable-cell{min-width:190px;vertical-align:top!important;padding-top:6px!important;padding-bottom:6px!important;white-space:normal}
.milestone-deliverable-files{display:grid;gap:3px;min-width:0}
.milestone-deliverable-file{display:flex;align-items:center;gap:4px;min-width:0}
.milestone-deliverable-file .link-button{min-width:0;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.milestone-attachment-delete{flex:0 0 auto;width:18px;height:18px;padding:0;border:0;border-radius:3px;background:transparent;color:#6b778c;font-size:16px;line-height:1;cursor:pointer}
.milestone-attachment-delete:hover{background:#ffebe6;color:#de350b}
.milestone-attachment-select{margin-top:4px;font-size:12px}
.modal.milestone-attachment-upload-modal .dialog{width:min(520px,calc(100vw - 32px))}
.milestone-attachment-upload-queue .attach-queue{min-width:0}
.milestone-attachment-upload-queue .attach-item{margin-top:6px;padding:8px;font-size:12px}
.milestone-attachment-upload-queue .attach-item-name{max-width:300px}

/* Keep work-item search controls visually aligned with list body text. */
.issue-search-panel .issue-search-toolbar,
.issue-search-panel .issue-search-toolbar :is(input:not([type="checkbox"]):not([type="radio"]),select,button,.btn,.link-button,summary,.field-label,label){font-size:12px!important;font-weight:400}

/* Work-item search keeps daily actions in two compact rows. */
.issue-workbench .issue-search-toolbar{display:block!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.issue-search-compact-rows{display:grid;gap:6px}
.issue-search-compact-row{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:nowrap}
.issue-search-compact-row .field-label,.issue-search-compact-row .search-field{display:block;flex:0 0 auto;width:auto;min-width:0;margin:0}
.issue-search-filter-row .field-label:has([name="projectId"]){width:220px}
.issue-search-filter-row .field-label:has([name="type"]){width:110px}
.issue-search-filter-row .field-label:has([name="status"]){width:110px}
.issue-search-filter-row .field-label:has([name="assigneeId"]){width:150px}
.issue-search-filter-row .search-field{width:230px}
.issue-search-filter-row .field-label:has([name="savedViewId"]){flex:0 0 160px;width:160px}
.issue-search-compact-row :is(input:not([type="checkbox"]):not([type="radio"]),select,.btn){height:30px;min-height:30px}
.issue-search-action-row .view-switcher{margin-left:0;margin-right:0}
.issue-search-compact-row .view-switcher .btn{min-width:50px}
.issue-search-action-row #new-issue{margin-left:4px}
.issue-search-compact-row .issue-more-actions{margin-left:0}
@media(max-width:1280px){.issue-search-filter-row,.issue-search-action-row{flex-wrap:wrap}.issue-search-filter-row .field-label:has([name="savedViewId"]){margin-left:0}}
.wecom-login-options{margin-top:12px}
.wecom-login-options[hidden]{display:none}
.wecom-login-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--jira-muted);font-size:12px}
.wecom-login-divider::before,.wecom-login-divider::after{content:"";height:1px;flex:1;background:var(--jira-line)}
.wecom-login-button{width:100%;height:38px;margin-top:0!important;border-color:#07a35a!important;color:#078746!important}
.wecom-login-button:hover{background:#e9f7ef!important}
.wecom-login-options select{margin-top:2px}
.dashboard-inline-status{width:96px;height:26px;padding:0 6px;font-size:12px}

/* Batch work-item entry follows the spreadsheet-like ONES workflow while
   retaining the compact ProjectFlow dialog scale. */
.modal.batch-work-item-modal .dialog{width:min(1320px,calc(100vw - 40px));max-width:none}
.batch-work-item-modal .modal-body{min-height:480px;padding:18px 22px}
.batch-work-item-dialog{min-width:0}
.batch-work-item-head{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:0 0 16px;border-bottom:1px solid var(--jira-line,#dfe1e6)}
.batch-work-item-head>label{display:grid;gap:5px;min-width:210px;color:var(--jira-text,#42526e);font-size:12px}
.batch-work-item-head select{width:100%;height:32px}
.batch-work-item-head-actions{display:flex;gap:8px;margin-left:auto}
.batch-paste-panel{display:flex;align-items:flex-start;gap:8px;padding:12px 0;border-bottom:1px solid var(--jira-line,#dfe1e6)}
.batch-paste-panel textarea{min-height:58px;flex:1;resize:vertical;font-size:12px}
.batch-work-item-columns,.batch-work-item-row{display:grid;grid-template-columns:32px minmax(280px,1.7fr) repeat(var(--batch-columns,2),minmax(120px,.8fr));gap:10px;align-items:start}
.batch-work-item-columns{padding:12px 8px 8px;color:var(--jira-text,#42526e);font-size:12px;font-weight:600}
.batch-work-item-columns b{color:#de350b}
.batch-work-item-rows{display:grid;gap:7px;max-height:calc(100vh - 350px);overflow:auto;padding:0 0 8px}
.batch-work-item-row{padding:7px 8px;border:1px solid transparent;border-radius:3px}
.batch-work-item-row:hover{border-color:#dfe1e6;background:#fafbfc}
.batch-item-title,.batch-item-input{box-sizing:border-box;width:100%;min-width:0;height:32px;padding:0 8px;border:1px solid #dfe1e6;border-radius:3px;background:#fff;color:var(--jira-ink,#172b4d);font:12px Arial,"Microsoft YaHei",sans-serif}
.batch-assignee-cell{display:flex;align-items:center;gap:8px;min-width:0}.batch-assignee-cell .batch-item-input{flex:1;min-width:0}.batch-same-field{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;white-space:nowrap;color:#42526e;font-size:12px}.batch-same-field input{width:16px;height:16px;margin:0}
.batch-item-description{height:52px;padding:7px 8px;resize:vertical}
.batch-row-actions{display:flex;align-items:flex-start;justify-content:center;margin-top:3px}
.batch-row-remove{width:26px;height:26px;padding:0;border:1px solid #b3bac5;border-radius:50%;background:#fff;color:#42526e;font-size:18px;line-height:22px;cursor:pointer}
.batch-row-remove:hover{border-color:#de350b;background:#ffebe6;color:#de350b}
.batch-add-row{margin-top:10px;padding:5px 10px;color:#0052cc;font-size:12px}
.modal.batch-edit-ones-modal .dialog{width:min(1180px,calc(100vw - 32px));max-width:none}
.batch-edit-ones{color:var(--jira-text,#172b4d);font-size:14px}.batch-edit-steps{display:grid;grid-template-columns:1fr 1fr;margin:0 -22px 24px;border:1px solid var(--jira-line,#dfe1e6);background:#f7f8fa}.batch-edit-steps>*{padding:10px 14px;text-align:center;font-weight:400}.batch-edit-steps b{color:#0052cc;background:#fff}.batch-edit-ones>p{margin:0 0 16px;font-size:15px}.batch-edit-ones>.notice{margin-bottom:18px;padding:12px 14px;border-left:3px solid #0c66e4;background:#f4f5f7;color:#42526e}.batch-edit-table-head,.batch-edit-group{display:grid;grid-template-columns:1.1fr 1fr minmax(620px,2.8fr);gap:16px;align-items:start;padding:14px 16px;border:1px solid var(--jira-line,#dfe1e6)}.batch-edit-table-head{grid-template-columns:1.1fr 1fr minmax(620px,2.8fr);background:#f7f8fa;font-weight:600;color:#42526e}.batch-edit-group{border-top:0;min-height:150px}.batch-edit-group>span{padding-top:8px}.batch-edit-rule{display:grid;grid-template-columns:1.1fr .8fr 1.5fr 32px;gap:10px;margin-bottom:10px}.batch-edit-rule select,.batch-edit-rule input{height:34px;min-width:0}.batch-edit-group [data-batch-edit-rules]{min-width:0}.batch-edit-group>[data-batch-edit-add]{grid-column:3;justify-self:start}.batch-edit-confirm-list{display:grid;gap:8px;padding:14px;border:1px solid var(--jira-line,#dfe1e6);background:#fff}.batch-edit-confirm-list>div{display:grid;grid-template-columns:180px 1fr;gap:14px;padding:10px;border-bottom:1px solid #ebecf0}.batch-edit-confirm-list>div:last-child{border-bottom:0}.batch-edit-confirm-list span{color:#42526e}@media(max-width:900px){.batch-edit-table-head{display:none}.batch-edit-group{grid-template-columns:1fr}.batch-edit-group>[data-batch-edit-add]{grid-column:1}.batch-edit-rule{grid-template-columns:1fr 1fr 32px}.batch-edit-rule input{grid-column:1 / -1}.batch-edit-confirm-list>div{grid-template-columns:1fr}}
.modal.batch-field-picker-modal .dialog{width:min(720px,calc(100vw - 32px))}
.batch-field-picker-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px}
.batch-field-picker-layout>section{min-width:0}
.batch-field-picker-layout b{display:block;margin:0 0 9px;color:#42526e;font-size:12px}
.batch-field-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:4px 0}
.batch-field-picker label{display:flex;align-items:center;gap:7px;min-height:32px;padding:6px 8px;border:1px solid #dfe1e6;border-radius:3px;color:#172b4d;font-size:12px}
.batch-field-picker label:hover{background:#f4f5f7}
.batch-field-selected{padding:10px;border:1px solid #dfe1e6;border-radius:3px}
.batch-field-selected ol{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.batch-field-selected li{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:30px;padding:0 4px;border-bottom:1px solid #f0f1f3;color:#172b4d;font-size:12px}
.batch-field-selected li:last-child{border-bottom:0}.batch-field-selected .link-button{padding:2px 3px;font-size:11px}
@media(max-width:900px){.modal.batch-work-item-modal .dialog{width:calc(100vw - 24px)}.batch-work-item-head-actions{margin-left:0}.batch-work-item-columns{display:none}.batch-work-item-row{display:grid;grid-template-columns:1fr}.batch-work-item-row:before{content:"工作项";color:#42526e;font-size:12px}.batch-row-remove{justify-self:end}.batch-field-picker-layout{grid-template-columns:1fr}.batch-field-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}
.batch-edit-table-head{grid-template-columns:1.1fr 1fr 1.1fr .8fr 1.5fr}
.batch-edit-rule .batch-edit-value{min-width:0}.batch-edit-rule .batch-edit-value>input,.batch-edit-rule .batch-edit-value>select,.batch-edit-rule .batch-edit-value .search-select,.batch-edit-rule .batch-edit-value .week-picker-field{box-sizing:border-box;width:100%;min-width:0}.batch-edit-rule .batch-edit-value .field-label{margin:0}.batch-edit-rule .batch-edit-value .field-label>span{display:none}.batch-edit-rule .batch-edit-value .search-select{font-size:12px}.batch-edit-rule .batch-edit-value .week-picker-field{display:block}.batch-edit-rule .batch-edit-value .week-picker-trigger{width:100%;height:34px}.batch-edit-rule .batch-edit-value .rich-editor{min-width:260px}.batch-edit-rule:has([data-batch-edit-field="description"]){align-items:start}.batch-edit-rule:has([data-batch-edit-field="description"]) .batch-edit-value{grid-column:1 / -2}
.batch-edit-preview-wrap{max-height:58vh;overflow:auto;border:1px solid #dfe1e6;background:#fff}.batch-edit-preview-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:12px}.batch-edit-preview-table th,.batch-edit-preview-table td{max-width:320px;padding:9px 12px;border:1px solid #dfe1e6;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-edit-preview-table th{position:sticky;top:0;z-index:1;background:#f4f5f7;color:#42526e;font-weight:600}.batch-edit-preview-table td.is-changed{background:#e9f2ff;color:#0747a6;font-weight:600}.batch-edit-preview-table td:nth-child(2){max-width:360px}
.batch-edit-inline-progress{margin-top:16px;padding:12px 14px;border:1px solid #b3d4ff;background:#f4f8ff}.batch-edit-progress-label{margin-bottom:8px;color:#0747a6;font-size:12px}.batch-edit-progress-track{height:6px;overflow:hidden;border-radius:3px;background:#dfe1e6}.batch-edit-progress-track i{display:block;width:0;height:100%;border-radius:3px;background:#0052cc;transition:width .2s ease}
