@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--brand-navy:#223556;--brand-navy-dark:#1a2942;--brand-green:#34dd04;--brand-green-dark:#1f8f04;--bg-primary:#f0f4f8;--bg-secondary:#ffffffa6;--bg-tertiary:#fff6;--text-primary:#546e7a;--text-secondary:#78909c;--text-muted:#90a4ae;--accent-color:#275945;--accent-hover:#1b3d2f;--accent-gradient:linear-gradient(135deg, #275945 0%, #15855f 100%);--accent-soft:#2759451f;--accent-ring:#27594547;--border-color:#ffffff80;--glass-border:1px solid #ffffffb3;--input-bg:#ffffff80;--shadow-sm:0 4px 10px #00000008;--shadow-md:0 8px 32px 0 #27594512;--shadow-lg:0 12px 40px 0 #2759451f;--shadow-glow:0 0 20px #27594533;--glass-blur:blur(16px);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--transition-fast:.15s ease-in-out;--transition-normal:.3s ease-in-out}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Calibri,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}h1,h2,h3,h4,h5,h6{color:#1e293b;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:600;line-height:1.2}h1{margin-bottom:1rem;font-size:2.5rem}h2{color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem}.app-container{flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto;padding:2rem;display:flex}.header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:1.5rem;display:flex}.title-gradient{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.card{background:var(--bg-secondary);border:var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform var(--transition-normal), box-shadow var(--transition-normal);padding:2rem}.card:hover{box-shadow:var(--shadow-lg)}.tabs-container{background-color:var(--bg-tertiary);border-radius:var(--radius-md);gap:.5rem;margin-bottom:2rem;padding:.5rem;display:flex;overflow-x:auto}.tab-btn{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500}.tab-btn:hover{color:var(--accent-color);background-color:#0000000d}.tab-btn.active{background-color:var(--accent-color);color:#fff;box-shadow:var(--shadow-md)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.form-input,.form-select,.form-textarea{background:var(--input-bg);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);color:var(--text-primary);border-radius:var(--radius-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);padding:.75rem 1rem;font-family:inherit;font-size:1rem}.form-input:hover,.form-select:hover,.form-textarea:hover{background:#fffc}.form-textarea{resize:vertical;min-height:120px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-color);outline:none;box-shadow:0 0 0 3px #2759451a}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{border-color:var(--brand-navy);background-color:#dbe3ec}.btn-danger{color:#ef4444;background-color:#ef44441a;border:1px solid #ef444433}.btn-danger:hover{background-color:#ef444433}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s ease-out forwards fadeIn}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;margin-top:1rem;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:600px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:.75rem}.data-table th{color:var(--text-secondary);font-size:.875rem;font-weight:500}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-4{margin-bottom:2rem}.mt-4{margin-top:2rem}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.flex{display:flex}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:1rem}.gap-4{gap:1.5rem}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.mb-3{margin-bottom:1.5rem}.mt-2{margin-top:1rem}body{background:radial-gradient(circle at 15% 50%, #27594526, transparent 25%), radial-gradient(circle at 85% 30%, #15855f1f, transparent 25%), radial-gradient(circle at 50% 80%, #27594514, transparent 30%), var(--bg-primary);background-attachment:fixed}.app-shell{grid-template-columns:1fr;min-height:100vh;display:grid}.sidebar{z-index:100;background:linear-gradient(180deg, var(--brand-navy) 0%, var(--brand-navy-dark) 100%);border-bottom:1px solid var(--brand-navy-dark);color:#fff;height:auto;box-shadow:var(--shadow-sm);flex-flow:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .9rem;display:flex;position:sticky;top:0}.brand{border-bottom:none;flex-direction:row;align-items:center;gap:.5rem;margin-bottom:0;padding-bottom:0;display:flex}.brand-logo{filter:brightness(0)invert();width:120px;max-width:100%;height:auto;transition:transform var(--transition-normal), filter var(--transition-normal)}.brand-logo:hover{filter:brightness(0)invert()drop-shadow(0 0 8px #34dd0466);transform:scale(1.04)}.brand-sub{display:none}.steps{flex-direction:row;flex:100%;order:3;gap:.4rem;margin-top:.25rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.step{color:#ffffffb3;cursor:pointer;text-align:left;width:auto;transition:all var(--transition-fast);background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.75rem;padding:.35rem .4rem;font-size:.92rem;display:flex}.step:hover{color:#fff;background:#ffffff14}.step.active{color:#fff;background:#ffffff1f}.step.active .step-num{background:var(--accent-gradient);color:#08210a;border-color:#0000}.step-num{color:#fffc;border:1px solid #ffffff40;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:.8rem;font-weight:600;display:grid}.step.done .step-num{background:var(--brand-green);color:#08210a;border-color:#0000}.step-label{display:none}.btn-generate{width:auto}.content{width:100%;min-width:0;max-width:100%;margin:0 auto;padding:1.25rem 1rem}.content-head{flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:1.5rem;display:flex}.content-head h1{margin:0;font-size:1.4rem}.content-step{color:var(--text-muted);font-size:.85rem}.content-card{background:var(--bg-secondary);border:var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.25rem}.content-nav{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.content-nav .btn{justify-content:center;width:100%}.content-nav>div{flex-direction:column;gap:1rem;width:100%;display:flex}h1{font-size:1.8rem}h2{font-size:1.25rem}.select-group{margin-bottom:1.75rem}.select-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.75rem;font-size:.8rem}.select-grid{grid-template-columns:1fr;gap:.75rem;display:grid}.select-card{border:var(--glass-border);background:var(--input-bg);border-radius:var(--radius-md);-webkit-backdrop-filter:var(--glass-blur);cursor:pointer;text-align:left;transition:all var(--transition-fast);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.select-card:hover{border-color:var(--brand-navy);transform:translateY(-1px)}.select-card.selected{border-color:var(--accent-color);background:var(--accent-soft)}.select-card-body{flex-direction:column;gap:.2rem;display:flex}.select-card-title{color:var(--text-primary);font-size:.95rem;font-weight:600}.select-card-desc{color:var(--text-muted);font-size:.8rem}.switch{background:var(--bg-tertiary);border:1px solid var(--border-color);width:40px;height:22px;transition:background var(--transition-fast);border-radius:999px;flex:none;position:relative}.switch-knob{background:var(--text-muted);width:16px;height:16px;transition:all var(--transition-fast);border-radius:50%;position:absolute;top:2px;left:2px}.switch.on{background:var(--accent-color);border-color:#0000}.switch.on .switch-knob{background:#fff;left:20px}.section-card{border:var(--glass-border);background:var(--bg-tertiary);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;padding:1rem}.section-card-title{margin-bottom:.75rem;font-size:1.05rem}.result-row{border-top:1px dashed var(--border-color);flex-wrap:wrap;gap:1.25rem;margin-top:.9rem;padding-top:.9rem;font-size:.92rem;display:flex}.badge{color:#fff;border-radius:6px;padding:.12rem .55rem;font-size:.75rem;font-weight:600}.empty-state{text-align:center;color:var(--text-muted);border:1px dashed var(--border-color);border-radius:var(--radius-md);padding:2rem}.cell-input{width:78px;font-size:.9rem;padding:.45rem .5rem!important}.data-table input,.data-table .form-input,.data-table .cell-input{font-size:24px}.data-table .cell-input{width:90px}.chip{border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:999px;padding:.4rem .8rem;font-size:.85rem;font-weight:500}.chip:hover:not(:disabled){border-color:var(--brand-navy);color:var(--text-primary)}.chip-on{background:var(--accent-soft);border-color:var(--accent-color);color:var(--text-primary);cursor:default}.upload-status{border-radius:var(--radius-md);border:1px solid;margin-bottom:1.25rem;padding:.9rem 1.1rem;font-size:.9rem}.upload-status.ok{background:var(--accent-soft);border-color:var(--accent-color);color:var(--text-primary)}.upload-status.err{color:var(--text-primary);background:#ef444414;border-color:#ef444466}.upload-status ul{margin:.5rem 0 0;padding-left:1.1rem}.upload-status li{color:var(--text-secondary);margin:.15rem 0}.form-grid{grid-template-columns:1fr}.flex.justify-between.items-center{flex-wrap:wrap;gap:.6rem}.flex.gap-2.items-center{flex-wrap:wrap}.privacy-popup-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0009;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.privacy-popup-content{text-align:center;background:#fff;border-radius:12px;width:90%;max-width:500px;padding:2.5rem;box-shadow:0 10px 30px #0003}.privacy-popup-content h2{color:#1e293b;margin-top:0;margin-bottom:1rem}.privacy-popup-content p{color:#475569;margin-bottom:1.5rem;line-height:1.5}.privacy-popup-content button{width:100%;padding:.75rem;font-size:1.1rem}@media (width>=601px){.content-head{flex-direction:row;justify-content:space-between;align-items:baseline}.content-nav{flex-direction:row;justify-content:space-between;gap:1rem}.content-nav .btn{justify-content:flex-start;width:auto}.content-nav>div{flex-direction:row;gap:0;width:auto}.flex.justify-between.items-center{flex-wrap:nowrap;gap:0}.flex.gap-2.items-center{flex-wrap:nowrap;gap:1rem}.select-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.form-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.section-card{padding:1.25rem 1.5rem}.content-card{padding:2rem}}@media (width>=861px){.app-shell{grid-template-columns:280px 1fr}.sidebar{border-right:1px solid var(--brand-navy-dark);border-bottom:none;flex-flow:column;justify-content:flex-start;align-items:stretch;gap:1.5rem;height:100vh;padding:1.75rem 1.25rem}.brand{border-bottom:1px solid #ffffff1a;flex-direction:column;padding-bottom:1rem}.brand-logo{width:180px}.brand-sub{color:#fff9;text-align:center;font-size:.78rem;display:block}.steps{flex-direction:column;flex:1;order:unset;gap:.25rem;margin-top:0;padding-bottom:0;overflow:hidden auto}.step{justify-content:flex-start;width:100%;padding:.7rem .8rem}.step-label{display:block}.step-num{width:26px;height:26px}.btn-generate{width:100%}.content{max-width:1000px;padding:2.5rem}.content-head h1{font-size:1.8rem}h1{font-size:2.5rem}h2{font-size:1.5rem}}
