.users-table .row-action{opacity:0;transition:opacity .15s}.users-table tbody tr:hover .row-action,.users-table tbody tr:focus-within .row-action{opacity:1}@media (hover:none){.users-table .row-action{opacity:1}}@media (prefers-reduced-motion:reduce){.users-table .row-action{transition:none}}.drill{margin-bottom:1rem}.drill-back{margin:0 0 .5rem}.drill-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.drill-box{all:unset;box-sizing:border-box;cursor:pointer;background:var(--card);min-width:0;color:var(--card-foreground);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-xs);flex-direction:column;gap:.25rem;padding:1.25rem;transition:border-color .15s,box-shadow .15s;display:flex}.drill-box:hover{background:var(--card);border-color:var(--ring)}.drill-box:focus-visible{box-shadow:0 0 0 3px color-mix(in oklch, var(--ring) 50%, transparent)}.drill-box.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.drill-num{letter-spacing:-.025em;font-size:1.5rem;font-weight:700}.drill-label{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;overflow:hidden}.drill-box.active .drill-label{color:var(--foreground)}.drill-name{white-space:normal;flex-direction:column;line-height:1.3;display:flex}.drill-name>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (prefers-reduced-motion:reduce){.drill-box{transition:none}}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.5% 0 0);--success:oklch(60% .15 150);--warning:oklch(70% .16 70);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--chart-1:oklch(64.6% .222 41.116);--sidebar-width:16rem;--sidebar-width-icon:3.25rem;--header-height:4rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.5% 0 0);--success:oklch(72% .15 150);--warning:oklch(80% .15 75);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;border-color:var(--border)}html,body{margin:0}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;font-size:.875rem;line-height:1.5}a{color:var(--foreground);text-underline-offset:3px}a:hover{text-decoration:underline}h1{letter-spacing:-.025em;margin:0 0 1rem;font-size:1.5rem;font-weight:700}h2{letter-spacing:-.01em;margin:0 0 .75rem;font-size:1rem;font-weight:600}svg{flex-shrink:0}:focus-visible{box-shadow:0 0 0 3px color-mix(in oklch, var(--ring) 50%, transparent);outline:none}.shell{min-height:100vh;display:flex}.sidebar{height:100vh;width:var(--sidebar-width);background:var(--sidebar);color:var(--sidebar-foreground);border-right:1px solid var(--sidebar-border);flex-direction:column;flex-shrink:0;transition:width .2s;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-header{padding:.5rem}.sidebar-content{flex:1;padding:0 .5rem;overflow-y:auto}.sidebar-footer{border-top:1px solid var(--sidebar-border);padding:.5rem}.brand{border-radius:calc(var(--radius) - 2px);color:inherit;align-items:center;gap:.6rem;padding:.5rem;text-decoration:none;display:flex}.brand:hover{background:var(--sidebar-accent);text-decoration:none}.brand-logo{border-radius:calc(var(--radius) - 2px);background:var(--primary);flex-shrink:0;place-items:center;width:2rem;height:2rem;display:grid}.brand-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.brand-text strong{font-size:.875rem;font-weight:600}.brand-text span{color:var(--muted-foreground);font-size:.75rem}.nav-group{padding:.5rem 0}.nav-group-label{height:2rem;color:color-mix(in oklch, var(--sidebar-foreground) 70%, transparent);white-space:nowrap;align-items:center;padding:0 .5rem;font-size:.75rem;font-weight:500;display:flex}.nav-item{border-radius:calc(var(--radius) - 2px);height:2rem;color:var(--sidebar-foreground);white-space:nowrap;align-items:center;gap:.5rem;margin-bottom:2px;padding:0 .5rem;text-decoration:none;display:flex}.nav-item:hover{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground);text-decoration:none}.nav-item.active{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground);font-weight:500}.sidebar-user{border-radius:calc(var(--radius) - 2px);align-items:center;gap:.5rem;padding:.375rem;display:flex}.sidebar-user-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.sidebar-user-text strong,.sidebar-user-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user-text strong{font-size:.8125rem;font-weight:600}.sidebar-user-text span{color:var(--muted-foreground);font-size:.75rem}.sidebar-user-chevron{color:var(--muted-foreground)}.shell.collapsed .sidebar{width:var(--sidebar-width-icon)}.shell.collapsed .nav-label,.shell.collapsed .nav-group-label,.shell.collapsed .sidebar-user-text,.shell.collapsed .sidebar-user-chevron{display:none}.shell.collapsed .nav-group-label+.nav-item{margin-top:0}.shell.collapsed .nav-item,.shell.collapsed .brand,.shell.collapsed .sidebar-user{justify-content:center;padding:0}.shell.collapsed .nav-item{width:2.25rem}.shell.collapsed .brand{padding:.25rem 0}.inset{flex-direction:column;flex:1;min-width:0;display:flex}.header{z-index:20;height:var(--header-height);background:color-mix(in oklch, var(--background) 85%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:0 1rem;display:flex;position:sticky;top:0}.header-sep{background:var(--border);width:1px;height:1rem}.header-spacer{flex:1}.content{width:100%;max-width:1400px;margin:0 auto;padding:1.5rem 1rem 3rem}@media (width>=768px){.content{padding:1.5rem 1.5rem 3rem}}@media (width<=768px){.sidebar{z-index:40;box-shadow:var(--shadow-md);transition:transform .2s;position:fixed;left:0;transform:translate(-100%)}.shell.collapsed .sidebar{width:var(--sidebar-width)}.shell.collapsed .nav-label,.shell.collapsed .nav-group-label,.shell.collapsed .sidebar-user-text,.shell.collapsed .sidebar-user-chevron{display:revert}.shell.mobile-open .sidebar{transform:none}.sidebar-backdrop{z-index:30;background:#00000080;position:fixed;inset:0}}.auth-shell{background:var(--muted);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.auth-brand{margin-bottom:1rem}.auth-brand .brand:hover{background:0 0}.auth-theme{position:fixed;top:1rem;right:1rem}.auth-shell .card.narrow{width:100%;margin:0}.icon-btn{width:2.25rem;height:2.25rem;color:var(--foreground);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.icon-btn:hover{background:var(--accent);color:var(--accent-foreground)}html:not(.dark) .theme-icon-dark,.dark .theme-icon-light{display:none}.theme-icon-light,.theme-icon-dark{display:inline-grid}.vehicle-pill,.vehicle-select{border:1px solid var(--input);border-radius:calc(var(--radius) - 2px);background:var(--background);height:2.25rem;box-shadow:var(--shadow-xs);align-items:center;gap:.4rem;padding:0 .75rem;font-weight:500;display:inline-flex}.vehicle-select{padding:0 0 0 .75rem}.vehicle-select select{box-shadow:none;background-color:#0000;border:0;height:100%;padding-left:.25rem;font-weight:500}.avatar-btn{background:0 0;border:0;border-radius:999px;padding:0}.avatar{background:var(--muted);width:2rem;height:2rem;color:var(--foreground);border:1px solid var(--border);border-radius:999px;flex-shrink:0;place-items:center;font-size:.75rem;font-weight:600;display:inline-grid}.dropdown{position:relative}.menu{z-index:50;background:var(--popover);min-width:9rem;color:var(--popover-foreground);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);box-shadow:var(--shadow-md);padding:.25rem;position:absolute;top:calc(100% + .375rem)}.menu-right{right:0}.menu-wide{min-width:14rem}.menu-label{flex-direction:column;padding:.375rem .5rem;line-height:1.3;display:flex}.menu-label span{color:var(--muted-foreground);font-size:.75rem}.menu-sep{background:var(--border);height:1px;margin:.25rem -.25rem}.menu-item{width:100%;height:2rem;color:inherit;border-radius:calc(var(--radius) - 4px);text-align:left;background:0 0;border:0;align-items:center;gap:.5rem;padding:0 .5rem;font-weight:400;display:flex}.menu-item:hover,.menu-item.active{background:var(--accent);color:var(--accent-foreground)}.menu-item.danger,.menu-item.danger:hover{background:var(--destructive);color:var(--destructive-foreground)}.menu-item.danger:hover{background:color-mix(in oklch, var(--destructive) 90%, transparent)}.card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-xs);margin-bottom:1rem;padding:1.5rem}.card.narrow{max-width:24rem;margin:2rem auto}.card.medium{max-width:42rem}.form{flex-direction:column;gap:1rem;display:flex}label{flex-direction:column;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}input,select,textarea{font:inherit;color:var(--foreground);border:1px solid var(--input);border-radius:calc(var(--radius) - 2px);min-width:0;height:2.25rem;box-shadow:var(--shadow-xs);background:0 0;padding:0 .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.dark input,.dark select,.dark textarea{background:color-mix(in oklch, var(--input) 30%, transparent)}textarea{resize:vertical;height:auto;padding:.5rem .75rem}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;padding-right:2rem}option{background:var(--popover);color:var(--popover-foreground)}input::placeholder,textarea::placeholder{color:var(--muted-foreground)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklch, var(--ring) 50%, transparent);outline:none}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary);box-shadow:none;cursor:pointer;margin:0;padding:0}input.invalid,select.invalid,textarea.invalid,[aria-invalid=true]{border-color:var(--destructive);box-shadow:0 0 0 3px color-mix(in oklch, var(--destructive) 20%, transparent)}button,a.button{font:inherit;cursor:pointer;white-space:nowrap;background:var(--primary);height:2.25rem;color:var(--primary-foreground);border-radius:calc(var(--radius) - 2px);box-shadow:var(--shadow-xs);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s,opacity .15s;display:inline-flex}button:hover,a.button:hover{background:color-mix(in oklch, var(--primary) 90%, transparent);text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}button.secondary{background:var(--background);color:var(--foreground);border-color:var(--input)}.dark button.secondary{background:color-mix(in oklch, var(--input) 30%, transparent)}button.secondary:hover{background:var(--accent);color:var(--accent-foreground)}button.danger{background:var(--destructive);color:var(--destructive-foreground)}button.danger:hover{background:color-mix(in oklch, var(--destructive) 90%, transparent)}button.small,a.button.small{height:2rem;padding:0 .75rem;font-size:.8125rem}button.link{height:auto;box-shadow:none;color:var(--muted-foreground);background:0 0;border:0;padding:0;font-weight:400}button.link:hover{color:var(--foreground);background:0 0;text-decoration:underline}.icon-btn,.avatar-btn,.menu-item,.tab,.segmented button,.cal-day,.cal-more{box-shadow:none}.row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.row.between{justify-content:space-between}.row.grow{flex:1;margin-bottom:0}.row.tight{flex-wrap:nowrap;margin:0}.row input:not([type=checkbox]){flex:1}.form .row{margin-bottom:0}form.inline{display:inline}.grid-2,.grid-3{gap:1rem;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.checks{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.check{cursor:pointer;flex-direction:row;align-items:center;gap:.5rem;font-weight:400}.field{flex-direction:column;gap:.5rem;display:flex}.field-label{font-size:.875rem;font-weight:500}.inline-label{flex-direction:row;align-items:center;gap:.5rem}.muted{color:var(--muted-foreground)}.small-text{font-size:.8125rem;font-weight:400}.center{text-align:center;margin-top:3rem}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.warn-text{color:var(--warning);font-weight:600}.error,.success{border-radius:calc(var(--radius) - 2px);border:1px solid;margin:0 0 1rem;padding:.625rem .875rem;font-size:.875rem}.error{color:var(--destructive);border-color:color-mix(in oklch, var(--destructive) 35%, transparent);background:color-mix(in oklch, var(--destructive) 8%, transparent)}.success{color:var(--success);border-color:color-mix(in oklch, var(--success) 35%, transparent);background:color-mix(in oklch, var(--success) 8%, transparent)}label .error,.error.small-text{background:0 0;border:0;margin:0;padding:0}.list{margin:0 0 1rem;padding:0;list-style:none}.list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.625rem 0;display:flex}.list li:last-child{border-bottom:0}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.stats .card{margin:0}.stat{color:var(--muted-foreground);flex-direction:column-reverse;gap:.25rem;padding:1.25rem;font-size:.8125rem;font-weight:500;display:flex}.stat span{color:var(--card-foreground);letter-spacing:-.025em;font-size:1.5rem;font-weight:700}.stat.warn span{color:var(--warning)}.tabs{background:var(--muted);border-radius:var(--radius);flex-wrap:wrap;gap:.25rem;margin-bottom:1rem;padding:.25rem;display:inline-flex}.tab{height:2rem;color:var(--muted-foreground);border-radius:calc(var(--radius) - 2px);background:0 0;border:1px solid #0000;padding:0 .75rem}.tab:hover{color:var(--foreground);background:0 0}.tab.active{background:var(--background);color:var(--foreground);box-shadow:var(--shadow-xs)}.dark .tab.active{background:color-mix(in oklch, var(--input) 30%, transparent);border-color:var(--input)}.table-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle;padding:.5rem .75rem}th{height:2.5rem;color:var(--muted-foreground);font-weight:500}tbody tr{transition:background .1s}tbody tr:hover{background:color-mix(in oklch, var(--muted) 50%, transparent)}tbody tr:last-child td{border-bottom:0}td input:not([type=checkbox]){width:100%}td select{height:2rem}td.actions{text-align:right;white-space:nowrap}td.actions>*+*{margin-left:.375rem}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}td.num{font-weight:600}.badge{white-space:nowrap;border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);background:var(--secondary);height:1.375rem;color:var(--secondary-foreground);align-items:center;gap:.25rem;padding:0 .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge.danger{background:var(--destructive);color:var(--destructive-foreground);border-color:#0000}.badge.warn{background:color-mix(in oklch, var(--warning) 18%, transparent);color:var(--warning);border-color:color-mix(in oklch, var(--warning) 35%, transparent)}.details{grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:0 0 1.25rem;display:grid}.details dt{color:var(--muted-foreground)}.details dd{margin:0}.notes{white-space:pre-wrap;margin:0}.attachments{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.attachment{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);flex-direction:column;display:flex;overflow:hidden}.attachment img{object-fit:cover;background:var(--muted);width:100%;height:130px;display:block}.file-icon{height:130px;color:var(--muted-foreground);background:var(--muted);place-items:center;font-size:1.25rem;font-weight:700;text-decoration:none;display:grid}.file-icon:hover{color:var(--foreground);text-decoration:none}.attachment-meta{flex-direction:column;gap:.2rem;padding:.625rem;font-size:.8125rem;display:flex}.attachment-meta .truncate{max-width:100%}.report-controls{flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:1rem;display:flex}.report-controls .row{margin:0}.report-controls input[type=month]{flex:0 auto}.segmented{background:var(--muted);border-radius:var(--radius);gap:.25rem;padding:.25rem;display:inline-flex}.segmented button{height:1.75rem;color:var(--muted-foreground);border-radius:calc(var(--radius) - 2px);background:0 0;border:1px solid #0000;padding:0 .75rem}.segmented button:hover{color:var(--foreground);background:0 0}.segmented button.active{background:var(--background);color:var(--foreground);box-shadow:var(--shadow-xs)}.dark .segmented button.active{background:color-mix(in oklch, var(--input) 30%, transparent);border-color:var(--input)}.loading-fade{opacity:.6;transition:opacity .15s}.group-row td{background:var(--muted);font-weight:600}.group-row:hover td{background:var(--muted)}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.summary-grid td{white-space:normal}.calendar{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:1rem;display:grid;overflow:hidden}.cal-head{text-align:center;color:var(--muted-foreground);border-bottom:1px solid var(--border);padding:.5rem;font-size:.75rem;font-weight:500}.cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:.25rem;min-width:0;min-height:110px;padding:.375rem;display:flex}.cal-cell:nth-child(7n){border-right:0}.cal-cell.blank{background:color-mix(in oklch, var(--muted) 50%, transparent)}.cal-cell.selected{box-shadow:inset 0 0 0 2px var(--ring)}.cal-day{width:100%;height:auto;color:var(--foreground);background:0 0;border:0;justify-content:space-between;align-items:center;padding:.125rem .25rem;font-size:.8125rem;font-weight:600;display:flex}.cal-day:hover{background:var(--accent)}.cal-cell.today .cal-day span:first-child{background:var(--primary);color:var(--primary-foreground);border-radius:999px;padding:0 .45rem}.cal-count{background:var(--secondary);border:1px solid var(--border);border-radius:999px;padding:0 .4rem;font-size:.6875rem}.cal-chips{flex-direction:column;gap:.2rem;min-width:0;display:flex}.cal-chip{border-radius:calc(var(--radius) - 4px);background:var(--secondary);color:var(--secondary-foreground);border-left:3px solid var(--chart-1);text-overflow:ellipsis;white-space:nowrap;padding:.1rem .4rem;font-size:.75rem;text-decoration:none;display:block;overflow:hidden}.cal-chip:hover{background:var(--accent);text-decoration:none}.cal-more{height:auto;color:var(--muted-foreground);background:0 0;border:0;justify-content:flex-start;padding:0 .4rem;font-size:.75rem;font-weight:500}.cal-more:hover{color:var(--foreground);background:0 0;text-decoration:underline}@media (width<=640px){.cal-cell{min-height:56px}.cal-chips{display:none}.cal-day{flex-direction:column;gap:.2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}
