:root{color:#17232d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{background:#f5f7f8;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}button,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #1459c838}:root{--ink:#17232d;--ink-soft:#344650;--muted:#74808b;--line:#e1e8eb;--line-strong:#d3dfe3;--surface:#fff;--canvas:#f4f7f8;--navy:#142c3a;--navy-soft:#1d3b49;--teal:#1459c8;--teal-dark:#0d54c4;--teal-soft:#e7eef6;--red:#c75451;--shadow:0 10px 28px #17232d0e;--shadow-hover:0 15px 34px #17232d17}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{background:var(--canvas);width:100%;height:100dvh;min-height:100vh;color:var(--ink);display:flex;overflow:hidden}.sidebar{z-index:2;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a1c5c93d transparent;background:var(--navy);color:#dbe6eb;flex-direction:column;flex:0 0 248px;width:248px;height:100dvh;padding:16px 15px 10px;display:flex;position:relative;overflow-y:auto}.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-thumb{background:#a1c5c93d;border-radius:8px}.login-brand{align-items:center;gap:14px;display:flex}.login-brand-text{gap:3px;display:grid}.login-brand b{color:var(--ink);letter-spacing:.5px;font-size:20px;font-weight:800;line-height:1.2;display:block}.login-brand span{color:#8a97a0;letter-spacing:4px;font-size:11px;font-weight:600;display:block}.brand-mark{object-fit:contain;background:#fff;border-radius:13px;flex-shrink:0;width:64px;height:64px;padding:4px;display:block;box-shadow:0 10px 24px #1459c833,inset 0 0 0 1px #edf2f2}.sidebar-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:11px;margin-bottom:12px;padding:2px 6px 14px;display:flex}.sidebar-brand .brand-mark{border-radius:11px;width:48px;height:48px;padding:3px;box-shadow:0 6px 14px #00000047,inset 0 0 0 1px #ffffff59}.sidebar-brand-text{gap:2px;min-width:0;display:grid}.sidebar-brand b{color:#f2f6f7;letter-spacing:.5px;white-space:nowrap;font-size:16px;font-weight:800;line-height:1.15;display:block}.sidebar-brand span{color:#8299a5;letter-spacing:3px;white-space:nowrap;font-size:10px;font-weight:600;display:block}.workspace-switcher{background:#ffffff09;border:1px solid #ffffff12;border-radius:11px;align-items:center;gap:11px;margin:0 0 14px;padding:10px 12px;display:flex}.workspace-meta{gap:2px;min-width:0;display:grid}.workspace-switcher small{color:#718894;letter-spacing:1.6px;align-items:center;gap:5px;font-size:10px;font-weight:500;display:flex}.workspace-switcher small svg{color:#5f86bf;flex:none}.workspace-switcher b{color:#f2f6f7;letter-spacing:.6px;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;display:block;overflow:hidden}.workspace-avatar{color:#fff;background:linear-gradient(135deg,#6a96d4,#1459c8);border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:15px;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff47,0 3px 8px #1459c84d}.nav-list{gap:4px;display:grid}.nav-label{color:#718895;text-transform:uppercase;letter-spacing:1.3px;margin:20px 9px 7px;font-size:10px}.nav-item{color:#a8bac4;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:12px;min-height:40px;padding:0 11px;font-size:13px;transition:color .18s,background .18s,border-color .18s;display:flex}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item.active{color:#fff;background:var(--navy-soft);box-shadow:inset 3px 0 var(--teal), 0 5px 13px #00000014;border-color:#7099d224}.nav-item:after{content:"›";color:#ffffff29;margin-left:auto;font-size:16px;font-weight:400;line-height:1;transition:color .18s,transform .18s}.nav-item:hover:after{color:#ffffff8c;transform:translate(2px)}.nav-item.active:after{color:#7099d2}.nav-icon{text-align:center;color:#88a3ae;width:18px;font-size:16px}.nav-item.active .nav-icon{color:#7099d2}.nav-item>span:not(.nav-icon){letter-spacing:3px;padding-right:3px}.top-avatar{color:#fff;background:linear-gradient(135deg,#c98a6d,#ba765c);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.icon-button{color:#8096a2;background:0 0;border:0;font-size:17px}.sidebar-collapse-toggle{display:none}@media (width>=769px){.sidebar .nav-list{margin-bottom:20px}.sidebar{transition:width .24s cubic-bezier(.4,0,.2,1),flex-basis .24s cubic-bezier(.4,0,.2,1)}.sidebar-collapse-toggle{color:#a8bac4;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:flex-start;align-items:center;gap:12px;width:100%;min-height:44px;margin:auto 0 0;padding:0 12px;font-size:14px;font-weight:500;transition:color .18s,background .18s;display:flex;position:relative}.sidebar-collapse-toggle:before{content:"";background:#ffffff14;height:1px;position:absolute;top:-7px;left:0;right:0}.sidebar-collapse-toggle:hover{color:#fff;background:#ffffff12}.sidebar-collapse-toggle:focus-visible{outline-offset:-2px;outline:2px solid #7099d2}.sidebar-collapse-toggle svg{flex:0 0 20px;display:block}.sidebar-collapse-label{white-space:nowrap}.sidebar.collapsed .sidebar-collapse-toggle{justify-content:center;gap:0;padding:0}.sidebar.collapsed .sidebar-collapse-label{display:none}.sidebar.collapsed{flex-basis:72px;width:72px;padding:16px 10px 10px}.sidebar.collapsed .sidebar-brand{justify-content:center;gap:0;padding:2px 0 14px}.sidebar.collapsed .brand-mark{width:42px;height:42px}.sidebar.collapsed .sidebar-brand-text{display:none}.sidebar.collapsed .workspace-switcher{background:0 0;border:0;justify-content:center;gap:0;margin-bottom:12px;padding:8px 0}.sidebar.collapsed .workspace-meta,.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .nav-item{justify-content:center;gap:0;padding:0}.sidebar.collapsed .nav-item:after,.sidebar.collapsed .nav-item>span:not(.nav-icon){display:none}}@media (width>=769px) and (width<=860px){.sidebar-collapse-toggle{justify-content:center;gap:0;padding:0}.sidebar-collapse-label{display:none}}.main-area{flex-direction:column;flex:1;min-width:0;height:100dvh;min-height:0;display:flex;overflow:hidden}.topbar{z-index:1;border-bottom:1px solid var(--line);background:#ffffffeb;flex:0 0 67px;justify-content:space-between;align-items:center;gap:24px;height:67px;padding:0 clamp(22px,3.2vw,42px);display:flex;position:relative;box-shadow:0 1px #fffc}.breadcrumbs{color:#9aa4ac;align-items:center;gap:10px;font-size:12px;display:flex}.breadcrumbs b{color:#c4cbd0;font-weight:400}.breadcrumbs strong{color:#374753;font-weight:600}.topbar-project-context{color:#9ba8ae;text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:11px;overflow:hidden}.topbar-actions{align-items:center;gap:17px;display:flex}.search-wrapper{width:240px;position:relative}.search-box{color:#87949d;background:#f3f5f6;border:1px solid #0000;border-radius:5px;align-items:center;gap:7px;width:100%;height:34px;padding:0 9px;display:flex}.search-box:focus-within{background:#fff;border-color:#b7c7dc;box-shadow:0 0 0 3px #1459c817}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.search-box kbd{color:#9ca7ad;white-space:nowrap;background:#fff;border:1px solid #dce3e7;border-radius:3px;padding:2px 5px;font-size:9px}.search-results{z-index:20;border:1px solid var(--line);background:#fff;border-radius:7px;position:absolute;top:42px;left:0;right:0;overflow:hidden;box-shadow:0 14px 30px #17232d24}.search-result{width:100%;color:var(--ink);text-align:left;background:#fff;border:0;border-bottom:1px solid #eef2f2;align-items:center;gap:9px;padding:10px 11px;display:flex}.search-result:last-child{border-bottom:0}.search-result:hover{background:#f5f8fb}.search-result-kind{min-width:48px;color:var(--teal);font-size:10px;font-weight:700}.search-result-copy{flex:1;gap:3px;min-width:0;display:grid}.search-result-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.search-result-copy small{color:#93a0a6;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.search-empty{color:#96a2a8;text-align:center;padding:15px 12px;font-size:11px}.notification-button{color:#60717d;background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;width:32px;height:32px;font-size:19px;transition:all .18s;display:grid;position:relative}.notification-button:hover{border-color:var(--line);color:var(--teal);background:#f5f8f8}.notification-button i{color:#fff;background:var(--red);border:2px solid #fff;border-radius:10px;place-items:center;min-width:15px;height:15px;font-size:8px;font-style:normal;display:grid;position:absolute;top:-6px;right:-7px}.top-avatar{width:31px;height:31px;font-size:13px}.top-user-menu{position:relative}.top-user-trigger{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:4px 9px 4px 5px;transition:all .18s;display:flex}.top-user-trigger:hover,.top-user-menu:focus-within .top-user-trigger{border-color:var(--line);background:#f5f8f8}.top-user-meta{text-align:left;gap:1px;min-width:0;display:grid}.top-user-meta b{color:#2b3a45;text-overflow:ellipsis;white-space:nowrap;max-width:96px;font-size:12px;font-weight:650;line-height:1.25;overflow:hidden}.top-user-meta small{color:#93a0a6;text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-size:10px;line-height:1.25;overflow:hidden}.top-user-caret{color:#9aa7ad;font-size:9px;transition:transform .18s}.top-user-menu:hover .top-user-caret,.top-user-menu:focus-within .top-user-caret{transform:rotate(180deg)}.top-user-dropdown{z-index:40;border:1px solid var(--line);opacity:0;visibility:hidden;background:#fff;border-radius:12px;width:208px;padding:8px;transition:opacity .18s,transform .18s,visibility .18s;position:absolute;top:calc(100% + 10px);right:0;transform:translateY(-6px);box-shadow:0 16px 38px #17232d29}.top-user-menu:hover .top-user-dropdown,.top-user-menu:focus-within .top-user-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.top-user-dropdown-head{border-bottom:1px solid #eef2f2;align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px 10px;display:flex}.top-user-dropdown-head .top-avatar{width:36px;height:36px;font-size:14px}.top-user-dropdown-id{gap:2px;min-width:0;display:grid}.top-user-dropdown-id b{color:#2b3a45;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.top-user-dropdown-id small{color:#93a0a6;font-size:10px}.top-user-dropdown>button{color:#42525e;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;width:100%;padding:9px 10px;font-size:12.5px;transition:all .15s;display:flex}.top-user-dropdown>button:hover,.top-user-dropdown-section>button:hover{color:var(--teal);background:#f0f4f8}.top-user-dropdown-section>button{color:#42525e;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;width:100%;padding:9px 10px;font-size:12.5px;transition:all .15s;display:flex}.top-user-dropdown-divider{background:#eef2f2;height:1px;margin:5px 0}.top-user-menu-icon{text-align:center;width:16px;color:var(--teal);font-size:13px}.top-user-dropdown>button.top-user-logout,.top-user-dropdown-section>button.top-user-logout{color:#b0564b}.top-user-dropdown>button.top-user-logout:hover,.top-user-dropdown-section>button.top-user-logout:hover{color:var(--red);background:#fdf3f1}.top-user-dropdown>button.top-user-logout .top-user-menu-icon,.top-user-dropdown-section>button.top-user-logout .top-user-menu-icon{color:inherit}.profile-modal-card{flex-direction:column;max-height:88vh;display:flex;overflow:hidden}.profile-modal-body{padding:4px 24px 24px;overflow-y:auto}.profile-modal-body .personal-settings-layout{grid-template-columns:1fr;gap:16px;margin:0}.content{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;width:100%;max-width:1520px;min-height:0;margin:0 auto;padding:clamp(26px,3vw,42px) clamp(22px,3.2vw,42px) 58px;overflow:hidden auto}.content::-webkit-scrollbar{width:10px}.content::-webkit-scrollbar-thumb{background:#cbd7db padding-box padding-box;border:3px solid #0000;border-radius:10px}.content::-webkit-scrollbar-track{background:0 0}.page-header{justify-content:space-between;align-items:end;gap:30px;margin:0 0 20px;padding:0;display:flex}.eyebrow{color:var(--teal);letter-spacing:1.15px;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.page-header h1{color:var(--ink);letter-spacing:-.7px;margin:7px 0 5px;font-size:clamp(25px,2.2vw,31px)}.page-header p,.detail-heading p{color:var(--muted);margin:0;font-size:13px}.filter-bar{background:linear-gradient(135deg,#f0f4f8 0%,#f7f9fb 50%,#f4f9f8 100%);border:1px solid #d4dde8;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:16px;padding:14px 20px;display:flex;box-shadow:0 2px 12px #1459c80f,inset 0 1px #fff9}.filter-group{flex:1 1 0;align-items:center;gap:10px;min-width:0;display:flex}.filter-label{color:#41659b;white-space:nowrap;letter-spacing:.3px;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.filter-label svg{color:#1459c8;flex-shrink:0}.filter-divider{display:none}.filter-group .select-control{background-color:#fff;flex:auto;width:100%;min-width:140px;height:38px;font-size:13px;font-weight:600;box-shadow:0 1px 4px #17232d0a}.filter-group .select-control:hover{box-shadow:0 2px 8px #1459c81a}.primary-button,.secondary-button,.ghost-button{border-radius:7px;min-height:38px;padding:0 16px;font-size:12px;font-weight:700;transition:color .18s,background .18s,border-color .18s,box-shadow .18s,transform .18s}.primary-button{border:1px solid var(--teal);color:#fff;background:var(--teal);box-shadow:0 5px 11px #1459c829}.primary-button:hover{border-color:var(--teal-dark);background:var(--teal-dark);transform:translateY(-1px);box-shadow:0 8px 16px #1459c836}.primary-button span{margin-left:8px;font-size:15px}.secondary-button{color:#4e626d;background:#fff;border:1px solid #cad5da}.secondary-button:hover,.ghost-button:hover{color:var(--teal-dark);background:#f7f8fb;border-color:#abc8c7}.ghost-button{border:1px solid var(--line);color:#62727c;background:#fff;font-weight:600}.back-button{color:#5a7080;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:5px;min-height:32px;padding:0 12px;font-size:12px;font-weight:600;transition:color .18s,background .18s,border-color .18s;display:inline-flex}.back-button:hover{color:var(--teal-dark);background:#f0f3f7;border-color:#d4e6e4}.back-button svg{flex-shrink:0}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{opacity:.55;box-shadow:none;transform:none}.wide{width:100%;height:42px}.text-button{color:var(--teal);background:0 0;border:0;padding:0;font-size:11px;font-weight:700}.panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:10px}.panel:hover{box-shadow:var(--shadow-hover)}.metric-grid{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:21px;display:grid}.metric-card{min-height:133px;box-shadow:var(--shadow);background:#fff;border-top:3px solid #5696b9;border-radius:7px;padding:18px 19px}.metric-card.red{border-color:var(--red)}.metric-card.green{border-color:#4ba785}.metric-card.amber{border-color:#d09a4d}.metric-top{color:#76858e;justify-content:space-between;font-size:12px;display:flex}.metric-top i{color:#5593b7;background:#edf6f9;border-radius:6px;place-items:center;width:23px;height:23px;font-size:12px;font-style:normal;display:grid}.metric-card.red .metric-top i{color:var(--red);background:#fbefee}.metric-card.green .metric-top i{color:#439678;background:#eaf7f0}.metric-card.amber .metric-top i{color:#bc7c29;background:#fff6e7}.metric-card strong{color:var(--ink);letter-spacing:-.7px;margin-top:12px;font-size:28px;display:block}.metric-card p{color:#94a0a7;margin:5px 0 0;font-size:11px}.dashboard-grid{grid-template-columns:1.13fr .87fr;gap:21px;margin-bottom:21px;display:grid}.panel-header,.panel-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.panel-header h2,.subsection-heading h3{color:var(--ink);margin:0;font-size:14px}.todo-list,.activity-list{padding:4px 0}.todo-row{width:100%;color:var(--ink);text-align:left;background:#fff;border:0;border-bottom:1px solid #f0f2f3;align-items:center;gap:11px;padding:14px 20px;display:flex}.todo-row:last-child{border-bottom:0}.todo-row:hover{background:#f8fbfb}.todo-icon{width:25px;height:25px;color:var(--teal);background:var(--teal-soft);border-radius:6px;place-items:center;font-size:12px;font-weight:800;display:grid}.todo-icon.danger{color:var(--red);background:#faeeed}.todo-copy{flex:1;gap:3px;min-width:0;display:grid}.todo-copy b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.todo-copy small{color:#9aa5aa;font-size:10px}.todo-due{color:#8b989e;font-size:10px}.row-arrow{color:#a8b3b9;font-size:16px}.activity-row{gap:14px;padding:14px 20px 11px 27px;display:flex;position:relative}.activity-line{background:#fff;border:2px solid #83a0c6;border-radius:50%;width:7px;height:7px;position:absolute;top:20px;left:21px}.line-1{border-color:#d89a86}.line-2{border-color:#a0aabe}.activity-row:not(:last-child):after{content:"";border-left:1px solid #dce7e5;position:absolute;top:27px;bottom:-10px;left:24px}.activity-row>div{gap:3px;display:grid}.activity-row small{color:var(--teal);font-size:10px;font-weight:700}.activity-row b{font-size:12px;font-weight:600}.activity-row span:last-child{color:#9aa6ad;font-size:10px}.dashboard-activity-list{padding:4px 0}.dashboard-activity-list .dashboard-activity-row{align-items:flex-start;gap:0;padding:14px 20px 14px 42px;transition:background-color .15s;display:flex;position:relative}.dashboard-activity-list .dashboard-activity-row:not(:last-child):after{content:"";pointer-events:none;background:#e2eaea;border:0;width:1px;position:absolute;top:25px;bottom:-25px;left:23.5px}.dashboard-activity-row:last-child:after{display:none}.dashboard-activity-row:hover{background:#f8fbfb}.dashboard-activity-row>.activity-content{gap:7px;display:flex}.dashboard-activity-row .activity-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;min-height:22px;display:flex}.dashboard-activity-row .activity-time{color:#89999f;flex-shrink:0;font-size:11px;line-height:1.5}.dashboard-activity-row .activity-title{word-break:normal;overflow-wrap:anywhere;line-height:1.65}.dashboard-activity-row .activity-dot{box-sizing:border-box;border-width:2px;width:8px;height:8px;margin:0;position:absolute;top:21px;left:20px;box-shadow:0 0 0 4px #fff}.activity-dot{z-index:1;background:#fff;border:2px solid;border-radius:50%;flex:none;width:10px;height:10px;margin-top:5px;position:relative}.activity-dot.teal{background:#e6ecf4;border-color:#1459c8}.activity-dot.orange{background:#fdf2ed;border-color:#d89a86}.activity-dot.red{background:#fdeaea;border-color:#e05252}.activity-dot.blue{background:#edf3fa;border-color:#5a8fc4}.activity-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.activity-type-tag{border-radius:4px;align-items:center;width:fit-content;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.5;display:inline-flex}.activity-type-tag.teal{color:#1459c8;background:#e6ecf4}.activity-type-tag.orange{color:#b5704f;background:#fdf2ed}.activity-type-tag.red{color:#c94343;background:#fdeaea}.activity-type-tag.blue{color:#3d6faa;background:#edf3fa}.activity-title{color:#243238;word-break:break-all;margin:0;font-size:13px;font-weight:500;line-height:1.5}.activity-time{color:#9aa6ab;font-size:11px}.dashboard-panel{flex-direction:column;max-height:420px;display:flex;overflow:hidden}.dashboard-panel .panel-header{flex:none}.dashboard-todo-list,.dashboard-activity-list{flex:auto;min-height:0;margin:0;padding:0;overflow-y:auto}.dashboard-todo-list::-webkit-scrollbar{width:5px}.dashboard-activity-list::-webkit-scrollbar{width:5px}.dashboard-todo-list::-webkit-scrollbar-thumb{background:#d5dfdf;border-radius:3px}.dashboard-activity-list::-webkit-scrollbar-thumb{background:#d5dfdf;border-radius:3px}.dashboard-todo-list::-webkit-scrollbar-track{background:0 0}.dashboard-activity-list::-webkit-scrollbar-track{background:0 0}.dashboard-panel .compact-empty{justify-content:center;align-items:center;min-height:200px;margin:0;padding:0;display:flex}.dashboard-todo-row{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #f0f2f3;align-items:flex-start;gap:12px;padding:12px 20px;transition:background .15s;display:flex;position:relative}.dashboard-todo-row:last-child{border-bottom:0}.dashboard-todo-row:hover{background:#f8fbfb}.dashboard-todo-row .row-arrow{color:#c5cfd3;flex:none;margin-top:3px;font-size:14px;transition:color .15s,transform .15s}.dashboard-todo-row:hover .row-arrow{color:#1459c8;transform:translate(2px)}.todo-priority-dot{z-index:1;border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px;position:relative}.todo-priority-dot.urgent{background:#e05252;box-shadow:0 0 0 3px #e0525226}.todo-priority-dot.normal{background:#1459c8;box-shadow:0 0 0 3px #1459c826}.todo-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.todo-type-tag{border-radius:4px;align-items:center;width:fit-content;padding:1px 7px;font-size:11px;font-weight:600;line-height:1.5;display:inline-flex}.todo-type-tag.teal{color:#1459c8;background:#e6ecf4}.todo-type-tag.orange{color:#b5704f;background:#fdf2ed}.todo-type-tag.red{color:#c94343;background:#fdeaea}.todo-type-tag.amber{color:#a66c1f;background:#fef3e0}.todo-title{color:#243238;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:500;line-height:1.5;overflow:hidden}.dashboard-todo-row .todo-due{color:#9aa6ab;font-size:11px}.quality-table{font-size:12px}.table-head,.table-row{grid-template-columns:1.3fr 1fr 1.3fr .8fr .8fr;align-items:center;gap:15px;padding:12px 20px;display:grid}.table-head{color:#9aa5ab;background:#fbfcfc;font-size:10px}.table-row{border-top:1px solid #eef1f2;min-height:49px}.table-row strong{font-weight:650}.table-row>span{color:#77868e}.progress{vertical-align:middle;background:#e8efef;border-radius:5px;width:54px;height:5px;margin-right:7px;display:inline-block;overflow:hidden}.progress em{border-radius:inherit;background:#698cb7;height:100%;display:block}.status-pill,.version-badge{color:#418c79;background:#e8f5ef;border-radius:4px;width:fit-content;padding:4px 8px;font-size:10px;display:inline-block}.status-pill.warning{color:#aa6c25;background:#fff3df}.status-pill.neutral{color:#78858d;background:#f0f3f4}.danger-text{color:var(--red)!important}.table-pagination{border-top:1px solid #eef1f2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:11px 20px 13px;display:flex}.pagination-total{color:#9aa5ab;font-size:11px}.pagination-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pagination-btn{color:#60707a;cursor:pointer;background:#fff;border:1px solid #dde6e6;border-radius:5px;min-width:28px;height:28px;padding:0 9px;font-size:11px;line-height:1;transition:background-color .15s,border-color .15s,color .15s}.pagination-btn:hover:not(:disabled):not(.active){color:var(--teal);background:#f2f6fa;border-color:#9fb6d5}.pagination-btn.active{border-color:var(--teal);background:var(--teal);color:#fff;cursor:default;font-weight:700}.pagination-btn:disabled{color:#bdc7cc;cursor:not-allowed;background:#f7f9f9}.pagination-ellipsis{text-align:center;color:#b3bdc2;min-width:20px;font-size:11px}.project-layout{grid-template-columns:1.08fr .92fr;gap:21px;display:grid}.project-list-panel,.project-detail-panel{min-height:520px}.panel-toolbar b{font-size:14px}.muted-count{color:#9aa5aa;margin-left:8px;font-size:11px}.toolbar-actions{gap:7px;display:flex}.bordered{border:1px solid var(--line);color:#71818a;border-radius:5px;padding:5px 8px}.project-list{flex-direction:column;gap:8px;padding:10px 14px 14px;display:flex}.project-card{text-align:left;background:#fff;border:1px solid #e8eded;border-radius:10px;grid-template-columns:42px 1fr 56px 68px 58px 18px;align-items:center;gap:12px;width:100%;padding:14px 18px;display:grid;box-shadow:0 1px 6px #17232d09}.project-card:hover{background:#f8fbfb;border-color:#cfe3e0;transform:translateY(-1px);box-shadow:0 4px 14px #17232d12}.project-card.selected{background:#eff3f8;border-color:#9fb6d5;box-shadow:0 2px 12px #1459c81a}.project-symbol,.product-icon{color:#3d63a4;background:#dfe7f2;border-radius:10px;place-items:center;width:42px;height:42px;font-size:13px;font-weight:800;display:grid}.project-card-main{min-width:0}.project-card-main>div{align-items:center;gap:8px;display:flex}.project-card-main strong{font-size:14px;font-weight:700}.project-code{color:#9aa6ab;background:#f3f6f7;border-radius:4px;padding:1px 7px;font-size:10px}.project-card-main p{color:#9aa5aa;margin:6px 0 0;font-size:11px}.project-card-stats{gap:2px;display:grid}.project-card-stats b{font-size:18px;font-weight:700;line-height:1}.project-card-stats span{color:#a1aaaf;font-size:10px}.detail-heading{justify-content:space-between;padding:21px 22px 16px;display:flex}.detail-heading h2{margin:8px 0 5px;font-size:21px}.detail-tabs{border-bottom:1px solid var(--line);gap:20px;padding:0 22px;display:flex}.detail-tabs button{color:#9aa6ad;background:0 0;border:0;padding:11px 0;font-size:11px;position:relative}.detail-tabs button.active{color:var(--teal);font-weight:700}.detail-tabs button.active:after{content:"";background:var(--teal);height:2px;position:absolute;bottom:-1px;left:0;right:0}.detail-summary{background:#f9fafc;border:1px solid #e5eeee;border-radius:6px;grid-template-columns:repeat(3,1fr);margin:19px 22px 24px;padding:15px 16px;display:grid}.detail-summary div{border-right:1px solid #e1ebeb;gap:5px;padding-left:11px;display:grid}.detail-summary div:first-child{padding-left:0}.detail-summary div:last-child{border:0}.detail-summary small{color:#94a2a8;font-size:10px}.detail-summary strong{font-size:16px}.subsection-heading{justify-content:space-between;align-items:center;padding:0 22px 11px;display:flex}.product-list{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:8px 14px 14px;display:flex}.product-row{background:#fff;border:1px solid #e8eded;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s;display:flex;box-shadow:0 1px 6px #17232d08}.product-row:hover{border-color:#cfe3e0;transform:translateY(-1px);box-shadow:0 4px 14px #17232d0f}.product-icon{border-radius:9px;width:38px;height:38px;font-size:12px}.product-main{flex:1;min-width:0}.product-main strong,.product-main span{display:block}.product-main strong{font-size:13px;font-weight:700}.product-main span{color:#9aa6ab;margin-top:4px;font-size:11px}.version-badge{color:#a26e2e;background:#fff5e6;border-radius:4px;padding:3px 8px;font-size:10px}.version-badge.released{color:#418c79;background:#e8f5ef}.empty-state{color:#9ca7ad;text-align:center;padding:50px 22px;font-size:12px}.testcase-layout{grid-template-columns:1.02fr .98fr;gap:21px;display:grid}.module-stack{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:300px;display:flex}.module-item{background:#f0f5fa;border:1px solid #d8e1ec;border-radius:5px;align-items:center;gap:2px;padding:3px 4px 3px 9px;display:inline-flex}.module-badge{color:#4b72a0;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.module-badge:hover{color:#406897}.module-badge.disabled{color:#9a6d43;cursor:default;text-decoration:line-through}.module-item:has(.module-badge.disabled){background:#fff8ed;border-color:#f0dfc7}.testcase-list-panel,.testcase-detail-panel{min-height:610px}.detail-summary-case{grid-template-columns:repeat(3,1fr)}.defect-layout,.release-layout{align-items:start}.select-control{color:#3a4d58;cursor:pointer;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237a8d96' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:14px;border:1px solid #d8e1e4;border-radius:7px;min-height:36px;padding:0 34px 0 12px;font-size:12px;font-weight:500;transition:border-color .18s,box-shadow .18s}.select-control:hover{background-color:#fbfcfd;border-color:#a8c7c4}.select-control:focus{border-color:#7d9cc9;outline:0;box-shadow:0 0 0 3px #1459c81f}.select-control option{color:#3a4d58;background:#fff;padding:8px 12px;font-size:12px}.select-control option:checked{color:#1459c8;background:#e8eff5;font-weight:600}.select-control option:hover,.select-control option:focus{background:#f0f3f8}.custom-select{display:inline-block;position:relative}.custom-select-trigger{color:#3a4d58;cursor:pointer;background-color:#fff;border:1px solid #d8e1e4;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:36px;padding:0 12px;font-size:12px;font-weight:500;transition:border-color .18s,box-shadow .18s,background-color .18s;display:flex}.custom-select-trigger:hover{background-color:#fbfcfd;border-color:#a8c7c4}.custom-select.open .custom-select-trigger{border-color:#7d9cc9;box-shadow:0 0 0 3px #1459c81f}.custom-select-value{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.custom-select-arrow{color:#7a8d96;flex-shrink:0;transition:transform .2s}.custom-select.open .custom-select-arrow{color:#1459c8;transform:rotate(180deg)}.custom-select.is-disabled .custom-select-trigger,.custom-select.is-disabled .custom-select-trigger:hover,.custom-select.is-disabled.open .custom-select-trigger{color:#aab4b8;cursor:not-allowed;box-shadow:none;background:#f0f2f3;border-color:#d8e1e4}.custom-select.is-disabled .custom-select-arrow{color:#b9c2c6}.custom-select.is-disabled .custom-select-arrow-btn{cursor:not-allowed}.custom-select.is-disabled .custom-select-arrow-btn:hover{color:#b9c2c6;background:0 0}.custom-select-options{z-index:100;overscroll-behavior:contain;background:#fff;border:1px solid #d8e1e4;border-radius:10px;max-height:280px;margin:0;padding:6px;list-style:none;animation:.15s selectDropdownIn;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #17232d1f,0 2px 6px #17232d0f}.custom-select.drop-up .custom-select-options{animation:.15s selectDropdownUp;top:auto;bottom:calc(100% + 6px)}.custom-select-options-portal{top:auto;right:auto}.custom-select-options-portal.drop-up{animation:.15s selectDropdownUp}.custom-select.drop-up.open .custom-select-arrow{transform:none}@keyframes selectDropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes selectDropdownUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.custom-select-option{color:#3a4d58;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:9px 12px;font-size:12px;font-weight:500;transition:background-color .12s,color .12s;display:flex}.custom-select-option:hover{color:#1459c8;background:#f0f3f8}.custom-select-option.selected{color:#1459c8;background:#e8eff5;font-weight:600}.custom-select-option.selected svg{color:#1459c8;flex-shrink:0}.custom-select.creatable .custom-select-trigger-input{cursor:text;padding-right:8px}.custom-select-input{width:100%;min-width:0;color:inherit;font:inherit;background:0 0;border:0;outline:0;flex:1;padding:0}.custom-select.creatable .custom-select-trigger-input .custom-select-input{height:auto;min-height:0;line-height:inherit;font-size:inherit;font-weight:inherit;background:0 0;border:0;border-radius:0;margin:0;padding:0}.custom-select-input::placeholder{color:#aab5bb;font-weight:400}.custom-select-arrow-btn{color:#7a8d96;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:color .15s,background-color .15s;display:inline-flex}.custom-select-arrow-btn:hover{color:#1459c8;background:#f0f3f8}.custom-select-option-create{color:#1459c8;font-weight:600}.custom-select-empty{color:#9aa7ad;text-align:center;padding:10px 12px;font-size:12px}.custom-select-options::-webkit-scrollbar{width:6px}.custom-select-options::-webkit-scrollbar-track{background:0 0}.custom-select-options::-webkit-scrollbar-thumb{background:#d0d9dc;border-radius:3px}.custom-select-options::-webkit-scrollbar-thumb:hover{background:#b8c4c8}.filter-group .custom-select{flex:auto;width:100%;min-width:140px}.filter-group .custom-select .custom-select-trigger{background-color:#fff;min-height:38px;font-size:13px;font-weight:600;box-shadow:0 1px 4px #17232d0a}.filter-group .custom-select .custom-select-trigger:hover{box-shadow:0 2px 8px #1459c81a}.filter-group .custom-select.is-disabled .custom-select-trigger,.filter-group .custom-select.is-disabled .custom-select-trigger:hover{box-shadow:none;background:#f0f2f3}.testcase-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:14px 16px 6px;display:grid}.testcase-summary>div{background:#fff;border:1px solid #e7ecee;border-radius:10px;padding:12px 14px;transition:box-shadow .18s,border-color .18s;box-shadow:0 1px 4px #17232d08}.testcase-summary>div:hover{border-color:#cfe0de;box-shadow:0 3px 12px #17232d0f}.testcase-summary small{color:#92a0a8;margin-bottom:5px;font-size:11px;font-weight:500;display:block}.testcase-summary strong{color:var(--ink);font-size:15px;font-weight:700;line-height:1.3}.testcase-summary .summary-card{align-items:center;gap:12px;padding:12px 16px;display:flex}.testcase-summary .summary-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.testcase-summary .summary-icon svg{width:18px;height:18px}.testcase-summary .summary-text{flex:1;min-width:0}.testcase-summary .summary-text small{margin-bottom:3px}.testcase-summary .summary-text strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.summary-icon-project{color:#1459c8;background:#e8edf4}.summary-icon-product{color:#4f5bd5;background:#eef0fb}.summary-icon-version{color:#d4880f;background:#fff4e6}.summary-icon-module{color:#7c4dcf;background:#f3eefb}.summary-icon-count{color:#2f9e6e;background:#eaf7f0}.summary-icon-pending{color:#c77c14;background:#fff6e7}.summary-icon-draft{color:#6b7a85;background:#f0f2f5}.testcase-list{padding:4px 0}.testcase-row{text-align:left;background:#fff;border:0;border-top:1px solid #eef2f2;grid-template-columns:1fr 70px 14px;align-items:center;gap:12px;width:100%;padding:14px 20px;display:grid}.testcase-row:hover{background:#f8fbfb}.testcase-row.selected{box-shadow:inset 3px 0 var(--teal);background:#eff3f8}.testcase-main{min-width:0}.testcase-main>div{align-items:center;gap:8px;display:flex}.testcase-main strong{font-size:12px}.testcase-main b{margin-top:4px;font-size:12px;display:block}.testcase-main small{color:#9aa6ab;margin-top:4px;font-size:10px;display:block}.testcase-meta{color:#76868e;justify-items:end;gap:3px;font-size:10px;display:grid}.case-card-row{cursor:pointer;border:1px solid #e8eded;border-radius:10px;grid-template-columns:40px 1fr 72px auto;gap:12px;padding:14px 18px;box-shadow:0 1px 6px #17232d09}.case-card-row:hover{background:#f8fbfb;border-color:#cfe3e0;transform:translateY(-1px);box-shadow:0 4px 14px #17232d12}.case-card-row.selected{background:#eff3f8;border-color:#9fb6d5;box-shadow:0 2px 12px #1459c81a}.testcase-icon{color:#3d63a4;background:#dfe7f2;border-radius:10px;place-items:center;width:40px;height:40px;font-size:12px;font-weight:800;display:grid}.case-code-tag{color:#5a6b74;background:#f3f6f7;border-radius:4px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.case-card-row .testcase-main b{color:var(--ink);margin-top:6px;font-size:13px;font-weight:700}.case-card-row .testcase-main small{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.case-card-row .testcase-meta{gap:5px;font-size:12px}.testcase-actions{opacity:0;align-items:center;gap:6px;transition:opacity .15s;display:flex}.case-card-row:hover .testcase-actions,.case-card-row:focus-within .testcase-actions{opacity:1}.row-action-btn{color:#6a7b82;cursor:pointer;background:#fff;border:1px solid #dde4e5;border-radius:9px;place-items:center;width:38px;height:38px;padding:0;transition:all .15s;display:grid}.row-action-btn svg{width:17px;height:17px}.row-action-btn:hover{border-color:var(--teal);color:var(--teal);background:#f0f4f9}.row-action-btn.delete:hover{color:#c45050;background:#fdf3f3;border-color:#d98080}.row-action-btn:disabled{opacity:.45;cursor:not-allowed}.row-action-btn:disabled:hover{color:#6a7b82;background:#fff;border-color:#dde4e5}.priority-badge{border-radius:5px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.priority-badge.priority-P0,.priority-badge.priority-P1{color:#b24c4c;background:#fdeaea}.priority-badge.priority-P2{color:#a26e2e;background:#fff5e6}.priority-badge.priority-P3{color:#418c79;background:#e8f5ef}.full-width .testcase-list{flex-direction:column;gap:8px;padding:10px 16px 14px;display:flex}.case-content{gap:12px;padding:18px 22px 10px;display:grid}.case-content div{background:#fbfcfc;border:1px solid #e7ecee;border-radius:6px;padding:12px 14px}.case-content small{color:#94a2a8;margin-bottom:7px;font-size:10px;display:block}.case-content p{color:#394954;white-space:pre-wrap;margin:0;font-size:12px;line-height:1.6}.action-bar{flex-wrap:wrap;gap:8px;padding:8px 22px 0;display:flex}.history-strip{color:#75858d;flex-wrap:wrap;gap:8px;padding:16px 22px 22px;font-size:10px;display:flex}.history-strip span{background:#f8fbfb;border:1px solid #e7ecee;border-radius:999px;padding:6px 9px}.case-detail-v2{flex-direction:column;padding:0;display:flex}.case-detail-top{background:linear-gradient(#fafcfd 0%,#fff 100%);border-bottom:1px solid #edf1f2;padding:22px 26px 18px}.case-detail-code{align-items:center;gap:10px;margin-bottom:10px;display:flex}.case-code-badge{color:#1459c8;letter-spacing:.5px;background:#e6ecf4;border-radius:6px;padding:4px 12px;font-size:13px;font-weight:800;display:inline-block}.case-status-badge{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.case-status-badge.status-draft{color:#b07820;background:#fef3e2}.case-status-badge.status-active{color:#1a8a5a;background:#e6f7ee}.case-status-badge.status-obsolete{color:#8a9499;background:#f2f3f5}.case-detail-meta-tags{flex-wrap:wrap;gap:8px;display:flex}.meta-tag{color:#5a6b74;background:#fff;border:1px solid #e3eaeb;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}.meta-tag svg{color:#8ba4a1;flex-shrink:0}.case-detail-tabs{background:#fff;border-bottom:1px solid #edf1f2;padding:0 26px}.case-detail-tabs button{margin-right:24px;padding:12px 4px;font-size:13px}.case-detail-body{flex:1;gap:16px;padding:22px 26px;display:grid;overflow-y:auto}.case-info-cards{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.case-info-cards.two-col{grid-template-columns:repeat(2,1fr)}.info-card{background:#fbfcfd;border:1px solid #e8edee;border-radius:10px;align-items:center;gap:14px;padding:16px 18px;transition:box-shadow .15s,border-color .15s;display:flex}.info-card:hover{border-color:#cfe3e0;box-shadow:0 3px 12px #1459c812}.info-card-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.priority-card .info-card-icon{color:#d48806;background:#fff3e0}.status-card .info-card-icon{color:#2e7d32;background:#e8f5e9}.version-card .info-card-icon{color:#1a5fb4;background:#e8f0fe}.info-card-icon svg{flex-shrink:0;width:18px;height:18px;margin:auto;display:block}.info-card-text{gap:3px;display:grid}.info-card-text small{color:#8a9a9e;font-size:11px;font-weight:500}.info-card-text strong{color:#1c2e35;font-size:17px;font-weight:800}.priority-text.priority-P0{color:#c62828}.priority-text.priority-P1{color:#d4690a}.priority-text.priority-P2{color:#1565c0}.priority-text.priority-P3{color:#2e7d32}.case-section{background:#fff;border:1px solid #e8edee;border-radius:10px;overflow:hidden}.case-section-label{color:#2d4a52;background:#f8fbfb;border-bottom:1px solid #edf1f2;align-items:center;gap:8px;padding:11px 16px;font-size:12px;font-weight:700;display:flex}.case-section-label svg{color:#1459c8;flex-shrink:0}.case-section-content{color:#37474f;white-space:pre-wrap;word-break:break-word;padding:14px 16px;font-size:13px;line-height:1.7}.case-section-content.result-content{color:#3d5984;background:#f5f8fb;font-weight:500}.result-section{border-color:#c8d6e6}.result-section .case-section-label{background:#eef3f8;border-bottom-color:#d5e0ed}.empty-text{color:#b0bcc0;font-style:italic}.step-list{counter-reset:step;gap:10px;margin:0;padding:0;list-style:none;display:grid}.step-list li{align-items:flex-start;gap:12px;display:flex}.step-num{color:#1459c8;background:#e6ecf4;border-radius:50%;flex-shrink:0;place-items:center;min-width:24px;height:24px;margin-top:1px;padding:0 6px;font-size:11px;font-weight:800;display:grid}.step-text{color:#37474f;flex:1;line-height:1.65}.case-empty-state{color:#9aabaf;place-items:center;gap:12px;padding:60px 20px;display:grid}.case-empty-state svg{color:#c5d3d4}.case-empty-state p{margin:0;font-size:14px}.case-detail-footer{background:#fafcfc;border-top:1px solid #edf1f2;flex-wrap:wrap;gap:10px;padding:14px 26px 20px;display:flex}.case-detail-footer span{color:#75858d;background:#fff;border:1px solid #e3eaeb;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:11px;display:inline-flex}.case-detail-footer span svg{color:#9cb0ad}.history-item-card{background:#fff;border:1px solid #e8edee;border-radius:10px;margin-bottom:12px;padding:16px 18px;transition:box-shadow .15s}.history-item-card:hover{box-shadow:0 2px 10px #1459c80f}.history-item-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.history-version-badge{color:#1459c8;background:#e6ecf4;border-radius:5px;padding:2px 9px;font-size:11px;font-weight:800}.history-type{color:#5a6b74;background:#f0f3f4;border-radius:5px;padding:2px 9px;font-size:11px;font-weight:600}.history-operator{color:#8a9a9e;margin-left:auto;font-size:11px}.history-summary{color:#37474f;margin:0 0 6px;font-size:13px;line-height:1.6}.history-time{color:#a0aeb2;font-size:11px}.full-width{width:100%}.full-width-product-list{border:none}.detail-page{min-height:calc(100vh - 220px)}.testcase-detail-panel.detail-page{flex-direction:column;height:calc(100dvh - 188px);min-height:320px;display:flex}.testcase-detail-panel.detail-page .case-detail-body{overscroll-behavior:contain;flex:auto;grid-auto-rows:min-content;align-content:start;min-height:0;overflow-y:auto}.testcase-detail-panel.detail-page .case-section{min-height:min-content}.testcase-detail-panel.detail-page.case-detail-page,.testcase-detail-panel.detail-page.defect-detail-page,.testcase-detail-panel.detail-page.execution-detail-page,.testcase-detail-panel.detail-page.release-detail-page{height:auto;min-height:calc(100vh - 220px);max-height:none}.testcase-detail-panel.detail-page.case-detail-page .case-detail-body,.testcase-detail-panel.detail-page.defect-detail-page .case-detail-body,.testcase-detail-panel.detail-page.execution-detail-page .case-detail-body,.testcase-detail-panel.detail-page.release-detail-page .case-detail-body{flex:none;overflow:visible}.dialog-backdrop{z-index:2000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f232d73;place-items:center;padding:20px;animation:.18s dialogFadeIn;display:grid;position:fixed;inset:0}.dialog-card{background:#fff;border-radius:16px;width:min(100%,440px);padding:28px 28px 24px;animation:.22s cubic-bezier(.2,.9,.3,1.1) dialogSlideUp;box-shadow:0 24px 64px #0f2d3738}.dialog-icon{border-radius:12px;place-items:center;width:48px;height:48px;margin-bottom:18px;font-size:22px;font-weight:800;display:grid}.dialog-icon.warning{color:#b24c4c;background:#fff0ef}.dialog-icon.info{color:#3d63a4;background:#dfe7f2}.dialog-card h3{color:#1d2d35;margin:0 0 8px;font-size:18px;font-weight:700}.dialog-card p{color:#5d6d76;margin:0;font-size:14px;line-height:1.6}.dialog-step-indicator{background:#f6f9f9;border-radius:6px;padding:6px 10px;font-weight:600;color:#698cb7!important;margin-top:12px!important;font-size:12px!important}.dialog-input{box-sizing:border-box;color:#1d2d35;background:#fbfcfc;border:1px solid #d8e1e4;border-radius:10px;width:100%;min-height:44px;margin:20px 0 24px;padding:0 14px;font-size:14px;transition:border-color .18s,box-shadow .18s}.dialog-input:focus{background:#fff;border-color:#7d9cc9;outline:none;box-shadow:0 0 0 4px #1459c81f}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.dialog-actions .secondary-button,.dialog-actions .primary-button,.dialog-actions .danger-button{cursor:pointer;border-radius:10px;min-width:92px;min-height:40px;font-size:14px;font-weight:600}.dialog-actions .danger-button{color:#b24c4c;background:#fff0ef;border-color:#f1c8c4}.dialog-actions .danger-button:hover{background:#ffe5e3}.dialog-actions .danger-button:disabled{opacity:.5;cursor:not-allowed;color:#aaa;background:#f5f5f5;border-color:#e0e0e0}.dialog-actions .primary-button:disabled{opacity:.5;cursor:not-allowed}.dialog-confirm-input{margin:14px 0 4px}.dialog-confirm-input .dialog-input{margin:0}@keyframes dialogFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogSlideUp{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.execution-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.execution-summary-grid .metric-card{border-top-width:3px;min-height:0;padding:8px 12px}.execution-summary-grid .metric-card small{color:#8d9da3;font-size:10px}.execution-summary-grid .metric-card strong{margin-top:2px;font-size:18px}.execution-summary-grid .metric-card span{color:#91a0a6;font-size:10px}.execution-summary-grid .metric-sep{font-size:14px}.execution-summary-grid .metric-card.tone-green{border-top-color:#2d9d6f}.execution-summary-grid .metric-card.tone-green strong{color:#1f7a52}.execution-summary-grid .metric-card.tone-red{border-top-color:#d9534f}.execution-summary-grid .metric-card.tone-red strong{color:#b8403c}.execution-summary-grid .metric-card.tone-amber{border-top-color:#e8923a}.execution-summary-grid .metric-card.tone-amber strong{color:#b07028}.execution-mode{border-bottom:1px solid #edf1f1;gap:4px;padding:13px 20px 8px;display:flex}.execution-mode button{color:#8a989e;background:0 0;border:1px solid #0000;border-radius:5px;padding:7px 10px;font-size:11px}.execution-mode button.active{color:#436ca3;background:#eff3f8;border-color:#cfdbe8;font-weight:700}.execution-result{border-radius:4px;width:fit-content;padding:4px 7px;font-size:10px;font-weight:700;display:inline-block}.execution-result.large{align-self:flex-start;margin:4px 22px 0 0;padding:7px 10px;font-size:11px}.execution-result.PASS{color:#1f7a52;background:#e8f7f0}.execution-result.FAIL{color:#b8403c;background:#fef0ef}.execution-result.BLOCK{color:#b07028;background:#fff5e6}.execution-result.NT,.execution-result.UNEXECUTED{color:#6b7c84;background:#f0f3f4}.execution-form{gap:12px;padding:8px 22px 0;display:grid}.execution-form label{color:#8d9ba2;gap:7px;font-size:10px;display:grid}.execution-form textarea,.execution-form select{box-sizing:border-box;color:#394954;width:100%;font:inherit;resize:vertical;background:#fff;border:1px solid #dfe8e8;border-radius:5px;padding:10px;font-size:12px}.execution-actions{flex-wrap:wrap;align-items:center;gap:8px;padding:15px 22px 0;display:flex}.execution-button{cursor:pointer;border:1px solid #0000;border-radius:5px;padding:8px 11px;font-size:11px;font-weight:700;transition:all .15s}.execution-button:disabled{opacity:.55;cursor:wait}.execution-button.pass{color:#287a62;background:#e8f5ef;border-color:#bfe3d8}.execution-button.fail{color:#b24c4c;background:#fff0ef;border-color:#f1c8c4}.execution-button.block{color:#a46b2e;background:#fff5e6;border-color:#f0d5ae}.execution-button.nt{color:#78858d;background:#f4f6f7;border-color:#dfe5e7}.execution-button:hover:not(:disabled):not(.is-current){transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.execution-button.pass.is-current{color:#fff;opacity:1;cursor:default;background:#2d9d6f;border-color:#2d9d6f;box-shadow:0 2px 8px #2d9d6f4d}.execution-button.fail.is-current{color:#fff;opacity:1;cursor:default;background:#d9534f;border-color:#d9534f;box-shadow:0 2px 8px #d9534f4d}.execution-button.block.is-current{color:#fff;opacity:1;cursor:default;background:#e8923a;border-color:#e8923a;box-shadow:0 2px 8px #e8923a4d}.execution-button.nt.is-current{color:#fff;opacity:1;cursor:default;background:#8b9aa3;border-color:#8b9aa3;box-shadow:0 2px 8px #8b9aa34d}.execution-button.is-current:hover:not(:disabled){transform:none}.execution-layout .testcase-detail-panel{min-height:650px}.execution-detail-page{padding:0;position:relative;overflow:hidden}.execution-detail-page .case-detail-top{padding:22px 26px 16px}.execution-detail-page .case-detail-body{padding:0 26px 80px}.execution-detail-page .execution-result.large{margin:0;padding:6px 14px;font-size:13px}.execution-detail-page .case-nav-floating{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border-radius:12px;padding:6px;position:fixed;bottom:22px;right:34px;box-shadow:0 8px 24px #1b59a02e}.case-nav-floating{z-index:5;align-items:center;gap:8px;display:flex;position:absolute;bottom:18px;right:22px}.case-nav-btn{border-radius:8px;align-items:center;gap:5px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 4px 14px #1b59a026}.case-nav-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.case-nav-indicator{color:#8a9a9a;text-align:center;min-width:42px;font-size:12px;font-weight:600}.execution-panel{background:#fafcfc;border:1px solid #e2e8e8;border-radius:10px;margin:4px 0 0;overflow:hidden}.execution-panel-title{color:#2a3b47;background:#f3f7f7;border-bottom:1px solid #e8eeee;align-items:center;gap:8px;margin:0;padding:14px 18px;font-size:14px;font-weight:700;display:flex}.execution-panel .execution-form{padding:16px 18px 0}.execution-panel .execution-actions{padding:14px 18px 0}.execution-panel .history-strip{padding:14px 18px 18px}.execution-button{align-items:center;gap:6px;display:inline-flex}.meta-tag.priority-tag{font-weight:700}.meta-tag.priority-P0{color:#b24c4c;background:#fff0ef;border-color:#f1c8c4}.meta-tag.priority-P1{color:#a46b2e;background:#fff5e6;border-color:#f0d5ae}.meta-tag.priority-P2{color:#1a5fb4;background:#e8f0fe;border-color:#c7d9f5}.meta-tag.priority-P3{color:#287a62;background:#e8f5ef;border-color:#bfe3d8}.execution-list-panel{min-height:500px}.execution-row{grid-template-columns:40px 1fr 90px auto}.execution-row-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.execution-row .execution-result{padding:2px 7px;font-size:10px}.execution-row .testcase-main b{margin-top:5px}.execution-row.has-result{border-left:3px solid #0000;padding-left:15px}.execution-row.result-PASS{border-left-color:#2d9d6f}.execution-row.result-FAIL{border-left-color:#d9534f}.execution-row.result-BLOCK{border-left-color:#e8923a}.execution-row.result-NT{border-left-color:#8b9aa3}.execution-row.result-PASS:hover{border-color:#cfe3e0 #cfe3e0 #cfe3e0 #2d9d6f}.execution-row.result-FAIL:hover{border-color:#f1d5d4 #f1d5d4 #f1d5d4 #d9534f}.execution-row.result-BLOCK:hover{border-color:#f0dfc8 #f0dfc8 #f0dfc8 #e8923a}.execution-row.result-NT:hover{border-color:#d5dde1 #d5dde1 #d5dde1 #8b9aa3}.testcase-icon.icon-PASS{color:#fff;background:#2d9d6f}.testcase-icon.icon-FAIL{color:#fff;background:#d9534f}.testcase-icon.icon-BLOCK{color:#fff;background:#e8923a}.testcase-icon.icon-NT{color:#fff;background:#8b9aa3}.testcase-icon.icon-P0{color:#fff;background:#d9534f}.testcase-icon.icon-P1{color:#fff;background:#e8923a}.testcase-icon.icon-P2{color:#fff;background:#2d9d6f}.testcase-icon.icon-P3{color:#fff;background:#8b9aa3}.row-exec-btn{border:1px solid var(--teal);background:var(--teal);color:#fff;cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.row-exec-btn:hover{background:#125acb;border-color:#125acb;box-shadow:0 2px 8px #1459c840}.row-edit-btn{color:#5a7a76;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #c5d9d6;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.row-edit-btn:hover{color:#1459c8;background:#f5f8fb;border-color:#1459c8;box-shadow:0 2px 8px #1459c81f}.task-progress-tag{color:#3d63a4;background:#f0f4f9;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.select-control-sm{height:32px;padding:4px 28px 4px 10px;font-size:12px}.task-status-btns{gap:4px;display:inline-flex}.toolbar-actions-with-select{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar-actions-with-select .custom-select{min-width:180px}.toolbar-actions-with-select .custom-select.exec-status-select{min-width:160px}.exec-status-select .custom-select-trigger{color:#1459c8;background:linear-gradient(135deg,#f0f5fa 0%,#e6edf5 100%);border:1.5px solid #b8c8dd;border-radius:8px;min-height:40px;padding:0 14px;font-size:13px;font-weight:700;transition:all .18s;box-shadow:0 2px 8px #1459c81a}.exec-status-select .custom-select-trigger:hover{background:linear-gradient(135deg,#e6edf5 0%,#d8e3ef 100%);border-color:#1459c8;transform:translateY(-1px);box-shadow:0 4px 14px #1459c82e}.exec-status-select.open .custom-select-trigger{border-color:#1459c8;box-shadow:0 0 0 3px #1459c826,0 4px 14px #1459c82e}.exec-status-select .custom-select-arrow{color:#1459c8}.exec-status-select .custom-select-value:before{content:"";vertical-align:middle;background:#1459c8;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block;box-shadow:0 0 0 3px #1459c826}.exec-status-select .custom-select-options{border-radius:12px;padding:8px}.exec-status-select .custom-select-option{border-radius:8px;justify-content:flex-start;padding:10px 14px;font-size:13px;font-weight:600}.exec-status-select .custom-select-option svg{margin-left:auto}.exec-status-select .custom-select-option:before{content:"";background:#c5d2d6;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:10px;display:inline-block}.exec-status-select .custom-select-option[data-value=all]:before{background:#1459c8}.exec-status-select .custom-select-option[data-value=pending]:before{background:#e8923a}.exec-status-select .custom-select-option[data-value=done]:before{background:#2d9d6f}.result-filter-bar{background:#fafcfc;border-bottom:1px solid #eef2f2;flex-wrap:wrap;gap:8px;padding:12px 18px;display:flex}.result-filter-chip{color:#5a6b74;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #e2e8ea;border-radius:999px;align-items:center;gap:7px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.result-filter-chip:hover{color:#3d63a4;background:#f5f8fb;border-color:#b8c8dd}.result-filter-chip .chip-dot{background:#b0bcc2;border-radius:50%;flex-shrink:0;width:8px;height:8px}.result-filter-chip .chip-count{color:#6b7c84;background:#edf2f3;border-radius:9px;place-items:center;min-width:20px;height:18px;padding:0 6px;font-size:10px;font-weight:700;display:inline-grid}.result-filter-chip.active{color:#1459c8;background:#f0f5fa;border-color:#1459c8;box-shadow:0 2px 8px #1459c81f}.result-filter-chip.active .chip-count{color:#fff;background:#1459c8}.result-filter-chip.tone-pass .chip-dot{background:#2d9d6f}.result-filter-chip.tone-fail .chip-dot{background:#d9534f}.result-filter-chip.tone-block .chip-dot{background:#e8923a}.result-filter-chip.tone-nt .chip-dot{background:#8b9aa3}.result-filter-chip.tone-pass.active{color:#1f7a52;background:#f0faf4;border-color:#2d9d6f}.result-filter-chip.tone-pass.active .chip-count{background:#2d9d6f}.result-filter-chip.tone-fail.active{color:#b8403c;background:#fef5f5;border-color:#d9534f}.result-filter-chip.tone-fail.active .chip-count{background:#d9534f}.result-filter-chip.tone-block.active{color:#b07028;background:#fff8f0;border-color:#e8923a}.result-filter-chip.tone-block.active .chip-count{background:#e8923a}.result-filter-chip.tone-nt.active{color:#5a6b74;background:#f5f7f8;border-color:#8b9aa3}.result-filter-chip.tone-nt.active .chip-count{background:#8b9aa3}.result-filter-chip.tone-pending .chip-dot{background:#e8923a}.result-filter-chip.tone-done .chip-dot{background:#2d9d6f}.result-filter-chip.tone-pending.active{color:#b07028;background:#fff8f0;border-color:#e8923a}.result-filter-chip.tone-pending.active .chip-count{background:#e8923a}.result-filter-chip.tone-done.active{color:#1f7a52;background:#f0faf4;border-color:#2d9d6f}.result-filter-chip.tone-done.active .chip-count{background:#2d9d6f}.exec-status-chips{flex-wrap:wrap;gap:8px;display:flex}.pool-status-chips{align-items:center}.pool-more-wrap{display:inline-flex;position:relative}.pool-more-trigger .pool-more-caret{margin-left:-2px;transition:transform .18s}.pool-more-trigger.open .pool-more-caret{transform:rotate(180deg)}.pool-more-menu{z-index:300;background:#fff;border:1px solid #d8e1e4;border-radius:10px;gap:2px;min-width:148px;padding:6px;animation:.15s selectDropdownIn;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 28px #17232d24,0 2px 6px #17232d0f}.pool-more-option{color:#3a4d58;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 12px;font-size:12px;font-weight:600;transition:background-color .12s,color .12s;display:flex}.pool-more-option:hover{color:#1459c8;background:#f0f3f8}.pool-more-option.selected{color:#1459c8;background:#e8eff5}.pool-more-option .chip-count{margin-left:auto}.pool-status-chips .result-filter-chip{flex:none}.exec-tab-bar{border-bottom:1px solid #e8eded;gap:4px;padding:0 18px;display:flex}.exec-tab-bar button{color:#6b7c84;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:11px 16px;font-size:13px;font-weight:600;transition:color .15s;display:inline-flex;position:relative}.exec-tab-bar button:hover{color:#3d63a4}.exec-tab-bar button.active{color:#1459c8}.exec-tab-bar button.active:after{content:"";background:#1459c8;border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.exec-tab-count{color:#6b7c84;background:#edf2f3;border-radius:9px;place-items:center;min-width:20px;height:18px;padding:0 6px;font-size:10px;font-weight:700;display:inline-grid}.exec-tab-bar button.active .exec-tab-count{color:#1459c8;background:#dfe7f2}.approval-config-box{background:#f7f9fb;border:1px solid #dcebea;border-radius:6px;gap:9px;margin:16px 20px 20px;padding:14px;display:grid}.approval-config-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.approval-config-head div{gap:3px;display:grid}.approval-config-head small,.approval-config-head>span,.approval-config-box label>span,.form-hint{color:#87979d;font-size:10px}.approval-config-box label{gap:6px;display:grid}.approval-config-box input{box-sizing:border-box;color:#394954;background:#fff;border:1px solid #dfe8e8;border-radius:5px;width:100%;min-height:34px;padding:0 9px;font-size:12px}.approval-config-box .full-button{justify-content:center;width:100%}.approval-config-box .approver-label span{color:#5b7077;font-size:12px;font-weight:700}.approval-scope-hint{background:#edf2f7;border:1px solid #c4d1e2;border-radius:8px;gap:3px;padding:9px 12px;display:grid}.approval-scope-hint b{color:#3560a3;font-size:12px}.approval-scope-hint span{color:#4c7a75;font-size:11px;line-height:1.6}.approval-scope-hint.is-amber{background:#fdf6e9;border-color:#ecd7ae}.approval-scope-hint.is-amber b{color:#9a6d22}.approval-scope-hint.is-amber span{color:#8a6d3b}.approver-flow{flex-direction:column;display:flex}.approver-node{align-items:stretch;gap:12px;display:flex}.approver-node-rail{flex-direction:column;flex:none;align-items:center;width:28px;display:flex}.approver-node-dot{color:#1459c8;background:#e6ecf4;border:1.5px solid #3d63a4;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.approver-node-line{background:#cfe0de;flex:auto;width:2px;min-height:12px;margin:3px 0}.approver-node-card{background:#fff;border:1px solid #d9e5e3;border-radius:10px;flex:auto;justify-content:space-between;align-items:center;gap:10px;min-width:0;margin-bottom:10px;padding:10px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.approver-node-card:hover{border-color:#9fc9c4;box-shadow:0 4px 14px #3d63a414}.approver-node-info{gap:2px;min-width:0;display:grid}.approver-node-info b{color:#1d2d35;font-size:14px;font-weight:700;line-height:1.3}.approver-node-info small{color:#93a2a8;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.approver-node-ops{flex:none;align-items:center;gap:6px;display:flex}.approver-op{color:#5b7077;cursor:pointer;background:#f7fafa;border:1px solid #dfe8e8;border-radius:8px;place-items:center;width:30px;height:30px;transition:all .15s;display:inline-grid}.approver-op:hover:not(:disabled){color:#1459c8;background:#e9eef5;border-color:#3d63a4}.approver-op:disabled{opacity:.3;cursor:not-allowed}.approver-op-remove:hover:not(:disabled){color:#c0564e;background:#fdf3f2;border-color:#e0a09a}.approver-flow-empty{text-align:center;color:#9fb0b4;background:#fafcfd;border:1.5px dashed #d2dedc;border-radius:10px;justify-items:center;gap:6px;margin-bottom:10px;padding:20px 16px;display:grid}.approver-flow-empty b{color:#5b7077;font-size:13px}.approver-flow-empty small{color:#93a2a8;max-width:400px;font-size:12px;line-height:1.6}.approver-add-dot{color:#1459c8;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1.5px dashed #7d9cc9;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;transition:border-color .15s,background-color .15s,color .15s;display:grid}.approver-add-dot:hover{background:#e9eef5;border-color:#3d63a4}.approver-add-dot:focus-visible{outline-offset:2px;outline:2px solid #3d63a473}.approver-add-card{cursor:pointer;background:#fbfcfd;border:1.5px dashed #bdd9d5;border-radius:10px;flex:auto;align-items:center;gap:10px;min-width:0;padding:4px 10px;transition:border-color .15s,background-color .15s;display:flex}.approver-add-card:hover{background:#f4f7fa;border-color:#7d9cc9}.approver-add-card:has(.approver-add-done){cursor:default}.approver-add-card .approver-add-select{width:100%}.approver-add-card .custom-select-trigger{box-shadow:none;color:#1459c8;background:0 0;border:none;min-height:34px;padding:0 2px;font-size:13px;font-weight:600}.approver-add-card .custom-select-trigger:hover{background:0 0}.approver-add-card .custom-select.open .custom-select-trigger{box-shadow:none}.approver-add-tip{color:#9fb0b4;white-space:nowrap;flex:none;font-size:12px}.approver-add-done{color:#9fb0b4;padding:0 4px;font-size:13px}.defect-history{padding-bottom:12px}.version-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 20px 14px;display:grid}.version-card{background:#fbfcfc;border:1px solid #e7ecee;border-radius:6px;gap:4px;padding:12px 13px;display:grid}.version-card div{justify-content:space-between;align-items:center;gap:8px;display:flex}.version-card strong{font-size:12px}.version-card span{color:#9aa6ab;font-size:10px}.version-card small{color:#76868e;font-size:10px}.defect-activity-list,.release-task-list{padding:0 0 10px}.defect-activity-row{padding-top:11px;padding-bottom:11px}.modal-card.wide-modal{width:min(100%,960px)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid label{margin-bottom:0}.form-grid .full-row{grid-column:1/-1}.form-grid textarea,.form-grid select{width:100%;min-height:40px;color:var(--ink);background:#fbfcfc;border:1px solid #d8e1e4;border-radius:5px;outline:0;padding:9px 11px;font-size:13px}.form-grid textarea{resize:vertical}.form-grid input[readonly]{background:#f1f5f6}.page-actions{flex-wrap:wrap;gap:9px;display:flex}.system-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:21px;padding:18px 20px;display:grid}.system-summary div{background:#fbfcfc;border:1px solid #e7ecee;border-radius:6px;gap:5px;min-height:98px;padding:14px 15px;display:grid}.system-summary small{color:#94a2a8;font-size:10px}.system-summary strong{color:var(--ink);font-size:21px}.system-summary span{color:#73828a;font-size:11px;line-height:1.5}.system-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:21px;display:grid}.system-panel{min-height:0;display:grid;overflow:hidden}.system-audit-panel{grid-column:1/-1;min-height:0}.personal-settings-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:21px;display:grid}.settings-panel{flex-direction:column;display:flex}.settings-profile{background:linear-gradient(135deg,#eff3f8,#f8fbfb);border-bottom:1px solid #edf1f2;align-items:center;gap:14px;padding:18px 20px;display:flex}.settings-avatar{background:var(--teal);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:52px;height:52px;font-size:20px;font-weight:800;display:grid;box-shadow:0 6px 14px #1459c838}.settings-profile-meta{gap:4px;min-width:0;display:grid}.settings-profile-meta strong{color:var(--ink);font-size:15px}.settings-profile-meta>span{color:#8a989e;font-size:11px}.settings-profile-meta .chip-group{margin-top:3px}.settings-form{align-content:start;gap:14px;padding:16px 20px 20px;display:grid}.settings-form label{color:#64737c;gap:7px;margin-bottom:0;font-size:11px;font-weight:700;display:grid}.settings-form input{box-sizing:border-box;width:100%;height:40px;color:var(--ink);background:#fbfcfc;border:1px solid #d8e1e4;border-radius:6px;outline:0;padding:0 12px;font-family:inherit;font-size:13px;font-weight:400;transition:border-color .18s,box-shadow .18s,background .18s}.settings-form input:focus{background:#fff;border-color:#7d9cc9;box-shadow:0 0 0 3px #1459c81a}.settings-form input:disabled{color:#6f8088;cursor:not-allowed;background:#f1f5f6}.settings-hint{margin:-4px 0 0}.settings-inline-error{margin:-2px 0 0}.settings-actions{justify-content:flex-end;display:flex}.system-list,.role-stack,.permission-catalog,.member-grid,.member-form-list{display:grid}.system-list,.role-stack,.permission-catalog,.member-grid{gap:10px;padding:14px 16px 16px}.system-list,.role-stack,.member-grid,.audit-list{scrollbar-gutter:stable;min-height:0;max-height:330px;overflow-y:auto}.system-row{background:#fbfcfc;border:1px solid #e7ecee;border-radius:6px;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(176px,.85fr);gap:12px;padding:13px 14px;display:grid}.system-main{align-items:center;gap:11px;min-width:0;display:flex}.system-main strong{font-size:12px}.system-main span,.system-meta small,.role-head span,.permission-row span,.permission-row small,.member-row span,.member-form-main small{color:#92a0a8;font-size:10px}.chip-group{flex-wrap:wrap;align-content:start;gap:6px;display:flex}.info-chip,.member-tags span{color:#52716e;background:#eef2f7;border-radius:4px;padding:4px 7px;font-size:10px}.system-meta{text-align:right;justify-items:end;gap:4px;display:grid}.system-meta span{color:var(--ink);font-size:11px;font-weight:600}.system-user-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.compact-action{min-height:28px;padding:4px 7px;font-size:10px}.role-block{background:#fbfcfc;border:1px solid #e7ecee;border-radius:6px;padding:14px}.role-head{justify-content:space-between;gap:10px;margin-bottom:11px;display:flex}.role-head strong{font-size:12px;display:block}.role-head span,.role-head small{display:block}.permission-cloud{flex-wrap:wrap;gap:7px;display:flex}.permission-chip{color:#60717b;background:#fff;border:1px solid #dce6e8;border-radius:999px;padding:5px 9px;font-size:10px}.permission-chip.active{color:#215eb6;background:#e8eff7;border-color:#9cb5d7}.system-summary>div{grid-template-columns:40px minmax(0,1fr);align-items:center;column-gap:12px}.system-summary>div .sys-stat-icon{grid-row:1/span 3}.system-summary>div small,.system-summary>div strong,.system-summary>div span{grid-column:2}.sys-stat-icon{color:#fff;border-radius:11px;place-items:center;width:40px;height:40px;font-size:16px;font-style:normal;font-weight:800;display:grid;box-shadow:0 6px 14px #17232d24}.sys-stat-icon.tone-blue{background:linear-gradient(135deg,#3d7fbf,#2f6fa8)}.sys-stat-icon.tone-teal{background:linear-gradient(135deg,#1d65ce,#1659c0)}.sys-stat-icon.tone-amber{background:linear-gradient(135deg,#e8923a,#d97706)}.sys-stat-icon.tone-red{background:linear-gradient(135deg,#d9534f,#c0392b)}.system-main .user-avatar{color:#fff;background:linear-gradient(135deg,#1d65ce,#1659c0);border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:grid;box-shadow:0 5px 12px #1659c040}.user-id-block{gap:2px;min-width:0;display:grid}.user-id-block strong{color:var(--ink);font-size:12px}.system-meta .user-status-pill{border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:10px;font-weight:700;display:inline-flex}.system-meta .user-status-pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.user-status-pill.is-active{color:#1f7a52;background:#e6f6ee}.user-status-pill.is-disabled{color:#8a989e;background:#eef2f3}.ghost-button.danger-text{color:#b8403c}.ghost-button.danger-text:hover{background:#fdeeec;border-color:#efc9c7}.role-head .role-perm-count{color:#1659c0;white-space:nowrap;background:#e8eff7;border-radius:999px;align-self:flex-start;padding:3px 9px;font-size:10px;font-weight:700}.audit-main .audit-action-badge{border-radius:4px;align-items:center;padding:3px 10px;font-size:10px;font-weight:700;display:inline-flex}.audit-action-badge.tone-green{color:#1f7a52;background:#e9f6ef}.audit-action-badge.tone-red{color:#c0392b;background:#fdeeec}.audit-action-badge.tone-amber{color:#b07028;background:#fdf3e3}.audit-action-badge.tone-blue{color:#2f6fa8;background:#ecf4fb}.audit-main .audit-resource{color:#3d555b;font-weight:700}.audit-main .delivery-channel-badge{color:#4a52a8;background:#eceefb;border-radius:4px;align-items:center;padding:3px 10px;font-size:10px;font-weight:700;display:inline-flex}.audit-meta .delivery-status-badge{border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:10px;font-weight:700;display:inline-flex}.audit-meta .delivery-status-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.delivery-status-badge.is-success{color:#1f7a52;background:#e6f6ee}.delivery-status-badge.is-failed{color:#c0392b;background:#fdeeec}.delivery-status-badge.is-pending{color:#b07028;background:#fdf3e3}.delivery-row{border-left:3px solid #6b73c4}.report-panel-icon.tone-teal{color:#1659c0;background:#e8eff7}.permission-catalog{padding-top:0}.permission-row{background:#fff;border:1px solid #e7ecee;border-radius:6px;gap:4px;padding:11px 13px;display:grid}.permission-row strong{font-size:11px}.permission-row span{color:var(--ink)}.role-permission-modal{max-height:min(760px,100vh - 48px)}.role-permission-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:48vh;margin-top:15px;padding-right:4px;display:grid;overflow:auto}.permission-setting-row{cursor:pointer;background:#fbfcfc;border:1px solid #e3ebeb;border-radius:5px;align-items:flex-start;gap:9px;margin:0;padding:11px 12px;display:flex}.permission-setting-row:has(input:disabled){cursor:default;opacity:.68}.permission-setting-row input{width:auto;min-height:0;accent-color:var(--teal);margin-top:2px}.permission-setting-main{gap:4px;min-width:0;display:grid}.permission-setting-main strong{color:var(--ink);font-size:11px}.permission-setting-main small{color:#819097;font-size:10px;line-height:1.45}.system-project-panel{gap:12px}.system-project-head{justify-content:space-between;gap:10px;padding:0 16px;display:flex}.system-project-head strong{font-size:13px}.system-project-head span{color:#92a0a8;font-size:11px}.member-grid{padding-top:2px}.member-row{background:#fbfcfc;border:1px solid #e7ecee;border-radius:6px;gap:8px;padding:13px 14px;display:grid}.member-row>div:first-child{justify-content:space-between;gap:10px;display:flex}.member-row strong{font-size:12px}.member-tags{flex-wrap:wrap;gap:6px;display:flex}.full-button{width:calc(100% - 32px);margin:0 16px 16px}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:6px;display:grid}.check-row{background:#fff;border:1px solid #e7ecee;border-radius:6px;align-items:center;gap:8px;padding:9px 10px;font-weight:600;margin:0!important;display:flex!important}.check-row input{width:14px;height:14px}.member-form-list{gap:8px;max-height:52vh;padding-right:4px;overflow:auto}.member-form-row{background:#fff;border:1px solid #e7ecee;border-radius:6px;grid-template-columns:16px minmax(0,1fr) 90px;align-items:center;gap:10px;padding:11px 12px;display:grid;margin:0!important}.member-form-row input[type=checkbox]{width:14px;height:14px}.member-form-main{gap:4px;min-width:0;display:grid}.member-form-main strong{font-size:12px}.member-form-scope{color:#56706e;justify-self:end;font-size:10px}.modal-card textarea,.modal-card select{width:100%;min-height:40px;color:var(--ink);background:#fbfcfc;border:1px solid #d8e1e4;border-radius:5px;outline:0;padding:9px 11px;font-size:13px}.modal-card textarea{resize:vertical}.modal-card select:focus,.modal-card textarea:focus{border-color:#7d9cc9;box-shadow:0 0 0 3px #1459c81a}.modal-card select:disabled{cursor:not-allowed;color:#97a5aa;background:#f1f5f6}.modal-card input[readonly],.modal-card input:disabled{color:#6f8088;cursor:not-allowed;background:#f1f5f6}.login-form input,.modal-card input,.modal-card textarea,.modal-card select,.modal-card label .custom-select{width:100%}.modal-card label .custom-select-trigger{height:40px;min-height:0;color:var(--ink);box-sizing:border-box;background:#fbfcfc;border-color:#d8e1e4;border-radius:5px;padding:0 11px;font-size:13px;font-weight:400}.modal-card label .custom-select-trigger:hover{background:#fff;border-color:#a8c7c4}.modal-card label .custom-select.open .custom-select-trigger{background:#fff;border-color:#7d9cc9;box-shadow:0 0 0 3px #1459c81a}.modal-card label .custom-select-value.is-placeholder{color:#aab5bb;font-weight:400}.modal-card label.has-error .custom-select-trigger{border-color:#e05b4b}.modal-card label.has-error .custom-select.open .custom-select-trigger{box-shadow:0 0 0 3px #e05b4b1f}.import-hint{color:#71818a;margin:-8px 0 14px;font-size:11px;line-height:1.6}.import-target-row{background:linear-gradient(135deg,#f0f4f8 0%,#f7f9fb 100%);border:1px solid #d4dde8;border-radius:10px;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;padding:14px;display:grid}.import-target-row .form-field label{color:#41659b;letter-spacing:.3px;font-size:11px;font-weight:700}.import-target-row .custom-select-trigger{background-color:#fff;min-height:36px;font-weight:600;box-shadow:0 1px 4px #17232d0a}.import-target-row .custom-select-trigger:hover{border-color:#a8c7c4;box-shadow:0 2px 8px #1459c81a}.import-toolbar{justify-content:flex-end;margin-bottom:10px;display:flex}.template-download-btn{color:#1459c8;cursor:pointer;background:#f0f4f8;border:1px solid #b8d8d4;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.template-download-btn:hover{background:#e0e7f0;border-color:#1459c8;box-shadow:0 2px 6px #1459c81f}.template-download-btn:active{transform:translateY(1px)}.file-drop-zone{cursor:pointer;background:#fafcfb;border:2px dashed #c5d8d5;border-radius:10px;margin-bottom:4px;transition:all .2s;display:block}.file-drop-zone:hover{background:#f0f4f8;border-color:#1459c8}.file-drop-zone.drag-over{background:#e6edf5;border-style:solid;border-color:#1459c8;box-shadow:0 0 0 3px #1459c81a}.file-drop-zone.has-file{background:#f7f9fb;border-style:solid;border-color:#b8d8d4}.file-placeholder{color:#8a9da8;flex-direction:column;align-items:center;gap:6px;padding:28px 20px;display:flex}.file-placeholder svg{color:#b0c4c0;margin-bottom:2px}.file-placeholder-text{color:#4a6b68;font-size:13px;font-weight:600}.file-placeholder-hint{color:#9aafab;font-size:11px}.file-selected{align-items:center;gap:10px;padding:14px 16px;display:flex}.file-selected svg{color:#1459c8;flex-shrink:0}.file-selected-name{color:#2d4a47;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.file-clear-btn{color:#6a7d7a;cursor:pointer;background:#e8efee;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;line-height:1;transition:all .15s;display:flex}.file-clear-btn:hover{color:#fff;background:#1459c8}.import-example{border:1px solid #d4dde8;border-radius:8px;margin-top:12px;overflow:hidden}.import-example-title{color:#41659b;background:#f0f4f8;border-bottom:1px solid #d4dde8;padding:8px 12px;font-size:12px;font-weight:700}.import-example-table{border-collapse:collapse;width:100%;font-size:11px}.import-example-table th{text-align:left;color:#4a5d68;white-space:nowrap;background:#f7f9fb;border-bottom:1px solid #d4dde8;padding:6px 8px;font-weight:600}.import-example-table td{color:#5a6d78;border-bottom:1px solid #eef3f2;padding:6px 8px;line-height:1.5}.import-example-table tbody tr:last-child td{border-bottom:none}.import-result-modal{flex-direction:column;max-height:85vh;display:flex}.import-result{padding:4px 2px;overflow-y:auto}.import-result-summary{border-radius:10px;align-items:center;gap:14px;margin-bottom:16px;padding:16px 18px;display:flex}.import-result-summary.success{background:#edf8f4;border:1px solid #b8e0d4}.import-result-summary.has-errors{background:#fef6ed;border:1px solid #f0d4a8}.import-result-icon{border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:22px;font-weight:800;display:grid}.import-result-summary.success .import-result-icon{color:#1a8a6a;background:#d4f0e4}.import-result-summary.has-errors .import-result-icon{color:#c47a20;background:#fae4c4}.import-result-title{color:#1f2d3d;margin-bottom:4px;font-size:16px;font-weight:700}.import-result-detail{color:#5a6d78;font-size:13px}.import-result-rows-title{color:#2d3e4a;margin-bottom:10px;font-size:13px;font-weight:700}.import-result-rows-list{gap:8px;max-height:360px;padding-right:4px;display:grid;overflow-y:auto}.import-result-row{background:#fbfcfc;border:1px solid #e7ecee;border-radius:7px;align-items:baseline;gap:10px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.import-result-row-no{color:#c47a20;white-space:nowrap;flex-shrink:0;font-weight:700}.import-result-row-code{color:#1459c8;white-space:nowrap;background:#f0f4f8;border-radius:4px;flex-shrink:0;padding:2px 7px;font-family:monospace;font-size:11px}.import-result-row-msg{color:#4a5d68;word-break:break-word}.drawer-backdrop{z-index:12;background:#10232d3d;position:fixed;inset:0}.drawer-panel{background:#fff;grid-template-rows:auto auto auto 1fr;width:min(100%,420px);height:100%;padding:18px 16px;display:grid;position:absolute;top:0;right:0;box-shadow:-20px 0 40px #10232d24}.drawer-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:12px;padding-bottom:12px;display:flex}.drawer-header h2{margin:7px 0 0;font-size:20px}.drawer-toolbar{grid-template-columns:1fr 1fr;gap:10px;padding:14px 0 10px;display:grid}.drawer-actions{gap:8px;padding-bottom:10px;display:flex}.notification-drawer-panel{grid-template-rows:auto auto auto 1fr auto}.notification-drawer-title h2{align-items:center;gap:8px;display:flex}.notification-unread-badge{color:var(--red);letter-spacing:.2px;background:#fdecec;border:1px solid #f6d2d2;border-radius:20px;padding:2px 9px;font-size:11px;font-style:normal;font-weight:600}.notification-filter-bar{gap:10px;padding:14px 0 10px;display:grid}.notification-chip-row{flex-wrap:wrap;gap:6px;display:flex}.notification-chip{border:1px solid var(--line);color:#5c6b74;cursor:pointer;background:#f6f9f9;border-radius:20px;padding:4px 12px;font-size:11px;transition:all .15s}.notification-chip:hover{border-color:var(--teal);color:var(--teal)}.notification-chip.active{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}.notification-segmented{background:#f0f4f5;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;display:grid}.notification-segmented button{color:#6a7a83;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 0;font-size:11px;transition:all .15s}.notification-segmented button.active{color:var(--teal);background:#fff;font-weight:600;box-shadow:0 1px 4px #10232d1a}.notification-drawer-actions{align-items:center}.notification-drawer-actions button{align-items:center;gap:5px;display:inline-flex}.notification-batch-delete{color:#b24c4c;cursor:pointer;background:#fff0ef;border:1px solid #f1c8c4;border-radius:7px;min-height:38px;padding:0 16px;font-size:12px;font-weight:700;transition:all .15s}.notification-batch-delete:hover{background:#ffe5e3}.notification-list{align-content:start;gap:10px;padding:2px 2px 8px;display:grid;overflow:auto}.notification-card{background:#fbfcfc;border:1px solid #e7ecee;border-radius:9px;grid-template-columns:20px 1fr;gap:8px;padding:12px 12px 10px;transition:all .15s;display:grid;position:relative}.notification-card:hover{border-color:#cdd9dc;box-shadow:0 2px 10px #10232d0d}.notification-card.unread{background:#f1f6fa;border-color:#bfd0e3}.notification-card.unread:before{content:"";background:var(--teal);border-radius:3px;width:3px;position:absolute;top:14px;bottom:14px;left:0}.notification-check{cursor:pointer;place-items:start;padding-top:3px;display:grid}.notification-check input{width:14px;height:14px;accent-color:var(--teal);cursor:pointer}.notification-card-body{gap:6px;min-width:0;display:grid}.notification-card-head{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.notification-category-tag{letter-spacing:.3px;white-space:nowrap;border-radius:5px;padding:2px 7px;font-size:10px;font-weight:600}.notification-category-tag.teal{color:#165ec1;background:#dce7f3}.notification-category-tag.red{color:#c0392b;background:#fde8e5}.notification-category-tag.orange{color:#b36a12;background:#fdf0dc}.notification-category-tag.blue{color:#1f6fb2;background:#e2effa}.notification-category-tag.amber{color:#8a6d1a;background:#f8f1d8}.notification-unread-dot{background:var(--red);border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 3px #dc4c4626}.notification-card-title{color:#24323b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.notification-card-time{color:#98a6ad;white-space:nowrap;font-size:10px}.notification-card-content{color:#4d5c65;margin:0;font-size:12px;line-height:1.65}.notification-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.notification-card-meta{color:#95a3aa;gap:10px;font-size:10px;display:flex}.notification-card-buttons{align-items:center;gap:4px;margin-left:auto;display:flex}.notification-link-button{color:var(--teal);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:3px 6px;font-size:11px;font-weight:600}.notification-link-button:hover{background:#e6eef5}.notification-delete-button{color:#a08b89;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:4px;padding:3px 7px;font-size:11px;transition:all .15s;display:inline-flex}.notification-delete-button:hover{color:var(--red);background:#fdecec}.notification-list-foot{border-top:1px solid var(--line);color:#8a98a0;justify-content:space-between;align-items:center;padding-top:10px;font-size:11px;display:flex}.notification-select-all{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.notification-select-all input{width:14px;height:14px;accent-color:var(--teal);cursor:pointer}.notification-empty{text-align:center;justify-items:center;gap:6px;padding:48px 16px;display:grid}.notification-empty-icon{color:#c3d0d4;font-size:34px}.notification-empty p{color:#5c6b74;margin:0;font-size:13px;font-weight:600}.notification-empty small{color:#98a6ad;font-size:11px;line-height:1.6}.attachment-list{flex-wrap:wrap;gap:7px;display:flex}.attachment-name{color:#53666e;background:#fff;border:1px solid #e1e9e9;border-radius:5px;align-items:center;gap:7px;padding:6px 8px;font-size:10px;display:inline-flex}.attachment-link a{color:var(--teal);text-decoration:none}.attachment-link a:hover{text-decoration:underline}.file-button{justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-button.disabled{opacity:.65;cursor:wait}.module-preview{align-items:center;gap:22px;min-height:280px;padding:42px;display:flex}.preview-mark{width:62px;height:62px;color:var(--teal);background:var(--teal-soft);border-radius:14px;place-items:center;font-size:28px;font-weight:800;display:grid}.module-preview h2{margin:0 0 8px;font-size:20px}.module-preview p{max-width:480px;color:var(--muted);margin:0;font-size:13px}.preview-stats{flex-wrap:wrap;gap:9px;margin-top:24px;display:flex}.preview-stats span{color:#53726f;background:#f7f9fb;border:1px solid #e1e9e9;border-radius:5px;padding:8px 10px;font-size:11px}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;margin-top:21px;display:grid}.report-grid .panel{min-height:250px}.report-bar-list{gap:15px;padding:22px 20px;display:grid}.report-bar-row{color:#64737c;grid-template-columns:92px 1fr 28px;align-items:center;gap:10px;font-size:11px;display:grid}.report-bar-row b{color:var(--ink);text-align:right}.report-bar-track{background:#edf2f2;border-radius:5px;height:8px;overflow:hidden}.report-bar-fill{border-radius:inherit;background:#6f90b8;height:100%;display:block}.report-bar-fill.red{background:#d47b72}.report-bar-fill.amber{background:#d4a25c}.report-bar-fill.neutral{background:#9aaeb5}.export-job-panel{margin-top:21px}.export-job-list .activity-row{align-items:center}.export-job-list .activity-row>div{flex:1;min-width:0}.export-job-list .activity-row b,.export-job-list .activity-row span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.export-job-list .text-button{white-space:nowrap;flex:none}.dashboard-builder-panel{margin-top:21px}.dashboard-builder-panel .panel-header{align-items:center}.dashboard-toolbar{align-items:center;gap:8px;display:flex}.dashboard-select{min-width:190px;height:34px;color:var(--ink);cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%2371808a' d='M5 6L0 0h10z'/%3E%3C/svg%3E") right 10px center no-repeat;border:1px solid #d8e1e4;border-radius:6px;outline:0;padding:0 26px 0 10px;font-size:12px;transition:border-color .15s,box-shadow .15s}.dashboard-select:hover{border-color:#9eb5d5}.dashboard-select:focus{border-color:#7d9cc9;box-shadow:0 0 0 3px #1459c81a}.report-filter-bar{background:#fbfcfc;border-bottom:1px solid #e4ecec;align-items:center;gap:16px;padding:14px 20px;display:flex}.report-filter-bar.standalone{border:1px solid #e4ecec;border-radius:8px;margin-bottom:16px}.report-filter-bar .filter-group{align-items:center;gap:8px;display:flex}.report-filter-bar .filter-label{color:#71818a;white-space:nowrap;font-size:11px;font-weight:700}.report-filter-bar .filter-select{min-width:140px;height:32px;color:var(--ink);cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%2371808a' d='M5 6L0 0h10z'/%3E%3C/svg%3E") right 10px center no-repeat;border:1px solid #d8e1e4;border-radius:6px;outline:0;padding:0 26px 0 10px;font-size:12px;transition:border-color .15s}.report-filter-bar .filter-select:hover{border-color:#9eb5d5}.report-filter-bar .filter-select:focus{border-color:#7d9cc9;box-shadow:0 0 0 3px #1459c81a}.report-filter-bar .filter-select:disabled{color:#aab4b8;cursor:not-allowed;background:#f0f2f3}@media (width<=768px){.report-filter-bar{flex-wrap:wrap;gap:10px}.report-filter-bar .filter-select{min-width:120px}}.dashboard-builder{grid-template-columns:270px minmax(0,1fr);gap:21px;padding:0 20px 20px;display:grid}.dashboard-config{align-content:start;gap:12px;display:grid}.dashboard-config>label{color:#71818a;gap:6px;font-size:11px;font-weight:700;display:grid}.dashboard-config input{width:100%;height:36px;color:var(--ink);background:#fbfcfc;border:1px solid #d8e1e4;border-radius:5px;outline:0;padding:0 10px;font-size:12px}.dashboard-config input:focus{border-color:#7d9cc9;box-shadow:0 0 0 3px #1459c81a}.widget-options{gap:7px;margin-top:3px;display:grid}.widget-options>small{color:#8a989e;font-size:10px;font-weight:700}.widget-option{cursor:pointer;background:#fbfcfc;border:1px solid #e3ebeb;border-radius:5px;align-items:flex-start;gap:8px;padding:9px 10px;display:flex}.widget-option input{accent-color:var(--teal);margin-top:2px}.widget-option span{gap:3px;display:grid}.widget-option b{color:var(--ink);font-size:11px}.widget-option small{color:#8b999f;font-size:10px;line-height:1.4}.custom-dashboard-preview{background:#f8fbfb;border:1px solid #e4ecec;border-radius:6px;min-width:0;padding:15px}.preview-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.preview-heading>div{gap:3px;display:grid}.preview-heading small{color:var(--teal);font-size:10px;font-weight:700}.preview-heading strong{font-size:14px}.preview-heading>span{color:#8c9aa0;font-size:10px}.custom-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.custom-dashboard-widget{background:#fff;border:1px solid #e3ebeb;border-radius:6px;min-width:0;overflow:hidden}.custom-dashboard-widget.wide-widget{grid-column:1/-1}.custom-dashboard-widget .panel-header{min-height:45px;padding:11px 13px 8px}.custom-dashboard-widget .panel-header h3{margin:0;font-size:12px}.custom-dashboard-widget .report-bar-list{gap:10px;padding:13px}.custom-dashboard-widget .report-bar-row{grid-template-columns:70px 1fr 24px;gap:7px;font-size:10px}.custom-dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:13px;display:grid}.custom-dashboard-metrics>div{background:#fbfcfc;border:1px solid #e8eeee;border-radius:5px;gap:4px;min-width:0;padding:10px;display:grid}.custom-dashboard-metrics small{color:#8c9aa0;font-size:9px}.custom-dashboard-metrics strong{color:var(--ink);font-size:18px}.custom-dashboard-metrics span{color:#8c9aa0;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.report-page{display:block}.report-export-actions{flex-wrap:wrap;justify-content:flex-end}.report-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 4px;display:grid}.report-metric-card{background:#fff;border:1px solid #e3ebec;border-radius:10px;min-width:0;padding:16px 18px 15px 20px;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden;box-shadow:0 6px 20px #17232d0d}.report-metric-card:before{content:"";background:#6f90b8;width:4px;position:absolute;top:0;bottom:0;left:0}.report-metric-card.tone-blue:before{background:#4f93c9}.report-metric-card.tone-green:before{background:#2d9d6f}.report-metric-card.tone-red:before{background:#d9534f}.report-metric-card.tone-amber:before{background:#e8923a}.report-metric-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #17232d17}.report-metric-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.report-metric-top span{color:#7c8c93;font-size:12px;font-weight:600}.report-metric-top i{border-radius:8px;place-items:center;width:30px;height:30px;font-size:14px;font-style:normal;font-weight:800;line-height:1;display:grid}.report-metric-card.tone-blue .report-metric-top i{color:#2f6fa8;background:#ecf4fb}.report-metric-card.tone-green .report-metric-top i{color:#1f7a52;background:#e9f6ef}.report-metric-card.tone-red .report-metric-top i{color:#c0392b;background:#fdeeec}.report-metric-card.tone-amber .report-metric-top i{color:#b07028;background:#fdf3e3}.report-metric-card strong{color:var(--ink);letter-spacing:-.5px;margin:12px 0 4px;font-size:30px;line-height:1;display:block}.report-metric-card.tone-blue strong{color:#2f6fa8}.report-metric-card.tone-green strong{color:#1f7a52}.report-metric-card.tone-red strong{color:#c0392b}.report-metric-card.tone-amber strong{color:#b07028}.report-metric-card p{color:#97a4aa;margin:0;font-size:11px}.report-panel-icon{vertical-align:-2px;border-radius:7px;place-items:center;width:24px;height:24px;margin-right:9px;font-size:12px;font-style:normal;font-weight:800;line-height:1;display:inline-grid}.report-panel-icon.tone-blue{color:#2f6fa8;background:#ecf4fb}.report-panel-icon.tone-green{color:#1f7a52;background:#e9f6ef}.report-panel-icon.tone-red{color:#c0392b;background:#fdeeec}.report-panel-icon.tone-amber{color:#b07028;background:#fdf3e3}.report-chart-panel{flex-direction:column;min-height:0;display:flex}.report-chart-panel .panel-header{flex:none}.report-page .report-bar-list{align-content:start;gap:15px;padding:20px}.report-page .report-bar-row{color:#5f6e76;grid-template-columns:86px 1fr 34px;gap:12px;font-size:12px}.report-page .report-bar-track{border-radius:6px;height:10px}.report-page .report-bar-fill{border-radius:6px}.report-page .report-bar-row b{font-size:14px}.export-job-row{align-items:center}.export-status-badge{vertical-align:1px;white-space:nowrap;border-radius:20px;margin-right:8px;padding:2px 9px;font-size:10px;font-weight:700;display:inline-block}.export-status-badge.is-success{color:#1f7a52;background:#e6f6ee}.export-status-badge.is-failed{color:#c0392b;background:#fdeeec}.export-status-badge.is-pending{color:#b07028;background:#fdf3e3}@media (width<=1120px){.report-metric-grid{gap:12px}.report-metric-card strong{font-size:26px}}@media (width<=860px){.report-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=610px){.report-metric-grid{grid-template-columns:1fr}.report-export-actions{justify-content:stretch}.report-export-actions button{flex:auto}}.modal-backdrop{z-index:10;background:#10232d59;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:9px;width:min(100%,430px);padding:24px;box-shadow:0 22px 60px #0d1e2733}.modal-header{justify-content:space-between;margin-bottom:24px;display:flex}.modal-header h2{margin:7px 0 0;font-size:20px}.modal-card label,.login-form label{color:#64737c;gap:7px;margin-bottom:16px;font-size:11px;font-weight:700;display:grid}.modal-card input,.login-form input{height:40px;color:var(--ink);background:#fbfcfc;border:1px solid #d8e1e4;border-radius:5px;outline:0;padding:0 11px;font-size:13px}.modal-card input:focus,.login-form input:focus{border-color:#7d9cc9;box-shadow:0 0 0 3px #1459c81a}.modal-actions{justify-content:flex-end;gap:9px;margin-top:24px;display:flex}.toast{z-index:2200;color:#fff;box-shadow:var(--shadow);background:#193a45;border-radius:5px;padding:11px 16px;font-size:12px;position:fixed;bottom:24px;right:28px}.app-shell:has(.case-nav-floating) .toast{bottom:86px}.login-page{background:#f4f7f7;grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-visual{color:#fff;background:#173a48;flex-direction:column;justify-content:center;padding:11vw;display:flex;position:relative;overflow:hidden}.visual-grid{opacity:.35;background-image:linear-gradient(#779dcd1f 1px,#0000 1px),linear-gradient(90deg,#779dcd1f 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(130deg,#000 15%,#0000 80%);mask-image:linear-gradient(130deg,#000 15%,#0000 80%)}.visual-copy,.visual-foot{z-index:1;position:relative}.visual-copy{max-width:520px}.visual-copy .eyebrow{color:#769cce}.visual-copy h1{color:#fff;letter-spacing:-2px;margin:18px 0;font-size:clamp(34px,4.8vw,66px);line-height:1.06}.visual-copy h1 em{color:#739bd0;font-style:normal}.visual-copy p{color:#a9c1c5;max-width:390px;font-size:14px;line-height:1.7}.visual-foot{color:#7c9da5;font-size:11px;position:absolute;bottom:34px;left:11vw}.login-panel{background:#fff;flex-direction:column;justify-content:center;padding:8vw;display:flex}.login-brand{margin-bottom:76px}.login-brand b{color:var(--ink)}.login-heading span{color:var(--teal);font-size:12px;font-weight:700}.login-heading h2{margin:7px 0;font-size:30px}.login-heading p{color:#9aa6ac;margin:0 0 30px;font-size:13px}.login-form{max-width:350px}.form-error{color:var(--red);margin:-4px 0 12px;font-size:11px}.login-hint{color:#a7b0b5;margin-top:19px;font-size:11px}@media (width<=1120px){.sidebar{flex-basis:215px;width:215px}.content{padding:30px 26px}.search-box{width:190px}}@media (width<=860px){.sidebar{flex-basis:68px;width:68px;padding-inline:9px}.workspace-meta,.nav-item>span:not(.nav-icon),.nav-item b,.nav-label{display:none}.workspace-switcher{justify-content:center;margin-bottom:12px;padding-inline:0}.nav-item{justify-content:center;padding:0}.topbar{padding-inline:22px}.content{padding:27px 20px}.dashboard-grid,.project-layout,.testcase-layout,.system-layout,.personal-settings-layout,.report-grid{grid-template-columns:1fr}.metric-grid,.system-summary{grid-template-columns:repeat(2,1fr)}.requirement-list{grid-template-columns:1fr}.requirement-row{border-bottom:1px solid #eef2f2;border-right:0}.version-board,.dashboard-builder{grid-template-columns:1fr}.dashboard-config{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-config .widget-options,.dashboard-config .page-actions{grid-column:1/-1}}@media (width<=610px){.topbar{height:auto;min-height:62px;padding-block:13px}.breadcrumbs span,.breadcrumbs b{display:none}.topbar-actions{gap:9px}.search-box{width:145px}.search-box kbd{display:none}.page-header{flex-direction:column;align-items:start;gap:15px}.page-header h1{font-size:25px}.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-card{min-height:115px;padding:13px}.metric-card strong{font-size:23px}.table-head,.table-row{grid-template-columns:1.4fr 1fr 1.1fr}.table-head span:nth-child(n+4),.table-row>span:nth-child(n+4){display:none}.project-card{grid-template-columns:38px 1fr 42px 18px;gap:10px;padding:12px 14px}.project-symbol,.product-icon{width:38px;height:38px;font-size:12px}.project-card-main strong{font-size:13px}.project-card-stats b{font-size:16px}.project-card-stats:nth-of-type(2),.project-card .status-pill{display:none}.detail-tabs{gap:10px;overflow:auto}.detail-summary{margin-inline:13px}.product-row{flex-wrap:wrap;gap:10px;padding:12px 14px}.product-icon{width:36px;height:36px;font-size:11px}.product-main strong{font-size:13px}.product-actions{justify-content:flex-end;width:100%}.version-stack{display:none}.module-preview{flex-direction:column;align-items:flex-start;padding:25px}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh;padding:35px}.login-brand{margin-bottom:70px}.version-board{grid-template-columns:1fr;padding-inline:13px}.system-summary,.system-layout,.system-row{grid-template-columns:1fr}.member-form-row{grid-template-columns:16px 1fr}.member-form-scope{justify-self:start}.dashboard-config{grid-template-columns:1fr}.dashboard-config .widget-options,.dashboard-config .page-actions{grid-column:auto}.custom-dashboard-grid{grid-template-columns:1fr}.custom-dashboard-widget.wide-widget{grid-column:auto}.custom-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-builder-panel .panel-header{flex-direction:column;align-items:flex-start;gap:10px}.dashboard-select{min-width:0;max-width:100%}}.product-actions{align-items:center;gap:8px;display:flex}.product-actions .text-button{background:#f8fbfb;border:1px solid #e2e9ea;border-radius:5px;padding:5px 10px;font-size:11px}.product-actions .text-button:hover{background:#eef1f6;border-color:#cfdae8}.product-actions .text-button.danger-text:hover{background:#fdf2f2;border-color:#f0d4d4}.inline-delete{color:#a46e2e;cursor:pointer;background:0 0;border:0;margin-left:2px;padding:0 4px;font-size:11px;line-height:1}.inline-delete:hover{color:#b24c4c}.muted-inline{color:#9aa6ab;font-size:10px}.compact-empty{padding-block:28px}.audit-list{gap:10px;padding:14px 16px 16px;display:grid}.audit-row{background:#fbfcfc;border:1px solid #e7ecee;border-radius:6px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;padding:12px 14px;display:grid}.audit-main{gap:4px;min-width:0;display:grid}.audit-main strong{font-size:12px}.audit-main span,.audit-meta span{color:#92a0a8;font-size:10px}.audit-meta{text-align:right;justify-items:end;gap:4px;display:grid}.detail-tabs button{cursor:pointer}.product-stats-text{text-align:right;justify-items:end;gap:4px;display:grid}.product-stats-text strong{font-size:12px}.product-stats-text span{color:#9aa6ab;font-size:10px}@media (width>=611px){.product-row:has(.module-stack){flex-wrap:wrap;align-items:center;gap:12px 14px;padding:16px 18px}.product-row:has(.module-stack) .product-icon{flex:none;order:1}.product-row:has(.module-stack) .product-main{flex:200px;order:2;min-width:200px}.product-row:has(.module-stack) .product-actions{flex:none;order:3;margin-left:auto}:is(.product-row:has(.module-stack) .module-stack,.product-row:has(.module-stack) .version-stack){flex:100%;justify-content:flex-start;max-width:none;margin-left:52px}.product-row:has(.module-stack) .module-stack{border-top:1px solid #edf1f5;order:4;margin-top:2px;padding-top:12px}.product-row:has(.module-stack) .version-stack{order:5}}.records-heading{padding:22px 22px 12px}.records-heading h3{margin:0;font-size:14px}.project-audit-list{margin:0 10px 18px}.member-heading-actions{align-items:center;gap:10px;display:flex}.member-refresh{padding:4px 12px;font-size:11px}@media (width<=860px){.role-permission-options{grid-template-columns:1fr}}.page-action{min-width:0}.page-actions{align-items:center}.panel-header,.panel-toolbar{gap:14px}.panel-header>*,.panel-toolbar>*{min-width:0}.panel-toolbar .toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.panel-header .text-button{white-space:nowrap}.table-row:hover,.audit-row:hover,.system-row:hover,.role-block:hover,.member-row:hover,.permission-row:hover{background:#f8fbfb}.table-row,.audit-row,.system-row,.role-block,.member-row,.permission-row{transition:background .18s,border-color .18s,box-shadow .18s}.system-row:hover,.role-block:hover,.member-row:hover,.permission-row:hover{border-color:#d4e4e3;box-shadow:0 5px 14px #17232d0a}.modal-backdrop{overscroll-behavior:contain;overflow-y:auto}.modal-card{scrollbar-width:thin;scrollbar-color:#cbd7db transparent;max-height:calc(100dvh - 32px);overflow:auto}.modal-card::-webkit-scrollbar{width:7px}.modal-card::-webkit-scrollbar-thumb{background:#cbd7db;border-radius:8px}.modal-header{z-index:1;background:#fff;padding-top:1px;position:sticky;top:-24px}.modal-actions{z-index:1;background:linear-gradient(#fff 72%,#ffffffeb);padding:14px 0 1px;position:sticky;bottom:-24px}.role-permission-modal .modal-header,.role-permission-modal .modal-actions{position:static}.form-grid input,.form-grid select,.form-grid textarea{transition:border-color .18s,box-shadow .18s,background .18s}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.dashboard-config input:focus{background:#fff;border-color:#7d9cc9;outline:0;box-shadow:0 0 0 3px #1459c81a}.empty-state{place-items:center;min-height:150px;display:grid}.search-result:focus-visible,.nav-item:focus-visible,.testcase-row:focus-visible,.project-card:focus-visible,.todo-row:focus-visible{z-index:1;outline-offset:-3px;outline:3px solid #1459c833;position:relative}@media (width<=1400px){.sidebar{flex-basis:220px;width:220px;padding:20px 12px 14px}.nav-item{gap:10px;min-height:36px;font-size:12px}.nav-icon{font-size:15px}.nav-label{margin:16px 8px 6px;font-size:9px}.workspace-switcher{margin:4px 0 12px;padding:12px 8px}.topbar{flex-basis:58px;gap:18px;height:58px}.search-wrapper{width:200px}.search-box{height:32px}.content{max-width:1360px;padding:24px 24px 48px}.page-header{gap:20px;margin-bottom:16px}.page-header h1{font-size:clamp(22px,2vw,27px)}.filter-bar{gap:6px 12px;margin-bottom:12px;padding:11px 16px}.filter-group .custom-select,.filter-group .select-control{min-width:120px}.filter-group .custom-select .custom-select-trigger{min-height:34px;font-size:12px}.panel-header,.panel-toolbar{min-height:44px;padding:11px 16px}.metric-grid,.execution-summary-grid{gap:10px;margin-bottom:14px}.execution-summary-grid{margin-bottom:10px}.execution-summary-grid .metric-card{padding:7px 11px}.execution-summary-grid .metric-card strong{font-size:17px}.testcase-summary{gap:10px;padding:11px 14px 5px}.testcase-summary>div{padding:10px 12px}.summary-card{gap:10px}.summary-icon{width:34px;height:34px}.summary-text strong{font-size:14px}.summary-text small{font-size:10px}.case-card-row{gap:10px;padding:11px 15px}.full-width .testcase-list{gap:7px;padding:8px 14px 12px}.testcase-icon{width:36px;height:36px;font-size:12px}.testcase-main b{font-size:12px}.testcase-main small,.case-meta{font-size:10px}.primary-button,.secondary-button,.ghost-button{min-height:34px;padding:0 13px;font-size:11px}.back-button{min-height:30px;padding:0 10px;font-size:11px}.testcase-list-panel.full-width{height:calc(100dvh - 230px)}.execution-list-panel.full-width{height:calc(100dvh - 250px)}.defect-list-panel.testcase-list-panel.full-width{height:calc(100dvh - 190px)}.testcase-detail-panel.detail-page{height:calc(100dvh - 168px)}.case-detail-top{padding:16px 20px 12px}.case-detail-body{gap:10px;padding:14px 20px}.case-detail-tabs{padding:0 20px}.case-detail-footer{padding:10px 20px 14px}.case-content{gap:10px;padding:14px 18px 8px}.case-content div{padding:10px 12px}.todo-row{gap:10px;padding:12px 16px}.activity-row{gap:12px;padding:12px 16px 9px 22px}.metric-card{padding:14px 15px}.metric-card strong{font-size:24px}.modal-card{padding:20px}.modal-header{margin-bottom:18px}.modal-header h2{font-size:18px}.modal-card input,.modal-card label .custom-select-trigger{height:36px;font-size:12px}.form-grid{gap:10px}.form-grid textarea,.form-grid select{min-height:36px;padding:8px 10px;font-size:12px}.result-filter-chip{padding:5px 12px;font-size:11px}.exec-status-chips{gap:6px}}@media (width<=1120px){.content{padding-inline:26px}.topbar-project-context{max-width:160px}.dashboard-grid,.project-layout,.testcase-layout,.system-layout,.report-grid{gap:16px}}@media (width<=860px){.topbar-project-context{display:none}.topbar{gap:12px}.breadcrumbs{min-width:0}.breadcrumbs strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-actions,.search-wrapper{min-width:0}.page-header{align-items:flex-start}.page-header .page-action{width:100%}.page-header .page-actions{justify-content:flex-start}.filter-bar{gap:8px 10px;padding:12px 14px}.filter-group{flex:200px;min-width:160px}.filter-group .custom-select{width:100%;min-width:0}.filter-group .custom-select .custom-select-trigger{width:100%}.testcase-summary{grid-template-columns:repeat(2,1fr)}.panel-toolbar{flex-wrap:wrap;align-items:flex-start}.panel-toolbar .toolbar-actions{justify-content:flex-start;width:100%}.system-list,.role-stack,.member-grid,.audit-list{max-height:420px;overflow-y:auto}.modal-backdrop{padding:16px}.case-info-cards{grid-template-columns:1fr;gap:10px}.case-detail-top{padding:18px 18px 14px}.case-detail-body{gap:12px;padding:16px 18px}.case-detail-tabs{padding:0 18px}.case-detail-footer{padding:12px 18px 16px}.meta-tag{padding:3px 8px;font-size:10px}.info-card{gap:10px;padding:12px 14px}.info-card-icon{width:34px;height:34px}.info-card-text strong{font-size:15px}.testcase-list-panel.full-width{height:calc(100dvh - 320px)}.execution-list-panel.full-width{height:calc(100dvh - 340px)}.defect-list-panel.testcase-list-panel.full-width{height:calc(100dvh - 282px)}.testcase-detail-panel.detail-page{height:calc(100dvh - 180px)}}@media (width<=610px){.content{padding:22px 13px 40px}.topbar{padding-inline:13px}.topbar-actions{flex:1;justify-content:flex-end}.search-wrapper{flex:1;max-width:220px}.page-header{margin-bottom:20px}.page-header .page-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.page-header .page-actions>button,.page-header .page-actions>.primary-button,.page-header .page-actions>.secondary-button,.page-header .page-actions>.ghost-button{width:100%}.filter-bar{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:14px;padding:14px}.filter-group{flex-direction:column;align-items:stretch;gap:6px;margin-right:0!important}.filter-label{font-size:11px}.filter-group .custom-select{width:100%;min-width:0}.filter-group .custom-select .custom-select-trigger{width:100%}.panel-header,.panel-toolbar{padding-inline:14px}.panel-header{align-items:flex-start}.panel-header .text-button{flex:none}.toolbar-actions{width:100%}.toolbar-actions>*{flex:1;min-width:0}.modal-backdrop{align-items:start;padding:10px}.modal-card{border-radius:8px;width:100%;max-height:calc(100dvh - 20px);padding:18px}.modal-header{margin-bottom:19px;top:-18px}.modal-actions{flex-wrap:wrap;bottom:-18px}.modal-actions>button{flex:1}.form-grid{grid-template-columns:1fr}.form-grid .full-row{grid-column:auto}.import-target-row{grid-template-columns:1fr;gap:10px;padding:12px}.role-permission-options{max-height:52dvh}.toast{text-align:center;bottom:13px;left:13px;right:13px}.system-list,.role-stack,.member-grid,.audit-list{max-height:360px}.case-card-row{grid-template-columns:36px 1fr auto;gap:10px;padding:12px 14px}.case-card-row .testcase-icon{width:36px;height:36px;font-size:11px}.case-card-row .testcase-main b{font-size:13px}.case-card-row .testcase-main small{font-size:10px}.case-card-row .testcase-meta{display:none}.case-card-row .testcase-actions{opacity:1}.row-action-btn{width:34px;height:34px}.row-action-btn svg{width:15px;height:15px}.testcase-summary{grid-template-columns:1fr;gap:8px}.testcase-list-panel.full-width,.execution-list-panel.full-width{height:auto;min-height:0;max-height:calc(100dvh - 200px)}.execution-summary-grid{grid-template-columns:repeat(2,1fr)}.testcase-detail-panel.detail-page{height:auto;min-height:0;max-height:calc(100dvh - 140px)}}.project-layout{align-items:start;height:calc(100dvh - 235px);min-height:560px}.project-list-panel{flex-direction:column;height:100%;min-height:560px;display:flex;overflow:hidden}.project-detail-panel{flex-direction:column;min-height:0;display:flex}.project-detail-panel.detail-page{height:calc(100dvh - 148px);min-height:360px;overflow:hidden}.project-detail-panel.detail-page .detail-heading,.project-detail-panel.detail-page .detail-tabs,.project-detail-panel.detail-page .detail-summary,.project-detail-panel.detail-page .subsection-heading{flex:none}.project-detail-panel.detail-page .product-list,.project-detail-panel.detail-page .project-audit-list{overscroll-behavior:auto;flex:auto;min-height:0;overflow-y:auto}.project-detail-panel.detail-page .project-audit-list{max-height:none;margin-bottom:14px}.project-list,.product-list{scrollbar-width:thin;scrollbar-color:#cbd7db transparent;overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.project-list::-webkit-scrollbar{width:8px}.product-list::-webkit-scrollbar{width:8px}.project-list::-webkit-scrollbar-thumb{background:#cbd7db padding-box padding-box;border:2px solid #0000;border-radius:8px}.product-list::-webkit-scrollbar-thumb{background:#cbd7db padding-box padding-box;border:2px solid #0000;border-radius:8px}.project-list::-webkit-scrollbar-thumb:hover{background:#aebdc2 padding-box padding-box}.product-list::-webkit-scrollbar-thumb:hover{background:#aebdc2 padding-box padding-box}@media (width<=860px){.project-layout{height:auto;min-height:0}.project-list-panel{height:auto;min-height:0;max-height:calc(100dvh - 220px)}.project-detail-panel{height:auto}}:root{--surface-subtle:#fbfcfc;--surface-muted:#f5f8f8;--focus-ring:0 0 0 3px #1459c81f}button,select,input,textarea{font:inherit}button,.select-control,.icon-button,.text-button{transition:color .18s,background-color .18s,border-color .18s,box-shadow .18s,opacity .18s}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{box-shadow:var(--focus-ring);outline:0}.page-header{align-items:flex-start;margin-bottom:22px}.page-header h1,.login-heading h2,.detail-heading h2,.module-preview h2{letter-spacing:0}.page-header h1{margin-top:9px;line-height:1.16}.page-header p{max-width:680px;line-height:1.6}.page-action{padding-top:7px}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.page-actions>button,.page-actions>label{min-height:38px}.panel,.metric-card{box-shadow:0 5px 18px #17232d0b}.panel-header,.panel-toolbar{background:var(--surface-subtle);min-height:50px}.panel-header h2,.panel-toolbar b,.subsection-heading h3{letter-spacing:0;line-height:1.35}.panel-header>div,.panel-toolbar>div{min-width:0}.panel-header p,.panel-toolbar p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.5}.metric-grid,.execution-summary-grid,.system-summary{align-items:stretch;gap:13px}.metric-card{border-color:#e0e9ea;min-width:0;min-height:122px;padding:16px 17px}.metric-card small,.system-summary small,.testcase-summary small,.detail-summary small{letter-spacing:0}.metric-card strong{margin-top:7px;line-height:1}.metric-sep{color:#c0cdd2;vertical-align:2px;margin:0 6px 0 8px;font-size:22px;font-weight:400}.project-layout,.testcase-layout,.execution-layout,.defect-layout,.release-layout,.system-layout,.report-grid{align-items:start}.project-layout,.testcase-layout,.execution-layout,.defect-layout,.release-layout{gap:16px}.project-card,.testcase-row,.product-row,.version-card,.activity-row,.system-row,.audit-row,.todo-row{min-width:0}.project-card,.testcase-row,.product-row,.version-card,.system-row,.audit-row,.todo-row{transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}.project-card:hover,.product-row:hover,.version-card:hover,.todo-row:hover{background:#f8fbfb}.project-card.selected,.testcase-row.selected{background:#eff3f8}.project-card-main,.testcase-main,.product-main,.system-main,.audit-main,.todo-main{overflow:hidden}.project-card-main strong,.testcase-main b,.product-main strong,.system-main strong,.audit-main strong,.todo-main strong,.testcase-main small,.project-card-main p,.product-main span,.system-main span,.audit-main span,.todo-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-card.status-hidden{grid-template-columns:42px 1fr 56px 68px 18px}.testcase-list-panel,.testcase-detail-panel,.system-panel{min-height:0}.testcase-list-panel,.testcase-detail-panel{overflow:hidden}.testcase-list-panel.full-width{flex-direction:column;height:calc(100dvh - 250px);min-height:300px;display:flex}.testcase-list-panel.full-width .panel-toolbar{flex:none}.testcase-list-panel.full-width .testcase-list{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.defect-list-panel.testcase-list-panel.full-width{height:calc(100dvh - 210px)}.defect-list-panel.testcase-list-panel.full-width .panel-toolbar,.defect-list-panel.testcase-list-panel.full-width .testcase-summary{flex:none}.release-board-panel.testcase-list-panel.full-width{height:auto;max-height:none}.release-board-panel.testcase-list-panel.full-width>.testcase-list{flex:none;overflow:visible}.release-board-scroll{padding-bottom:12px}.release-board{flex-direction:column;gap:22px;padding:4px 2px 8px;display:flex}.release-product-group{background:#fff;border:1px solid #e4eaec;border-radius:14px;padding:16px 18px 18px;box-shadow:0 4px 16px #15333c0a}.release-product-head{border-bottom:1px dashed #e2e9ea;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;display:flex}.release-product-head .product-icon{flex:none}.release-product-title{flex-direction:column;gap:2px;min-width:0;display:flex}.release-product-title b{color:#1d2d35;font-size:15px}.release-product-title small{color:#8a9a9e;font-size:12px}.release-product-meta{color:#1459c8;background:#f0f3f7;border-radius:999px;flex:none;margin-left:auto;padding:3px 10px;font-size:12px;font-weight:700}.release-empty-versions{text-align:center;color:#a0aeb2;background:#f8fafa;border-radius:10px;padding:14px;font-size:13px}.release-version-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.release-version-card{text-align:left;cursor:pointer;font:inherit;background:#fbfcfc;border:1px solid #e4eaec;border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;transition:border-color .18s,box-shadow .18s,transform .18s,background .18s;display:flex}.release-version-card:hover{background:#fff;border-color:#9fb5d3;transform:translateY(-2px);box-shadow:0 10px 24px #1459c81f}.release-version-card.has-request{background:linear-gradient(#fbfdff 0%,#f4f7fa 100%);border-color:#cfdae8}.rvc-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.rvc-state{color:#8a9a9e;font-size:12px;font-weight:700}.rvc-state.rvc-state-request{color:#1459c8}.rvc-state.is-green{color:#1f7a52}.rvc-state.is-amber{color:#b07418}.rvc-state.is-red{color:#c62828}.release-version-card:has(.rvc-state.is-red){background:linear-gradient(snow 0%,#fdf4f3 100%);border-color:#f3c4bf}.release-version-card:has(.rvc-state.is-amber){border-color:#f0dcae}.rvc-body{flex-direction:column;gap:4px;display:flex}.rvc-body small{color:#77868d;font-size:12px}.rvc-link{color:#1459c8;margin-top:2px;font-size:12px;font-weight:700}.rvc-no-request{color:#a0aeb2;font-style:normal}.release-queue{flex-direction:column;gap:8px;padding-top:4px;display:flex}.release-section-head{align-items:baseline;gap:10px;margin:4px 2px 2px;display:flex}.release-section-head b{color:#1d2d35;font-size:15px}.release-queue-row{text-align:left}.release-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 24px;padding:16px;display:grid}.release-info-grid .info-cell{flex-direction:column;gap:5px;min-width:0;padding:0;display:flex}.release-info-grid .info-cell small{color:#8a9a9e;font-size:12px}.release-info-grid .info-cell b{color:#1d2d35;word-break:break-word;font-size:13px;font-weight:600;line-height:1.6}.release-info-grid .info-cell-full{grid-column:1/-1;grid-template-columns:132px minmax(0,1fr);align-items:baseline;gap:8px 16px;display:grid}.release-info-grid .release-notes-cell{border-top:1px solid #edf1f2;padding-top:12px}.release-info-grid .release-notes-text{white-space:pre-wrap;font-weight:400;line-height:1.65}.release-info-grid .release-emergency-cell{background:#fdf6ec;border-radius:6px;padding:10px}.release-info-grid .approval-progress{width:100%;max-width:520px}.release-info-grid .approval-progress-track{height:5px}@media (width<=1100px){.release-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=610px){.release-info-grid{gap:12px 16px;padding:12px}.release-info-grid .info-cell-full{grid-template-columns:1fr;gap:5px}}.release-info-grid .release-emergency-cell b{color:#b26a16}.release-attach-field{gap:8px;display:grid}.release-attach-label{color:#394954;font-size:13px;font-weight:600}.release-attach-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.release-pending-attachments{margin-top:2px}.release-cc-field{gap:8px;display:grid}.cc-user-select{max-width:320px}.cc-user-chips{flex-wrap:wrap;gap:8px;display:flex}.cc-user-chip{color:#3d63a4;background:#f1f4f8;border:1px solid #d4e5e4;border-radius:999px;align-items:center;gap:6px;padding:5px 6px 5px 12px;font-size:13px;font-weight:600;display:inline-flex}.cc-user-remove{color:#6b7c82;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:15px;line-height:1;transition:background .15s,color .15s;display:inline-flex}.cc-user-remove:hover{color:#b33a3a;background:#d9e0eb}.cc-detail-list{flex-wrap:wrap;gap:8px;display:flex}.cc-detail-chip{color:#3d63a4;background:#f1f4f8;border:1px solid #dcebea;border-radius:999px;align-items:center;padding:3px 10px;font-size:13px;font-weight:600;display:inline-flex}.release-attachment-actions{margin-top:12px}.approval-progress{flex-direction:column;gap:6px;margin-top:2px;display:flex}.approval-progress-track{background:#e6ecec;border-radius:999px;width:100%;height:8px;overflow:hidden}.approval-progress-bar{background:linear-gradient(90deg,#3d63a4,#4670b4);border-radius:999px;height:100%;transition:width .4s}.approval-progress-text{color:#6b7c82;font-size:12px}.release-header-actions{flex-direction:column;align-items:stretch;gap:8px;display:flex}.release-header-actions .primary-button,.release-header-actions .release-config-trigger{justify-content:center;margin:0}.release-config-trigger{align-items:center;gap:6px;display:inline-flex}.approval-config-modal .approval-config-box{background:0 0;border:none;margin:0;padding:0}.approval-config-modal .modal-actions{margin-top:16px}.approval-panel{padding:0;overflow:visible}.approval-tabs{border-bottom:1px solid #e6ecec;gap:4px;padding:10px 16px 0;display:flex}.approval-tab{color:#6b7c82;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 18px;font-size:14px;font-weight:600;transition:color .15s,background .15s;display:inline-flex}.approval-tab:hover{color:#3d63a4;background:#f2f8f7}.approval-tab.is-active{color:#2d5eab;background:#f2f8f7;border-bottom-color:#3d63a4}.approval-tab-count{color:#5a6c72;background:#e3eceb;border-radius:999px;place-items:center;min-width:22px;height:20px;padding:0 7px;font-size:12px;font-weight:700;display:inline-grid}.approval-tab.is-active .approval-tab-count{color:#fff;background:#3d63a4}.approval-list{flex-direction:column;gap:10px;padding:16px;display:flex}.approval-row{background:#fff;border:1px solid #e4eaec;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.approval-row:hover{border-color:#bcd9d5;box-shadow:0 6px 18px #3d63a414}.approval-row-main{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:auto;gap:6px;padding:0;display:flex}.approval-row-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.approval-row-head strong{color:#1d2d35;font-size:14px}.approval-row-title{color:#1d2d35;font-size:15px}.approval-row-meta{color:#8a9a9e;flex-wrap:wrap;gap:6px 18px;font-size:12px;display:flex}.approval-row-actions{flex:0 0 200px;justify-content:flex-end;align-items:center;gap:8px;width:200px;display:flex}.approval-row-actions .primary-button,.approval-row-actions .ghost-button{flex:1 1 0;width:100%;min-width:0;padding-left:8px;padding-right:8px}.approval-row-rejected{background:#fdf7f6;border-color:#f0c8c3 #f0c8c3 #f0c8c3 #e0524d;border-left-style:solid;border-left-width:4px}.approval-row-rejected:hover{border-color:#e2a19b;box-shadow:0 6px 18px #be3c371a}.approval-resubmit-button{background:#d23f3a}.approval-resubmit-button:hover:not(:disabled){background:#b9312c}.approval-row-publish{background:#fff9ef;border-color:#f0d8ad #f0d8ad #f0d8ad #e8923a;border-left-style:solid;border-left-width:4px}.approval-row-publish:hover{border-color:#ddb877;box-shadow:0 6px 18px #be821e1f}@media (width<=720px){.approval-row{flex-direction:column;align-items:stretch}.approval-row-actions{flex:none;align-self:flex-end;width:200px}}.release-flow{flex-direction:column;gap:0;padding:16px;display:flex}.release-flow-node{align-items:stretch;gap:12px;display:flex}.release-flow-rail{flex-direction:column;flex:none;align-items:center;width:24px;padding-top:8px;display:flex}.release-flow-dot{color:#8a9a9e;z-index:1;background:#e8edee;border:1px solid #d8e1e4;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:11px;font-weight:600;display:grid}.release-flow-line{background:#e0e7e8;flex:auto;width:1px;min-height:12px;margin:0 0 -8px}.release-flow-card{background:0 0;border:1px solid #0000;border-radius:6px;flex:auto;min-width:0;margin-bottom:12px;padding:8px 12px}.release-flow-head{flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:4px;display:flex}.release-flow-head b{color:#1d2d35;overflow-wrap:anywhere;font-size:13px}.release-flow-status{color:#8a9a9e;margin-left:auto;font-size:12px;font-weight:700}.release-flow-comment{color:#62727c;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6;display:block}.release-flow-time{color:#8b9aa3;margin-top:4px;font-size:11px;display:block}.release-flow-node:last-child .release-flow-card{margin-bottom:0}.release-flow-node.is-approved .release-flow-dot{color:#1459c8;background:#e6ecf4;border-color:#3d63a4}.release-flow-node.is-approved .release-flow-card{background:0 0}.release-flow-node.is-approved .release-flow-status{color:#196e40}.release-flow-node.is-approved .release-flow-line{background:#bfcde0}.release-flow-node.is-pending .release-flow-dot{color:#c27f1e;background:#fff5e8;border-color:#e0a44a}.release-flow-node.is-pending .release-flow-card{background:#fffaf2;border-color:#f0dfc2}.release-flow-node.is-pending .release-flow-status{color:#c27f1e}.release-flow-node.is-rejected .release-flow-dot{color:#b24c4c;background:#fdeceb;border-color:#d97068}.release-flow-node.is-rejected .release-flow-card{background:#fff7f6;border-color:#f1c8c4}.release-flow-node.is-rejected .release-flow-status{color:#b24c4c}@keyframes flowPulse{0%,to{box-shadow:0 0 #e0a44a59}50%{box-shadow:0 0 0 6px #e0a44a00}}.release-detail-actions{border-top:1px solid #edf1f2;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:16px;display:flex}.release-rejected-banner{background:#fdf4f3;border:1px solid #f3c4bf;border-left:4px solid #e0524d;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:14px 18px;display:flex}.release-rejected-info{flex-direction:column;flex:1;gap:5px;min-width:240px;display:flex}.release-rejected-info b{color:#b42318;font-size:14px}.release-rejected-info small{color:#8a4a44;font-size:12px;line-height:1.6}.release-resubmit-button{background:#d23f3a;flex-shrink:0}.release-resubmit-button:hover:not(:disabled){background:#b9312c}.execution-list-panel.full-width{flex-direction:column;height:calc(100dvh - 270px);min-height:260px;display:flex}.execution-list-panel.full-width .panel-toolbar,.execution-list-panel.full-width .result-filter-bar{flex:none}.execution-list-panel.full-width .testcase-list{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.testcase-list,.system-list,.role-stack,.audit-list{scrollbar-width:thin;scrollbar-color:#cbd7db transparent}.testcase-list::-webkit-scrollbar{width:8px}.system-list::-webkit-scrollbar{width:8px}.role-stack::-webkit-scrollbar{width:8px}.audit-list::-webkit-scrollbar{width:8px}.testcase-list::-webkit-scrollbar-thumb{background:#cbd7db padding-box padding-box;border:2px solid #0000;border-radius:8px}.system-list::-webkit-scrollbar-thumb{background:#cbd7db padding-box padding-box;border:2px solid #0000;border-radius:8px}.role-stack::-webkit-scrollbar-thumb{background:#cbd7db padding-box padding-box;border:2px solid #0000;border-radius:8px}.audit-list::-webkit-scrollbar-thumb{background:#cbd7db padding-box padding-box;border:2px solid #0000;border-radius:8px}.testcase-summary,.detail-summary{background:var(--surface-muted)}.testcase-summary div,.detail-summary div{min-width:0}.testcase-summary strong,.detail-summary strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.detail-heading{gap:16px;min-width:0}.detail-heading>div{min-width:0}.detail-heading h2{line-height:1.3}.detail-heading p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.detail-tabs{min-height:42px}.detail-tabs button{white-space:nowrap}.action-bar,.execution-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.action-bar{border-top:1px solid var(--line);padding:15px 22px}.execution-actions{padding:0 22px 15px}.action-bar>button,.action-bar>label,.execution-actions>button{min-height:34px}.table-head{background:var(--surface-subtle);color:#6f7e86}.table-row{min-height:54px}.select-control,.form-grid input,.form-grid select,.form-grid textarea,.execution-form textarea,.execution-form select,.approval-config-box input{background:#fff;border-color:#d8e3e4}.select-control:hover,.form-grid input:hover,.form-grid select:hover,.form-grid textarea:hover,.execution-form textarea:hover,.execution-form select:hover,.approval-config-box input:hover{border-color:#b9d4d1}.empty-state{color:#8c9aa0;background:var(--surface-subtle)}.search-empty{background:var(--surface-subtle);border:1px dashed #d6e2e2}@media (width>=861px){.testcase-layout,.defect-layout,.execution-layout,.release-layout{height:min(690px,100dvh - 205px)}.testcase-layout>.testcase-list-panel,.testcase-layout>.testcase-detail-panel{flex-direction:column;height:100%;display:flex}.testcase-layout .testcase-list,.testcase-layout .system-list,.testcase-layout .role-stack,.testcase-layout .release-task-list{min-height:0;overflow-y:auto}.testcase-layout .testcase-list{flex:auto}.testcase-layout .testcase-detail-panel>.case-content,.testcase-layout .testcase-detail-panel>.activity-list{min-height:0;overflow-y:auto}}@media (width<=860px){.page-action{padding-top:0}.page-actions{justify-content:flex-start}.testcase-layout,.defect-layout,.execution-layout,.release-layout{height:auto}.testcase-layout>.testcase-list-panel,.testcase-layout>.testcase-detail-panel{height:auto;max-height:680px}.testcase-layout .testcase-list,.testcase-layout .testcase-detail-panel>.case-content,.testcase-layout .testcase-detail-panel>.activity-list{max-height:460px;overflow-y:auto}.detail-heading{align-items:flex-start}}@media (width<=610px){.page-header h1{margin-top:7px}.panel-header,.panel-toolbar{min-height:54px}.detail-heading{padding-inline:14px}.detail-heading p{white-space:normal}.action-bar,.execution-actions{padding-inline:14px}.action-bar>button,.action-bar>label,.execution-actions>button{flex:auto}}.required-mark{color:#e05252;margin-left:2px}.form-error{color:#e05252;margin-top:4px;font-size:12px;display:block}.testcase-form-panel{max-width:960px;margin:0 auto;padding:0}.case-form{flex-direction:column;display:flex}.form-section{border-bottom:1px solid #eef2f2;padding:24px 28px}.form-section:last-of-type{border-bottom:none}.form-section-title{color:#243238;align-items:center;gap:8px;margin:0 0 20px;font-size:15px;font-weight:600;display:flex}.form-section-title:before{content:"";background:#1459c8;border-radius:2px;width:3px;height:14px;display:inline-block}.form-grid{gap:18px 20px;display:grid}.form-grid-2{grid-template-columns:repeat(2,1fr)}.modal-card .form-grid-2{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.modal-card .form-grid-2 label{color:#64737c;flex-direction:column;gap:7px;font-size:11px;font-weight:700;margin-bottom:0!important;display:flex!important}.modal-card .form-grid-2 label.wide{grid-column:1/-1}.modal-card .form-grid-2 label input,.modal-card .form-grid-2 label textarea,.modal-card .form-grid-2 label select{width:100%;font-size:13px;font-weight:400}.modal-card .form-grid-2 label input{flex-shrink:0;height:40px;min-height:40px;padding:0 11px}.modal-card .form-grid-2 label textarea{resize:vertical;flex-shrink:0;min-height:104px;padding:10px 12px}.modal-card .form-grid-2 label input:focus,.modal-card .form-grid-2 label textarea:focus,.modal-card .form-grid-2 label select:focus{background:#fff;border-color:#7d9cc9;outline:0;box-shadow:0 0 0 3px #1459c81a}.modal-card.wide-modal .modal-actions{background:0 0;margin-top:24px;padding:14px 0 0;position:static;bottom:auto}.modal-card textarea{width:100%;min-height:104px;color:var(--ink);resize:vertical;background:#fbfcfc;border:1px solid #d8e1e4;border-radius:6px;outline:0;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.6}.modal-card textarea:focus{border-color:#7d9cc9;box-shadow:0 0 0 3px #1459c81a}.form-grid-1{grid-template-columns:1fr}.form-field{flex-direction:column;gap:6px;display:flex}.field-label{color:#50616c;font-size:13px;font-weight:500}.field-input,.field-select,.field-textarea{color:#243238;box-sizing:border-box;background:#fff;border:1px solid #d9e2e6;border-radius:6px;width:100%;min-height:38px;padding:8px 12px;font-family:inherit;font-size:14px;transition:border-color .18s,box-shadow .18s}.field-textarea{resize:vertical;min-height:auto;line-height:1.6}.field-input::placeholder,.field-textarea::placeholder{color:#b0bec5}.field-input:hover,.field-select:hover,.field-textarea:hover{border-color:#b9d1d1}.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:#1459c8;outline:none;box-shadow:0 0 0 3px #1459c81f}.field-input:disabled,.field-select:disabled{color:#9aa6ab;cursor:not-allowed;background:#f5f7f8}.confirm-modal{text-align:center;width:min(420px,92vw);padding:28px 28px 22px}.confirm-icon{border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 14px;display:grid}.confirm-icon.warning{color:#e8923a;background:#fff7e6}.confirm-modal h3{color:#1f2d35;margin:0 0 10px;font-size:16px;font-weight:700}.confirm-modal p{color:#5a6b74;margin:0 0 6px;font-size:13px;line-height:1.6}.confirm-modal .confirm-hint{color:#9aa6ab;margin-bottom:18px;font-size:11px}.confirm-actions{justify-content:center;gap:10px;margin-top:16px;display:flex}.confirm-actions button{cursor:pointer;border-radius:6px;min-width:100px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .15s}.result-text-PASS{color:#1f7a52}.result-text-FAIL{color:#b8403c}.result-text-BLOCK{color:#b07028}.result-text-NT{color:#5a6b74}.field-readonly{background:#f8fbfb;border:1px solid #e4ecec;border-radius:6px;align-items:center;gap:10px;min-height:38px;padding:8px 12px;display:flex}.readonly-tag{color:#1459c8;background:#e6ecf4;border-radius:4px;align-items:center;padding:3px 10px;font-size:13px;font-weight:500;display:inline-flex}.version-stack{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:320px;display:flex}.version-badge{color:#2c4453;background:linear-gradient(#f4f6fb 0%,#eef6f9 100%);border:1px solid #dce8e9;border-radius:6px;align-items:center;gap:6px;width:auto;padding:4px 6px 4px 10px;font-size:11px;line-height:1.3;transition:border-color .18s,box-shadow .18s;display:inline-flex}.version-badge:hover{border-color:#9eb5d5;box-shadow:0 2px 8px -4px #22539c33}.version-badge.released{color:#1f4f3a;background:linear-gradient(#f0faf4 0%,#e5f6ea 100%);border-color:#c8e5d3}.version-badge-main{align-items:center;gap:5px;min-width:0;display:inline-flex}.version-badge-no{color:#0e4e6b;letter-spacing:.2px;white-space:nowrap;font-size:12px;font-weight:700}.version-badge.released .version-badge-no{color:#1f6b3f}.version-badge-name{color:#3a5d6e;text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:11px;font-weight:500;overflow:hidden}.version-badge-state{color:#1d57b2;white-space:nowrap;background:#1459c81a;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:500}.version-badge.released .version-badge-state{color:#196e40;background:#1f6b3f1a}.version-badge-dates{display:none}.version-badge-actions{align-items:center;gap:1px;margin-left:2px;display:inline-flex}.version-badge-actions .inline-edit,.version-badge-actions .inline-delete{border-radius:4px;place-items:center;width:18px;height:18px;padding:0;font-size:11px;line-height:1;display:grid}.tag-toggle{color:var(--teal);white-space:nowrap;cursor:pointer;background:#f5f8fc;border:1px dashed #c3d2e6;border-radius:5px;align-self:center;padding:3px 10px;font-size:11px;font-weight:700;line-height:1.4;transition:background .18s,border-color .18s}.tag-toggle:hover{background:var(--teal-soft);border-color:var(--teal)}.inline-edit{color:#1d57b2;cursor:pointer;background:#1459c814;transition:background .18s,color .18s}.inline-edit:hover{color:#fff;background:#1459c8}.field-hint{color:#9aa6ab;font-size:12px}.form-field.has-error .field-input,.form-field.has-error .field-select,.form-field.has-error .field-textarea{background-color:#fff8f8;border-color:#e05252}.form-field.has-error .field-input:focus,.form-field.has-error .field-select:focus,.form-field.has-error .field-textarea:focus{box-shadow:0 0 0 3px #e052521f}.form-actions-bar{background:#fcfdfd;border-top:1px solid #eef2f2;border-radius:0 0 10px 10px;justify-content:flex-end;gap:12px;padding:20px 28px;display:flex}@media (width<=720px){.form-grid-2{grid-template-columns:1fr}.form-section{padding:20px 16px}.form-actions-bar{padding:16px}.form-actions-bar button{flex:1}}.defect-form-page{max-width:960px;margin:0 auto;padding:0}.defect-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;padding:24px 28px;display:grid}.defect-form .form-grid label{color:#64737c;flex-direction:column;gap:7px;margin-bottom:0;font-size:12px;font-weight:700;display:flex}.defect-form .form-grid label>span{color:#64737c;font-size:12px;font-weight:700}.defect-form .form-grid label input,.defect-form .form-grid label select,.defect-form .form-grid label textarea{width:100%;min-height:40px;color:var(--ink);box-sizing:border-box;background:#fbfcfc;border:1px solid #d8e1e4;border-radius:6px;outline:0;padding:9px 11px;font-family:inherit;font-size:13px;font-weight:400;transition:border-color .18s,box-shadow .18s,background .18s}.defect-form .form-grid label textarea{resize:vertical;min-height:90px;line-height:1.6}.defect-form .form-grid label input:focus,.defect-form .form-grid label select:focus,.defect-form .form-grid label textarea:focus{background:#fff;border-color:#7d9cc9;box-shadow:0 0 0 3px #1459c81a}.defect-form .form-grid label input[readonly]{background:#f1f5f6}.defect-form .form-grid .full-row{grid-column:1/-1}.defect-list-panel .testcase-list{flex:1;padding:10px 16px 14px;overflow-y:auto}@media (width<=720px){.defect-form .form-grid{grid-template-columns:1fr;padding:20px 16px}}.defect-form .form-section-title{color:var(--teal-dark,#1459c8);letter-spacing:.2px;border-top:1px dashed #e2e8ea;grid-column:1/-1;align-items:center;gap:8px;margin-top:4px;padding-top:16px;font-size:14px;font-weight:700;display:flex}.defect-form .form-section-title:first-child{border-top:none;margin-top:0;padding-top:0}.defect-form .form-section-title svg{color:var(--teal,#1459c8);flex-shrink:0}.defect-form .required{color:#e05b4b;margin-left:2px;font-size:14px;font-style:normal;font-weight:700}.defect-form .readonly-field{color:#2d3f44;background:linear-gradient(135deg,#f0f3f7 0%,#e8edf3 100%);border:1px solid #d0e4e1;border-radius:6px;align-items:center;min-height:40px;padding:9px 13px;font-size:13px;font-weight:600;display:flex}.defect-form .form-grid label input::placeholder,.defect-form .form-grid label textarea::placeholder{color:#aab5bb;font-weight:400}.defect-form .form-grid label textarea{min-height:100px;font-family:inherit;line-height:1.7}.defect-form .form-actions-bar{z-index:5;background:#fcfdfd;margin:0;position:sticky;bottom:-58px;box-shadow:0 -8px 20px #10232d14}@media (width<=1400px){.defect-form .form-actions-bar{bottom:-48px}}@media (width<=610px){.defect-form .form-actions-bar{bottom:-40px}}.defect-form .form-grid label select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364737c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.defect-form .form-grid label input:disabled,.defect-form .form-grid label select:disabled{color:#8a999f;cursor:not-allowed;background:#f1f5f6}.defect-form .form-grid label .custom-select{width:100%}.defect-form .form-grid label .custom-select-trigger{min-height:40px;color:var(--ink);box-sizing:border-box;background:#fbfcfc;border-color:#d8e1e4;border-radius:6px;padding:9px 11px;font-size:13px;font-weight:400}.defect-form .form-grid label .custom-select-trigger:hover{background:#fff;border-color:#a8c7c4}.defect-form .form-grid label .custom-select.open .custom-select-trigger{background:#fff;border-color:#7d9cc9;box-shadow:0 0 0 3px #1459c81a}.defect-form .form-grid label .custom-select-value.is-placeholder{color:#aab5bb;font-weight:400}.defect-form .form-grid label .custom-select.creatable .custom-select-trigger{padding-top:0;padding-bottom:0}.defect-form .form-grid label .custom-select.creatable .custom-select-input{color:var(--ink)}.defect-form .form-grid label .form-hint,.defect-form .form-grid label .form-error{font-size:11px;font-weight:400;line-height:1.5}.defect-form .form-grid label.has-error .custom-select-trigger{border-color:#e05b4b}.defect-form .form-grid label.has-error .custom-select.open .custom-select-trigger{box-shadow:0 0 0 3px #e05b4b1f}@media (width<=768px){.defect-form .form-section-title{padding-top:14px;font-size:13px}.defect-form .form-grid{gap:14px 16px;padding:18px 16px}.defect-form .form-grid label textarea{min-height:80px}.defect-form .form-actions-bar{padding:14px 16px}}.case-info-cards.four-col{grid-template-columns:repeat(4,1fr);gap:10px}.case-info-cards.four-col .info-card{gap:10px;min-height:0;padding:10px 12px}.case-info-cards.four-col .info-card-icon{border-radius:8px;width:36px;height:36px}.case-info-cards.four-col .info-card-icon svg{width:17px;height:17px}.case-info-cards.four-col .info-card-text small{font-size:10px}.case-info-cards.four-col .info-card-text strong{font-size:15px}.case-info-cards.two-col.reporter-cards{gap:10px}.case-info-cards.two-col.reporter-cards .info-card{gap:12px;padding:12px 14px}.reporter-card .info-card-icon{color:#2f6fcf;background:#eef5ff}.assignee-card .info-card-icon{color:#1a8a5a;background:#eafaf3}.assignee-card.unassigned .info-card-icon{color:#8a9499;background:#f2f4f5}.info-card-sub{color:#93a2a7;font-size:10px;font-weight:500}.severity-card .info-card-icon{color:#c04d4d;background:#fdecea}.severity-text.severity-��{color:#6c8089}.attachment-card .info-card-icon{color:#3f6fb5;background:#eef3fb}.status-text.status-δ�ύ{color:#7a8a92}.status-text.status-���ύ{color:#1565c0}.status-text.status-���޸�{color:#2e7d32}.status-text.status-����֤{color:#d48806}.status-text.status-�ѹر�{color:#1b5e20}.status-text.status-���´�{color:#c62828}.status-text.status-�޷�����{color:#6c8089}.status-text.status-���ڴ���{color:#8e6a1a}.meta-tag.severity-tag{font-weight:700}.meta-tag.severity-tag.severity-��{color:#6c8089;background:#f7f9fa;border-color:#d9e1e4}.meta-tag.priority-tag.priority-P0{color:#c62828;background:#fef5f5;border-color:#f3c7c7}.meta-tag.priority-tag.priority-P1{color:#c76c11;background:#fff9f0;border-color:#f3d9b8}.meta-tag.priority-tag.priority-P2{color:#1565c0;background:#f2f7fe;border-color:#c8dbf5}.meta-tag.priority-tag.priority-P3{color:#2e7d32;background:#f3faf4;border-color:#cbe6cd}.defect-code-badge{color:#b8403c;letter-spacing:.3px;background:#fbe6e6}.defect-status-badge{border:1px solid #0000;border-radius:999px;padding:3px 11px;font-size:11px;font-weight:700;display:inline-block}.defect-status-badge.status-δ�ύ{color:#7a8a92;background:#f2f3f5;border-color:#e4e8ea}.defect-status-badge.status-���ύ{color:#1565c0;background:#e8f0fe;border-color:#cfe0fb}.defect-status-badge.status-���޸�{color:#2e7d32;background:#e6f7ee;border-color:#c7ead3}.defect-status-badge.status-����֤{color:#c76c11;background:#fff3e0;border-color:#f5dcb2}.defect-status-badge.status-�ѹر�{color:#1b5e20;background:#e8f5e9;border-color:#c5e2c6}.defect-status-badge.status-���´�{color:#c62828;background:#fdecea;border-color:#f5c3c0}.defect-status-badge.status-�޷�����{color:#6c8089;background:#f2f3f5;border-color:#e4e8ea}.defect-status-badge.status-���ڴ���{color:#8e6a1a;background:#fbf3de;border-color:#ecdcb0}.defect-actual-section{border-color:#f3d0cf}.defect-actual-section .case-section-label{color:#7a302c;background:#fdf2f1;border-bottom-color:#f5dcd9}.defect-actual-section .case-section-label svg{color:#c04d4d}.defect-actual-content{color:#5a2623;background:#fdf7f6;font-weight:500}.defect-activity-card{border-radius:10px;margin-bottom:10px;padding:14px 16px 14px 40px;position:relative}.defect-activity-card:before{content:"";background:#e6edee;width:2px;position:absolute;top:42px;bottom:-12px;left:15px}.defect-activity-card:last-child:before{display:none}.defect-activity-card:after{content:"";z-index:1;background:#b6c4c7;border:3px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:18px;left:9px;box-shadow:0 0 0 1px #cfd9dc}.defect-activity-card.action-SUBMIT:after{background:#1565c0;box-shadow:0 0 0 1px #9cbde8}.defect-activity-card.action-ASSIGN:after{background:#2f6fcf;box-shadow:0 0 0 1px #b9cff3}.defect-activity-card.action-FIXED:after{background:#2e7d32;box-shadow:0 0 0 1px #b8d9ba}.defect-activity-card.action-VERIFY:after{background:#d48806;box-shadow:0 0 0 1px #efc78a}.defect-activity-card.action-CLOSE:after{background:#1b5e20;box-shadow:0 0 0 1px #9dcfa1}.defect-activity-card.action-REOPEN:after{background:#c62828;box-shadow:0 0 0 1px #e9a8a6}.defect-activity-card.action-CANNOT_REPRODUCE:after{background:#6c8089;box-shadow:0 0 0 1px #b6c4c7}.defect-activity-card.action-POSTPONE:after{background:#8e6a1a;box-shadow:0 0 0 1px #d4bf88}.defect-activity-card.action-RESUBMIT:after{background:#1459c8;box-shadow:0 0 0 1px #9cadca}.defect-activity-action{border:1px solid #0000;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.defect-activity-action.action-SUBMIT{color:#1565c0;background:#e8f0fe;border-color:#cfdff7}.defect-activity-action.action-ASSIGN{color:#2f6fcf;background:#eef3fb;border-color:#d1e0f7}.defect-activity-action.action-FIXED{color:#2e7d32;background:#e6f7ee;border-color:#c7ead3}.defect-activity-action.action-VERIFY{color:#c76c11;background:#fff3e0;border-color:#f5dcb2}.defect-activity-action.action-CLOSE{color:#1b5e20;background:#e8f5e9;border-color:#c5e2c6}.defect-activity-action.action-REOPEN{color:#c62828;background:#fdecea;border-color:#f5c3c0}.defect-activity-action.action-CANNOT_REPRODUCE{color:#6c8089;background:#f2f3f5;border-color:#e4e8ea}.defect-activity-action.action-POSTPONE{color:#8e6a1a;background:#fbf3de;border-color:#ecdcb0}.defect-activity-action.action-RESUBMIT{color:#1459c8;background:#e6ecf4;border-color:#c6d2e3}.defect-flow-status{color:#5a6b74;background:#f2f4f5;border:1px solid #e4e8ea;border-radius:5px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.defect-activity-remark{background:#f8fbfb;border-left:3px solid #c6d2e3;border-radius:0 6px 6px 0;padding:8px 12px;color:#44575e!important;margin:8px 0 0!important;font-size:12px!important;line-height:1.65!important}.defect-action-bar{background:#fafcfc;border-top:1px solid #edf1f2;flex-wrap:wrap;align-items:center;gap:10px 8px;padding:14px 22px 16px;display:flex}.action-bar-divider{background:#e6edee;flex-shrink:0;align-self:stretch;width:1px;margin:2px 4px}.action-bar-group{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.ghost-button.tone-success{color:#1f7a52;background:#f5fbf7;border-color:#c0e1cc}.ghost-button.tone-success:hover{background:#eaf7ee;border-color:#8fccaa}.ghost-button.tone-danger{color:#b8403c;background:#fdf5f4;border-color:#efc9c7}.ghost-button.tone-danger:hover{background:#fbe8e7;border-color:#e29a98}.ghost-button.tone-amber{color:#c76c11;background:#fff9f0;border-color:#efd4ab}.ghost-button.tone-amber:hover{background:#fff0d8;border-color:#e3b77c}.ghost-button.tone-info{color:#1565c0;background:#f4f8fe;border-color:#c0d5f3}.ghost-button.tone-info:hover{background:#e7effb;border-color:#8bb2e7}.ghost-button.tone-muted{color:#6c8089;background:#f7f9fa;border-color:#d9e1e4}.ghost-button.tone-muted:hover{background:#eceff0;border-color:#bcc9cd}@media (width<=1400px){.case-info-cards.four-col{gap:8px}.case-info-cards.four-col .info-card{gap:8px;padding:8px 10px}.case-info-cards.four-col .info-card-icon{width:32px;height:32px}.case-info-cards.four-col .info-card-icon svg{width:15px;height:15px}.case-info-cards.four-col .info-card-text strong{font-size:14px}}@media (width<=860px){.case-info-cards.four-col{grid-template-columns:repeat(2,1fr);gap:8px}.defect-activity-card{padding:12px 14px 12px 36px}}@media (width<=610px){.case-info-cards.four-col,.case-info-cards.two-col.reporter-cards{grid-template-columns:1fr}}.defect-detail-page .case-info-cards.two-col{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.defect-detail-page .case-info-cards .info-card.severity-card{background:linear-gradient(135deg,#fff8f8 0%,#fff 55%);border-color:#e7d2d2}.defect-detail-page .case-info-cards .info-card.priority-card{background:linear-gradient(135deg,#fff8ef 0%,#fff 55%);border-color:#e6d5c2}.defect-detail-page .case-info-cards .info-card.status-card{background:linear-gradient(135deg,#f3f6fb 0%,#fff 55%);border-color:#cfe2de}.defect-detail-page .case-info-cards .info-card.attachment-card{background:linear-gradient(135deg,#f6f7fc 0%,#fff 55%);border-color:#d7dcee}.defect-detail-page .case-info-cards .info-card-icon{margin-right:10px}.defect-detail-page .info-card-text small{color:#7d8a8f;letter-spacing:.3px;font-size:12px}.defect-detail-page .info-card-text strong{margin-top:2px;font-size:17px;line-height:1.2;display:inline-block}.defect-detail-page .severity-text.severity-致命,.defect-detail-page .severity-text.severity-严重{color:#c0392b}.defect-detail-page .severity-text.severity-一般{color:#d97706}.defect-detail-page .severity-text.severity-轻微,.defect-detail-page .severity-text.severity-建议{color:#476da7}.defect-detail-page .priority-text.priority-紧急,.defect-detail-page .priority-text.priority-高{color:#c2551e}.defect-detail-page .priority-text.priority-中{color:#8a6d3b}.defect-detail-page .priority-text.priority-低{color:#5f727a}.defect-detail-page .status-text.status-未提交{color:#7a8a92}.defect-detail-page .status-text.status-待处理{color:#1565c0}.defect-detail-page .status-text.status-待验证{color:#c76c11}.defect-detail-page .status-text.status-已关闭{color:#0e7a59}.defect-detail-page .status-text.status-重新打开{color:#c0392b}.defect-detail-page .status-text.status-无法复现{color:#6c8089}.defect-detail-page .status-text.status-延期处理{color:#927118}.defect-detail-page .status-text.status-待修复{color:#c76c11}.defect-detail-page .status-text.status-已提交{color:#1565c0}.defect-detail-page .reporter-cards{grid-template-columns:1fr 1fr;gap:14px;margin-top:4px;display:grid}.defect-detail-page .person-card{background:#fbfdff;border:1px solid #e3eced;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.defect-detail-page .person-card.reporter{background:linear-gradient(135deg,#f3f6fb 0%,#fff 60%)}.defect-detail-page .person-card.assignee{background:linear-gradient(135deg,#f7f3fb 0%,#fff 60%)}.defect-detail-page .person-avatar{color:#fff;letter-spacing:.3px;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:600;display:flex}.defect-detail-page .person-card.reporter .person-avatar{background:linear-gradient(135deg,#1459c8,#326bc5)}.defect-detail-page .person-card.assignee .person-avatar{background:linear-gradient(135deg,#6d5dc9,#a38ee0)}.defect-detail-page .person-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.defect-detail-page .person-meta small{color:#7d8a8f;font-size:12px}.defect-detail-page .person-meta strong{color:#1c2e35;white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.defect-detail-page .assignee-empty{color:#9aabaf!important;font-weight:500!important}.defect-detail-page .case-section{background:#fff;border:1px solid #edf1f2;border-radius:12px;margin-bottom:12px;padding:14px 16px}.defect-detail-page .case-section-label{color:#3d555b;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.defect-detail-page .case-section-content{color:#1c2e35;font-size:14px;line-height:1.7}.defect-detail-page .defect-actual-section{background:linear-gradient(135deg,#fff8f8 0%,#fff 60%);border-color:#f6dfdf}.defect-detail-page .result-section{background:linear-gradient(135deg,#f5f7fb 0%,#fff 60%);border-color:#d5e7e4}.defect-detail-page .empty-text{color:#a1b0b5}.defect-detail-page .defect-flow-log{padding:20px 24px}.defect-flow-entry{padding:0 0 24px 26px;position:relative}.defect-flow-entry:before{content:"";background:#dce8e7;width:1px;position:absolute;top:11px;bottom:-11px;left:4px}.defect-flow-entry:after{box-sizing:border-box;content:"";background:#fff;border:2px solid #1459c8;border-radius:50%;width:9px;height:9px;position:absolute;top:7px;left:0}.defect-flow-entry:last-child{padding-bottom:0}.defect-flow-entry:last-child:before{display:none}.defect-flow-heading{flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-height:22px;line-height:22px;display:flex}.defect-flow-heading strong{color:#243b45;font-size:13px;font-weight:600}.defect-flow-operator{color:#6f818b;overflow-wrap:anywhere;font-size:12px}.defect-flow-heading time{color:#8b9aa3;margin-left:auto;font-size:11px}.defect-flow-transition{color:#687d86;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;font-size:12px;line-height:20px;display:flex}.defect-flow-transition>span:not(.defect-flow-arrow){background:#f1f5f6;border-radius:4px;padding:1px 7px}.defect-flow-transition>span:last-child{color:#0d54c4;background:#edf2f7}.defect-flow-arrow{color:#95a8ad}.defect-flow-note{color:#526973;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0;font-size:12px;line-height:1.65}@media (width<=610px){.defect-detail-page .defect-flow-log{padding:16px}.defect-flow-heading time{flex-basis:100%;margin-left:0}}.defect-detail-page .flow-timeline{padding-left:26px;position:relative}.defect-detail-page .flow-timeline:before{content:"";background:#e2ecee;width:2px;position:absolute;top:6px;bottom:6px;left:8px}.defect-detail-page .flow-timeline .history-item-card{position:relative}.defect-detail-page .flow-timeline .history-item-card:before{content:"";box-sizing:border-box;background:#fff;border:2.5px solid #9aabaf;border-radius:50%;width:12px;height:12px;position:absolute;top:16px;left:-22px}.defect-detail-page .defect-activity-action{letter-spacing:.3px;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.defect-detail-page .action-SUBMIT{color:#2b6faa;background:#eef5ff}.defect-detail-page .action-ASSIGN{color:#6d5dc9;background:#f1ecfc}.defect-detail-page .action-FIXED{color:#0e7a59;background:#eafbf3}.defect-detail-page .action-VERIFY{color:#4a52a8;background:#eef1fb}.defect-detail-page .action-CLOSE{color:#0d805c;background:#e6f8f0}.defect-detail-page .action-REOPEN{color:#bc432f;background:#fdefec}.defect-detail-page .action-CANNOT_REPRODUCE{color:#9a6d1c;background:#fdf5ea}.defect-detail-page .action-POSTPONE{color:#8c7317;background:#fbf5e4}.defect-detail-page .action-RESUBMIT{color:#1459c8;background:#eef3fb}.defect-detail-page .defect-activity-remark{color:#3d555b;background:#fafcfc;border:1px solid #ecf1f2;border-radius:8px;margin:8px 0 6px;padding:8px 10px}.defect-detail-page .action-bar{background:#fbfcfd;border-top:1px solid #edf1f2;border-radius:0 0 12px 12px;flex-wrap:wrap;gap:10px 8px;padding:14px 16px;display:flex}.defect-detail-page .action-bar .action-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.defect-detail-page .action-bar .action-group+.action-group{border-left:1px solid #dde5e7;padding-left:10px}.defect-detail-page .action-bar .tone-success{color:#fff;background:#0e7a59;border:none}.defect-detail-page .action-bar .tone-success:hover{background:#0b6449}.defect-detail-page .action-bar .tone-danger{color:#fff;background:#c0392b;border:none}.defect-detail-page .action-bar .tone-danger:hover{background:#a33024}.defect-detail-page .action-bar .tone-amber{color:#fff;background:#d97706;border:none}.defect-detail-page .action-bar .tone-amber:hover{background:#b46204}.defect-detail-page .action-bar .tone-info{color:#fff;background:#4a52a8;border:none}.defect-detail-page .action-bar .tone-info:hover{background:#3a4288}.defect-detail-page .action-bar .tone-muted{color:#3d555b;background:#f1f5f7;border:1px solid #dde6e8}.defect-detail-page .action-bar .tone-muted:hover{background:#e6ecee}.defect-detail-page .action-bar .ghost-button,.defect-detail-page .action-bar .primary-button,.defect-detail-page .action-bar .secondary-button{min-height:32px}.defect-detail-page .danger-text{color:#c0392b}.page-actions .secondary-button.danger-ghost{color:#c0392b;background:#fff7f5;border-color:#ebd1cc}.page-actions .secondary-button.danger-ghost:hover{background:#fdecea}@media (width<=1400px){.defect-detail-page .case-info-cards.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.defect-detail-page .reporter-cards{grid-template-columns:1fr 1fr}}@media (width<=860px){.defect-detail-page .case-info-cards.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.defect-detail-page .reporter-cards{grid-template-columns:1fr}.defect-detail-page .action-bar .action-group+.action-group{border-left:none;padding-left:0}}@media (width<=720px){.defect-detail-page .case-detail-meta-tags{gap:6px}.defect-detail-page .flow-timeline{padding-left:20px}.defect-detail-page .flow-timeline .history-item-card:before{left:-18px}}@media (width<=610px){.defect-detail-page .case-info-cards.two-col{grid-template-columns:1fr 1fr}.defect-detail-page .case-info-cards .info-card-text strong{font-size:14px}.page-actions{flex-direction:column-reverse;align-items:stretch;width:100%}}.defect-detail-page .person-card.unassigned{background:linear-gradient(135deg,#f6f7f8 0%,#fff 60%);border-color:#e3e8ea}.defect-detail-page .person-card.unassigned .person-avatar{color:#fff;background:#c9d3d7}.defect-detail-page .person-meta .info-card-sub{color:#93a2a7;letter-spacing:.2px;font-size:11px;font-weight:500}.page-actions .action-bar-divider{background:#dde5e7;flex-shrink:0;align-self:stretch;width:1px;margin:2px 4px}.defect-detail-page .people-section-content{padding:4px 0 0}.defect-detail-page .people-section-content .reporter-cards{gap:12px;margin:0}.defect-detail-page .people-section-content .person-card{background:#f8fafb;border:0;border-radius:6px;gap:10px;min-width:0;padding:8px 10px}.defect-detail-page .people-section-content .person-avatar{border-radius:8px;width:30px;height:30px;font-size:12px}.defect-detail-page .people-section-content .person-meta{flex:1;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:3px 8px;line-height:1.5;display:grid}.defect-detail-page .people-section-content .person-meta small{font-size:12px}.defect-detail-page .people-section-content .person-meta strong{font-size:13px}.defect-detail-page .people-section-content .info-card-sub{letter-spacing:0;grid-column:1/-1;font-size:11px}@media (width<=1400px){.defect-detail-page .person-card{gap:10px;padding:10px 12px}.defect-detail-page .person-avatar{border-radius:9px;width:36px;height:36px;font-size:13px}.defect-detail-page .person-meta strong{font-size:14px}.defect-detail-page .person-meta .info-card-sub{font-size:10.5px}}.menu-toggle{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,border-color .18s;display:none}.menu-toggle:hover{background:var(--surface-subtle);border-color:#cdd8da}.menu-toggle svg{display:block}.sidebar-backdrop{z-index:900;opacity:0;pointer-events:none;background:#0f1e2873;transition:opacity .28s;display:none;position:fixed;inset:0}@media (width<=768px){.menu-toggle{display:inline-flex}.sidebar{z-index:1000;border-radius:0 16px 16px 0;flex:0 0 270px;width:270px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0000002e}.app-shell.sidebar-open .sidebar{transform:translate(0)}.sidebar-backdrop{pointer-events:none;opacity:0;display:block}.app-shell.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.main-area{flex:100%;width:100%}.topbar{flex-basis:56px;gap:10px;height:56px;padding:0 14px}.breadcrumbs{flex:1;gap:6px;min-width:0}.breadcrumbs>span:first-child,.breadcrumbs>b{display:none}.breadcrumbs strong{font-size:15px}.search-wrapper{flex:0 auto;min-width:0}.search-box{justify-content:center;width:38px;padding:0}.search-box>span{margin:0}.search-box input,.search-box kbd{display:none}.search-wrapper:focus-within .search-box,.search-wrapper.search-focused .search-box{justify-content:flex-start;width:200px;padding:0 12px}.search-wrapper:focus-within .search-box input,.search-wrapper.search-focused .search-box input{display:block}.search-wrapper:focus-within .search-box kbd,.search-wrapper.search-focused .search-box kbd{display:inline}.notification-button{width:36px;height:36px}.top-avatar{width:34px;height:34px;font-size:13px}.top-user-meta,.top-user-caret{display:none}.top-user-trigger{padding:2px}.content{max-width:100%;padding:18px 14px 48px}.page-header{flex-direction:column;gap:12px;margin-bottom:18px;align-items:flex-start!important}.page-header .page-actions{flex-wrap:wrap;gap:8px;width:100%}.page-header .page-actions>button,.page-header .page-actions>.primary-button,.page-header .page-actions>.secondary-button,.page-header .page-actions>.ghost-button{flex:calc(50% - 4px);justify-content:center;min-width:0}.dashboard-grid,.project-layout,.testcase-layout,.execution-layout,.defect-layout,.release-layout,.system-layout,.report-grid{grid-template-columns:1fr!important;gap:14px!important;height:auto!important;min-height:0!important}.metric-grid{grid-template-columns:repeat(2,1fr);gap:10px}.system-summary{grid-template-columns:repeat(2,1fr);gap:10px;padding:14px}.version-board{grid-template-columns:1fr}.testcase-summary{grid-template-columns:repeat(2,1fr)!important}.execution-summary-grid{grid-template-columns:repeat(2,1fr)}.case-info-cards{grid-template-columns:1fr!important}.testcase-list-panel,.execution-list-panel,.project-list-panel{height:auto!important;min-height:0!important;max-height:none!important}.testcase-list-panel.full-width,.execution-list-panel.full-width{height:auto!important;max-height:520px!important}.defect-list-panel.testcase-list-panel.full-width{max-height:none!important}.defect-list-panel .testcase-list{flex:none!important;overflow-y:visible!important}.testcase-detail-panel,.project-detail-panel,.testcase-detail-panel.detail-page{height:auto!important;max-height:none!important}.project-detail-panel.detail-page .product-list,.project-detail-panel.detail-page .project-audit-list{flex:none!important;max-height:none!important;overflow-y:visible!important}.defect-detail-page .detail-defect-info{grid-template-columns:repeat(2,1fr)!important}.filter-bar{flex-wrap:wrap;gap:8px 10px;padding:12px 14px}.filter-group{flex:calc(50% - 5px);min-width:140px}.system-row,.audit-row,.member-row,.permission-row{min-width:560px}.quality-table .table-head,.quality-table .table-row{grid-template-columns:1.3fr .9fr 1.2fr;gap:10px;min-width:0;padding:12px 14px;display:grid}.quality-table .table-head span:nth-child(n+4),.quality-table .table-row>span:nth-child(n+4){display:none}.quality-table .table-pagination{padding:10px 14px 12px}.system-list,.audit-list,.role-stack,.member-grid{-webkit-overflow-scrolling:touch;overflow-x:auto}.case-card-row{grid-template-columns:36px 1fr auto;gap:10px;padding:12px}.case-card-row .testcase-icon{width:36px;height:36px;font-size:11px}.case-card-row .testcase-meta{display:none}.case-card-row .testcase-actions{opacity:1}.modal-backdrop{align-items:flex-end;padding:0}.modal-card{border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:92dvh;padding:20px 18px;animation:.3s cubic-bezier(.4,0,.2,1) slideUp}.modal-header{margin-bottom:16px;top:0}.modal-actions{background:#fff;flex-wrap:wrap;padding-top:12px;position:sticky;bottom:0}.modal-actions>button{flex:1;min-width:0}.form-grid{grid-template-columns:1fr}.form-grid .full-row{grid-column:auto}.form-grid-2,.check-grid{grid-template-columns:1fr}.panel-header,.panel-toolbar{flex-wrap:wrap;gap:8px;padding:12px 14px}.toolbar-actions{flex-wrap:wrap;width:100%}.case-detail-top{padding:16px 16px 12px}.case-detail-body{gap:10px;padding:14px 16px}.case-detail-tabs{-webkit-overflow-scrolling:touch;padding:0 16px;overflow-x:auto}.case-detail-footer{flex-wrap:wrap;padding:12px 16px 14px}.toast{text-align:center;bottom:12px;left:12px;right:12px}.app-shell:has(.case-nav-floating) .toast{bottom:84px}.notification-drawer-panel{border-radius:16px 0 0;width:100%!important;max-width:100%!important;right:0!important}.workspace-hero{padding:20px 18px}.workspace-hero h1{font-size:22px}}@media (width<=480px){.topbar{gap:8px;padding:0 10px}.content{padding:14px 10px 40px}.filter-bar{flex-direction:column;align-items:stretch}.filter-group{flex:100%;min-width:0;margin-right:0!important}.filter-group .custom-select,.filter-group .custom-select .custom-select-trigger{width:100%}.metric-grid,.system-summary{grid-template-columns:1fr}.testcase-summary{grid-template-columns:1fr!important}.execution-summary-grid{grid-template-columns:1fr}.quality-table{font-size:11px}.quality-table .table-head,.quality-table .table-row{gap:8px;padding:10px 12px}.quality-table .progress{width:40px;margin-right:5px}.defect-detail-page .detail-defect-info{grid-template-columns:1fr!important}.page-header .page-actions>button,.page-header .page-actions>.primary-button,.page-header .page-actions>.secondary-button{flex:100%}.case-info-cards.two-col .reporter-cards,.defect-detail-page .reporter-cards{grid-template-columns:1fr!important}.login-brand b{font-size:17px}.login-brand .brand-mark{width:52px;height:52px}.sidebar{flex-basis:250px;width:250px}.search-wrapper:focus-within .search-box,.search-wrapper.search-focused .search-box{width:160px}}@keyframes slideUp{0%{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.sidebar{border-radius:0 16px 16px 0;padding:22px 14px 16px}.workspace-switcher{justify-content:flex-start;gap:10px;margin:8px 6px 12px;padding:12px 10px}.workspace-meta{display:grid}.nav-item{justify-content:flex-start;gap:11px;padding:0 11px}.nav-item>span:not(.nav-icon),.nav-label{display:block}.user-meta{display:grid}.app-shell.sidebar-open .content{overflow:hidden}.project-card{grid-template-columns:38px 1fr 42px 18px;gap:10px;padding:12px 14px}.project-card.status-hidden{grid-template-columns:38px 1fr 42px 68px 18px}.project-symbol{width:38px;height:38px;font-size:12px}.project-card-main strong{font-size:13px}.project-card-stats b{font-size:15px}.product-row{flex-wrap:wrap;gap:10px;padding:12px 14px}.product-icon{width:36px;height:36px;font-size:11px}.product-main strong{font-size:13px}.product-actions{justify-content:flex-end;width:100%}.system-row{grid-template-columns:1fr;gap:6px}.member-form-row{grid-template-columns:16px 1fr}.member-form-scope{justify-self:start}.module-preview{flex-direction:column;align-items:flex-start;padding:22px 16px}.dashboard-builder,.dashboard-config,.custom-dashboard-grid{grid-template-columns:1fr}.custom-dashboard-widget.wide-widget{grid-column:auto}.detail-tabs,.case-detail-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.defect-action-bar{flex-wrap:wrap;gap:8px}.defect-action-bar .action-group{flex-wrap:wrap}.defect-action-bar .action-group>button{flex:auto}.defect-detail-page .reporter-cards{grid-template-columns:1fr!important}.defect-detail-page .page-actions{flex-wrap:wrap}.defect-detail-page .page-actions>button{flex:auto}}.defect-status-badge.status-未提交{color:#7a8a92;background:#f2f3f5;border-color:#e4e8ea}.defect-status-badge.status-待处理{color:#1565c0;background:#e8f0fe;border-color:#cfe0fb}.defect-status-badge.status-待验证{color:#c76c11;background:#fff3e0;border-color:#f5dcb2}.defect-status-badge.status-已关闭{color:#1b5e20;background:#e8f5e9;border-color:#c5e2c6}.defect-status-badge.status-重新打开{color:#c62828;background:#fdecea;border-color:#f5c3c0}.defect-status-badge.status-无法复现{color:#6c8089;background:#f2f3f5;border-color:#e4e8ea}.defect-status-badge.status-延期处理{color:#8e6a1a;background:#fbf3de;border-color:#ecdcb0}.defect-status-badge.status-待修复{color:#c76c11;background:#fff3e0;border-color:#f5dcb2}.defect-status-badge.status-已提交{color:#1565c0;background:#e8f0fe;border-color:#cfe0fb}.status-pill.info{color:#1565c0;background:#e8f0fe}.status-pill.danger{color:#c62828;background:#fdecea}.defect-action-hint{color:#9aabaf;padding:8px 4px;font-size:12px}.defect-flow-modal{width:min(100%,480px)}.defect-flow-modal .modal-tip{color:#4a6a67;background:#f3f6fb;border:1px solid #d8e0eb;border-radius:8px;margin:0 0 16px;padding:10px 12px;font-size:12px;font-weight:400;line-height:1.6}.defect-flow-modal .modal-field{color:#64737c;gap:7px;margin-bottom:16px;font-size:12px;font-weight:700;display:grid}.defect-flow-modal textarea{width:100%;color:var(--ink);resize:vertical;background:#fbfcfc;border:1px solid #d8e1e4;border-radius:6px;outline:0;padding:10px 11px;font-family:inherit;font-size:13px;line-height:1.6}.defect-flow-modal textarea:focus{background:#fff;border-color:#7d9cc9;box-shadow:0 0 0 3px #1459c81a}.defect-flow-modal .modal-field .filter-select{width:100%;color:var(--ink);background:#fbfcfc;border:1px solid #d8e1e4;border-radius:6px;outline:0;padding:9px 11px;font-size:13px}.defect-flow-modal .defect-verify-file-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.defect-flow-modal label.file-button{color:inherit;cursor:pointer;gap:0;margin-bottom:0;font-size:12px;display:inline-flex}.primary-button.tone-danger{background:#c0392b;border-color:#c0392b}.primary-button.tone-danger:hover{background:#a33024;border-color:#a33024}.system-modal-header{border-bottom:1px solid #e8eef0;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:15px;display:flex}.system-modal-heading{align-items:center;gap:12px;min-width:0;display:flex}.system-modal-icon{background:linear-gradient(135deg,#e3eaf4,#cfdae9);border-radius:11px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:19px;font-style:normal;display:inline-flex}.system-modal-header h2{margin:3px 0 0;font-size:18px}.modal-tip{color:#4c6270;background:#eef6fb;border:1px solid #d6e7f2;border-radius:8px;margin:0 0 15px;padding:10px 13px;font-size:12px;line-height:1.65}.modal-tip b{color:#2d4a5a}.modal-tip.warning-tip{color:#7a5a23;background:#fdf6ec;border-color:#f2e0bd}.modal-tip.warning-tip b{color:#6b4d1c}.modal-section{margin-bottom:18px}.modal-section-title{color:#334752;letter-spacing:.02em;margin-bottom:10px;font-size:12px;font-weight:700;display:block}.modal-section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.modal-section-count{color:#1459c8;background:#e6ecf4;border-radius:999px;flex:none;padding:2px 9px;font-size:10px;font-weight:700}.system-modal .form-grid>label{color:#50636d;margin:0;font-size:12px;font-weight:700;display:block}.system-modal .form-grid>label input,.system-modal .form-grid>label select{margin-top:6px}.field-required{color:#d9534f;margin-left:3px}.field-hint{color:#93a1a8;margin-top:5px;font-size:10px;font-weight:400;line-height:1.45;display:block}.system-modal-actions{border-top:1px solid #e8eef0;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;padding:16px 0 0;display:flex}.role-delete-button{color:#c0392b;margin-right:auto;font-weight:600}.role-delete-button:hover:not(:disabled){color:#93271c;background:#fdf0ef}.role-chip-group{flex-wrap:wrap;gap:8px;display:flex}.role-chip{cursor:pointer;margin:0;display:inline-flex;position:relative}.role-chip input{opacity:0;width:1px;height:1px;position:absolute}.role-chip>span{color:#5a6b74;background:#fbfcfc;border:1px solid #d8e1e4;border-radius:999px;align-items:center;gap:6px;padding:7px 15px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.role-chip:hover>span{color:#1459c8;border-color:#9eb5d5}.role-chip.active>span{color:#fff;background:#1459c8;border-color:#1459c8;box-shadow:0 4px 12px #1459c840}.role-chip .chip-tag{color:#1459c8;background:#e3e9f0;border-radius:999px;padding:1px 7px;font-size:10px;font-style:normal}.role-chip.active .chip-tag{color:#fff;background:#ffffff40}.role-chip .chip-tag.muted{color:#93a1a8;background:#edf1f2}.role-chip.is-disabled:not(.active)>span{opacity:.65}.system-modal label.role-chip,.system-modal label.seg-btn,.system-modal label.permission-card,.system-modal label.group-select-all{color:inherit;font-size:inherit;font-weight:inherit;gap:0;margin:0}.system-modal label.role-chip{display:inline-flex}.system-modal label.seg-btn,.system-modal label.permission-card{display:flex}.system-modal label.group-select-all{display:inline-flex}.seg-field{flex-direction:column;gap:7px;display:flex}.seg-field-caption{color:#50636d;font-size:12px;font-weight:700}.seg-group{background:#edf3f3;border:1px solid #e2eaea;border-radius:9px;gap:4px;width:100%;padding:4px;display:flex}.seg-btn{cursor:pointer;flex:1;align-items:stretch;margin:0;display:flex;position:relative}.seg-btn input{opacity:0;width:1px;height:1px;position:absolute}.seg-btn>span{color:#6b7c85;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:7px;padding:10px 0;font-size:13px;font-weight:600;line-height:1;transition:color .16s,background .16s,box-shadow .16s;display:inline-flex}.seg-btn>span:before{content:"";background:#b9c5ca;border-radius:50%;width:8px;height:8px;transition:background .16s,box-shadow .16s}.seg-btn:hover>span{color:#1459c8;background:#fff9}.seg-btn.seg-btn-off:hover>span{color:#b07028}.seg-btn.seg-btn-on:hover>span:before,.seg-btn.seg-btn-on.active>span:before{background:#1459c8;box-shadow:0 0 0 3px #1459c829}.seg-btn.seg-btn-off:hover>span:before,.seg-btn.seg-btn-off.active>span:before{background:#d08a2e;box-shadow:0 0 0 3px #d08a2e29}.seg-btn.active>span{background:#fff;box-shadow:0 1px 4px #17232d24}.seg-btn.seg-btn-on.active>span{color:#1459c8}.seg-btn.seg-btn-off.active>span{color:#b07028}.permission-groups{scrollbar-width:thin;scrollbar-color:#cbd7db transparent;gap:10px;max-height:42vh;padding:2px 4px 2px 0;display:grid;overflow:auto}.permission-group{background:#fff;border:0;border-bottom:1px solid #e6edee;padding:10px 0 12px}.permission-group:last-child{border-bottom:0}.permission-group-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.permission-group-head>strong{color:#334752;align-items:center;gap:7px;font-size:12px;display:flex}.permission-group-head>strong:before{content:"";background:#1459c8;border-radius:2px;width:3px;height:12px}.group-select-all{color:#1459c8;cursor:pointer;white-space:nowrap;align-items:center;gap:5px;margin:0;font-size:11px;font-weight:600;display:inline-flex}.group-select-all input{accent-color:#1459c8;margin:0;width:auto!important;height:auto!important;min-height:0!important}.permission-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;display:grid}.permission-card{cursor:pointer;background:#fff;border:1px solid #e3ebeb;border-radius:8px;align-items:flex-start;gap:9px;margin:0;padding:10px 12px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative}.permission-card:hover{border-color:#9eb5d5;box-shadow:0 2px 8px #1459c814}.permission-card.checked{background:#f0f4f9;border-color:#7f9cc6}.permission-card input{opacity:0;width:1px;height:1px;position:absolute}.permission-card-check{color:#0000;background:#fff;border:1.5px solid #c6d2d6;border-radius:5px;flex:none;justify-content:center;align-items:center;width:17px;height:17px;margin-top:1px;font-size:10px;font-style:normal;transition:all .15s;display:inline-flex}.permission-card.checked .permission-card-check{color:#fff;background:#1459c8;border-color:#1459c8}.permission-card-body{gap:2px;min-width:0;display:grid}.permission-card-body b{color:#334752;font-size:12px;font-weight:600}.permission-card-body small{color:#8b999f;font-size:10px;line-height:1.5}.permission-card.is-readonly{opacity:.78;cursor:default}.permission-card.is-readonly:hover{box-shadow:none;border-color:#e3ebeb}.system-modal label.permission-card{border-radius:6px;align-items:center;gap:10px;padding:9px 10px;font-size:12px;font-weight:400}.system-modal .permission-card.checked{background:#f4f7fa;border-color:#c2cfdf}.system-modal .permission-card:hover{box-shadow:none;border-color:#7f9cc6}.system-modal .permission-card:has(input:focus-visible){outline-offset:2px;outline:2px solid #1459c8}.system-modal .permission-card input[type=checkbox]{border:0;width:1px;height:1px;min-height:0;margin:0;padding:0}.system-modal .permission-card-check{border-radius:4px;width:16px;height:16px;margin:0}.system-modal .permission-card-body{gap:3px}.system-modal .permission-card-body b{line-height:1.4}.system-modal .permission-card-body small{color:#7c8d96;overflow-wrap:anywhere;font-size:11px;font-weight:400}.system-modal button.group-select-all{color:#1459c8;background:0 0;border:0;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500;line-height:1.5}.system-modal button.group-select-all:hover{background:#edf2f7}.system-modal button.group-select-all:focus-visible{outline-offset:2px;outline:2px solid #1459c8}.dashboard-builder{grid-template-columns:300px minmax(0,1fr)}.dashboard-config{gap:14px}.config-section{background:#fbfcfc;border:1px solid #e4ecec;border-radius:10px;padding:14px}.config-section-title{color:#334752;letter-spacing:.03em;margin-bottom:10px;font-size:11px;font-weight:700;display:block}.config-section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.config-section-head .config-section-title{margin-bottom:0}.config-section-count{color:#1459c8;background:#e6ecf4;border-radius:999px;flex:none;padding:2px 9px;font-size:10px;font-weight:700}.dashboard-config .config-section>label{color:#71818a;margin:0 0 10px;font-size:11px;font-weight:700;display:block}.dashboard-config .config-section>label:last-child{margin-bottom:0}.dashboard-config .config-section label input:not([type=checkbox]){width:100%;height:36px;color:var(--ink);background:#fff;border:1px solid #d8e1e4;border-radius:6px;outline:0;margin-top:6px;padding:0 11px;font-size:12px;transition:border-color .15s,box-shadow .15s}.dashboard-config .config-section label input:not([type=checkbox]):focus{border-color:#7d9cc9;box-shadow:0 0 0 3px #1459c81a}.widget-options{gap:9px;display:grid}.widget-option{cursor:pointer;background:#fff;border:1px solid #e3ebeb;border-radius:9px;align-items:flex-start;gap:10px;margin:0;padding:11px 12px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:flex;position:relative}.widget-option:hover{border-color:#9eb5d5;transform:translateY(-1px);box-shadow:0 3px 10px #1459c817}.widget-option.selected{background:linear-gradient(#f3f6fa,#ebeff6);border-color:#7f9cc6}.widget-option input{opacity:0;width:1px;height:1px;position:absolute}.widget-option-icon{color:#1459c8;background:#e8ecf3;border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-style:normal;font-weight:700;transition:all .16s;display:inline-flex}.widget-option.selected .widget-option-icon{color:#fff;background:#1459c8}.widget-option-body{gap:2px;min-width:0;padding-right:20px;display:grid}.widget-option-body b{color:#334752;font-size:12px}.widget-option-body small{color:#8b999f;font-size:10px;line-height:1.5}.widget-option-check{color:#fff;opacity:0;background:#1459c8;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;font-size:10px;font-style:normal;transition:all .16s;display:inline-flex;position:absolute;top:10px;right:10px;transform:scale(.5)}.widget-option.selected .widget-option-check{opacity:1;transform:scale(1)}.config-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.config-actions .primary-button{flex:100%}.config-actions .ghost-button,.config-actions .text-button{flex:auto}@media (width<=860px){.permission-grid{grid-template-columns:1fr}}.export-job-scroll{scrollbar-width:thin;scrollbar-color:#c3d0d4 #f2f6f6;max-height:336px;padding:2px 6px 2px 2px;overflow-y:auto}.export-job-scroll::-webkit-scrollbar{width:8px}.export-job-scroll::-webkit-scrollbar-thumb{background:#c3d0d4;border:2px solid #f2f6f6;border-radius:8px}.export-job-scroll::-webkit-scrollbar-thumb:hover{background:#9fb4b9}.export-job-scroll::-webkit-scrollbar-track{background:#f2f6f6;border-radius:8px}.export-job-card{background:#fbfcfc;border:1px solid #e6edee;border-radius:9px;align-items:center;gap:12px;padding:10px 14px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative}.export-job-card+.export-job-card{margin-top:8px}.export-job-card:hover{background:#fff;border-color:#b9c8dc;box-shadow:0 2px 8px #1459c814}.export-job-dot{background:#b9c5ca;border-radius:50%;flex:none;width:9px;height:9px}.export-job-card.is-success .export-job-dot{background:#2e9e6b;box-shadow:0 0 0 3px #2e9e6b24}.export-job-card.is-failed .export-job-dot{background:#d9534f;box-shadow:0 0 0 3px #d9534f24}.export-job-card.is-pending .export-job-dot{background:#d08a2e;animation:1.4s ease-in-out infinite export-job-pulse;box-shadow:0 0 0 3px #d08a2e24}@keyframes export-job-pulse{0%,to{opacity:1}50%{opacity:.4}}.export-job-main{flex:auto;gap:2px;min-width:0;display:grid}.export-job-title{align-items:center;gap:8px;min-width:0;display:flex}.export-job-title b{text-overflow:ellipsis;white-space:nowrap;color:#2c414b;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.export-job-meta{color:#8b999f;flex-wrap:wrap;gap:0 12px;font-size:10px;line-height:1.5;display:flex}.export-job-sub{text-overflow:ellipsis;white-space:nowrap;color:#a3b0b6;min-width:0;font-size:10px;line-height:1.5;overflow:hidden}.export-job-sub span+span:before{content:"·";margin:0 8px}.export-job-error{color:#c0392b}.export-job-actions{border-left:1px solid #eef2f2;flex:none;align-items:center;gap:8px;padding-left:12px;display:flex}@media (width<=860px){.nav-item:after{display:none}}@media (width<=768px){.nav-item:after{display:block}}.bootstrap-screen{color:#5f717a;background:#f4f7f7;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;display:flex}.bootstrap-screen .brand-mark{border-radius:14px;width:78px;height:78px;box-shadow:0 8px 22px #1459c82e}.bootstrap-spinner{border:3px solid #1459c82e;border-top-color:#1459c8;border-radius:50%;width:26px;height:26px;animation:.8s linear infinite bootstrap-spin}.bootstrap-screen p{letter-spacing:.5px;margin:0;font-size:13px}@keyframes bootstrap-spin{to{transform:rotate(360deg)}}
