:root{font-family:Inter,Segoe UI,Microsoft YaHei,PingFang SC,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#152033;background:#edf2f7;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#2364aa1f,#fff0 360px),linear-gradient(225deg,#2f8f5b1a,#fff0 340px),linear-gradient(180deg,#ffffffc7,#fff0 300px),#edf2f7}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(21,32,51,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(21,32,51,.035) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 72%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 72%)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;height:68px;padding:0 clamp(18px,4vw,40px);border-bottom:1px solid rgba(191,203,219,.72);background:#f8fbfdd6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 10px 30px #1520330f}.brand{display:inline-flex;align-items:center;gap:12px;font-size:18px;font-weight:800;color:#152033}.brand-logo{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(35,100,170,.22))}.admin-page,.public-page{position:relative;width:min(1180px,calc(100vw - 36px));margin:0 auto;padding:34px 0 54px}.public-page{min-height:calc(100vh - 68px);display:grid;grid-template-columns:minmax(340px,460px) minmax(0,1fr);gap:22px;align-items:stretch}.admin-layout{display:grid;grid-template-columns:188px minmax(0,1fr);gap:22px}.sidebar{position:sticky;top:92px;align-self:start;display:grid;gap:8px;border:1px solid rgba(207,216,230,.82);border-radius:8px;background:#ffffffb8;box-shadow:0 16px 40px #15203314;padding:10px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sidebar button,.row-actions button,.ghost-button,.danger-button{min-height:40px;border:1px solid transparent;border-radius:8px;background:transparent;color:#40506a;cursor:pointer}.sidebar button{width:100%;text-align:left;padding:0 12px;font-weight:700}.sidebar button.active{border-color:#2364aa33;background:#eaf3fb;color:#174f8d;box-shadow:inset 3px 0 #2364aa}.workspace{min-width:0;display:grid;gap:18px}.panel{border:1px solid rgba(207,216,230,.9);border-radius:8px;background:#ffffffe6;box-shadow:0 20px 50px #15203314;padding:24px}.content-panel{overflow:hidden}.login-panel{max-width:430px;margin:84px auto 0;display:grid;gap:18px}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:22px}.section-heading.compact{margin-bottom:14px}.eyebrow{margin:0 0 7px;color:#2364aa;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:0}h1{margin:0;font-size:28px;line-height:1.2;color:#111b2c}.compact h1{font-size:20px}.muted{color:#64748b;font-size:14px}.metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.metric{position:relative;min-height:92px;display:grid;align-content:center;gap:9px;overflow:hidden;border:1px solid rgba(207,216,230,.9);border-radius:8px;background:linear-gradient(180deg,#fff,#f9fbfd);box-shadow:0 14px 34px #1520330f;padding:16px}.metric:after{content:"";position:absolute;right:0;bottom:0;width:58px;height:4px;background:linear-gradient(90deg,#2364aa,#2f8f5b)}.metric span{color:#64748b;font-size:13px;font-weight:700}.metric strong{font-size:28px;line-height:1;color:#111b2c}.form-grid,.public-form,.login-form{display:grid;gap:16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}label{display:grid;gap:8px;color:#344258;font-size:14px;font-weight:800}input,select,textarea{width:100%;border:1px solid #c9d4e3;border-radius:8px;background:#fff;color:#152033;outline:none;box-shadow:0 1px #15203308;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,transform .15s ease}input,select{height:44px;padding:0 12px}textarea{min-height:100px;resize:vertical;padding:12px;line-height:1.6}input:hover,select:hover,textarea:hover{border-color:#9fb0c6}input:focus,select:focus,textarea:focus{border-color:#2364aa;box-shadow:0 0 0 4px #2364aa21}.span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end}button,.primary-button{transition:transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease,opacity .14s ease}.primary-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #2364aa;border-radius:8px;background:linear-gradient(135deg,#2364aa,#1f7b68);color:#fff;cursor:pointer;font-weight:900;padding:0 18px;box-shadow:0 12px 24px #2364aa38}.primary-button:hover{transform:translateY(-1px);box-shadow:0 16px 28px #2364aa47}.primary-button:active,button:active{transform:translateY(0)}button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.danger-button,.danger-text{color:#b42318}.danger-button:hover,.danger-text:hover{border-color:#f0a5a0;background:#fff1f0}.ghost-button:hover,.row-actions button:hover,.sidebar button:hover{border-color:#c7d2e1;background:#f4f7fb;color:#152033}.notice{border-radius:8px;padding:13px 15px;font-weight:800;box-shadow:0 12px 28px #15203314}.notice.success{border:1px solid #9bd5b5;background:#ecf8f1;color:#216e42}.notice.error,.form-error{border:1px solid #f0a5a0;background:#fff1f0;color:#b42318}.form-error{margin:0;border-radius:8px;padding:11px 12px;font-size:14px;font-weight:700}.table-wrap{width:100%;overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}table{width:100%;min-width:720px;border-collapse:collapse;background:#fff}th,td{border-bottom:1px solid #e8edf4;padding:14px 13px;text-align:left;vertical-align:middle;font-size:14px}tbody tr{transition:background .14s ease}tbody tr:hover{background:#f8fbfd}tbody tr.clickable-row{cursor:pointer}tbody tr.clickable-row.selected{background:#edf6fb;box-shadow:inset 3px 0 #2364aa}tbody tr:last-child td{border-bottom:0}th{position:sticky;top:0;z-index:1;color:#65758b;font-size:12px;font-weight:900;text-transform:uppercase;background:#f8fafc}td strong{display:block;margin-bottom:4px;color:#152033}td span{color:#64748b}.empty-cell{height:96px;color:#64748b;text-align:center}.clip-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-actions{display:flex;gap:8px;align-items:center}.row-actions button{min-width:64px;padding:0 10px;background:#fff}.request-log-table{min-width:980px}.detail-panel{margin-top:16px;border:1px solid #dce4ef;border-radius:8px;background:linear-gradient(180deg,#fffffff0,#f8fafcf0);padding:18px}.detail-header{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:16px}.detail-header h2{margin:0;color:#111b2c;font-size:22px;line-height:1.25}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.detail-grid div{min-width:0;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:12px}.break-text{overflow-wrap:anywhere}.detail-pre{max-height:260px;margin:0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#344258;font-family:inherit;line-height:1.7}.badge{min-width:60px;height:27px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-size:12px;font-weight:900;padding:0 9px}.badge.available,.badge.active,.badge.sent{background:#eaf8ef;color:#267348}.badge.draft,.badge.mocked{background:#fff5d6;color:#8a5a00}.badge.archived,.badge.canceled,.badge.failed{background:#fff1f0;color:#b42318}.logs-grid{display:grid;grid-template-columns:1fr;gap:18px}.verify-panel,.result-panel{min-height:390px;height:100%}.verify-panel{align-self:stretch}.result-panel{position:relative;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(135deg,#2364aa14,#2f8f5b14),#ffffffeb}.result-panel:after{content:"";position:absolute;inset:auto 24px 24px auto;width:120px;height:120px;border:1px solid rgba(35,100,170,.16);border-radius:8px;transform:rotate(8deg)}.version-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.version-meta div{border:1px solid #dce4ef;border-radius:8px;background:#ffffffb8;padding:13px}dt{margin-bottom:6px;color:#64748b;font-size:12px;font-weight:900}dd{margin:0;color:#152033;font-weight:800}.changelog{max-height:220px;overflow:auto;border:1px solid #dce4ef;border-radius:8px;background:#f8fafce6;color:#344258;white-space:pre-wrap;padding:14px;line-height:1.7}.download-button{width:fit-content;margin-top:auto}.empty-state{margin-top:24px;border:1px dashed #aebbd0;border-radius:8px;background:#f8fafcd1;color:#64748b;padding:32px;text-align:center;font-weight:700}.animate-rise{animation:rise-in .42s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--delay, 0ms)}.notice-pop-enter-active,.notice-pop-leave-active{transition:opacity .18s ease,transform .18s ease}.notice-pop-enter-from,.notice-pop-leave-to{opacity:0;transform:translateY(-6px)}.detail-slide-enter-active,.detail-slide-leave-active{transition:opacity .18s ease,transform .18s ease}.detail-slide-enter-from,.detail-slide-leave-to{opacity:0;transform:translateY(-8px)}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media(max-width:900px){.topbar{padding:0 18px}.public-page,.admin-layout{grid-template-columns:1fr}.sidebar{position:static;grid-template-columns:repeat(5,minmax(0,1fr))}.sidebar button{min-width:0;text-align:center;padding:0 8px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.admin-page,.public-page{width:min(100% - 20px,1180px);padding-top:22px}.panel{padding:18px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.metrics-grid,.version-meta,.detail-grid,.sidebar{grid-template-columns:1fr}.verify-panel,.result-panel{min-height:auto}h1{font-size:24px}}
