/* BarberDesk UI: restrained forest palette, consistent controls and spacing. */
:root{--ink:#23332d;--muted:#64736b;--line:#e4eae6;--paper:#f5f7f5;--green:#285a46;--red:#b84242;--shadow:0 4px 24px rgba(27,51,39,.04);--focus-ring:0 0 0 3px #285a4624}
.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 14px;border-radius:9px;border:1px solid #dfe7e1;background:#fff;color:#40564a;font:600 12px/1.35 Manrope,sans-serif;cursor:pointer;box-shadow:none;transition:background .15s,border-color .15s,color .15s}
.button:hover,.button.subtle:hover{background:#f0f5f1;border-color:#cbd9cf;color:#234f3b}
.button.primary{background:var(--green);border:1px solid var(--green);box-shadow:0 2px 4px #234f3b12;color:#fff;font-weight:700}
.button.primary:hover{background:#204b39;border-color:#204b39;color:white}
.button.subtle{background:transparent;border-color:transparent;color:#52685b}
.button.danger-action{background:transparent;border-color:transparent;color:#b84242!important}
.button.danger-action:hover{background:#fff1f0;border-color:#f1d8d5}
.button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #397959;outline-offset:3px;box-shadow:var(--focus-ring)}
.button:disabled{cursor:default;opacity:.5}
.ui-icon{width:16px;height:16px;flex:0 0 16px;pointer-events:none}
.icon-button{width:36px;min-height:36px;padding:8px;border-color:transparent;background:transparent;color:#7a887f}
.row-actions{gap:4px;align-items:center}.row-actions .button{min-height:36px;padding:8px 10px;font-size:12px}
.catalog-actions{flex-wrap:nowrap;justify-content:flex-end;margin:0!important;gap:3px}.catalog-actions .icon-button{padding:8px;width:36px}
#services-table td:last-child,#products-table td:last-child,#records-table td:last-child{width:132px}
#services th:last-child,#products th:last-child,#records th:last-child{text-align:right;padding-right:26px}
.panel{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px}
.panel-head{padding:20px 22px;gap:16px}.panel-head h2{font-size:15px;letter-spacing:-.025em}
.page-header{margin-bottom:28px;align-items:center}.page-header h1{letter-spacing:-.055em;line-height:1.15}.page-header .eyebrow{color:#53745f}.page-header .muted{font-size:13px;line-height:1.65}
.page-header .button{min-height:42px}.header-actions{gap:10px;align-items:center;flex-wrap:wrap}
.page-header .button:not(.primary){background:transparent;border-color:#dce5de}
.metric{box-shadow:var(--shadow);border-radius:13px;border-color:var(--line)}
th{background:#fafcf9;color:#738077;font-size:10px;letter-spacing:.055em;font-weight:700}
tbody tr{transition:background .12s}tbody tr:hover{background:#f9fbf9}td{border-color:#edf1ed;padding-top:17px;padding-bottom:17px}
.status{font-size:10px;font-weight:700;padding:5px 9px;border-radius:6px}.status.confirmed{background:#eaf3ec;color:#376a4b}.status.pending,.status.warning{background:#fbf2de;color:#88691b}
.catalog-row{padding:16px 0}.catalog-row strong{font-size:13px}.catalog-row .row-actions{margin-left:auto}.catalog-row .table-subline{margin-top:5px;font-size:11px}
.catalog-inactive{background:#fafcf9;border:1px solid var(--line);border-radius:12px;padding:17px 20px}.catalog-inactive summary{font-size:12px;color:#64766a;font-weight:600}
.catalog-toggle{font-size:12px;color:#65776a;cursor:pointer}.catalog-toggle input{accent-color:var(--green)}
#records .panel-head{flex-wrap:wrap}#records .panel-head>label:not(.catalog-toggle){display:flex;align-items:center;gap:10px;margin-right:auto;font-size:12px}#records .panel-head select{min-width:180px}
#records .panel-head>[data-record-create]{order:3}
.modal{border-radius:16px;box-shadow:0 24px 90px #182b3430}.modal-head{border-bottom:1px solid #edf1ed;padding-bottom:20px}.modal-head h2{font-size:23px;letter-spacing:-.04em}.modal .eyebrow{color:#5b7866}.form-actions{gap:10px;border-top:1px solid var(--line);padding-top:20px}.form-actions .button{min-height:42px}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:#dce5df;border-radius:9px;color:#2d4034;font-family:Manrope,sans-serif;font-size:13px;background:#fff}input::placeholder,textarea::placeholder{color:#8c978f;font-size:12px}
.action-popover{position:fixed;z-index:5000;min-width:220px;padding:7px;background:white;border:1px solid #e1e8e2;border-radius:12px;box-shadow:0 12px 40px #1a372b26}.action-popover[hidden]{display:none}.action-popover-label{margin:7px 10px 10px;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#819086;font-weight:700}.action-popover .button{width:100%;justify-content:flex-start;min-height:40px;border:0;background:transparent;font-weight:500;padding:10px;color:#496052}.action-popover .button:hover{background:#f1f6f2}.action-divider{height:1px;background:#edf1ed;margin:6px 4px}
@media(max-width:640px){.page-header{align-items:flex-start;gap:18px}.page-header .header-actions{width:100%}.panel-head{padding:16px;align-items:flex-start;flex-wrap:wrap}.catalog-actions .button{min-height:44px}.catalog-actions .icon-button{width:44px}.catalog-row{flex-direction:row;align-items:center;gap:10px}.catalog-row>div:first-child{min-width:0;overflow-wrap:anywhere}.catalog-actions{flex-shrink:0}.button{min-height:42px}.action-popover .button{min-height:44px}#records .panel-head>label:not(.catalog-toggle){flex-wrap:wrap}#records .panel-head>[data-record-create]{order:0}.page-header .muted{font-size:12px}}
@media(prefers-reduced-motion:reduce){.button,tbody tr{transition:none}}

/* Every record uses one overflow trigger; source actions stay available to the shared component. */
.action-source[hidden]{display:none!important}tbody td:has([data-record-overflow]){text-align:right}tbody td:has([data-record-overflow]) .row-actions,tbody td:has([data-record-overflow]) .table-actions-cell{justify-content:flex-end}#services-table td:last-child,#products-table td:last-child,#records-table td:last-child{width:76px}.icon-button{border:1px solid #e2e9e3;background:#fff}.icon-button:hover,.icon-button[aria-expanded=true]{border-color:#c7d8cc;background:#edf4ee;color:#285a46}.action-popover{max-height:calc(100dvh - 24px);overflow-y:auto}.appointment-actions{justify-content:flex-end}.action-popover .button.danger-action:hover{background:#fff1f0}

.action-popover{width:232px;min-width:0;max-width:calc(100vw - 24px)}
