:root{color:#1f2937;background:#fff;font-family:Inter,Segoe UI,Microsoft YaHei UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#fff}button,input{font:inherit}button{border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#1f2937;cursor:pointer;min-height:36px;padding:0 12px}button:hover:not(:disabled){border-color:#0f766e;color:#0f766e}button.danger-button{border-color:#fecaca;color:#b91c1c}button.danger-button:hover:not(:disabled){border-color:#b91c1c;background:#fef2f2;color:#991b1b}button:disabled{cursor:not-allowed;opacity:.55}input{width:100%;border:1px solid #cbd5e1;border-radius:6px;color:#111827;min-height:38px;padding:8px 10px}.password-field{position:relative;min-width:0}.password-field input{padding-right:44px}.password-field .password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-grid;place-items:center;width:28px;height:28px;min-height:28px;padding:0;border:1px solid transparent;border-radius:5px;background:#fff;color:#64748b}.password-field .password-toggle:hover:not(:disabled){border-color:#99f6e4;background:#f0fdfa;color:#0f766e}.password-field .password-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr);background:#fff}.sidebar{border-right:1px solid #e5e7eb;padding:24px 16px}.brand{font-size:19px;font-weight:700;margin-bottom:28px}.nav-item{width:100%;display:block;text-align:left;border-color:transparent;margin-bottom:8px}.nav-item.active{background:#e6fffb;color:#0f766e;border-color:#99f6e4}.workspace{min-width:0;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.topbar h1{margin:0 0 4px;font-size:24px;line-height:1.25}.topbar p{margin:0;color:#64748b;font-size:14px}.top-actions{display:flex;gap:8px}.notice,.error{border-radius:6px;padding:10px 12px;margin-bottom:14px;font-size:14px}.notice{background:#f0fdfa;border:1px solid #99f6e4;color:#115e59}.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.main-panel,.details-panel,.audit-panel,.login-panel{border:1px solid #e5e7eb;border-radius:8px;background:#fff}.main-panel{min-width:0}.create-bar{display:grid;gap:12px;padding:14px;border-bottom:1px solid #e5e7eb}.create-heading,.create-fields,.create-actions{min-width:0}.create-bar h2{margin:0;font-size:16px}.create-fields,.create-actions{display:grid;gap:10px}.create-fields{grid-template-columns:minmax(180px,1fr) minmax(160px,.8fr) minmax(160px,.8fr)}.create-actions{grid-template-columns:minmax(220px,1fr) 120px 88px;align-items:center}.table-wrap{overflow-x:auto}.table-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e5e7eb;background:#fff}.table-toolbar label{display:grid;gap:6px;width:min(360px,100%);color:#475569;font-size:13px}.result-count{color:#64748b;font-size:13px;white-space:nowrap;padding-bottom:10px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;border-bottom:1px solid #eef2f7;padding:12px 14px;white-space:nowrap}th{color:#475569;font-size:12px;letter-spacing:0;text-transform:uppercase;background:#f8fafc}tr.selected{background:#f0fdfa}.empty-state{color:#64748b;text-align:center;padding:28px 14px}.status{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;border:1px solid #cbd5e1;font-size:12px}.status.active{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.status.disabled,.status.missing{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.details-panel{padding:18px;min-height:480px}.details-panel h2,.audit-panel h2{margin:0 0 12px;font-size:18px}.details-panel p{color:#64748b;margin:8px 0}.detail-actions{display:grid;gap:8px;margin:16px 0 22px}.device-row,.audit-row{border-top:1px solid #eef2f7;padding:12px 0}.device-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.device-row strong,.device-row span{display:block}.device-row span,.audit-row span{color:#64748b;font-size:12px}.audit-panel{margin-top:18px;padding:16px}.audit-row{display:grid;grid-template-columns:180px 160px minmax(0,1fr);gap:12px;align-items:center}.audit-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#475569}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:#f8fafc}.login-panel{width:min(420px,100%);padding:26px}.login-panel h1{margin:0 0 6px;font-size:24px}.login-panel p{margin:0 0 20px;color:#64748b}.login-panel label{display:grid;gap:6px;margin-bottom:14px;color:#475569;font-size:14px}.login-panel button{width:100%;background:#0f766e;color:#fff;border-color:#0f766e}@media (max-width: 980px){.app-shell{grid-template-columns:1fr}.sidebar{display:flex;gap:8px;align-items:center;border-right:0;border-bottom:1px solid #e5e7eb;padding:12px;overflow-x:auto}.brand{margin:0 12px 0 0;white-space:nowrap}.nav-item{width:auto;margin:0}.content-grid,.create-bar,.create-fields,.create-actions{grid-template-columns:1fr}.table-toolbar{align-items:stretch;flex-direction:column}.result-count{padding-bottom:0}.audit-row{grid-template-columns:1fr}}
