.app-frame{--app-shell:230 30% 4%;--app-sidebar:230 28% 5.5%;--app-surface:230 22% 8%;--app-surface-raised:230 20% 10.5%;--app-line:230 16% 16%;--app-line-strong:230 14% 22%;--app-accent-blue:var(--primary);--app-accent-cyan:var(--status-available-text);--app-accent-purple:var(--status-assigned-text);--app-accent-green:var(--status-on-site-text);--app-accent-amber:var(--status-on-break-text);--app-accent-orange:var(--status-priority-medium-text);--app-accent-red:var(--status-exception-text);background:hsl(var(--app-shell));min-height:100dvh}body:has(.app-frame){--app-shell:230 30% 4%;--app-sidebar:230 28% 5.5%;--app-surface:230 22% 8%;--app-surface-raised:230 20% 10.5%;--app-line:230 16% 16%;--app-line-strong:230 14% 22%;--app-accent-blue:var(--primary);--app-accent-cyan:var(--status-available-text);--app-accent-purple:var(--status-assigned-text);--app-accent-green:var(--status-on-site-text);--app-accent-amber:var(--status-on-break-text);--app-accent-orange:var(--status-priority-medium-text);--app-accent-red:var(--status-exception-text);background:hsl(var(--app-shell));min-height:100dvh}.app-frame{--status-travelling:var(--status-available);--status-travelling-foreground:var(--status-available-foreground);--status-travelling-text:var(--status-available-text)}.app-frame.app-frame{--background:var(--app-shell);--card:var(--app-surface);--popover:var(--app-surface);--muted:var(--app-surface-raised);--input:var(--app-line-strong);--border:var(--app-line)}body:has(.app-frame) .ds-modal{--background:var(--app-shell);--card:var(--app-surface);--popover:var(--app-surface);--muted:var(--app-surface-raised);--input:var(--app-line-strong);--border:var(--app-line)}.app-frame .sidebar{background:hsl(var(--app-sidebar));border-right-color:hsl(var(--app-line))}.app-frame .brand--app{padding:4px 8px 20px}.app-frame .brand--app img{width:auto;max-width:100%;height:20px;display:block}.app-frame .topbar{background:hsl(var(--app-shell) / .86);border-bottom-color:hsl(var(--app-line))}.app-frame .tenant-switch{background:hsl(var(--app-surface));border-color:hsl(var(--app-line-strong));box-shadow:inset 0 1px #ffffff0a}.app-frame .tenant-switch:not(:disabled):hover{border-color:hsl(var(--app-accent-blue) / .6);background:hsl(var(--app-surface-raised))}.app-frame .tenant-avatar{background:hsl(var(--app-surface-raised));color:hsl(var(--foreground));border:1px solid hsl(var(--app-line-strong))}.app-frame .tenant-copy small{color:hsl(var(--muted-foreground))}.app-frame .tenant-menu,.app-frame .profile-menu{background:hsl(var(--app-surface));border-color:hsl(var(--app-line-strong))}.app-frame .nav-item:hover{background:hsl(var(--app-surface-raised));color:hsl(var(--foreground))}.app-frame .nav-item.active{background:hsl(var(--app-accent-blue) / .12);color:hsl(var(--foreground));box-shadow:inset 2px 0 0 hsl(var(--app-accent-blue))}.app-frame .nav-item.active svg{color:hsl(var(--app-accent-blue));opacity:1}.app-frame .nav-future{border-color:hsl(var(--app-line-strong));background:0 0}.app-frame .nav-future--planned{color:hsl(var(--muted-foreground) / .85);border-style:dashed}.app-frame .sidebar-status{background:hsl(var(--app-surface));border-color:hsl(var(--app-line))}.app-frame .user-card{border-top-color:hsl(var(--app-line))}.app-frame .avatar{background:hsl(var(--app-surface-raised));color:hsl(var(--foreground));border:1px solid hsl(var(--app-line-strong))}.app-frame .icon-button,.app-frame .search-mini{background:hsl(var(--app-surface));border-color:hsl(var(--app-line-strong))}.app-frame .icon-button:hover,.app-frame .search-mini:hover{border-color:hsl(var(--app-accent-blue) / .6)}.app-frame .search-mini kbd{border-color:hsl(var(--app-line-strong))}.app-frame :focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.app-frame .panel,.app-frame .hero-panel{background:hsl(var(--app-surface));border-color:hsl(var(--app-line));box-shadow:inset 0 1px #ffffff08,0 12px 32px -20px #000c}.app-frame .metric-grid>.rounded-panel{background:hsl(var(--app-surface));border-color:hsl(var(--app-line-strong));box-shadow:inset 0 1px #ffffff08}.app-frame .hero-panel:before{background:hsl(var(--app-accent-blue))}.app-frame .section-head,.app-frame .toolbar{border-bottom-color:hsl(var(--app-line))}.app-frame .data-table th,.app-frame .permission-table th{background:hsl(var(--app-surface-raised));border-bottom-color:hsl(var(--app-line))}.app-frame .data-table td{border-bottom-color:hsl(var(--app-line) / .8)}.app-frame .data-table tbody tr:hover{background:hsl(var(--app-surface-raised))}.app-frame .eyebrow{color:hsl(var(--muted-foreground))}.app-frame .future-mark,.app-frame .empty-state__spark{background:hsl(var(--app-surface-raised));border-color:hsl(var(--app-line-strong));color:hsl(var(--app-accent-blue))}.app-frame .directory-tabs{border-bottom-color:hsl(var(--app-line))}body:has(.app-frame) .ds-modal{background:hsl(var(--app-surface));border-color:hsl(var(--app-line-strong))}.app-frame .job-count-grid{background:hsl(var(--app-line))}.app-frame .job-count{--tone:var(--app-accent-blue);background:hsl(var(--app-surface));box-shadow:inset 0 2px 0 hsl(var(--tone));position:relative}.app-frame .job-count:not(:disabled):hover{background:hsl(var(--app-surface-raised))}.app-frame .job-count small{color:hsl(var(--tone))}.app-frame .job-count--active{--tone:var(--app-accent-cyan)}.app-frame .job-count--review{--tone:var(--app-accent-amber)}.app-frame .job-count--finance{--tone:var(--app-accent-purple)}.app-frame .job-count--attention{--tone:var(--app-accent-amber)}.app-frame .job-count--overdue{--tone:var(--app-accent-orange)}.app-frame .job-count--complete{--tone:var(--app-accent-green)}.app-frame .job-count--returned{--tone:var(--app-accent-orange)}.app-frame .appointment-block{--visit-tone:var(--app-accent-blue);background:hsl(var(--visit-tone) / .12);border-color:hsl(var(--visit-tone) / .35);border-left-color:hsl(var(--visit-tone));box-shadow:inset 0 1px 0 hsl(var(--visit-tone) / .08)}.app-frame .appointment-block[data-status=travelling]{--visit-tone:var(--app-accent-cyan)}.app-frame .appointment-block[data-status=arrived],.app-frame .appointment-block[data-status=in_progress],.app-frame .appointment-block[data-status=completed]{--visit-tone:var(--app-accent-green)}.app-frame .appointment-block[data-status=rescheduled]{--visit-tone:var(--app-accent-amber)}.app-frame .appointment-block[data-status=cancelled]{--visit-tone:var(--muted-foreground)}.app-frame .availability-label{box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;max-width:calc(100% - 10px);line-height:1.35}@media (max-width:767px){.app-frame .sidebar{box-shadow:0 0 40px #000000b3}.app-frame .brand--app{padding-right:40px}.app-frame .sidebar .drawer-close{position:absolute;top:18px;right:12px}}
