@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--ds-color-white: #FFFFFF;--ds-color-black: #000000;--ds-color-brand-50: rgba(153, 102, 255, .06);--ds-color-brand-100: #C2A5FC;--ds-color-brand-500: #9966FF;--ds-color-brand-600: #8040F0;--ds-color-brand-700: #7027CC;--ds-color-neutral-50: #F8F8FA;--ds-color-neutral-100: #F0F0F4;--ds-color-neutral-150: #EAEAEE;--ds-color-neutral-200: #E0E0E6;--ds-color-neutral-300: #C8C8D0;--ds-color-neutral-400: #9898A4;--ds-color-neutral-500: #6B6B7A;--ds-color-neutral-600: #4D4D5C;--ds-color-neutral-700: #36364A;--ds-color-neutral-800: #252538;--ds-color-neutral-900: #1A1A2E;--ds-color-neutral-950: #12121F;--ds-color-green-500: #34C759;--ds-color-green-100: #DCFCE7;--ds-color-green-50: #ecfdf5;--ds-color-green-800: #065f46;--ds-color-red-500: #FF3B30;--ds-color-red-600: #E5342B;--ds-color-red-100: #FEE2E2;--ds-color-red-50: #fef2f2;--ds-color-red-800: #991b1b;--ds-color-orange-500: #FF9500;--ds-color-orange-100: #FFF3CD;--ds-color-orange-50: #fffbeb;--ds-color-orange-800: #92400e;--ds-color-yellow-500: #FFCC00;--ds-color-teal-500: #5AC8FA;--ds-color-teal-800: #0071A4}:root{--color-brand-primary: var(--ds-color-brand-500);--color-brand-strong: var(--ds-color-brand-700);--color-brand-soft: var(--ds-color-brand-100);--color-brand-50: var(--ds-color-brand-50);--color-brand-400: var(--ds-color-brand-500);--color-brand-500: var(--ds-color-brand-500);--color-brand-600: var(--ds-color-brand-600);--color-white: var(--ds-color-white);--color-neutral-100: var(--ds-color-neutral-100);--color-neutral-200: var(--ds-color-neutral-200);--color-neutral-400: var(--ds-color-neutral-400);--color-neutral-500: var(--ds-color-neutral-500);--color-neutral-600: var(--ds-color-neutral-600);--color-neutral-700: var(--ds-color-neutral-700);--color-neutral-900: var(--ds-color-neutral-900);--color-neutral-950: var(--ds-color-neutral-950);--color-primary: var(--ds-color-brand-500);--color-primary-hover: var(--ds-color-brand-600);--color-primary-active: var(--ds-color-brand-700);--color-success: var(--ds-color-green-500);--color-success-light: var(--ds-color-green-100);--color-success-subtle: var(--ds-color-green-50);--color-success-text: var(--ds-color-green-800);--color-error: var(--ds-color-red-500);--color-error-hover: var(--ds-color-red-600);--color-error-light: var(--ds-color-red-100);--color-error-subtle: var(--ds-color-red-50);--color-error-text: var(--ds-color-red-800);--color-warning: var(--ds-color-orange-500);--color-warning-light: var(--ds-color-orange-100);--color-warning-subtle: var(--ds-color-orange-50);--color-warning-text: var(--ds-color-orange-800);--color-info: var(--ds-color-teal-500);--color-info-light: rgba(90, 200, 250, .1);--color-info-text: var(--ds-color-teal-800);--color-surface-base: var(--ds-color-white);--color-surface-muted: var(--ds-color-neutral-50);--color-surface-subtle: var(--ds-color-neutral-100);--color-bg-app: var(--ds-color-neutral-50);--color-bg-surface: var(--ds-color-white);--color-bg-elevated: var(--ds-color-white);--color-bg-sidebar: var(--ds-color-white);--color-bg-glass: rgba(255, 255, 255, .85);--color-text-primary: var(--ds-color-neutral-900);--color-text-secondary: var(--ds-color-neutral-500);--color-text-tertiary: var(--ds-color-neutral-400);--color-text-inverse: var(--ds-color-white);--color-text-link: var(--ds-color-brand-500);--color-text-brand: var(--ds-color-neutral-900);--color-border-subtle: var(--ds-color-neutral-150);--color-border-default: var(--ds-color-neutral-200);--color-border: var(--ds-color-neutral-150);--color-border-faint: rgba(0, 0, 0, .04);--color-border-light: rgba(0, 0, 0, .08);--color-border-focus: var(--ds-color-brand-500);--color-divider: var(--ds-color-neutral-100);--color-hover-bg: rgba(0, 0, 0, .03);--color-active-bg: rgba(0, 0, 0, .05);--color-selected-bg: rgba(153, 102, 255, .08);--color-disabled-opacity: .4;--color-focus-ring: rgba(153, 102, 255, .35);--color-overlay-bg: rgba(0, 0, 0, .35);--color-sidebar-bg: var(--ds-color-white);--color-sidebar-text: var(--ds-color-neutral-500);--color-sidebar-text-active: var(--ds-color-white);--color-sidebar-active: var(--ds-color-brand-500);--color-sidebar-hover: var(--ds-color-neutral-100);--color-sidebar-border: var(--ds-color-neutral-150);--gradient-brand: linear-gradient(135deg, #C2A5FC, #9966FF, #7027CC);--color-glass-bg: rgba(255, 255, 255, .72);--color-glass-border: rgba(255, 255, 255, .18);--color-platform-sidebar-bg: var(--ds-color-neutral-900);--color-platform-sidebar-text: var(--ds-color-neutral-300);--color-platform-sidebar-text-active: var(--ds-color-white);--color-platform-sidebar-active-bg: rgba(99, 102, 241, .15);--color-platform-sidebar-border: rgba(255, 255, 255, .08);--color-platform-sidebar-hover: rgba(255, 255, 255, .05);--color-platform-sidebar-muted: var(--ds-color-neutral-400);--color-platform-sidebar-badge: var(--ds-color-neutral-500)}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .03);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .02);--blur-sm: 8px;--blur-md: 16px;--blur-lg: 24px;--z-base: 0;--z-dropdown: 10;--z-sticky: 20;--z-overlay: 30;--z-modal: 40;--z-toast: 50;--z-devbar: 60;--sidebar-width: 240px;--sidebar-width-collapsed: 72px;--topbar-height: 56px;--content-max-width: 1440px}:root{--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out) both}.animate-slide-in{animation:slideInRight var(--duration-normal) var(--ease-out) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--color-bg-app);color:var(--color-text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}.app-shell{display:flex;min-height:100vh}.app-shell__main{flex:1;display:flex;flex-direction:column;min-width:0}.app-shell__content{flex:1;padding:var(--space-8);overflow-y:auto;max-height:calc(100vh - var(--topbar-height))}.topbar{height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border)}.topbar__context{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.topbar__context-label{font-weight:var(--font-semibold);color:var(--color-text-primary)}.topbar__badge{font-size:var(--text-xs);padding:2px 8px;border-radius:var(--radius-full);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.5px}.topbar__badge--platform{background:var(--ds-color-brand-50);color:var(--color-brand-primary)}.topbar__user{display:flex;align-items:center;gap:var(--space-3)}.topbar__user-info{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.topbar__user-name{font-weight:var(--font-semibold)}.topbar__user-role{color:var(--color-text-tertiary);font-size:var(--text-xs)}.topbar__logout{display:flex;align-items:center;padding:var(--space-2);border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s}.topbar__logout:hover{background:var(--color-error-subtle);color:var(--color-error)}.sidebar{width:var(--sidebar-width);display:flex;flex-direction:column;background:var(--color-sidebar-bg);border-right:1px solid var(--color-sidebar-border)}.sidebar__header{padding:var(--space-6) var(--space-5);border-bottom:1px solid var(--color-border)}.sidebar__logo{height:28px;width:auto}.sidebar__nav{flex:1;padding:var(--space-3) var(--space-2);display:flex;flex-direction:column;gap:2px}.sidebar__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-sidebar-text);text-decoration:none;transition:all .15s}.sidebar__item:hover{background:var(--color-sidebar-hover);color:var(--color-text-primary)}.sidebar__item--active{background:var(--color-sidebar-active);color:var(--color-sidebar-text-active)!important;font-weight:var(--font-semibold)}.sidebar__footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.sidebar__user-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.sidebar__user-role{font-size:var(--text-xs);color:var(--color-text-tertiary)}.sidebar--platform{background:var(--color-platform-sidebar-bg);border-right-color:var(--color-platform-sidebar-border)}.sidebar--platform .sidebar__header{border-bottom-color:var(--color-platform-sidebar-border)}.sidebar--platform .sidebar__logo{filter:brightness(0) invert(1)}.sidebar--platform .sidebar__item{color:var(--color-platform-sidebar-text)}.sidebar--platform .sidebar__item:hover{background:var(--color-platform-sidebar-hover);color:var(--color-platform-sidebar-text-active)}.sidebar--platform .sidebar__item--active{background:var(--color-platform-sidebar-active-bg);color:var(--color-platform-sidebar-text-active)!important}.sidebar--platform .sidebar__footer{border-top-color:var(--color-platform-sidebar-border)}.sidebar--platform .sidebar__user-name{color:var(--color-platform-sidebar-text-active)}.sidebar--platform .sidebar__user-role{color:var(--color-platform-sidebar-muted)}.login-page{display:flex;min-height:100vh;background:var(--ds-color-white)}.login-visual{flex:1;background-image:url(/login_bg.jpg);background-size:cover;background-position:center;min-height:100vh;position:relative}.login-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#9966ff14,#00000005)}.login-form-panel{flex:0 0 480px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);background:var(--ds-color-white)}.login-card{width:100%;max-width:360px}.login-card__logo{display:flex;justify-content:center;margin-bottom:var(--space-8)}.login-card__logo img{height:36px;width:auto}.login-card__title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin-bottom:var(--space-6)}.login-card__field{margin-bottom:var(--space-5)}.login-card__label{display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ds-color-neutral-700);margin-bottom:var(--space-1)}.login-card__input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);background:var(--ds-color-neutral-50);transition:all .15s;outline:none}.login-card__input::placeholder{color:var(--ds-color-neutral-400)}.login-card__input:focus{border-color:var(--color-brand-primary);background:var(--ds-color-white);box-shadow:0 0 0 3px #9966ff1f}.login-card__submit{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-brand-primary);color:var(--ds-color-white);border:none;border-radius:var(--radius-full);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--font-semibold);cursor:pointer;transition:all .15s}.login-card__submit:hover{background:var(--color-primary-hover);box-shadow:0 4px 12px #9966ff4d}.login-card__submit:disabled{opacity:.5;cursor:not-allowed}.login-card__error{padding:var(--space-3) var(--space-4);background:var(--color-error-subtle);color:var(--ds-color-red-800);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-4)}.login-card__footer{text-align:center;margin-top:var(--space-8);font-size:var(--text-sm);color:var(--ds-color-neutral-400)}.login-card__footer a{color:var(--color-brand-primary);text-decoration:none;font-weight:var(--font-medium)}.login-card__footer a:hover{text-decoration:underline}@media(max-width:900px){.login-page{flex-direction:column}.login-visual{min-height:200px;flex:0 0 200px}.login-form-panel{flex:1}}.page{max-width:var(--content-max-width)}.page__title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin-bottom:var(--space-6);letter-spacing:-.5px}.page__subtitle{color:var(--color-text-secondary);font-size:var(--text-sm);margin-top:calc(-1 * var(--space-4));margin-bottom:var(--space-6)}.page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.page__header .page__title{margin-bottom:0}.page__section{margin-bottom:var(--space-8)}.page__section-title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-4)}.page-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--color-text-tertiary);font-size:var(--text-sm)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all .15s;text-decoration:none}.btn--primary{background:var(--color-brand-primary);color:var(--ds-color-white)}.btn--primary:hover{background:var(--color-primary-hover)}.btn--primary:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--color-brand-primary)}.btn--ghost:hover{background:var(--color-selected-bg)}.btn--sm{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.data-table{width:100%;border-collapse:collapse;background:var(--color-bg-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xs)}.data-table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);background:var(--ds-color-neutral-50);border-bottom:1px solid var(--color-border)}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);font-size:var(--text-sm)}.data-table tr:hover td{background:var(--color-hover-bg)}.mono{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary)}.badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.3px;background:var(--color-selected-bg);color:var(--color-brand-primary)}.badge--work-started,.badge--active{background:var(--color-info-light);color:var(--color-info-text)}.badge--appointment-created,.badge--draft{background:var(--color-warning-subtle);color:var(--color-warning-text)}.badge--work-completed,.badge--vehicle-delivered,.badge--completed,.badge--approved{background:var(--color-success-subtle);color:var(--color-success-text)}.badge--closed,.badge--cancelled,.badge--declined{background:var(--color-error-subtle);color:var(--color-error-text)}.badge--pending{background:var(--ds-color-neutral-100);color:var(--color-text-secondary)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.kpi-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;transition:all .15s;box-shadow:var(--shadow-xs)}.kpi-card:hover{border-color:var(--color-brand-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-card__icon{margin-bottom:var(--space-2)}.kpi-card__value{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary)}.kpi-card__label{font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:var(--space-1);text-transform:uppercase;letter-spacing:.5px}.status-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.status-chip{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.status-chip__label{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:capitalize}.status-chip__count{font-size:var(--text-md);font-weight:var(--font-bold);color:var(--color-brand-primary)}.activity-list{display:flex;flex-direction:column;gap:var(--space-2)}.activity-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.activity-item__type{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);flex:1}.activity-item__actor{font-size:var(--text-sm);color:var(--color-text-secondary)}.activity-item__time{font-size:var(--text-xs);color:var(--color-text-tertiary)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.detail-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.detail-card__title{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.5px}.detail-card__list{display:flex;flex-direction:column;gap:var(--space-2)}.detail-card__list>div{display:flex;justify-content:space-between;font-size:var(--text-sm)}.detail-card__list dt{color:var(--color-text-secondary)}.detail-card__list dd{font-weight:var(--font-medium);text-align:right}.status-change{display:flex;gap:var(--space-3);align-items:center}.status-change select{max-width:300px}.timeline{display:flex;flex-direction:column;padding-left:var(--space-6);border-left:2px solid var(--color-border)}.timeline__item{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-3) 0;position:relative}.timeline__dot{width:12px;height:12px;border-radius:50%;background:var(--color-brand-primary);position:absolute;left:calc(-1 * var(--space-6) - 7px);top:var(--space-4)}.timeline__content{display:flex;flex-direction:column}.timeline__content strong{font-size:var(--text-sm)}.timeline__time{font-size:var(--text-xs);color:var(--color-text-tertiary)}.inline-form{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-4);margin-bottom:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);align-items:flex-end}.inline-form input,.inline-form select{flex:1;min-width:150px}input,select,textarea{width:100%;padding:var(--space-2) var(--space-3);background:var(--ds-color-neutral-50);border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);transition:all .15s;outline:none;font-family:var(--font-sans)}input:focus,select:focus,textarea:focus{border-color:var(--color-brand-primary);box-shadow:0 0 0 2px var(--color-focus-ring)}input::placeholder{color:var(--color-text-tertiary)}.chat-layout{display:grid;grid-template-columns:280px 1fr;height:calc(100vh - 200px);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.chat-layout__list{background:var(--color-surface-muted);overflow-y:auto}.chat-layout__item{padding:var(--space-4);border-bottom:1px solid var(--color-border);cursor:pointer;transition:all .15s}.chat-layout__item:hover,.chat-layout__item--active{background:var(--color-selected-bg)}.chat-layout__subject{font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:2px}.chat-layout__preview{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-layout__detail{display:flex;flex-direction:column;background:var(--color-bg-surface)}.chat-layout__messages{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.chat-layout__empty{display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);font-size:var(--text-sm);height:100%}.chat-layout__input{display:flex;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--color-border)}.chat-layout__input input{flex:1}.chat-msg{max-width:70%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg)}.chat-msg--out{align-self:flex-end;background:var(--color-brand-primary);color:var(--ds-color-white)}.chat-msg--in{align-self:flex-start;background:var(--ds-color-neutral-100)}.chat-msg__sender{font-size:var(--text-xs);font-weight:var(--font-semibold);margin-bottom:2px;opacity:.8}.chat-msg__content{font-size:var(--text-sm)}.chat-msg__time{font-size:.65rem;opacity:.6;margin-top:2px}
