@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";html{--app-accent: #2563eb;--app-accent-strong: #1d4ed8;--app-accent-soft: rgba(37, 99, 235, .12);--app-success: #059669;--app-warning: #d97706;--app-danger: #dc2626;--app-surface: rgba(255, 255, 255, .78);--app-surface-solid: #ffffff;--app-surface-muted: rgba(247, 250, 255, .88);--app-border: rgba(148, 163, 184, .18);--app-border-strong: rgba(148, 163, 184, .28);--app-field-border: #d6dde7;--app-field-border-hover: #c6d0dd;--app-text-strong: #0f172a;--app-text: #1e293b;--app-text-muted: #64748b;--app-sidebar-background: linear-gradient(180deg, #081224 0%, #102a54 48%, #0f4c5c 100%);--app-shell-background: radial-gradient(circle at top left, rgba(37, 99, 235, .16), transparent 32%), radial-gradient(circle at bottom right, rgba(20, 184, 166, .16), transparent 28%), linear-gradient(180deg, #eef4ff 0%, #f7f9fc 45%, #eef2f7 100%);--app-shadow-sm: none;--app-shadow-md: none;--app-shadow-lg: none;--app-shadow-xl: none;--lumo-font-family: "Manrope", "Avenir Next", "Segoe UI", sans-serif;--lumo-base-color: #f5f7fb;--lumo-body-text-color: var(--app-text);--lumo-header-text-color: var(--app-text-strong);--lumo-secondary-text-color: var(--app-text-muted);--lumo-tertiary-text-color: #94a3b8;--lumo-primary-color: #2563eb;--lumo-primary-color-10pct: rgba(37, 99, 235, .12);--lumo-primary-color-50pct: rgba(37, 99, 235, .42);--lumo-primary-text-color: #1d4ed8;--lumo-success-color: #059669;--lumo-success-color-10pct: rgba(5, 150, 105, .12);--lumo-success-text-color: #047857;--lumo-error-color: #dc2626;--lumo-error-color-10pct: rgba(220, 38, 38, .12);--lumo-error-text-color: #b91c1c;--lumo-border-radius-s: 14px;--lumo-border-radius-m: 18px;--lumo-border-radius-l: 24px;--lumo-border-radius-xl: 32px;--lumo-box-shadow-xs: none;--lumo-box-shadow-s: var(--app-shadow-sm);--lumo-box-shadow-m: var(--app-shadow-md);--lumo-box-shadow-l: var(--app-shadow-lg);color-scheme:light}html,body{margin:0;padding:0;overflow-x:hidden;max-width:100%}body{background:var(--app-shell-background);color:var(--app-text)}h1,h2,h3,h4,h5,h6{color:var(--app-text-strong);letter-spacing:-.03em}p{color:var(--app-text-muted);line-height:1.7}a{color:var(--app-accent-strong)}vaadin-app-layout{--vaadin-app-layout-drawer-width: 336px;background:transparent}vaadin-app-layout::part(drawer){background:var(--app-sidebar-background);border-right:0;box-shadow:24px 0 60px #0812242e;display:flex;flex-direction:column;height:100dvh;overflow:hidden}vaadin-app-layout::part(navbar){background:transparent;border:0;box-shadow:none;min-height:0}vaadin-app-layout::part(content){background:transparent;padding:0;overflow:hidden;min-width:0;box-sizing:border-box}.view-container{display:flex;flex-direction:column;background:transparent;margin:20px;width:calc(100% - 40px);max-width:calc(100% - 40px);min-width:0;height:calc(100dvh - 40px);overflow:hidden;border-radius:12px;box-sizing:border-box}.view-container>*{flex:1 1 0;min-height:0;min-width:0;max-width:100%;box-sizing:border-box}.page-shell{width:100%;margin:0}.surface-panel{border:1px solid var(--app-border-strong);background:var(--app-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--app-shadow-lg);border-radius:28px;box-sizing:border-box;max-width:100%}.landing-view,.login-view{box-sizing:border-box;padding:0;gap:1rem;background:transparent!important;min-height:100vh;min-height:100dvh}.dashboard-home-view{box-sizing:border-box;padding:0;gap:1rem;background:transparent!important}.view-container:has(.dashboard-home-view){border-radius:12px;background:transparent;overflow:auto}body:has(.dashboard-home-view){background:var(--app-shell-background);--lumo-base-color: #f5f7fb}body:has(.dashboard-home-view) vaadin-app-layout,body:has(.dashboard-home-view) vaadin-app-layout::part(content){background:transparent}.dashboard-home-view .surface-panel{border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}body:has(.landing-view){background:var(--app-shell-background)}.landing-view .surface-panel{border:1px solid var(--app-border-strong);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.landing-view .landing-header,.landing-view .section-panel,.landing-view .app-overview-panel,.landing-view .footer-panel{background:var(--app-surface-solid)}.dashboard-home-view .hero-panel{box-shadow:none}.landing-view{padding:20px;gap:20px}.data-view,.dashboard-view,.form-page,.message-hub-view,.statistics-chat-view,.admin-form-view{box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:0;padding:0;gap:1rem;overflow-x:hidden}.form-shell{width:100%;max-width:100%;min-width:0;margin:0;box-sizing:border-box}vaadin-vertical-layout.form-shell:not(.form-card):not(.surface-panel),vaadin-vertical-layout.form-page,vaadin-vertical-layout.data-view,vaadin-vertical-layout.admin-form-view{padding:0}vaadin-vertical-layout.data-view,vaadin-vertical-layout.admin-form-view{justify-content:flex-start!important;align-items:stretch!important}.form-shell.narrow{width:100%}.landing-header,.section-panel,.app-overview-panel,.footer-panel,.dashboard-header,.dashboard-section,.view-toolbar,.form-card,.message-section,.statistics-header,.statistics-input-panel{padding:clamp(1rem,1.8vw,1.5rem)}.form-card{border:1px solid var(--app-border-strong);background:#ffffffe6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--app-shadow-lg);border-radius:28px}.form-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.form-title{margin:0;font-size:clamp(1.55rem,3vw,2.2rem);font-weight:800;letter-spacing:-.05em;color:var(--app-text-strong)}.form-subtitle{margin:0;color:var(--app-text-muted)}.form-card .vaadin-form-layout,.form-card vaadin-form-layout{width:100%}.section-card,.content-card,.simple-card{border:1px solid var(--app-border-strong);background:#ffffffe0;box-shadow:var(--app-shadow-md);border-radius:26px}.section-card,.content-card{padding:1.15rem}.simple-card{padding:1rem}.landing-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.landing-logo{margin:0;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;letter-spacing:-.05em;color:var(--app-text-strong)}.landing-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.landing-nav-button,.landing-language-button{border-radius:999px}.hero-panel{position:relative;overflow:hidden;min-height:520px;justify-content:center;text-align:center;border-radius:34px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,#081224,#1d4ed8 54%,#0f766e);box-shadow:var(--app-shadow-xl)}.hero-panel:before,.hero-panel:after,.login-highlight:before,.login-highlight:after{content:"";position:absolute;border-radius:999px;pointer-events:none}.hero-panel:before,.login-highlight:before{width:320px;height:320px;top:-120px;right:-100px;background:radial-gradient(circle,rgba(255,255,255,.2),transparent 68%)}.hero-panel:after,.login-highlight:after{width:260px;height:260px;bottom:-120px;left:-80px;background:radial-gradient(circle,rgba(147,197,253,.22),transparent 72%)}.hero-panel>*,.login-highlight>*{position:relative;z-index:1}.hero-panel-title,.login-highlight-title{margin:0;color:#f8fafc;font-size:clamp(2rem,5vw,3.4rem);font-weight:800;letter-spacing:-.06em}.hero-panel-text,.login-highlight-text{max-width:760px;margin:0;color:#e2e8f0eb;font-size:clamp(1rem,2vw,1.15rem)}.hero-panel-icon{color:#f8fafcf0;filter:drop-shadow(0 18px 40px rgba(15,23,42,.35))}.hero-cta{margin-top:.5rem}.hero-actions{gap:1rem;align-items:center}.hero-action-group{gap:.45rem;align-items:center}.hero-actions .hero-cta,.hero-actions .hero-demo-cta{margin-top:0}.hero-choice-hint{max-width:420px;margin:0;color:#e2e8f0d1;font-size:.95rem;line-height:1.55;text-align:center}.section-title{margin:0;text-align:center;font-size:clamp(1.4rem,3.4vw,2rem);font-weight:800;letter-spacing:-.05em;color:var(--app-text-strong)}.section-intro{max-width:820px;margin:0;text-align:center;color:var(--app-text-muted)}.tile-grid,.dashboard-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;align-items:stretch}.feature-card{min-height:230px;justify-content:center;border:1px solid var(--app-border-strong);border-radius:24px;background:linear-gradient(180deg,#fffffff5,#f5f9ffe0);box-shadow:var(--app-shadow-md);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.feature-card-link{display:block;width:100%;color:inherit;text-decoration:none;cursor:pointer}.feature-card-link:hover,.feature-card-link:hover *,.feature-card-link:focus-visible,.feature-card-link:focus-visible *{color:inherit;text-decoration:none}.feature-card-link .feature-card{cursor:pointer}.feature-card:hover,.feature-card-link:focus-visible .feature-card,.message-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px #0f172a24;border-color:#2563eb3d}.feature-card-icon,.login-highlight-icon{color:var(--app-accent-strong)}.feature-card-icon{padding:.95rem;border-radius:22px;background:linear-gradient(180deg,#2563eb1f,#0ea5e92e);box-shadow:inset 0 1px #ffffff8c}.feature-card-title{margin:0;text-align:center;font-size:1.1rem;font-weight:700;color:var(--app-text-strong)}.feature-card-description{margin:0;text-align:center;color:var(--app-text-muted)}.footer-details p,.app-cta,.app-slogan,.footer-version{margin:0;text-align:center}.app-cta{margin-top:.75rem;color:var(--app-accent-strong);font-weight:700;max-width:820px}.app-slogan{color:var(--app-accent-strong);font-style:italic}.footer-version{color:var(--app-text-muted);font-size:var(--lumo-font-size-s)}.login-view{padding-inline:0;background:var(--app-shell-background)!important}.login-shell{width:min(750px,100%);display:grid;grid-template-columns:1fr;gap:1.5rem}.login-highlight,.login-card{border-radius:32px}.login-highlight{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:1rem;min-height:280px;padding:clamp(1.8rem,4vw,3rem);border:1px solid rgba(255,255,255,.14);background:linear-gradient(140deg,#081224,#173d8d 52%,#0f766e);box-shadow:var(--app-shadow-xl)}.eyebrow-chip{display:inline-flex;align-items:center;width:fit-content;padding:.45rem .8rem;border-radius:999px;background:#ffffff24;color:#f8fafceb;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.login-highlight-icon{width:78px;height:78px;padding:1rem;border-radius:22px;color:#f8fafc;background:#ffffff1f;box-shadow:inset 0 1px #ffffff3d}.login-card{width:100%;padding:clamp(1.35rem,3vw,2rem);border:1px solid var(--app-border-strong);background:#fff;box-shadow:var(--app-shadow-lg)}.login-card vaadin-login-form-wrapper{background:#fff!important}.login-card-title{margin:0;color:var(--app-text-strong);font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;letter-spacing:-.06em}.login-register-button{margin-top:.25rem}.login-version{color:var(--app-text-muted);font-size:var(--lumo-font-size-s)}.inline-flash{width:100%;padding:.95rem 1rem;border-radius:18px;border:1px solid rgba(220,38,38,.22);background:#fef2f2eb;color:var(--lumo-error-text-color);box-sizing:border-box}.app-drawer-header{margin:.65rem .5rem .8rem;padding:.9rem 1rem;border-radius:28px;background:linear-gradient(135deg,#3b82f647,#14b8a633);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px #0812243d}.app-drawer-logo-icon{color:#f8fafc;padding:.8rem;border-radius:20px;background:#ffffff24}.app-drawer-title{color:#f8fafc;font-size:1.1rem;letter-spacing:-.04em}.app-drawer-scroll{flex:1 1 auto;min-height:0;padding:0 .35rem .4rem;box-sizing:border-box;overflow:hidden}.app-drawer-scroll::part(content){overflow:hidden auto}.app-nav-container{width:100%;min-width:0}.app-nav-tree{border:0;background:transparent;min-width:0;overflow:hidden;border-radius:0!important;box-shadow:none!important}.app-nav-tree::part(scroller),.app-nav-tree::part(table),.app-nav-tree::part(rows){background:transparent;box-shadow:none}.app-nav-tree::part(header-cell),.app-nav-tree::part(first-header-row-cell){min-height:0;height:0;padding:0;border:0;background:transparent}.app-nav-tree::part(body-cell),.app-nav-tree::part(selected-row-cell){background:transparent;border:0;padding:.15rem .35rem;box-sizing:border-box;overflow:hidden}.app-nav-row{width:auto;max-width:100%;min-width:0;box-sizing:border-box;margin:.1rem 0;padding:.72rem .85rem;border-radius:18px;border:1px solid rgba(255,255,255,.06);background:#ffffff14;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.app-nav-row-root{width:20.5rem}.app-nav-row-management-child{width:18.25rem}.app-nav-row-user-child{width:17rem}.app-nav-row:hover{transform:translate(4px);background:#ffffff24;border-color:#ffffff29}.app-nav-icon{color:#93c5fd}.app-nav-label{min-width:0;overflow-wrap:break-word;word-break:break-word;color:#eff6ff;font-weight:600}.nav-expand-icon{color:#93c5fd8c;flex-shrink:0;margin-left:auto;transition:transform .2s ease,color .18s ease}vaadin-grid-tree-toggle[leaf] .nav-expand-icon{display:none}vaadin-grid-tree-toggle[expanded] .nav-expand-icon{transform:rotate(90deg);color:#93c5fde6}.app-nav-badge{margin-left:auto;padding:.2rem .58rem;min-width:1.55rem;border-radius:999px;background:linear-gradient(135deg,#60a5fa,#2563eb);color:#f8fafc;font-size:.72rem;font-weight:700;text-align:center;box-shadow:0 12px 26px #2563eb4d}.app-side-nav{width:100%;background:transparent;min-width:0}.app-side-nav vaadin-side-nav-item{margin-bottom:.2rem}.app-side-nav vaadin-side-nav-item::part(content){border-radius:18px;padding:.72rem .85rem;color:#eff6ff}.app-side-nav vaadin-side-nav-item:hover::part(content),.app-side-nav vaadin-side-nav-item[current]::part(content){background:#ffffff24;transform:translate(4px)}.app-user-menu{margin:auto .5rem .5rem;padding:.45rem .65rem;border-radius:22px;border:1px solid rgba(255,255,255,.1);background:#ffffff14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:visible}@media(max-height:820px){.app-drawer-header{margin-bottom:.6rem;padding:.8rem .9rem}.app-nav-row,.app-side-nav vaadin-side-nav-item::part(content){padding:.62rem .78rem}.app-user-menu{margin-bottom:.35rem}}.app-user-menu vaadin-menu-bar-button{color:#f8fafc;border-radius:16px;overflow:visible}.app-user-menu vaadin-menu-bar-button::part(button){padding:.25rem .75rem .25rem .95rem;overflow:visible}.app-user-name{color:#f8fafc;font-weight:700}.app-user-avatar{margin-inline-start:.1rem;flex-shrink:0;box-shadow:0 0 0 3px #ffffff24}.view-toolbar{width:100%;padding:.75rem 1rem;box-sizing:border-box}.view-toolbar-title-row{gap:.8rem}.view-toolbar-title{color:var(--app-text-strong);font-weight:800;letter-spacing:-.05em}.view-toolbar-actions,.view-toolbar-group{width:100%;justify-content:flex-end}.filter-panel{padding:1rem 1.15rem;border-radius:26px;flex-wrap:wrap;gap:1rem;min-width:0;max-width:100%;box-sizing:border-box}.filter-panel>*{flex-wrap:wrap;min-width:0}.data-grid-panel{padding:.8rem;min-height:420px;overflow:hidden;box-sizing:border-box;max-width:100%}.data-grid-panel>vaadin-grid{height:100%}.dashboard-title{margin:0!important;font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:800;letter-spacing:-.06em}.dashboard-sections{gap:1rem}.dashboard-section-title{margin:0;font-size:1.12rem;font-weight:700;letter-spacing:-.03em}.dashboard-stat-card{position:relative;overflow:hidden;border-radius:24px;padding:1.15rem;border:1px solid var(--app-border-strong);background:linear-gradient(180deg,#fffffffa,#f6f9ffeb);box-shadow:var(--app-shadow-md)}.dashboard-stat-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--dashboard-accent, var(--app-accent))}.accent-blue{--dashboard-accent: #2563eb}.accent-green{--dashboard-accent: #059669}.accent-purple{--dashboard-accent: #7c3aed}.accent-orange{--dashboard-accent: #d97706}.accent-gray{--dashboard-accent: #64748b}.accent-red{--dashboard-accent: #dc2626}.dashboard-stat-card-header{gap:.75rem}.dashboard-stat-icon{color:var(--dashboard-accent, var(--app-accent))}.dashboard-stat-title{color:var(--app-text-muted);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dashboard-stat-value{color:var(--app-text-strong);line-height:1.2}.dashboard-stat-content{gap:.65rem}.station-tile,.delivery-station-card,.add-station-tile{border-radius:24px!important;border:1px solid var(--app-border-strong)!important;background:linear-gradient(180deg,#fffffffa,#f4f8ffe6)!important;box-shadow:var(--app-shadow-sm)}.station-tile{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.station-tile:hover,.add-station-tile:hover{transform:translateY(-3px);box-shadow:var(--app-shadow-md);border-color:#2563eb3d!important}.add-station-tile{background:linear-gradient(180deg,#f1f5f9e6,#f8fafcfa)!important;border-style:dashed!important}.stations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;width:100%;align-items:start}.station-slot{width:100%;display:flex;flex-direction:column;align-items:center}.station-slot>.station-slot-content{width:100%;max-width:min(100%,26rem);box-sizing:border-box}.route-card,.summary-card,.services-panel,.notes-panel{border:1px solid var(--app-border-strong);border-radius:24px;background:#ffffffd6;box-shadow:var(--app-shadow-sm)}.route-card,.summary-card{padding:1rem}.services-panel,.notes-panel{padding:.75rem 1rem 1rem}.detail-card,.dialog-form-panel,.dialog-content-panel,.dialog-task-card,.dialog-cargo-card,.invoice-generator-panel,.invoice-section-card,.invoice-summary-card,.timeline-entry-card,.job-summary-map,.job-photo-gallery{border:1px solid var(--app-border-strong);border-radius:24px;background:#ffffffe6;box-shadow:var(--app-shadow-sm)}.detail-card,.dialog-form-panel,.dialog-content-panel,.dialog-cargo-card,.invoice-generator-panel,.invoice-section-card,.invoice-summary-card,.timeline-entry-card{padding:1rem}.detail-card--accent{border-color:#2563eb38;background:linear-gradient(180deg,#dbeafe9e,#eff6ffe6)}.detail-card--asset{display:flex;align-items:center;justify-content:center;background:#f8fafcf5}.detail-card--code,.detail-card--comment{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.detail-card--code{background:#f8fafcf5;word-break:break-all}.detail-card--comment{background:#f8fafceb;white-space:pre-wrap}.dialog-form-panel,.dialog-content-panel,.dialog-cargo-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dialog-task-card{position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dialog-task-card:hover{transform:translateY(-2px);box-shadow:var(--app-shadow-md);border-color:#2563eb3d}.dialog-floating-delete{position:absolute;top:.65rem;right:.65rem;z-index:10;padding:.2rem;min-width:1.7rem;min-height:1.7rem}.inline-caption,.message-subtitle,.invoice-generator-info{color:var(--app-text-muted);font-size:.85rem}.invoice-top-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.invoice-card-inner{padding-top:.5rem}.empty-state-card{text-align:center;color:var(--app-text-muted);padding:1rem;border:1px dashed var(--app-border-strong);border-radius:24px;background:#f8fafcbd}.timeline-entry-card{margin-bottom:.75rem;border-left:4px solid var(--timeline-accent, var(--app-accent))}.timeline-reason{font-weight:700;color:var(--app-text-strong)}.timeline-timestamp{color:var(--app-text-muted);font-size:.78rem}.timeline-description{display:block;margin-top:.35rem;color:var(--app-text)}.price-table{width:100%}.price-row{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0}.price-row-label{padding-right:.5rem;color:var(--app-text-muted)}.price-row-value{white-space:nowrap;color:var(--app-text-strong)}.price-row--strong .price-row-label,.price-row--strong .price-row-value{font-weight:800;color:var(--app-text-strong)}.message-card{padding:1rem!important;border:1px solid var(--app-border-strong)!important;border-radius:22px!important;background:linear-gradient(180deg,#fffffffa,#f6f9ffe6)!important;box-shadow:var(--app-shadow-sm)!important;margin-bottom:.85rem!important;box-sizing:border-box!important}.message-section{border:1px solid var(--app-border-strong);background:#ffffffe0;box-shadow:var(--app-shadow-md);border-radius:28px}.message-section-title{margin:0;font-size:1.05rem;font-weight:800;color:var(--app-text-strong)}.message-preview{color:var(--app-text-muted);font-size:.9rem}.message-meta{gap:.75rem;color:var(--app-text-muted);font-size:.78rem}.message-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.65rem;height:1.65rem;padding:0 .45rem;border-radius:999px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#eff6ff;font-size:.76rem;font-weight:800;box-shadow:0 12px 24px #2563eb3d}.message-thread-layout{width:100%;margin:0;padding:0;background:transparent;border:none;box-shadow:none}.message-thread-header{border:1px solid var(--app-border-strong);background:#ffffffc7;box-shadow:var(--app-shadow-sm);border-radius:22px;padding:1rem 1.15rem}.message-thread-scroller{border:1px solid var(--app-border-strong);background:linear-gradient(180deg,#f9fafbf2,#f3f4f6e0);border-radius:24px;overflow-y:auto!important}.message-thread{padding:1rem!important}.message-thread-input{border:1px solid var(--app-border-strong);background:#ffffffd1;border-radius:22px;padding:.85rem 1rem}.message-date-separator{display:flex;justify-content:center;text-align:center;margin:1rem 0;width:100%}.message-date-chip{display:inline-flex;align-items:center;padding:.35rem .8rem;border-radius:999px;background:#cbd5e1b8;color:var(--app-text);font-size:.75rem;font-weight:700}.message-wrapper{display:flex;width:100%;margin:.35rem 0}.message-wrapper.client{justify-content:flex-start}.message-wrapper.server{justify-content:flex-end}.message-bubble{max-width:min(78%,720px);padding:.85rem 1rem;border-radius:22px;box-shadow:var(--app-shadow-sm);word-wrap:break-word;white-space:pre-wrap}.message-bubble.client{background:linear-gradient(135deg,#fffffffa,#f1f5f9eb);border:1px solid rgba(148,163,184,.25)}.message-bubble.server{background:linear-gradient(135deg,#bfdbfecc,#a7f3d0bd);border:1px solid rgba(59,130,246,.22)}.message-bubble-text{margin-bottom:.35rem;color:var(--app-text-strong);font-size:.92rem}.message-bubble-image{max-width:100%;max-height:320px;height:auto;display:block;border-radius:16px}.message-bubble-time{display:block;font-size:.72rem;color:var(--app-text-muted);opacity:.9}.message-image-row{margin-bottom:.35rem;display:flex}.message-image-row.client{justify-content:flex-start}.message-image-row.server{justify-content:flex-end}.statistics-header{width:min(1240px,100%);margin:0 auto;border:none;background:transparent;box-shadow:none}.statistics-input-panel{width:min(1240px,100%);margin:0 auto;border:1px solid var(--app-border-strong);background:#ffffffdb;box-shadow:var(--app-shadow-sm);border-radius:26px}.statistics-scroller{width:min(1240px,100%);margin:0 auto;border:1px solid var(--app-border-strong);background:linear-gradient(180deg,#eef4ffbf,#f8fafcf5);border-radius:30px;box-shadow:var(--app-shadow-lg);box-sizing:border-box}.station-tile.validated{background:linear-gradient(180deg,#ecfdf5fa,#d1fae5e0)!important;border-color:#05966942!important}.job-summary-map{min-height:520px}.job-task-card{display:flex;align-items:center;gap:1rem;width:100%;box-sizing:border-box;cursor:pointer;margin:.25rem 0;padding:1rem;border:1px solid var(--app-border-strong);border-radius:22px;background:linear-gradient(180deg,#fffffffa,#f6f9ffe6);box-shadow:var(--app-shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.job-task-card:hover{transform:translateY(-2px);box-shadow:var(--app-shadow-md);border-color:#2563eb3d}.job-task-card.completed{border-color:#05966938;background:linear-gradient(180deg,#ecfdf5fa,#dcfce7e0)}.job-task-icon{color:var(--app-accent)}.job-task-card.completed .job-task-icon{color:var(--lumo-success-color)}.job-task-content{flex-grow:1;gap:.15rem}.job-task-name{font-size:1rem;font-weight:700;color:var(--app-text-strong)}.job-task-card.completed .job-task-name{color:var(--lumo-success-text-color)}.job-task-status{padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800}.job-task-status.open{background:#dc26261f;color:var(--lumo-error-text-color)}.job-task-status.completed{background:#0596691f;color:var(--lumo-success-text-color)}.job-task-description{margin-top:.2rem;font-size:.86rem;color:var(--app-text-muted)}.job-task-indicator{width:8px;height:8px;border-radius:999px;background:var(--lumo-error-color)}.job-task-card.completed .job-task-indicator{background:var(--lumo-success-color)}.job-photo-gallery{max-width:600px;min-height:500px;height:500px;position:relative;display:flex;align-items:center;justify-content:center;padding:1rem;background:#fffffff5}.job-photo-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:1}.job-photo-counter{position:absolute;top:var(--lumo-space-s);right:var(--lumo-space-s);z-index:10;padding:var(--lumo-space-xs) var(--lumo-space-s);border-radius:999px;background:#0f172ab8;color:#f8fafc;font-size:var(--lumo-font-size-s);font-weight:700}.job-photo-nav{position:absolute;top:50%;z-index:10;transform:translateY(-50%);border-radius:999px;background:#ffffffe6;box-shadow:var(--app-shadow-sm)}.job-photo-nav.prev{left:var(--lumo-space-s)}.job-photo-nav.next{right:var(--lumo-space-s)}.invoice-generator-view,.invoice-generator-main{gap:1rem}.invoice-generator-panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.invoice-generator-panel-title{color:var(--app-text-strong);font-size:1rem;font-weight:800}.invoice-generator-template{display:flex;align-items:center;gap:.75rem;margin:.25rem 0;padding:.95rem 1rem;border:1px solid var(--app-border-strong);border-radius:18px;background:linear-gradient(180deg,#fffffffa,#f6f9ffeb);cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.invoice-generator-template:hover{transform:translateY(-2px);box-shadow:var(--app-shadow-sm);border-color:#2563eb3d}.invoice-generator-canvas{position:relative;overflow:hidden;cursor:default;border:2px dashed rgba(148,163,184,.5);border-radius:24px;background:linear-gradient(180deg,#fffffff2,#f1f5f9e6),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px);background-size:auto,28px 28px,28px 28px;box-shadow:inset 0 1px #ffffffd6}.invoice-generator-actionbar{width:100%;padding:.75rem 1rem;border:1px solid var(--app-border-strong);border-radius:24px;background:#ffffffd6;box-shadow:var(--app-shadow-sm)}.invoice-generator-pdf{display:flex;flex-direction:column;overflow:hidden}.invoice-generator-frame{border:none;flex-grow:1}.statistics-chat-container{padding-bottom:20px}.statistics-quick-actions{flex-wrap:wrap}.chat-message{display:flex;width:100%;margin-bottom:var(--lumo-space-m)}.chat-message.user-message{justify-content:flex-end}.chat-message.ai-message,.chat-message.loading-message,.chat-message.error-message{justify-content:flex-start}.chat-bubble{max-width:min(86%,760px);border-radius:24px;box-shadow:var(--app-shadow-sm)}.chat-bubble--user{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#eff6ff;padding:.85rem 1rem}.chat-bubble--ai,.chat-bubble--loading,.chat-bubble--error{background:#fffffff0;border:1px solid var(--app-border-strong);padding:1rem}.chat-bubble--error{border-color:#dc26262e;background:#fef2f2eb}.chart-wrapper{background:#f1f5f9ad!important;border-radius:22px!important;padding:.85rem!important;border:1px solid var(--app-border-strong);box-shadow:inset 0 1px #ffffffc2}vaadin-button{font-weight:700;border-radius:var(--lumo-border-radius-m);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}vaadin-button:not([disabled]):hover{transform:translateY(-1px)}vaadin-button[theme~=primary]{box-shadow:0 8px 20px #2563eb38}vaadin-button[theme~=primary]:not([disabled]):hover{box-shadow:0 12px 28px #2563eb52}vaadin-button[theme~=primary][theme~=success]{box-shadow:0 8px 20px #0596693d}vaadin-button[theme~=primary][theme~=success]:not([disabled]):hover{box-shadow:0 12px 28px #05966957}vaadin-button[theme~=primary][theme~=error]{box-shadow:0 8px 20px #dc26263d}vaadin-button[theme~=tertiary][theme~=error]:not([disabled]):hover{background:#dc262614;transform:translateY(-1px)}vaadin-button[disabled]{opacity:.46;transform:none!important}vaadin-text-field,vaadin-text-area,vaadin-combo-box,vaadin-date-picker,vaadin-password-field,vaadin-email-field,vaadin-number-field,vaadin-time-picker,vaadin-select,vaadin-multi-select-combo-box{--vaadin-input-field-background: #ffffff;--vaadin-input-field-border-width: 1px;--vaadin-input-field-border-color: var(--app-field-border);--vaadin-input-field-border-radius: 20px;--vaadin-input-field-hover-highlight: rgba(37, 99, 235, .1);--vaadin-input-field-focus-ring-color: rgba(37, 99, 235, .18)}vaadin-text-field::part(input-field),vaadin-text-area::part(input-field),vaadin-combo-box::part(input-field),vaadin-date-picker::part(input-field),vaadin-password-field::part(input-field),vaadin-email-field::part(input-field),vaadin-number-field::part(input-field),vaadin-time-picker::part(input-field),vaadin-select::part(input-field),vaadin-multi-select-combo-box::part(input-field){border:1px solid var(--app-field-border);border-radius:20px;box-shadow:inset 0 1px #ffffffd1;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}vaadin-text-field:hover::part(input-field),vaadin-text-area:hover::part(input-field),vaadin-combo-box:hover::part(input-field),vaadin-date-picker:hover::part(input-field),vaadin-password-field:hover::part(input-field),vaadin-email-field:hover::part(input-field),vaadin-number-field:hover::part(input-field),vaadin-time-picker:hover::part(input-field),vaadin-select:hover::part(input-field),vaadin-multi-select-combo-box:hover::part(input-field){border-color:var(--app-field-border-hover)}vaadin-grid,vaadin-grid-pro{border:0;border-radius:24px;overflow:hidden;background:#ffffffe0;box-shadow:inset 0 1px #ffffffe6}vaadin-grid::part(header-cell),vaadin-grid-pro::part(header-cell){background:#e2e8f08c;color:var(--app-text-muted);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--app-border)}vaadin-grid::part(body-cell),vaadin-grid-pro::part(body-cell){background:#ffffffd1;border-bottom:1px solid rgba(226,232,240,.82)}vaadin-grid::part(selected-row-cell),vaadin-grid-pro::part(selected-row-cell){background:#2563eb14}vaadin-dialog-overlay::part(content),vaadin-confirm-dialog-overlay::part(content){border-radius:28px;border:1px solid var(--app-border-strong);background:#fffffff0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--app-shadow-xl)}vaadin-dialog-overlay[theme~=no-inner-card]::part(content){border-radius:0;border:none;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding:0;margin:0}vaadin-tabsheet::part(content){border-radius:0 0 24px 24px;background:#ffffffdb}vaadin-notification-card{border-radius:20px;border:1px solid var(--app-border-strong);box-shadow:var(--app-shadow-lg)}.message-card,.chat-message,.chart-wrapper{border:1px solid var(--app-border-strong);border-radius:22px;box-shadow:var(--app-shadow-sm)}@media(max-width:980px){.login-shell{grid-template-columns:1fr}.login-highlight{min-height:340px}}@media(max-width:720px){.view-container{margin:10px;width:calc(100% - 20px);max-width:calc(100% - 20px);height:calc(100dvh - 20px);border-radius:8px}.surface-panel,.hero-panel,.login-card,.login-highlight{border-radius:24px}}
