*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
  font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  background-color:var(--site-bg-color);
  background-image:var(--site-bg-image);
  background-size:var(--site-bg-size);
  background-repeat:var(--site-bg-repeat);
  background-position:var(--site-bg-position);
  background-attachment:var(--site-bg-attachment);
  color:var(--text-primary)
}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
body{min-height:100vh;overflow-x:hidden;position:relative}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background:var(--site-bg-overlay-color);
  opacity:var(--site-bg-overlay-opacity);
  pointer-events:none;
  z-index:0;
}
img,iframe,video{max-width:100%;height:auto;display:block}
.shell{width:min(var(--container-width),calc(100% - 32px));margin:0 auto}
.site-canvas{padding:28px 0 40px;position:relative;z-index:1}
.page-panel{
  background-color:rgba(var(--color-surface-light),var(--panel-overlay-alpha,.97));
  border:var(--frame-border-width) solid var(--frame-border-color);
  box-shadow:var(--frame-shadow);
  border-radius:var(--radius-panel);
  padding:var(--space-4);
}
.main-shell{padding:var(--space-5) 0 var(--space-4)}
.auth-body{display:grid;place-items:center;min-height:100vh}
.auth-shell{width:min(460px,calc(100% - 32px))}
.stack-layout{display:grid;gap:var(--space-4)}
.grid-main,.grid-two,.grid-three,.grid-four,.grid-stack{display:grid;gap:var(--space-4);min-width:0}
.grid-main{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card-wide{grid-column:1/-1}
.page-head{margin-bottom:var(--space-4)}
.page-head h1{margin:0 0 8px;font-size:clamp(28px,3vw,38px);line-height:1.2;color:var(--text-primary);letter-spacing:-.02em}
.page-head p{margin:0;color:var(--text-secondary);max-width:900px;line-height:1.6}
.message{padding:14px 16px;border-radius:var(--radius-soft);margin-bottom:14px}
.message.error{background:var(--danger-bg);color:var(--danger-text)}
.prose{white-space:pre-wrap;line-height:1.72;color:var(--text-primary)}
.text-link{color:var(--primary-blue);font-weight:600}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--space-4);color:var(--text-secondary);font-size:14px}
.breadcrumbs a{color:var(--link-color)}

@media (min-width: 768px) and (max-width: 1199px){
  .shell{width:min(var(--container-width),calc(100% - 28px))}
  .site-canvas{padding:20px 0 28px}
  .page-panel{padding:var(--space-3)}
  .grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width: 767px){
  .shell{width:min(var(--container-width),calc(100% - 20px))}
  .grid-main,.grid-two,.grid-three,.grid-four{grid-template-columns:1fr}
  .site-canvas{padding:16px 0 24px}
  .page-panel{padding:var(--space-3)}
}
