/* Shared select treatment is in owner-select.css. Keep field and action geometry consistent. */
body.ops-workspace #ops-main{--ops-control-height:46px}
body.ops-workspace #ops-main :is(.ops-field-input,.setting-control)>select:not([multiple]):not([size]){height:var(--ops-control-height);min-height:var(--ops-control-height);width:100%}
body.ops-workspace #ops-main .setting-control{align-items:flex-start}
body.ops-workspace #ops-main .setting-control :is(input,button){height:var(--ops-control-height);min-height:var(--ops-control-height)}
body.ops-workspace #ops-main .ops-field-input>input:not([type=checkbox]):not([type=radio]){height:var(--ops-control-height);min-height:var(--ops-control-height);min-width:0;font:inherit}
body.ops-workspace #ops-main :is(.ops-form,.ops-inline,.oinline) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),button,.obtn){min-height:var(--ops-control-height);font:inherit}
body.ops-workspace #ops-main .ops-form{gap:16px;align-items:end}
body.ops-workspace #ops-main .ops-form>label{flex:1 1 200px;min-width:0;gap:8px;font-size:13px;line-height:1.5}
body.ops-workspace #ops-main .ops-form>label :is(input,select,textarea){width:100%;min-width:0}
body.ops-workspace #ops-main .ops-inline{gap:8px;min-width:0}
body.ops-workspace #ops-main .ops-inline>label{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}
body.ops-workspace #ops-main :is(.oactions,.pol-actions){flex-wrap:wrap;gap:10px}
body.ops-workspace #ops-main :is(.oform,.ops-form,.ops-inline) textarea{max-width:100%;min-width:0;resize:vertical}
/* A single field with an action should not leave an empty half-column or push the button down. */
@media(min-width:761px){
 body.ops-workspace #ops-main .oform.row:has(>.ops-field:only-of-type){grid-template-columns:minmax(0,1fr) auto;max-width:1120px;align-items:end}
 body.ops-workspace #ops-main .oform.row:has(>.ops-field:only-of-type):not(:has(>button)){grid-template-columns:minmax(0,1fr)}
 body.ops-workspace #ops-main .oform.row:has(>.ops-field:only-of-type)>button{margin-top:0;align-self:end;min-height:var(--ops-control-height)}
}
body.ops-workspace #ops-main .och{flex-wrap:wrap;min-width:0}
body.ops-workspace #ops-main .och>*{min-width:0;overflow-wrap:anywhere}
body.ops-workspace #ops-main :is(.ot,.t).ops-small-table{min-width:0;table-layout:fixed}
body.ops-workspace #ops-main :is(.ot,.t).ops-small-table :is(th,td){white-space:normal;overflow-wrap:anywhere}
body.ops-workspace #ops-main .otw pre{white-space:pre-wrap;overflow-wrap:anywhere}
body.ops-workspace #ops-main :is(.ohead,.ocard,.ops-field,.setting-item){min-width:0}
@media(max-width:760px){
 body.ops-workspace #ops-main{--ops-control-height:48px}
 body.ops-workspace #ops-main :is(.oform,.ops-form,.ops-inline,.setting-control) :is(input:not([type=checkbox]):not([type=radio]),textarea){font-size:16px}
 body.ops-workspace #ops-main .oform.row{grid-template-columns:minmax(0,1fr)!important;max-width:100%}
 body.ops-workspace #ops-main .oform.row>button{margin-top:0;min-height:var(--ops-control-height)}
 body.ops-workspace #ops-main .ops-form>label{flex-basis:100%}
 body.ops-workspace #ops-main .ops-form>button{width:100%}
 body.ops-workspace #ops-main :is(.ot,.t).ops-small-table :is(th,td){padding:12px 10px}
}
body.ops-workspace #ops-main .ops-shop-select{width:100%;max-width:100%;min-width:0}body.ops-workspace #ops-main .ops-shop-select[multiple]{min-height:180px;height:auto;font:inherit}body.ops-workspace #ops-main .ops-shop-select option{padding:8px}.ops-shop-empty{display:block;margin-top:6px;color:var(--os);font-size:12px}.ops-place-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;align-items:end;gap:12px;margin-bottom:14px}.ops-place-row label{display:grid;gap:8px;min-width:0}.ops-place-row input{min-height:46px;width:100%;min-width:0;padding:11px 14px;border:1px solid var(--ol);border-radius:10px;font:inherit}.ops-place-row button{min-height:46px}.ops-place-batch .oactions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:760px){.ops-place-row{grid-template-columns:minmax(0,1fr)}.ops-place-row input{min-height:48px;font-size:16px}}
/* Billing summary and action rows use the same section spacing as the list. */
body.ops-workspace #ops-main .billing-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:22px}
body.ops-workspace #ops-main .billing-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:16px 24px;margin-bottom:22px}
body.ops-workspace #ops-main .billing-toolbar .ops-inline{margin:0;gap:12px;align-items:end}
body.ops-workspace #ops-main .billing-toolbar label{display:grid;gap:8px;font-size:13px;line-height:1.5;min-width:0}
body.ops-workspace #ops-main .billing-issue{flex:1 1 360px}
body.ops-workspace #ops-main .billing-issue label{flex:1 1 240px;max-width:400px}
body.ops-workspace #ops-main .billing-toolbar input{width:100%;min-width:0}
@media(max-width:1250px){
 body.ops-workspace #ops-main .billing-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.ops-workspace #ops-main .billing-summary>.ok:last-child{grid-column:1/-1}
}
@media(max-width:600px){
 body.ops-workspace #ops-main .billing-toolbar{gap:16px}
 body.ops-workspace #ops-main .billing-toolbar :is(.billing-month,.billing-issue,.billing-month label,.billing-issue label,.billing-issue button){width:100%;max-width:none;flex-basis:100%}
}
/* PG: default provider above the two independent provider settings. */
body.ops-workspace[data-page=pg] #ops-main .okpi{grid-template-columns:repeat(3,minmax(0,1fr))}
body.ops-workspace #ops-main .pg-settings-grid{gap:22px;margin-bottom:22px;align-items:stretch}
body.ops-workspace #ops-main .pg-settings-grid>.ocard{margin-bottom:0}
body.ops-workspace #ops-main .pg-settings-grid>.ocard:first-child{grid-column:1/-1}
body.ops-workspace[data-page=pg] #ops-main .ops-field-name{min-height:0;line-height:1.5;padding:0;margin:0}
body.ops-workspace[data-page=pg] #ops-main .ops-field{gap:8px}
body.ops-workspace[data-page=pg] #ops-main .oform.row{row-gap:20px;column-gap:24px}
body.ops-workspace #ops-main .pg-settings-grid .oform.row>button{grid-column:1/-1;justify-self:end;align-self:end;margin-top:0;min-height:var(--ops-control-height)}
body.ops-workspace #ops-main .pg-settings-grid>.ocard:first-child .oform.row{grid-template-columns:minmax(0,1fr) auto;max-width:760px}
body.ops-workspace #ops-main .pg-settings-grid>.ocard:first-child .oform.row>button{grid-column:auto}
body.ops-workspace[data-page=pg] #ops-main .ohint{margin:16px 0 0;line-height:1.8;overflow-wrap:anywhere}
@media(max-width:760px){
 body.ops-workspace[data-page=pg] #ops-main .okpi{grid-template-columns:minmax(0,1fr)}
 body.ops-workspace #ops-main .pg-settings-grid .oform.row>button{width:100%}
}

/* 결제 내역 › 결제 취소(펼침 양식) */
.ocancel{min-width:0}
.ocancel>summary{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid #f1c7c4;border-radius:8px;color:#c4321f;font-weight:700;cursor:pointer;list-style:none}
.ocancel>summary::-webkit-details-marker{display:none}
.ocancel>summary:focus-visible{outline:2px solid #c4321f;outline-offset:2px}
.ocancel form{display:grid;gap:8px;margin-top:8px;width:min(240px,100%)}
.ocancel label{display:grid;gap:4px;font-size:13px;min-width:0}
.ocancel label small{font-size:12px;color:#6b7280}
.ocancel input{width:100%;min-width:0;min-height:44px;padding:0 10px;border:1px solid #d6dae1;border-radius:8px;font:inherit;font-size:14px}
.ocancel button{font:inherit;font-weight:700;min-height:44px;border:0;border-radius:8px;background:#c4321f;color:#fff;cursor:pointer}
