:root { color-scheme: dark; --bg:#0b0d10; --sidebar:#101216; --panel:#171a20; --panel-2:#1e222a; --line:#30343d; --text:#f4f5f7; --muted:#a5aab5; --soft:#757b87; --orange:#ff7136; --orange-hover:#ff8b5b; --orange-soft:#ffbe9d; --orange-rgb:255,113,54; --orange-dim:rgba(255,113,54,.13); --green:#48d395; --blue:#7eaaf6; --red:#ff826f; }
.theme-loading { display:none; }
.owner-theme-loading .layout { visibility:hidden; }
.owner-theme-loading .theme-loading { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:24px; color:#a5aab5; background:#0b0d10; font:500 16px/1.4 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { background:var(--bg); }
body { margin:0; min-width:320px; color:var(--text); background:var(--bg); font:16px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
a { color:inherit; }
.layout { display:grid; grid-template-columns:244px minmax(0,1fr); min-height:100vh; }
.sidebar { display:flex; flex-direction:column; min-height:100vh; padding:25px 17px 20px; border-right:1px solid #25282f; background:var(--sidebar); }
.logo { display:flex; align-items:center; gap:11px; padding:0 9px; text-decoration:none; }
.logo > span:last-child { min-width:0; }
.logo-icon { display:grid; place-items:center; width:39px; height:39px; border-radius:11px; background:var(--orange); color:#1a100d; font-weight:950; font-size:.9rem; letter-spacing:-.08em; transform:skew(-6deg); }
.logo-icon.has-logo { overflow:hidden; transform:none; background:#fff; }
.logo-icon img { display:none; width:100%; height:100%; object-fit:contain; }
.logo-icon.has-logo img { display:block; }
.logo-icon.has-logo > span { display:none; }
.logo strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.93rem; letter-spacing:.05em; }
.logo small { display:block; color:var(--muted); font-size:.75rem; }
.workspace-label { margin:45px 11px 11px; color:#747985; font-size:.69rem; font-weight:850; letter-spacing:.14em; }
.nav { display:grid; gap:5px; }
.nav button { display:flex; align-items:center; gap:12px; width:100%; min-height:44px; padding:9px 12px; border:1px solid transparent; border-radius:11px; color:#b3b8c1; background:transparent; text-align:left; font-size:.89rem; font-weight:650; }
.nav button:hover,.nav button:focus-visible { color:var(--text); background:#1c1f26; outline:none; }
.nav button.active { border-color:rgba(var(--orange-rgb),.45); color:var(--orange-soft); background:var(--orange-dim); }
.nav-icon { width:22px; color:#858b97; text-align:center; font-size:1.1rem; }
.nav .active .nav-icon { color:var(--orange); }
.nav-count { margin-left:auto; min-width:22px; padding:1px 5px; border-radius:6px; color:#0f0b09; background:var(--orange); font-size:.72rem; text-align:center; font-weight:900; }
.sidebar-bottom { margin-top:auto; padding:18px 11px 0; border-top:1px solid #2a2d34; }
.demo-pill { display:inline-block; padding:5px 8px; border:1px solid rgba(var(--orange-rgb),.42); border-radius:7px; color:var(--orange-soft); background:var(--orange-dim); font-size:.67rem; letter-spacing:.08em; font-weight:850; }
.sidebar-bottom p { margin:11px 0; color:#8e939d; font-size:.75rem; line-height:1.5; }
.sidebar-bottom a { color:var(--orange-soft); font-size:.8rem; text-underline-offset:4px; }
.main-area { min-width:0; }
.topbar { display:flex; justify-content:space-between; align-items:center; gap:18px; min-height:77px; padding:13px clamp(20px,3vw,46px); border-bottom:1px solid #24272e; background:rgba(14,16,20,.84); }
.topbar-location { display:flex; min-width:0; gap:10px; align-items:center; white-space:nowrap; font-size:.84rem; }
.crumb,.crumb-sep { color:#767c87; }
.crumb { overflow:hidden; text-overflow:ellipsis; }
.topbar-actions { display:flex; align-items:center; gap:17px; }
.today-label { color:var(--muted); white-space:nowrap; font-size:.78rem; }
.add-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:0 16px; border:0; border-radius:10px; color:#1b100c; background:var(--orange); font-weight:850; font-size:.85rem; white-space:nowrap; }
.add-button:hover,.add-button:focus-visible { background:var(--orange-hover); outline:2px solid var(--orange-soft); outline-offset:2px; }
main { max-width:1500px; margin:0 auto; padding:33px clamp(20px,3vw,46px) 70px; }
.page-head { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; margin-bottom:24px; }
.kicker { margin:0 0 7px; color:var(--orange); font-size:.72rem; letter-spacing:.12em; font-weight:900; }
h1 { margin:0; font-size:clamp(1.75rem,3vw,2.55rem); line-height:1.08; letter-spacing:-.045em; }
h2 { margin:0; font-size:1.08rem; line-height:1.25; letter-spacing:-.018em; }
h3 { margin:0; font-size:.96rem; }
.subtitle { margin:8px 0 0; color:var(--muted); font-size:.9rem; }
.page-tools { display:flex; align-items:center; gap:8px; }
.outline-button,.secondary-button { display:inline-flex; align-items:center; justify-content:center; min-height:39px; padding:0 13px; border:1px solid #414651; border-radius:9px; color:#dce0e6; background:#20242b; font-size:.82rem; font-weight:750; text-decoration:none; }
.outline-button:hover,.secondary-button:hover { border-color:#6b707a; background:#292d35; }
.demo-banner { display:flex; align-items:flex-start; gap:12px; padding:13px 16px; margin-bottom:19px; border:1px solid rgba(var(--orange-rgb),.38); border-radius:12px; color:var(--orange-soft); background:linear-gradient(90deg,rgba(var(--orange-rgb),.11),rgba(var(--orange-rgb),.025)); font-size:.82rem; }
.demo-banner strong { color:var(--orange-soft); }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.metric-card { min-height:130px; padding:19px; border:1px solid var(--line); border-radius:15px; background:linear-gradient(155deg,#1b1e25,#15171c); }
.metric-card.highlight { border-color:rgba(var(--orange-rgb),.46); background:linear-gradient(145deg,rgba(var(--orange-rgb),.14),#1b1919); }
.metric-label { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#aeb2bc; font-size:.8rem; }
.metric-label .metric-icon { display:grid; place-items:center; width:27px; height:27px; border-radius:8px; color:var(--orange-soft); background:var(--orange-dim); font-size:.92rem; }
.metric-value { display:block; margin-top:16px; font-size:clamp(1.55rem,2.8vw,2.15rem); line-height:1; font-weight:850; letter-spacing:-.04em; }
.metric-note { display:block; margin-top:8px; color:#838994; font-size:.75rem; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(270px,.8fr); gap:15px; margin-top:15px; }
.panel { min-width:0; padding:19px; border:1px solid var(--line); border-radius:15px; background:var(--panel); }
.panel-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px; }
.panel-heading a,.panel-heading button.link-button { padding:0; border:0; color:var(--orange-soft); background:none; font-size:.8rem; font-weight:750; text-decoration:none; }
.list { display:grid; gap:0; }
.booking-item { display:flex; width:100%; gap:13px; align-items:center; padding:12px 2px; border:0; border-bottom:1px solid #2b2e36; background:transparent; text-align:left; }
.booking-item:last-child { border-bottom:0; }
.booking-item:hover .booking-person { color:var(--orange-soft); }
.time-tile { flex:0 0 56px; color:var(--orange); font-weight:850; font-size:.88rem; }
.booking-main { min-width:0; flex:1; }
.booking-person { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.88rem; font-weight:750; }
.booking-sub { display:block; margin-top:3px; color:var(--muted); font-size:.74rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.status { display:inline-flex; align-items:center; gap:5px; padding:6px 8px; border-radius:8px; font-size:.72rem; font-weight:750; white-space:nowrap; }
.status.new { color:#ffc197; background:#493021; }
.status.confirmed { color:#a9e5c7; background:#203b30; }
.status.done { color:#b8cdf9; background:#28394e; }
.status.cancelled { color:#f3aba0; background:#492b2c; }
.status.no_show { color:#d1bddb; background:#3b2e45; }
.summary-stack { display:grid; gap:12px; }
.summary-row { display:flex; justify-content:space-between; gap:14px; color:var(--muted); font-size:.83rem; }
.summary-row strong { color:var(--text); text-align:right; }
.mini-chart { display:flex; height:110px; align-items:flex-end; gap:9px; padding:12px 0 0; }
.mini-chart .bar-col { flex:1; min-width:0; display:grid; height:100%; grid-template-rows:1fr auto; align-items:end; gap:7px; text-align:center; color:#8d929e; font-size:.67rem; }
.mini-chart .bar { display:block; width:100%; min-height:5px; border-radius:5px 5px 2px 2px; background:linear-gradient(180deg,var(--orange-hover),var(--orange)); }
.quick-actions { display:flex; gap:9px; margin-top:18px; flex-wrap:wrap; }
.empty { padding:22px 10px; color:var(--muted); font-size:.87rem; text-align:center; }
.toolbar { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:0 0 16px; }
.search { width:min(100%,300px); min-height:39px; padding:0 13px; border:1px solid var(--line); border-radius:9px; outline:none; color:var(--text); background:var(--panel); font-size:.82rem; }
.search:focus,.date-input:focus { border-color:var(--orange); }
.filter-group { display:flex; gap:5px; padding:4px; border:1px solid var(--line); border-radius:10px; background:#171a20; overflow-x:auto; }
.filter-group button { flex:none; min-height:31px; padding:0 11px; border:0; border-radius:7px; color:#aeb3bc; background:transparent; font-size:.77rem; white-space:nowrap; }
.filter-group button.active { color:#fff; background:#363a44; }
.table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:15px; background:var(--panel); }
table { width:100%; border-collapse:collapse; text-align:left; }
th { padding:13px 16px; border-bottom:1px solid var(--line); color:#9096a1; font-size:.72rem; text-transform:uppercase; letter-spacing:.055em; font-weight:800; white-space:nowrap; }
td { padding:15px 16px; border-bottom:1px solid #292c34; font-size:.83rem; vertical-align:middle; }
tbody tr:last-child td { border-bottom:0; }
tbody tr:hover { background:#1e2128; }
td strong { display:block; font-weight:750; }
td small { display:block; margin-top:3px; color:#8b919d; font-size:.73rem; }
.row-open { width:100%; padding:0; border:0; color:#f1f1f4; background:none; text-align:left; font-weight:750; }
.row-open:hover { color:var(--orange-soft); }
.calendar-controls { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.date-input { min-height:41px; padding:0 10px; border:1px solid var(--line); border-radius:9px; color:var(--text); background:var(--panel); }
.calendar-table th:first-child,.calendar-table td:first-child { width:86px; color:#a5aab5; }
.calendar-table td { height:63px; min-width:190px; padding:7px; border-left:1px solid #292c34; }
.calendar-table .slot { display:grid; width:100%; gap:3px; padding:7px 9px; border:1px solid #66503d; border-radius:8px; color:#fff; background:#31251e; text-align:left; font-size:.75rem; }
.calendar-table .slot strong { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.calendar-table .slot small { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:#c8aea0; }
.calendar-table .slot.new { border-color:#ab633b; background:#40271e; }
.free-slot { color:#5e6570; font-size:.75rem; }
.unassigned { margin:0 0 16px; }
.client-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.client-card { display:grid; gap:12px; padding:18px; border:1px solid var(--line); border-radius:14px; background:var(--panel); text-align:left; }
.client-card:hover { border-color:#7c543c; }
.client-top { display:flex; align-items:center; gap:11px; }
.client-avatar { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:11px; color:#1c100c; background:var(--orange); font-weight:900; }
.client-top strong { display:block; font-size:.9rem; }
.client-top small { display:block; color:var(--muted); font-size:.75rem; }
.client-car { color:#cbd0d7; font-size:.81rem; }
.client-stats { display:flex; gap:17px; padding-top:10px; border-top:1px solid #30333b; color:#9da3af; font-size:.75rem; }
.client-stats strong { color:#f1f1f3; }
.analytics-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:15px; }
.analytics-grid .wide { grid-column:1/-1; }
.chart-title { margin:0 0 17px; color:#aeb4bd; font-size:.81rem; }
.bar-list { display:grid; gap:15px; }
.bar-line { display:grid; grid-template-columns:minmax(95px,150px) 1fr auto; align-items:center; gap:12px; font-size:.8rem; }
.bar-line .track { height:9px; border-radius:99px; background:#2e323b; overflow:hidden; }
.bar-line .fill { display:block; height:100%; border-radius:inherit; background:var(--orange); }
.bar-line strong { min-width:26px; text-align:right; }
.settings-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:15px; }
.settings-grid .wide { grid-column:1/-1; }
.service-row { display:grid; grid-template-columns:minmax(160px,1fr) 108px 90px auto auto; gap:8px; align-items:center; margin-bottom:9px; }
.service-row:last-child { margin-bottom:0; }
.service-row input,.service-row select,.service-add input { min-width:0; min-height:37px; padding:0 9px; border:1px solid #3a3e47; border-radius:8px; color:var(--text); background:#111318; font-size:.8rem; }
.service-add { display:grid; grid-template-columns:1fr 92px auto; gap:8px; margin-top:15px; padding-top:15px; border-top:1px solid var(--line); }
.small-button { min-height:36px; padding:0 10px; border:1px solid rgba(var(--orange-rgb),.46); border-radius:8px; color:var(--orange-soft); background:var(--orange-dim); font-size:.77rem; font-weight:750; }
.small-button:hover { border-color:var(--orange); }
.small-button:disabled { opacity:.5; cursor:default; }
.danger-button { border-color:#684046; color:#f1a1a8; background:#2b1c22; }
.danger-button:hover { border-color:#e88490; }
.settings-intro { margin:-4px 0 16px; color:var(--muted); font-size:.82rem; }
.setting-label { display:block; margin-bottom:10px; font-size:.8rem; font-weight:800; }
.appearance-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.75fr); gap:24px; align-items:start; }
.palette-list { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.palette-option { display:flex; align-items:center; gap:7px; padding:7px 10px; border:1px solid #3b4049; border-radius:9px; color:#d8dce2; font-size:.77rem; cursor:pointer; }
.palette-option:has(input:checked) { border-color:var(--orange); background:var(--orange-dim); }
.palette-option input { accent-color:var(--orange); }
.palette-swatch { display:block; width:21px; height:21px; border:5px solid var(--swatch-light); border-radius:50%; background:var(--swatch); }
.settings-field { display:grid; gap:7px; color:#d6d9df; font-size:.8rem; font-weight:750; }
.settings-field input,.resource-edit-row input { width:100%; min-width:0; min-height:38px; padding:0 10px; border:1px solid #3a3e47; border-radius:8px; outline:none; color:var(--text); background:#111318; font-size:.82rem; }
.settings-field input:focus,.resource-edit-row input:focus { border-color:var(--orange); }
.logo-editor { display:flex; align-items:center; gap:13px; margin:18px 0; }
.logo-preview-mark { position:relative; display:grid; place-items:center; flex:0 0 56px; width:56px; height:56px; overflow:hidden; border-radius:15px; color:#17191e; background:var(--orange); font-weight:900; }
.logo-preview-mark img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:white; opacity:0; }
.logo-preview-mark.has-logo img { opacity:1; }
.logo-editor strong { display:block; font-size:.85rem; }
.logo-editor small { display:block; margin-top:3px; color:var(--muted); font-size:.73rem; }
.logo-actions { display:flex; gap:7px; margin-top:9px; }
.upload-button { display:inline-flex; align-items:center; cursor:pointer; }
.save-wide { border-color:var(--orange); color:#17100b; background:var(--orange); font-weight:850; }
.save-wide:hover { border-color:var(--orange-hover); background:var(--orange-hover); }
.brand-preview { min-height:280px; padding:21px; border-radius:17px; color:var(--preview-ink,#18352f); background:var(--preview-canvas,#f4f6f1); }
.brand-preview-head { display:flex; align-items:center; gap:10px; margin-bottom:24px; }
.brand-preview-head strong,.brand-preview-head small { display:block; }
.brand-preview-head strong { font-size:.84rem; }.brand-preview-head small { color:#7d8784; font-size:.68rem; }
.brand-preview-mark { display:grid; place-items:center; width:37px; height:37px; border-radius:11px; color:white; background:var(--preview-accent,#13785d); font-weight:900; }
.brand-preview-kicker { color:var(--preview-accent,#13785d); font-size:.62rem; font-weight:900; letter-spacing:.12em; }
.brand-preview h3 { margin:5px 0 0; font-size:1.22rem; line-height:1.15; }
.brand-preview p { margin:7px 0 15px; color:#788581; font-size:.75rem; }
.brand-preview-service { display:flex; justify-content:space-between; padding:12px; border:1px solid #dce5dd; border-radius:11px; background:white; font-size:.74rem; }
.brand-preview-service strong { color:var(--preview-accent,#13785d); }
.brand-preview-button { margin-top:11px; padding:12px; border-radius:10px; color:white; background:var(--preview-accent,#13785d); font-size:.75rem; font-weight:800; text-align:center; }
.owner-preview { display:grid; grid-template-columns:minmax(110px,.7fr) minmax(145px,1fr); min-height:218px; overflow:hidden; border:1px solid #3b4049; border-radius:15px; background:#0b0d10; }
.owner-preview-rail { padding:16px 12px; border-right:1px solid #30343d; background:#101216; }
.owner-preview-brand { display:flex; align-items:center; gap:8px; min-width:0; }
.owner-preview-mark { display:grid; place-items:center; flex:none; width:34px; height:34px; overflow:hidden; border-radius:9px; color:#17100b; background:var(--owner-preview-accent,#ff7136); font-size:.8rem; font-weight:900; }
.owner-preview-mark.has-logo { background:#fff; }
.owner-preview-mark img { display:none; width:100%; height:100%; object-fit:contain; }
.owner-preview-mark.has-logo img { display:block; }
.owner-preview-mark.has-logo > span { display:none; }
.owner-preview-brand strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.7rem; }
.owner-preview-nav { margin-top:27px; padding:9px; border:1px solid var(--owner-preview-accent,#ff7136); border-radius:8px; color:var(--owner-preview-soft,#ffbe9d); background:var(--owner-preview-dim,rgba(255,113,54,.13)); font-size:.7rem; font-weight:750; }
.owner-preview-main { padding:18px 14px; }
.owner-preview-main small { color:#8f96a2; font-size:.67rem; }
.owner-preview-main h3 { margin:17px 0 13px; font-size:1rem; }
.owner-preview-metric { padding:13px; border:1px solid var(--owner-preview-accent,#ff7136); border-radius:9px; background:var(--owner-preview-dim,rgba(255,113,54,.13)); }
.owner-preview-metric span { display:block; color:#b4bac4; font-size:.68rem; }
.owner-preview-metric strong { color:var(--owner-preview-soft,#ffbe9d); font-size:1.2rem; }
.resource-edit-row { display:grid; grid-template-columns:28px minmax(140px,1fr) auto; gap:9px; align-items:center; margin:8px 0; }
.resource-position { color:var(--soft); text-align:center; font-size:.8rem; font-weight:800; }
.resource-controls,.resource-footer { display:flex; gap:6px; }
.resource-controls .small-button { min-width:35px; padding:0 7px; font-size:.9rem; }
.resource-footer { justify-content:space-between; flex-wrap:wrap; margin-top:14px; }
.setting-note { margin:13px 0 0; color:#8c919c; font-size:.75rem; line-height:1.5; }
.switch-row { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:12px 0; border-bottom:1px solid #2c3038; }
.switch-row:last-child { border-bottom:0; }
.switch-row strong { display:block; font-size:.82rem; }
.switch-row small { display:block; margin-top:3px; color:var(--muted); font-size:.75rem; }
.switch { appearance:none; flex:none; width:40px; height:23px; border:1px solid #555a64; border-radius:99px; background:#353942; position:relative; cursor:pointer; }
.switch::after { content:""; position:absolute; top:2px; left:2px; width:17px; height:17px; border-radius:50%; background:#d8dbe0; transition:transform .2s ease; }
.switch:checked { border-color:var(--orange); background:var(--orange); }
.switch:checked::after { transform:translateX(17px); background:#1c100b; }
.channel-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid #2c3038; font-size:.82rem; }
.channel-row:last-child { border:0; }
.channel-row strong { display:block; }
.channel-row small { display:block; color:var(--muted); font-size:.74rem; }
.channel-tag { padding:5px 8px; border-radius:7px; color:#b9bdc5; background:#292d35; font-size:.72rem; white-space:nowrap; }
.plan { padding:16px; border:1px solid rgba(var(--orange-rgb),.42); border-radius:11px; background:var(--orange-dim); }
.plan strong { font-size:1.2rem; }
.plan p { color:#b9a79d; font-size:.78rem; }
.modal { width:min(94vw,640px); max-height:min(90vh,900px); padding:0; border:1px solid #555b66; border-radius:18px; color:var(--text); background:#1a1d24; box-shadow:0 35px 100px rgba(0,0,0,.6); }
.modal::backdrop { background:rgba(4,5,7,.77); backdrop-filter:blur(3px); }
.modal form,.detail-modal #detailContent { padding:24px; }
.modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.modal-head h2 { font-size:1.6rem; }
.icon-button { display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--line); border-radius:8px; background:#272b33; font-size:1.3rem; }
.modal-intro { margin:9px 0 20px; color:var(--muted); font-size:.82rem; }
.modal-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.field { display:grid; gap:5px; font-size:.77rem; color:#c4c9d1; font-weight:700; }
.field.full { grid-column:1/-1; }
.field input,.field select,.field textarea { width:100%; min-height:39px; padding:8px 10px; border:1px solid #3c414b; border-radius:9px; color:var(--text); background:#111318; outline:none; }
.field textarea { resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--orange); }
.form-error { min-height:18px; margin:10px 0; color:var(--red); font-size:.78rem; }
.modal-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:18px; }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin:22px 0; }
.detail-cell { padding:11px 13px; border:1px solid var(--line); border-radius:9px; background:#13161b; }
.detail-cell span { display:block; color:var(--muted); font-size:.72rem; }
.detail-cell strong { display:block; margin-top:4px; font-size:.85rem; }
.detail-note { padding:11px 13px; border-radius:9px; color:#bdc3cc; background:#121419; font-size:.8rem; }
.detail-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:19px; }
.detail-actions select { min-height:39px; padding:0 8px; border:1px solid #454a53; border-radius:8px; color:var(--text); background:#252933; font-size:.79rem; }
.toast { position:fixed; z-index:20; right:22px; bottom:22px; max-width:min(90vw,420px); padding:12px 16px; border:1px solid rgba(var(--orange-rgb),.4); border-radius:10px; color:var(--orange-soft); background:#252027; box-shadow:0 15px 45px rgba(0,0,0,.45); opacity:0; transform:translateY(14px); pointer-events:none; transition:.2s ease; font-size:.83rem; }
.toast.visible { opacity:1; transform:translateY(0); }
@media(max-width:1120px) { .metric-grid { grid-template-columns:repeat(2,1fr); } .dashboard-grid,.analytics-grid,.settings-grid { grid-template-columns:1fr; } .analytics-grid .wide,.settings-grid .wide { grid-column:auto; } .client-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:760px) { .layout { display:block; } .sidebar { min-height:0; padding:13px 15px; border-right:0; border-bottom:1px solid #30333b; } .logo { padding:0 2px; } .workspace-label,.sidebar-bottom { display:none; } .nav { display:flex; gap:4px; margin-top:14px; overflow-x:auto; scrollbar-width:none; } .nav button { flex:none; width:auto; min-height:39px; padding:6px 11px; font-size:.78rem; } .nav-icon { display:none; } .topbar { min-height:58px; padding:10px 17px; } .today-label { display:none; } main { padding:25px 17px 70px; } .page-head { align-items:flex-start; } .client-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:700px) { .appearance-layout { grid-template-columns:1fr; } }
@media(max-width:540px) { .crumb { display:none; } .crumb-sep { display:none; } .owner-preview { grid-template-columns:1fr; } .owner-preview-rail { border-right:0; border-bottom:1px solid #30343d; } .owner-preview-nav { margin-top:14px; } .topbar .add-button { min-height:37px; padding:0 10px; font-size:.75rem; } .metric-grid { gap:9px; } .metric-card { min-height:115px; padding:13px; } .metric-value { margin-top:12px; } .metric-label { font-size:.72rem; } .metric-note { font-size:.69rem; } .client-grid { grid-template-columns:1fr; } .modal-grid { grid-template-columns:1fr; } .modal form,.detail-modal #detailContent { padding:18px; } .detail-grid { gap:8px; } .booking-item .status { display:none; } .service-row { grid-template-columns:minmax(0,1fr) 65px 58px; gap:5px; } .service-row button { grid-row:2; } .service-row input,.service-row select { padding:0 5px; font-size:.72rem; } .service-add { grid-template-columns:1fr 75px auto; gap:4px; } .service-add input { padding:0 5px; } .bar-line { grid-template-columns:95px 1fr auto; } .resource-edit-row { grid-template-columns:20px minmax(0,1fr); }.resource-controls { grid-column:2; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }
[hidden] { display:none!important; }
.schedule-policy { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; }
.schedule-target { max-width:360px; margin:20px 0; }
.schedule-week { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:10px; margin:16px 0; }
.schedule-exception { display:flex; gap:8px; margin:8px 0; flex-wrap:wrap; }
.schedule-exception input { min-height:40px; padding:8px; border:1px solid var(--line); border-radius:8px; color:var(--text); background:#111318; }
.schedule-exception [data-exception-ranges] { flex:1; min-width:190px; }
.service-compatibility { display:flex; flex-wrap:wrap; gap:15px; margin:16px 0; padding:14px; border:1px solid var(--line); border-radius:10px; }
.service-compatibility label { font-size:14px; }
.schedule-week .field,.schedule-policy .field,.schedule-target { font-size:14px; }
