:root{font-family:Inter,"Microsoft YaHei",Arial,sans-serif;color:#263247;font-size:14px;background:#f3f5f8}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #dce2eb;background:white;border-radius:5px;padding:8px 14px;color:#34435b}button:hover{background:#eef4ff;border-color:#95b8fb}button:disabled{opacity:.5;cursor:wait}.primary{background:#2468e8;color:white;border-color:#2468e8}.primary:hover{background:#1658d1}.plain{border:0;background:transparent;color:#326ddd}aside{position:fixed;width:208px;inset:0 auto 0 0;background:#fff;border-right:1px solid #e4e9f1;padding:24px 14px;display:flex;flex-direction:column}.brand{font-size:19px;font-weight:700;padding:0 12px 28px}.brand span{color:#2468e8}.brand small{display:block;font-size:11px;font-weight:400;color:#93a0b4;margin:7px 0 0 25px}nav a{display:flex;gap:12px;padding:12px 15px;color:#68788f;text-decoration:none;border-radius:5px;margin:3px 0}nav a.active{background:#eaf1ff;color:#2468e8;font-weight:600}nav a:hover{background:#f4f7fc}aside footer{margin-top:auto;font-size:11px;color:#9aa5b7;text-align:center}#workspace{margin-left:208px}header{height:57px;background:white;border-bottom:1px solid #e6eaf0;display:flex;align-items:center;justify-content:space-between;padding:0 25px;color:#7a879b;font-size:12px}main{padding:22px 25px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.eyebrow{font-size:11px;color:#93a0b4}h1{font-size:21px;line-height:1.4;margin:5px 0 0;font-weight:600}h2{font-size:17px;margin:0}#tools{display:flex;gap:8px}.panel{background:#fff;border:1px solid #e5eaf1;border-radius:7px;overflow:hidden}.filters{display:flex;gap:9px;align-items:center;padding:17px 18px;border-bottom:1px solid #edf0f5;flex-wrap:wrap}input,select,textarea{border:1px solid #dce3ed;border-radius:4px;padding:9px 10px;background:#fff;color:#34435b;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #d6e6ff;border-color:#548cf0}.filters input{width:220px}.filters input[type=date]{width:145px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}th{font-size:12px;background:#f8fafc;color:#8390a3;font-weight:500;text-align:left;padding:13px 18px;border-bottom:1px solid #e9edf4}td{padding:15px 18px;border-bottom:1px solid #edf0f5;max-width:260px;overflow:hidden;text-overflow:ellipsis}tr:hover td{background:#fbfcff}td button{font-size:12px;padding:3px 6px;border:0;color:#2867da;background:transparent}.badge{display:inline-block;border-radius:4px;padding:4px 8px;background:#eef3fa;color:#738199;font-size:11px}.badge.approved,.badge.closed,.badge.completed,.badge.inspected{background:#e9f8ef;color:#279b60}.badge.running,.badge.released,.badge.submitted,.badge.pending,.badge.partial{background:#eaf2ff;color:#3176db}.badge.cancelled{background:#f6eeee;color:#a37272}.empty{text-align:center;padding:65px 20px;color:#96a2b5}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 18px;color:#8b98aa;font-size:12px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.metric{padding:20px;background:white;border:1px solid #e6ebf2;border-radius:6px;color:#8a98ab}.metric strong{display:block;font-size:28px;color:#29394e;margin-top:12px}.hint{font-size:12px;color:#8b98aa;line-height:1.8;margin:10px 0 17px}.tabs{display:flex;gap:8px;margin-bottom:15px}.tabs button.active{color:#2468e8;border-color:#2468e8;background:#eff5ff}#message{background:#fff2ed;border:1px solid #ffd9cf;padding:12px 16px;border-radius:5px;margin-bottom:15px;color:#b64c31}dialog{border:0;border-radius:9px;padding:0;width:600px;max-width:90vw;max-height:90vh;box-shadow:0 20px 80px #12224733}dialog::backdrop{background:#14243b66}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e8edf4}#form-fields{padding:22px 24px;max-height:60vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#6d7f98}label.wide{grid-column:1/-1}textarea{min-height:85px;resize:vertical}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e9edf4;padding:15px 24px}#form-error{color:#ba4c39;padding:0 24px 15px;font-size:12px}.detail{grid-column:1/-1;line-height:1.8;overflow-wrap:anywhere}.detail dl{display:grid;grid-template-columns:130px 1fr;margin:0}.detail dt,.detail dd{margin:0;padding:8px;border-bottom:1px solid #edf0f5}.detail dt{color:#8b97a7}.detail pre{white-space:pre-wrap;font-size:12px;background:#f7f9fc;padding:12px}.login{max-width:380px;margin:10vh auto;background:white;border:1px solid #e5eaf1;padding:32px;border-radius:8px}.login label{margin:17px 0}.login button{width:100%;margin-top:10px}body.mounted aside,body.mounted #site-header{display:none}body.mounted #workspace{margin-left:0}body.mounted main{padding:18px 22px}body.mounted .eyebrow{display:none}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}aside{width:180px}#workspace{margin-left:180px}main{padding:16px}}a{color:#2468e8;text-decoration:none}.muted{color:#8a97aa}
