:root{color:#17212b;background:#eef2f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button{border:1px solid #b8c4d0;background:#fff;color:#17212b;border-radius:6px;min-height:36px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.login-shell{min-height:100vh;display:grid;place-items:center;background:#dfe7ef}.login-panel{width:min(360px,calc(100vw - 32px));background:#fff;border:1px solid #ccd6df;border-radius:8px;padding:24px;display:grid;gap:14px}.login-panel h1{margin:0;font-size:32px}.login-panel label{display:grid;gap:6px;font-size:13px;color:#435466}.login-panel input,.toolbar input,.toolbar select,.notes textarea{border:1px solid #b8c4d0;border-radius:6px;padding:9px 10px;background:#fff}.app-shell{height:100vh;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr)}.topbar{min-height:64px;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #cfd8e2}.topbar h1{margin:0;font-size:24px}.topbar span{color:#617286;font-size:13px}.device{min-width:260px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:1px solid #c9d4df;border-radius:8px;padding:10px 12px}.device.online{border-color:#2f9e71;color:#0d6b48}.device.error,.device.permission_pending{border-color:#d0763f;color:#9a4a1f}.toolbar{display:grid;grid-template-columns:auto auto minmax(220px,1fr) 180px minmax(200px,auto);gap:10px;padding:12px 18px;align-items:center;background:#f7f9fb;border-bottom:1px solid #cfd8e2}.file-button{position:relative;border:1px solid #b8c4d0;background:#fff;color:#17212b;border-radius:6px;min-height:36px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.search-box{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;background:#fff;border:1px solid #b8c4d0;border-radius:6px;padding-left:10px}.search-box input{border:0;min-width:0}.status-line{color:#435466;font-size:13px;text-align:right}.workspace{min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(480px,1fr) 420px}.queue{min-height:0;overflow:auto;background:#fff}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:10px 12px;border-bottom:1px solid #edf1f5;text-align:left}th{position:sticky;top:0;background:#f4f7fa;color:#526579;font-size:12px;text-transform:uppercase}tr{cursor:pointer}tr.selected{background:#e9f3ff}.contact-panel{min-height:0;overflow:auto;border-left:1px solid #cfd8e2;background:#f7f9fb;padding:14px;display:grid;align-content:start;gap:14px}.selected-contact{display:grid;gap:12px;background:#fff;border:1px solid #ccd6df;border-radius:8px;padding:16px}.selected-contact span,.selected-contact p{color:#617286;margin:0;font-size:13px}.selected-contact h2{margin:4px 0;font-size:22px;overflow-wrap:anywhere}.selected-contact strong{font-size:18px;color:#0b684d}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-select{display:grid;gap:6px;color:#435466;font-size:13px}.mode-select select{border:1px solid #b8c4d0;border-radius:6px;padding:9px 10px;background:#fff;color:#17212b}.status-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.notes{display:grid;gap:8px}.notes textarea{min-height:96px;resize:vertical}.history{display:grid;gap:8px}.history h3{margin:0;font-size:16px}.history article{background:#fff;border:1px solid #d7e0e8;border-radius:8px;padding:10px}.history time{display:block;color:#617286;font-size:12px;margin-bottom:4px}.history p{margin:0;overflow-wrap:anywhere}@media(max-width:900px){.toolbar{grid-template-columns:1fr 1fr}.status-line{text-align:left;grid-column:1 / -1}.workspace{grid-template-columns:1fr;grid-template-rows:minmax(220px,45%) minmax(0,1fr)}.contact-panel{border-left:0;border-top:1px solid #cfd8e2}}
