body{margin:0;font-family:Segoe UI,sans-serif;background:radial-gradient(circle at top left,#f2f8ff,#f7f9fc 55%,#fff)}.centered{min-height:100vh;display:flex;justify-content:center;align-items:center}.selected-table-row>td{background:#e6f4ff!important}.ant-table-wrapper .ant-table-thead>tr>th{background:linear-gradient(180deg,#f3f8ff,#eaf3ff)!important;color:#123c73;font-weight:700}.ant-table-wrapper .ant-table-tbody>tr:nth-child(odd)>td{background:#fcfdff}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:#e6f4ff!important}.ant-table-wrapper .ant-table-tbody>tr.ticket-row-updated>td{background:linear-gradient(180deg,#f8fbff,#fff)!important;border-top:1px solid #d7e9ff!important;border-bottom:1px solid #d7e9ff!important}.ant-table-wrapper .ant-table-tbody>tr.ticket-row-updated>td:first-child{box-shadow:inset 3px 0 #36cfc9}.dashboard-stat-card{border:1px solid #dbeafe}.dashboard-stat-card .ant-card-body{border-radius:10px}.dashboard-stat-card-1 .ant-card-body{background:linear-gradient(135deg,#eaf4ff,#f7fbff)}.dashboard-stat-card-2 .ant-card-body{background:linear-gradient(135deg,#ecfff1,#f8fffb)}.dashboard-stat-card-3 .ant-card-body{background:linear-gradient(135deg,#fff1f0,#fff8f7)}.dashboard-stat-card-4 .ant-card-body{background:linear-gradient(135deg,#edf5ff,#f8fbff)}.dashboard-stat-card-5 .ant-card-body{background:linear-gradient(135deg,#fff7e6,#fffdf5)}.dashboard-panel-card{border:1px solid #e1edff}.dashboard-panel-card>.ant-card-head{background:linear-gradient(180deg,#f7fbff,#f2f8ff)}.traffic-signal-wrap{position:absolute;left:20px;display:flex;align-items:center;gap:10px}.traffic-signal{width:auto;border-radius:0;background:transparent;padding:0;display:flex;flex-direction:row;gap:10px;box-shadow:none}.signal-lamp{width:24px;height:24px;border-radius:50%;opacity:.18;transition:opacity .2s ease,box-shadow .2s ease}.signal-lamp.red{background:#ef4444}.signal-lamp.orange{background:#f59e0b}.signal-lamp.green{background:#22c55e}.signal-lamp.on{opacity:1;box-shadow:0 0 14px #ffffff2e}.signal-lamp.pulse{animation:signalPulse 1s ease-in-out infinite}@keyframes signalPulse{0%{box-shadow:0 0 #22c55ea6;opacity:.9}70%{box-shadow:0 0 0 10px #22c55e00;opacity:1}to{box-shadow:0 0 #22c55e00;opacity:.9}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.auth-card{width:440px;border-radius:16px;box-shadow:0 18px 42px #08367a29;border:1px solid #dce9ff;background:linear-gradient(180deg,#fff,#f8fbff)}
