.service-sheet-wrap{overflow-x:auto;overflow-y:visible;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.service-sheet{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.78rem}
.service-sheet th{position:static;padding:.75rem;background:#e8eee9;color:var(--dark);text-align:left;white-space:nowrap;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-sheet td{padding:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.service-sheet tr:nth-child(even) td{background:#faf9f5}.service-sheet tr.draft-row td,.service-sheet tr.dirty-row td{background:#fff7df}
.service-sheet input{min-width:130px;width:100%;height:42px;padding:.55rem .65rem;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:.78rem}
.service-sheet input[data-field="description"],.service-sheet input[data-field="campaignNote"]{min-width:260px}
.service-sheet input[data-field="name"]{min-width:190px;font-weight:750}.service-sheet input[data-field="price"],.service-sheet input[data-field="campaignPrice"],.service-sheet input[data-field="durationMinutes"]{min-width:100px}
.service-sheet input[type="checkbox"]{min-width:20px;width:20px;margin:0 1rem}.service-sheet input:focus{position:relative;z-index:2;outline:2px solid var(--sage);background:white}
.service-sheet select{min-width:0;height:42px;border:0;border-radius:0;background:transparent}.field-info{cursor:help;opacity:.65}.catalog-sheet th{max-width:none}.catalog-sheet input[data-catalog-field]{min-width:0}.catalog-sheet col{width:180px;min-width:180px}.catalog-sheet .catalog-select-column{width:46px;min-width:46px}.catalog-sheet .catalog-media-column{width:132px;min-width:132px}.catalog-sheet .catalog-active-column{width:78px;min-width:78px}.catalog-sheet th:not(.catalog-select-cell):not(.catalog-media-heading){min-width:120px}.catalog-sheet th>span{vertical-align:middle}.catalog-column-settings{float:right;width:28px;height:28px;margin:-5px -4px -5px 8px;padding:0;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted)}.catalog-column-settings:hover{border-color:var(--accent);color:var(--accent)}
.catalog-media-heading,.catalog-media-cell{position:sticky!important;left:46px;z-index:4;min-width:132px;width:132px;max-width:132px;overflow:hidden;background:var(--panel)!important;box-shadow:1px 0 0 var(--line)}.catalog-media-heading{z-index:7!important;background:var(--panel-2)!important}.catalog-media-cell{height:68px;padding:.45rem .5rem!important}.catalog-media-cell-content{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap}.catalog-media-cell-preview,.catalog-media-open,.catalog-media-empty{position:relative;display:inline-grid;place-items:center;flex:0 0 52px;width:52px;height:52px;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel-2);color:var(--ink)}.catalog-media-cell-preview img,.catalog-media-cell-preview video{width:100%;height:100%;object-fit:cover}.catalog-media-open{cursor:pointer;font-size:1.35rem;font-weight:800}.catalog-media-open:hover{border-color:var(--accent);color:var(--accent)}.catalog-media-count{position:absolute;right:2px;bottom:2px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border:1px solid rgba(255,255,255,.55);border-radius:99px;background:rgba(20,25,22,.88);color:#fff;font-size:.62rem;line-height:1}.catalog-media-empty{font-size:1.2rem;color:var(--muted)}.catalog-media-manager{max-width:900px}.catalog-media-manager .card-head p{margin:.25rem 0 0;color:var(--muted)}.catalog-media-manager-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin:1.25rem 0}.catalog-media-manager-item{display:grid;gap:.55rem;padding:.75rem;border:1px solid var(--line);border-radius:14px;background:var(--panel-2);min-width:0}.catalog-media-manager-item>div{aspect-ratio:1/1;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#edf0ec}.catalog-media-manager-item img,.catalog-media-manager-item video{width:100%;height:100%;object-fit:contain}.catalog-media-manager-item>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.72rem}.catalog-media-manager-item .danger{width:100%}.catalog-media-manager-empty{grid-column:1/-1;padding:2rem;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}.catalog-media-manager-upload{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.catalog-media-upload-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1rem;border:1px solid var(--accent);border-radius:11px;background:var(--accent);color:#17120d;cursor:pointer;font-weight:800}.catalog-media-upload-button:hover{filter:brightness(1.04)}.catalog-media-upload-button.uploading{opacity:.45;cursor:wait}.catalog-media-upload-button input{display:none}.catalog-media-progress{display:block;max-width:420px;color:var(--muted);font-size:.72rem;line-height:1.35;overflow-wrap:anywhere}.catalog-pin-option{display:flex!important;align-items:flex-start;gap:.7rem;padding:.8rem;border:1px solid var(--line);border-radius:11px;cursor:pointer}.catalog-pin-option input{flex:0 0 auto;width:18px;height:18px;margin:.1rem 0 0}.catalog-pin-option span{display:block}.catalog-pin-option small{margin-top:.2rem}.catalog-pinned-column{position:sticky!important;z-index:3;background:var(--panel)!important;box-shadow:1px 0 0 var(--line)}.service-sheet tr:nth-child(even) td.catalog-pinned-column{background:var(--panel-2)!important}.service-sheet tr.draft-row td.catalog-pinned-column,.service-sheet tr.dirty-row td.catalog-pinned-column{background:#2a2115!important}.service-sheet th.catalog-pinned-column{z-index:6;background:var(--panel-2)!important}
.catalog-select-cell{position:sticky!important;left:0;z-index:3;width:46px;min-width:46px;text-align:center}.service-sheet th.catalog-select-cell{z-index:6}.catalog-select-cell input{width:18px;height:18px;min-width:0}.catalog-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.catalog-selection-bar>div{display:flex;gap:.6rem}.catalog-selection-bar[hidden]{display:none}.danger{background:#8e3028;color:#fff;border-color:#8e3028}
.service-sheet-error{margin-top:.8rem}.service-toolbar{flex-wrap:wrap}
.service-save-bar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:.8rem 1rem;border:1px solid #dfc98d;border-radius:14px;background:#fff7df;box-shadow:0 8px 22px rgba(33,54,43,.08)}
.service-save-bar[hidden]{display:none}.service-save-bar span{margin-right:auto;color:#6d644e;font-size:.86rem}.service-save-bar strong{white-space:nowrap}
@media(max-width:720px){.service-toolbar input{width:100%}}
.catalog-sheet td{overflow:hidden}.catalog-column-editor{max-width:520px}.catalog-column-editor small{display:block;margin-top:.4rem;color:var(--muted)}
.limit-summary-card{margin:0}.limit-summary-card .card-head{justify-content:flex-start}.limit-summary-card .card-head p{margin:0;color:var(--muted);font-size:.8rem}.limit-percentage{display:flex;align-items:baseline;gap:.55rem;margin:1.8rem 0 .7rem}.limit-percentage strong{font:400 3rem Georgia,serif}.limit-percentage span{color:var(--muted)}.limit-progress{height:14px;border-radius:99px;background:#e4e8e3;overflow:hidden}.limit-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--sage),var(--sage-dark))}.limit-split{display:flex;justify-content:space-between;margin-top:1rem}.limit-split span{display:grid;color:var(--muted);font-size:.76rem}.limit-split span:last-child{text-align:right}.limit-split b{color:var(--ink);font-size:1.15rem}
.toast{z-index:40}
[data-service-error]:not(:empty){position:sticky;bottom:.5rem;z-index:2;padding:.75rem;border-radius:10px;background:#2d1a18;border:1px solid #e8705f}
.catalog-selection-bar .secondary,.catalog-selection-bar .danger{min-width:96px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);color:var(--ink);box-shadow:none}.catalog-selection-bar .secondary:hover{border-color:var(--accent);color:var(--accent)}.catalog-selection-bar .danger{border-color:#6f3934;background:#2b1c1a;color:#ef8a7e}.catalog-selection-bar .danger:hover{border-color:#e56d61;background:#3a211e;color:#ffaaa1}
.limit-actual{margin:.9rem 0 0;color:var(--muted);font-size:.82rem}
