:root{--color-surface:#f9f9ff;--color-surface-soft:#f1f3ff;--color-surface-mid:#e8edff;--color-panel:#fff;--color-primary:#003d9b;--color-primary-strong:#0052cc;--color-primary-soft:#dae2ff;--color-text:#041b3c;--color-muted:#434654;--color-border:#c3c6d6;--color-border-soft:#dfe3f0;--color-teal:#004b58;--color-teal-strong:#006476;--color-green:#136c3a;--color-green-deep:#0b4f2b;--color-yellow:#7a5600;--color-yellow-soft:#fff4c7;--color-red:#ba1a1a;--color-red-soft:#ffdad6;--shadow-soft:0 8px 16px #041b3c0f;color:var(--color-text);background:var(--color-surface);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--color-surface);min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}code{font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:12px}.app-shell{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--color-border);background:var(--color-panel);flex-direction:column;gap:24px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.brand{min-width:0;color:var(--color-primary);align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{background:var(--color-primary-strong);color:#fff;border-radius:4px;flex:none;place-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:inline-grid}.brand strong,.brand small{display:block}.brand strong{font-size:22px;line-height:1.1}.brand small{color:var(--color-muted);margin-top:2px;font-size:12px;font-weight:600}.nav-list,.sidebar-actions,.stack{gap:8px;display:grid}.nav-link{min-height:44px;color:var(--color-muted);border-left:4px solid #0000;border-radius:4px;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.nav-link:hover,.nav-link.active{border-left-color:var(--color-primary-strong);background:var(--color-primary-soft);color:var(--color-primary)}.nav-link-disabled{color:#777b89;cursor:not-allowed;opacity:.72;border-left-color:#0000}.nav-link-disabled:hover{color:#777b89;background:0 0}.nav-symbol{border:1px solid;border-radius:4px;place-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:inline-grid}.side-action{border:1px solid var(--color-border);background:var(--color-panel);min-height:36px;color:var(--color-primary);text-align:center;border-radius:4px;padding:8px 12px;font-size:13px;font-weight:700;text-decoration:none;display:block}.side-action:hover{border-color:var(--color-primary-strong);background:var(--color-surface-soft)}.sidebar-footer{color:var(--color-muted);gap:6px;margin-top:auto;font-size:12px;display:grid}.sidebar-footer code{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace{min-width:0}.topbar{z-index:20;border-bottom:1px solid var(--color-border);background:#fffffff5;justify-content:space-between;align-items:center;gap:16px;padding:14px 32px;display:flex;position:sticky;top:0}.global-search{width:min(480px,100%);position:relative}.global-search input,.filter-field input,.filter-field select,.form-grid input,.form-grid select,.form-grid textarea,.reject-reason textarea{border:1px solid var(--color-border);background:var(--color-panel);width:100%;color:var(--color-text);border-radius:4px;outline:none}.global-search input{height:36px;padding:0 14px 0 38px}.global-search input:focus,.filter-field input:focus,.filter-field select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.reject-reason textarea:focus{border-color:var(--color-primary-strong);box-shadow:0 0 0 3px #0052cc29}.search-symbol{color:var(--color-muted);font-weight:800;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.topbar-right{align-items:center;gap:12px;display:flex}.network-chip,.admin-chip{border:1px solid var(--color-border);background:var(--color-surface-soft);min-height:32px;color:var(--color-muted);white-space:nowrap;border-radius:4px;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.network-chip{cursor:default}button.network-chip{cursor:pointer}.network-ok,.admin-ok{color:var(--color-green-deep);background:#dff7e8;border-color:#136c3a3d}.network-warning,.admin-locked{background:var(--color-yellow-soft);color:var(--color-yellow);border-color:#7a560047}.network-muted{color:var(--color-muted)}.wallet-control{align-items:center;display:inline-flex;position:relative}.wallet-button{border:1px solid var(--color-border);background:var(--color-panel);min-height:36px;color:var(--color-text);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.wallet-button:disabled,.button:disabled{cursor:not-allowed;opacity:.58}.wallet-button code{color:var(--color-primary);font-weight:700}.wallet-dot{background:var(--color-muted);border-radius:50%;width:8px;height:8px}.wallet-status-connected .wallet-dot,.wallet-button.is-admin .wallet-dot{background:var(--color-green)}.wallet-status-error .wallet-dot,.wallet-status-missing .wallet-dot{background:var(--color-red)}.wallet-status-connecting .wallet-dot{background:var(--color-yellow)}.wallet-label{color:var(--color-muted);font-size:12px;font-weight:800}.wallet-error-message{z-index:30;width:min(360px,70vw);color:var(--color-red);cursor:pointer;text-align:left;box-shadow:var(--shadow-soft);background:#fff8f7;border:1px solid #ba1a1a47;border-radius:6px;padding:10px 12px;font-size:12px;font-weight:700;position:absolute;top:calc(100% + 8px);right:0}.content-area{width:min(100%,1440px);padding:32px}.page{gap:24px;display:grid}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.page-header span{color:var(--color-primary);letter-spacing:0;font-size:12px;font-weight:800}.page-header h1{color:var(--color-text);letter-spacing:0;margin:4px 0 0;font-size:36px;line-height:44px}.page-header p{max-width:760px;color:var(--color-muted);margin:8px 0 0}.page-actions,.form-actions,.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.row-actions.inline{flex-wrap:nowrap;justify-content:flex-start}.button{cursor:pointer;white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;min-height:36px;padding:0 14px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.button.primary{border:1px solid var(--color-primary-strong);background:var(--color-primary-strong);color:#fff}.button.secondary{border:1px solid var(--color-border);background:var(--color-panel);color:var(--color-primary)}.button.danger{border:1px solid var(--color-red);background:var(--color-red);color:#fff}.text-link{color:var(--color-primary);font-size:13px;font-weight:800;text-decoration:none}.text-link:hover{text-decoration:underline}.text-link.muted{color:var(--color-muted)}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-card{border:1px solid var(--color-border);border-top:4px solid var(--color-border);background:var(--color-panel);border-radius:8px;gap:6px;min-height:132px;padding:20px;display:grid}.metric-card span{color:var(--color-muted);font-size:12px;font-weight:800}.metric-card strong{font-size:34px;line-height:40px}.metric-card small{color:var(--color-muted)}.metric-primary{border-top-color:var(--color-primary-strong)}.metric-danger{border-top-color:var(--color-red)}.metric-teal{border-top-color:var(--color-teal-strong)}.metric-warning{border-top-color:var(--color-yellow)}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;display:grid}.span-2{grid-column:span 2}.panel,.side-panel{border:1px solid var(--color-border);background:var(--color-panel);border-radius:8px}.panel{overflow:hidden}.side-panel{align-content:start;gap:18px;padding:20px;display:grid}.panel-header{border-bottom:1px solid var(--color-border-soft);background:var(--color-surface-soft);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.panel-header h2{letter-spacing:0;margin:0;font-size:18px;line-height:24px}.large-action{border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;gap:4px;padding:16px;text-decoration:none;display:grid}.large-action:hover{border-color:var(--color-primary-strong);background:var(--color-surface-soft)}.large-action strong{color:var(--color-primary)}.large-action span{color:var(--color-muted);font-size:13px}.kv-list{gap:12px;margin:0;display:grid}.kv-list div,.detail-grid div,.timeline-meta div{gap:4px;display:grid}.kv-list dt,.detail-grid dt,.timeline-meta dt{color:var(--color-muted);font-size:12px;font-weight:800}.kv-list dd,.detail-grid dd,.timeline-meta dd{min-width:0;color:var(--color-text);overflow-wrap:anywhere;margin:0}.filter-bar{border:1px solid var(--color-border);background:var(--color-panel);border-radius:8px;flex-wrap:wrap;align-items:end;gap:12px;padding:16px;display:flex}.filter-field{gap:6px;min-width:160px;display:grid}.filter-grow{flex:240px}.filter-field span,.form-grid span,.reject-reason span{color:var(--color-muted);font-size:12px;font-weight:800}.filter-field input,.filter-field select{height:36px;padding:0 10px}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;min-width:840px}.dashboard-grid .data-table{min-width:620px}.dashboard-grid .data-table th,.dashboard-grid .data-table td{padding-left:12px;padding-right:12px}.data-table th{border-bottom:1px solid var(--color-border);background:var(--color-surface-soft);height:40px;color:var(--color-muted);white-space:nowrap;padding:0 16px;font-size:12px;font-weight:800}.data-table td{border-bottom:1px solid var(--color-border-soft);height:48px;color:var(--color-text);vertical-align:middle;padding:8px 16px;font-size:14px}.data-table tr:hover td{background:var(--color-surface-soft)}.item-cell{gap:2px;min-width:240px;display:grid}.item-cell span{color:var(--color-muted);font-size:12px}.table-footer{border-top:1px solid var(--color-border-soft);color:var(--color-muted);padding:12px 16px;font-size:13px}.status-badge{white-space:nowrap;border:1px solid #0000;border-radius:4px;align-items:center;min-height:24px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.status-danger{background:var(--color-red-soft);color:var(--color-red);border-color:#ba1a1a3d}.status-teal{color:var(--color-teal);background:#d7f4fb;border-color:#0064763d}.status-primary{background:var(--color-primary-soft);color:var(--color-primary);border-color:#0052cc3d}.status-warning{background:var(--color-yellow-soft);color:var(--color-yellow);border-color:#7a56003d}.status-success,.status-strong{color:var(--color-green-deep);background:#dff7e8;border-color:#136c3a3d}.status-neutral{border-color:var(--color-border);background:var(--color-surface-soft);color:var(--color-muted)}.form-layout,.detail-layout,.review-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;display:grid}.review-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.form-panel{gap:20px;padding:20px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid.single{grid-template-columns:1fr}.form-grid label,.reject-reason{gap:6px;display:grid}.form-grid .wide,.detail-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select{height:38px;padding:0 10px}.form-grid textarea,.reject-reason textarea{resize:vertical;min-height:96px;padding:10px}.file-field input{padding:8px}.validation-row{display:grid}.wallet-notice{border:1px solid #7a56003d;border-left:4px solid var(--color-yellow);color:var(--color-muted);background:#fffaf0;border-radius:8px;gap:8px;padding:14px 16px;display:grid}.wallet-notice strong{color:var(--color-text)}.wallet-notice span{font-size:13px}.wallet-notice .button{justify-self:start}.wallet-notice.ready{border-color:#136c3a3d;border-left-color:var(--color-green);background:#f1fff5}.wallet-notice.contract-missing{border-color:#ba1a1a38;border-left-color:var(--color-red);background:#fff8f7}.registration-status{border:1px solid var(--color-primary-soft);border-left:4px solid var(--color-primary-strong);background:var(--color-surface-soft);color:var(--color-muted);border-radius:8px;gap:6px;padding:14px 16px;display:grid}.registration-status strong{color:var(--color-primary)}.registration-status span{font-size:13px}.registration-status.failed{border-color:#ba1a1a42;border-left-color:var(--color-red);background:#fff8f7}.registration-status.failed strong{color:var(--color-red)}.registration-status.done{border-color:#136c3a3d;border-left-color:var(--color-green);background:#f1fff5}.registration-status.done strong{color:var(--color-green-deep)}.detail-panel,.review-detail{padding:20px}.detail-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.detail-grid.single{grid-template-columns:1fr}.detail-side{gap:24px;display:grid}.hash-panel{border:1px solid var(--color-border);background:var(--color-panel);border-left-width:4px;border-radius:8px;gap:8px;padding:18px 20px;display:grid}.hash-panel strong{font-size:18px}.hash-panel span{color:var(--color-muted)}.hash-panel.compact{padding:14px 16px}.hash-success{border-left-color:var(--color-green)}.hash-danger{border-left-color:var(--color-red)}.hash-neutral{border-left-color:var(--color-border)}.priority{background:var(--color-surface-mid);color:var(--color-muted);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.priority.high{background:var(--color-red-soft);color:var(--color-red)}.segmented,.tabs{flex-wrap:wrap;gap:4px;display:flex}.segmented button,.tabs button{border:1px solid var(--color-border);background:var(--color-panel);min-height:32px;color:var(--color-muted);cursor:pointer;border-radius:4px;padding:0 12px;font-size:13px;font-weight:800}.segmented button.active,.tabs button.active{border-color:var(--color-primary-strong);background:var(--color-primary-soft);color:var(--color-primary)}.reject-reason{margin-top:18px}.timeline-panel{overflow:visible}.timeline{gap:18px;margin:0;padding:20px;list-style:none;display:grid;position:relative}.timeline:before{background:var(--color-border-soft);content:"";width:2px;position:absolute;top:28px;bottom:28px;left:31px}.timeline li{grid-template-columns:24px minmax(0,1fr);gap:16px;display:grid;position:relative}.timeline-dot{z-index:1;border:4px solid var(--color-panel);background:var(--color-primary-strong);width:24px;height:24px;box-shadow:0 0 0 1px var(--color-border);border-radius:50%}.timeline-card{border:1px solid var(--color-border);background:var(--color-panel);border-radius:8px;padding:16px}.timeline-head{border-bottom:1px solid var(--color-border-soft);justify-content:space-between;gap:18px;padding-bottom:14px;display:flex}.timeline-head h3{margin:10px 0 4px;font-size:18px}.timeline-head p,.timeline-head time{color:var(--color-muted);margin:0;font-size:13px}.timeline-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 0;display:grid}.timeline-meta dd{align-items:center;gap:8px;display:flex}.timeline-meta button{border:1px solid var(--color-border);background:var(--color-panel);min-height:28px;color:var(--color-primary);cursor:pointer;border-radius:4px;padding:0 8px;font-size:12px;font-weight:800}.profile-grid{grid-template-columns:minmax(0,1fr) repeat(2,240px);gap:24px;display:grid}.profile-panel{align-items:center;gap:20px;padding:20px;display:flex}.profile-panel h2{margin:0 0 4px;font-size:22px}.profile-panel p{color:var(--color-muted);margin:0 0 8px}.profile-panel code{overflow-wrap:anywhere;display:block}.avatar{border:2px solid var(--color-primary-soft);background:var(--color-primary-strong);color:#fff;border-radius:50%;flex:none;place-items:center;width:72px;height:72px;font-weight:900;display:grid}.tabs{border-bottom:1px solid var(--color-border);background:var(--color-surface-soft);padding:12px 16px}.state-box{border:1px solid var(--color-border);background:var(--color-panel);color:var(--color-muted);border-radius:8px;gap:6px;padding:20px;display:grid}.state-box strong{color:var(--color-text)}.error-state{background:#fff8f7;border-color:#ba1a1a42}.state-box.compact{padding:12px;font-size:13px}.loading-overlay{border:1px solid var(--color-primary-soft);background:var(--color-surface-soft);border-radius:8px;align-items:center;gap:12px;padding:14px;display:flex}.loading-overlay div{gap:2px;display:grid}.loading-overlay strong{color:var(--color-primary);font-size:14px}.loading-overlay span:last-child{color:var(--color-muted);font-size:13px}.spinner{border:3px solid var(--color-primary-soft);border-top-color:var(--color-primary-strong);border-radius:50%;width:18px;height:18px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1180px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:20px 10px}.brand span:not(.brand-mark),.nav-link span:last-child,.sidebar-actions,.sidebar-footer{display:none}.nav-link{justify-content:center;padding:10px}.metric-grid,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.form-layout,.detail-layout,.review-layout,.profile-grid,.timeline-meta{grid-template-columns:1fr}}@media (width<=760px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--color-border);flex-direction:row;align-items:center;width:100%;height:auto;position:static;overflow-x:auto}.brand span:not(.brand-mark),.nav-link span:last-child{display:inline}.nav-list{min-width:max-content;display:flex}.nav-link{border-bottom:3px solid #0000;border-left:0;justify-content:flex-start;min-width:128px}.nav-link.active{border-bottom-color:var(--color-primary-strong)}.topbar,.page-header,.timeline-head{flex-direction:column;align-items:stretch}.topbar{padding:14px 16px;position:static}.topbar-right,.page-actions{justify-content:flex-start}.content-area{padding:20px 16px 32px}.page-header h1{font-size:28px;line-height:36px}.metric-grid,.dashboard-grid,.form-grid,.detail-grid{grid-template-columns:1fr}.span-2,.form-grid .wide,.detail-grid .wide{grid-column:auto}.wallet-label,.network-chip{display:none}}
