*{margin:0;padding:0;box-sizing:border-box}:root{--header-height: 50px;--main-padding: 20px;--control-height: 100px}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#f5f5f5;min-height:100vh;padding:0}.container{max-width:100%;height:100vh;margin:0 auto;background:#fff;display:flex;flex-direction:column}header{background:#2d3748;color:#fff;padding:12px 30px;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}header h1{font-size:1.3em;margin:0;font-weight:600}.subtitle{font-size:.85em;opacity:.8;margin:0}.main-content{display:flex;gap:20px;padding:var(--main-padding);flex:1;overflow:hidden;height:calc(100vh - var(--header-height))}.preview-panel{flex:1.2;min-width:500px;display:flex;flex-direction:column;height:100%}.preview-panel h2{color:#2d3748;margin-bottom:12px;font-size:1.2em;font-weight:600}.view-toggle{display:flex;gap:8px;margin-bottom:12px}.view-toggle button{flex:1;padding:8px;border:1px solid #cbd5e0;background:#fff;color:#4a5568;border-radius:4px;cursor:pointer;font-weight:500;font-size:.9em;transition:all .2s}.view-toggle button.active{background:#2d3748;color:#fff;border-color:#2d3748}.view-toggle button:hover:not(.active){background:#f7fafc;border-color:#a0aec0}.structure-info{margin-top:12px;padding:12px;background:#f7fafc;border-radius:4px;display:flex;justify-content:space-around;border:1px solid #e2e8f0}.structure-info p{font-size:.9em;color:#4a5568}.control-panel{flex:1;min-width:380px;overflow-y:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:#cbd5e0 #f1f1f1}.control-panel::-webkit-scrollbar{width:6px}.control-panel::-webkit-scrollbar-track{background:#f1f1f1}.control-panel::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.control-panel::-webkit-scrollbar-thumb:hover{background:#a0aec0}.section{background:#fafafa;padding:16px;margin-bottom:16px;border-radius:4px;border:1px solid #e2e8f0}.section.collapsible{padding:0}.section-header{color:#2d3748;margin:0;padding:12px 16px;font-size:1em;font-weight:600;display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.section-header:hover{background:#f0f0f0}.section-header .toggle-icon{font-size:.8em;transition:transform .3s}.section-content{padding:0 16px 16px}.section h3{color:#2d3748;margin-bottom:12px;font-size:1em;font-weight:600;display:flex;align-items:center;gap:8px}.info-icon{display:inline-block;width:16px;height:16px;line-height:16px;text-align:center;background:#cbd5e0;color:#4a5568;border-radius:50%;font-size:11px;font-weight:700;cursor:help;position:relative;-webkit-user-select:none;user-select:none}.info-icon:hover:after{content:attr(data-tooltip);position:absolute;left:20px;top:-8px;background:#2d3748;color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;font-weight:400;white-space:nowrap;z-index:1000;box-shadow:0 2px 8px #0003}.info-icon:hover:before{content:"";position:absolute;left:16px;top:0;border:6px solid transparent;border-right-color:#2d3748;z-index:1001}.metric-help{margin-top:6px;color:#718096;font-size:.85em;line-height:1.4}.metric-formula{margin-top:4px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:4px;background:#f7fafc;color:#4a5568;font-size:.85em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;overflow-x:auto}select{width:100%;padding:10px;border:1px solid #cbd5e0;border-radius:4px;font-size:.95em;margin-bottom:8px;background:#fff;cursor:pointer;color:#2d3748;transition:border-color .2s}select:focus{outline:none;border-color:#4a5568}select:hover{border-color:#a0aec0}.btn-primary,.btn-secondary,.btn-danger,.btn-calculate{padding:10px 20px;border:none;border-radius:4px;font-size:.95em;font-weight:500;cursor:pointer;transition:all .2s;display:inline-block}.btn-primary{background:#2d3748;color:#fff;width:100%;margin-top:8px}.btn-primary:hover{background:#1a202c}.btn-secondary{background:#4a5568;color:#fff;flex:1}.btn-secondary:hover{background:#2d3748}.btn-danger{background:#e53e3e;color:#fff;flex:1}.btn-danger:hover:not(:disabled){background:#c53030}.btn-danger:disabled{background:#e2e8f0;color:#a0aec0;cursor:not-allowed}.btn-calculate{background:#2d3748;color:#fff;width:100%;font-size:1em;padding:12px}.btn-calculate:hover{background:#1a202c}.button-group{display:flex;gap:8px;margin-bottom:12px}label{display:block;margin-bottom:8px;color:#4a5568;font-weight:500;font-size:.9em}.info-display{background:#fff;padding:12px;border-radius:4px;margin-top:8px;border:1px solid #e2e8f0}.info-display p{margin:6px 0;color:#4a5568;font-size:.9em}.results-panel{margin-top:16px}.result-item{background:#fff;padding:12px;margin-bottom:12px;border-radius:4px;border:1px solid #e2e8f0}.result-item h4{color:#2d3748;margin-bottom:8px;font-size:.95em;font-weight:600;display:flex;align-items:center;gap:8px}.result-item p{display:flex;justify-content:space-between;color:#4a5568;font-size:.9em;margin-top:4px}.status-badge{display:inline-block;padding:6px 14px;border-radius:4px;font-weight:500;font-size:.9em}.status-ok{background:#2d3748;color:#fff}.status-warning{background:#718096;color:#fff}.status-danger{background:#4a5568;color:#fff}.status-pending{background:#e2e8f0;color:#4a5568}.progress-bar{width:100%;height:20px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin:8px 0}.progress-fill{height:100%;background:#2d3748;transition:width .5s ease,background .3s ease;border-radius:4px}.progress-fill.warning{background:#718096}.progress-fill.danger{background:#4a5568}.status-indicator{font-weight:600}.suggestion-list{list-style-position:inside;color:#4a5568;font-size:.9em;margin:0;padding:0}.suggestion-list li{margin:6px 0;line-height:1.5}@media (max-width: 1200px){.main-content{flex-direction:column;overflow:visible;height:auto}.preview-panel{min-width:auto;height:50vh}.control-panel{min-width:auto;overflow-y:visible}}@media (max-width: 768px){body{padding:0}.container{border-radius:0}header{padding:10px 20px;height:var(--header-height)}header h1{font-size:1.1em}.subtitle{font-size:.75em}.main-content{padding:15px}.preview-panel{width:100%;min-width:auto}.control-panel{padding-right:0}}
