/* Products (shell) and orders (board frame). */
.od-dialog{width:min(1120px,calc(100vw - 24px));height:min(860px,calc(100dvh - 24px));max-height:none;padding:0;border:1px solid #e3ebf5;border-radius:22px;background:#fff;color:#27374e;box-shadow:0 24px 90px #20457230;overflow:hidden}
.od-dialog[open]{display:flex;flex-direction:column}
.od-dialog::backdrop{background:#20324d4d;backdrop-filter:blur(4px)}
.od-head{flex:none;display:flex;align-items:center;gap:14px;padding:18px 22px 14px;border-bottom:1px solid #edf2f8;flex-wrap:wrap}
.od-head h2{margin:0;font-size:21px;font-weight:750;letter-spacing:-.6px}
.od-head .od-sub{font-size:12.5px;color:#7b8ca3;margin-top:3px}
.od-close{margin-left:auto;border:0;background:transparent;color:#7e92ac;font-size:24px;line-height:1;padding:4px 9px;border-radius:9px;cursor:pointer}
.od-close:hover{background:#eef4fb}
.od-tabs{display:flex;gap:4px;padding:4px;background:#f2f6fb;border-radius:12px}
.od-tabs button{border:0;background:transparent;color:#6f8098;font:650 13px var(--font-body,sans-serif);padding:8px 14px;border-radius:9px;cursor:pointer;white-space:nowrap}
.od-tabs button.on{background:#fff;color:#246ddd;box-shadow:0 2px 6px #24528a12}
.od-tabs b{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:5px;padding:0 5px;border-radius:9px;background:#f04452;color:#fff;font-size:10.5px}
.od-body{flex:1;min-height:0;overflow:auto;padding:16px 22px 20px}
.od-body.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;overflow:hidden}
@media(max-width:860px){.od-body.split{display:block;overflow:auto}.od-cart{margin-top:14px}}
.od-empty{padding:60px 20px;text-align:center;color:#7b8ca3;font-size:14px;line-height:1.8}
.od-empty b{display:block;font-size:17px;color:#28374d;margin-bottom:6px}
.od-btn{border:0;border-radius:11px;padding:10px 15px;font:650 13px var(--font-body,sans-serif);cursor:pointer;white-space:nowrap;background:#eef4fb;color:#44607f}
.od-btn:hover{background:#e2ecf8}
.od-btn.pri{background:#2878f5;color:#fff}.od-btn.pri:hover{background:#1764dc}
.od-btn.bad{background:transparent;color:#d04a59}.od-btn.bad:hover{background:#ffedf0}
.od-btn:disabled{opacity:.5;cursor:wait}
.od-input{width:100%;box-sizing:border-box;border:1px solid #e1e9f3;border-radius:10px;background:#f7fafd;padding:9px 11px;font:500 13px var(--font-body,sans-serif);color:#27374e;outline:none}
.od-input:focus{border-color:#8db8f4;background:#fff;box-shadow:0 0 0 3px #2878f512}
.od-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.od-tools .od-input{flex:1;min-width:180px}
.od-chips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}
.od-chips button{border:0;border-radius:999px;background:#f1f5fa;color:#61748e;font:600 12px var(--font-body,sans-serif);padding:6px 12px;cursor:pointer}
.od-chips button.on{background:#2878f5;color:#fff}
.od-error{color:#d04a59;font-size:13px;margin:8px 0}.od-error:empty{display:none}
.od-note{font-size:12px;color:#7b8ca3;line-height:1.7}
.od-badge{display:inline-block;border-radius:7px;padding:3px 8px;font-size:11.5px;font-weight:700;background:#eef3f8;color:#617087}
.od-badge.wait{background:#fff4d6;color:#a56c12}.od-badge.ok{background:#e7f7f0;color:#16856a}.od-badge.bad{background:#ffedf0;color:#d04a59}

/* catalog (buyer) */
.od-list{overflow:auto;min-height:0;height:100%;padding-right:4px}
.od-group{position:sticky;top:0;z-index:1;background:#fff;padding:10px 4px 6px;font-size:11px;font-weight:750;color:#8193ab;letter-spacing:.05em}
.od-row{display:grid;grid-template-columns:minmax(0,1fr) auto 128px;align-items:center;gap:14px;padding:11px 12px;border-radius:14px}
.od-row:hover{background:#f6f9fd}.od-row.in{background:#eef5ff}
.od-name{font-size:14px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.od-name small{display:block;font-size:11.5px;font-weight:500;color:#8a9ab0;margin-top:1px}
.od-meta{font-size:11.5px;color:#8a9ab0;margin-top:3px;display:flex;gap:8px;flex-wrap:wrap}
.od-name .od-tag{display:inline;margin-left:8px;font-size:11.5px;font-style:normal;font-weight:500;color:#9aaabd;white-space:nowrap;font-variant-numeric:tabular-nums}
.od-price{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.od-price b{display:block;font-size:14px;font-weight:750}
.od-price span{font-size:11px;color:#8a9ab0}
.od-step{display:flex;align-items:center;justify-content:flex-end;gap:2px}
.od-step button{width:30px;height:32px;border:0;border-radius:9px;background:#eef3f9;color:#44607f;font-size:17px;cursor:pointer}
.od-step button:hover{background:#dfeafb;color:#2878f5}
.od-step input{width:52px;height:32px;box-sizing:border-box;border:1px solid #e1e9f3;border-radius:9px;text-align:center;font:700 14px var(--font-body,sans-serif);font-variant-numeric:tabular-nums;color:#27374e}
.od-step input:focus{outline:none;border-color:#8db8f4}
.od-step-sub{grid-column:3;text-align:right;font-size:11px;color:#94a4b8;margin-top:3px;min-height:14px;line-height:1.2}
.od-step-sub.on{color:#2878f5;font-weight:650}
.od-step button:disabled{background:#f4f7fa;color:#c3cedb;cursor:default}
.od-step button:disabled:hover{background:#f4f7fa;color:#c3cedb}
.od-cart{display:flex;flex-direction:column;min-height:0;background:#f6f9fd;border-radius:18px;padding:14px}
.od-cart h3{margin:0 0 8px;font-size:15px}
.od-cart-lines{flex:1;min-height:60px;overflow:auto}
.od-cart-line{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #e7eef7;font-size:12.5px}
.od-cart-line span{min-width:0;overflow-wrap:anywhere}.od-cart-line b{white-space:nowrap;font-variant-numeric:tabular-nums}
.od-sum{margin-top:10px;font-size:12.5px}
.od-sum div{display:flex;justify-content:space-between;padding:3px 0;color:#617087}
.od-sum div b{color:#27374e;font-variant-numeric:tabular-nums}
.od-sum .tot{border-top:1.5px solid #d9e3ef;margin-top:5px;padding-top:8px;font-size:15px;color:#27374e}
.od-sum .tot b{font-size:18px;color:#1f5fd0}
.od-cart label{display:block;font-size:11.5px;font-weight:650;color:#7b8ca3;margin:10px 0 4px}
.od-cart textarea{resize:vertical;min-height:54px}
.od-cart .od-btn.pri{width:100%;margin-top:12px;padding:12px}

/* settings (seller) */
.od-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
@media(max-width:700px){.od-modes{grid-template-columns:1fr}}
.od-mode{display:block;border:1.5px solid #e3ebf5;border-radius:16px;padding:13px 14px;cursor:pointer}
.od-mode input{margin:0 7px 0 0;accent-color:#2878f5}
.od-mode b{font-size:14px}.od-mode span{display:block;font-size:12px;color:#7b8ca3;margin-top:5px;line-height:1.55}
.od-mode.on{border-color:#2878f5;background:#f3f8ff}
.od-set-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.od-seg{display:inline-flex;gap:3px;padding:3px;background:#f2f6fb;border-radius:11px}
.od-seg button{border:0;background:transparent;border-radius:8px;padding:7px 14px;font:650 13px var(--font-body,sans-serif);color:#6f8098;cursor:pointer}
.od-seg button.on{background:#fff;color:#246ddd;box-shadow:0 2px 6px #24528a12}
.od-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#44607f}
.od-check input{accent-color:#2878f5;width:16px;height:16px}

/* tables */
.od-table-wrap{overflow:auto;border:1px solid #edf2f8;border-radius:14px}
.od-table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:720px}
#pdBody .od-table{min-width:1040px}
.od-table th{position:sticky;top:0;background:#f7fafd;text-align:left;font-size:11px;font-weight:700;color:#7b8ca3;padding:9px 8px;border-bottom:1px solid #e7eef7;white-space:nowrap;z-index:1}
.od-table td{padding:6px 8px;border-bottom:1px solid #f0f4f9;vertical-align:middle}
.od-table td.num,.od-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.od-table tr:hover td{background:#fafcff}
.od-cell{width:100%;box-sizing:border-box;border:1px solid transparent;border-radius:8px;background:transparent;padding:6px 7px;font:500 12.5px var(--font-body,sans-serif);color:#27374e}
.od-cell:hover{background:#f3f7fc}.od-cell:focus{outline:none;background:#fff;border-color:#8db8f4}
.od-cell.num{text-align:right;font-variant-numeric:tabular-nums}
.od-cell.saved{background:#e9f8f1}.od-cell.err{background:#ffedf0}
.od-x{border:0;background:transparent;color:#a3b1c2;border-radius:7px;padding:4px 7px;cursor:pointer}.od-x:hover{background:#ffedf0;color:#d04a59}

/* order history */
.od-order{border:1px solid #e7eef7;border-radius:16px;margin-bottom:10px;overflow:hidden}
.od-order-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:13px 16px;cursor:pointer;background:#fff;border:0;width:100%;text-align:left;font:inherit;color:inherit}
.od-order-head:hover{background:#f8fbff}
.od-order-no{font-weight:750;font-variant-numeric:tabular-nums}
.od-order-info{font-size:12.5px;color:#7b8ca3;min-width:0}
.od-order-amt{font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}
.od-order-body{padding:4px 16px 16px;background:#fbfdff;border-top:1px solid #eef3f9}
.od-order-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px}
.od-order-body .od-table{min-width:640px}
.od-order-memo{font-size:12.5px;color:#44607f;background:#f2f6fb;border-radius:10px;padding:9px 12px;margin-top:10px;white-space:pre-wrap}

/* paste import */
.od-paste{background:#f6f9fd;border-radius:16px;padding:14px;margin-bottom:12px}
.od-paste textarea{min-height:120px;font-family:ui-monospace,Menlo,monospace;font-size:12px}
.od-paste .od-tools{margin:10px 0 0}

/* phones: full-screen sheet, product row stacks the stepper under the name */
@media(max-width:700px){
 dialog.od-dialog{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;padding:0!important;border-radius:0;border:0}
 .od-head{padding:12px 14px 10px;gap:10px}.od-head h2{font-size:18px}.od-tabs button{padding:7px 10px;font-size:12.5px}
 .od-body{padding:12px 14px 16px}
 .od-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:10px}
 .od-row>div:last-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}
 .od-row>div:last-child .od-step-sub{order:-1;margin:0;text-align:left}
 .od-cart{margin-top:12px}
 .od-order-head{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}
 .od-order-info{grid-column:1/-1;order:3}
}
