/* The home page loads only shared appearance and access controls. */
.landing-page{max-width:1120px;padding:28px 30px 64px}
.landing-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.landing-header h1{margin:0;color:var(--heading-text);font-size:24px;font-weight:650;line-height:1.2;letter-spacing:-.65px;white-space:nowrap}
.landing-header .header-actions{gap:9px;margin-left:auto;flex-shrink:0}
.landing-header .admin-link{min-height:36px;padding:7px 10px}
.landing-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px;margin-top:24px}
.landing-tool{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:29px 30px 25px;border:1px solid var(--line);border-radius:15px;background:var(--paper);text-decoration:none;box-shadow:0 4px 18px #10243a04;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.landing-tool-primary{display:grid;grid-template-columns:minmax(0,1fr) 106px;column-gap:8px;border-color:var(--primary)}
.landing-tool::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent)}
.landing-tool-icon{display:grid;place-items:center;width:50px;height:50px;margin-bottom:24px;border-radius:12px;background:var(--canvas);color:var(--heading-text)}
.landing-tool-icon>svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.landing-tool-icon-secondary{color:var(--muted)}
.landing-tool h2{margin:0;color:var(--heading-text);font-size:22px;line-height:1.2;letter-spacing:-.55px;font-weight:650}
.landing-tool>p{margin:12px 0 30px;color:var(--muted);font-size:13px;line-height:1.7}
.landing-tool-action{display:flex;align-items:center;width:100%;min-height:46px;padding-top:18px;margin-top:auto;border-top:1px solid var(--line);color:var(--heading-text);font-size:12px;font-weight:600}
.landing-tool-primary>.landing-tool-icon,.landing-tool-primary>h2,.landing-tool-primary>p{grid-column:1}
.landing-tool-primary>.landing-tool-action{grid-column:1/-1}
.landing-illustration{grid-column:2;grid-row:1/4;align-self:center;justify-self:center;width:124px;max-width:none}
.landing-illustration>svg{display:block;width:100%;height:auto;overflow:visible}
.landing-illustration-halo{fill:var(--preview-background)}
.landing-illustration-grid{fill:none;stroke:var(--border);stroke-width:.75;opacity:.7}
.landing-illustration-ground{fill:none;stroke:var(--muted);stroke-width:1.5;stroke-linecap:round}
.landing-page .landing-tool:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 9px 26px #10243a0c}
.landing-page .landing-tool:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
@media(max-width:700px){
  .landing-page{padding:24px 20px 36px}
  .landing-header{gap:10px;padding-bottom:19px}
  .landing-header h1{font-size:13px;letter-spacing:-.3px}
  .landing-header .header-actions{gap:7px;flex-wrap:wrap;justify-content:flex-end}
  .landing-header .admin-link{font-size:10px;padding:7px 9px}
  .landing-tools{gap:15px}
  .landing-tool{padding:24px 24px 20px;border-radius:12px}
  .landing-tool-icon{width:43px;height:43px;margin-bottom:17px;border-radius:10px}
  .landing-tool-icon>svg{width:26px;height:26px}
  .landing-tool h2{font-size:22px}
  .landing-tool>p{margin:10px 0 23px;font-size:12px}
  .landing-tool-action{padding-top:15px;min-height:44px}
}
@media(max-width:380px){
  .landing-page{padding-right:17px;padding-left:17px}
  .landing-header h1{font-size:13px}
  .landing-tool{padding-right:19px;padding-left:19px}
  .landing-tool-primary{grid-template-columns:minmax(0,1fr) 82px;column-gap:5px}
  .landing-illustration{width:103px}
  .landing-tool h2{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.landing-tool{transition:none}.landing-page .landing-tool:hover{transform:none}}
@media print{.landing-header .header-actions{display:none}.landing-page{max-width:none;padding:0}.landing-tool{break-inside:avoid;box-shadow:none;transform:none}}
