@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";#root{width:100%;min-height:100vh}*{box-sizing:border-box}html{font-size:18px}:root{--color-primary: #0095a3;--color-accent: #f79131;--color-dark: #192a3d;--color-light: #ffffff;--color-bg: #f8f9fa}body{margin:0;font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--color-bg);color:var(--color-dark);line-height:1.55}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--color-light);color:var(--color-dark);padding:0 2rem;display:flex;justify-content:center;align-items:center;height:70px;box-shadow:0 2px 10px #0000000d}.header>div{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px}.header-left{display:flex;align-items:center;gap:2rem}.header-right{display:flex;align-items:center;gap:1rem}.logo{color:var(--color-primary);text-decoration:none;font-weight:700;font-size:1.3rem}.nav{display:flex;gap:1.5rem}.nav a{color:var(--color-dark);text-decoration:none;font-size:.95rem;font-weight:500}.nav a:hover{color:var(--color-primary)}.user-info{font-size:.9rem;color:#6b7280}.main{flex:1;padding:2rem;width:100%;max-width:1200px;margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.2rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:#e5831d}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover:not(:disabled){background:#d1d5db}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-small{padding:.35rem .7rem;font-size:.8rem}.btn:disabled{opacity:.6;cursor:not-allowed}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.4rem;font-weight:500;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem .8rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0095a31a}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}fieldset{border:1px solid #e5e7eb;border-radius:8px;padding:1rem 1.5rem;margin-bottom:1rem}legend{font-weight:600;padding:0 .5rem;color:#374151}.checkbox-group{display:flex;flex-wrap:wrap;gap:1rem}.checkbox-group label{display:flex;align-items:center;gap:.4rem;cursor:pointer;font-weight:400}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-dark) 100%)}.login-card{background:#fff;padding:2.5rem;border-radius:16px;width:100%;max-width:400px;box-shadow:0 10px 40px #0003;text-align:center}.login-card h1{margin:0 0 .5rem;color:var(--color-primary);font-size:1.6rem}.login-card .subtitle{color:#6b7280;margin-bottom:2rem}.login-card form{display:flex;flex-direction:column}.login-card .btn{margin-top:.5rem}.calculator-page{width:100%}.calculator-page h1{margin:0 0 2rem;text-align:center}.calculator-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1000px;margin:0 auto}@media(max-width:900px){.calculator-layout{grid-template-columns:1fr}}.calculator-form,.calculator-result{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a}.calculator-result h2{margin:0 0 1.5rem;color:#374151}.result-prices{margin-bottom:1.5rem}.price-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #e5e7eb}.price-item.price-total{border-bottom:none;border-top:2px solid #1a1a2e;margin-top:.5rem;padding-top:1rem}.price-label{color:#6b7280}.price-value{font-weight:600;font-size:1.1rem}.price-total .price-value{font-size:1.4rem;color:var(--color-primary)}.result-meta{padding:1rem 0;border-bottom:1px solid #e5e7eb}.confidence{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.confidence .label{color:#6b7280;font-size:.9rem}.confidence .value{font-weight:600}.confidence-bar{flex:1;min-width:100px;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.confidence-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:4px;transition:width .3s}.similar-schools{margin-top:1.5rem}.similar-schools h3{font-size:.95rem;color:#374151;margin:0 0 .25rem}.similar-schools .similar-count{margin:0 0 .75rem;color:#9ca3af;font-size:.8rem}.similar-schools-list{display:flex;flex-direction:column;gap:.75rem}.similar-school-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem}.similar-school-card .school-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.similar-school-card .school-name{font-weight:500;color:#374151;font-size:.9rem;flex:1;margin-right:.5rem}.similar-school-card .school-price{font-weight:600;color:var(--color-primary);white-space:nowrap}.similar-school-card .school-details{display:flex;gap:1rem;font-size:.8rem;color:#6b7280;margin-top:.25rem}.similar-school-card .school-details span{white-space:nowrap}.no-result{color:#9ca3af;text-align:center;padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;max-width:1000px;margin-left:auto;margin-right:auto}.page-header h1{margin:0}.schools-page,.school-detail-page,.new-school-page{max-width:1000px;margin:0 auto}.header-actions{display:flex;gap:.5rem}.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left}.data-table th{background:#f9fafb;font-weight:600;font-size:.85rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.data-table td{border-top:1px solid #e5e7eb}.data-table tr:hover td{background:#f9fafb}.data-table a{color:var(--color-primary);text-decoration:none}.data-table a:hover{text-decoration:underline}.action-buttons{display:flex;gap:.5rem}.badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;background:#e5e7eb;color:#374151}.badge-success{background:#d1fae5;color:#065f46}.badge-secondary{background:#f3f4f6;color:#6b7280}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:#0095a31a;color:var(--color-primary);padding:.3rem .6rem;border-radius:4px;font-size:.85rem}.tag-empty{background:#f3f4f6;color:#9ca3af}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.detail-section{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.detail-section h2{margin:0 0 1rem;font-size:1rem;color:#374151}.detail-list{margin:0}.detail-list dt{font-size:.85rem;color:#6b7280;margin-bottom:.25rem}.detail-list dd{margin:0 0 1rem;font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.upload-form{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.upload-form select{padding:.5rem;border:1px solid #d1d5db;border-radius:6px}.document-list{list-style:none;margin:0;padding:0}.document-list li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid #f3f4f6}.doc-type{background:#f3f4f6;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.document-list a{flex:1;color:var(--color-primary);text-decoration:none}.pricing-form{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.pricing-form select,.pricing-form input{padding:.5rem;border:1px solid #d1d5db;border-radius:6px}.pricing-form input{width:100px}.error-message{background:#fef2f2;color:#991b1b;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;border:1px solid #fecaca}.empty-state{color:#9ca3af;padding:1rem 0}.loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:#6b7280}.slider-group{display:flex;flex-direction:column;gap:1.5rem}.slider-item{display:flex;flex-direction:column;gap:.5rem}.slider-item label{font-weight:500;font-size:.9rem}.slider-item label strong{color:var(--color-primary);font-size:1.1rem}.slider-item input[type=range]{width:100%;height:8px;border-radius:4px;background:#e5e7eb;appearance:none;cursor:pointer}.slider-item input[type=range]::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-primary);cursor:pointer;box-shadow:0 2px 4px #0003}.slider-item input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:none;box-shadow:0 2px 4px #0003}.slider-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#9ca3af}.business-plan-page{max-width:1200px;margin:0 auto}.business-plan-page h1{margin:0 0 .5rem;text-align:center}.business-plan-page .page-description{text-align:center;color:#6b7280;margin-bottom:2rem}.business-plan-layout{display:flex;flex-direction:column;gap:1.5rem}.business-plan-section{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a}.business-plan-section h2{margin:0 0 1rem;font-size:1.1rem;color:var(--color-primary);border-bottom:2px solid var(--color-primary);padding-bottom:.5rem}.business-plan-section h3{margin:1.25rem 0 .75rem;font-size:.9rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.business-plan-section h3:first-of-type{margin-top:0}.business-plan-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:900px){.business-plan-columns{grid-template-columns:1fr}}.costs-section{border-left:4px solid #ef4444}.revenue-section{border-left:4px solid #22c55e}.input-group{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.5rem 0;border-bottom:1px solid #f3f4f6}.input-group label{font-size:.9rem;color:#374151}.input-with-unit{display:flex;align-items:center;gap:.5rem}.input-with-unit input{width:100px;padding:.4rem .6rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;text-align:right}.input-with-unit input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0095a31a}.input-with-unit span{font-size:.8rem;color:#6b7280;min-width:50px}.percentage-check{margin-top:1rem;padding:.75rem;background:#f9fafb;border-radius:6px;font-size:.9rem;text-align:center}.percentage-check .warning{color:#ef4444;font-weight:500}.results-section h2{color:var(--color-dark)!important;border-color:var(--color-dark)!important}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media(max-width:1000px){.results-grid{grid-template-columns:1fr}}.result-card{background:#f9fafb;padding:1.25rem;border-radius:8px;border:1px solid #e5e7eb}.result-card h3{margin:0 0 1rem!important;font-size:.95rem!important;color:#374151!important;text-transform:none!important}.result-row{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.9rem;border-bottom:1px solid #e5e7eb}.result-row:last-child{border-bottom:none}.result-row.indent{padding-left:1rem;font-size:.85rem;color:#6b7280}.result-row.total{border-top:2px solid #374151;border-bottom:none;margin-top:.5rem;padding-top:.75rem;font-weight:600;font-size:1rem}.result-row.total.positive span:last-child{color:#22c55e}.result-row.total.negative span:last-child{color:#ef4444}.result-row.break-even{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #d1d5db;color:var(--color-primary);font-weight:500}.profit-card{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-color:#86efac}.profit-card h3{color:#166534!important}.section-summary{margin-top:1.5rem;padding-top:1rem;border-top:2px solid #e5e7eb}.summary-row{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.9rem}.summary-row.total{font-weight:600;font-size:1rem;padding-top:.75rem;margin-top:.5rem;border-top:1px solid #d1d5db}.input-group.highlight{background:#f0fdf4;margin:0 -1.5rem;padding:.75rem 1.5rem;border-bottom:none}.revenue-breakdown{background:#f9fafb;margin:0 -1.5rem;padding:1rem 1.5rem;border-radius:0 0 8px 8px}.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e5e7eb}.breakdown-row:last-child{border-bottom:none}.breakdown-input{display:flex;align-items:center;gap:.75rem}.breakdown-input label{font-size:.85rem;color:#374151;min-width:110px}.input-with-unit.compact input{width:60px;padding:.3rem .5rem;font-size:.85rem}.breakdown-result{font-weight:500;font-size:.95rem}.breakdown-result .negative{color:#6b7280}.breakdown-result.highlight-company span{color:var(--color-primary);font-weight:600}.breakdown-subtotal{display:flex;justify-content:space-between;font-weight:500;background:#fff;margin:.25rem -1.5rem;padding:.6rem 1.5rem;border-top:1px solid #d1d5db;border-bottom:1px solid #d1d5db}.profit-section{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0}.profit-section h2{color:var(--color-dark)!important;border-color:var(--color-dark)!important}.profit-calculation{max-width:500px}.profit-row{display:flex;justify-content:space-between;padding:.6rem 0;font-size:1rem;border-bottom:1px solid #e5e7eb}.profit-row span:last-child{font-weight:500}.profit-row .positive{color:#22c55e}.profit-row .negative{color:#ef4444}.profit-row.result{border-bottom:none;border-top:2px solid #374151;margin-top:.5rem;padding-top:.75rem;font-weight:600;font-size:1.15rem}.profit-row.result.positive span:last-child{color:#16a34a}.profit-row.result.negative span:last-child{color:#dc2626}.profit-row.break-even{margin-top:1rem;padding-top:.75rem;border-top:1px dashed #94a3b8;color:var(--color-primary);font-weight:500}.break-even-info{margin:0 0 1rem;padding:.75rem 1rem;background:#0095a31a;border-radius:6px;color:var(--color-primary)}.profit-table-wrapper{overflow-x:auto}.profit-table{width:100%;border-collapse:collapse;font-size:.95rem}.profit-table th,.profit-table td{padding:.75rem 1rem;text-align:right;border-bottom:1px solid #e5e7eb}.profit-table th{background:#f8fafc;font-weight:600;font-size:.85rem;color:#64748b;text-transform:uppercase;letter-spacing:.3px}.profit-table th:first-child,.profit-table td:first-child{text-align:left}.profit-table td.school-count{font-weight:600;color:var(--color-dark)}.profit-table td.profit{font-weight:600}.profit-table td.profit.positive{color:#16a34a}.profit-table td.profit.negative{color:#dc2626}.profit-table tr.profitable{background:#22c55e0d}.profit-table tr.loss{background:#ef44440d}.profit-table tr:hover{background:#0095a314}.cost-note{margin:1rem 0 0;padding:.5rem .75rem;background:#f1f5f9;border-radius:4px;font-size:.85rem;color:#64748b}
