@charset "UTF-8";
:root{--ink:#17283d;--muted:#718096;--line:#e5eaf0;--blue:#2864dd;--teal:#158777;--surface:#fff;--bg:#f5f7fa;--sidebar:#122237;--radius:13px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);font-size:16px;line-height:1.6;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}button,input,textarea,select{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible{outline:3px solid #9ab9ff;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:0;border-color:#729cf0;box-shadow:0 0 0 3px #2864dd12}[hidden]{display:none!important}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin-top:0}h1{font-size:31px;line-height:1.35;letter-spacing:-.6px;margin-bottom:10px;font-weight:700}h2{font-size:18px;font-weight:650;line-height:1.5;margin-bottom:16px}h3{font-size:19px}p{margin-bottom:12px}small,.small{font-size:14px}.muted{color:var(--muted)}.nowrap{white-space:nowrap}.break-all{overflow-wrap:anywhere}.wide{grid-column:1/-1}.separator{margin:0 8px;color:#bbc5d0}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:#7b8ca3;margin-bottom:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;min-height:42px;line-height:1.5;border-radius:8px;font-size:15px;font-weight:600;border:1px solid transparent;white-space:nowrap;transition:background .15s,box-shadow .15s}.button.primary{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 3px 6px #2864dd12}.button.primary:hover{background:#1c53c1}.button.secondary{background:white;color:#43536a;border-color:#dce3ec}.button.secondary:hover{background:#f4f7fc;border-color:#bdcce3}.button.full{width:100%}.small-button{min-height:32px;font-size:14px;padding:6px 11px}.button-row{display:flex;gap:10px;align-items:center}.text-link,.text-button{color:var(--blue);font-size:15px}.text-button{background:none;border:0;padding:0;font-weight:500}.text-button:hover{text-decoration:underline}.pill{display:inline-flex;padding:5px 11px;background:#edf1f6;color:#607086;border-radius:6px;font-size:14px}.count-chip{font-size:13px;font-weight:600;background:#edf1f6;color:#7b8a9c;padding:3px 8px;border-radius:5px;margin-left:5px}
.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--sidebar);color:#b5c2d5;padding:30px 21px 20px;z-index:50;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;color:#f7fbff;font-weight:700;font-size:25px;letter-spacing:-.7px;line-height:1.25;white-space:nowrap}.brand:hover{color:white}.brand-mark{width:44px;height:44px;display:block;flex-shrink:0;object-fit:contain;border-radius:10px}.brand-mark .icon{width:25px;height:25px}.workspace-label{font-size:12px;color:#6f829f;padding:0 12px;letter-spacing:1.2px;margin:39px 0 13px}.workspace-label span{font-size:10px;margin-left:6px;color:#566e8a}.nav-label{margin-top:29px}.nav-item{position:relative;display:flex;align-items:center;gap:13px;padding:12px 13px;border-radius:8px;margin-bottom:5px;font-size:15px;font-weight:500}.nav-item .icon{width:18px;height:18px;color:#778ba7}.nav-item:hover{color:#fff;background:#ffffff06}.nav-item.active{color:#f7faff;background:#2c61c926}.nav-item.active .icon{color:#6f9fff}.nav-item.active:before{content:"";position:absolute;left:-21px;width:3px;top:13px;bottom:13px;background:#6095ff;border-radius:0 3px 3px 0}.nav-count{margin-left:auto;background:#ffffff0c;color:#9fb7da;border-radius:5px;min-width:22px;text-align:center;font-size:12px;padding:1px 6px}.sidebar-bottom{margin-top:auto}.avatar{display:inline-grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#e4edfa;color:#406caa;font-weight:600;font-size:16px;flex-shrink:0}.app-shell{margin-left:238px}.topbar{height:75px;background:#fff;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:16px}.topbar-left{font-size:14px;color:#8794a7}.topbar-left strong{color:#45556b;font-weight:500}.slash{color:#d4dbe4}.today{font-size:13px;color:#91a0b2;margin-right:7px}.icon-button{border:0;background:transparent;position:relative;color:#6c7d94;padding:4px;display:inline-grid;place-items:center}.notification-number{position:absolute;background:#2864dd;color:white;top:-2px;right:-7px;font-size:10px;line-height:14px;min-width:14px;text-align:center;border-radius:7px;border:1px solid white;padding:0 2px}.mini-avatar{display:grid;place-items:center;width:29px;height:29px;background:#e5edf9;border-radius:8px;font-size:13px;color:#4d70a2;margin-left:10px}.mobile-menu{display:none}.main-content{padding:35px 38px 0;max-width:1700px;margin:auto;min-height:calc(100vh - 75px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading p{font-size:14px;margin-bottom:0}.page-heading .eyebrow{margin-bottom:7px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:29px 0 15px;gap:12px}.section-heading h2{margin:0}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow:hidden}.padded{padding:25px}.padded>.section-heading:first-child{margin-top:0}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:31px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px 23px 17px;min-width:0;position:relative}.stat-label{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#738096}.stat-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px}.stat-icon .icon{width:16px;height:16px}.blue{background:#edf3ff;color:#4e7de2}.amber{background:#fff6e8;color:#d7a23a}.teal{background:#e8f6f1;color:#37a08c}.stat-card>strong{font-size:34px;font-weight:650;letter-spacing:-1px;line-height:1.4;display:block;color:#24374e;margin:7px 0 6px}.stat-card>small{color:#99a4b2;font-size:12px}.compact .stat-label{justify-content:flex-start;gap:8px}.compact .stat-card>strong{margin-bottom:0}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-card{background:white;border:1px solid var(--line);border-radius:13px;padding:23px 24px 0;transition:box-shadow .15s,border-color .15s}.project-card:hover{border-color:#bccde7;box-shadow:0 5px 18px #273e6510}.project-card-top{display:flex;align-items:center;gap:10px;margin-bottom:16px}.project-symbol{width:40px;height:40px;background:#e9f0fc;color:#3f6fbd;border-radius:10px;display:grid;place-items:center;font-size:15px;font-weight:700;letter-spacing:1px;flex-shrink:0}.project-card:nth-child(even) .project-symbol{background:#e5f3f0;color:#2b8e7e}.project-code{letter-spacing:1px;font-size:12px;color:#98a5b6;font-weight:600}.round-link{margin-left:auto;color:#9aabbe}.round-link .icon{width:19px}.project-title{font-size:20px;font-weight:650;display:inline-block;margin-bottom:5px;letter-spacing:-.3px}.project-client{font-size:13px;color:#8b99ab;margin-bottom:11px}.project-client span{margin:0 7px;color:#cad2dd}.project-description{font-size:14px;color:#8190a3;line-height:1.85;min-height:44px;overflow-wrap:anywhere;margin-bottom:18px}.project-counts{display:grid;grid-template-columns:repeat(4,1fr);background:#f8fafc;border-radius:8px;padding:12px 6px;margin-bottom:20px}.project-counts a{position:relative;display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:0 7px;border-right:1px solid #e9eef5}.project-counts a:last-child{border:0}.project-counts strong{font-size:20px;font-weight:600}.project-counts small{grid-column:1/-1;color:#8a98aa;font-size:12px;text-align:center;margin-top:3px}.dot{width:6px;height:6px;display:inline-block;border-radius:50%;flex-shrink:0}.dot.open{background:#dca548}.dot.progress{background:#5c8de7}.dot.review{background:#34a58a}.dot.closed{background:#22a35a}.project-card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf1f6;padding:14px 0;font-size:13px;color:#8390a3}.project-card-bottom>span,.project-card-bottom>a{display:flex;align-items:center;gap:7px}.project-card-bottom>a{color:#557cb2}.project-card-bottom .icon{width:13px;height:13px}.tiny-avatar{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:7px;font-size:12px;background:#edf2f9;color:#6482aa;flex-shrink:0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{background:#f9fafc;color:#99a4b3;font-weight:500;font-size:12px;letter-spacing:.2px;padding:13px 21px;white-space:nowrap;border-bottom:1px solid var(--line)}td{padding:17px 21px;border-bottom:1px solid #edf1f6;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcff}.bug-table{min-width:700px}.bug-title-cell{min-width:260px;max-width:440px}.bug-title-cell a{display:flex;flex-direction:column;gap:5px;align-items:flex-start}.bug-title-cell strong{font-size:14px;font-weight:550;line-height:1.6;overflow-wrap:anywhere}.bug-title-cell small{display:block;color:#a0abba;font-size:12px;margin-top:4px}.bug-number{font-size:12px;letter-spacing:.4px;font-weight:500;color:#90a0b5}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:5px;white-space:nowrap;font-size:12px;font-weight:500}.badge.open{background:#fff6e5;color:#b28738}.badge.progress{background:#edf3ff;color:#5280cf}.badge.review{background:#e8f6f2;color:#2f947b}.badge.closed{background:#dcfce7;color:#166534}.severity{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:5px;font-size:12px;font-weight:500;white-space:nowrap}.severity i{width:5px;height:11px;display:inline-block;border-radius:1px}.severity.critical{background:#fee2e2;color:#b91c1c}.severity.critical i{background:#dc2626}.severity.high{background:#ffedd5;color:#9a3412}.severity.high i{background:#ea580c;height:9px}.severity.medium{background:#dbeafe;color:#1e40af}.severity.medium i{background:#2563eb;height:7px}.severity.low{background:#f1f5f9;color:#475569}.severity.low i{background:#64748b;height:5px}.assignee-name{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:13px;color:#6e7f95}.table-caption{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.table-caption strong{font-weight:600;font-size:15px}.empty{text-align:center;padding:55px 24px;color:#94a1b2}.empty>.icon{width:38px;height:38px;color:#b5c7df;margin-bottom:15px}.empty h3{font-size:17px;color:#65758a;margin:0 0 9px}.empty p{font-size:14px;max-width:420px;margin:0 auto 20px;line-height:1.9}.back-link{font-size:13px;color:#8b9bb1;display:inline-block;margin-bottom:22px}.project-heading-title{display:flex;align-items:center;gap:18px}.project-heading-title h1{font-size:27px}.project-symbol.large{width:59px;height:59px;border-radius:14px;font-size:22px}.tabs{display:flex;gap:28px;border-bottom:1px solid #dfe6ef;margin-bottom:25px;font-size:14px}.tabs>a{padding:0 1px 13px;color:#8997aa;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs>a.active{color:#316acc;border-bottom-color:#316acc;font-weight:600}.tabs span{background:#e7edf5;border-radius:4px;padding:1px 5px;margin-left:5px;font-size:12px}.overview-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.prose{font-size:15px;line-height:1.95;overflow-wrap:anywhere;white-space:normal;color:#56677c}.completion{margin-top:27px}.completion>div{display:flex;justify-content:space-between;font-size:14px;color:#8795a7}.completion strong{color:#34786b}progress{display:block;appearance:none;border:0;border-radius:5px;width:100%;height:6px;background:#edf1f6;overflow:hidden;margin:10px 0}progress::-webkit-progress-bar{background:#edf1f6}progress::-webkit-progress-value{background:#5ba898;border-radius:5px}progress::-moz-progress-bar{background:#5ba898}.member-list{max-height:260px;overflow:auto}.member-row{display:flex;align-items:center;gap:11px;padding:10px 0}.member-row strong{font-size:14px;font-weight:550}.member-row small{display:block;color:#94a1b4;font-size:12px}.owner-tag{font-size:11px;padding:2px 6px;background:#edf4ff;color:#7297c5;border-radius:4px;margin-left:auto}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:20px 22px;border-bottom:1px solid var(--line)}input,select,textarea{border:1px solid #dfe5ed;border-radius:7px;background:#fff;color:#40516a;padding:10px 12px;min-width:0;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#adb7c4;font-size:14px}textarea{resize:vertical;line-height:1.8;min-height:70px}.search-field{position:relative;flex:1;min-width:190px}.search-field .icon{position:absolute;left:11px;top:12px;color:#9caabc;width:17px;height:17px}.search-field input{width:100%;padding-left:35px}.filter-bar select{font-size:13px;padding:11px 26px 11px 11px;max-width:170px}.filter-bar .button{min-height:41px}.clear-filters{font-size:13px;color:#91a1b7}.pagination{border-top:1px solid var(--line);padding:17px 22px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#8b9aaf}.pagination>div{display:flex;gap:10px}
.field{margin-bottom:21px}.field>label,.comment-form>label,.assign-form>label{display:block;font-size:14px;font-weight:550;color:#536278;margin-bottom:8px}.field>input,.field>select,.field>textarea{width:100%}.field-help{font-size:13px;color:#8c9aaf;margin-top:8px;line-height:1.85}.field-help ul{padding-left:18px;margin-bottom:0}.required{color:#d1806f;font-size:14px;margin-left:5px}.optional{font-weight:400;margin-left:8px;color:#a5afbc;font-size:12px}.field-error,.errorlist{color:#c05959;font-size:14px;margin:7px 0 0}.errorlist{list-style:none;padding:0}.invalid input,.invalid select,.invalid textarea{border-color:#d78f8f}.form-narrow{max-width:760px}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;align-items:start;gap:25px;max-width:1200px}.form-layout form{padding:28px 30px}.form-section-title{margin-top:0;margin-bottom:25px}.form-section-title h2{font-size:16px}.form-section-title h2 span{color:#a3b7d7;font-size:13px;margin-right:10px;font-weight:500}.form-layout .field:has(#id_expected),.form-layout .field:has(#id_actual){background:#fafbfd;padding:15px;border:1px solid #edf1f6;border-radius:9px}.form-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:26px;padding-top:21px;border-top:1px solid var(--line)}.upload-zone{display:flex;align-items:center;flex-direction:column;justify-content:center;border:1px dashed #b9cae4;background:#f8faff;border-radius:10px;min-height:155px;padding:25px 15px;cursor:pointer;text-align:center}.upload-zone:hover,.upload-zone.dragging{border-color:var(--blue);background:#edf3ff}.upload-zone>.icon{color:#7a9cce;width:27px;height:27px;margin-bottom:13px}.upload-zone>strong{font-size:14px;font-weight:500;color:#607da8}.upload-zone>span{font-size:12px;color:#9baac0;margin-top:7px}.upload-zone>input{width:100%;max-width:310px;font-size:12px;margin-top:15px;padding:5px;background:white}.file-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}.preview-item{border:1px solid var(--line);border-radius:8px;overflow:hidden;position:relative;min-width:0}.preview-item img{width:100%;height:100px;object-fit:cover;display:block}.preview-item p{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 8px;margin:0;color:#8391a4}.preview-remove{position:absolute;right:5px;top:5px;background:#24344cd9;border:0;color:white;border-radius:50%;width:23px;height:23px;line-height:21px;padding:0}.upload-progress>div{display:flex;justify-content:space-between;margin-top:18px;font-size:13px;color:#6b83a8}.upload-progress progress::-webkit-progress-value{background:#578ae4}.alert{border:1px solid #e0e8f6;border-radius:9px;padding:13px 16px;display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.9;margin-bottom:22px;background:#edf4ff;color:#557eb2}.alert .icon{width:17px;height:17px;margin-top:3px}.alert.success{background:#edf8f2;border-color:#d8eee1;color:#4a9273}.alert.error{background:#fff1f0;border-color:#f1d8d5;color:#b65c55}.alert a{color:inherit;text-decoration:underline}.messages{margin-bottom:22px}.messages .alert{margin-bottom:10px}.bug-detail-heading{margin:0 0 26px}.bug-detail-heading h1{font-size:28px;line-height:1.5;overflow-wrap:anywhere;max-width:950px}.detail-meta{display:flex;align-items:center;gap:14px;margin-bottom:13px}.detail-meta .bug-number{font-size:14px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.detail-main,.detail-side{min-width:0}.detail-section{margin-bottom:28px}.detail-section:last-child{margin-bottom:0}.bug-description h2{font-size:15px;margin-bottom:12px}.steps-text{padding:16px 18px;background:#f8fafc;border-radius:8px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:28px}.result-grid>div{background:#f8fafc;border:1px solid #edf1f6;border-radius:8px;padding:17px}.result-grid>div:first-child{background:#f4faf7;border-color:#e6f0eb}.result-grid h2{font-size:13px;color:#83929f}.attachment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.attachment-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;min-width:0}.attachment-card img{width:100%;height:110px;object-fit:cover;display:block;background:#f4f6fa}.attachment-name{display:block;font-size:12px;padding:8px;color:#7288a4;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.attachment-name small{display:block;font-size:11px;color:#99a8ba;margin-top:2px}.detail-side .panel{margin-bottom:18px;padding:22px}.detail-side h2{font-size:15px}.assign-form{margin-top:22px}.assign-input{display:flex;gap:8px}.assign-input select{width:100%;font-size:14px;flex:1}.assign-input .button{padding:9px 13px}.status-form{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.status-form .field{margin-bottom:12px}.status-form .button{margin-top:9px;font-size:14px}.soft-notice{font-size:13px;line-height:1.9;color:#8296b0;margin-top:22px;padding:13px;border-radius:7px;background:#f4f7fc}.property{display:flex;justify-content:space-between;font-size:14px;margin-top:24px}.property span{color:#9ba8ba}.property strong{font-weight:500;color:#6e819a}.properties{margin:20px 0 0;font-size:14px}.properties dt{color:#9aa8ba;margin:16px 0 5px;font-size:12px}.properties dd{margin:0;color:#667a96;overflow-wrap:anywhere}.side-tip{display:flex;gap:8px;font-size:12px;color:#a3afbf;line-height:1.9;padding:3px 9px}.side-tip .icon{width:14px;height:14px;margin-top:3px}.activity-panel{margin-top:22px}.activity-panel>.section-heading{margin-top:0}.timeline{margin-top:26px}.timeline-item{position:relative;display:flex;gap:12px;padding-bottom:23px}.timeline-item:before{content:"";position:absolute;top:28px;bottom:0;left:14px;border-left:1px solid #e9eef5}.timeline-item:last-child:before{display:none}.timeline-avatar{width:29px;height:29px;display:grid;place-items:center;background:#edf2fa;border:3px solid white;border-radius:50%;font-size:11px;color:#7790b3;flex-shrink:0;z-index:1}.timeline-content{flex:1;min-width:0;padding-top:3px}.timeline-heading{display:flex;align-items:center;gap:12px;margin-bottom:6px}.timeline-heading strong{font-size:13px;font-weight:550;color:#71859e}.timeline-heading time{font-size:11px;color:#a8b3c1}.timeline-content p{font-size:14px;color:#8b9bb0;margin:0}.is-comment .timeline-content p{background:#f6f8fc;border:1px solid #edf1f6;padding:13px;border-radius:0 8px 8px 8px;color:#5b6e86}.comment-form{border-top:1px solid var(--line);margin-top:8px;padding-top:22px}.comment-form textarea{width:100%}.comment-form .form-bottom{margin-top:12px;padding:0;border:0}.cell-small{display:block;font-size:12px;color:#9aa9bc;margin-top:4px;max-width:420px;overflow-wrap:anywhere}.notification-list{margin-top:0}.notification-item{display:flex;gap:17px;border-bottom:1px solid var(--line);padding:26px}.notification-item:last-child{border:0}.notification-item.unread{background:#fafcff}.notification-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #e0e9f6;background:#eff4fc;color:#6e96d1;border-radius:10px;flex-shrink:0}.notification-icon .icon{width:19px;height:19px}.notification-body{flex:1;min-width:0}.notification-heading{display:flex;align-items:center;gap:10px}.notification-heading strong{font-size:15px;font-weight:550;overflow-wrap:anywhere}.unread-dot{width:6px;height:6px;flex-shrink:0;background:#477fe0;border-radius:50%}.notification-body>p{color:#8e9eb3;font-size:13px;margin:8px 0}.notification-body>p span{padding:0 8px;color:#c2cad6}.notification-meta{display:flex;align-items:center;flex-wrap:wrap;gap:16px;font-size:12px;color:#a2b0c1;margin-top:10px}.notification-actions{display:flex;gap:20px;margin-top:15px;flex-wrap:wrap}.notification-actions .text-button{font-size:13px}.error-code{font-size:70px;color:#b4c8e6;letter-spacing:2px;line-height:1.5}
@media(min-width:1500px){.main-content{padding:43px 55px 0}.topbar{padding:0 55px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card:only-child{grid-column:span 2}}
@media(max-width:1180px){.sidebar{width:212px;padding-left:17px;padding-right:17px}.app-shell{margin-left:212px}.main-content{padding:28px 25px 0}.topbar{padding:0 25px}.nav-item{font-size:14px}.nav-item.active:before{left:-17px}.brand{font-size:23px}.workspace-label span{display:none}.stats-grid{gap:12px}.stat-card{padding:18px 17px}.project-card{padding:20px 20px 0}.detail-layout{grid-template-columns:minmax(0,1fr) 270px;gap:17px}.padded{padding:21px}.form-layout{grid-template-columns:minmax(0,1fr) 215px;gap:20px}.form-layout form{padding:24px}}
@media(max-width:950px){.sidebar{width:190px;padding:25px 13px 18px}.brand{font-size:21px;gap:8px}.brand-mark{width:36px;height:38px}.app-shell{margin-left:190px}.nav-item{gap:9px;padding:11px 10px}.nav-item.active:before{left:-13px}.nav-item .icon{width:16px;height:16px}.nav-count{font-size:11px;min-width:18px}.workspace-label{padding-left:10px}.main-content{padding:27px 21px 0}.topbar{height:65px;padding:0 21px}.today{display:none}h1{font-size:27px}.page-heading{gap:15px}.project-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stat-card{padding:15px 13px}.stat-card>strong{font-size:29px}.stat-icon{display:none}.stat-card>small{font-size:11px}.stat-label{font-size:13px}.overview-grid{grid-template-columns:1fr}.form-layout{grid-template-columns:1fr}.detail-layout{grid-template-columns:1fr}.detail-side{display:grid;grid-template-columns:1fr 1fr;gap:17px;grid-row:1}.detail-side .panel{margin:0}.side-tip{grid-column:1/-1;margin:0}.detail-main{grid-row:2}.project-heading-title{gap:12px}.project-heading-title h1{font-size:24px}.project-symbol.large{width:45px;height:45px;font-size:18px}.project-heading-title p{font-size:12px}.project-heading-title .eyebrow{font-size:10px}.button-row{gap:6px}.button-row .button{font-size:13px;padding:9px 11px}}
@media(max-width:720px){.sidebar{transform:translateX(-100%);width:238px;padding:25px 21px;transition:transform .2s;box-shadow:none}.sidebar.is-open{transform:translateX(0);box-shadow:0 0 0 100vmax #12223766}.sidebar .brand{font-size:25px}.sidebar .nav-item{font-size:15px;padding:12px 13px;gap:12px}.sidebar .nav-item.active:before{left:-21px}.app-shell{margin-left:0}.mobile-menu{display:inline-grid}.topbar{height:61px;padding:0 19px;position:sticky;top:0;z-index:30}.topbar-left{gap:10px;font-size:13px}.topbar-right{gap:12px}.mini-avatar{width:27px;height:27px;margin-left:3px}.main-content{padding:27px 18px 0}.page-heading{align-items:flex-start;margin-bottom:22px}.page-heading h1{font-size:27px}.page-heading p{font-size:13px;line-height:1.9;max-width:360px}.page-heading .button{font-size:13px;padding:9px 12px;min-height:38px}.eyebrow{font-size:10px;letter-spacing:1.4px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:25px}.stat-card{padding:17px 18px 15px}.stat-card>strong{font-size:30px}.stat-icon{display:inline-grid;width:27px;height:27px}.stat-label{font-size:13px}.stat-card>small{font-size:11px}.project-card{padding:22px 22px 0}.project-title{font-size:19px}.project-grid{gap:16px}.section-heading{margin-top:27px}.section-heading h2{font-size:16px}.section-heading>.small{font-size:12px}.project-description{min-height:auto}.project-counts{margin-top:19px}.project-card-bottom{padding:14px 0}.project-card-bottom a{font-size:12px}.project-heading-title .project-symbol{display:none}.project-heading-title h1{font-size:25px}.project-heading-title p{font-size:12px}.page-heading:has(.project-heading-title){flex-direction:column;gap:17px}.page-heading:has(.project-heading-title) .button-row{align-self:flex-end}.tabs{gap:26px;margin-bottom:20px}.compact.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.compact .stat-card{padding:13px 11px}.compact .stat-card>strong{font-size:26px}.compact .stat-label{font-size:12px}.padded{padding:21px}.filter-bar{padding:17px;gap:8px}.search-field{flex-basis:100%}.filter-bar select{flex:1;max-width:none;min-width:86px;padding-right:16px;font-size:12px}.filter-bar .button{font-size:12px;min-height:35px;padding:8px 11px}.clear-filters{font-size:12px}.table-caption{padding:15px 17px}.table-wrap th,.table-wrap td{padding-left:17px;padding-right:17px}.table-wrap .bug-table{min-width:660px}.form-layout form{padding:22px 19px}.form-bottom{margin-top:22px}.upload-zone{padding:22px 10px;min-height:155px}.upload-zone>strong{font-size:13px}.upload-zone>span{font-size:11px}.file-previews{grid-template-columns:repeat(2,minmax(0,1fr))}.form-section-title h2{font-size:15px}.bug-detail-heading h1{font-size:25px}.detail-side{display:flex;flex-direction:column;gap:16px}.detail-side .panel{width:100%;padding:21px}.detail-layout{gap:20px}.detail-main{grid-row:auto}.detail-side{grid-row:auto;order:-1}.detail-main .panel{padding:21px}.result-grid{grid-template-columns:1fr;gap:12px}.attachment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bug-detail-heading .detail-meta{gap:12px}.bug-detail-heading p{font-size:12px;line-height:1.9}.timeline-heading{flex-wrap:wrap;gap:8px}.timeline-content p{font-size:13px}.activity-panel .section-heading .small{display:none}.notification-item{padding:21px 17px;gap:12px}.notification-icon{width:31px;height:31px}.notification-icon .icon{width:16px;height:16px}.notification-heading strong{font-size:14px}.notification-actions{gap:17px}.notification-meta{gap:9px}.notification-body>p{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* 简化页面：减少装饰文案后的间距，保留明确的标题与操作。 */
.page-heading h1{margin-bottom:0}
.page-heading h1+p{margin-top:10px}
.sidebar-bottom{padding-top:22px;border-top:1px solid #ffffff0b}
.main-content{padding-bottom:32px}
.form-layout.form-layout-simple{grid-template-columns:minmax(0,1fr);max-width:900px}
.dot.complete{background:#22a35a}.badge.complete{background:#dcfce7;color:#166534}.severity.normal{background:#dbeafe;color:#1e40af}.severity.normal i{background:#2563eb;height:7px}

/* 项目卡片：加强文字层级和操作入口。 */
.project-card .project-code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#45658f}
.project-card .project-title{font-size:22px;color:#173452}
.project-card .project-client{font-size:15px;color:#526b89}
.project-card .project-description{font-size:16px;color:#465e7a;line-height:1.8}
.project-card .project-counts{background:#f2f6fc}
.project-card .project-counts strong{font-size:22px;color:#173452}
.project-card .project-counts small{font-size:14px;font-weight:500;color:#506987}
.project-card .project-counts a:nth-child(1) small{color:#8b5b13}
.project-card .project-counts a:nth-child(2) small{color:#245bb1}
.project-card .project-counts a:nth-child(3) small{color:#087867}
.project-card .project-counts a:nth-child(4) small{color:#16723c}
.project-card .project-card-bottom{font-size:15px;color:#526b89}
.project-card .round-link,.project-card .project-card-bottom>a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 12px;border:1px solid #c7d9fb;border-radius:8px;background:#edf4ff;color:#2057b5;font-size:14px;font-weight:650;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.project-card .round-link:hover,.project-card .project-card-bottom>a:hover{background:#dbeaff;border-color:#8db2f4;color:#17458f}
.project-card .round-link .icon,.project-card .project-card-bottom>a .icon{width:17px;height:17px}
.project-card .round-link,.project-card .project-card-bottom>a{flex-shrink:0}
.project-card .project-card-bottom>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:720px){.project-card .project-title{font-size:21px}.project-card .project-description{font-size:15px}.project-card .project-counts small{font-size:13px}.project-card .round-link,.project-card .project-card-bottom>a{font-size:14px}}

/* 需求详情中的辅助文字保持层次，同时提高可读性。 */
.requirement-detail .muted,.requirement-detail .properties dt,.requirement-detail .timeline-heading time{color:#586b82}
.requirement-detail .properties dd,.requirement-detail .timeline-heading strong,.requirement-detail .timeline-content p{color:#40556d}
.requirement-detail .timeline-avatar{color:#496582}
.requirement-detail .is-comment .timeline-content p{color:#40556d}
.requirement-detail .upload-zone>strong{color:#405e83}
.requirement-detail .upload-zone>span,.requirement-detail .preview-item p{color:#586b82}
.requirement-detail textarea::placeholder{color:#64758a;opacity:1}
