*{box-sizing:border-box;margin:0;padding:0}body{display:flex;height:100vh;font-family:Arial,sans-serif;background:#eef2f5;overflow:hidden}#sidebar{width:420px;background:#fff;padding:20px;border-right:1px solid #d0d7de;display:flex;flex-direction:column;gap:10px;box-shadow:2px 0 10px #0000000d;z-index:10;overflow-y:auto}h2{font-size:16px;color:#333;border-bottom:2px solid #007bff;padding-bottom:6px;margin-top:5px}.input-group{display:flex;flex-direction:column;gap:3px}.row-group{display:flex;gap:8px;align-items:center;justify-content:space-between;background:#f8f9fa;padding:6px 8px;border-radius:6px;border:1px solid #e9ecef}label{font-size:11px;font-weight:700;color:#444;flex:1;line-height:1.2}input,select{padding:5px 6px;font-size:12px;border:1px solid #ccc;border-radius:4px;outline:none;width:100%}.shelf-row input{width:70px;text-align:center}input:focus,select:focus{border-color:#007bff}.add-btn{background:#007bff;color:#fff;border:none;padding:6px 10px;font-size:12px;font-weight:700;border-radius:4px;cursor:pointer;transition:background .2s;white-space:nowrap}.add-btn:hover{background:#0056b3}.reset-btn{background:#dc3545;color:#fff;border:none;padding:6px 10px;font-size:12px;font-weight:700;border-radius:4px;cursor:pointer;transition:background .2s;margin-top:5px}.reset-btn:hover{background:#c82333}.parts-list{background:#e9ecef;padding:10px;border-radius:6px;font-size:11px;line-height:1.4;color:#333}.parts-list ul{padding-left:15px;margin-top:3px}.parts-list li{margin-bottom:3px}#canvas-container{flex:1;height:100vh;position:relative}.info{font-size:11px;color:#777;margin-top:auto;line-height:1.3;border-top:1px solid #eee;padding-top:8px}.warning{color:#d9534f;font-weight:700;font-size:11px;background:#fdf7f7;padding:6px;border-left:4px solid #d9534f;border-radius:2px}.success{color:#28a745;font-size:11px}hr{border:0;border-top:1px solid #ddd;margin:3px 0}.print-btn{background:#28a745;color:#fff;border:none;padding:8px 10px;font-size:13px;font-weight:700;border-radius:4px;cursor:pointer;transition:background .2s;margin-top:5px}.print-btn:hover{background:#1e7e34}#signInScreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#eef2f5;display:flex;align-items:center;justify-content:center}#signInScreen[hidden]{display:none}.sign-in-card{background:#fff;padding:32px;border-radius:8px;box-shadow:0 2px 12px #00000014;display:flex;flex-direction:column;gap:14px;min-width:300px;text-align:center}.sign-in-card h1{font-size:20px;color:#333}.sign-in-card p{font-size:13px;color:#555}.primary-btn{background:#007bff;color:#fff;border:none;padding:10px 14px;font-size:14px;font-weight:700;border-radius:4px;cursor:pointer}.primary-btn:hover{background:#0056b3}#designBar{display:flex;flex-direction:column;gap:8px}.user-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#555}.link-btn{background:none;border:none;color:#007bff;font-size:11px;cursor:pointer;padding:0}.link-btn:hover{text-decoration:underline}.button-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.secondary-btn{background:#fff;color:#333;border:1px solid #ccc;padding:6px 10px;font-size:12px;font-weight:700;border-radius:4px;cursor:pointer}.secondary-btn:hover{background:#f1f3f5}.danger-link{background:none;border:none;color:#dc3545;font-size:12px;cursor:pointer;margin-left:auto}.danger-link:hover{text-decoration:underline}button:disabled{opacity:.45;cursor:not-allowed}.owner-note{font-size:11px;color:#555;background:#fff8e1;border-left:4px solid #f0ad4e;padding:6px;border-radius:2px}.owner-note[hidden]{display:none}#saveStatus{font-size:11px;min-height:14px}#saveStatus.error{color:#d9534f;font-weight:700}#saveStatus.dirty{color:#8a6d3b}#cabinetForm{display:flex;flex-direction:column;gap:10px}#openDialog{margin:auto;border:none;border-radius:8px;padding:20px;width:min(760px,92vw);max-height:80vh;box-shadow:0 4px 24px #0003}#openDialog::backdrop{background:#0000004d}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.owner-filter{display:flex;gap:12px}.owner-filter label{font-size:12px;font-weight:400;display:flex;gap:4px;align-items:center}.owner-filter input{width:auto}.design-list{width:100%;border-collapse:collapse;font-size:12px}.design-list th{text-align:left;border-bottom:2px solid #007bff;padding:6px;color:#333}.design-list td{border-bottom:1px solid #eee;padding:6px}.design-list tbody tr{cursor:pointer}.design-list tbody tr:hover{background:#f1f7ff}#designListStatus{font-size:12px;color:#555;margin-bottom:6px}.dialog-actions{display:flex;justify-content:flex-end;margin-top:12px}#print-area{display:none}@media print{@page{size:A4 portrait;margin:15mm}body{display:block;height:auto;overflow:visible;background:#fff}#sidebar,#canvas-container,#signInScreen,#openDialog{display:none!important}#print-area{display:block;font-family:Arial,sans-serif;color:#000}#print-area h1{font-size:20px;margin-bottom:4px}#print-area .print-date{font-size:11px;color:#555;margin-bottom:12px}#print-area h3{font-size:14px;margin:14px 0 6px;border-bottom:1px solid #000;padding-bottom:3px}#print-area img{display:block;max-width:100%;max-height:120mm;margin:0 auto;border:1px solid #ccc}#print-area table{border-collapse:collapse;font-size:12px}#print-area td{padding:3px 12px 3px 0}#print-area ul{padding-left:18px;font-size:12px;line-height:1.6}}
