*{box-sizing:border-box} :root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#242a25;font-synthesis:none;font-size:14px;--gold:#d5b677;--green:#215b41;--muted:#7b837c;--border:#e5e8e5}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #c7a154;outline-offset:3px}input,select,textarea{width:100%;min-width:0;border:1px solid #dce1dc;border-radius:10px;background:#fff;padding:13px 12px;min-height:48px;font-size:16px;color:#202820;outline:none}input:focus,select:focus,textarea:focus{border-color:#327457;box-shadow:0 0 0 3px #32745714}input[type=checkbox]{accent-color:var(--green);width:20px;min-height:20px;height:20px;box-shadow:none}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}h1{font-size:24px;letter-spacing:-.7px;line-height:1.4}h2{font-size:18px;letter-spacing:-.4px}button{border:0;background:none;color:inherit}label{display:block;font-weight:600;font-size:14px}label>input,label>select,label>textarea,label>.password-wrap{margin-top:9px}form>label,form>.form-grid{margin:22px 0}.muted{color:var(--muted);font-weight:400;line-height:1.7}.small{font-size:12px}.eyebrow{font-size:10px;letter-spacing:2px;color:#9c8f75;font-weight:600}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:12px 18px;min-height:46px;font-weight:600;border:1px solid #dce2dc;background:#fff;border-radius:10px;white-space:nowrap}.primary{background:var(--green);color:#fff;border-color:var(--green)}.wide{width:100%}.text-button{font-size:13px;min-height:42px;padding:8px;color:inherit}.form-error{font-size:13px;color:#b84036;line-height:1.65;min-height:4px;margin:12px 0}.toast{position:fixed;bottom:calc(100px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:12px 18px;border-radius:12px;box-shadow:0 8px 32px #0003;background:#202b23;color:#fff;z-index:30;max-width:min(90vw,480px);font-size:14px;text-align:center;line-height:1.6}.toast.error{background:#8b352e}[hidden]{display:none!important}
/* Public market: dense prices, quiet chrome, no pretend market movement. */
.market-body{background:#0b0e0c;color:#eae8e0;min-height:100dvh}.market-shell{max-width:760px;margin:auto;padding:32px 24px 20px}.market-header{padding:4px 0 22px}.brand-line{display:flex;align-items:center;gap:14px}.brand-icon{width:52px;height:56px;border:1px solid #a98c535e;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:28px;color:var(--gold);position:relative;background:linear-gradient(145deg,#28271d,#161a14)}.brand-icon span{position:absolute;top:4px;right:6px;font-size:9px;font-family:inherit}.market-header h1{font-size:24px;color:#eee4cd;font-weight:600;margin-top:6px;letter-spacing:1px}.market-header .eyebrow{font-size:9px;letter-spacing:2.1px;color:#9b8a69}.header-bottom{margin-top:25px;padding-top:18px;border-top:1px solid #252b23;display:flex;justify-content:space-between;font-size:12px;color:#acae9f}.header-bottom time{color:#7d887e;font-variant-numeric:tabular-nums}.quote-board{border:1px solid #333b30;border-radius:16px;overflow:hidden;background:#151a15}.board-top{padding:10px 16px;display:flex;align-items:center;justify-content:space-between;background:#1b221b}.board-title{display:flex;gap:7px;align-items:center;font-size:12px;color:#b7c1b4}.status-dot{height:6px;width:6px;border-radius:50%;background:#adab8a;box-shadow:0 0 0 4px #adab8a12}.status-dot.connected{background:#7aa383}.status-dot.failed{background:#dba35a}.board-top .text-button{color:#9ea899;min-height:30px;font-size:12px}.reference-note{background:#c49d4a15;color:#d6bc89;font-size:12px;padding:11px 15px;border-top:1px solid #c49d4a20;line-height:1.8}.reference-note span{display:block;font-size:10px;color:#ab9a7c}.offline-note{padding:12px 15px;background:#bd58212b;color:#ecc598;font-size:12px;line-height:1.6}.quote-table{border-collapse:collapse;width:100%;table-layout:fixed;font-variant-numeric:tabular-nums}.quote-table .product-col{width:27%}.quote-table .range-col{width:22%}.quote-table th{padding:15px 6px;font-size:12px;font-weight:400;color:#83927e;background:#111710;text-align:right}.quote-table th:first-child{text-align:left;padding-left:18px}.quote-table th:last-child{padding-right:16px;font-size:11px}.quote-table td{height:70px;padding:12px 6px;text-align:right;border-top:1px solid #2c3328;font-size:clamp(16px,3.8vw,24px);letter-spacing:-.6px;font-weight:600;transition:background-color .6s}.quote-table tr:nth-child(even){background:#1a2019}.quote-table td:first-child{padding-left:18px;text-align:left;font-size:15px;color:#ddc48c;font-weight:500;letter-spacing:0}.quote-table td:last-child{padding-right:16px}.quote-table .unit{display:block;color:#798473;font-size:10px;letter-spacing:0;font-weight:400;margin-top:6px}.quote-table .price{color:#e8e9df}.quote-table .up{color:#ef756f}.quote-table .down{color:#76b797}.quote-table .direction{font-size:9px;padding-left:2px;vertical-align:middle}.quote-table .range{font-size:12px;line-height:1.85;letter-spacing:-.1px;font-weight:500}.range span{display:block}.range .high{color:#cf8278}.range .low{color:#79a58b}.quote-table td.changed{background:#be9a4b32}.quote-table .pending{font-size:12px;color:#7b8876;letter-spacing:0;font-weight:400}.board-foot{display:flex;justify-content:space-between;padding:15px 16px;font-size:10px;color:#778672;gap:8px;border-top:1px solid #30382b}.market-note{display:flex;gap:10px;margin:22px 2px;color:#a7ae9e;font-size:12px;line-height:1.9}.note-symbol{border:1px solid #52604b;width:16px;height:16px;flex-shrink:0;line-height:15px;text-align:center;border-radius:50%;font-family:Georgia;margin-top:4px;font-size:10px}.market-note .muted{color:#697663;font-size:10px;margin-top:5px}.contact-button{display:flex;align-items:center;justify-content:space-between;border:1px solid #635338;background:#252419;color:#dfc58b;border-radius:12px;padding:17px 18px;margin-bottom:20px;font-size:13px;gap:10px}.contact-button strong{font-weight:500;margin-left:auto;font-variant-numeric:tabular-nums}.market-footer{display:flex;justify-content:space-between;gap:10px;padding:10px 2px 20px;color:#52604d;font-size:10px}.market-footer a{color:#8d967f;min-height:30px}.loading-cell{text-align:center!important;color:#8c9a83!important;font-size:14px!important;height:250px!important}.empty-state{text-align:center;padding:60px 20px;color:#c4c9b9;line-height:2}.empty-state span{font-size:12px;color:#7f8b77}
/* Mobile merchant workspace: editing is the home screen. */
.admin-body{background:#f6f7f5;min-height:100dvh}.admin-shell{max-width:760px;margin:0 auto;padding:26px 24px 130px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.admin-header .eyebrow{letter-spacing:.5px;color:#81917e;font-size:11px;margin-bottom:4px}.admin-header h1{font-size:25px}.preview-link{font-size:12px;color:#487050;background:#fff;border:1px solid #e1e7de;padding:10px 12px;border-radius:8px;white-space:nowrap}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;border-bottom:1px solid #dfe4dc;margin-bottom:26px}.tabs button{min-height:48px;font-size:14px;color:#838b7e;position:relative;padding:0 2px 11px}.tabs button.active{color:#244c31;font-weight:600}.tabs button.active:after{content:"";position:absolute;bottom:-1px;left:25%;width:50%;height:3px;background:#326345;border-radius:3px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px}.section-title .muted{font-size:12px;margin-top:6px}.tiny-badge{font-size:11px;padding:6px 9px;border-radius:6px;background:#e8ede5;color:#6a7c61;white-space:nowrap}.search-wrap{display:flex;align-items:center;gap:6px;border:1px solid #e0e5dc;background:#fff;border-radius:10px;padding:0 8px 0 12px;margin:18px 0 14px}.search-wrap>span{font-size:24px;line-height:1;color:#8b9784}.search-wrap input{border:0;box-shadow:none;padding-left:6px;background:transparent;font-size:14px}.search-wrap .text-button{white-space:nowrap;font-size:12px;color:#527549}.edit-table{background:#fff;border:1px solid #e1e6dd;border-radius:12px;overflow:hidden}.edit-heading,.edit-row{display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,1.1fr) minmax(0,1.1fr);gap:12px;align-items:center;padding:14px 16px}.edit-heading{font-size:11px;color:#809076;background:#eef2eb}.edit-heading span:not(:first-child){text-align:right}.edit-row{border-top:1px solid #edf0e9;min-height:88px;position:relative}.edit-row.dirty{background:#f7faf3}.edit-row.dirty:before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:3px;border-radius:4px;background:#7b9b5d}.edit-name{font-size:14px;font-weight:600}.edit-name small{display:block;color:#929c8b;font-size:10px;font-weight:400;line-height:1.6;margin-top:5px}.edit-row input{text-align:right;font-weight:600;padding:12px 8px;font-size:18px;letter-spacing:-.4px;font-variant-numeric:tabular-nums;background:#fafbf9;border-color:#e8ede3;border-radius:8px}.edit-row input.edited{border-color:#9bb88c;background:#fff}.edit-row input.invalid{border-color:#d07665;background:#fff7f4}.edit-row .hidden-tag{display:inline-block;color:#9a907f;font-weight:400;font-size:10px;margin-top:3px}.help-text{color:#9aA18f;font-size:11px;line-height:1.9;text-align:center;margin:21px 0}.save-bar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,760px);border-top:1px solid #dfe5d9;background:#fffffff5;backdrop-filter:blur(15px);padding:14px 24px calc(14px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:14px;z-index:10}.save-bar strong{display:block;font-size:13px}.save-bar>div>span{font-size:10px;color:#929d88;display:block;margin-top:5px}.save-bar .button{min-width:136px;padding:14px 18px}.sample-banner,.alert-card,.draft-banner{border:1px solid #eadbbb;background:#fffaef;border-radius:10px;color:#8c7042;padding:13px 15px;font-size:12px;line-height:1.7;margin-bottom:16px}.sample-banner p,.alert-card p{margin-top:4px}.alert-card .button{margin-top:10px;font-size:12px}.draft-banner{display:flex;align-items:center;justify-content:space-between;background:#edf5e8;border-color:#dbe9d2;color:#648150;padding:10px 12px;font-size:11px}.draft-banner button{color:#6a794f;text-decoration:underline;min-height:32px}.category-list{display:grid;gap:10px}.category-card{background:#fff;border:1px solid #e2e7dd;border-radius:12px;display:flex;justify-content:space-between;align-items:center;padding:18px 16px;gap:12px}.category-card h3{margin:0;font-size:15px}.category-card p{color:#97a08d;font-size:11px;margin-top:7px;line-height:1.6}.category-card .text-button{color:#4e7150;min-width:48px}.state-pill{font-size:10px;border-radius:5px;padding:3px 6px;vertical-align:middle;font-weight:400;margin-left:7px;background:#edf4e8;color:#7e9568}.state-pill.hidden-pill{background:#f1efea;color:#9e9685}.history-card{border-left:2px solid #dce5d6;padding:0 0 24px 17px;margin-left:4px}.history-card h3{font-size:14px;margin:0 0 6px}.history-card time{font-size:10px;color:#9ba58f}.history-card p{font-size:12px;line-height:1.8;margin-top:9px;color:#6b7a60;overflow-wrap:anywhere}.history-change{background:white;padding:9px 11px;border:1px solid #e8ede3;border-radius:7px;margin:9px 0}.history-change strong{font-size:12px}.history-change span{display:block;color:#85957a;font-size:11px;margin-top:5px;line-height:1.7}.settings-card{background:#fff;border:1px solid #e2e7dd;border-radius:12px;padding:22px;margin-bottom:20px}.optional{font-size:11px;color:#9ba28f;font-weight:400;margin-left:5px}.logout-button{border:1px solid #e4e7de;color:#84907b;border-radius:10px;width:100%;padding:15px;background:#fff}.sheet{border:0;border-radius:18px;width:min(calc(100% - 32px),480px);padding:24px;box-shadow:0 30px 120px #0003;max-height:90dvh;overflow:auto;color:#273322}.sheet::backdrop{background:#18201066;backdrop-filter:blur(2px)}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.close-button{font-size:27px;color:#8a977e;min-width:36px;min-height:36px;border-radius:50%;background:#f2f5ee}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.switch-line{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.switch-line>input{margin:0}.bulk-select-tools{display:flex;justify-content:space-between;color:#628251}.bulk-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:190px;overflow:auto;padding:6px 0}.bulk-choices label{display:flex;align-items:center;gap:8px;font-weight:400;font-size:13px;min-height:35px}.bulk-choices input{margin:0}.login-view{max-width:440px;margin:0 auto;padding:30px 24px}.back-link{font-size:13px;color:#829176;min-height:40px;display:inline-flex;align-items:center}.login-card{margin-top:50px}.login-mark{width:56px;height:56px;border:1px solid #cfc2a2;background:#eee9dc;color:#8a7447;display:flex;align-items:center;justify-content:center;border-radius:14px;font-family:Georgia,serif;font-size:30px;margin-bottom:28px}.login-card .eyebrow{color:#8d9b80;letter-spacing:1px;margin-bottom:10px;font-size:11px}.login-card h1{font-size:27px;margin-bottom:10px}.login-card>.muted{font-size:12px;margin-bottom:30px}.login-card label{margin-top:22px;font-weight:500}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:62px}.password-wrap button{position:absolute;right:5px;top:4px;bottom:4px;font-size:12px;color:#8b957e;min-width:48px}.starting{text-align:center;padding:30vh 20px;color:#8c9b80;font-size:14px}
@media(min-width:600px){.market-shell{padding-top:48px}.market-header h1{font-size:30px}.quote-table td{height:80px}.quote-table td:first-child{font-size:17px}.quote-table .unit{font-size:11px}.quote-table .range{font-size:14px}.market-footer{font-size:11px}.admin-shell{padding-top:38px}.edit-row input{font-size:22px}.edit-row{min-height:94px}.admin-header h1{font-size:28px}.sheet{padding:30px}}
@media(max-width:370px){.market-shell{padding:22px 12px 15px}.market-header h1{font-size:21px}.brand-line{gap:10px}.brand-icon{width:45px;height:50px}.quote-table td:first-child{padding-left:12px;font-size:13px}.quote-table th:first-child{padding-left:12px}.quote-table td{font-size:16px;letter-spacing:-.6px;padding-right:3px;padding-left:3px;height:66px}.quote-table td:last-child,.quote-table th:last-child{padding-right:10px}.quote-table .range{font-size:10px}.admin-shell{padding:22px 14px 130px}.admin-header h1{font-size:23px}.edit-heading,.edit-row{padding:13px 10px;gap:6px;grid-template-columns:minmax(72px,.95fr) minmax(0,1.1fr) minmax(0,1.1fr)}.edit-row input{font-size:16px;padding:12px 5px}.edit-name{font-size:13px}.section-title h2{font-size:17px}.save-bar{padding-left:16px;padding-right:16px}.save-bar .button{min-width:120px;padding:13px 12px}.tabs button{font-size:13px}.preview-link{font-size:11px;padding:9px}.settings-card{padding:18px}.sheet{padding:20px}.brand-line .eyebrow{font-size:8px;letter-spacing:1.4px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
