*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-tertiary: #0f3460;--accent: #e94560;--accent-hover: #ff6b6b;--text-primary: #ffffff;--text-secondary: #a0a0a0;--border-color: #2a2a4e;--success: #4caf50;--warning: #ff9800;--error: #f44336;--info: #2196f3}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}#root{height:100vh;width:100vw}.app-container{display:grid;grid-template-columns:320px 1fr 380px;grid-template-rows:56px 1fr;height:100vh}.header{grid-column:1 / -1;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.header h1{font-size:1.25rem;font-weight:600}.header-actions{display:flex;gap:12px;align-items:center}.language-selector{display:flex;align-items:center;gap:8px;margin-right:8px}.language-dropdown{display:flex;align-items:center;gap:4px}.language-dropdown .globe-icon{font-size:1rem}.language-dropdown select{padding:6px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.75rem;cursor:pointer;min-width:120px}.language-dropdown select:focus{outline:none;border-color:var(--accent)}.unit-toggle{padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.unit-toggle:hover{background:var(--border-color)}.left-panel{background:var(--bg-secondary);border-right:1px solid var(--border-color);overflow-y:auto;padding:16px}.center-panel{position:relative;background:var(--bg-primary)}.right-panel{background:var(--bg-secondary);border-left:1px solid var(--border-color);overflow-y:auto;display:flex;flex-direction:column}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}input[type=number],input[type=text],select{width:100%;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem}input[type=number]:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--accent)}input[type=range]{width:100%;accent-color:var(--accent)}.btn{padding:10px 16px;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--border-color)}.btn-icon{padding:8px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px}.btn-icon:hover{color:var(--text-primary);background:var(--bg-tertiary)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.section-header h2{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tabs{display:flex;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.tab{flex:1;padding:12px 8px;background:transparent;border:none;color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:all .2s}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--accent);border-bottom:2px solid var(--accent)}.card{background:var(--bg-tertiary);border-radius:8px;padding:16px;margin-bottom:12px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-header h3{font-size:.875rem;font-weight:600}.warning-list{padding:16px}.warning-item{display:flex;gap:12px;padding:12px;border-radius:6px;margin-bottom:8px}.warning-item.info{background:#2196f31a;border-left:3px solid var(--info)}.warning-item.warning{background:#ff98001a;border-left:3px solid var(--warning)}.warning-item.error{background:#f443361a;border-left:3px solid var(--error)}.warning-item .message{font-size:.875rem}.warning-item .recommendation{font-size:.75rem;color:var(--text-secondary);margin-top:4px}table{width:100%;border-collapse:collapse}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color);font-size:.875rem}th{font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase}.text-right{text-align:right}.toggle-wrapper{display:flex;align-items:center;gap:8px}.toggle{position:relative;width:44px;height:24px;background:var(--bg-tertiary);border-radius:12px;cursor:pointer;transition:background .2s}.toggle.active{background:var(--accent)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s}.toggle.active:after{transform:translate(20px)}.layer-controls{position:absolute;top:16px;left:16px;z-index:10;background:var(--bg-secondary);border-radius:8px;padding:12px;border:1px solid var(--border-color)}.layer-control{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:.875rem}.layer-control input[type=checkbox]{accent-color:var(--accent)}.view-toggle{position:absolute;top:16px;right:16px;z-index:10;display:flex;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color);overflow:hidden}.view-toggle button{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer}.view-toggle button.active{background:var(--accent);color:#fff}.shopping-list{padding:16px;flex:1;overflow-y:auto}.shopping-category{margin-bottom:16px}.shopping-category h4{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;margin-bottom:8px}.shopping-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-color);font-size:.875rem}.shopping-total{padding:16px;background:var(--bg-tertiary);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;font-size:1.125rem;font-weight:600}.cut-diagram{margin-bottom:16px}.sleeper-bar{position:relative;height:40px;background:linear-gradient(135deg,#8b6914,#a67c00,#8b6914);border-radius:4px;margin-bottom:4px;display:flex;overflow:hidden}.cut-piece{display:flex;align-items:center;justify-content:center;border-right:2px dashed rgba(0,0,0,.5);font-size:.625rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);padding:0 4px}.cut-piece:last-child{border-right:none}.waste-piece{background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,0,0,.2) 4px,rgba(0,0,0,.2) 8px);color:#ffffff80}.sleeper-info{font-size:.75rem;color:var(--text-secondary);display:flex;justify-content:space-between}.assembly-section{padding:16px}.assembly-step{display:flex;gap:16px;padding:16px;background:var(--bg-tertiary);border-radius:8px;margin-bottom:12px}.step-number{width:32px;height:32px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.step-content h4{font-size:.875rem;margin-bottom:4px}.step-content p{font-size:.875rem;color:var(--text-secondary)}.drilling-map{padding:16px}.course-diagram{margin-bottom:24px}.course-diagram h4{font-size:.875rem;margin-bottom:12px}.course-visual{position:relative;background:var(--bg-tertiary);border-radius:4px;padding:16px}.drill-point{position:absolute;width:12px;height:12px;background:var(--accent);border-radius:50%;transform:translate(-50%,-50%)}.bed-list{margin-bottom:16px}.bed-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-tertiary);border-radius:6px;margin-bottom:8px;cursor:pointer;transition:all .2s}.bed-item:hover{background:var(--border-color)}.bed-item.selected{border:1px solid var(--accent)}.bed-item-info h4{font-size:.875rem;margin-bottom:2px}.bed-item-info span{font-size:.75rem;color:var(--text-secondary)}@media(max-width:1024px){.app-container{grid-template-columns:280px 1fr 320px}}@media(max-width:768px){.app-container{grid-template-columns:1fr;grid-template-rows:56px 1fr auto}.left-panel,.right-panel{display:none}}.toggle-label{position:relative;display:inline-flex;align-items:center;cursor:pointer}.toggle-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-label input[type=checkbox]:focus+.toggle{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
