/* 愛されサロン 受講生のお部屋 — 共通スタイル */
:root{
  --pink:#ff6f91; --pink-deep:#e75480; --pink-soft:#ffe3ec;
  --purple:#b78bd9; --purple-soft:#efe7fb;
  --cream:#fff8f3; --ink:#5a4a4f; --ink-soft:#9a8aa3; --line:#ffd1dd;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
body{margin:0;font-family:-apple-system,"Hiragino Maru Gothic ProN","Hiragino Sans",sans-serif;
  background:linear-gradient(165deg,#fff8f3 0%,#ffe9f0 50%,#f3e6fb 100%);background-attachment:fixed;
  color:var(--ink);line-height:1.75;padding:14px 14px 70px;}
.wrap{max-width:640px;margin:0 auto;}

/* ナビ */
.topnav{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.topnav a.back{font-size:.82rem;color:var(--purple);text-decoration:none;background:#fff;
  border:1.5px solid var(--line);border-radius:999px;padding:6px 14px;font-weight:bold;}
.topnav .sp{margin-left:auto;}

header.ph{text-align:center;margin-bottom:16px;}
header.ph .ic{font-size:2rem;}
header.ph h1{font-size:1.3rem;margin:.2em 0;color:var(--pink-deep);letter-spacing:.03em;}
header.ph .sub{font-size:.82rem;color:var(--ink-soft);}

.card{background:#fff;border-radius:18px;padding:16px;margin-bottom:14px;
  box-shadow:0 4px 16px rgba(231,84,128,.1);border:1px solid #fff0f4;}
.card-title{display:flex;align-items:center;gap:7px;font-size:.96rem;font-weight:bold;
  color:var(--pink-deep);margin:0 0 12px;}

label{display:block;font-weight:bold;font-size:.86rem;margin:0 0 5px;color:var(--ink);}
input[type=text],input[type=date],textarea,select{width:100%;border:1.5px solid var(--pink-soft);
  border-radius:12px;padding:10px 12px;font-size:1rem;font-family:inherit;color:var(--ink);
  background:var(--cream);resize:vertical;}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--pink);background:#fff;}
textarea{min-height:56px;}
.row{margin-bottom:11px;}

.btn{border:none;border-radius:999px;padding:12px 18px;font-size:.98rem;font-weight:bold;
  font-family:inherit;cursor:pointer;transition:transform .1s;width:100%;}
.btn:active{transform:scale(.97);}
.btn-primary{background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff;
  box-shadow:0 5px 16px rgba(231,84,128,.3);}
.btn-primary.done{background:#5ec98b;}
.btn-mini{width:auto;padding:7px 15px;font-size:.85rem;}
.btn-del{background:#fff;color:#c4373d;border:1.5px solid #f0b8b8;padding:5px 12px;
  font-size:.78rem;border-radius:999px;width:auto;cursor:pointer;font-weight:bold;}

.item{background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:16px;
  padding:13px 15px;margin-bottom:11px;box-shadow:0 3px 12px rgba(231,84,128,.07);}
.empty{text-align:center;color:var(--ink-soft);font-size:.9rem;padding:20px;}

.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(20px);
  background:linear-gradient(135deg,#ff6f91,#b78bd9);color:#fff;padding:11px 22px;border-radius:30px;
  font-size:.9rem;font-weight:bold;box-shadow:0 8px 24px rgba(231,84,128,.4);opacity:0;
  pointer-events:none;transition:all .35s;z-index:99;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
footer{text-align:center;font-size:.72rem;color:#cbb;margin-top:24px;}
footer a{color:var(--purple);}
