:root{--primary:#4472c4;--primary-dark:#3d5a99;--secondary:#70ad47;--secondary-dark:#5a8c38;--bg:#f5f5f5;--surface:#fff;--text:#333;--text-soft:#666;--border:#ddd}*{box-sizing:border-box}body{color:var(--text);background:linear-gradient(#f5f8ff 0%,#f5f5f5 45%,#eef6e9 100%);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.header{z-index:30;background:var(--surface);border-bottom:1px solid #e6ebf5;justify-content:space-between;align-items:center;padding:12px 6vw;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #0000000f}.brand img{width:170px;max-width:44vw;display:block}nav{flex-wrap:wrap;align-items:center;gap:16px;display:flex}nav a{color:var(--text-soft);font-size:14px;font-weight:600;text-decoration:none;transition:color .2s}nav a:hover{color:var(--primary)}.active,.adminLink{color:var(--primary)!important}.adminLink{align-items:center;gap:6px;display:inline-flex}main{max-width:1180px;margin:0 auto;padding:36px 20px 50px}.hero{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;border-radius:16px;grid-template-columns:1fr 320px;align-items:center;gap:24px;padding:36px;display:grid}.eyebrow{color:#dfe9ff;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}h1{margin:12px 0;font-size:clamp(30px,5vw,52px);line-height:1.1}h2{color:var(--primary);margin:0;font-size:30px}.hero p{color:#f4f8ff;margin:0;font-size:17px}.heroBadge{color:var(--text);background:#fff;border:1px solid #dce5f8;border-radius:12px;gap:10px;padding:24px;display:grid}.heroBadge svg{width:42px;height:42px;color:var(--primary)}.reviews,.formBox{margin-top:36px}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.card,.formBox,.login,.reviewAdmin,.pwd,.empty{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px;box-shadow:0 4px 14px #0000000a}.stars{color:var(--secondary);letter-spacing:3px}.card p{font-size:17px;line-height:1.5}.card span{color:var(--text-soft);margin-top:4px;display:block}form{gap:14px;display:grid}.two{grid-template-columns:1fr 1fr;gap:14px;display:grid}label{color:var(--text);gap:8px;font-weight:600;display:grid}input,select,textarea{font:inherit;background:#fcfdff;border:1px solid #cfd8e8;border-radius:8px;padding:12px}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:2px solid #b8cbf1}textarea{resize:vertical;min-height:140px}button{cursor:pointer;background:var(--primary);color:#fff;border:0;border-radius:8px;padding:12px 16px;font-weight:700;transition:background .2s}button:hover{background:var(--primary-dark)}.ghost{color:var(--primary);background:#eef3ff}.ghost:hover{background:#dde8ff}.secondary{background:var(--secondary)}.secondary:hover{background:var(--secondary-dark)}.danger{background:#e74c3c}.danger:hover{background:#c0392b}.msg{color:#285489;margin:0;font-weight:600}.msg.error{color:#b23030}.admin,.adminPanel{min-height:calc(100vh - 140px)}.admin{place-items:center;display:grid}.login{width:min(460px,100%)}.login h1{color:var(--primary);margin:0;font-size:36px}.panelTop{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.adminGrid{gap:14px;margin-top:18px;display:grid}.reviewAdmin .status{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);background:#eef3ff;border:1px solid #d3e1fb;border-radius:999px;margin-bottom:8px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.reviewAdmin.approved .status{color:#2d6d1f;background:#edf8e8;border-color:#cde7c0}.reviewAdmin.rejected .status{color:#952c2c;background:#ffeaea;border-color:#f3c7c7}.reviewAdmin>div{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}footer{text-align:center;color:var(--text-soft);border-top:1px solid #e2e8f5;padding:24px 20px 28px;font-size:13px}footer a{color:var(--primary);font-weight:700;text-decoration:none}footer a:hover{text-decoration:underline}@media (width<=920px){.hero{grid-template-columns:1fr;padding:26px}main{padding-top:24px}}@media (width<=640px){.header{padding:10px 14px}nav{gap:10px}nav a{font-size:12px}.two{grid-template-columns:1fr}h2{font-size:25px}.card,.formBox,.login,.reviewAdmin,.pwd,.empty{padding:16px}}
