.company-profile-form { width: 100%; min-width: 0; container-type: inline-size; }
.company-info-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px; }
.company-info-side { display: grid; min-width: 0; gap: 16px; }
.company-profile-card { margin: 0; padding: 20px; }
.company-profile-card[hidden] { display: none !important; }
.company-profile-card .section-heading { margin-bottom: 20px; }
.company-profile-card .section-heading h2::after { display: block; width: 8px; height: 1px; margin-top: 5px; background: var(--accent); content: ''; }
.profile-calendar-heading{gap:12px;align-items:center}
.profile-calendar-heading h2{min-width:0}
.profile-calendar-heading>.button{flex-shrink:0;margin-left:auto;white-space:nowrap}
html:root body [data-profile-calendar] .company-input-group>[data-profile-calendar-key]{flex:1 1 0;width:0;min-width:0}
html:root body [data-profile-calendar] .profile-calendar-clear-choice{display:inline-flex;flex:0 0 auto;align-items:center;align-self:stretch;min-height:0;gap:6px;margin:0;padding:0 10px;border:0;border-radius:0;background:transparent;box-shadow:none;white-space:nowrap}
html:root body [data-profile-calendar] .profile-calendar-clear-choice[hidden]{display:none!important}
.profile-calendar-guide{box-sizing:border-box;width:min(720px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);margin:auto;padding:22px;text-align:left;overflow:auto}
.profile-calendar-guide::backdrop{background:#24232166;backdrop-filter:blur(3px)}
.profile-calendar-guide>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.profile-calendar-guide>header h2{font-size:var(--ui-title-size,18px);min-width:0}
.profile-calendar-guide>header .icon-button{flex-shrink:0}
.profile-calendar-guide h3{margin:22px 0 10px;font-size:var(--ui-text-size,13px);color:var(--accent)}
.profile-calendar-guide>p,.profile-calendar-guide li{font-size:var(--ui-text-size,12px);line-height:1.8;overflow-wrap:anywhere}
.profile-calendar-guide ol{margin:0;padding-left:22px}
.profile-calendar-guide li+li{margin-top:8px}
.profile-calendar-guide li p{margin:6px 0;color:var(--muted)}
.profile-calendar-guide a{color:var(--accent);text-decoration:underline}
.profile-calendar-guide code{display:block;margin-top:6px;padding:8px 10px;border-radius:var(--layout-form-radius,8px);background:var(--paper);font-size:11px;overflow-wrap:anywhere}
.profile-calendar-guide .profile-calendar-guide-note{margin:14px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--layout-form-radius,8px);color:var(--muted)}
@media(max-width:560px){.profile-calendar-guide{padding:18px}.profile-calendar-heading{gap:8px}.profile-calendar-heading>.button{padding-left:10px;padding-right:10px}}
.company-profile-fields { display: grid; gap: 16px; }
.company-profile-field { display: grid; min-width: 0; gap: 3px; }
.company-profile-field[hidden] { display: none; }
.company-profile-field > label, .company-tax-group > legend { display: flex; align-items: center; gap: 7px; }
.company-profile-field > label::before, .company-tax-group > legend::before { content:var(--layout-label-prefix,'‣'); font-family:var(--layout-label-prefix-font-family,'Pretendard','Noto Sans KR','Nanum Gothic','MaruBuri','NeoDunggeunmo',sans-serif); font-weight:400; font-style:normal; font-synthesis:none; }
/* These labels own the prefix, even when required-field or translation captions are added. */
html:root :is(.company-profile-field > label, .company-tax-group > legend) > span::before { content: none; }
.company-members { grid-column: 1 / -1; min-width: 0; }
.company-management-dialog .company-members { padding-top: 16px; border-top: 1px solid var(--line); }
.company-members[hidden] { display: none; }
.company-members h3 { margin: 0 0 12px; font-size: var(--ui-title-size); font-weight: 500; }
.company-members-toolbar { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.company-members-toolbar > .company-input-group:first-child { flex: 1; }
.company-members-toolbar > .company-input-group:nth-child(2) { width: 116px; flex-shrink: 0; }
.company-members-toolbar .button { flex-shrink: 0; }
.company-members-toolbar .button svg { width: 15px; height: 15px; }
.company-members-status { margin: 0 0 8px; }
.company-members-status:empty { display: none; }
@media (max-width: 560px) {
    .company-members-toolbar { flex-wrap: wrap; }
    .company-members-toolbar > .company-input-group:first-child { flex-basis: 100%; }
}
.company-field-error { margin: 0; color: #bf3f36; font-size: var(--ui-text-size); }
.company-input-group:has([aria-invalid='true']) { border-color: #bf3f36; }
.company-input-group { position: relative; display: flex; box-sizing: border-box; flex-wrap: nowrap; min-width: 0; height: var(--ui-control-height); align-items: stretch; border: 1px solid var(--ui-control-border); border-radius: var(--ui-control-radius); background: var(--ui-control-background); }
.company-input-group:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent); }
.company-input-icon { display: grid; box-sizing: border-box; width: 37px; height: auto; min-height: 0; align-self: stretch; flex: 0 0 37px; place-items: center; border-right: 1px solid var(--ui-control-border); border-radius: 7px 0 0 7px; background: #f0efe7; color: var(--ui-label-color); }
.company-input-icon svg { width: 16px; height: 16px; }
.company-input-icon .bi { font-size: 16px; line-height: 1; }
.company-image-group .company-input-icon { overflow: hidden; }
.company-image-group .company-input-icon img { width: 100%; height: 100%; padding: 2px; object-fit: contain; }
.company-image-group .icon-button { margin-right: 2px; }
:root .company-profile-form .company-image-group :is([data-company-image-upload], [data-company-image-delete], [data-partner-doc-open]),
:root .company-profile-form .company-image-group :is([data-company-image-upload], [data-company-image-delete], [data-partner-doc-open]):hover {
    border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
:root .company-profile-form .company-image-group [data-company-image-delete],
:root .company-profile-form .company-image-group [data-company-image-delete]:hover { color: #dc3545; }
.company-profile-form [data-company-image] [hidden] { display: none !important; }
/* The group owns the border; shared control rules must not add a second one. */
:root :is(.page-content, .quick-tools-panel.dashboard-workspace-app-panel, .login-card, .auth-dialog, .dashboard-workspace-password-modal-dialog, .development-request-dialog) .company-input-group > :is(input, select, textarea) { width: 100%; min-width: 0; border: 0; border-radius: 0 7px 7px 0; background-color: transparent; box-shadow: none; }
:root :is(.page-content, .quick-tools-panel.dashboard-workspace-app-panel, .login-card, .auth-dialog, .dashboard-workspace-password-modal-dialog, .development-request-dialog) .company-input-group > :is(input, select:not([multiple]):not([size]), select[size='1']:not([multiple])) { height: calc(var(--ui-control-height) - 2px); min-height: calc(var(--ui-control-height) - 2px); max-height: calc(var(--ui-control-height) - 2px); }
:root :is(.page-content, .quick-tools-panel.dashboard-workspace-app-panel, .login-card, .auth-dialog, .dashboard-workspace-password-modal-dialog, .development-request-dialog) .company-input-group > :is(input, select, textarea):focus { border: 0; box-shadow: none; }
.company-input-group:has(input[readonly]) { background: var(--paper); }
.company-profile-form .company-postcode-search { margin-right: 1px; flex-shrink: 0; }
:root .company-profile-form .company-input-group .company-postcode-search,
:root .company-profile-form .company-input-group .company-postcode-search:hover { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.company-tax-group { min-width: 0; margin: 0; padding: 0; border: 0; }
.company-tax-group legend { margin-bottom: 3px; padding: 0; color: var(--ui-label-color); font-size: var(--ui-label-size); }
.company-tax-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.company-tax-choice { position: relative; display: inline-flex; cursor: pointer; }
.company-tax-choice input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; clip-path: inset(50%); }
:root .company-profile-form .company-tax-group .company-tax-choice > span { display: inline-flex; min-height: var(--ui-control-height); align-items: center; padding: 0 14px; border: 1px solid var(--ui-control-border); border-radius: 20px; background: var(--ui-control-background); color: var(--ui-text-color); font-size: var(--ui-text-size); font-weight: 500; transition: background .15s, color .15s; }
:root .company-profile-form .company-tax-group .company-tax-choice:has(input:checked) > span { border-color: var(--accent); background: var(--accent); color: #fff; }
.company-tax-choice:has(input:focus-visible) > span { outline: 2px solid var(--accent); outline-offset: 2px; }
.company-profile-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; margin: 18px 0 4px; }
.company-profile-actions [data-company-status] { flex: 1; color: var(--ui-muted-color); font-size: var(--ui-text-size); }
.company-profile-actions svg { width: 15px; height: 15px; }
.company-postcode-modal { width: min(560px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 18px 0 0; overflow: auto; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); color: var(--ui-text-color); font-size: var(--ui-text-size); }
.company-postcode-modal::backdrop { background: #302a2459; backdrop-filter: blur(3px); }
.company-postcode-modal header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; padding:0 20px; }
html:root .company-postcode-modal header h2 { margin:0; color:var(--ui-title-color); font-family:var(--app-font-family); font-size:var(--ui-title-size); font-weight:500; line-height:1.4; letter-spacing:-.025em; }
.company-postcode-modal :is([data-company-postcode-frame], [data-partner-postcode-frame], .company-postcode-frame) { box-sizing:content-box; padding-block:20px; height: min(480px, 65dvh); }
.company-postcode-modal iframe { display: block; width: 100%; height: 100%; border: 0; }
.company-postcode-modal p { margin:10px 0 0; }
.company-postcode-modal p:empty { display:none; }
@container (max-width: 620px) {
    .company-info-columns { grid-template-columns: 1fr; }
    .company-profile-card { padding: 17px; }
}
@media (max-width: 560px) {
    .company-profile-actions [data-company-status] { flex-basis: 100%; }
}

[data-company-direct-name] { margin-top:7px; }
html:root body [data-company-direct-name][hidden] { display:none !important; }

.company-workflow-form { min-width: 0; margin: 0 0 13px; }
.company-workflow-company { max-width: 480px; margin-bottom: 18px; }
.company-workflow-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; gap: 24px; margin: 0; padding: 0; border: 0; }
.company-workflow-fields > .company-profile-field { align-content: start; }
.company-workflow-description { margin: 6px 0 0; color: var(--ui-muted-color); font-size: var(--ui-text-size); line-height: 1.55; }
.company-workflow-payment-group { min-width: 0; margin: 0; padding: 0; border: 0; }
.company-workflow-payment-group legend { display: flex; align-items: center; gap: 7px; margin: 0 0 10px; padding: 0; color: var(--ui-label-color); font-size: var(--ui-label-size); }
.company-workflow-payment-group legend::before { content:var(--layout-label-prefix,'‣'); font-family:var(--layout-label-prefix-font-family,'Pretendard','Noto Sans KR','Nanum Gothic','MaruBuri','NeoDunggeunmo',sans-serif); font-weight:400; font-style:normal; font-synthesis:none; }
.company-workflow-payment-choices { display: flex; flex-wrap: wrap; gap: 10px; }
.company-workflow-payment-choice { display: inline-flex; min-height: var(--ui-control-height); align-items: center; gap: 8px; margin: 0; padding: 0 12px; border: 1px solid var(--ui-control-border); border-radius: var(--ui-control-radius); background: var(--ui-control-background); color: var(--ui-text-color); font-size: var(--ui-text-size); cursor: pointer; }
.company-workflow-negative { justify-self: start; margin-top: 8px; }
.company-workflow-fields .company-workflow-negative::before { content: none; }
.company-workflow-payment-choice:has(input:disabled) { cursor: default; }
.company-workflow-payment-choice:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 2px; }
.company-workflow-form [data-company-workflow-status] { flex: 1; min-width: 0; color: var(--ui-muted-color); font-size: var(--ui-text-size); }
.company-workflow-form [data-company-workflow-status].is-error { color: #bf3f36; }
@media (max-width: 680px) {
    .company-workflow-fields { grid-template-columns: 1fr; gap: 18px; }
    .company-workflow-form [data-company-workflow-status] { flex-basis: 100%; }
}
@media (max-width: 560px) {
    .company-workflow-form { margin-bottom: 10px; }
}

.logistics-item-inventory-check{display:flex;align-items:center;gap:8px;margin-top:10px;font:inherit}

[data-company-management] .company-code-edit{display:inline-block;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--accent);font:inherit;text-align:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
[data-company-management] .company-code-edit:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
[data-company-management] .company-expiry-actions{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:8px;white-space:nowrap}
[data-company-management] .company-expiry-actions>button{margin:0}
[data-company-management] .company-expiry-remaining{display:block;margin-top:4px;color:var(--ui-muted-color);font:inherit;white-space:nowrap}
.company-management-dialog.company-expiry-dialog{width:min(480px,calc(100vw - 32px))}
.company-expiry-dates{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px;margin:18px 0}
.company-expiry-dates>div{min-width:0}
.company-expiry-dates dt{font-size:var(--ui-label-size);color:var(--ui-label-color);margin-bottom:6px}
.company-expiry-dates dd{margin:0;color:var(--ui-text-color);font:inherit;white-space:nowrap}
@media(max-width:540px){[data-company-management] .company-expiry-actions{display:grid;grid-template-columns:repeat(2,auto);gap:6px}.company-expiry-dates{grid-template-columns:minmax(0,1fr)}}

.company-expiry-arrow{align-self:center;color:var(--accent);font-size:18px}
@media(max-width:540px){.company-expiry-arrow{transform:rotate(90deg);justify-self:start}}

[data-company-management] .company-list-toolbar{grid-template-columns:minmax(160px,1fr) 140px minmax(180px,220px) minmax(260px,320px) 214px}
[data-company-management] .company-list-sales{display:grid;gap:4px;min-width:0}
[data-company-management] .company-list-sales .company-input-group{min-width:0}
[data-company-management] .company-list-sales select{width:100%;min-width:0}
[data-company-sales-field]{grid-column:1/-1}
[data-company-management] .company-sms-allowance-control{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
[data-company-management] .company-sms-allowance-control input{width:150px;min-width:0;margin:0;text-align:right;padding:8px 10px}
[data-company-management] .company-sms-allowance-control>.company-input-group{width:150px;min-width:150px}
[data-company-management] .company-sms-allowance-control button{margin:0;flex-shrink:0}
[data-company-management] .company-sms-allowance-unit{color:var(--ui-muted-color);font:inherit}
@media(max-width:1500px){[data-company-management] .company-list-toolbar{grid-template-columns:minmax(160px,1fr) 130px minmax(180px,1fr)}[data-company-management] .company-list-date-range{grid-column:1/3}}
@media(max-width:900px){[data-company-management] .company-list-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}[data-company-management] .company-list-date-range{grid-column:1/-1}}
@media(max-width:600px){[data-company-management] .company-list-toolbar{grid-template-columns:minmax(0,1fr)}[data-company-management] .company-list-date-range{grid-column:auto}}

/* Tenant design uses the same controls in an isolated modal preview. */
.company-management-dialog.company-design-dialog{width:min(1380px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:min(920px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:hidden}
.company-design-dialog>header{margin:0;padding:18px 22px;border-bottom:1px solid var(--line);gap:16px}
.company-design-dialog>header>div{min-width:0}
.company-design-dialog [data-company-design-identity]{margin:4px 0 0;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.company-design-dialog[open]{display:flex;flex-direction:column}
.company-design-dialog>header{flex:0 0 auto}
.company-design-frame-host{flex:1;min-height:0}
.company-design-frame-host>iframe{display:block;width:100%;height:100%;border:0}
body.company-design-page{min-width:0;height:auto;min-height:100dvh;overflow:auto;background:var(--canvas)}
.company-design-page>.page-content{width:100%;max-width:none;margin:0;padding:22px}
.company-design-page .section-card+.section-card{margin-top:var(--layout-box-gap,20px)}
@media(max-width:560px){.company-management-dialog.company-design-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.company-design-dialog>header{padding:14px}.company-design-page>.page-content{padding:14px}}

[data-company-management] .company-sms-allowance-field{display:inline-flex;align-items:stretch;overflow:hidden}
[data-company-management] .company-sms-allowance-field input{flex:1 1 0;width:0;min-width:0;border:0;box-shadow:none;background:transparent}
[data-company-management] .company-sms-allowance-field .company-sms-allowance-unit{display:flex;flex:0 0 auto;align-items:center;padding:0 10px 0 0;color:var(--ui-text-color);white-space:nowrap}
