:root{--blue:#1769e0;--blue2:#0d4fb8;--navy:#0e2344;--text:#24354f;--muted:#6b7a90;--line:#e4eaf2;--bg:#f7f9fc;--green:#10b981;--orange:#f59e0b;--red:#dc2626;--white:#fff;--shadow:0 14px 40px rgba(27,55,94,.09);--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(1180px,calc(100% - 32px));margin:auto}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.nav-wrap{min-height:74px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;color:var(--navy);font-weight:800;font-size:21px;white-space:nowrap}.brand>span:last-child>span{color:var(--blue)}.brand-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),#47a3ff);color:white}.main-nav{margin-left:auto;display:flex;align-items:center;gap:24px}.main-nav>a:not(.btn){font-size:14px;font-weight:650;color:#40506a}.main-nav>a.active{color:var(--blue)!important}.nav-toggle{display:none;margin-left:auto;border:0;background:transparent;font-size:22px;color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:11px 18px;font-weight:750;cursor:pointer;font:inherit;transition:.2s}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue2)}.btn-outline{background:#fff;border-color:#b9c9de;color:var(--blue)}.btn-outline:hover{border-color:var(--blue);background:#f4f8ff}.btn-danger{background:#fff;border-color:#fecaca;color:#b91c1c}.btn-sm{padding:9px 14px;font-size:13px}.btn-block{width:100%}
.hero{background:radial-gradient(circle at 85% 30%,#dceaff 0,transparent 28%),linear-gradient(135deg,#f4f8ff,#eaf3ff);border-bottom:1px solid var(--line)}.hero-inner{padding:58px 0;display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:center}.hero h1{font-size:44px;line-height:1.08;color:var(--navy);margin:0 0 10px}.hero p{font-size:18px;color:#51627c;margin:0 0 26px}.hero-side{display:flex;gap:18px;align-items:center}.hero-side i{font-size:64px;color:var(--blue)}.hero-side strong{display:block;font-size:20px;color:var(--navy)}.hero-side p{font-size:14px;margin:5px 0 0}.searchbar{display:flex;background:#fff;border:1px solid #dce5f1;border-radius:12px;padding:7px;box-shadow:0 8px 30px rgba(37,84,150,.07)}.searchbar i{align-self:center;margin:0 12px;color:#5d6f89}.searchbar input{flex:1;border:0;outline:0;font-size:15px;min-width:0}.searchbar .btn{min-width:130px}
.directory{display:grid;grid-template-columns:230px 1fr;gap:24px;padding:32px 0 64px}.filters,.card,.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 18px rgba(32,66,112,.04)}.filters{padding:20px;align-self:start;position:sticky;top:98px}.filters h3{margin:0 0 18px;color:var(--navy);font-size:16px}.filter-group{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.filter-group h4{font-size:13px;margin:0 0 10px;color:var(--navy)}.check{display:flex;align-items:center;gap:8px;font-size:13px;margin:8px 0;color:#53637b}.check input{accent-color:var(--blue)}.results-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.results-top h2{font-size:18px;margin:0;color:var(--navy)}select,input,textarea{font-family:inherit}.select,.input,.textarea{width:100%;border:1px solid #d9e2ee;border-radius:10px;background:#fff;padding:11px 12px;outline:0;color:var(--text)}.textarea{min-height:120px;resize:vertical}.input:focus,.textarea:focus,.select:focus{border-color:#84b5ff;box-shadow:0 0 0 3px #eaf3ff}.companies-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.company-card{padding:20px;display:flex;flex-direction:column;min-height:330px}.badge{display:inline-flex;align-items:center;gap:6px;width:max-content;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.badge-verified{background:#dcfce7;color:#078451}.badge-featured{background:#fff0c6;color:#986700}.company-head{display:flex;align-items:center;gap:13px;margin:17px 0 10px}.company-logo{width:56px;height:56px;border-radius:14px;border:1px solid #e6ecf4;display:grid;place-items:center;background:#fff;overflow:hidden;flex:0 0 auto}.company-logo img{width:100%;height:100%;object-fit:contain;padding:5px}.company-logo .placeholder{font-size:25px;color:var(--blue)}.company-card h3{margin:0;color:var(--navy);font-size:20px}.rating-line{display:flex;align-items:center;gap:8px;font-size:13px}.stars{color:var(--orange);letter-spacing:1px}.company-meta{font-size:13px;color:var(--muted);margin:10px 0}.company-desc{font-size:13px;color:#56667e;flex:1}.company-card .btn{margin-top:14px}
.breadcrumb{font-size:12px;color:#8290a4;padding:20px 0}.profile-top{padding:24px;display:grid;grid-template-columns:1fr auto;gap:24px}.profile-main{display:flex;gap:18px}.profile-logo{width:92px;height:92px;border:1px solid var(--line);border-radius:18px;background:#fff;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.profile-logo img{width:100%;height:100%;object-fit:contain;padding:7px}.profile-logo i{font-size:42px;color:var(--blue)}.profile-title h1{margin:0 0 6px;font-size:32px;color:var(--navy)}.profile-title .company-meta{display:flex;flex-wrap:wrap;gap:15px}.profile-actions{display:flex;flex-direction:column;gap:10px;min-width:190px}.tabs{display:flex;gap:28px;border-top:1px solid var(--line);padding:0 24px}.tabs a{padding:16px 0;font-size:13px;font-weight:700;color:#68788f}.tabs a.active{color:var(--blue);border-bottom:2px solid var(--blue)}.profile-grid{display:grid;grid-template-columns:1fr 310px;gap:20px;margin:20px 0 60px}.content-panel{padding:24px}.content-panel h2,.side-panel h2{color:var(--navy);font-size:20px;margin:0 0 16px}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.benefit{display:flex;gap:12px}.benefit-icon{width:38px;height:38px;border-radius:50%;background:#edf5ff;color:var(--blue);display:grid;place-items:center;flex:0 0 auto}.benefit strong{display:block;font-size:13px;color:var(--navy)}.benefit small{color:var(--muted)}.service-list{display:grid;gap:10px}.service-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:13px}.service-row strong{display:block;color:var(--navy)}.service-row small{color:var(--muted)}.service-price{font-weight:800;color:var(--navy);white-space:nowrap}.side-panel{padding:20px}.score{display:flex;align-items:center;gap:10px}.score strong{font-size:34px;color:var(--navy)}.review-card{border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:12px}.review-user{display:flex;gap:10px;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#edf4ff;color:var(--blue);font-weight:800}.review-card h4{margin:0;color:var(--navy);font-size:13px}.review-card small{color:var(--muted)}.review-card p{font-size:13px;margin:8px 0}.response{background:#f4f8ff;border-radius:10px;padding:11px;margin-top:10px;font-size:12px}.response strong{display:block;color:var(--navy);margin-bottom:4px}
.form-shell{width:min(700px,calc(100% - 32px));margin:40px auto 70px}.auth-shell{width:min(480px,calc(100% - 32px));margin:50px auto 80px}.form-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.form-card h1{margin:0 0 6px;color:var(--navy)}.form-card>p{margin:0 0 24px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800;color:#44546b}.help{font-size:11px;color:var(--muted)}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.alert{margin-top:16px;padding:12px 14px;border-radius:10px;font-size:13px}.alert.success{background:#e8fff3;color:#087747}.alert.error{background:#fff0f0;color:#a51e1e}.alert.info{background:#eef6ff;color:#205fa7}
.dashboard{display:grid;grid-template-columns:220px 1fr;gap:22px;padding:30px 0 70px}.sidebar{background:#10284b;border-radius:16px;padding:18px;align-self:start;position:sticky;top:96px}.sidebar .company-mini{color:#fff;font-weight:800;padding:8px 8px 17px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:10px}.sidebar a{display:flex;gap:10px;align-items:center;padding:11px 10px;border-radius:9px;color:#dce8f8;font-size:13px}.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.1);color:#fff}.dash-content h1{color:var(--navy);margin:0 0 20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat{padding:18px}.stat i{color:var(--blue);font-size:20px}.stat strong{display:block;font-size:28px;color:var(--navy);margin-top:8px}.stat span{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.table th{color:#52627a;background:#f9fbfd}.status{font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px}.status-approved,.status-active{background:#dcfce7;color:#078451}.status-pending{background:#fff3cd;color:#8a6500}.status-rejected,.status-suspended{background:#fee2e2;color:#a11919}.admin-bar{background:#0d1e38;color:#fff;padding:10px 0}.admin-bar .container{display:flex;justify-content:space-between;align-items:center;font-size:13px}
.star-picker{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}.star-picker input{display:none}.star-picker label{font-size:29px;color:#cbd5e1;cursor:pointer}.star-picker label:hover,.star-picker label:hover~label,.star-picker input:checked~label{color:var(--orange)}.empty{text-align:center;padding:42px 20px;color:var(--muted)}.empty i{font-size:36px;color:#a9b8cc;margin-bottom:10px}.muted{color:var(--muted)}
@media(max-width:1000px){.companies-grid{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;left:16px;right:16px;top:67px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:5px}.main-nav.open{display:flex}.main-nav a{padding:10px}.hero-inner{grid-template-columns:1fr;padding:40px 0}.hero-side{display:none}.hero h1{font-size:36px}.directory{grid-template-columns:1fr}.filters{position:static}.profile-top{grid-template-columns:1fr}.profile-actions{min-width:0;flex-direction:row}.profile-main{flex-direction:column}.dashboard{grid-template-columns:1fr}.sidebar{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.sidebar .company-mini{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:560px){.container{width:min(100% - 22px,1180px)}.hero h1{font-size:31px}.hero p{font-size:16px}.searchbar{flex-wrap:wrap}.searchbar .btn{width:100%}.companies-grid{grid-template-columns:1fr}.results-top{align-items:flex-start;flex-direction:column}.profile-title h1{font-size:26px}.tabs{gap:16px;overflow:auto}.benefits{grid-template-columns:1fr}.service-row{grid-template-columns:1fr auto}.service-row .btn{grid-column:1/-1}.profile-actions{flex-direction:column}.stats{grid-template-columns:1fr 1fr}.form-card{padding:20px}}
/* =========================
   FOOTER
========================= */
.site-footer{
    background:#fff;
    border-top:1px solid var(--line);
    padding:55px 0 0;
    margin-top:60px;
}

.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:60px;
    padding-bottom:45px;
}

.brand-footer{
    display:inline-flex;
    margin-bottom:16px;
}

.footer-grid p{
    margin:0;
    max-width:430px;
    color:var(--muted);
    font-size:14px;
    line-height:1.7;
}

.footer-grid h4{
    margin:0 0 16px;
    color:var(--navy);
    font-size:14px;
}

.footer-grid > div > a:not(.brand){
    display:block;
    width:max-content;
    margin:0 0 10px;
    color:#5d6d84;
    font-size:14px;
}

.footer-grid > div > a:not(.brand):hover{
    color:var(--blue);
}

.footer-bottom{
    border-top:1px solid var(--line);
    padding:20px 0;
    color:var(--muted);
    font-size:13px;
}

@media(max-width:780px){
    .site-footer{
        padding-top:40px;
    }

    .footer-grid{
        grid-template-columns:1fr 1fr;
        gap:35px;
    }

    .footer-grid > div:first-child{
        grid-column:1/-1;
    }
}

@media(max-width:520px){
    .footer-grid{
        grid-template-columns:1fr;
        gap:28px;
    }

    .footer-grid > div:first-child{
        grid-column:auto;
    }
}