/* SHIKI ORACLE / PRO画面の共通スタイル
   LPの色（和紙白・深墨・鈍い金・薄灰緑・石色）をそのまま引き継ぐ。 */
:root{
  --washi:#F7F5EF; --haigreen:#E8E9E4; --stone:#D4D4CB;
  --sumi:#333B35; --gold:#827861; --sub:#7b7d78; --line:#dedfd8;
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--washi); color:var(--sumi);
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",-apple-system,sans-serif;
  line-height:1.75; -webkit-font-smoothing:antialiased;
}
a{color:inherit;}
.mincho{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;}

/* ---- ログイン ---- */
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px 16px;}
.login-card{width:100%;max-width:410px;background:#fff;border:1px solid var(--line);
  border-radius:3px;padding:40px 34px 34px;box-shadow:0 10px 40px rgba(51,59,53,.06);}
.login-logo{text-align:center;margin-bottom:30px;}
.login-logo .name{font-family:"Cormorant Garamond","Hiragino Mincho ProN",serif;
  font-size:30px;letter-spacing:.3em;color:var(--sumi);display:block;}
.login-logo .sub{font-size:9.5px;letter-spacing:.42em;color:var(--gold);display:block;margin-top:5px;}
.login-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:26px;}
.login-tab{flex:1;background:none;border:none;padding:11px 0;cursor:pointer;
  font-size:13.5px;color:var(--sub);font-family:inherit;border-bottom:2px solid transparent;
  transition:color .2s,border-color .2s;}
.login-tab.active{color:var(--sumi);border-bottom-color:var(--gold);}
.login-form{display:flex;flex-direction:column;gap:17px;}
.login-form label{display:block;font-size:11.5px;color:var(--sub);margin-bottom:5px;letter-spacing:.06em;}
.login-form input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:2px;
  font-size:14.5px;background:#fdfdfb;color:var(--sumi);font-family:inherit;}
.login-form input:focus{outline:none;border-color:var(--gold);background:#fff;}
.btn-submit{width:100%;padding:13px;background:var(--sumi);color:#fff;border:none;border-radius:2px;
  font-size:14px;letter-spacing:.1em;cursor:pointer;font-family:inherit;transition:background .2s;}
.btn-submit:hover{background:#262d27;}
.btn-submit:disabled{opacity:.5;cursor:default;}
.login-error{font-size:12.5px;color:#a8463a;min-height:1.2em;line-height:1.6;}
.login-note{font-size:11.5px;color:var(--sub);line-height:1.8;margin:0;}
.login-foot{text-align:center;margin:16px 0 0;font-size:12.5px;}
.login-foot a{color:var(--gold);text-decoration:none;}
.login-foot a:hover{text-decoration:underline;}

/* ---- ダッシュボード ---- */
.appbar{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:16px 26px;background:#fff;border-bottom:1px solid var(--line);}
.appbar .brand{font-family:"Cormorant Garamond","Hiragino Mincho ProN",serif;
  font-size:19px;letter-spacing:.26em;color:var(--sumi);text-decoration:none;}
.appbar .right{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--sub);}
.appbar button{background:none;border:1px solid var(--line);border-radius:2px;padding:6px 13px;
  font-size:12px;color:var(--sub);cursor:pointer;font-family:inherit;}
.appbar button:hover{border-color:var(--gold);color:var(--sumi);}
.wrap{max-width:980px;margin:0 auto;padding:46px 20px 70px;}
.lead{margin:0 0 34px;}
.lead h1{font-family:"Hiragino Mincho ProN",serif;font-size:25px;font-weight:400;
  letter-spacing:.08em;margin:0 0 10px;}
.lead p{margin:0;font-size:13px;color:var(--sub);}
.sheets{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:16px;}
.sheet{display:block;background:#fff;border:1px solid var(--line);border-radius:3px;
  padding:22px 20px;text-decoration:none;color:inherit;transition:border-color .2s,transform .2s,box-shadow .2s;}
.sheet:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 8px 24px rgba(51,59,53,.07);}
.sheet .no{font-size:10px;letter-spacing:.3em;color:var(--gold);}
.sheet h2{font-family:"Hiragino Mincho ProN",serif;font-size:17px;font-weight:400;margin:7px 0 8px;letter-spacing:.05em;}
.sheet p{margin:0;font-size:12px;color:var(--sub);line-height:1.7;}
.sheet .size{display:inline-block;margin-top:11px;font-size:10.5px;color:var(--sub);
  border:1px solid var(--line);border-radius:2px;padding:2px 7px;}
/* 新版・旧版の区分 */
.group{margin:0 0 44px;}
.ghd{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line);}
.ghd h2{margin:0;font-size:19px;font-weight:400;letter-spacing:.2em;}
.ghd p{margin:0;font-size:12px;color:var(--sub);}
.sheet{position:relative;}
.sheet .badge{position:absolute;top:18px;right:18px;font-size:10px;letter-spacing:.14em;padding:2px 8px;border-radius:2px;
  border:1px solid var(--line);color:var(--sub);background:#fff;}
.sheet .badge.new{border-color:var(--gold);color:#fff;background:var(--gold);}
.group:not(.oldgrp) .sheet{border-color:#d8cfb6;}
.oldgrp .sheet{background:#fbfbf9;}
.oldgrp .sheet h2,.oldgrp .sheet .no{color:var(--sub);}
.oldgrp .sheet:hover{border-color:var(--line);transform:none;box-shadow:none;}
.hide{display:none!important;}
@media(max-width:560px){
  .appbar{padding:13px 16px;} .wrap{padding:30px 16px 54px;}
  .lead h1{font-size:21px;} .sheets{grid-template-columns:1fr;}
}
