*{box-sizing:border-box}body{font-family:Arial,Tahoma,sans-serif;margin:0;background:#f3f4f6;color:#111827}button{cursor:pointer;border:0;background:#2563eb;color:white;padding:8px 12px;border-radius:6px;margin:2px}button:hover{background:#1d4ed8}button:disabled{cursor:wait;opacity:.65}input,select,textarea{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;background:white}textarea{direction:ltr;text-align:left;font-family:monospace}.hidden{display:none!important}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e40af)}.login-card{width:360px;background:white;border-radius:16px;padding:24px;box-shadow:0 15px 40px rgba(0,0,0,.2);text-align:center}.login-card input{margin:8px 0}.app{display:flex;min-height:100vh}.sidebar{width:245px;background:#111827;color:white;padding:20px;position:fixed;top:0;bottom:0;right:0;overflow:auto}.sidebar h2{margin-top:0}.sidebar button{width:100%;display:block;text-align:right;margin:6px 0;background:#1f2937}.sidebar button:hover{background:#374151}.sidebar .logout{background:#991b1b}.user-box{background:#0f766e;padding:10px;border-radius:10px;margin-bottom:15px}.content{margin-right:245px;padding:22px;width:calc(100% - 245px)}.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}.card,.panel{background:white;border-radius:10px;padding:14px;box-shadow:0 1px 5px rgba(0,0,0,.08);margin-bottom:18px}.card span{display:block;color:#6b7280}.card b{font-size:26px;color:#0f766e}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}table{width:100%;border-collapse:collapse;background:white;margin-bottom:25px;box-shadow:0 1px 5px rgba(0,0,0,.06)}th,td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:right;vertical-align:top}th{background:#111827;color:white}.success{color:green;font-weight:bold}.failed{color:red;font-weight:bold}.approved{color:green;font-weight:bold}.suspended{color:red;font-weight:bold}pre{background:#111827;color:#d1fae5;border-radius:10px;padding:12px;overflow:auto;direction:ltr;text-align:left}.msg{color:#b91c1c;margin-top:8px}.lookup-form{display:grid;grid-template-columns:minmax(180px,1fr) 2fr auto;align-items:end;gap:10px}.lookup-form label{font-weight:bold}.lookup-message{min-height:24px;margin:10px 0}.lookup-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}.lookup-details>div,.lookup-session{border:1px solid #e5e7eb;border-radius:8px;padding:10px;background:#f9fafb}.lookup-details dt{color:#6b7280;font-size:13px;margin-bottom:5px}.lookup-details dd{margin:0;font-weight:bold;overflow-wrap:anywhere}.lookup-sessions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lookup-session p{margin:6px 0;direction:ltr;text-align:right;overflow-wrap:anywhere}.technician-services-panel{direction:rtl}.technician-services-intro{color:#4b5563;margin-top:-4px}.technician-services-status{min-height:24px;margin:10px 0;color:#374151}.technician-services-status.error{color:#b91c1c;font-weight:bold}.technician-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.technician-service-card{border:1px solid #dbe3ee;border-radius:12px;padding:14px;background:#f8fafc}.technician-service-card h3{margin:0 0 8px;color:#111827}.technician-service-card p{margin:6px 0;color:#4b5563}.technician-service-code{font-family:monospace;direction:ltr;text-align:right;font-size:12px;color:#6b7280}.technician-service-state{display:inline-block;margin-top:8px;padding:5px 9px;border-radius:999px;font-size:13px;font-weight:bold}.technician-service-state.available{background:#dcfce7;color:#166534}.technician-service-state.disabled{background:#fef3c7;color:#92400e}.technician-service-state.unavailable{background:#e5e7eb;color:#374151}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.grid,.lookup-form,.lookup-details,.lookup-sessions,.technician-services-grid{grid-template-columns:1fr}.sidebar{position:static;width:100%}.app{display:block}.content{margin-right:0;width:100%}}
