:root{--color-bg:#f7f8fa;--color-surface:#ffffff;--color-surface-hover:#f3f4f6;--color-border:#e3e6ea;--color-border-strong:#cbd1d9;--color-text:#171a21;--color-text-muted:#5b6472;--color-text-faint:#8a93a3;--color-accent:#4f46e5;--color-accent-hover:#4338ca;--color-accent-soft:#eef0ff;--color-accent-text-on:#ffffff;--color-success:#15803d;--color-success-soft:#eaf7ee;--color-danger:#b91c1c;--color-danger-soft:#fceaea;--color-warning:#9a6700;--color-warning-soft:#fdf3d8;--color-info:#1d5da6;--color-info-soft:#e9f2fc;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:6px;--radius-md:10px;--radius-full:999px;--shadow-sm:0 1px 2px rgba(23,26,33,0.06);--shadow-md:0 4px 12px rgba(23,26,33,0.08);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;--font-mono:"SF Mono","Cascadia Code",Consolas,monospace}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--color-text);background-color:var(--color-bg)}h1,h2,h3{line-height:1.3;font-weight:700}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg);font-weight:600}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;border:none;font-family:inherit;font-size:inherit}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{font-family:inherit;font-size:inherit;color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-5)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:var(--space-5);gap:var(--space-5);margin-bottom:var(--space-5)}.flex{display:flex}.flex-between{justify-content:space-between}.flex-between,.flex-gap{display:flex;align-items:center}.flex-gap{gap:var(--space-3);flex-wrap:wrap}.mt-20{margin-top:var(--space-5)}.mb-20{margin-bottom:var(--space-5)}.card{margin-bottom:var(--space-5)}.card,.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5)}.stat-card h3{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);margin-bottom:var(--space-2)}.stat-card .value{font-size:var(--text-2xl);font-weight:700;color:var(--color-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-card .value.value-warning{color:var(--color-warning)}.stat-detail{font-size:var(--text-xs);margin-top:var(--space-1)}.card-flush{padding:0;overflow:hidden}.card-flush table{margin:0}.card-flush td:first-child,.card-flush th:first-child{padding-left:var(--space-5)}.card-flush td:last-child,.card-flush th:last-child{padding-right:var(--space-5)}.mono{font-family:var(--font-mono);font-size:var(--text-xs)}.inline-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface)}.action-select{width:auto;max-width:100%}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:600;font-size:var(--text-sm);color:var(--color-text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-faint)}.error-message{color:var(--color-danger);font-size:var(--text-xs);margin-top:var(--space-1)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px var(--space-4);border-radius:var(--radius-sm);font-weight:600;font-size:var(--text-sm);transition:background-color .15s,border-color .15s,color .15s;border:1px solid transparent}.btn-primary{background-color:var(--color-accent);color:var(--color-accent-text-on)}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-hover)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-hover)}.btn-danger{background-color:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-soft)}.btn-success{background-color:var(--color-surface);color:var(--color-success);border-color:var(--color-success)}.btn-success:hover:not(:disabled){background-color:var(--color-success-soft)}.badge{display:inline-flex;align-items:center;padding:2px var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;line-height:1.8;white-space:nowrap}.badge-neutral{background:var(--color-surface-hover);color:var(--color-text-muted)}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-info{background:var(--color-info-soft);color:var(--color-info)}.badge-accent{background:var(--color-accent-soft);color:var(--color-accent)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:var(--text-sm);border:1px solid transparent}.alert-error{background-color:var(--color-danger-soft);color:var(--color-danger);border-color:rgba(185,28,28,.2)}.alert-success{background-color:var(--color-success-soft);color:var(--color-success);border-color:rgba(21,128,61,.2)}.alert-info{background-color:var(--color-info-soft);color:var(--color-info);border-color:rgba(29,93,166,.2)}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}td,th{padding:var(--space-3) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border)}th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.02em;font-weight:600;color:var(--color-text-muted)}th,tr:hover td{background-color:var(--color-surface-hover)}td.numeric,th.numeric{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-empty{text-align:center;padding:var(--space-8);color:var(--color-text-muted)}.page{padding-bottom:var(--space-10)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}.page-header h1{margin-bottom:var(--space-1)}.page-subtitle{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.page-actions{display:flex;gap:var(--space-2);flex-shrink:0}.session-expired{max-width:420px;margin:var(--space-10) auto;text-align:center}.session-expired h2{margin-bottom:var(--space-2)}.session-expired p{margin-bottom:var(--space-5)}.login-shell{max-width:400px;margin:var(--space-10) auto}.login-shell h1{text-align:center;margin-bottom:var(--space-6)}.login-footer{text-align:center;margin-top:var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted)}.admin-subnav{background:var(--color-surface);margin-bottom:var(--space-6)}.admin-subnav-inner{display:flex;gap:var(--space-1);max-width:1200px;margin:0 auto;padding:0 var(--space-5);overflow-x:auto}.admin-subnav a{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500;padding:var(--space-3) var(--space-3);border-bottom:2px solid transparent;border-radius:0;white-space:nowrap;text-decoration:none}.admin-subnav a:hover{color:var(--color-text);background:var(--color-surface-hover)}.admin-subnav a.active{color:var(--color-accent);border-bottom-color:var(--color-accent);background:transparent}.header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-4) 0;margin-bottom:var(--space-8)}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 var(--space-5)}.header-brand{display:flex;flex-direction:column;gap:var(--space-1)}.header h1{font-size:var(--text-lg);margin:0}.header-tagline{font-size:var(--text-xs);color:var(--color-text-faint);font-weight:400}.header-nav{display:flex;gap:var(--space-5);align-items:center}.header-nav a{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm)}.header-nav a:hover{color:var(--color-text);text-decoration:none;background:var(--color-surface-hover)}.header-nav a.active{color:var(--color-accent);background:var(--color-accent-soft)}.role-tabs{gap:var(--space-2)}.role-tab{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:transparent;border:1px solid transparent}.role-tab:hover{color:var(--color-text);background:var(--color-surface-hover)}.role-tab.active{color:var(--color-accent);background:var(--color-accent-soft);border-color:var(--color-accent-soft)}.role-tab-static{cursor:default}.help-block{background:var(--color-info-soft);border:1px solid rgba(29,93,166,.15);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-5);font-size:var(--text-sm);color:var(--color-text);line-height:1.55}.tooltip-wrap{position:relative;display:inline-flex;vertical-align:middle;margin-left:var(--space-1)}.tooltip-wrap:focus-within,.tooltip-wrap:hover{z-index:1100}.tooltip-icon{cursor:help;display:inline-flex;align-items:center;justify-content:center;line-height:1;color:var(--color-text-muted);opacity:.7;border-radius:999px;transition:opacity .15s,color .15s}.tooltip-icon:focus-visible,.tooltip-icon:hover{opacity:1;color:var(--color-accent);outline:none}.tooltip-content{visibility:hidden;opacity:0;position:absolute;z-index:1100;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);min-width:220px;max-width:320px;padding:var(--space-3);background:var(--color-text);color:#fff;font-size:var(--text-xs);font-weight:400;line-height:1.45;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);pointer-events:none;transition:opacity .15s;text-transform:none;letter-spacing:normal;white-space:normal}.tooltip-wrap:focus-within .tooltip-content,.tooltip-wrap:hover .tooltip-content{visibility:visible;opacity:1}.card-flush:has(.tooltip-wrap){overflow:visible}.field-hint{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1);font-weight:400}.setting-display{display:flex;flex-direction:column;gap:var(--space-1)}.setting-formatted{font-weight:500}.setting-raw-hint{font-size:var(--text-xs);color:var(--color-text-faint);font-family:var(--font-mono);word-break:break-all}.settings-table{table-layout:fixed}.settings-table .col-key,.settings-table th:first-child{width:28%;max-width:0}.settings-table .col-key .mono{display:block;min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-table .setting-key{display:flex;align-items:center;gap:var(--space-1);min-width:0}.settings-table .col-key .tooltip-wrap{margin-left:0;flex-shrink:0}.settings-table .col-value,.settings-table th:nth-child(2){width:32%;word-break:break-all}.settings-table .col-default,.settings-table th:nth-child(3){width:12%}.settings-table .col-action,.settings-table th:nth-child(4){width:28%;white-space:nowrap}.settings-table td{vertical-align:middle;padding-top:var(--space-3);padding-bottom:var(--space-3)}.settings-table .action-buttons{display:flex;flex-direction:row;gap:var(--space-2);flex-wrap:wrap;align-items:center}.action-item{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap}.market-picker,.market-picker-input-wrap{position:relative}.market-picker-dropdown{position:absolute;z-index:40;top:100%;left:0;right:0;max-height:280px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);margin-top:var(--space-1)}.market-picker-option{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);width:100%;padding:var(--space-3);text-align:left;background:transparent;border:none;border-bottom:1px solid var(--color-border)}.market-picker-option:hover{background:var(--color-surface-hover)}.market-picker-option-title{font-weight:600;font-size:var(--text-sm)}.market-picker-option-meta{display:flex;gap:var(--space-2);align-items:center;font-size:var(--text-xs);color:var(--color-text-muted)}.market-picker-empty{padding:var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.market-picker-selected{font-size:var(--text-xs);margin-top:var(--space-2)}.market-picker-filter{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.market-picker-filter select{width:100%;padding:6px var(--space-2);font-size:var(--text-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.market-picker-option-tag{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-surface-hover);padding:1px var(--space-2);border-radius:var(--radius-sm)}.market-picker-option-outcomes{display:flex;flex-wrap:wrap;gap:var(--space-1)}.outcome-pill{font-size:var(--text-xs);padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-hover);color:var(--color-text)}.color-picker-row{display:flex;gap:var(--space-3);align-items:center}.color-picker-row input[type=color]{width:48px;height:36px;padding:2px;cursor:pointer}.color-picker-row input[type=color],.color-picker-row input[type=text]{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.color-picker-row input[type=text]{flex:1 1;max-width:140px;padding:var(--space-2) var(--space-3)}.loading{text-align:center;padding:var(--space-10)}.loading,.text-muted{color:var(--color-text-muted)}.fee-hint{display:block;font-size:var(--text-xs);margin-top:var(--space-1)}.withdrawal-actions{display:flex;flex-direction:column;gap:var(--space-2);min-width:180px}.code-block{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);overflow-x:auto;word-break:break-all}.market-board-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-5);align-items:flex-end}.market-board-toolbar .form-group{margin-bottom:0;flex:1 1 220px;max-width:360px}.market-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:var(--space-5);gap:var(--space-5);margin-bottom:var(--space-5)}.market-board-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);width:100%;text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5);color:inherit}.market-board-card:hover{border-color:var(--color-accent);background:var(--color-surface);box-shadow:var(--shadow-md)}.market-board-card-title{font-size:var(--text-base);font-weight:600;line-height:1.35}.market-board-card-desc{font-size:var(--text-sm);color:var(--color-text-muted)}.modal-backdrop{position:fixed;inset:0;z-index:1200;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-8) var(--space-5);overflow-y:auto;background:rgba(23,26,33,.45)}.modal{position:relative;width:100%;max-width:560px;max-height:calc(100vh - 64px);margin:auto;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.modal-body{padding:var(--space-6);overflow-y:auto}.modal-header{padding-right:var(--space-8);margin-bottom:var(--space-5)}.modal-header h3{margin:0}.modal-close{position:absolute;top:var(--space-3);right:var(--space-3);z-index:1;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--color-text-muted);border-radius:var(--radius-sm)}.modal-close:hover{background:var(--color-surface-hover);color:var(--color-text)}