* { box-sizing: border-box; margin: 0; padding: 0; }

body { 
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
    background-color: #f4f7f6; 
    color: #333; 
    overflow: hidden; 
}

.container { display: flex; height: 100vh; }

.sidebar { 
    width: 320px; 
    background-color: #ffffff; 
    padding: 20px; 
    box-shadow: 2px 0 10px rgba(0,0,0,0.1); 
    display: flex; 
    flex-direction: column; 
    gap: 20px; 
    z-index: 10; 
    overflow-y: auto;
}

.sidebar h2 { font-size: 1.2rem; color: #2c3e50; border-bottom: 2px solid #ecf0f1; padding-bottom: 10px; margin-top: 10px; }
.input-group { display: flex; flex-direction: column; gap: 8px; }
.input-group label { font-weight: 600; font-size: 0.9rem; color: #555; }
.input-group input { padding: 10px; border: 1px solid #ccd1d9; border-radius: 4px; font-size: 1rem; outline: none; }
.input-group input:focus { border-color: #3498db; }

.status-panel { background-color: #ecf0f1; padding: 15px; border-radius: 4px; text-align: center; font-size: 1rem; }
#info-aktywna-sciana { color: #e74c3c; font-size: 1.1rem; }

button { padding: 12px; background-color: #3498db; color: white; border: none; border-radius: 4px; cursor: pointer; font-weight: bold; font-size: 1rem; transition: background 0.3s; }
button:hover { background-color: #2980b9; }

.viewer { flex-grow: 1; position: relative; display: flex; }
#widok3d { width: 100%; height: 100%; }

#rzut2d { 
    position: absolute; bottom: 20px; right: 20px; 
    width: 250px; height: 250px; 
    background-color: rgba(255, 255, 255, 0.95); 
    border: 2px solid #bdc3c7; border-radius: 8px; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.2); z-index: 20; 
}

/* Style dla elementów SVG */
.sciana { stroke: #2c3e50; stroke-width: 250; fill: none; stroke-linecap: square; transition: stroke 0.2s, stroke-width 0.2s; cursor: pointer; pointer-events: stroke; }
.sciana:hover { stroke: #e67e22; }
.sciana.aktywna { stroke: #e74c3c; stroke-width: 400; }

.os-konstrukcyjna { stroke: #7f8c8d; stroke-width: 50; stroke-dasharray: 400 400; fill: none; pointer-events: none; }