/* ===== Новая структура: шапка, полка альбомов, кабинет, админка ===== */
.top .wrap{gap:18px}
.top-right{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}
.who{display:inline-flex;align-items:center;gap:8px;color:#fbf6ea;font-weight:700;font-size:.92rem;white-space:nowrap}
.who img{width:30px;height:30px;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--green2)}
.btn.light{color:#fbf6ea;border-color:rgba(251,246,234,.6)}
.btn.danger{color:#b05a40;border-color:#e3b3a3}
.block{text-decoration:none;color:inherit;display:block}
.page-head{display:flex;gap:16px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.page-head h1{margin:0}.page-head p{margin:6px 0 0;max-width:620px}
.empty{text-align:center;padding:44px 20px;border:2px dashed #d8c7a3;border-radius:14px;background:rgba(255,253,247,.45);margin-top:16px}
.empty-ic{font-size:2.6rem}.empty h3{margin:8px 0 4px}
.flat{box-shadow:none}
textarea.code{font-family:ui-monospace,Menlo,monospace;font-size:.85rem}

/* кабинет: шаги и обложка */
.cover-p{position:relative;z-index:1;max-width:520px;margin:10px auto 0}
.cover-next{position:relative;z-index:1;display:inline-block;margin-top:18px;color:#fbf6ea;text-decoration:none;background:rgba(0,0,0,.18);padding:8px 16px;border-radius:999px;font-size:.92rem}
.cover-next:hover{background:rgba(0,0,0,.28)}
.steps{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.steps li{display:flex;gap:10px;align-items:center;background:var(--cream) var(--parch);border:1px solid #e6d8bb;border-radius:14px;padding:12px 14px;font-size:.92rem}
.steps b{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e9dcc2;color:var(--green2);font-family:var(--serif);font-size:1.05rem}
.steps li.ok b{background:var(--green);color:#fff}
.steps li.ok{color:var(--muted)}
.w-photo{width:72px;height:72px;object-fit:cover;border-radius:50%;border:3px solid var(--gold)}
.icon-btn[disabled]{opacity:.25;cursor:default}
.progress{height:10px;border-radius:999px;background:#e9dcc2;overflow:hidden}
.progress span{display:block;height:100%;background:var(--green);border-radius:999px;transition:width .4s}
.check-row{display:flex;gap:10px;align-items:center;padding:9px 0;color:inherit;text-decoration:none;border-bottom:1px dashed var(--line)}
.check-row:last-child{border:none}
.check-row b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e9dcc2;flex-shrink:0;font-size:.85rem}
.check-row.ok b{background:var(--green);color:#fff}
.check-row.off{opacity:.55;pointer-events:none}
.mini-alb{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.mini-alb figure{margin:0;background:#fffdf7;padding:6px;box-shadow:0 3px 8px rgba(60,40,20,.12)}
.mini-alb img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.mini-alb figcaption{font-size:.8rem;display:flex;gap:6px;align-items:center;margin-top:4px}
.mini-alb .spk{width:26px;height:26px;font-size:.75rem}
.hand-note{font-family:var(--hand);font-size:1.5rem}

/* полка альбомов: обложки-книги */
.shelf-title{display:flex;align-items:center;gap:10px}
.shelf-title .tag{font-family:'Manrope',sans-serif}
.shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:22px 18px;padding:18px 4px 26px;position:relative;
  background:linear-gradient(transparent calc(100% - 14px),#b89a6a calc(100% - 14px),#a0824f calc(100% - 4px),rgba(90,64,30,.25) 100%)}
.book{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 14px 16px 22px;min-height:220px;text-decoration:none;color:#fbf6ea;
  border-radius:4px 12px 12px 4px;background:var(--linen),radial-gradient(ellipse at 30% 10%,rgba(255,255,255,.12),transparent 60%),var(--green);
  box-shadow:inset 10px 0 0 rgba(0,0,0,.16),inset 12px 0 0 rgba(255,255,255,.05),0 10px 20px rgba(46,70,63,.28);transition:transform .2s}
.book:after{content:"";position:absolute;inset:8px 8px 8px 18px;border:1px solid rgba(242,192,98,.55);border-radius:2px 8px 8px 2px;pointer-events:none}
.book:hover{transform:translateY(-6px) rotate(-1deg)}
.book.guest{background:var(--linen),radial-gradient(ellipse at 30% 10%,rgba(255,255,255,.14),transparent 60%),var(--red)}
.book-av{width:76px;height:76px;border-radius:50%;background:var(--cream);display:grid;place-items:center;font-size:2.6rem;overflow:hidden;border:3px solid var(--gold);flex-shrink:0}
.book-av img{width:100%;height:100%;object-fit:cover}
.book-name{font-family:var(--serif);font-style:italic;font-weight:600;font-size:1.6rem;line-height:1;color:var(--gold);margin-top:6px}
.book.guest .book-name{color:#fff4dc}
.book-sub{font-size:.8rem;opacity:.85}
.book-n{font-size:.75rem;opacity:.7;margin-top:auto}
.small-shelf{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));background:none;padding:6px 2px}
.small-shelf .book{min-height:170px;padding:14px 10px 12px 18px}
.small-shelf .book-av{width:56px;height:56px;font-size:2rem}.small-shelf .book-name{font-size:1.3rem}
.lv .shelf{background:none}

/* главная: ближайшая встреча */
.next-card{display:flex;gap:14px;align-items:center;background:var(--cream) var(--parch);border:1px solid #e6d8bb;border-left:6px solid var(--gold);border-radius:14px;padding:12px 16px;text-decoration:none;color:inherit;box-shadow:var(--sh)}
.next-date{text-align:center;font-family:var(--stamp);color:var(--red);font-size:.8rem;min-width:52px}
.next-date b{display:block;font-family:var(--serif);font-size:2rem;color:var(--green2);line-height:1}

/* встреча */
.guest-box{display:grid;grid-template-columns:170px 1fr;gap:16px;align-items:start}
.guest-box p{margin:0 0 6px}
.faces{display:flex;flex-wrap:wrap;gap:12px}
.face{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:inherit;width:72px;text-align:center}
.face span{width:56px;height:56px;border-radius:50%;background:var(--cream);display:grid;place-items:center;font-size:1.8rem;overflow:hidden;border:2px solid #e3d5b8}
.face img{width:100%;height:100%;object-fit:cover}
.face small{font-size:.75rem;line-height:1.1}
.mt-card{border:1px solid #e6d8bb}

/* админка: ученики */
.auth{max-width:440px;margin:48px auto}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.toolbar .chips{flex:1}
.people{display:flex;flex-direction:column;gap:8px}
.prow{display:flex;gap:12px;align-items:center;background:var(--cream) var(--parch);border:1px solid #e6d8bb;border-radius:14px;padding:10px 12px;flex-wrap:wrap}
.prow.hidden{opacity:.55}
.prow-av{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:1.6rem;overflow:hidden;flex-shrink:0;border:2px solid #e3d5b8}
.prow-av img{width:100%;height:100%;object-fit:cover}
.prow .grow{min-width:160px}
.prow .tag{margin-left:6px;vertical-align:2px}
.ok-panel{background:var(--stud);border-color:#cfe0d6}
.ok-panel .linkbox{margin-top:10px}
.kind-seg{display:inline-flex}
.kind-seg label{cursor:pointer}
.kind-seg input{display:none}
.kind-seg span{display:inline-block;padding:8px 16px;border-radius:999px;font-weight:700}
.kind-seg input:checked+span{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12)}

/* админка: встреча по шагам */
.mstep-h{display:flex;gap:14px;align-items:flex-start;margin-bottom:6px}
.mstep-h>b{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:1.4rem}
.mstep-h h2{margin:0;font-size:1.7rem}.mstep-h p{margin:2px 0 0}
.grp-box{border:1px dashed var(--line);border-radius:12px;padding:10px 12px;margin-top:8px}
label.chip{user-select:none}
.av-mini{width:24px;height:24px;border-radius:50%;overflow:hidden;display:inline-grid;place-items:center;font-size:1rem;background:#fff}
.av-mini img{width:100%;height:100%;object-fit:cover}
.chip.on .av-mini{background:rgba(255,255,255,.9)}
.big-check{font-size:1.05rem;background:var(--guest);border-radius:12px;padding:12px 14px;margin-top:14px}
.thumbs .th{position:relative}
.thumbs .th .icon-btn{position:absolute;top:2px;right:2px;background:#fffc;font-size:.9rem}
.add-th{width:96px;height:72px;border:2px dashed #cdb68a;border-radius:6px;display:grid;place-items:center;font-size:1.8rem;color:#8a6a3c;cursor:pointer}
.savebar{position:sticky;bottom:0;z-index:5;display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:16px;padding:12px 16px;
  background:rgba(251,246,234,.95);backdrop-filter:blur(4px);border:1px solid #e6d8bb;border-radius:14px 14px 0 0;box-shadow:0 -6px 20px rgba(90,64,30,.12)}
.lv-names{background:#36524a;color:#fff;border:none;border-radius:12px;padding:10px;min-height:200px;width:200px}
.g4{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}

@media(max-width:700px){
  .top .wrap{flex-wrap:wrap}
  nav.menu{order:3;flex-basis:100%}
  .who{display:none}
  .guest-box{grid-template-columns:1fr}
  .prow .btn.sm{padding:6px 10px}
  .shelf{grid-template-columns:repeat(2,1fr)}
}

.hint-panel{background:var(--guest);border-color:#efd9a3}
.hint-panel .btn{margin-left:6px}
.shw-about-text{max-width:620px}
.shw-meta{letter-spacing:.18em;text-transform:uppercase;font-size:.85rem;opacity:.75;margin:6px 0 4px}
.shw-ask{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:22px}
.shw-ask span{font-family:var(--hand);font-size:1.8rem;color:var(--gold);margin-right:4px}
.shw-ask button{background:rgba(251,246,234,.14);color:#fbf6ea;border:1.5px solid rgba(242,192,98,.6);border-radius:999px;padding:10px 18px;font-weight:700;font-size:1.1rem;cursor:pointer}
.shw-ask button:hover{background:var(--gold);color:var(--green2)}

/* редактор вопросов и фраз */
.bk-row{display:flex;gap:8px;align-items:center;margin-top:8px}
.bk-row .inp{min-height:40px;padding:8px 12px}
.mini-sel{width:auto!important;flex-shrink:0}
.page-head h1{margin:0}
h1 .tag{font-family:'Manrope',sans-serif;font-size:.95rem;vertical-align:middle;letter-spacing:0}
