:root{--primary:#9b474f;--primary-dark:#7a353c;--primary-light:#f5e6e8;--background:#faf8f5;--card:#fff;--text:#2d3748;--muted:#718096;--border:#e2e8f0;--accent-green:#38a169;--accent-red:#e53e3e}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--background);color:var(--text);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}textarea{width:100%;min-height:80px;color:var(--text);background:var(--card);border:1px solid var(--border);resize:vertical;font:inherit;border-radius:7px;padding:10px 11px}textarea:focus{border-color:var(--primary);outline:3px solid #9b474f1f}button{cursor:pointer}.app-layout{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.app-container{width:min(1100px,100% - 32px);margin:0 auto;padding:24px 0 48px}.main-grid{grid-template-columns:1.05fr .95fr;align-items:start;gap:24px;display:grid}.left-column,.right-column{gap:24px;display:grid}.app-header{color:#fff;background:var(--primary);border-radius:12px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding:22px 24px;display:flex;box-shadow:0 4px 12px #9b474f1f}.app-header h1{margin:0 0 5px;font-size:1.45rem;font-weight:700;line-height:1.2}.app-header p{opacity:.92;margin:0;font-size:.85rem}.header-logo-wrap{box-shadow:none;background:0 0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.header-logo{width:auto;height:1.5em;display:block}.header-actions{align-items:center;gap:12px;display:flex}.logout-button{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:7px;transition:background-color .15s,transform .15s;display:flex}.logout-button:hover{background:#ffffff1f}.logout-button:active{transform:scale(.94)}.logout-button:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.logout-icon{background-color:var(--primary-light);width:20px;height:20px;-webkit-mask-image:url(/logout.svg);mask-image:url(/logout.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.projects-sidebar{background:var(--card);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:20px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.projects-sidebar-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.projects-sidebar-header h2{color:var(--text);margin:0;font-size:18px;font-weight:600}.projects-search{width:100%;color:var(--text);background:var(--background);border:1px solid var(--border);border-radius:8px;margin-bottom:14px;padding:9px 11px;font-size:13px}.projects-search::placeholder{color:var(--muted)}.projects-search:focus{outline:2px solid var(--primary-light);border-color:var(--primary);background:var(--card)}.new-project-button{color:#fff;background:var(--primary);border:0;border-radius:8px;flex-shrink:0;padding:7px 10px;font-size:13px;font-weight:600;transition:background-color .15s,transform .15s}.new-project-button:hover{background:var(--primary-dark)}.new-project-button:active{transform:translateY(1px)}.projects-list{flex-direction:column;gap:6px;display:flex;overflow-y:auto}.projects-empty{color:var(--muted);text-align:center;margin:20px 8px;font-size:13px;line-height:1.5}.project-item{background:0 0;border:1px solid #0000;border-radius:10px;align-items:stretch;gap:4px;width:100%;padding:0;display:flex}.project-item:hover{background:var(--background)}.project-item-active{background:var(--primary-light);border-color:#9b474f33}.project-item-content{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:10px;padding:11px 8px 11px 12px;display:flex}.project-item-content:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:8px}.project-delete-button{opacity:0;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;margin:4px;transition:opacity .15s,background-color .15s;display:flex}.project-item:hover .project-delete-button,.project-delete-button:focus-visible{opacity:1}.project-delete-button:hover{background:#fed7d7}.project-delete-button:focus-visible{outline:2px solid var(--accent-red);outline-offset:1px}.project-delete-icon{background-color:var(--accent-red);width:17px;height:17px;-webkit-mask-image:url(/trash.svg);mask-image:url(/trash.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px}.card h2{color:var(--primary);border-bottom:2px solid var(--primary-light);margin:0 0 20px;padding-bottom:10px;font-size:1.1rem}.card-span-2{grid-column:1/-1}.section-subtitle{color:var(--primary-dark);letter-spacing:.04em;text-transform:uppercase;margin:0 0 12px;font-size:.85rem;font-weight:700}.label-hint{color:var(--muted);font-weight:400}.surface-warning{margin:0 0 12px;font-size:.8rem;font-weight:600}.surface-warning.ok{color:var(--accent-green)}.surface-warning.alert{color:var(--accent-red)}.field-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.field-grid-2{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.pdf-tr-chart{background:#fff;width:100%;height:320px;min-height:320px}.absorption-section{gap:12px;margin-top:18px;display:grid}.absorption-section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.absorption-list{gap:10px;display:grid}.absorption-row{background:var(--background);border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(220px,1.6fr) minmax(140px,1fr) 42px;align-items:end;gap:8px;padding:10px;display:grid}.btn-add-inline{white-space:nowrap;width:auto;padding-inline:14px}.section-target{color:var(--muted);margin:0;font-size:.8rem}.summary-inline-field{gap:6px;margin-bottom:0;display:grid}.section-warning{color:var(--muted);margin:0;font-size:.78rem}.frequency-card{gap:12px;display:grid}.frequency-table{gap:8px;margin-top:12px;margin-bottom:12px;display:grid}.frequency-row{background:var(--background);border:1px solid var(--border);border-radius:8px;grid-template-columns:60px repeat(4,minmax(70px,1fr));align-items:center;gap:8px;padding:10px 12px;display:grid}.frequency-head{color:var(--primary-dark);background:var(--primary-light);font-weight:700}.frequency-note{color:var(--muted);margin:0;font-size:.8rem}.frequency-warnings{color:var(--muted);margin:0;font-size:.8rem;font-weight:600}label{gap:6px;margin-bottom:14px;font-size:.85rem;font-weight:600;display:grid}input,select{width:100%;color:var(--text);border:1px solid var(--border);background:#fff;border-radius:7px;padding:10px 11px}input:focus,select:focus{border-color:var(--primary);outline:3px solid #9b474f1f}.geometry-results{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;display:grid}.geometry-results p{text-align:center;background:var(--background);border-radius:8px;margin:0;padding:12px}.result-box{text-align:center;background:var(--primary-light);border-radius:10px;gap:8px;padding:22px;display:grid}.result-box.secondary{background:#fffaf2;border:1px solid #f6e05e}.result-box.success{background:#f0fff4;border-color:#68d391}.result-box.warning{background:#fffaf2;border-color:#f6ad55}.result-box.danger{background:#fff5f5;border-color:#f56565}.result-box span{color:var(--primary-dark)}.result-box strong{color:var(--primary);font-size:2.3rem}.result-sub{color:var(--text);font-size:.85rem}.result-stack{gap:12px;display:grid}.recommendation-card{margin-top:24px}.recommendation-section{gap:12px;margin-top:18px;display:grid}.recommendation-table{gap:10px;display:grid}.recommendation-row{border:1px solid var(--border);background:var(--background);border-radius:8px;grid-template-columns:minmax(220px,1.8fr) 90px 40px 1fr;align-items:center;gap:8px;padding:10px;display:grid}.recommendation-product-info{color:var(--muted);font-size:.8rem}.recommendation-summary{border:1px solid var(--border);background:var(--background);border-radius:8px;gap:6px;padding:12px;display:grid}.recommendation-highlight{color:var(--accent-green);font-size:1rem}.discount-note{color:var(--muted);margin:0;font-size:.74rem;line-height:1.4}.btn-delete-row{color:var(--accent-red);cursor:pointer;background:#fed7d7;border:none;border-radius:6px;padding:8px}.btn-add-item{border:1px dashed var(--primary);width:100%;color:var(--primary);cursor:pointer;background:#fff;border-radius:8px;padding:10px}.export-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:10px 12px;font-weight:700}.export-button:hover{background:var(--primary-dark)}@media (max-width:750px){.app-header{flex-direction:column;align-items:flex-start}.main-grid,.left-column,.right-column,.field-grid,.field-grid-2,.geometry-results,.recommendation-row{grid-template-columns:1fr}}.acoustic-charts{gap:24px;margin-top:16px;margin-bottom:16px;display:grid}.chart-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:20px}.chart-heading{justify-content:space-between;gap:16px;margin-bottom:16px;display:flex}.chart-heading h3{color:var(--primary);margin:0 0 4px;font-size:1rem}.chart-heading p{color:var(--text-muted);margin:0;font-size:.82rem}.chart-wrapper{width:100%;height:320px}.chart-empty{text-align:center;color:var(--text-muted);background:var(--background);border-radius:8px;margin:0;padding:32px}@media (max-width:600px){.chart-wrapper{height:260px}}@media print{.chart-card{break-inside:avoid}.chart-wrapper{height:260px}}
