/*
Theme Name: LFJ Cloudworks
Theme URI: https://lostandfoundjp.com
Author: TSAgency Inc.
Version: 1.2
Description: Dashboard-style theme for Lost & Found Japan
*/

/* Base */
*{ box-sizing:border-box; }
html, body{ height:100%; }
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:#0f172a;
  background:#f5f7fb;
}

/* Header (normal pages) */
.site-header{
  background:#fff;
  border-bottom:1px solid rgba(15,23,42,.08);
}
.site-header__inner{
  max-width:1100px;
  margin:0 auto;
  padding:14px 16px;
}
.site-header__brand{
  color:#0f172a;
  text-decoration:none;
  font-weight:700;
}

/* Default page content */
.page-content{
  max-width:1100px;
  margin:40px auto;
  padding:0 16px;
}

/* =========================
   AUTH (Login / Forgot)
   ========================= */
body.lfj-auth{
  min-height:100svh;
  overflow-x:hidden; /* mobile横スクロール防止 */
}

/* Hide header only on login/forgot to remove top blank area */
body.lfj-auth .site-header{ display:none !important; }

body.lfj-auth .page-content{
  max-width:100%;
  margin:0;
  padding:0;
}

body.lfj-auth .lfj-auth-wrap{
  min-height:100svh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 16px;
}

body.lfj-auth .lfj-auth-card{
  width:100%;
  max-width:520px;
  background:#fff;
  border-radius:18px;
  padding:32px 28px;
  box-shadow:0 16px 40px rgba(15,23,42,.10);
  border:1px solid rgba(15,23,42,.06);
}

body.lfj-auth .lfj-auth-title{
  margin:0 0 6px;
  font-size:34px;
  line-height:1.2;
  text-align:center;
  letter-spacing:-.02em;
}
body.lfj-auth .lfj-auth-sub{
  margin:0 0 18px;
  text-align:center;
  color:rgba(15,23,42,.65);
}

/* Form */
body.lfj-auth .lfj-field{ margin:14px 0; }
body.lfj-auth .lfj-field label{
  display:block;
  font-weight:600;
  margin:0 0 8px;
  color:#0f172a;
}
body.lfj-auth .lfj-input{
  width:100%;
  height:50px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.18);
  background:#fff;
  outline:none;
  font-size:16px;
}
body.lfj-auth .lfj-input:focus{
  border-color:rgba(15,23,42,.35);
  box-shadow:0 0 0 4px rgba(15,23,42,.07);
}

body.lfj-auth .lfj-remember{
  display:flex;
  align-items:center;
  gap:10px;
  margin:10px 0 16px;
  color:rgba(15,23,42,.75);
}
body.lfj-auth .lfj-remember input{ transform:scale(1.05); }

body.lfj-auth .lfj-btn{
  width:100%;
  height:54px;
  border:0;
  border-radius:14px;
  background:linear-gradient(180deg,#0b1220,#0a0f1c);
  color:#fff;
  font-weight:700;
  font-size:16px;
  cursor:pointer;
}
body.lfj-auth .lfj-btn:hover{ filter:brightness(1.05); }

body.lfj-auth .lfj-links{
  margin-top:14px;
  text-align:center;
  color:rgba(15,23,42,.55);
}
body.lfj-auth .lfj-links a{
  color:#2563eb;
  text-decoration:none;
  font-weight:600;
}
body.lfj-auth .lfj-links a:hover{ text-decoration:underline; }
body.lfj-auth .lfj-dot{ margin:0 10px; color:rgba(15,23,42,.35); }

body.lfj-auth .lfj-auth-note{
  margin:12px 0 0;
  text-align:center;
  color:rgba(15,23,42,.55);
  font-size:14px;
}

body.lfj-auth .lfj-alert{
  padding:12px 14px;
  border-radius:12px;
  margin:0 0 14px;
  font-weight:600;
  font-size:14px;
}
body.lfj-auth .lfj-alert--error{
  background:#fff1f2;
  border:1px solid #fecdd3;
  color:#9f1239;
}

/* Mobile tuning */
@media (max-width:480px){
  body.lfj-auth .lfj-auth-card{
    padding:26px 18px;
    border-radius:16px;
  }
  body.lfj-auth .lfj-auth-title{ font-size:30px; }
}

/* =========================
   Dashboard / general small tweaks
   ========================= */
a{ color:#2563eb; }
