:root{--purple: #61588e;--purple-light: #f0eef8;--text: #1a1a1a;--muted: #666;--border: #e2e0ee;--radius: 12px}.admin-container{max-width:1200px;margin:0 auto;padding:40px 16px 80px;background:#faf9fd;min-height:100vh}.admin-login-box{max-width:400px;margin:60px auto;background:#fff;padding:40px;border-radius:var(--radius);box-shadow:0 4px 20px #61588e1a}.admin-title{font-family:Luckiest Guy,cursive;font-size:32px;color:var(--purple);text-align:center;margin-bottom:32px;letter-spacing:2px}.admin-form{display:flex;flex-direction:column;gap:20px}.form-label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;color:var(--text)}.form-input{padding:12px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;outline:none;transition:border-color .15s;background:#faf9fd}.form-input:focus{border-color:var(--purple);background:#fff}.btn-login{padding:12px;background:var(--purple);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;width:100%}.btn-login:hover:not(:disabled){background:#524979}.btn-login:disabled{background:#b0aac7;cursor:not-allowed}.error-message{color:#dc2626;font-size:13px;text-align:center}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid var(--border)}.admin-header .admin-title{margin:0;font-size:28px}.btn-logout{padding:10px 22px;background:#fff;color:var(--purple);border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;box-shadow:2px 4px 12px #61588e59,-2px 4px 12px #61588e59}.btn-logout:hover{color:#4a3f63;border-color:var(--purple)}.admin-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.summary-card{background:#fff;padding:24px;border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 2px 8px #61588e14}.summary-label{font-size:13px;color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-weight:600}.summary-value{font-size:32px;font-weight:800;color:var(--purple)}.admin-section{margin-bottom:40px}.section-heading{font-size:18px;font-weight:700;color:var(--purple);margin-bottom:20px}.cities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.city-card{background:#fff;padding:20px;border-radius:var(--radius);border:1px solid var(--border);text-align:center}.city-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:8px}.city-clicks{font-size:20px;font-weight:700;color:var(--purple)}.table-wrapper{background:#fff;border-radius:var(--radius);overflow-x:auto;border:1px solid var(--border)}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table thead{background:var(--purple-light);border-bottom:2px solid var(--border)}.admin-table th{padding:16px;text-align:left;font-weight:600;color:var(--text)}.admin-table td{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text)}.admin-table tbody tr:hover{background:#faf9fd}.admin-table .center{text-align:center;font-weight:600;color:var(--purple)}@media (max-width: 768px){.admin-login-box{margin:40px 0;padding:24px}.admin-title{font-size:24px}.admin-header{flex-direction:column;gap:16px;align-items:flex-start}.summary-value{font-size:24px}.admin-table{font-size:12px}.admin-table th,.admin-table td{padding:12px 8px}}@media (max-width: 520px){.admin-container{padding:20px 16px 60px}.admin-summary{grid-template-columns:1fr}.cities-grid{grid-template-columns:repeat(2,1fr)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--purple: #61588e;--purple-light: #f0eef8;--purple-mid: #d6d1ef;--text: #1a1a1a;--muted: #666;--border: #e2e0ee;--radius: 12px;--radius-sm: 8px}html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#faf9fd;color:var(--text);line-height:1.5}.app{max-width:860px;margin:0 auto;padding:0 16px 64px}.app--wide{max-width:1100px}.header{text-align:center;padding:40px 0 24px}.logo{font-family:Luckiest Guy,cursive;font-size:36px;color:var(--purple);letter-spacing:2px;text-decoration:none;cursor:pointer;transition:opacity .15s}.logo:hover{opacity:.8}.counters{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;padding:24px 0 40px;border-bottom:1px solid var(--border);margin-bottom:40px;margin-top:3vh;margin-left:0;text-align:center}.counter-item{display:flex;flex-direction:column;align-items:center;gap:4px}.counter-number{font-size:42px;font-weight:800;color:var(--purple);line-height:1}.counter-label{font-size:13px;color:var(--muted)}.section{margin-bottom:40px}.section-heading{font-size:20px;font-weight:700;margin-bottom:16px;text-align:center;color:var(--purple)}.slide-in{animation:slideIn .28s ease-out both}@keyframes slideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.service-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:18px 16px 16px;background:#fff;border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;transition:border-color .15s,background .15s,transform .1s;align-items:center}.service-card:hover{border-color:var(--purple-mid);transform:translateY(-2px)}.service-card.selected{border-color:var(--purple);background:var(--purple-light)}.service-title{font-size:15px;font-weight:700}.service-desc{font-size:13px;color:var(--muted)}.warning-badge{display:inline-block;margin-top:6px;font-size:11px;font-weight:600;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:4px;padding:3px 8px;line-height:1.6;align-self:flex-start}.city-pills{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.city-pill{padding:9px 22px;border-radius:999px;border:2px solid var(--border);background:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,color .15s;color:var(--text)}.city-pill:hover{border-color:var(--purple-mid)}.city-pill.selected{background:var(--purple);border-color:var(--purple);color:#fff}.city-handwritten{font-family:Caveat,cursive;font-size:21px;color:var(--purple);opacity:.85;margin-left:6px;white-space:nowrap}.school-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.school-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;cursor:pointer;transition:box-shadow .15s,transform .1s}.school-card-body{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.school-name{font-size:16px;font-weight:700}.school-city{font-size:13px;color:var(--muted)}.school-desc-short{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}.service-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.service-tag{font-size:11px;padding:2px 9px;border-radius:999px;background:var(--border);color:var(--muted);font-weight:500}.service-tag.active{background:var(--purple-light);color:var(--purple);font-weight:700}.card-cta{align-self:center;pointer-events:none;margin-top:auto;width:200px;background:#fff!important;color:var(--purple)!important;box-shadow:0 2px 8px #61588e4d!important;transition:box-shadow .15s}.school-card:hover .card-cta{color:#4a3f63!important;box-shadow:0 2px 8px #22613066!important}.btn-primary{display:inline-block;padding:10px 22px;background:#fff;color:var(--purple);border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;transition:color .15s;box-shadow:2px 4px 12px #61588e59,-2px 4px 12px #61588e59}.btn-primary:hover{color:#4a3f63}.btn-primary:disabled{background:#f0eef8;color:#b0aac7;cursor:not-allowed}.btn-large{padding:14px 32px;font-size:16px;border-radius:10px;width:100%}.btn-ghost{padding:9px 18px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;cursor:pointer;color:var(--muted);transition:border-color .15s}.btn-ghost:hover{border-color:var(--purple-mid);color:var(--purple)}.back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;font-size:14px;color:var(--muted);cursor:pointer;padding:8px 0 24px;transition:color .15s}.back-btn:hover{color:var(--purple)}.detail-page{padding-bottom:80px}.detail-layout{display:grid;grid-template-columns:1fr 440px;gap:48px;align-items:start}.detail-service-badge{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--purple);background:var(--purple-light);border-radius:4px;padding:3px 10px;margin-bottom:12px}.detail-name{font-size:32px;font-weight:800;line-height:1.15;margin-bottom:6px;color:var(--text)}.detail-city{font-size:15px;color:var(--muted);margin-bottom:16px}.detail-description{font-size:15px;color:#444;line-height:1.6;margin-bottom:24px;max-width:480px}.detail-services{margin-bottom:24px}.detail-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:8px}.detail-contact-row{display:flex;flex-direction:column;gap:4px;margin-bottom:28px}.detail-phone{font-size:18px;font-weight:700;color:var(--purple);text-decoration:none}.detail-phone:hover{text-decoration:underline}.detail-trust{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--purple-light);border-radius:var(--radius);max-width:380px}.trust-item{font-size:14px;color:#444;font-weight:500}.detail-form-panel{background:#fff;border:1px solid var(--border);border-radius:16px;padding:32px;position:sticky;top:24px;box-shadow:0 4px 32px #61588e14}.form-panel-heading{font-size:22px;font-weight:800;margin-bottom:8px}.form-panel-sub{font-size:14px;color:var(--muted);margin-bottom:24px;line-height:1.5}.detail-form{display:flex;flex-direction:column;gap:16px}.form-label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.form-label-title{color:var(--purple);font-weight:700}.form-label input,.form-label textarea{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;outline:none;resize:vertical;transition:border-color .15s;color:var(--text);background:#faf9fd}.form-label input:focus,.form-label textarea:focus{border-color:var(--purple);background:#fff}.form-error{font-size:13px;color:#dc2626}.redirect-panel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.success-panel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:16px 0}.success-icon{font-size:48px}.success-panel h2{font-size:22px;font-weight:800}.success-panel p{font-size:14px;color:var(--muted);line-height:1.5}.success-msg{font-size:14px;color:#16a34a;font-weight:600;padding:10px 0}.no-schools{color:var(--muted);font-size:14px;padding:24px 0;text-align:center}.area-group{margin-bottom:32px}.area-heading{font-size:16px;font-weight:700;color:var(--purple);margin-bottom:12px;text-align:left}.area-coming-soon{color:var(--muted);font-size:14px;padding:24px 0;text-align:center;font-style:italic}.footer{margin-top:64px;padding:24px 0;border-top:1px solid var(--border);text-align:center;font-size:12px;color:var(--muted)}@media (max-width: 780px){.detail-layout{grid-template-columns:1fr;gap:32px}.detail-form-panel{position:static}.detail-name{font-size:26px}}@media (max-width: 520px){.logo{font-size:28px}.counter-number{font-size:32px}.counters{gap:24px}.service-grid,.school-grid{grid-template-columns:1fr}.city-handwritten{font-size:18px;margin-left:0;width:100%}}
