:root{--ink:#1d1d1f;--muted:#6e6e73;--line:#e5e5ea;--canvas:#f5f5f7;--violet:#5856d6;--violet-deep:#4947bb;--mint:#34c759;--amber:#ff9f0a;--rose:#ff375f;--surface:#fff}*{box-sizing:border-box}body{min-height:100vh;margin:0;background:var(--canvas);color:var(--ink);font:15px -apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}header{height:64px;background:#fffffff2;backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid #d2d2d766;display:flex;align-items:center;gap:16px;padding:0 max(24px,calc((100% - 1120px)/2));position:sticky;top:0;z-index:10}header a{color:var(--ink);text-decoration:none;font-weight:760;font-size:18px;letter-spacing:-.25px}header a small{display:inline;color:#8e8e93;font-size:11px;font-weight:600;margin-left:5px}header span{margin-left:auto;color:var(--muted);font-size:14px}header form{margin:0}header button{background:#efeff4;color:#3a3a3c;border:0;border-radius:999px;padding:7px 12px;cursor:pointer;font:inherit;font-size:13px}main{max-width:1120px;margin:38px auto;padding:0 20px}h1{font-size:29px;letter-spacing:-.8px;margin:0 0 8px}h2{font-size:19px;letter-spacing:-.3px;margin:34px 0 12px}p{margin:0;color:var(--muted)}.heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.heading>div:first-child{padding:4px 0}.button{display:inline-block;background:var(--violet);box-shadow:0 1px 2px #0000001a;color:#fff;border:0;border-radius:980px;padding:10px 17px;text-decoration:none;font:inherit;font-weight:650;cursor:pointer;transition:background .18s,transform .18s}.button:hover{background:var(--violet-deep);transform:scale(1.02)}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:27px 0}.summary>div{background:var(--surface);border:1px solid #0000000a;border-radius:20px;padding:19px;box-shadow:0 3px 12px #0000000d;display:flex;gap:14px;align-items:center}.summary>div:before{content:"";width:10px;height:42px;border-radius:99px;background:#8e8e93}.summary .red:before{background:var(--rose)}.summary .amber:before{background:var(--amber)}.summary b{font-size:31px;line-height:1}.summary span{color:var(--muted);line-height:1.5}.red{color:#dc294f}.amber{color:#cc7c00}.table{overflow:auto;background:var(--surface);border:1px solid #0000000a;border-radius:18px;box-shadow:0 3px 12px #0000000d}table{width:100%;min-width:700px;border-collapse:collapse}th,td{text-align:left;padding:15px 14px;border-bottom:1px solid var(--line)}th{background:#fbfbfd;color:#6e6e73;font-size:13px;font-weight:650}tbody tr{transition:background .16s}tbody tr:hover{background:#fafaff}tr:last-child td{border:0}small{display:block;color:var(--muted);margin-top:4px}td a,a{color:var(--violet);text-decoration:none;font-weight:650}.action{display:inline-block;padding:6px 11px;border-radius:999px;background:#efefff;color:var(--violet);font-size:13px}.action.secondary{background:#f2f2f7;color:#3a3a3c}.replace{color:#e02a50}.warning{color:#c97800}.bad{display:inline-block;color:#d92f53;background:#fff0f3;border-radius:999px;padding:4px 9px;font-weight:650}.status{display:inline-block;background:#edf9f0;color:#278c45;border-radius:999px;padding:4px 9px;font-weight:650}.form{max-width:620px;margin-top:22px;background:var(--surface);border:1px solid #0000000a;border-radius:20px;padding:25px;box-shadow:0 3px 12px #0000000d}.form label{display:block;font-weight:650;margin-bottom:17px}.form input,.form select,.form textarea{display:block;width:100%;margin-top:7px;padding:11px 12px;background:#fafafa;border:1px solid #dedee3;border-radius:11px;color:var(--ink);font:inherit;outline:none;transition:border .16s,box-shadow .16s}.form input:focus,.form select:focus,.form textarea:focus{border-color:#8a89e8;box-shadow:0 0 0 4px #5856d61c}.form textarea{min-height:80px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.flash{margin-bottom:18px;padding:12px 15px;border-radius:12px;background:#edf9f0;color:#278c45;font-weight:600}.login{max-width:620px;margin:88px auto}.hint{margin-top:14px;font-size:13px}@media(max-width:650px){header{padding:0 16px;height:60px}header span{display:none}main{margin-top:26px}.summary{grid-template-columns:1fr}.heading{display:block}.heading .button{margin-top:16px}.two{grid-template-columns:1fr}}
