.input-group{margin-bottom:var(--space-6)}.input-label-wrapper{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-2)}.input-label{display:block;font-weight:500;font-size:.938rem;color:var(--color-text);margin-bottom:var(--space-2)}.input-required{color:var(--color-error);margin-left:var(--space-1)}.input-wrapper{position:relative;display:flex;align-items:center}.input-field{width:100%;padding:var(--space-3) var(--space-4);font-size:1rem;line-height:1.5;color:var(--color-text);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .2s}.input-field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.input-field:disabled{background-color:var(--color-bg-alt);color:var(--color-text-secondary);cursor:not-allowed}.input-field.input-error{border-color:var(--color-error)}.input-field.input-error:focus{box-shadow:0 0 0 3px #ef44441a}.input-with-unit{padding-right:3.5rem}.input-unit{position:absolute;right:var(--space-4);font-size:.938rem;color:var(--color-text-secondary);pointer-events:none}.input-help{margin-top:var(--space-2);font-size:.875rem;color:var(--color-text-secondary)}.input-error-text{margin-top:var(--space-2);font-size:.875rem;color:var(--color-error)}.select-field{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:2.5rem;cursor:pointer}.select-field:disabled{cursor:not-allowed}.radio-group{display:flex;gap:var(--space-4)}.radio-group-vertical{flex-direction:column}.radio-group-horizontal{flex-direction:row;flex-wrap:wrap}.radio-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.radio-option:hover:not(.radio-option-disabled){background-color:var(--color-bg-alt);border-color:var(--color-primary)}.radio-option-disabled{opacity:.6;cursor:not-allowed}.radio-input{margin-top:.125rem;width:1rem;height:1rem;cursor:pointer;accent-color:var(--color-primary)}.radio-input:disabled{cursor:not-allowed}.radio-label-wrapper{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.radio-label-text{font-weight:500;color:var(--color-text)}.radio-description{font-size:.875rem;color:var(--color-text-secondary)}.load-point-container{display:flex;flex-direction:column;gap:var(--space-4)}.load-point-item{padding:var(--space-4);background-color:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md)}.load-point-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.load-point-title{font-weight:600;font-size:.938rem;color:var(--color-text)}.load-point-remove{padding:var(--space-2) var(--space-3);font-size:.875rem;color:var(--color-error);background:transparent;border:1px solid var(--color-error);border-radius:var(--radius-sm);transition:all .2s}.load-point-remove:hover:not(:disabled){background-color:var(--color-error);color:#fff}.load-point-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.load-point-add{padding:var(--space-3) var(--space-4);font-size:.938rem;color:var(--color-primary);background:#fff;border:1px dashed var(--color-primary);border-radius:var(--radius-md);transition:all .2s}.load-point-add:hover:not(:disabled){background-color:var(--color-primary);color:#fff;border-style:solid}@media (max-width: 768px){.radio-group-horizontal{flex-direction:column}.load-point-fields{grid-template-columns:1fr}}.design-wizard{display:flex;flex-direction:column;gap:var(--space-8)}.wizard-progress{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-6);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.wizard-progress-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex:1;position:relative}.wizard-progress-step:after{content:"";position:absolute;top:1.25rem;left:50%;right:-50%;height:2px;background:var(--color-border);z-index:-1}.wizard-progress-step:last-child:after{display:none}.wizard-progress-step.completed:after{background:var(--color-success)}.wizard-progress-number{width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;background:var(--color-bg-alt);border:2px solid var(--color-border);color:var(--color-text-secondary);transition:all .3s}.wizard-progress-step.active .wizard-progress-number{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:scale(1.1)}.wizard-progress-step.completed .wizard-progress-number{background:var(--color-success);border-color:var(--color-success);color:#fff}.wizard-progress-title{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);text-align:center}.wizard-progress-step.active .wizard-progress-title{color:var(--color-primary);font-weight:600}.wizard-content{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-sm)}.wizard-step{display:flex;flex-direction:column;gap:var(--space-6)}.wizard-step-title{font-size:1.75rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-2)}.wizard-step-description{font-size:1rem;color:var(--color-text-secondary);margin-bottom:var(--space-4)}.wizard-step-content{display:flex;flex-direction:column;gap:var(--space-6)}.wizard-navigation{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-6);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.wizard-step-indicator{font-size:.938rem;font-weight:500;color:var(--color-text-secondary)}.wizard-btn{padding:var(--space-3) var(--space-6);font-size:1rem;font-weight:500;border-radius:var(--radius-md);transition:all .2s;cursor:pointer;border:none;min-width:120px}.wizard-btn-primary{background:var(--color-primary);color:#fff}.wizard-btn-primary:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.wizard-btn-secondary{background:#fff;color:var(--color-text);border:1px solid var(--color-border)}.wizard-btn-secondary:hover:not(:disabled){background:var(--color-bg-alt);border-color:var(--color-text-secondary)}.wizard-btn-success{background:var(--color-success);color:#fff;font-size:1.125rem;padding:var(--space-4) var(--space-8)}.wizard-btn-success:hover:not(:disabled){background:#059669;box-shadow:var(--shadow-md);transform:translateY(-1px)}.wizard-btn:disabled{opacity:.5;cursor:not-allowed}.wizard-error{padding:var(--space-4);background:#fef2f2;border:1px solid var(--color-error);border-radius:var(--radius-md);color:#991b1b}.constraint-warning{padding:var(--space-4);background:#fffbeb;border:1px solid var(--color-warning);border-radius:var(--radius-md);color:#92400e;font-weight:500}.advanced-info{background:#eff6ff;border:1px solid #3b82f6;border-radius:var(--radius-md);padding:var(--space-4);margin-top:var(--space-4)}.advanced-info h4{color:#1e40af;margin-bottom:var(--space-3);font-size:1rem}.advanced-info ul{margin:0;padding-left:var(--space-6);color:#1e40af}.advanced-info li{margin-bottom:var(--space-2);font-size:.938rem}@media (max-width: 768px){.wizard-progress{padding:var(--space-4);gap:var(--space-2)}.wizard-progress-title{font-size:.75rem}.wizard-progress-number{width:2rem;height:2rem;font-size:.875rem}.wizard-content{padding:var(--space-6) var(--space-4)}.wizard-step-title{font-size:1.5rem}.wizard-navigation{flex-direction:column;gap:var(--space-3)}.wizard-btn{width:100%}}.results-panel{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-sm);margin-top:var(--space-8)}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-border)}.results-header h2{font-size:1.75rem;color:var(--color-text)}.status-indicator{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-weight:600;font-size:1rem}.status-success{background:#d1fae5;color:#065f46}.status-warning{background:#fef3c7;color:#92400e}.status-error{background:#fee2e2;color:#991b1b}.status-icon{font-size:1.25rem}.spec-table{display:flex;flex-direction:column;gap:var(--space-6)}.spec-section{display:flex;flex-direction:column;gap:var(--space-4)}.spec-section-title{font-size:1.125rem;font-weight:600;color:var(--color-primary);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.spec-item{display:flex;flex-direction:column;gap:var(--space-1)}.spec-label{font-size:.875rem;color:var(--color-text-secondary);font-weight:500}.spec-value{font-size:1.125rem;font-weight:600;color:var(--color-text);font-family:var(--font-mono)}.message-list{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.message-list-title{font-size:1.125rem;font-weight:600;margin-bottom:var(--space-4)}.message-list-content{display:flex;flex-direction:column;gap:var(--space-3)}.message-item{padding:var(--space-4);border-radius:var(--radius-md);border-left:4px solid}.message-error{background:#fef2f2;border-left-color:var(--color-error)}.message-warning{background:#fffbeb;border-left-color:var(--color-warning)}.message-info{background:#eff6ff;border-left-color:var(--color-primary)}.message-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.message-severity{font-weight:600;font-size:.875rem}.message-code{font-family:var(--font-mono);font-size:.813rem;padding:var(--space-1) var(--space-2);background:#0000000d;border-radius:var(--radius-sm)}.message-text{font-size:.938rem;line-height:1.5;margin:0}.message-error .message-text{color:#991b1b}.message-warning .message-text{color:#92400e}.message-info .message-text{color:#1e40af}.results-actions{display:flex;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.results-btn{padding:var(--space-3) var(--space-6);font-size:1rem;font-weight:500;border-radius:var(--radius-md);transition:all .2s;cursor:pointer;border:none}.results-btn-secondary{background:#fff;color:var(--color-text);border:1px solid var(--color-border)}.results-btn-secondary:hover{background:var(--color-bg-alt);border-color:var(--color-text-secondary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.results-panel{padding:var(--space-6) var(--space-4)}.results-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.spec-grid{grid-template-columns:1fr}.results-actions{flex-direction:column}.results-btn{width:100%}.optimization-suggestions{background:linear-gradient(135deg,#fff5e6,#ffe6cc);border:2px solid #ff9800;border-radius:8px;padding:20px;margin:20px 0;box-shadow:0 4px 6px #ff98001a}.optimization-header h3{color:#e65100;margin:0 0 10px;font-size:1.3em;display:flex;align-items:center;gap:8px}.optimization-primary-issue{color:#d84315;font-weight:600;font-size:1.1em;margin:10px 0;padding:12px;background:#ffffffb3;border-left:4px solid #ff5722;border-radius:4px}.optimization-parameters,.optimization-alternatives{margin-top:20px}.optimization-parameters h4,.optimization-alternatives h4{color:#e65100;margin:0 0 15px;font-size:1.1em;border-bottom:2px solid #ffb74d;padding-bottom:8px}.suggestion-list{display:flex;flex-direction:column;gap:15px}.suggestion-item{background:#fff;border-radius:6px;padding:15px;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s}.suggestion-item:hover{transform:translate(5px);box-shadow:0 4px 8px #00000026}.suggestion-item.priority-high{border-left:4px solid #f44336}.suggestion-item.priority-medium{border-left:4px solid #ff9800}.suggestion-item.priority-low{border-left:4px solid #4caf50}.suggestion-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.suggestion-priority{font-size:1.2em}.suggestion-header strong{color:#424242;font-size:1.1em}.suggestion-values{display:flex;align-items:center;gap:15px;margin:12px 0;padding:12px;background:#f5f5f5;border-radius:4px;flex-wrap:wrap}.value-row{display:flex;flex-direction:column;gap:4px;min-width:120px}.value-row .label{font-size:.85em;color:#757575;text-transform:uppercase;font-weight:600}.value-row .value{font-size:1.1em;font-weight:600;padding:4px 8px;border-radius:4px}.value-row .value.current{color:#d32f2f;background:#ffebee}.value-row .value.suggested{color:#388e3c;background:#e8f5e9}.value-arrow{font-size:1.5em;color:#ff9800;font-weight:700}.suggestion-reason{color:#616161;line-height:1.5;margin:8px 0 0;font-size:.95em}.alternative-list{list-style:none;padding:0;margin:0}.alternative-list li{padding:10px 15px;background:#fff;margin-bottom:8px;border-radius:4px;border-left:3px solid #4caf50;box-shadow:0 1px 3px #0000001a}.alternative-list li:before{content:"→ ";color:#4caf50;font-weight:700;margin-right:8px}.optimization-tips{margin-top:20px;padding:15px;background:#fffc;border-radius:6px;border:1px dashed #ff9800}.optimization-tips p{margin:0;color:#5d4037;font-size:.95em;line-height:1.6}.optimization-tips strong{color:#e65100}.goal-seek-prompt,.goal-seek-no-solutions,.goal-seek-results{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:2px solid #2196f3;border-radius:8px;padding:24px;margin:20px 0;box-shadow:0 4px 6px #2196f31a}.goal-seek-header h3{color:#1565c0;margin:0 0 12px;font-size:1.3em;display:flex;align-items:center;gap:8px}.goal-seek-header p{color:#424242;line-height:1.6;margin:8px 0}.goal-seek-summary{font-weight:600;color:#1976d2;background:#fffc;padding:12px;border-radius:6px;border-left:4px solid #2196f3}.goal-seek-button{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;border:none;padding:14px 32px;font-size:1.1em;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s;box-shadow:0 4px 8px #4caf504d;margin:20px 0;display:flex;align-items:center;gap:8px}.goal-seek-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #4caf5066}.goal-seek-button:disabled{opacity:.7;cursor:not-allowed}.goal-seek-button-secondary{background:#fff;color:#1976d2;border:2px solid #2196f3;padding:10px 24px;font-size:1em;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s}.goal-seek-button-secondary:hover{background:#e3f2fd;transform:translate(-3px)}.goal-seek-info{background:#fffc;padding:16px;border-radius:6px;margin-top:16px}.goal-seek-info p{margin:0 0 12px;color:#1565c0;font-weight:600}.goal-seek-info ul{margin:0;padding-left:24px;color:#424242}.goal-seek-info li{margin:8px 0;line-height:1.5}.no-solutions-message{color:#c62828;background:#ffffffe6;padding:16px;border-radius:6px;border-left:4px solid #f44336;margin:16px 0;font-weight:500}.solution-tabs{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap}.solution-tab{background:#fff;border:2px solid #90caf9;padding:12px 20px;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:4px;min-width:120px}.solution-tab:hover{transform:translateY(-2px);box-shadow:0 4px 8px #2196f333}.solution-tab.active{background:#2196f3;color:#fff;border-color:#1976d2;box-shadow:0 4px 8px #2196f34d}.solution-number{font-weight:600;font-size:.95em}.solution-score{font-size:.85em;opacity:.9}.solution-details{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.solution-changes,.solution-specs{margin-bottom:24px}.solution-changes h4,.solution-specs h4{color:#1565c0;margin:0 0 16px;font-size:1.1em;border-bottom:2px solid #90caf9;padding-bottom:8px}.changes-list{display:flex;flex-direction:column;gap:12px}.change-item{background:#f5f5f5;padding:12px 16px;border-radius:6px;border-left:4px solid #2196f3}.change-parameter{display:block;font-weight:600;color:#1565c0;margin-bottom:8px;font-size:.95em}.change-values{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.change-from{color:#e65100;background:#ffe0b2;padding:4px 12px;border-radius:4px;font-weight:600}.change-arrow{color:#2196f3;font-weight:700;font-size:1.2em}.change-to{color:#2e7d32;background:#c8e6c9;padding:4px 12px;border-radius:4px;font-weight:600}.solution-actions{display:flex;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid #e0e0e0}.accept-solution-button{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;border:none;padding:12px 28px;font-size:1.05em;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s;box-shadow:0 4px 8px #4caf504d;display:flex;align-items:center;gap:8px}.accept-solution-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #4caf5066}.solution-tabs{flex-direction:column}.solution-tab{width:100%}.solution-actions{flex-direction:column}.accept-solution-button,.goal-seek-button-secondary{width:100%;justify-content:center}.change-values{flex-direction:column;align-items:flex-start}.suggestion-values{flex-direction:column;align-items:flex-start}.value-arrow{transform:rotate(90deg);margin:5px 0}.value-row{width:100%}}.spring-drawing{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.drawing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.drawing-header h3{margin:0;color:#1e293b;font-size:18px;font-weight:600}.export-svg-btn{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;color:#475569;cursor:pointer;transition:all .15s ease}.export-svg-btn:hover{background:#e2e8f0;border-color:#94a3b8}.spring-svg{width:100%;height:auto;max-height:500px;display:block;margin:0 auto}.spring-coils{transition:all .3s ease}.dimension-line text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.drawing-legend{display:flex;gap:20px;justify-content:center;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b}.legend-color{width:20px;height:20px;border-radius:4px;border:1px solid #cbd5e1}@media (max-width: 768px){.spring-drawing{padding:16px}.drawing-header{flex-direction:column;align-items:flex-start;gap:12px}.spring-svg{max-height:400px}.drawing-legend{flex-direction:column;align-items:flex-start;gap:8px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:20px}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-wide{max-width:800px}.modal-header{padding:24px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:24px;font-weight:600;color:#1e293b}.modal-close{background:none;border:none;font-size:24px;color:#64748b;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s ease}.modal-close:hover{background:#f1f5f9;color:#0f172a}.modal-body{padding:24px;overflow-y:auto;flex:1}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#475569;font-size:14px}.form-group .required{color:#ef4444}.form-group input[type=text],.form-group textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;font-family:inherit;transition:all .15s ease}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-group textarea{resize:vertical;min-height:80px}.form-hint{display:block;margin-top:6px;font-size:12px;color:#64748b}.design-preview{background:#f8fafc;border-radius:8px;padding:16px;margin-top:20px}.design-preview h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#475569}.preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.preview-item{display:flex;flex-direction:column;gap:4px}.preview-label{font-size:12px;color:#64748b}.preview-value{font-size:14px;font-weight:500;color:#1e293b}.preview-value.valid{color:#10b981}.preview-value.invalid{color:#ef4444}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:12px;display:flex;gap:8px;align-items:start;color:#dc2626;font-size:14px;margin-bottom:16px}.modal-footer{padding:16px 24px;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-hint{padding:0 24px 16px;text-align:center;color:#64748b}.btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;border:none;font-family:inherit}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-secondary{background:#f1f5f9;color:#475569}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-sm{padding:6px 12px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.search-bar{margin-bottom:20px}.search-input{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px}.search-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.loading-state{text-align:center;padding:60px 20px;color:#64748b}.spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:60px 20px;color:#64748b}.empty-state p{font-size:16px;margin-bottom:8px}.empty-state small{font-size:14px;color:#94a3b8}.design-list{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto}.design-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;transition:all .15s ease}.design-card:hover{border-color:#cbd5e1;box-shadow:0 2px 4px #0000000d}.design-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:8px}.design-card-header h3{margin:0;font-size:16px;font-weight:600;color:#1e293b;flex:1}.status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.valid{background:#dcfce7;color:#166534}.status-badge.invalid{background:#fee2e2;color:#991b1b}.design-card-description{margin:0 0 12px;font-size:14px;color:#64748b;line-height:1.5}.design-card-meta{margin-bottom:12px}.meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:8px}.meta-item{display:flex;gap:6px;font-size:13px}.meta-label{color:#64748b}.meta-value{color:#1e293b;font-weight:500}.meta-date{font-size:12px;color:#94a3b8}.design-card-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #f1f5f9}.design-count{font-size:14px;color:#64748b}@media (max-width: 768px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-width:100%;max-height:95vh;border-radius:12px 12px 0 0}.preview-grid,.meta-grid{grid-template-columns:1fr}.design-card-actions{flex-wrap:wrap}.btn{flex:1;min-width:100px}}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg-alt)}.app-header{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;padding:var(--space-6) var(--space-8);box-shadow:var(--shadow-md);display:flex;justify-content:space-between;align-items:center;gap:var(--space-6)}.header-content h1{margin-bottom:var(--space-2);font-size:2rem}.header-content p{font-size:1rem;opacity:.9}.header-actions{display:flex;gap:var(--space-3)}.header-btn{padding:var(--space-3) var(--space-4);background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s}.header-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.app-main{flex:1;padding:var(--space-8)}.app-container{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:600px 1fr;gap:var(--space-8);align-items:start}.app-sidebar{position:sticky;top:var(--space-8);max-height:calc(100vh - var(--space-8) * 2);overflow-y:auto}.sidebar-content{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.sidebar-title{font-size:1.5rem;margin-bottom:var(--space-2);color:var(--color-text)}.sidebar-description{color:var(--color-text-secondary);margin-bottom:var(--space-6);line-height:1.6}.app-results{min-height:400px}.results-placeholder{background:#fff;border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-12);text-align:center}.placeholder-content h3{font-size:1.75rem;margin-bottom:var(--space-4);color:var(--color-text)}.placeholder-content>p{font-size:1.125rem;color:var(--color-text-secondary);margin-bottom:var(--space-8)}.feature-highlights{background:#eff6ff;border:1px solid #3b82f6;border-radius:var(--radius-md);padding:var(--space-6);text-align:left;max-width:600px;margin:0 auto}.feature-highlights h4{color:#1e40af;margin-bottom:var(--space-4);font-size:1.125rem}.feature-highlights ul{list-style:none;padding:0;margin:0}.feature-highlights li{padding:var(--space-3) 0;color:#1e40af;font-size:.938rem;line-height:1.5;border-bottom:1px solid rgba(59,130,246,.2)}.feature-highlights li:last-child{border-bottom:none}.feature-highlights li strong{font-weight:600}.app-footer{background:#fff;border-top:1px solid var(--color-border);padding:var(--space-6);text-align:center;box-shadow:var(--shadow-sm)}.footer-content{max-width:1600px;margin:0 auto}.footer-content p{color:var(--color-text-secondary);font-size:.875rem;margin:var(--space-2) 0}.footer-links{font-weight:500}@media (max-width: 1200px){.app-container{grid-template-columns:500px 1fr}}@media (max-width: 1024px){.app-container{grid-template-columns:1fr}.app-sidebar{position:static;max-height:none}}@media (max-width: 768px){.app-header{flex-direction:column;align-items:flex-start;padding:var(--space-6) var(--space-4)}.header-content h1{font-size:1.75rem}.header-actions{width:100%}.header-btn{flex:1}.app-main{padding:var(--space-6) var(--space-4)}.app-container{gap:var(--space-6)}.results-placeholder{padding:var(--space-8) var(--space-4)}}.app-sidebar::-webkit-scrollbar{width:8px}.app-sidebar::-webkit-scrollbar-track{background:var(--color-bg-alt);border-radius:4px}.app-sidebar::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.app-sidebar::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}:root{--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-bg: #ffffff;--color-bg-alt: #f9fafb;--color-border: #e5e7eb;--color-text: #111827;--color-text-secondary: #6b7280;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: "Consolas", "Monaco", "Courier New", monospace;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.5;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:var(--font-mono);background-color:var(--color-bg-alt);padding:.125rem .25rem;border-radius:var(--radius-sm);font-size:.875em}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;outline:none}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:inherit}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}
