.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;z-index:40;background:linear-gradient(180deg,var(--jade950),#052f29);color:#fff;padding:24px 16px;display:flex;flex-direction:column}.side-nav{margin-top:42px;display:grid;gap:7px}.nav-item{border:0;background:transparent;color:rgba(255,255,255,.72);border-radius:12px;min-height:46px;display:flex;align-items:center;gap:12px;padding:0 13px;cursor:pointer;text-align:left;font-weight:650;transition:.18s}.nav-item:hover{background:rgba(255,255,255,.07);color:#fff}.nav-item.active{color:#fff;background:linear-gradient(135deg,rgba(37,169,137,.38),rgba(37,169,137,.17));box-shadow:inset 3px 0 var(--jade500)}.nav-icon{display:grid;place-items:center;font-size:20px}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.11);padding-top:18px}.user-chip{display:flex;align-items:center;gap:10px}.user-chip .copy{display:flex;flex-direction:column}.user-chip strong{font-size:12px}.user-chip small{font-size:10px;color:rgba(255,255,255,.58);margin-top:2px}.sidebar .avatar{background:rgba(255,255,255,.12);color:#fff}.text-btn{border:0;background:transparent;color:rgba(255,255,255,.64);font-size:11px;font-weight:750;cursor:pointer;padding:0;margin-top:13px}.main{min-height:100vh;margin-left:252px}.topbar{height:84px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.topbar h1{margin:3px 0 0;font-size:22px;letter-spacing:-.025em}.top-actions{display:flex;align-items:center;gap:14px}.live{color:var(--muted);display:flex;align-items:center;gap:7px;font-size:12px;font-weight:650}.live i{width:8px;height:8px;border-radius:99px;background:var(--jade500);box-shadow:0 0 0 5px rgba(37,169,137,.12)}.ghost,.primary,.approve,.reject,.follow{border-radius:10px;min-height:38px;padding:0 14px;cursor:pointer;font-size:11px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:7px}.ghost{color:var(--jade800);border:1px solid #bdd8d0;background:#fff}.primary{color:#fff;border:1px solid var(--jade700);background:var(--jade700)}.primary:disabled{cursor:not-allowed;background:#aab7b3;border-color:#aab7b3}.page{padding:26px 28px 70px;max-width:1600px;margin:auto}.stack{display:grid;gap:20px}.intro{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:2px}.intro h2{margin:5px 0 8px;font-size:clamp(25px,3vw,36px);letter-spacing:-.035em}.intro p{margin:0;color:var(--muted);max-width:780px;line-height:1.55}.assurance{flex:none;display:flex;align-items:center;gap:8px;border:1px solid #cce8df;color:var(--jade800);background:var(--jade50);padding:10px 13px;border-radius:12px;font-size:11px;font-weight:750}.card{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 5px 17px rgba(14,46,39,.035);padding:20px;min-width:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.seg{display:inline-flex;background:#eff3f1;padding:3px;border-radius:10px}.seg button{border:0;background:transparent;cursor:pointer;border-radius:8px;padding:7px 13px;color:var(--muted);font-size:11px;font-weight:700}.seg button.active{background:#fff;color:var(--jade800);box-shadow:0 2px 8px rgba(14,46,39,.08)}.task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.task{border:1px solid var(--line);border-radius:15px;background:#fff;padding:16px;text-align:left;cursor:pointer;transition:.17s}.task:hover{transform:translateY(-2px);border-color:#9bd4c4;box-shadow:var(--shadow)}.task-top{display:flex;align-items:center;justify-content:space-between}.asset-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;color:var(--jade800);background:var(--jade100);font-size:11px;font-weight:850}.task-code{display:block;color:var(--jade700);font-size:10px;font-weight:800;margin-top:16px;letter-spacing:.05em}.task h3{margin:4px 0 3px;font-size:17px}.task p{color:var(--muted);font-size:11px;margin:0}.task-meta{display:grid;gap:7px;color:var(--muted);font-size:10px;margin:14px 0}.progress{height:5px;background:#edf1ef;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:var(--jade500)}.task-foot{display:flex;justify-content:space-between;margin-top:8px;font-size:10px;color:var(--muted)}.task-foot strong{color:var(--jade700)}.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:9px;font-weight:850;padding:5px 8px;line-height:1;white-space:nowrap;text-transform:uppercase}.scheduled{color:#53615e;background:#e9eeec}.in_progress{color:#8d5b0b;background:#fff0ca}.submitted{color:#225e9f;background:#dceeff}.approved{color:#177358;background:#d9f5eb}.rejected,.review_required,.overdue{color:#b1242a;background:#ffe0e1}.back{border:0;background:transparent;color:var(--jade700);font-size:11px;font-weight:750;cursor:pointer;padding:0}.detail-card{padding:0;overflow:hidden}.detail-head{padding:21px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.detail-head h2{margin:5px 0;font-size:24px}.detail-head p{margin:0;color:var(--muted);font-size:11px}.execution{display:grid;grid-template-columns:minmax(0,1fr) 310px}.execution-main{padding:22px;display:grid;gap:22px}.summary{padding:22px;border-left:1px solid var(--line);background:#fbfdfc}.section-title{display:flex;align-items:flex-start;gap:12px}.section-title h3{margin:0;font-size:15px}.section-title p{margin:3px 0 0;color:var(--muted);font-size:11px}.step{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:9px;color:#fff;background:var(--jade700);font-size:11px;font-weight:850}.evidence{border:1px dashed #bad6cd;border-radius:14px;background:var(--jade50);overflow:hidden;min-height:190px;display:flex;flex-direction:column;margin-top:14px}.evidence img{width:100%;max-height:320px;min-height:190px;object-fit:cover}.evidence-placeholder{min-height:190px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted);font-size:11px}.evidence-actions{padding:11px;display:flex;gap:8px;background:#fff;border-top:1px solid var(--line)}.file input{display:none}.checklist{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:14px}.check-row{display:grid;grid-template-columns:37px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line)}.check-row:last-child{border-bottom:0}.check-row .idx{color:#94a29e;font-size:10px;font-weight:800}.check-row strong{font-size:12px}.check-row p{margin:3px 0 0;color:var(--muted);font-size:10px}.check-actions{display:flex;gap:6px}.check-actions button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:9px;min-height:32px;min-width:58px;font-size:10px;font-weight:800;cursor:pointer}.check-actions .ok.active{color:#177358;border-color:#76cbb1;background:#e0f7ef}.check-actions .ng.active{color:#b1242a;border-color:#ed9ca0;background:#ffe8e9}.abnormal{border:1px solid #f2c596;background:#fff9f1;padding:16px;border-radius:14px}.abnormal input,.abnormal textarea{width:100%;border:1px solid #ead0b2;background:#fff;border-radius:9px;padding:10px;margin-top:8px}.abnormal textarea{min-height:80px}.summary h3{margin:0 0 15px}.summary-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:10px}.summary-row span{color:var(--muted)}.good{color:#177358}.warn{color:#a06b0a}.danger{color:#b1242a}.risk{margin-top:12px;padding:10px;border-radius:10px;background:#fff0ef;color:#a93235;font-size:10px}.submitted-box{margin-top:16px;padding:13px;text-align:center;border-radius:10px;background:#e2f6ef;color:#177358;font-size:11px;font-weight:750}