:root{color-scheme:dark;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;--color-bg: #0b0d12;--color-surface: #121622;--color-surface-muted: #181d2c;--color-border: #2a3145;--color-text: #e7e9ef;--color-text-muted: #a5adc3;--color-primary: #6c7cff;--color-primary-strong: #8592ff;--color-success: #37d39a;--shadow-card: 0 24px 60px rgba(5, 8, 20, .55);--radius-lg: 20px;--radius-md: 12px;--transition: .24s ease}[data-theme=light]{color-scheme:light;--color-bg: #f6f7fb;--color-surface: #ffffff;--color-surface-muted: #f1f3f9;--color-border: #dfe3ef;--color-text: #0f172a;--color-text-muted: #4b556b;--color-primary: #3b5bff;--color-primary-strong: #2947f2;--color-success: #1dbd86;--shadow-card: 0 24px 60px rgba(15, 23, 42, .12)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,rgba(108,124,255,.2),transparent 55%),var(--color-bg);color:var(--color-text);transition:background var(--transition),color var(--transition);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,sans-serif}a,button,input{font:inherit}button{cursor:pointer;background:none;border:none;color:inherit}.login-page{display:flex;flex-direction:column;min-height:100vh;padding:24px clamp(16px,4vw,48px) 48px;gap:32px}.login-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.header-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.header-contact{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-muted);white-space:nowrap}.header-contact .divider{color:var(--color-border)}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.4px}.brand-logo{width:40px;height:40px;object-fit:contain}.brand-text{display:flex;flex-direction:column;width:max-content;align-items:flex-start}.brand-title{font-size:30px;font-weight:600;color:#6b4cc2;white-space:nowrap}.brand-subtitle{display:flex;justify-content:space-between;width:100%;font-size:12px;font-weight:600;color:#9ed44d;white-space:nowrap}.login-content{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,56px);align-items:start;flex:1}.login-copy{display:flex;flex-direction:column;gap:8px;justify-content:space-between;height:100%;animation:slide-in .5s ease}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--color-success);font-size:12px;font-weight:600}.login-copy h1{font-size:clamp(28px,4.5vw,42px);margin:0;font-weight:400}.login-copy h3{margin:0;font-size:18px;color:var(--color-text);font-weight:400}.subtext{color:var(--color-text-muted);font-size:16px;line-height:1.6;font-weight:400}.slide-dots{display:inline-flex;gap:8px;margin-bottom:0}.dot{width:10px;height:10px;border-radius:999px;background:var(--color-border)}.dot.is-active{background:var(--color-primary)}.feedback-strip{overflow:hidden;width:100%;border-top:1px solid var(--color-border);padding-top:8px;flex-shrink:0}.feedback-track{display:inline-flex;gap:12px;white-space:nowrap;animation:scroll-left 24s linear infinite}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}.feedback-card{display:block;flex:0 0 280px;padding:14px 16px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;color:var(--color-text-muted)}.feedback-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}.feedback-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#6b4cc2,#9ed44d);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.feedback-header-text{display:grid;gap:2px}.feedback-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.feedback-name{font-weight:600;color:var(--color-text)}.feedback-rating{color:#f5b301;font-size:11px;letter-spacing:1px}.feedback-role{font-size:12px;color:var(--color-text-muted)}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px 0;margin-top:0;justify-items:center;text-align:center;align-items:center;width:100%;justify-content:center;align-self:center;flex-shrink:0}.stat-item{justify-items:center}.stat-item{display:grid;gap:4px;align-items:center;justify-items:center}.stat-number{font-size:clamp(24px,3.2vw,40px);font-weight:800;color:var(--color-text);white-space:nowrap}.stat-label{font-size:13px;color:var(--color-text-muted)}.stat-suffix{margin-left:2px;white-space:nowrap}.slides-visible{display:flex;flex-direction:column;gap:4px;margin-top:0;flex:1;min-height:280px}.feedback-text{margin:0;font-size:13px;line-height:1.4;color:var(--color-text);white-space:normal;text-align:justify;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.feature-list{display:grid;gap:16px}.feature-list h3{margin:0 0 6px;font-size:16px}.feature-list p{margin:0;color:var(--color-text-muted);line-height:1.5}.login-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:clamp(24px,3vw,36px);box-shadow:var(--shadow-card);border:1px solid var(--color-border);display:grid;gap:24px;animation:fade-up .52s ease;height:100%}.card-header h2{margin:0 0 8px;font-size:24px}.card-header p{margin:0;color:var(--color-text-muted)}.login-form{display:grid;gap:16px}.field{display:grid;gap:8px;font-size:14px;color:var(--color-text-muted)}.ui-input{background:var(--color-surface-muted);border:1px solid transparent;border-radius:var(--radius-md);padding:12px 14px;color:var(--color-text);transition:border var(--transition),box-shadow var(--transition),background var(--transition)}.ui-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #6c7cff33}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon .ui-input{width:100%;padding-right:44px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:var(--color-text-muted)}.input-with-icon .icon-button{position:absolute;right:8px}.icon-button:hover{color:var(--color-text);background:#6c7cff1a}.login-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:var(--color-text-muted)}.checkbox{display:inline-flex;align-items:center;gap:8px}.ui-button{border-radius:999px;padding:12px 18px;border:1px solid transparent;transition:transform var(--transition),box-shadow var(--transition),background var(--transition);font-weight:600}.ui-button:disabled{opacity:.65;cursor:not-allowed}.ui-button--primary{background:var(--color-primary);color:#fff;box-shadow:0 12px 30px #6c7cff4d}.ui-button--primary:hover:not(:disabled){background:var(--color-primary-strong);transform:translateY(-1px)}.ui-button--ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.ui-button--ghost:hover{border-color:var(--color-primary)}.theme-toggle{width:36px;height:36px;padding:0;border-radius:50%}.link-button{color:var(--color-primary);font-weight:600;text-decoration:none}.link-button:hover{text-decoration:underline}.card-footer{display:flex;justify-content:center;gap:6px;color:var(--color-text-muted);font-size:14px;align-items:center;white-space:nowrap}.form-error{color:#f97316;font-size:13px}.main-layout{display:grid;grid-template-columns:auto 1fr;min-height:100vh;background:var(--color-bg)}.main-drawer{background:linear-gradient(180deg,#6b4cc2,#241846);border-right:1px solid var(--color-border);width:260px;transition:width var(--transition);display:flex;flex-direction:column;gap:12px;padding:12px 16px 24px;position:relative;overflow:hidden}.main-drawer.is-collapsed{width:88px}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.drawer-title{font-weight:600;color:#fff}.drawer-corporate{display:flex;flex-direction:column;gap:10px;flex:1}.drawer-corporate-row{display:inline-flex;align-items:center;gap:12px}.drawer-corporate img,.drawer-corporate-initials{width:36px;height:36px;border-radius:12px;background:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.drawer-corporate-title{font-weight:600;font-size:16px;line-height:1;color:#fff}.drawer-input{padding:8px 10px;font-size:13px}.drawer-toggle{position:static;color:#fff;border:1px solid rgba(255,255,255,.4);background:#ffffff1a;width:28px;height:28px;border-radius:50%}.drawer-nav{display:grid;gap:8px}.drawer-group{display:grid;gap:6px}.drawer-item{display:inline-flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border-radius:var(--radius-md);background:transparent;color:#f5f3ff}.drawer-chevron{margin-left:auto;font-size:14px;opacity:.8}.drawer-submenu{display:grid;gap:6px;padding-left:34px}.drawer-subrow{display:flex;align-items:center;gap:8px}.tree-node{position:relative;width:14px;height:100%}.tree-node:before{content:"";position:absolute;top:-6px;left:6px;bottom:-6px;width:1px;background:#ffffff4d}.tree-node:after{content:"";position:absolute;top:10px;left:6px;width:8px;height:1px;background:#ffffff4d}.tree-node.is-active:before,.tree-node.is-active:after{background:#9b7dff;width:2px}.tree-node.is-active:after{height:2px}.tree-node.is-last:before{bottom:10px}.drawer-subitem{text-align:left;padding:8px 10px;border-radius:var(--radius-md);background:transparent;color:#e4ddff;font-size:13px;display:inline-flex;align-items:center;gap:8px}.drawer-subitem:hover{background:#ffffff1f}.drawer-subitem.is-active{background:#ffffff2e;color:#fff}.drawer-item:hover{background:#ffffff1f}.drawer-icon{font-size:18px;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:#e4ddff}.drawer-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.drawer-spacer{flex:1}.drawer-footer{display:grid;gap:8px}.drawer-divider{height:1px;width:100%;background:#fff3}.main-drawer.is-collapsed .drawer-title{display:none}.main-drawer.is-collapsed .drawer-corporate{align-items:center}.main-drawer.is-collapsed .drawer-corporate-title,.main-drawer.is-collapsed .drawer-label,.main-drawer.is-collapsed .drawer-submenu{display:none}.main-drawer.is-collapsed .drawer-item{justify-content:center}.main-drawer.is-collapsed .drawer-toggle{position:absolute;right:-14px;top:50%;transform:translateY(-50%);background:#fff;color:#6b4cc2;border-color:#6b4cc266;z-index:2}.main-content{display:flex;flex-direction:column;min-width:0;background:var(--color-bg)}.main-header{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-bottom:1px solid var(--color-border);background:#f3f4f6;position:sticky;top:0;z-index:10000}.main-header .brand-logo{width:36px;height:36px;background:#fff;padding:0;border-radius:8px}.main-header .brand-title{font-size:22px;line-height:1.1}.main-header .brand-subtitle{font-size:11px;line-height:1.1}.main-title h1{margin:0;font-size:22px}.main-title span{font-size:13px;color:var(--color-text-muted)}.main-header-actions{display:flex;align-items:center;gap:12px;position:relative}.notification-button{position:static;width:36px;height:36px;border-radius:50%;border:1px solid var(--color-border);background:#fff}.upload-control{position:relative;display:inline-flex;align-items:center;padding:8px 12px;border:1px dashed var(--color-border);border-radius:999px;font-size:13px;color:var(--color-text-muted);cursor:pointer}.upload-control input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.profile-button{width:40px;height:40px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;font-weight:600}.profile-button img{width:100%;height:100%;object-fit:cover}.profile-menu{position:absolute;right:0;top:56px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:grid;min-width:180px;overflow:hidden}.profile-menu button{padding:10px 14px;text-align:left;background:transparent;display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#4b5563}.profile-menu button:hover{background:var(--color-surface-muted)}.profile-menu-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:#6b7280}.profile-menu-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6}.support-button{border:1px solid var(--color-border);background:#fff}.support-button .drawer-icon svg{stroke:#6b7280}.support-menu{position:absolute;right:54px;top:56px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-card);display:grid;min-width:160px;overflow:hidden;z-index:9999}.support-menu button{padding:10px 14px;text-align:left;background:transparent;font-size:13px;color:#4b5563;display:inline-flex;align-items:center;gap:8px}.support-menu button:hover{background:var(--color-surface-muted)}.support-menu-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:#6b7280}.support-menu-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.support-list-page{display:grid;gap:12px}.support-list-actions{display:inline-flex;align-items:center;gap:10px}.support-list-actions-main{display:inline-flex;align-items:center;gap:10px;position:relative}.status-check-button svg{width:18px;height:18px}.status-sheet{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:minmax(200px,1fr) auto;align-items:end;gap:10px;z-index:20;box-shadow:0 10px 24px #0f172a1f}.status-sheet label{display:grid;gap:6px;font-size:12px;color:var(--color-text-muted)}.status-sheet input{padding:8px 10px;border-radius:10px;border:1px solid var(--color-border);font-size:13px}[data-theme=dark] .status-sheet{background:var(--color-surface)}.add-ticket-button{background:#6b4cc2;color:#fff;border-color:transparent}.add-ticket-button:hover{background:#5b3fb1}.support-list-table{margin-top:8px;overflow-x:auto}.support-list-table .data-table th,.support-list-table .data-table td{white-space:nowrap}.ticket-desc{display:inline-block;max-width:320px;white-space:pre-line;line-height:1.3;color:#4b5563}.history-list{display:block;gap:12px;max-height:420px;overflow:auto;padding-right:4px;align-self:stretch;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden;min-width:100%}.history-list--plain .timeline-list{width:100%;max-width:100%;box-sizing:border-box;display:block;min-width:100%}.history-list--plain .timeline-item{width:100%;max-width:100%;display:block;min-width:100%}.history-list--plain .timeline-entry{width:100%;max-width:100%;box-sizing:border-box;display:block;margin:0;min-width:100%}.history-list--plain .timeline-header-row{display:flex;align-items:center;justify-content:space-between;width:100%}.history-list--plain .timeline-date-inline{flex:0 0 auto;white-space:nowrap}.history-list--plain .timeline-header-row{display:block}.history-list--plain .timeline-header-row .status-chip{margin-top:6px}.history-list--cards .history-cards{display:grid;gap:12px;width:100%;max-width:100%}.history-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:100%;margin-bottom:12px;font-size:12px;color:#6b7280}.history-title{display:flex;align-items:center;gap:8px}.ticket-number-blue{color:#2563eb}.history-card{border:1px solid var(--color-border);border-left-width:5px;border-left-style:solid;border-radius:12px;padding:12px 14px;display:grid;gap:6px;background:#fff;width:100%;max-width:100%;box-sizing:border-box}.status-history{width:100%;max-width:100%}.history-card--red{border-left-color:#dc2626}.history-card--yellow{border-left-color:#d97706}.history-card--green{border-left-color:#16a34a}.history-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-card-date{font-size:12px;color:#4b5563;white-space:nowrap}.history-card-desc{font-size:13px;color:#374151;word-break:break-word;white-space:normal}.history-card-meta{font-size:12px;color:#6b7280}.history-card-details{display:grid;gap:4px;font-size:12px;color:#6b7280}.assigned-name{display:block;font-size:12px;color:#111827}.assigned-time{display:block;font-size:11px;color:#6b7280}.assigned-time--good{color:#16a34a}.assigned-time--warn{color:#d97706}.assigned-time--bad{color:#dc2626}.assign-cell.assign-cell--inline{display:inline-flex;align-items:center;gap:6px;min-width:0}.assign-cell.assign-cell--inline select{min-width:120px}.assign-cell{display:grid;gap:6px;min-width:200px}.ticket-action{display:inline-flex;align-items:center;justify-content:center}.ticket-action-menu{position:fixed;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-card);display:grid;min-width:180px;overflow:hidden;z-index:9999}.ticket-action-menu button{padding:10px 14px;text-align:left;background:transparent;font-size:13px;color:#4b5563;display:inline-flex;align-items:center;gap:8px}.ticket-action-menu button:hover{background:var(--color-surface-muted)}.ticket-action-card select,.ticket-action-card textarea{border:1px solid var(--color-border);border-radius:10px;padding:10px 12px;font-size:13px;color:#111827;background:#fff}.ticket-action-card{width:min(760px,92vw);max-width:92vw;justify-items:stretch;box-sizing:border-box}.ticket-action-card .history-list{width:100%;min-width:100%;display:block;box-sizing:border-box}.ticket-action-card .support-form{width:100%;display:block}.add-ticket-card{width:min(820px,92vw)}.add-ticket-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.add-ticket-form .support-full,.add-ticket-form .support-tags{grid-column:1 / -1}@media (max-width: 720px){.add-ticket-form{grid-template-columns:1fr}}.ticket-action-card .timeline-card{width:100%;max-width:100%}.assign-cell select,.assign-cell input{border:1px solid var(--color-border);border-radius:8px;padding:6px 8px;font-size:12px;color:#111827;background:#fff}.assign-status{font-size:11px;color:#6b7280}.support-inline{display:grid;gap:12px;max-width:760px}.support-status-page{display:grid;gap:12px;max-width:100%;--status-input-width: 100%}.support-status-layout{grid-template-columns:1fr;align-items:start}.support-status-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.support-status-row label{display:grid;gap:6px;width:100%;max-width:520px}.support-status-timeline{display:grid;gap:10px;font-size:12px;color:#6b7280;width:100%;max-width:100%}.status-card--form{max-width:560px}.status-card--results{width:100%;max-width:100%}.timeline-list{display:block;width:100%;max-width:100%;box-sizing:border-box}.timeline-item{display:block;width:100%}.timeline-entry{display:block;padding:6px 0;border:none;width:100%;box-sizing:border-box;overflow-wrap:anywhere;min-width:100%}.timeline-header-row{display:flex;align-items:center;justify-content:space-between;width:100%}.timeline-date-inline{font-size:12px;color:#4b5563;white-space:nowrap;flex:0 0 auto}.timeline-header-row .status-chip{display:inline-block}.timeline-header-row .status-chip{margin-left:auto}.timeline-entry--red{border-left-color:#dc2626}.timeline-entry--yellow{border-left-color:#d97706}.timeline-entry--green{border-left-color:#16a34a}.timeline-content{display:block;gap:6px;color:#374151;min-width:0;overflow-wrap:anywhere;width:100%;white-space:normal}.timeline-row{font-size:12px;color:#4b5563;word-break:normal;white-space:normal;max-width:100%}.timeline-entry *{box-sizing:border-box;max-width:100%}.history-summary,.timeline-footer{font-size:12px;color:#6b7280}.timeline-tag-list{display:flex;flex-wrap:wrap;gap:6px;max-width:100%}.timeline-tag-chip{background:#f3f4f6;border-radius:999px;padding:2px 8px;font-size:11px;color:#4b5563;white-space:nowrap}.timeline-tag-empty{color:#9ca3af}.timeline-tags{display:flex;align-items:flex-start;gap:6px;min-width:0;flex-wrap:wrap}.timeline-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af}.timeline-item{display:grid;grid-template-columns:12px 1fr;gap:8px;align-items:start}.timeline-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;margin-top:6px}.timeline-label{font-size:12px;font-weight:600;color:#111827}.timeline-time{font-size:11px;color:#6b7280}.timeline-meta{font-size:12px;color:#6b7280}.timeline-empty{font-size:11px;color:#9ca3af}.support-list-header{display:flex;align-items:center;justify-content:space-between}.support-list-header h3{margin:0;font-size:16px;color:#111827;font-weight:600}.admin-sim-header{flex-wrap:wrap;gap:.25rem;padding:2px 0;min-height:unset}.admin-sim-header h3{font-size:15px}.admin-sim-header .support-list-actions,.admin-sim-header .support-list-actions-main{align-items:center}.admin-sim-header .add-ticket-button{margin:0}.admin-sim-page.support-list-page{row-gap:2px}.support-list-table{border:1px solid var(--color-border);border-radius:12px;overflow:hidden;background:var(--color-surface)}.support-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center}.support-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a66}.upload-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center}.upload-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a66}.upload-card{position:relative;background:var(--color-surface);border-radius:16px;border:1px solid var(--color-border);box-shadow:0 20px 50px #0f172a40;padding:24px;width:min(500px,92vw);display:grid;gap:20px;z-index:1}.upload-header{display:flex;align-items:center;justify-content:space-between}.upload-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}[data-theme=dark] .upload-header h3{color:#f1f5f9}.upload-content{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.upload-icon{width:80px;height:80px;color:#cbd5e1;opacity:.8}.upload-title{margin:0;font-size:16px;font-weight:600;color:#1e293b}[data-theme=dark] .upload-title{color:#f1f5f9}.upload-subtitle{margin:0;font-size:13px;color:#64748b}[data-theme=dark] .upload-subtitle{color:#cbd5e1}.upload-format-info{width:100%;background:#f8fafc;border-radius:8px;padding:12px 16px;text-align:center}[data-theme=dark] .upload-format-info{background:#1e293b}.upload-format-info p{margin:0;font-size:12px;color:#475569;line-height:1.5}[data-theme=dark] .upload-format-info p{color:#94a3b8}.format-details{margin-bottom:8px!important;text-align:left;display:inline-block}.format-link{color:#6b4cc2;text-decoration:none;font-weight:600;cursor:pointer}.format-link:hover{text-decoration:underline}.upload-input-wrapper{width:100%;position:relative}.file-input{display:none}.file-label{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#475569;transition:all .2s}[data-theme=dark] .file-label{background:#1e293b;border-color:#475569;color:#cbd5e1}.file-label:hover{border-color:#6b4cc2;background:#f1f5f9;color:#6b4cc2}[data-theme=dark] .file-label:hover{background:#0f172a;color:#a78bfa;border-color:#a78bfa}.file-label svg{width:18px;height:18px}.selected-file{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#e0f5fe;border-radius:6px}[data-theme=dark] .selected-file{background:#164e63}.file-name{flex:1;font-size:13px;color:#0369a1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .file-name{color:#7dd3fc}.upload-footer{display:flex;gap:12px;width:100%}.upload-footer button{flex:1}.upload-card .support-card,.support-card{position:relative;background:var(--color-surface);border-radius:16px;border:1px solid var(--color-border);box-shadow:0 20px 50px #0f172a40;padding:18px;width:min(640px,92vw);display:grid;gap:16px;z-index:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a66;cursor:pointer}[data-theme=dark] .modal-backdrop{background:#00000080}.modal-card{position:relative;background:#fff;border-radius:12px;border:1px solid var(--color-border);box-shadow:0 20px 50px #0f172a40;padding:24px;width:min(500px,92vw);max-height:90vh;overflow-y:auto;z-index:1}.modal-card--wide{max-width:1100px;width:90%}@media (max-width: 1200px){.modal-card--wide{max-width:900px}}@media (max-width: 900px){.modal-card--wide{width:95%;max-width:700px}}[data-theme=dark] .modal-card{background:var(--color-surface);border-color:var(--color-border)}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1e293b}[data-theme=dark] .modal-header h2{color:#fff}.modal-form{display:flex;flex-direction:column;gap:18px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:start}.form-row.cols-1{grid-template-columns:1fr}.form-row.cols-2{grid-template-columns:repeat(2,1fr)}.form-row.cols-3{grid-template-columns:repeat(3,1fr)}.form-row.cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 900px){.form-row.cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.form-row{grid-template-columns:1fr}}.iccid-input-wrapper{display:flex;align-items:center}.iccid-prefix{margin-right:8px}.form-group label{font-size:13px;font-weight:600;color:#334155;text-transform:capitalize}[data-theme=dark] .form-group label{color:#cbd5e1}.form-input{padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:13px;font-family:inherit;color:#1e293b;background:#fff;transition:border-color .2s,background .2s}[data-theme=dark] .form-input{background:var(--color-bg);color:#e2e8f0;border-color:var(--color-border)}.form-input:focus{outline:none;border-color:#6b4cc2;box-shadow:0 0 0 3px #6b4cc21a}[data-theme=dark] .form-input:focus{box-shadow:0 0 0 3px #6b4cc233}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-textarea{resize:vertical;min-height:100px}.form-error{padding:10px 12px;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;font-size:13px;color:#b91c1c}[data-theme=dark] .form-error{background:#7f1d1d;border-color:#9f1239;color:#fca5a5}.modal-footer{display:flex;gap:12px;margin-top:24px;justify-content:flex-end}.modal-footer button{flex:1;max-width:150px}.support-card.jobcard-card{box-shadow:none;border-radius:12px;width:min(760px,92vw)}.jobcard-details .jobcard-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;gap:12px}.jobcard-details .jobcard-row.jobcard-description{padding:14px}.jobcard-details{border:1px solid var(--color-border);border-radius:12px;padding:12px;background:var(--color-surface)}.jobcard-details .jobcard-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:auto;gap:12px}.jobcard-details .jobcard-row{display:flex;flex-direction:column;gap:6px;padding:6px 4px;border-radius:6px;background:transparent;border:none}.jobcard-details .jobcard-label{font-size:12px;color:var(--color-muted, #6b7280);font-weight:500;opacity:.9}.jobcard-details .jobcard-value{font-size:14px;color:var(--color-text, #111827);font-weight:700;word-break:break-word}.jobcard-details .job-type-select{width:100%;padding:8px 10px;border:1px solid var(--color-border);border-radius:8px;background:#fff;font-size:14px;color:var(--color-text)}.support-card.status-card{width:min(900px,95vw)}.support-header{display:flex;align-items:center;justify-content:space-between}.support-header h3{margin:0;font-size:16px;color:#111827;font-weight:600}.support-form{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.support-form label{display:grid;gap:6px;font-size:12px;color:#6b7280}.support-form select,.support-form input,.support-form textarea{border:1px solid var(--color-border);border-radius:10px;padding:8px 10px;font-size:13px;color:#111827;background:#fff}.support-form textarea{resize:vertical}.support-full{grid-column:1 / -1}.support-tags{display:grid;gap:8px}.support-tag-inputs{display:grid;grid-template-columns:120px 1fr auto;gap:8px;align-items:center}.support-tag-list{display:flex;flex-wrap:wrap;gap:6px}.support-tag-chip{background:#f3f4f6;border-radius:999px;padding:4px 8px;font-size:11px;color:#4b5563;display:inline-flex;align-items:center;gap:6px}.support-tag-chip button{border:none;background:transparent;color:#9ca3af;cursor:pointer}.support-tag-empty{font-size:11px;color:#9ca3af}.support-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sim-view-card{width:min(640px,92vw);max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.sim-view-details{padding:16px 20px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:20px}.sim-view-section{background:var(--color-surface-muted, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:14px 16px}.sim-view-section-title{margin:0 0 12px;font-size:13px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.04em;padding-bottom:8px;border-bottom:1px solid var(--color-border, #e5e7eb)}.sim-view-section-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 20px}.sim-view-field{display:flex;flex-direction:column;gap:4px}.sim-view-field-label{font-size:11px;font-weight:600;color:#6b7280;text-transform:none}.sim-view-field-value{font-size:13px;color:#111827}.sim-view-empty{margin:0;padding:20px;color:#6b7280;font-size:14px}.support-message{font-size:12px;color:#4b5563}.support-ticket-number{font-size:12px;font-weight:600;color:#4f46e5}.status-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:none;letter-spacing:.02em;color:#374151;background:#f3f4f6}.status-chip--red{background:#ef444426;color:#dc2626}.status-chip--yellow{background:#f59e0b2e;color:#d97706}.status-chip--green{background:#22c55e26;color:#16a34a}.severity-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:none;letter-spacing:.02em;color:#374151;background:#f3f4f6}.severity-chip--red{background:#ef444426;color:#dc2626}.severity-chip--orange{background:#f973162e;color:#c2410c}.severity-chip--yellow{background:#f59e0b2e;color:#d97706}.severity-chip--gray{background:#94a3b833;color:#64748b}.support-success{text-align:center;gap:10px;align-items:center}.support-success-icon{width:72px;height:72px;margin:0 auto}.support-success-icon svg{width:100%;height:100%}.success-circle{fill:none;stroke:#22c55e;stroke-width:3;stroke-dasharray:150;stroke-dashoffset:150;animation:drawCircle .6s ease-out forwards}.success-check{fill:none;stroke:#22c55e;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:drawCheck .35s .55s ease-out forwards}@keyframes drawCircle{to{stroke-dashoffset:0}}@keyframes drawCheck{to{stroke-dashoffset:0}}.main-body{padding:8px 32px 32px;display:grid;gap:4px;flex:1;background:#f9fafb}.page-title{font-size:18px;font-weight:300;margin:0;color:#6b7280}.page-title-row{display:inline-flex;align-items:center;gap:10px}.refresh-control{position:relative}.refresh-button{width:38px;height:38px;border-radius:999px;border:1px solid var(--color-border);background:#fff;display:inline-flex;align-items:center;justify-content:center;position:relative;padding:0}.refresh-ring{width:36px;height:36px;transform:rotate(-90deg)}.refresh-ring-bg{fill:none;stroke:#e5e7eb;stroke-width:3}.refresh-ring-progress{fill:none;stroke:#4f46e5;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .3s ease}.refresh-ring-progress.is-pulsing{animation:refreshPulse 2.2s ease-in-out}@keyframes refreshPulse{0%{stroke-width:3;opacity:.9}50%{stroke-width:5;opacity:1}to{stroke-width:3;opacity:.9}}.refresh-count{position:absolute;font-size:10px;font-weight:600;color:#4f46e5;display:inline-flex;align-items:center;justify-content:center}.refresh-count svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}.refresh-count .refresh-spin{animation:refreshSpinOnce 1s ease-in-out;transform-origin:50% 50%}@keyframes refreshSpinOnce{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.refresh-menu{position:absolute;top:44px;left:0;background:#fff;border:1px solid var(--color-border);border-radius:10px;padding:6px;display:grid;gap:4px;z-index:2;min-width:120px}.refresh-menu button{padding:6px 8px;text-align:left;border-radius:8px;font-size:12px;color:#4b5563}.refresh-menu button:hover{background:#f3f4f6}.vehicle-count{display:inline-flex;align-items:center;gap:8px;position:relative}.vehicle-count.is-open .vehicle-count-text{color:#6b7280}.vehicle-divider{width:1px;height:22px;background:#d1d5db}.vehicle-count-text{font-size:18px;font-weight:400;line-height:1;color:#6b7280;white-space:nowrap}.vehicle-count-number{font-size:24px;font-weight:800;color:#6b7280}.vehicle-count-separator{font-size:18px;font-weight:400;color:#9ca3af}.vehicle-count-total{font-weight:600}.vehicle-count-label{font-size:18px;font-weight:300;color:#6b7280}.vehicle-sheet{position:fixed;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:16px;display:grid;grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;box-shadow:0 12px 30px #0f172a1f;z-index:60;animation:vehicleSheetSlide .2s ease-out;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.vehicle-sheet-column{display:flex;flex-direction:column;gap:10px;min-width:140px}.vehicle-sheet-column+.vehicle-sheet-column{border-left:1px solid var(--color-border);padding-left:18px}.vehicle-sheet-title{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.vehicle-sheet-rows{display:grid;gap:8px}.vehicle-sheet-row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;color:#4b5563}.vehicle-sheet-value{font-weight:600;color:#111827}@keyframes vehicleSheetSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.page-subtitle{margin:0;font-size:12px;color:var(--color-text-muted)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.page-actions{display:inline-flex;align-items:center;gap:10px}.page-actions-divider{width:1px;height:22px;background:#d1d5db}.realtime-controls{display:grid;gap:8px;width:100%}.realtime-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:nowrap;width:100%}.realtime-header-row .page-title-row{flex:1 1 auto;min-width:0}.realtime-header-row .page-actions{justify-content:flex-end;margin-left:auto;width:auto;flex:1 1 auto;margin-right:0}.realtime-controls .page-actions{justify-content:flex-end;width:auto}.realtime-page{width:100%}.realtime-divider{height:1px;width:100%;background:var(--color-border)}.realtime-page .table-wrapper{margin-top:12px}.realtime-controls+.page-divider{margin-top:4px}.table-wrapper{position:relative;z-index:1}.location-cell{display:grid;gap:2px;font-size:12px;color:#6b7280}.vehicle-cell{display:inline-flex;align-items:center;gap:8px}.vehicle-avatar{width:28px;height:28px;border-radius:50%;background:#e5e7eb;color:#6b7280;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.chip{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.chip--on{background:#22c55e26;color:#16a34a}.chip--off{background:#94a3b833;color:#64748b}.chip--danger{background:#ef444426;color:#dc2626}.heading-cell{display:inline-flex;align-items:center;gap:8px}.heading-chip{width:26px;height:26px;border-radius:50%;background:#6366f1;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1}.heading-arrow{display:inline-flex;transform-origin:50% 50%}.heading-label{font-size:12px;font-weight:600;color:#6b7280}.driver-cell{display:flex;align-items:center;gap:8px}.driver-avatar{width:28px;height:28px;border-radius:50%;background:#e5e7eb;color:#6b7280;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;object-fit:cover}.driver-meta{display:grid;gap:2px}.driver-name{font-size:13px;color:#111827}.driver-phone{font-size:11px;color:#9ca3af}.row-action{position:relative;display:inline-flex;justify-content:center;width:100%}.row-action-button{width:28px;height:28px;border-radius:8px;border:1px solid var(--color-border);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#6b7280}.row-action-button svg{width:16px;height:16px;fill:currentColor}.row-action-menu{position:absolute;top:34px;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-card);display:grid;min-width:180px;overflow:hidden;z-index:50}.row-action-menu-portal{position:fixed;top:auto;right:auto;z-index:9999}.row-action-menu.is-up{top:auto;bottom:34px}.table-wrapper{overflow:visible}.table-scroll{overflow-x:auto;overflow-y:visible;position:relative;width:100%}.table-panel.layout-with-panel .data-table{min-width:1200px}.alert-chips{display:flex;flex-wrap:wrap;gap:6px}.alert-cell{display:inline-flex;align-items:center;gap:8px;--alert-step: 26px}.table-select{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#6b7280;white-space:nowrap}.table-select input{width:14px;height:14px}.alert-count{width:22px;height:22px;border-radius:50%;background:#eef2ff;color:#4f46e5;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.alert-count.alert-yellow{background:#fef3c7;color:#b45309}.alert-count.alert-orange{background:#ffedd5;color:#c2410c}.alert-count.alert-red{background:#fee2e2;color:#b91c1c}.alert-stack{height:22px;overflow:hidden}.alert-stack-track{display:grid;gap:4px;animation:alertScroll 8s infinite}.alert-chip{height:22px;line-height:22px}.alert-chip.alert-yellow{background:#fef3c7;color:#b45309}.alert-chip.alert-orange{background:#ffedd5;color:#c2410c}.alert-chip.alert-red{background:#fee2e2;color:#b91c1c}@keyframes alertScroll{0%,20%{transform:translateY(0)}25%,45%{transform:translateY(calc(-1 * var(--alert-step)))}50%,70%{transform:translateY(calc(-2 * var(--alert-step)))}75%,95%{transform:translateY(calc(-3 * var(--alert-step)))}to{transform:translateY(calc(-1 * var(--alert-step) * var(--alert-count)))}}.settings-alert-group{display:grid;gap:8px;padding:10px;border:1px solid var(--color-border);border-radius:12px;background:#fff}.settings-alert-group h4{margin:0;font-size:13px;color:#111827}.settings-section{display:grid;gap:12px}.settings-row{display:flex;gap:10px;align-items:center}.settings-row input{flex:1;padding:8px 10px;border-radius:10px;border:1px solid var(--color-border)}.settings-chip-list{display:flex;flex-wrap:wrap;gap:8px}.settings-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#f3f4f6;border:1px solid var(--color-border);color:var(--color-text);font-size:12px}.settings-chip button{border:none;background:transparent;cursor:pointer;font-size:14px}.settings-empty{color:var(--color-text-muted);font-size:13px}[data-theme=dark] .settings-chip{background:#94a3b826}.search-field{position:relative;display:inline-flex;align-items:center}.search-field .page-search{padding-left:30px}.search-icon{position:absolute;left:10px;width:14px;height:14px;color:#9ca3af;display:inline-flex;align-items:center;justify-content:center}.search-icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.filter-button{border:1px solid var(--color-border);background:#fff;width:36px;height:36px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;color:#6b7280}.filter-button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.alert-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:600;color:#6b7280;background:#f3f4f6}.row-action-menu button{padding:10px 12px;text-align:left;background:transparent;font-size:12px;color:#4b5563;display:inline-flex;align-items:center;gap:8px}.row-action-menu button:hover{background:var(--color-surface-muted)}.row-action-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:#6b7280}.row-action-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.settings-page{display:grid;gap:12px;width:100%}.settings-tabs{display:inline-flex;gap:8px}.settings-tab{border:1px solid var(--color-border);border-radius:10px;padding:6px 12px;font-size:12px;color:#6b7280;background:#fff}.settings-tab.is-active{border-color:#c7b7ff;color:#4f46e5;background:#f5f3ff}.settings-card{border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);padding:16px;display:grid;gap:12px;max-width:640px}.settings-card.settings-card-wide{max-width:100%;width:100%}.settings-card+.settings-card{margin-top:16px}.settings-scope{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}.settings-scope-actions{display:flex;align-items:flex-end;height:100%}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.settings-grid.alerts-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.settings-field{display:grid;gap:6px;font-size:12px;color:#6b7280}.settings-field input{border:1px solid var(--color-border);border-radius:10px;padding:8px 10px;font-size:13px;color:#111827;background:#fff}.settings-help{font-size:12px;color:#6b7280;display:grid;gap:6px}.settings-actions{display:inline-flex;align-items:center;gap:10px}.settings-message{font-size:12px;color:#6b7280}.settings-message.is-error{color:#dc2626}.timestamp-timezone,.table-unit{font-size:10px;font-weight:500;color:#9ca3af}.page-search{height:32px;border-radius:999px;border:1px solid var(--color-border);padding:0 12px;font-size:12px;color:var(--color-text);background:#fff;min-width:160px}.page-search::placeholder{color:var(--color-text-muted)}.download-control{position:relative}.download-button{width:32px;height:32px;border-radius:999px;border:1px solid var(--color-border);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#6b7280}.download-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.download-menu{position:absolute;top:38px;right:0;background:#fff;border:1px solid var(--color-border);border-radius:10px;padding:6px;display:grid;gap:4px;min-width:120px;z-index:2}.download-menu button{padding:6px 8px;text-align:left;border-radius:8px;font-size:12px;color:#4b5563;display:inline-flex;align-items:center;gap:8px}.download-menu button:hover{background:#f3f4f6}.download-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center}.download-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.page-header>.page-divider{flex-basis:100%}.view-toggle{justify-self:end;display:inline-flex;background:#f3f4f6;border-radius:999px;padding:2px;gap:2px}.view-toggle-btn{width:32px;height:28px;border-radius:999px;border:none;background:transparent;color:#6b7280;display:inline-flex;align-items:center;justify-content:center}.view-toggle-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.view-toggle-btn.is-active{background:#fff;color:#4f46e5;box-shadow:0 1px 2px #0f172a14}.page-divider{height:1px;width:100%;background:#e5e7eb;margin-top:2px}.empty-state-container{display:flex;align-items:center;justify-content:center;min-height:50vh;padding:40px 20px;width:100%}.empty-state-content{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;max-width:400px}.empty-state-icon{width:80px;height:80px;color:#cbd5e1;opacity:.8}.empty-state-title{font-size:20px;font-weight:600;color:#1e293b;margin:0}.empty-state-description{font-size:14px;color:#64748b;margin:0;line-height:1.5}.empty-state-button{margin-top:8px}[data-theme=dark] .empty-state-title{color:#f1f5f9}[data-theme=dark] .empty-state-description{color:#cbd5e1}[data-theme=dark] .empty-state-icon{color:#475569}@media (min-width: 1024px){.main-body{padding-top:4px;gap:2px}.page-header{gap:6px}.page-divider{margin-top:1px}}.page-content{display:grid;gap:6px;align-content:start;justify-items:stretch;min-height:50vh;width:100%}.page-placeholder{font-size:18px;font-weight:400;color:var(--color-text-muted);justify-self:center;align-self:center}.table-wrapper{width:100%;overflow:visible;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md)}.table-panel{display:flex;gap:12px;width:100%;max-width:100%;overflow:hidden}.table-panel .table-wrapper{flex:1 1 auto;min-width:0}.table-panel.layout-with-panel .table-wrapper{flex:1 1 0}.notifications-panel{flex:0 0 clamp(240px,25%,360px);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;display:grid;grid-template-rows:auto 1fr;min-height:320px;margin-top:12px;height:calc(100vh - 220px)}.notifications-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--color-border);font-size:13px;font-weight:600;color:#374151}.notifications-body{padding:12px;font-size:12px;color:#6b7280;overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px;color:#6b7280}.data-table th,.data-table td{padding:10px 12px;border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap}.data-table th{font-weight:600;background:#f9fafb;color:#6b7280}.table-pagination{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-top:1px solid var(--color-border);background:#fff;font-size:12px;color:var(--color-text-muted)}.rows-per-page{display:flex;align-items:center;gap:8px}.rows-per-page select{padding:4px 8px;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text)}[data-theme=dark] .rows-per-page select,[data-theme=dark] .table-pagination{background:var(--color-surface)}[data-theme=dark] .table-pagination .ui-button--ghost{color:var(--color-text);border-color:var(--color-border)}.action-row{display:flex;gap:12px;align-items:center}.login-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:8px 8px 0;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:13px;margin-top:0;margin-bottom:2px}.login-footer span{margin-bottom:0}.simple-footer{display:flex;align-items:center;justify-content:center;width:100%;min-height:28px;position:relative;line-height:1}.simple-footer .footer-text{margin-bottom:0;text-align:center;white-space:nowrap;display:inline-flex;align-items:center;line-height:1;padding-bottom:8px}.simple-footer .footer-version{position:absolute;right:8px;font-size:12px;white-space:nowrap}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@media (max-width: 960px){.login-content{grid-template-columns:1fr}.login-card{order:-1}}@media (max-width: 600px){.login-header,.login-actions{flex-direction:column;align-items:flex-start}.header-right{width:100%;justify-content:space-between}.header-contact{flex-wrap:wrap;white-space:normal}}.login-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:24px;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:13px}.footer-column{display:flex;flex-direction:column;gap:6px}.footer-strong{font-weight:700}.footer-center{text-align:center}.footer-right{text-align:right}.love-symbol{color:#e11d48;margin:0 4px}@media (max-width: 900px){.login-footer{grid-template-columns:1fr;text-align:left}.footer-center,.footer-right{text-align:left}.main-layout{grid-template-columns:1fr}.main-drawer{width:100%;border-right:none;border-bottom:1px solid var(--color-border)}.main-drawer.is-collapsed{width:100%}.main-header{flex-direction:column;align-items:flex-start;gap:12px}.main-header-actions{width:100%;justify-content:space-between;flex-wrap:wrap}}.job-card-create-page{display:flex;flex-direction:column;gap:24px;padding:32px;max-width:1200px;margin:0 auto}.create-header{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.create-header h1{font-size:28px;font-weight:600;color:var(--color-text);margin:0;line-height:1.2}.create-header p{font-size:14px;color:var(--color-text-muted);margin:0;line-height:1.5}.job-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:24px 0}.job-type-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;border:2px solid var(--color-border);border-radius:12px;background:var(--color-surface);transition:all .2s ease;text-align:left;cursor:pointer;min-height:120px;justify-content:center}.job-type-card:hover{border-color:var(--color-primary);background:var(--color-surface-hover);transform:translateY(-2px);box-shadow:0 4px 12px #6b4cc226}.job-type-card:active{transform:translateY(0)}.card-title{font-size:16px;font-weight:600;color:var(--color-text);margin:0}.card-description{font-size:13px;color:var(--color-text-muted);margin:0;line-height:1.4}.form-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.form-header .btn-back{padding:8px 12px;font-size:14px;color:var(--color-primary);background:transparent;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;transition:all .2s ease;min-width:auto;white-space:nowrap}.form-header .btn-back:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.form-header h1{font-size:24px;font-weight:600;color:var(--color-text);margin:0;flex:1;line-height:1.2}.dynamic-form-builder{display:flex;flex-direction:column;gap:32px}.dynamic-form-builder .form-header{margin-bottom:32px}.dynamic-form-builder .form-header h2{font-size:22px;font-weight:600;color:var(--color-text);margin:0 0 8px;line-height:1.2}.dynamic-form-builder .form-header p{font-size:14px;color:var(--color-text-muted);margin:0;line-height:1.5}.step-indicator{display:flex;gap:12px;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid var(--color-border);overflow-x:auto;-webkit-overflow-scrolling:touch;align-items:flex-start}.step{display:flex;align-items:center;gap:8px;flex:0 0 auto;position:relative;min-width:0}.step:not(:last-child):after{content:"";position:absolute;top:20px;left:calc(100% + 4px);width:8px;height:2px;background:var(--color-border);z-index:0}.step.completed:not(:last-child):after{background:var(--color-success)}.step-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-border);font-size:14px;font-weight:600;color:var(--color-text-muted);flex-shrink:0;z-index:1}.step.active .step-number{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.step.completed .step-number{background:var(--color-success);border-color:var(--color-success);color:#fff;font-size:12px}.step.completed .step-number:after{content:"✓"}.step-label{font-size:13px;font-weight:500;color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:120px;min-width:0}.step.active .step-label{color:var(--color-primary);font-weight:600}.step.completed .step-label{color:var(--color-text)}.form-content{display:flex;flex-direction:column;gap:32px}.form-fields{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:13px;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.5px;margin:0}.form-label .required{color:var(--color-error);margin-left:4px}.form-input,.form-input.textarea,.form-input.select{padding:12px 14px;font-size:14px;line-height:1.5;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);transition:all .2s ease;font-family:inherit}.form-input:focus,.form-input.textarea:focus,.form-input.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6b4cc21a;background:var(--color-surface-hover)}.form-input.error,.form-input.textarea.error,.form-input.select.error{border-color:var(--color-error);background:#dc26260d}.form-input:disabled,.form-input.textarea:disabled,.form-input.select:disabled{background:var(--color-disabled);color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.form-input.textarea{resize:vertical;min-height:100px;max-height:300px}.help-text{font-size:12px;color:var(--color-text-muted);line-height:1.4;margin:0}.form-error{font-size:12px;color:var(--color-error);line-height:1.4;margin:0}.error-message{padding:12px 16px;border-radius:6px;background:#dc26261a;border-left:4px solid var(--color-error);color:var(--color-error);font-size:13px;line-height:1.5;margin:16px 0}.repeater-container{display:flex;flex-direction:column;gap:20px;padding:20px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.repeater-container .form-label{margin-bottom:8px}.repeater-item{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-background)}.repeater-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.repeater-item-title{font-size:13px;font-weight:600;color:var(--color-text);margin:0}.repeater-item-remove{padding:6px 10px;font-size:12px;color:var(--color-error);background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:4px;cursor:pointer;transition:all .2s ease}.repeater-item-remove:hover{background:#dc262633;border-color:var(--color-error)}.repeater-item-fields{display:flex;flex-direction:column;gap:16px}.form-buttons,.form-navigation{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border);width:100%;flex-wrap:nowrap}.btn-primary,.btn-secondary,.btn-cancel{padding:12px 24px;font-size:14px;font-weight:500;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:40px;display:flex;align-items:center;justify-content:center}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:0 4px 12px #6b4cc24d;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{background:var(--color-disabled);color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-primary);color:var(--color-primary)}.btn-secondary:disabled{background:var(--color-disabled);color:var(--color-text-muted);border-color:var(--color-border);cursor:not-allowed;opacity:.6}.btn-cancel{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-cancel:hover{background:var(--color-surface-hover);color:var(--color-text)}.device-carousel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background:var(--color-surface);border-radius:6px;border-left:4px solid var(--color-primary)}.device-title{font-size:16px;font-weight:600;color:var(--color-text);margin:0;flex:1}.btn-icon{padding:8px 12px;font-size:13px;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:4px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-icon:hover{background:var(--color-surface-hover);color:var(--color-primary);border-color:var(--color-primary)}.btn-primary-small{padding:10px 16px;font-size:13px;font-weight:500;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-primary-small:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.btn-primary-small:disabled{background:var(--color-disabled);color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.device-carousel-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:16px;background:var(--color-surface);border-radius:6px;gap:16px}.progress-dots{display:flex;gap:8px;align-items:center}.progress-dots .dot{width:10px;height:10px;border-radius:50%;background:var(--color-border);transition:all .2s ease;cursor:pointer}.progress-dots .dot.active{background:var(--color-primary);width:12px;height:12px}.progress-dots .dot.filled{background:var(--color-success)}.progress-dots .dot.filled.active{background:var(--color-primary)}.device-complete{font-size:13px;font-weight:500;color:var(--color-success);white-space:nowrap}.device-warning{font-size:13px;font-weight:500;color:var(--color-warning);white-space:nowrap}.data-preview{padding:20px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface)}.preview-title{font-size:13px;font-weight:600;color:var(--color-text);margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}.preview-item{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--color-border);font-size:13px}.preview-item:last-child{border-bottom:none}.preview-item .label{font-weight:500;color:var(--color-text-muted);min-width:120px}.preview-item .value{color:var(--color-text);font-weight:500;text-align:right;flex:1}@media (max-width: 768px){.job-card-create-page{padding:16px;gap:16px}.job-type-grid{grid-template-columns:1fr;gap:12px}.job-type-card{padding:16px;min-height:100px}.card-title{font-size:14px}.card-description{font-size:12px}.form-header{flex-direction:column;align-items:flex-start;gap:12px}.form-header h1{font-size:20px}.dynamic-form-builder{gap:24px}.step-indicator{overflow-x:auto;gap:8px}.step{flex:0 0 auto}.step:not(:last-child):after{display:none}.step-label{max-width:80px}.form-label{font-size:12px}.form-input,.form-input.textarea,.form-input.select{font-size:13px;padding:10px 12px}.form-buttons{flex-direction:column-reverse;gap:8px}.form-buttons .btn-secondary:first-child{margin-right:0}.form-buttons .btn-primary:last-child{margin-left:0}.btn-primary,.btn-secondary,.btn-cancel{width:100%;padding:12px 16px}.repeater-container,.repeater-item{padding:12px;gap:12px}}.list-page{display:flex;flex-direction:column;height:100%;background:var(--color-surface)}.list-header{padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:12px}.list-header-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.list-header-title h2{margin:0;font-size:20px;font-weight:600;color:var(--color-text)}.list-header-actions{display:flex;align-items:center;gap:12px}.search-input{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);min-width:250px;font-size:13px}.search-input::placeholder{color:var(--color-text-muted)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #6c7cff1a}.list-content{flex:1;overflow:auto;display:flex;flex-direction:column}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 20px;color:var(--color-text-muted);text-align:center}.empty-state p{margin:0;font-size:14px}.list-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 20px;border-top:1px solid var(--color-border);background:var(--color-surface)}.pagination-info{font-size:13px;color:var(--color-text-muted);min-width:100px;text-align:center}.btn-small{padding:6px 12px!important;font-size:12px!important}.btn-small:disabled{opacity:.5;cursor:not-allowed}.actions-cell{display:flex;gap:8px;justify-content:center}.icon-button.danger{color:#dc2626}.icon-button.danger:hover{background:#dc26261a}.th-content{display:flex;align-items:center;gap:6px}.sort-indicator{font-size:11px;margin-left:4px}.tone-green{color:#16a34a!important}.tone-yellow{color:#ca8a04!important}.tone-orange{color:#ea580c!important}.tone-red{color:#dc2626!important}.tone-gray{color:#6b7280!important}.tone-neutral{color:var(--color-text-muted)!important}[data-theme=dark] .list-header{border-bottom-color:var(--color-border)}[data-theme=dark] .search-input{background:var(--color-bg);color:var(--color-text)}[data-theme=dark] .list-pagination{border-top-color:var(--color-border)}
