/* Additions inherit the existing light/dark palette; the calendar grid is untouched. */
.feature-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:20px 0; }
.feature-panel { padding:24px; margin:20px 0; min-width:0; }
.feature-columns .feature-panel { margin:0; }
.feature-form { display:grid; gap:18px; }
.feature-form label,.calendar-filters label { display:grid; gap:8px; min-width:0; }
.feature-form input:not([type=checkbox]),.feature-form select,.calendar-filters select { width:100%; }
.feature-form input[type=checkbox] { width:auto; }
.feature-form p { margin:4px 0; }
.feature-list { display:grid; gap:16px; margin-top:20px; }
.feature-list > div,.feature-list > a { padding:12px 0; border-bottom:1px solid #94a3b833; overflow-wrap:anywhere; }
.feature-list p { margin:7px 0; }
.payment-totals { display:flex; flex-wrap:wrap; gap:14px 28px; padding:14px 0; }
.payment-totals strong { white-space:nowrap; }
[data-order-payment-summary][hidden], [data-payment-summary][hidden] { display:none !important; }
.change-badge { display:inline-flex; gap:4px; align-items:center; font-size:11px; color:#2563eb; text-decoration:none; padding:5px 0; }
.today-order-cell .change-badge { max-width:110px; line-height:1.3; }
.photo-add { display:inline-flex!important; align-items:center; gap:9px; padding:10px 14px; border:1px dashed #64748b; border-radius:12px; cursor:pointer; color:inherit; text-decoration:none; width:fit-content; }
.photo-add svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.7; }
.photo-add input[type=file] { position:absolute; width:1px; height:1px; opacity:0; }
.order-photo-grid { display:flex; gap:12px; flex-wrap:wrap; margin-top:14px; }
.order-photo-grid figure { margin:0; max-width:180px; }
.order-photo-grid img { width:140px; height:100px; object-fit:cover; border-radius:10px; }
.account-avatar { display:block; width:42px; height:42px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.account-avatar.large { width:90px; height:90px; margin:16px 0; }
.avatar-fallback { background:#2563eb; color:white; display:flex; align-items:center; justify-content:center; font-weight:bold; font-size:20px; }
.sidebar { display:flex; flex-direction:column; }
.sidebar nav { flex-shrink:0; }
.sidebar .sidebar-account { display:flex; align-items:center; gap:10px; margin-top:auto; padding:14px 4px; border-top:1px solid #94a3b833; border-radius:0; flex-shrink:0; }
.sidebar-account-text { display:grid; gap:5px; min-width:0; }
.sidebar-account-text strong,.sidebar-account-text small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-account-text small { color:#94a3b8; font-size:11px; }
.calendar-filters { display:flex; gap:14px; align-items:end; flex-wrap:wrap; padding:18px; margin-bottom:18px; }
.calendar-filters label { flex:1 1 180px; }
.calendar-filters select { min-width:0; max-width:100%; }
.calendar-cell.is-drop-target { outline:2px solid #2563eb; outline-offset:-2px; }
.calendar-appointment[draggable=true] { cursor:grab; }
.calendar-appointment.is-dragging { opacity:.45; }
.theme-dark .change-badge { color:#93c5fd; }
.errorlist { color:#ef4444; padding-left:20px; }
.permission-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; width:100%; }
.feature-form .permission-tile { display:flex; align-items:center; gap:14px; padding:18px; min-height:80px; border:1px solid #94a3b844; border-radius:15px; background:#94a3b80a; cursor:pointer; line-height:1.45; }
.permission-tile span { flex:1; }
.permission-tile input[type=checkbox] { appearance:none; -webkit-appearance:none; position:relative; width:44px!important; height:25px; padding:0!important; min-width:44px; margin:0; border:0!important; border-radius:20px; background:#64748b; transition:background .15s; cursor:pointer; box-shadow:none; }
.permission-tile input[type=checkbox]::before { content:''; position:absolute; left:3px; top:3px; width:19px; height:19px; border-radius:50%; background:white; transition:transform .15s; }
.permission-tile input[type=checkbox]:checked { background:#2563eb; }
.permission-tile input[type=checkbox]:checked::before { transform:translateX(19px); }
.permission-tile input:disabled { opacity:.5; cursor:default; }
.permission-tile input:focus-visible { outline:3px solid #60a5fa; outline-offset:3px; }
.feature-form .permission-override { min-height:64px; width:fit-content; }
.account-layout { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr)); gap:20px; align-items:start; }
.account-layout .feature-panel { margin:0; }
.avatar-profile-row { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.avatar-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; flex:1; }
.avatar-actions small { flex-basis:100%; }
.avatar-upload-button { display:inline-flex!important; cursor:pointer; }
.avatar-upload-button input,.avatar-result { display:none!important; }
.account-dialog { width:min(520px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; border:1px solid #94a3b844; border-radius:24px; padding:26px; background:#fff; color:#111827; box-shadow:0 25px 80px #0005; }
.account-dialog::backdrop { background:#020617b3; backdrop-filter:blur(5px); }
.theme-dark .account-dialog { background:#111827; color:#f1f5f9; }
.account-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.account-dialog-head h2 { margin:0; font-size:23px; }
.account-close { width:36px; height:36px; border:1px solid #94a3b866; border-radius:10px; background:transparent; color:inherit; cursor:pointer; font-size:25px; flex-shrink:0; }
.avatar-crop-stage { width:min(100%,360px); aspect-ratio:1; position:relative; overflow:hidden; margin:20px auto; border-radius:12px; background:#020617; }
.avatar-crop-stage canvas { width:100%; height:100%; display:block; touch-action:none; cursor:grab; }
.avatar-crop-stage canvas:active { cursor:grabbing; }
.avatar-crop-mask { position:absolute; inset:0; border:2px solid #ffffffd9; border-radius:50%; box-shadow:0 0 0 100px #0008; pointer-events:none; }
.avatar-zoom { display:flex; gap:16px; align-items:center; }
.avatar-zoom input { width:100%; }
.account-dialog-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.account-dialog input[name=code],.account-dialog input[name=new_code] { font-size:25px; letter-spacing:.24em; font-variant-numeric:tabular-nums; }
.account-form-error { color:#ef4444; margin:0; }
.account-layout [hidden],.account-dialog [hidden],[data-reopen-code][hidden] { display:none!important; }
@media(max-width:850px) { .feature-columns{grid-template-columns:1fr} .feature-panel{padding:18px} .calendar-filters{gap:10px} }
[data-work-completed][hidden] { display: none !important; }
.order-search-toggle { position: fixed; left: 178px; top: 16px; z-index: 71; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid #334155; border-radius: 12px; background: #162236; color: #dbeafe; transition: left .26s ease; }
.order-search-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
body.sidebar-collapsed .order-search-toggle { left: 8px; }
body.sidebar-collapsed:has(.order-search-toggle) .sidebar-toggle { left: 54px !important; width: 40px !important; border-radius: 12px !important; }
body.sidebar-collapsed:has(.order-search-toggle) .main { padding-left: 112px !important; }
body.sidebar-collapsed:has(.order-search-toggle)::before { width: 102px; }
.order-search-dialog { width: min(780px, calc(100vw - 32px)); max-height: 82vh; overflow: auto; padding: 24px; border: 1px solid #334155; border-radius: 22px; background: #101827; color: #f1f5f9; }
.order-search-dialog::backdrop { background: #020617b3; backdrop-filter: blur(4px); }
.search-dialog-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
.search-dialog-head h2 { margin: 0; }
.order-search-dialog label { display: block; color: #94a3b8; margin-bottom: 8px; }
.order-search-dialog input { width: 100%; }
.search-result-list { display: grid; gap: 10px; margin: 12px 0; }
.search-result { display: grid; gap: 6px; padding: 16px; border: 1px solid #334155; border-radius: 14px; background: #142034; color: #e2e8f0; text-decoration: none; overflow-wrap: anywhere; }
.search-result:hover, .search-result:focus-visible { border-color: #60a5fa; }
.search-result small, .search-result span { color: #a5b4c9; }
.draft-bar { display: flex; gap: 12px; justify-content: space-between; align-items: center; padding: 12px; border: 1px solid #334155; border-radius: 12px; margin-bottom: 16px; color: #a5b4c9; }
.draft-bar button { flex-shrink: 0; }
html:not(.theme-dark) .draft-bar { color: #475569; }
html:not(.theme-dark) .order-search-dialog { background: #fff; color: #0f172a; }
html:not(.theme-dark) .search-result { background: #f1f5f9; color: #0f172a; }
html:not(.theme-dark) .search-result span, html:not(.theme-dark) .search-result small { color: #475569; }
@media(max-width: 600px) { .draft-bar { flex-wrap: wrap; } .order-search-dialog { padding: 16px; } }
@media(prefers-reduced-motion: reduce) { .order-search-toggle,.sidebar-toggle { transition: none; } }
