.printers-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:24px}.printers-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.printers-table th:first-child{border-radius:8px 0 0 0}.printers-table th:last-child{border-radius:0 8px 0 0}.printers-table td{padding:16px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.printers-table tr:hover td{background:#fafafa}.printers-table tr:last-child td{border-bottom:none}.printer-name{font-weight:600;font-size:15px;color:#1f2937;margin-bottom:2px}.printer-model{font-size:13px;color:#9ca3af}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;text-transform:uppercase}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-badge.idle{background:#ecfdf5;color:#059669}.status-badge.printing{background:#eff6ff;color:#2563eb}.status-badge.paused{background:#fef3c7;color:#d97706}.status-badge.error{background:#fef2f2;color:#dc2626}.status-badge.offline{background:#f3f4f6;color:#6b7280}.spool-info{font-size:14px;color:#374151}.spool-info .no-spool{color:#9ca3af}.spool-weight{font-size:12px;color:#9ca3af;margin-top:2px}.actions-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;font-size:13px;font-weight:500;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:all .15s ease;text-decoration:none;white-space:nowrap;background:transparent;color:#374151;line-height:1.2}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:linear-gradient(135deg,#bc2026,#a01c21);color:#fff;border:none;box-shadow:0 1px 2px rgba(188,32,38,.2)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#a01c21,#8a181d);box-shadow:0 2px 4px rgba(188,32,38,.3);color:#fff}.btn-secondary{background:#fff;color:#374151;border:1px solid #e5e7eb}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;color:#111827}.btn-danger{background:#fff;color:#dc2626;border:1px solid #fecaca}.btn-danger:hover:not(:disabled){background:#fef2f2;border-color:#f87171}.btn-ghost{background:transparent;color:#6b7280;padding:6px 10px}.btn-ghost:hover:not(:disabled){background:#f3f4f6;color:#374151}.tab{padding:8px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:#6b7280;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s}.tab:hover{color:#374151}.tab.active{color:#bc2026;border-bottom-color:#bc2026}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.input{display:block;width:100%;padding:8px 12px;font-size:14px;line-height:1.5;color:#1f2937;background-color:#fff;background-clip:padding-box;border:1px solid #d1d5db;border-radius:6px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.input:focus{border-color:#bc2026;outline:0;box-shadow:0 0 0 2px rgba(188,32,38,.1)}.input::placeholder{color:#9ca3af}.input-label{display:block;font-size:12px;font-weight:500;color:#4b5563;margin-bottom:4px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:16px}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:flex-start;background:#f9fafb}.modal-title{margin:0;font-size:18px;font-weight:600;color:#111827}.modal-desc{margin:4px 0 0;color:#6b7280;font-size:13px}.modal-body{padding:20px;overflow-y:auto}.modal-footer{padding:16px 20px;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px;margin-top:16px}.form-grid.threeway{grid-template-columns:repeat(3,1fr)}.form-full{grid-column:1/-1}.form-section-title{grid-column:1/-1;font-size:14px;font-weight:600;color:#111827;margin-top:8px;padding-bottom:4px;border-bottom:1px solid #eee}.preset-list{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-top:12px;max-height:400px;overflow-y:auto}.preset-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid #e5e7eb;background:#fff}.preset-item:last-child{border-bottom:none}.preset-item:hover{background:#f9fafb}@media (max-width:768px){.printers-table,.printers-table tbody,.printers-table td,.printers-table thead,.printers-table tr{display:block}.printers-table thead{display:none}.printers-table{margin-top:16px}.printers-table tbody{display:flex;flex-direction:column;gap:12px}.printers-table tr{background:#fff;border-radius:12px;padding:16px;border:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.05)}.printers-table tr:hover td{background:transparent}.printers-table td{padding:8px 0;border:none}.printers-table td:before{content:attr(data-label);font-weight:600;display:block;font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.printers-table td:first-child{padding-bottom:12px;border-bottom:1px solid #f3f4f6;margin-bottom:8px}.printers-table td:last-child{padding-top:12px}.printer-name{font-size:16px}.actions-cell{justify-content:flex-start;padding-top:12px;border-top:1px solid #f3f4f6;margin-top:8px}.header-actions{width:100%;justify-content:space-between}.modal{max-width:none;margin:0;border-radius:16px 16px 0 0;max-height:85vh}.modal-header{padding:14px 16px}.modal-body{padding:16px}.modal-footer{padding:14px 16px}.form-grid{grid-template-columns:1fr}.form-grid.threeway{grid-template-columns:1fr 1fr}.preset-list{max-height:300px}.preset-item{padding:12px}.btn{min-height:44px;padding:10px 16px}.btn-danger,.btn-primary,.btn-secondary{flex:1 1;justify-content:center}.status-badge{padding:6px 12px;font-size:11px}}@media (max-width:480px){.printers-table tr{padding:14px;border-radius:10px}.form-grid.threeway{grid-template-columns:1fr}.header-actions{flex-direction:column;align-items:stretch}.header-actions .btn{width:100%;justify-content:center}.btn{min-height:48px;padding:12px 16px;font-size:14px}.tab{min-height:44px;padding:10px 14px}}