body{font-family:verdana,arial,sans-serif}
table,th,td{border:1px solid lightgray;border-collapse:collapse;padding:5px;font-size:14px}
tr.align-right{text-align:right}
tr.align-center{text-align:center}
td.align-right{text-align:right}
td.device-count{color:black;background-color:grey;font-size:24px}
td.small-count{color:black;font-size:18px}
td.status-ok{color:yellow;background-color:darkgreen}
td.status-err{color:yellow;background-color:darkred}
td.status-new{color:black;background-color:lightblue}
td.status-in-process{color:black;background-color:lightyellow}
td.status-lost{color:white;background-color:orange}
td.status-timeout{color:white;background-color:purple}
td.status-not-found{color:white;background-color:brown}
td.env-prod{color:darkblue;font-weight:bold;font-size:20px}
td.env-test{color:darkgreen;font-weight:bold;font-size:20px}
td.env-dev{color:darkcyan;font-weight:bold;font-size:20px}
td.age-normal{background-color:white}
td.age-yellow{background-color:yellow}
td.age-orange{background-color:orange}
td.age-red{background-color:red;color:white}
.form-container{margin:20px 0;padding:10px;border:1px solid #ccc;background-color:#f8f8f8}
.form-container input[type="text"]{padding:5px;width:200px}
.form-container input[type="submit"]{padding:5px 10px;background-color:#4caf50;color:white;border:0;cursor:pointer}
.form-container input[type="submit"]:hover{background-color:#45a049}
.nav-menu{display:flex;justify-content:space-between;align-items:center;margin:15px 0;padding:0;background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%);border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,0.15);overflow:hidden}
.nav-menu .nav-links{display:flex;flex-wrap:wrap;gap:2px;padding:4px}
.nav-menu a{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;text-decoration:none;color:#e8e8e8;font-size:13px;font-weight:500;border-radius:6px;transition:all .2s ease}
.nav-menu a:hover{background:rgba(255,255,255,0.12);color:#fff;transform:translateY(-1px)}
.nav-menu .nav-icon{font-size:14px;opacity:.85}
.nav-menu .nav-logout{margin:4px 8px 4px 4px;padding:10px 18px;background:linear-gradient(135deg,#dc3545 0,#c82333 100%);color:white;border-radius:6px;font-weight:600}
.nav-menu .nav-logout:hover{background:linear-gradient(135deg,#e04555 0,#d83343 100%);transform:translateY(-1px);box-shadow:0 2px 8px rgba(220,53,69,0.4)}
@media(max-width:1200px){.nav-menu{flex-direction:column;align-items:stretch}
.nav-menu .nav-links{justify-content:center}
.nav-menu .nav-logout{margin:4px 8px 8px 8px;text-align:center}
}
.date-links{margin:10px 0}
.date-links a{margin-right:10px;padding:5px;text-decoration:none;color:#06c;border:1px solid #ccc;border-radius:3px}
.date-links a:hover{background-color:#f0f0f0}
.date-links a.selected{background-color:#06c;color:white;font-weight:bold}
.not-found{color:red;font-weight:bold}
.property-table{margin-top:20px}
pre{background-color:#f5f5f5;border:1px solid #ccc;padding:10px;white-space:pre-wrap;word-wrap:break-word;max-height:400px;overflow-y:auto}
.section-header{margin-top:20px;padding:5px;background-color:#f0f0f0;border-top:1px solid #ccc;border-bottom:1px solid #ccc}
.device-page .container,.merchant-page .container{display:flex;flex-wrap:wrap;gap:20px}
.device-page .device-info{flex:1;min-width:300px}
.device-page .transaction-list{flex:1;min-width:300px}
.device-page .transaction-item{border:1px solid #ddd;margin-bottom:10px;padding:10px;border-radius:4px;cursor:pointer}
.device-page .transaction-item:hover{background-color:#f5f5f5}
.device-page .transaction-details{display:none;padding:10px;background-color:#f9f9f9;border-top:1px solid #ddd;margin-top:10px}
.device-page .transaction-details table{width:100%;border-collapse:collapse}
.device-page .transaction-details table tr td{padding:4px;border-bottom:1px solid #eee}
.device-page .transaction-details table tr td:first-child{width:30%;font-weight:bold}
.device-page .transaction-summary{display:flex;justify-content:space-between}
.back-button{display:inline-block;margin:10px 0;padding:8px 15px;background-color:#f2f2f2;border:1px solid #ddd;border-radius:4px;text-decoration:none;color:#333}
.back-button:hover{background-color:#e0e0e0}
.merchant-page .device-list{width:100%}
.merchant-page .device-table{width:100%;border-collapse:collapse;margin-top:20px}
.merchant-page .device-table th,.merchant-page .device-table td{padding:8px;text-align:left;border-bottom:1px solid #ddd}
.merchant-page .device-table th{background-color:#f2f2f2;cursor:pointer}
.merchant-page .device-table th:hover{background-color:#e0e0e0}
.merchant-page .device-table tr:hover{background-color:#f5f5f5;cursor:pointer}
.pagination-controls{display:flex;justify-content:space-between;align-items:center;margin-top:20px;flex-wrap:wrap}
.pagination{display:flex;justify-content:center;gap:5px;flex:1}
.pagination a,.pagination span{padding:8px 12px;border:1px solid #ddd;text-decoration:none;color:#333;border-radius:4px}
.pagination a:hover{background-color:#f5f5f5}
.pagination .active{background-color:#4caf50;color:white;border:1px solid #4caf50}
.pagination .disabled{color:#aaa;cursor:not-allowed}
.page-size-selector{display:flex;align-items:center;gap:8px;margin-left:20px}
.page-size-selector select{padding:6px;border:1px solid #ddd;border-radius:4px;background-color:white}
.sort-indicator{margin-left:5px}
.page-info{text-align:center;margin-top:10px;margin-bottom:10px;color:#666}
.device-overview{background:linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);border-radius:12px;padding:20px;margin:20px 0;box-shadow:0 2px 12px rgba(0,0,0,0.08)}
.device-overview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #dee2e6}
.device-overview-header h3{margin:0;color:#1a1a2e;font-size:1.3em}
.total-devices{background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%);color:white;padding:10px 20px;border-radius:8px;font-size:1.1em}
.total-devices strong{font-size:1.3em;margin-left:5px}
.service-grid{display:flex;flex-wrap:wrap;gap:15px;justify-content:flex-start}
.service-card{background:white;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.1);min-width:180px;max-width:200px;flex:1 1 180px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.service-card:hover{transform:translateY(-3px);box-shadow:0 4px 16px rgba(0,0,0,0.15)}
.service-card.closed{border-left:4px solid #dc3545}
.service-card-header{background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%);color:white;padding:12px 15px;display:flex;justify-content:space-between;align-items:center}
.service-card.closed .service-card-header{background:linear-gradient(135deg,#721c24 0,#dc3545 100%)}
.service-name{font-weight:600;font-size:.9em}
.closed-badge{background:rgba(255,255,255,0.2);padding:2px 6px;border-radius:4px;font-size:.7em;font-weight:bold}
.service-card-count{font-size:28px;font-weight:bold;color:#1a1a2e;text-align:center;padding:15px;border-bottom:1px solid #eee}
.service-card .device-list{max-height:250px;overflow-y:auto;padding:5px 0}
.service-card .device-list a{display:block;padding:6px 15px;color:#495057;text-decoration:none;font-size:.85em;font-family:'Consolas','Monaco',monospace;transition:background .15s ease}
.service-card .device-list a:hover{background:#e9ecef;color:#1a1a2e}
.service-card .device-list a:nth-child(odd){background:#f8f9fa}
.service-card .device-list a:nth-child(odd):hover{background:#e9ecef}
.service-card .device-list::-webkit-scrollbar{width:6px}
.service-card .device-list::-webkit-scrollbar-track{background:#f1f1f1}
.service-card .device-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}
.service-card .device-list::-webkit-scrollbar-thumb:hover{background:#a1a1a1}
@media(max-width:768px){.device-overview-header{flex-direction:column;gap:15px;text-align:center}
.service-grid{justify-content:center}
.service-card{min-width:160px;max-width:none;flex:1 1 calc(50% - 10px)}
}
.overview-container{display:flex;flex-wrap:wrap;gap:20px;margin:20px 0}
.overview-container .device-overview{flex:2;min-width:400px;margin:0}
.overview-container .top-devices-panel{flex:1;min-width:340px}
.top-devices-panel{background:white;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.1);overflow:hidden}
.top-devices-header{background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%)}
.top-devices-header h3{margin:0;padding:12px 16px;color:white;font-size:.95em;font-weight:600;display:block}
.top-devices-header h3::before{display:none}
.period-selector{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f5f5f5;border-bottom:1px solid #eee}
.period-selector label{font-size:.85em;color:#1a1a2e;font-weight:600;white-space:nowrap}
.period-selector select{padding:5px 8px;border:1px solid #ddd;border-radius:4px;background-color:white;color:#1a1a2e;font-size:.8em;cursor:pointer}
.period-selector select:hover{border-color:#999}
.top-devices-table{width:100%;border-collapse:collapse;background:white}
.top-devices-table thead{background:#f5f5f5;color:#1a1a2e}
.top-devices-table th{padding:10px 12px;text-align:left;font-weight:600;font-size:.85em}
.top-devices-table th.rank-col,.top-devices-table td.rank-col{width:40px;text-align:center}
.top-devices-table th.count-col,.top-devices-table td.count-col{width:100px;text-align:right}
.top-devices-table tbody tr{transition:background .15s ease;cursor:pointer}
.top-devices-table tbody tr:hover{background-color:#fff3e0}
.top-devices-table tbody tr:nth-child(odd){background-color:#fafafa}
.top-devices-table tbody tr:nth-child(odd):hover{background-color:#fff3e0}
.top-devices-table td{padding:10px 12px;border-bottom:1px solid #eee}
.top-devices-table td.device-id{font-family:'Consolas','Monaco',monospace;font-size:.9em}
.top-devices-table td.device-id a{color:#1565c0;text-decoration:none}
.top-devices-table td.device-id a:hover{text-decoration:underline}
.top-devices-table td.count-col{color:#1a1a2e;font-size:1em}
.top-devices-table td.no-data{text-align:center;color:#999;font-style:italic;padding:20px}
.top-devices-table tbody tr:nth-child(1) td.rank-col,.top-devices-table tbody tr:nth-child(2) td.rank-col,.top-devices-table tbody tr:nth-child(3) td.rank-col{font-weight:bold;color:#ff6f00}
@media(max-width:992px){.overview-container{flex-direction:column}
.overview-container .device-overview{min-width:auto}
.top-devices-panel{min-width:auto;max-width:none}
}
@media(max-width:768px){.top-devices-panel{padding:15px}
.top-devices-header{text-align:center}
.top-devices-header .period-selector{justify-content:center}
.top-devices-table th,.top-devices-table td{padding:8px}
}
.info-top-container{display:flex;flex-wrap:nowrap;gap:20px;margin-bottom:20px;align-items:stretch}
.info-top-container .status-card{flex:0 0 37%;min-width:280px}
.info-top-container .top-devices-panel{flex:0 0 40%;min-width:280px;max-width:none}
.info-top-container .transaction-panel{flex:0 0 20%;min-width:180px;min-height:556px;max-height:556px;background:white;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.1);display:flex;flex-direction:column;overflow:hidden}
.transaction-panel .panel-header{padding:10px 20px;background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%);border-radius:10px 10px 0 0;flex-shrink:0}
.transaction-panel .panel-header h3{margin:0;color:white;font-size:1.1em;font-weight:600}
.transaction-panel .panel-header h3::before{display:none}
.transaction-panel .panel-body{flex:1;overflow-y:auto;min-height:0}
.transaction-panel .transaction-table{max-width:none;border-radius:0;box-shadow:none}
.transaction-panel .transaction-table thead{display:none}
@media(max-width:1200px){.info-top-container{flex-wrap:wrap}
.info-top-container .status-card{flex:0 0 calc(50% - 10px)}
.info-top-container .top-devices-panel{flex:0 0 calc(50% - 10px)}
.info-top-container .transaction-panel{flex:0 0 100%;max-height:250px;order:3}
}
@media(max-width:992px){.info-top-container{flex-direction:column}
.info-top-container .status-card,.info-top-container .top-devices-panel,.info-top-container .transaction-panel{flex:0 0 auto;min-width:auto;max-width:none}
.info-top-container .status-card{order:1}
.info-top-container .top-devices-panel{order:2}
.info-top-container .transaction-panel{order:3;max-height:300px}
}
.info-dashboard{background:linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);border-radius:12px;padding:25px;margin:20px 0;box-shadow:0 2px 12px rgba(0,0,0,0.08)}
.info-dashboard h2{margin:0 0 20px 0;color:#1a1a2e;font-size:1.5em;padding-bottom:15px;border-bottom:2px solid #dee2e6}
.info-dashboard h3{margin:25px 0 15px 0;color:#1a1a2e;font-size:1.2em;display:flex;align-items:center;gap:10px}
.info-dashboard .top-devices-header h3{color:white;margin:0;padding:12px 16px;font-size:.95em;display:block}
.info-dashboard .top-devices-header h3::before{display:none}
.info-dashboard .transaction-panel .panel-header h3{padding:0;margin:0;font-size:1.1em}
.info-dashboard .transaction-panel .panel-header h3::before{display:none}
.info-dashboard h3::before{content:'';width:4px;height:20px;background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%);border-radius:2px}
.status-card{background:white;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.1);overflow:hidden}
.status-card table{width:100%;border:0;border-collapse:collapse}
.status-card table td{padding:12px 16px;border:0;border-bottom:1px solid #eee;font-size:14px}
.status-card table tr:last-child td{border-bottom:0}
.status-card table tr:nth-child(odd){background-color:#fafafa}
.status-card table tr:hover{background-color:#f0f4f8}
.status-card table td:first-child{width:200px;color:#495057;font-weight:500}
.status-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:6px;font-weight:600;font-size:13px}
.status-badge.ok{background:linear-gradient(135deg,#28a745 0,#20c997 100%);color:white}
.status-badge.err{background:linear-gradient(135deg,#dc3545 0,#c82333 100%);color:white}
.status-badge.pending{background:linear-gradient(135deg,#ffc107 0,#e0a800 100%);color:#212529}
.metric-value{display:inline-flex;align-items:center;padding:8px 16px;border-radius:8px;font-weight:bold;font-size:20px}
.metric-value.large{background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%);color:white;font-size:24px}
.metric-value.medium{background:linear-gradient(135deg,#495057 0,#6c757d 100%);color:white;font-size:18px}
.env-badge{display:inline-flex;align-items:center;padding:8px 16px;border-radius:8px;font-weight:bold;font-size:16px}
.env-badge.prod{background:linear-gradient(135deg,#0d6efd 0,#0b5ed7 100%);color:white}
.env-badge.test{background:linear-gradient(135deg,#198754 0,#157347 100%);color:white}
.env-badge.dev{background:linear-gradient(135deg,#0dcaf0 0,#0aa2c0 100%);color:white}
.error-card{background:linear-gradient(135deg,#fff5f5 0,#ffe3e3 100%);border-left:4px solid #dc3545;border-radius:8px;padding:15px 20px;margin-bottom:20px}
.error-card strong{color:#dc3545}
.error-card .error-text{color:#721c24;margin-left:10px}
.services-table{width:100%;border-collapse:separate;border-spacing:0;background:white;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.1)}
.services-table thead{background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%)}
.services-table thead th{padding:14px 12px;color:white;font-weight:600;font-size:13px;text-align:center;border:0;white-space:nowrap}
.services-table tbody td{padding:12px;border:0;border-bottom:1px solid #eee;font-size:13px;text-align:right}
.services-table tbody tr:last-child td{border-bottom:0}
.services-table tbody tr:nth-child(odd){background-color:#fafafa}
.services-table tbody tr:hover{background-color:#e8f4fd}
.services-table tbody td:first-child{font-weight:600;color:#1a1a2e}
.services-table .worker-badge{display:inline-block;background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%);color:white;padding:4px 10px;border-radius:12px;font-weight:bold;font-size:14px}
.services-table .status-open{display:inline-block;background:linear-gradient(135deg,#28a745 0,#20c997 100%);color:white;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}
.services-table .status-closed{display:inline-block;background:linear-gradient(135deg,#dc3545 0,#c82333 100%);color:white;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}
.transaction-table{width:100%;max-width:500px;border-collapse:separate;border-spacing:0;background:white;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.1)}
.transaction-table thead{background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%)}
.transaction-table thead th{padding:14px 16px;color:white;font-weight:600;font-size:13px;text-align:center;border:0}
.transaction-table tbody td{padding:12px 16px;border:0;border-bottom:1px solid #eee;font-size:14px;text-align:right}
.transaction-table tbody tr:last-child td{border-bottom:0}
.transaction-table tbody tr:nth-child(odd){background-color:#fafafa}
.transaction-table tbody tr:hover{background-color:#e8f4fd}
.transaction-table .count-value{font-weight:bold;color:#1a1a2e;font-size:15px}
.transaction-table .rate-value{font-weight:bold;color:#198754}
@media(max-width:768px){.info-dashboard{padding:15px;margin:10px 0}
.info-dashboard h2{font-size:1.3em}
.status-card table td:first-child{width:auto}
.services-table{display:block;overflow-x:auto}
.services-table thead th,.services-table tbody td{padding:10px 8px;font-size:12px}
.metric-value.large{font-size:20px;padding:6px 12px}
}
.search-card{background:white;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.1);padding:20px;margin-bottom:25px}
.search-card form{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.search-card label{font-weight:500;color:#495057;font-size:14px}
.search-card input[type="text"]{padding:10px 15px;border:2px solid #dee2e6;border-radius:8px;font-size:14px;min-width:250px;transition:border-color .2s ease,box-shadow .2s ease}
.search-card input[type="text"]:focus{outline:0;border-color:#1a1a2e;box-shadow:0 0 0 3px rgba(26,26,46,0.1)}
.search-card input[type="submit"],.search-card button[type="submit"]{padding:10px 24px;background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%);color:white;border:0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.search-card input[type="submit"]:hover,.search-card button[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(26,26,46,0.3)}
.data-table{width:100%;border-collapse:separate;border-spacing:0;background:white;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.1)}
.data-table thead{background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%)}
.data-table thead th{padding:14px 16px;color:white;font-weight:600;font-size:13px;text-align:left;border:0;white-space:nowrap;cursor:pointer;transition:background .2s ease}
.data-table thead th:hover{background:rgba(255,255,255,0.1)}
.data-table thead th .sort-indicator{margin-left:8px;opacity:.8}
.data-table tbody td{padding:12px 16px;border:0;border-bottom:1px solid #eee;font-size:14px}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:nth-child(odd){background-color:#fafafa}
.data-table tbody tr:hover{background-color:#e8f4fd}
.data-table tbody td a{color:#1565c0;text-decoration:none;font-weight:500}
.data-table tbody td a:hover{text-decoration:underline;color:#0d47a1}
.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}
.results-header h3{margin:0;color:#1a1a2e;font-size:1.1em}
.results-badge{display:inline-flex;align-items:center;padding:6px 14px;background:linear-gradient(135deg,#495057 0,#6c757d 100%);color:white;border-radius:20px;font-size:13px;font-weight:500}
.modern-pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:20px;flex-wrap:wrap}
.modern-pagination a,.modern-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 12px;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s ease}
.modern-pagination a{background:white;color:#495057;border:1px solid #dee2e6}
.modern-pagination a:hover{background:#f8f9fa;border-color:#1a1a2e;color:#1a1a2e}
.modern-pagination span.active{background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%);color:white;border:0}
.modern-pagination span.disabled{background:#f8f9fa;color:#adb5bd;border:1px solid #dee2e6;cursor:not-allowed}
.modern-page-info{text-align:center;color:#6c757d;font-size:14px;margin:15px 0;padding:10px;background:#f8f9fa;border-radius:8px}
.modern-page-size{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:15px}
.modern-page-size label{font-size:14px;color:#495057}
.modern-page-size select{padding:8px 12px;border:2px solid #dee2e6;border-radius:8px;font-size:14px;background:white;cursor:pointer;transition:border-color .2s ease}
.modern-page-size select:hover{border-color:#1a1a2e}
.modern-page-size select:focus{outline:0;border-color:#1a1a2e}
.not-found-card{background:linear-gradient(135deg,#fff8e1 0,#ffecb3 100%);border-left:4px solid #ffc107;border-radius:8px;padding:20px;text-align:center;color:#856404;font-weight:500}
.empty-state{text-align:center;padding:40px 20px;color:#6c757d}
.empty-state p{font-size:16px;margin:0}
.pagination-container{background:white;border-radius:10px;padding:20px;margin-top:20px;box-shadow:0 2px 8px rgba(0,0,0,0.05)}
@media(max-width:768px){.search-card form{flex-direction:column;align-items:stretch}
.search-card input[type="text"]{min-width:auto;width:100%}
.data-table{display:block;overflow-x:auto}
.results-header{flex-direction:column;text-align:center}
.modern-pagination a,.modern-pagination span{min-width:32px;height:32px;padding:0 8px;font-size:13px}
}
.device-dashboard{background:linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);border-radius:12px;padding:25px;margin:20px 0;box-shadow:0 2px 12px rgba(0,0,0,0.08)}
.device-dashboard h2{margin:0 0 20px 0;color:#1a1a2e;font-size:1.5em;padding-bottom:15px;border-bottom:2px solid #dee2e6}
.device-results-container{display:flex;flex-wrap:wrap;gap:20px;margin-top:25px}
.device-info-card{flex:1;min-width:350px;background:white;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.1);overflow:hidden}
.device-info-card .card-header{background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%);color:white;padding:10px 20px}
.device-info-card .card-header h3{margin:0;font-size:1.1em;font-weight:600}
.device-info-card .card-body{padding:0}
.device-info-card table{width:100%;border-collapse:collapse}
.device-info-card table td{padding:12px 16px;border-bottom:1px solid #eee;font-size:14px}
.device-info-card table tr:last-child td{border-bottom:0}
.device-info-card table tr:nth-child(odd){background-color:#fafafa}
.device-info-card table tr:hover{background-color:#f0f4f8}
.device-info-card table td:first-child{width:200px;color:#495057;font-weight:500}
.device-info-card table td:last-child{text-align:right;color:#1a1a2e}
.section-divider{background:linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);padding:10px 16px;font-weight:600;color:#495057;border-top:2px solid #dee2e6;border-bottom:1px solid #eee;text-align:center}
.transaction-panel{flex:1;min-width:400px;background:white;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.1);overflow:hidden;max-height:800px;display:flex;flex-direction:column}
.transaction-accordion{border:1px solid #e9ecef;border-radius:8px;margin-bottom:10px;overflow:hidden}
.transaction-accordion:last-child{margin-bottom:0}
.transaction-accordion-header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#fafafa;cursor:pointer;transition:background .2s ease;flex-wrap:wrap;gap:10px}
.transaction-accordion-header:hover{background:#f0f4f8}
.transaction-accordion-header .tx-id{font-weight:600;color:#1a1a2e;font-size:13px}
.transaction-accordion-header .tx-time{color:#6c757d;font-size:12px}
.transaction-accordion-body{display:none;padding:15px;border-top:1px solid #e9ecef;background:white}
.transaction-accordion-body table{width:100%;border-collapse:collapse;font-size:13px}
.transaction-accordion-body table td{padding:8px 12px;border-bottom:1px solid #f0f0f0}
.transaction-accordion-body table tr:last-child td{border-bottom:0}
.transaction-accordion-body table td:first-child{width:160px;color:#6c757d;font-weight:500}
.xml-section h4{margin:15px 0 10px;font-size:13px;color:#495057;font-weight:600}
.xml-display{max-height:250px;overflow:auto;background:#f8f9fa;padding:12px;border:1px solid #e9ecef;border-radius:6px;font-size:11px;font-family:'Consolas','Monaco',monospace;white-space:pre-wrap;word-break:break-word}
.warning-banner{background:linear-gradient(135deg,#fff3cd 0,#ffeeba 100%);border-left:4px solid #ffc107;border-radius:8px;padding:12px 16px;margin-bottom:15px;display:flex;align-items:center;gap:10px}
.warning-banner .icon{font-size:1.2em}
.warning-banner .text{font-weight:600;color:#856404}
.back-link{display:inline-flex;align-items:center;gap:8px;color:#1565c0;text-decoration:none;font-weight:500;font-size:14px;margin-bottom:20px;transition:color .2s ease}
.back-link:hover{color:#0d47a1;text-decoration:underline}
@media(max-width:992px){.device-results-container{flex-direction:column}
.device-info-card,.transaction-panel{min-width:auto;max-height:none}
}
@media(max-width:768px){.device-dashboard{padding:15px;margin:10px 0}
.device-dashboard h2{font-size:1.3em}
.device-info-card table td:first-child{width:auto}
.transaction-accordion-header{flex-direction:column;align-items:flex-start}
}
.date-selector-card{background:white;border-radius:10px;padding:15px 20px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,0.1)}
.date-selector-card strong{color:#495057;margin-right:15px}
.date-chips{display:inline-flex;flex-wrap:wrap;gap:8px}
.date-chips a{padding:8px 16px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:20px;text-decoration:none;color:#495057;font-size:13px;font-weight:500;transition:all .2s ease}
.date-chips a:hover{background:#e9ecef;border-color:#1a1a2e;color:#1a1a2e}
.date-chips a.selected{background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%);color:white;border-color:transparent}
.view-link{display:inline-flex;align-items:center;padding:6px 14px;background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%);color:white !important;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none !important;transition:transform .2s ease,box-shadow .2s ease}
.view-link:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(26,26,46,0.3);color:white !important}
.status-badge.new{background:linear-gradient(135deg,#17a2b8 0,#138496 100%);color:white}
.status-badge.in-process{background:linear-gradient(135deg,#ffc107 0,#e0a800 100%);color:#212529}
.status-badge.lost{background:linear-gradient(135deg,#fd7e14 0,#e06c00 100%);color:white}
.status-badge.timeout{background:linear-gradient(135deg,#6f42c1 0,#5a32a3 100%);color:white}
.status-badge.not-found-status{background:linear-gradient(135deg,#795548 0,#5d4037 100%);color:white}
@media(max-width:768px){.date-selector-card{padding:12px 15px}
.date-chips{display:flex;flex-wrap:wrap}
.date-chips a{padding:6px 12px;font-size:12px}
.results-header{flex-direction:column;align-items:flex-start;gap:10px}
}
.expand-toggle{background:0;border:0;cursor:pointer;padding:4px 8px;font-size:12px;color:#495057;transition:transform .2s ease;border-radius:4px}
.expand-toggle:hover{background:rgba(26,26,46,0.1)}
.expand-toggle.expanded{transform:rotate(90deg)}
.row-details{display:none;background:linear-gradient(135deg,#f8f9fa 0,#fff 100%);border-top:1px solid #e9ecef}
.row-details.expanded{display:table-row}
.row-details td{padding:0 !important}
.details-content{padding:16px 20px;display:flex;flex-wrap:wrap;gap:20px}
.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 24px;flex:1;min-width:300px}
.detail-item{display:flex;flex-direction:column;gap:2px}
.detail-label{font-size:11px;color:#6c757d;text-transform:uppercase;font-weight:600;letter-spacing:.5px}
.detail-value{font-size:13px;color:#1a1a2e;word-break:break-all}
.detail-value.monospace{font-family:'Consolas','Monaco',monospace;font-size:12px}
.details-actions{display:flex;align-items:flex-start;padding-top:4px}
.copy-btn{background:0;border:1px solid #dee2e6;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:12px;color:#495057;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}
.copy-btn:hover{background:#f8f9fa;border-color:#1a1a2e;color:#1a1a2e}
.copy-btn.copied{background:#d4edda;border-color:#28a745;color:#28a745}
.hide-tablet{display:table-cell}
.hide-mobile{display:table-cell}
.show-mobile-only{display:none}
@media(max-width:1024px){.hide-tablet{display:none}
}
@media(max-width:768px){.hide-mobile{display:none}
}
.mobile-cards{display:none}
@media(max-width:768px){.desktop-table{display:none}
.mobile-cards{display:block}
}
.transaction-card{background:white;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.1);margin-bottom:12px;overflow:hidden}
.transaction-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#fafafa 0,#f0f0f0 100%);border-bottom:1px solid #e9ecef;cursor:pointer;transition:background .2s ease}
.transaction-card .card-header:hover{background:linear-gradient(135deg,#f0f4f8 0,#e8ecf0 100%)}
.transaction-card .card-header-left{display:flex;align-items:center;gap:12px}
.transaction-card .card-header-right{font-size:12px;color:#6c757d}
.transaction-card .card-body{padding:16px}
.transaction-card .card-body.collapsed{display:none}
.transaction-card .card-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0}
.transaction-card .card-row:last-child{border-bottom:0}
.transaction-card .card-row-label{font-size:12px;color:#6c757d;font-weight:500}
.transaction-card .card-row-value{font-size:13px;color:#1a1a2e;text-align:right;word-break:break-all;max-width:60%}
.transaction-card .card-row-value.monospace{font-family:'Consolas','Monaco',monospace;font-size:12px}
.transaction-card .card-details{margin-top:12px;padding-top:12px;border-top:2px solid #e9ecef;display:none}
.transaction-card .card-details.expanded{display:block}
.transaction-card .card-details-header{font-size:11px;color:#6c757d;text-transform:uppercase;font-weight:600;letter-spacing:.5px;margin-bottom:8px}
.transaction-card .card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;border-top:1px solid #e9ecef}
.transaction-card .expand-card-btn{background:0;border:0;color:#1565c0;font-size:13px;font-weight:500;cursor:pointer;padding:0;display:flex;align-items:center;gap:4px}
.transaction-card .expand-card-btn:hover{text-decoration:underline}
.device-id-cell{display:flex;align-items:center;gap:6px}
.device-id-cell .copy-device-btn{background:0;border:0;cursor:pointer;padding:2px 4px;font-size:11px;color:#6c757d;opacity:0;transition:opacity .2s ease}
.data-table tbody tr:hover .copy-device-btn,.transaction-card:hover .copy-device-btn{opacity:1}
.copy-device-btn:hover{color:#1a1a2e}
.copy-device-btn.copied{color:#28a745}
.compact-date{white-space:nowrap}
.age-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}
.age-badge.age-ok{background:linear-gradient(135deg,#d4edda 0,#c3e6cb 100%);color:#155724}
.age-badge.age-warning{background:linear-gradient(135deg,#fff3cd 0,#ffeeba 100%);color:#856404}
.age-badge.age-danger{background:linear-gradient(135deg,#f8d7da 0,#f5c6cb 100%);color:#721c24}
.age-badge.age-critical{background:linear-gradient(135deg,#dc3545 0,#c82333 100%);color:white}
.runtime-value{font-family:'Consolas','Monaco',monospace;font-size:13px}
.runtime-value.slow{color:#dc3545;font-weight:600}
@media(max-width:600px){.details-grid{grid-template-columns:1fr}
.details-content{flex-direction:column}
}
.transaction-card .card-body,.transaction-card .card-details{transition:max-height .3s ease-out}
.transaction-card .status-badge{font-size:11px;padding:4px 10px}
.merchant-account-card{background:white;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.1);overflow:hidden;margin-bottom:20px;transition:transform .2s ease,box-shadow .2s ease}
.merchant-account-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,0.12)}
.merchant-account-card .card-header.merchant-header{background:linear-gradient(135deg,#0dcaf0 0,#0aa2c0 100%);color:white;padding:12px 20px}
.merchant-account-card .card-header.merchant-header h3{margin:0;font-size:1.1em;font-weight:600}
.merchant-account-card .card-body{padding:20px}
.merchant-info-row{display:flex;flex-wrap:wrap;gap:30px;justify-content:flex-start}
.merchant-info-item{display:flex;flex-direction:column;gap:8px;min-width:150px}
.merchant-info-item .info-label{font-size:11px;color:#6c757d;text-transform:uppercase;font-weight:600;letter-spacing:.5px}
.merchant-info-item .info-link{display:inline-flex;align-items:center;padding:8px 16px;background:linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);border:1px solid #dee2e6;border-radius:20px;color:#1565c0;font-size:14px;font-weight:600;font-family:'Consolas','Monaco',monospace;text-decoration:none;transition:all .2s ease;width:fit-content}
.merchant-info-item .info-link:hover{background:linear-gradient(135deg,#0dcaf0 0,#0aa2c0 100%);color:white;border-color:transparent;transform:translateY(-2px);box-shadow:0 4px 12px rgba(13,202,240,0.4)}
.info-banner{background:linear-gradient(135deg,#e7f5ff 0,#d0ebff 100%);border-left:4px solid #339af0;border-radius:8px;padding:14px 18px;margin-bottom:20px;display:flex;align-items:center;gap:12px}
.info-banner .icon{font-size:1.3em;color:#1971c2}
.info-banner .text{font-size:14px;color:#1864ab;font-weight:500}
@media(max-width:480px){.merchant-info-row{flex-direction:column;gap:20px}
.merchant-account-card .card-body{padding:16px}
}
.worker-section-header{background:linear-gradient(135deg,#fd7e14 0,#e06c00 100%);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-top:0;border-bottom:0}
.worker-section-header .worker-title{font-weight:600;color:white;font-size:14px;display:flex;align-items:center;gap:8px}
.worker-section-header .worker-title .worker-icon{font-size:16px}
.worker-section-header .worker-status{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}
.worker-section-header .worker-status.running{background:rgba(255,255,255,0.25);color:white}
.worker-section-header .worker-status.stopped{background:rgba(220,53,69,0.9);color:white}
.worker-section-header .worker-status.disconnected{background:rgba(108,117,125,0.9);color:white}
.worker-info-row td{border-left:3px solid #fd7e14;background-color:#fff9f5 !important}
.worker-info-row:hover td{background-color:#fff3e8 !important}
.worker-info-row td:first-child{padding-left:20px}
.worker-value-mono{font-family:'Consolas','Monaco',monospace;font-size:13px;color:#1a1a2e}
@media(max-width:768px){.worker-section-header{flex-direction:column;gap:10px;text-align:center}
}