:root{--primary: #2c3e50;--secondary: #34495e;--accent: #3498db;--bg: #ecf0f1;--panel-bg: #fff;--text: #333;--border: #ddd;--ad-bg: #dfe6e9}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg);color:var(--text);line-height:1.5}.app-container{display:flex;flex-direction:column;min-height:100vh}.navbar{background:var(--primary);color:#fff;padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.navbar-logo{font-weight:700;font-size:1.25rem;display:flex;align-items:center;gap:.5rem}.navbar-links{list-style:none;display:flex;gap:1.5rem;margin:0;padding:0}.navbar-links a{color:#bdc3c7;text-decoration:none;font-size:.95rem;transition:color .2s}.navbar-links a:hover,.navbar-links a.active{color:#fff}.visualizer-container{padding:1rem}.layout-grid{display:grid;grid-template-columns:160px 1fr 160px;gap:1.5rem;max-width:1800px;margin:2rem auto;padding:0 2rem;width:100%;box-sizing:border-box;flex:1}.ad-sidebar{background:transparent;border-radius:8px;display:flex;align-items:center;justify-content:center;color:transparent;font-size:.9rem;min-height:400px;border:none}.main-content-column{display:flex;flex-direction:column;gap:1.5rem}.content-row{display:flex;gap:1.5rem}.left-column,.right-column{flex:1;display:flex;flex-direction:column;gap:1.5rem}@media(max-width:1100px){.layout-grid{grid-template-columns:1fr}.ad-sidebar.desktop-only{display:none}.content-row{flex-direction:column}}.input-panel,.results-section{background:var(--panel-bg);padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000000d}.collapsible-section{background:var(--panel-bg);border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:1rem;overflow:hidden}.collapsible-header{padding:1rem 1.5rem;background:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid transparent;transition:background .2s}.collapsible-header:hover{background:#f8f9fa}.collapsible-header h3{margin:0;font-size:1.1rem;color:var(--primary)}.collapsible-content{padding:1.5rem;border-top:1px solid var(--border);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.arrow{font-size:.8rem;transition:transform .2s}.arrow.open{transform:rotate(180deg)}.viz-group{margin-bottom:2rem}.viz-group h4{margin:0 0 1rem;color:var(--secondary);font-size:1rem}.sheet-container{display:flex;flex-wrap:wrap;gap:1.5rem}.sheet-wrapper{display:flex;flex-direction:column;align-items:center;gap:.5rem}.sheet-svg{background:#fff;box-shadow:0 2px 8px #0000001a;border-radius:2px}.sheet-label{font-size:.8rem;color:var(--secondary);font-weight:500}.viz-note{font-size:.75rem;color:#95a5a6;margin-top:1rem;font-style:italic}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;font-size:.9rem}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}input,select{width:100%;padding:.6rem;border:1px solid var(--border);border-radius:4px;font-size:1rem;box-sizing:border-box}.toggle-group{display:flex;border:1px solid var(--border);border-radius:4px;overflow:hidden}.toggle-group button{flex:1;padding:.6rem;border:none;background:#f8f9fa;cursor:pointer;font-weight:500}.toggle-group button.active{background:var(--accent);color:#fff}.calculate-btn{width:100%;padding:.8rem;background:var(--primary);color:#fff;border:none;border-radius:4px;font-size:1.1rem;font-weight:700;cursor:pointer;margin-top:1rem;transition:opacity .2s}.calculate-btn:hover{opacity:.9}.cut-list-table{width:100%;border-collapse:collapse}.cut-list-table th,.cut-list-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border)}.cut-list-table th{background:#f8f9fa;font-weight:600}.bom-group{margin-bottom:1.5rem}.bom-group h4{margin:0 0 .5rem;color:var(--secondary);border-bottom:2px solid var(--bg);padding-bottom:.25rem}.bom-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border)}.bom-item span{flex:1}.bom-item strong{margin:0 1rem}.aff-link{color:#fff;background:#27ae60;padding:.25rem .75rem;text-decoration:none;border-radius:4px;font-size:.85rem;font-weight:600}.aff-link:hover{background:#219150}.disclaimer{font-size:.8rem;color:#7f8c8d;margin-top:1rem;text-align:center}.app-footer{background:#fff;padding:2rem;margin-top:auto;text-align:center;border-top:1px solid var(--border)}.placeholder{text-align:center;color:#95a5a6;padding:4rem 2rem;background:var(--panel-bg);border-radius:8px;border:2px dashed var(--border)}@media print{.navbar,.ad-sidebar,.print-btn,.calculate-btn,.viz-controls,.footer-ad,.app-footer,.collapsible-header .arrow,.aff-link,.disclaimer{display:none!important}body{background:#fff;color:#000;font-size:11pt}.app-container{display:block;height:auto;overflow:visible}.layout-grid{display:block;width:100%;max-width:none;margin:0;padding:0}.content-row{display:flex;flex-direction:column;gap:1rem}.left-column,.right-column{display:block}.input-panel,.results-section,.collapsible-section{box-shadow:none;border:1px solid #ccc;margin-bottom:1rem;padding:1rem;page-break-inside:auto;break-inside:auto}tr{page-break-inside:avoid;break-inside:avoid}.sheet-svg{transform:scale(.9);transform-origin:top left}.sheet-container{gap:1rem}.sheet-wrapper{page-break-inside:avoid}h3{font-size:1.2rem;margin-top:0;color:#000!important;border-bottom:1px solid #eee;padding-bottom:.5rem}.sheet-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.sheet-modal-content{background-color:#fff;width:95vw;height:95vh;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.sheet-modal-header{padding:1rem;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.sheet-modal-header h3{margin:0}.sheet-modal-actions{display:flex;gap:1rem}.modal-print-btn{background:#27ae60;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:700}.modal-close-btn{background:transparent;border:1px solid #ccc;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.sheet-modal-body{flex:1;overflow:auto;padding:1rem;background:#ecf0f1;display:flex;justify-content:center;align-items:flex-start}.sheet-modal-body .sheet-svg{max-height:100%;width:auto;max-width:100%;background:#fff;box-shadow:0 0 20px #0000001a}body:not(.printing-modal) .input-panel{page-break-after:always;break-after:page}body:not(.printing-modal) .bom-group{page-break-inside:avoid}body:not(.printing-modal) .results-section{page-break-before:always;break-before:page}body:not(.printing-modal) .cut-list-table{page-break-before:auto;break-before:auto;width:100%}body:not(.printing-modal) .visualizer-container{page-break-before:always;break-before:page}body:not(.printing-modal) .viz-group{page-break-inside:avoid;margin-bottom:2rem}body:not(.printing-modal) .sheet-wrapper{page-break-after:always;break-after:page;page-break-inside:avoid;display:block;width:100%}body:not(.printing-modal) .sheet-svg{width:100%!important;height:auto!important;transform:none!important;border:none!important;max-height:95vh;min-width:100%}body:not(.printing-modal) .sheet-container{display:block}}.sheet-svg{width:100%;height:auto;max-width:1000px;border:1px solid #ddd;background:#fafafa;border-radius:4px}.sheet-wrapper{margin-bottom:1rem;background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000000d}.sheet-container{display:flex;flex-direction:column;gap:1.5rem}.cut-list-table th,.cut-list-table td{padding:.4rem;font-size:10pt}.collapsible-header{padding:.5rem;background:none;margin-bottom:.5rem}.collapsible-content{padding:0;border:none}.mobile-ad-sticky-container{position:fixed;bottom:0;left:0;width:100%;background-color:#f0f0f0;border-top:1px solid #ccc;z-index:9999;display:flex;justify-content:center;align-items:center;padding:5px 0;box-shadow:0 -2px 10px #0000001a;min-height:70px}.mobile-ad-close{position:absolute;top:-15px;right:10px;background:#333;color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003}.mobile-ad-content{transform-origin:bottom center}@media(min-width:1024px){.mobile-ad-sticky-container{display:none!important}}@media(max-width:480px){.mobile-ad-content{transform:scale(.75);margin-bottom:-7px}}@media(max-width:360px){.mobile-ad-content{transform:scale(.65);margin-bottom:-10px}}
