:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f4f9ff}html,body,#app{height:100%}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:linear-gradient(180deg,#f6fbff,#f4f9ff 42%,#fff)}button,input,textarea{font:inherit}button{border:1px solid #2f7df6;background:#2f7df6;color:#fff;border-radius:6px;height:38px;padding:0 14px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}button:hover:not(:disabled){box-shadow:0 10px 22px #2f7df638;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.48}button.secondary{border-color:#cfe0f7;background:#fff;color:#2454a6}.app-shell{height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);max-width:100vw;overflow:hidden}.sidebar{height:100vh;overflow:hidden;background:linear-gradient(180deg,#fff,#eef6ff);color:#172033;border-right:1px solid #d8e8fb;padding:24px 18px}.brand{display:flex;align-items:center;gap:12px;margin-bottom:34px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:6px;background:#2f7df6;color:#fff;font-weight:800;box-shadow:0 10px 22px #2f7df638}.brand strong,.brand span{display:block}.brand span{margin-top:3px;color:#6f86a8;font-size:12px}nav{display:grid;gap:6px}nav a{padding:10px 12px;border-radius:6px;color:#5d7394;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}nav a:hover{background:#e7f1ff;color:#2454a6;transform:translate(2px)}nav a.active{background:#d9eaff;color:#1f5fc9;box-shadow:inset 3px 0 #2f7df6}.workspace{min-width:0;max-width:100%;height:100vh;overflow-x:hidden;overflow-y:auto;padding:30px;animation:pageIn .26s ease both}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.top-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}h1,h2,p{margin:0}h1{font-size:26px}h2{font-size:17px}.topbar p{margin-top:6px;color:#6f86a8}.auth-panel,.panel{background:#fff;border:1px solid #d8e8fb;border-radius:8px;box-shadow:0 14px 34px #2f7df612}.auth-panel{display:grid;grid-template-columns:1fr auto;align-items:end;gap:14px;padding:16px;margin-bottom:16px;background:linear-gradient(180deg,#fff,#f9fcff)}label{display:grid;gap:7px;color:#324766;font-size:13px;font-weight:650}input,textarea{width:100%;border:1px solid #cfe0f7;border-radius:6px;background:#fff;color:#172033}input:focus,textarea:focus{outline:0;border-color:#78aefc;box-shadow:0 0 0 3px #2f7df61f}input{height:38px;padding:0 10px}textarea{min-height:74px;resize:vertical;padding:10px}.error{margin-bottom:16px;padding:10px 12px;border:1px solid #f3b2a6;border-radius:6px;background:#fff0ed;color:#a43a2b}.contracts-page{display:grid;gap:16px}.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{position:relative;overflow:hidden;min-height:102px;padding:18px;border:1px solid #d8e8fb;border-radius:8px;background:linear-gradient(180deg,#fff,#f8fcff);box-shadow:0 14px 34px #2f7df612;animation:cardIn .28s ease both}.metric-card:after{content:"";position:absolute;right:16px;bottom:14px;width:42px;height:42px;border-radius:8px;background:linear-gradient(135deg,#2f7df624,#97c7ff3d)}.metric-card span,.metric-card strong{display:block;position:relative;z-index:1}.metric-card span{color:#6f86a8;font-size:13px;font-weight:700}.metric-card strong{margin-top:12px;color:#172033;font-size:32px;line-height:1}.contracts-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.panel{min-width:0;padding:16px;animation:cardIn .28s ease both}.table-panel{min-width:0;max-width:100%;overflow:hidden}form.panel{display:grid;gap:14px;align-content:start}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.signer-box{display:grid;gap:10px;padding:12px;border:1px solid #d8e8fb;border-radius:6px;background:#f7fbff}.signer-box strong{color:#324766;font-size:13px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-title span{color:#6f86a8;font-size:13px}table{width:100%;border-collapse:collapse;table-layout:fixed}thead{background:#f6fbff}.table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden}.table-scroll table{min-width:1100px}th,td{border-bottom:1px solid #e5f0fc;padding:11px 8px;text-align:left;vertical-align:middle;font-size:13px}th:first-child{border-top-left-radius:6px}th:last-child{border-top-right-radius:6px}th:nth-child(1),td:nth-child(1){width:230px}th:nth-child(2),td:nth-child(2),th:nth-child(3),td:nth-child(3){width:180px}th:nth-child(4),td:nth-child(4){width:150px}th:nth-child(5),td:nth-child(5){width:108px}th:nth-child(6),td:nth-child(6){width:170px}th:nth-child(7),td:nth-child(7){width:84px}th{color:#6f86a8;font-weight:700}tbody tr{cursor:pointer;transition:background .16s ease,box-shadow .16s ease}tbody tr:hover{background:#f6fbff}tbody tr.selected{background:#eaf4ff;box-shadow:inset 3px 0 #2f7df6}td strong,td small{display:block}td small{margin-top:4px;color:#7d94b4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;background:#e8f2ff;color:#1f5fc9;font-weight:700;font-size:12px}.detail-panel{position:sticky;top:26px}.detail-hero{display:grid;gap:8px;padding:14px;border:1px solid #d8e8fb;border-radius:8px;background:linear-gradient(135deg,#f7fbff,#eaf4ff)}.detail-hero h2{font-size:20px}.detail-hero p{color:#6f86a8;font-size:12px;overflow-wrap:anywhere}.detail-list{grid-template-columns:108px minmax(0,1fr);margin-top:14px}.detail-list dd{overflow-wrap:anywhere}.detail-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.empty-detail{color:#7d94b4}.small{height:30px;padding:0 10px;margin:2px}.small.secondary:hover:not(:disabled),.link-button:hover{background:#eef6ff;border-color:#9cc5ff}.link-button{display:inline-flex;align-items:center;height:30px;margin:2px;padding:0 10px;border:1px solid #cfe0f7;border-radius:6px;color:#2454a6;text-decoration:none;font-size:13px}.empty{text-align:center;color:#7d94b4;height:86px}.callbacks-page{display:grid;gap:16px}.callback-scroll table{min-width:1180px}.callback-scroll th:nth-child(1),.callback-scroll td:nth-child(1){width:180px}.callback-scroll th:nth-child(2),.callback-scroll td:nth-child(2){width:260px}.callback-scroll th:nth-child(3),.callback-scroll td:nth-child(3){width:150px}.callback-scroll th:nth-child(4),.callback-scroll td:nth-child(4){width:220px}.callback-scroll th:nth-child(5),.callback-scroll td:nth-child(5){width:120px}.callback-scroll th:nth-child(6),.callback-scroll td:nth-child(6){width:420px}.callback-scroll pre{max-height:180px}.flow-page{display:grid;gap:16px}.flow-intro{display:grid;gap:8px;background:linear-gradient(180deg,#fff,#f6fbff)}.flow-intro p{color:#6f86a8}.flow-lanes{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.lane{min-height:58px;display:grid;place-items:center;border:1px solid #d8e8fb;border-radius:8px;background:#fff;box-shadow:0 14px 34px #2f7df612}.lane span{color:#2454a6;font-size:14px;font-weight:800;text-align:center;overflow-wrap:anywhere}.lane.external{background:linear-gradient(180deg,#fff,#f4f9ff)}.lane.auth{background:linear-gradient(180deg,#fff,#edf6ff)}.lane.ecs{background:linear-gradient(180deg,#fff,#e8f2ff)}.lane.esign{background:linear-gradient(180deg,#fff,#f0f7ff)}.flow-diagram{position:relative;display:grid;grid-template-columns:1fr;gap:12px;max-width:1120px}.flow-diagram:before{content:"";position:absolute;top:20px;bottom:20px;left:18px;width:2px;background:#d8e8fb;pointer-events:none}.flow-card{position:relative;z-index:1;min-height:0;display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px 18px;margin-left:38px;background:linear-gradient(180deg,#fff,#fbfdff)}.flow-card:after{content:"";position:absolute;top:24px;left:-27px;width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:#2f7df6;box-shadow:0 0 0 2px #9cc5ff}.flow-card-head{display:grid;align-content:start;gap:8px;min-width:0}.flow-card-head span{display:inline-flex;align-items:center;height:26px;padding:0 8px;border-radius:999px;background:#e8f2ff;color:#1f5fc9;font-size:12px;font-weight:800}.flow-card-head strong{color:#6f86a8;font-size:12px;text-align:left;overflow-wrap:anywhere}.flow-card h2{color:#172033;font-size:17px;align-self:start;min-width:0;overflow-wrap:anywhere}.flow-card dl{grid-column:2;grid-template-columns:94px minmax(0,1fr);min-width:0}.flow-card.from-external,.flow-card.from-auth,.flow-card.from-ecs,.flow-card.from-esign{grid-column-start:auto}.flow-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.flow-note{background:linear-gradient(180deg,#fff,#f8fcff)}.flow-note ol{margin:12px 0 0;padding-left:20px;color:#324766}.flow-note li{margin:8px 0}.api-token{display:inline-flex;max-width:100%;align-items:center;margin:1px 3px;padding:3px 7px;border:1px solid #9cc5ff;border-radius:6px;background:#e8f2ff;color:#1f5fc9;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:800;line-height:1.45;overflow-wrap:anywhere;white-space:normal}.flow-card dd .api-token{vertical-align:baseline}.flow-note .api-token{margin-left:0}.api-page{display:grid;gap:14px}.api-intro{display:grid;gap:6px}.api-intro p{color:#6f86a8}.api-card{display:grid;gap:14px;background:linear-gradient(180deg,#fff,#fbfdff);transition:transform .16s ease,box-shadow .16s ease}.api-card:hover{transform:translateY(-1px);box-shadow:0 14px 30px #2f7df61a}.api-card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.api-card-head code{color:#172033;font-size:14px;font-weight:700}.api-example-toggle{margin-left:auto}.method,.auth-badge{display:inline-flex;align-items:center;height:26px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:800}.method{background:#2f7df6;color:#fff}.auth-badge{border:1px solid #d8e8fb;background:#f7fbff;color:#426489}dl{display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px 16px;margin:0}dt{color:#6f86a8;font-size:13px;font-weight:800}dd{margin:0;min-width:0;color:#324766;font-size:13px;overflow-wrap:anywhere}.api-examples{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.api-examples section{min-width:0}.api-examples h3{margin:0 0 8px;color:#324766;font-size:13px}.field-docs{display:grid;gap:10px;padding:12px;border:1px solid #d8e8fb;border-radius:8px;background:#f8fcff}.field-docs h3{margin:0;color:#324766;font-size:13px}.field-docs table{min-width:0;table-layout:fixed}.field-docs th:first-child,.field-docs td:first-child{width:220px}.field-docs th,.field-docs td{padding:9px 8px}.field-docs code{display:inline-flex;max-width:100%;padding:2px 6px;border-radius:6px;background:#e8f2ff;color:#1f5fc9;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:800;overflow-wrap:anywhere;white-space:normal}pre{max-width:100%;overflow:auto;margin:0;padding:10px;border-radius:6px;background:#f6fbff;color:#172033;font-size:12px;line-height:1.5}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:920px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.workspace{padding:18px}.topbar{align-items:flex-start;flex-direction:column}.auth-panel,.contracts-layout,.overview-grid,.flow-lanes,.flow-diagram,.flow-bottom-grid{grid-template-columns:1fr}.flow-diagram:before{left:14px}.flow-card{grid-template-columns:1fr;margin-left:34px}.flow-card dl{grid-column:auto;grid-template-columns:1fr}.flow-card.from-external,.flow-card.from-auth,.flow-card.from-ecs,.flow-card.from-esign{grid-column-start:auto}.detail-panel{position:static}.two,dl{grid-template-columns:1fr}.api-example-toggle{margin-left:0}.api-examples{grid-template-columns:1fr}}
