/* EdgeScraperPro — Brutalist system (applies to hub/wrappers chrome)
   Black/white, Georgia/TNR, 1px borders, no radii or shadows. */
:root{
  --fg:#000; --bg:#fff; --border:#000;
  --font: Georgia, "Times New Roman", Times, serif;
  --maxw:1100px; --g1:8px; --g2:12px; --g3:16px; --g4:24px; --g5:32px;
}
*{box-sizing:border-box;border-radius:0!important;box-shadow:none!important}
html,body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);line-height:1.35;min-height:100%}
a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
a:hover{border-bottom-color:var(--fg)}
:focus-visible{outline:2px solid var(--fg);outline-offset:2px}

/* Layout */
.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--g3)}
main{padding:var(--g4) 0}

/* Header & Nav */
.site-header{border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10}
.header-inner{display:flex;align-items:baseline;justify-content:space-between;gap:var(--g2);padding:var(--g2) 0}
.brand{font-size:22px;font-weight:700;letter-spacing:.2px;border:0}
.nav-toggle{display:none;border:1px solid var(--border);background:var(--bg);padding:6px 12px;font-size:14px;cursor:pointer}
.nav-toggle:focus-visible{outline:2px solid var(--fg)}
.site-nav{display:flex;flex-wrap:wrap;gap:var(--g2)}
.site-nav a{display:inline-block;padding:6px 10px;border:1px solid var(--border);background:var(--bg)}
.site-nav a[aria-current="page"], .site-nav a.active{background:#f4f4f4}
.site-nav a:focus-visible{outline:2px solid var(--fg);outline-offset:2px}

@media (max-width: 820px){
  .header-inner{align-items:center}
  .nav-toggle{display:inline-block}
  .site-nav{display:none;flex-direction:column;align-items:flex-start;width:100%;padding:var(--g2) 0;border-top:1px solid var(--border)}
  .site-nav.is-open{display:flex}
}

/* Homepage cards */
.grid{display:grid;gap:var(--g3);grid-template-columns:repeat(12,1fr);margin-top:var(--g4)}
.card{grid-column:span 12;border:1px solid var(--border);padding:var(--g4);background:var(--bg)}
.card h3{margin:0 0 var(--g2);font-size:20px}
.card p{margin:0 0 var(--g3);font-size:14px;opacity:.85}
.card-subheading{margin:var(--g3) 0 var(--g2);font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.65}
.card-links{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:var(--g2)}
.card-links li{margin:0}
.card-links a{font-weight:600;text-decoration:none;font-size:14px}
@media (min-width: 720px){ .card{grid-column:span 6} }
@media (min-width: 1000px){ .card{grid-column:span 4} }

/* Buttons */
.btn{display:inline-block;border:1px solid var(--border);padding:8px 12px;background:var(--bg);cursor:pointer}
.btn:hover{background:#f2f2f2}

/* Footer */
.site-footer{border-top:1px solid var(--border);margin-top:var(--g5);padding:var(--g3) 0;font-size:12px;opacity:.85}

/* Iframe wrappers */
.banner{border:1px solid var(--border);padding:var(--g2);background:#fafafa}
.app-frame{display:block;width:100%;min-height:800px;height:calc(100vh - 200px);max-height:1200px;border:1px solid var(--border);background:var(--bg);position:relative}
.app-frame[data-loading="true"]{background:#f8f8f8}
.app-frame[data-loading="true"]::before{
  content:"Loading application...";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  letter-spacing:.4px;
  background:rgba(255,255,255,0.8);
  color:var(--fg);
  z-index:1;
}
.app-frame[data-error="true"]::before{
  content:"Failed to load application. Please refresh the page.";
  background:rgba(255,235,230,0.92);
  color:#8a1c1c;
}
@media (max-width: 768px) {
  .app-frame { min-height: 600px; height: calc(100vh - 150px); }
}

.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:static;width:auto;height:auto;display:inline-block;margin:var(--g2) 0}

/* Auth UI */
.auth-container{max-width:480px;margin:var(--g4) auto var(--g5);padding:var(--g3);background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px rgba(15,23,42,0.08)}
.auth-status{margin-bottom:var(--g3);font-size:15px;color:#334155}
.auth-card{border:1px solid var(--border);border-radius:6px;padding:var(--g3);background:#fafafa;margin-bottom:var(--g3)}
.auth-card h2{margin-bottom:var(--g2);font-size:18px}
.auth-helper{margin-bottom:var(--g3);color:#475569;font-size:14px}
.auth-actions{display:flex;flex-direction:column;gap:var(--g2)}
.auth-provider{width:100%;justify-content:center;font-weight:600;display:flex;align-items:center;gap:var(--g1)}
.btn-secondary{background:#f1f5f9;border-color:#cbd5f5}
.btn-secondary:hover{background:#e2e8f0}
@media (min-width:600px){
  .auth-actions{flex-direction:row}
  .auth-provider{flex:1}
}
