.identity-loading { min-height:100dvh; display:grid; place-items:center; color:var(--ink); }
.identity-shell { min-height:100dvh; display:grid; grid-template-columns:minmax(320px,.95fr) minmax(420px,1.05fr); }
.identity-story { background:var(--green-soft); padding:64px clamp(32px,5vw,90px); display:flex; flex-direction:column; justify-content:center; gap:36px; overflow:hidden; }
.identity-brand { display:flex; align-items:center; gap:13px; margin-bottom:20px; font:38px Georgia,serif; }
.identity-brand img { width:90px; height:90px; object-fit:contain; }
.identity-story h1 { font-size:clamp(38px,4vw,60px); line-height:1.1; margin:14px 0 20px; }
.identity-story p:not(.eyebrow) { line-height:1.8; font-size:14px; max-width:440px; }
.identity-paper { display:grid; grid-template-columns:1fr 1fr; width:min(100%,480px); aspect-ratio:2.2; background:var(--paper); padding:15px; gap:18px; border:5px solid #576854; border-radius:9px; transform:rotate(-5deg); box-shadow:0 18px 35px #182c2220; }
.identity-paper>div { border:1px solid var(--line); background:repeating-linear-gradient(0deg,transparent,transparent 21px,var(--line) 21px,var(--line) 22px),repeating-linear-gradient(90deg,transparent,transparent 42px,var(--line) 42px,var(--line) 43px); }
.identity-story .identity-caption { font-size:12px; margin:0; }
.identity-panel { display:flex; flex-direction:column; padding:28px clamp(24px,5vw,80px); background:var(--surface); }
.identity-toolbar { display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--muted); }
.identity-form-wrap { width:100%; max-width:460px; margin:auto; padding:50px 0; }
.identity-form-wrap h2 { font-size:34px; margin:14px 0; }
.identity-description { font-size:13px; line-height:1.7; margin-bottom:24px; }
.identity-tabs { display:flex; gap:6px; padding:5px; border:1px solid var(--line); border-radius:9px; margin-bottom:24px; }
.identity-tabs button { flex:1; padding:10px; border:0; border-radius:6px; background:none; }
.identity-tabs button[aria-pressed="true"] { background:var(--green-soft); }
.identity-submit { width:100%; margin-top:20px; justify-content:center; }
.identity-form-wrap .form-grid>.wide { grid-column:1 / -1; }
.identity-guest { border-top:1px solid var(--line); padding-top:24px; margin-top:28px; display:flex; flex-direction:column; gap:13px; }
.identity-guest>span { font-size:12px; }
.identity-guest .button { justify-content:center; }
.identity-guest p,.identity-footer { font-size:11px; line-height:1.7; color:var(--muted); }
.identity-footer { text-align:center; padding-bottom:8px; }
.account-profile { border:0; background:transparent; text-align:left; cursor:pointer; width:100%; color:var(--ink); }
.account-actions { display:flex; flex-wrap:wrap; gap:10px; padding-top:22px; margin-top:22px; border-top:1px solid var(--line); }
.account-active { display:flex; align-items:center; gap:9px; margin-top:18px; }
.admin-users { margin:16px 0 22px; }
.admin-user { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; border-bottom:1px solid var(--line); }
.admin-user>div { display:flex; flex-wrap:wrap; gap:8px; }
.admin-user>div:first-child { display:flex; flex-direction:column; min-width:0; }
.admin-user strong,.admin-user small { overflow-wrap:anywhere; }
.admin-user small { color:var(--muted); line-height:1.6; }
.guest-banner { display:flex; align-items:center; justify-content:space-between; gap:18px; background:var(--green-soft); border:1px solid var(--line); border-radius:10px; padding:16px 18px; margin-bottom:23px; }
.guest-banner span { display:block; margin-top:4px; line-height:1.6; font-size:12px; }
.guest-banner strong { font-size:13px; font-weight:500; }
.guest-banner .button { flex-shrink:0; }
.empty-book { border:1px dashed var(--line); background:var(--surface); border-radius:14px; padding:50px 24px; text-align:center; }
.empty-book>svg { width:42px; height:42px; color:var(--green); margin-bottom:18px; }
.empty-book h2 { margin-bottom:13px; }
.empty-book p { font-size:13px; line-height:1.8; max-width:440px; margin:0 auto 23px; }
.empty-book .button { display:inline-flex; margin:5px; }
.save-indicator { border:0; background:transparent; padding:4px 0; color:var(--muted); text-align:left; font-size:11px; }
.save-indicator.error,.save-indicator.expired { color:var(--amber); }
.save-indicator.saving,.save-indicator.pending { color:var(--ink); }
.save-retry { border:0; background:transparent; padding:0; }
.conflict-summary { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:20px 0; }
.conflict-summary>div { padding:18px; border:1px solid var(--line); border-radius:8px; }
.conflict-summary strong,.conflict-summary span { display:block; line-height:1.7; }
[data-theme="dark"] .identity-brand img { filter:brightness(0) invert(.85) sepia(.25) saturate(.5); }
[data-theme="dark"] .identity-paper { background:var(--surface); border-color:#719263; }
@media(max-width:950px) { .identity-shell { grid-template-columns:1fr; } .identity-story { padding:28px 26px; gap:16px; } .identity-brand { margin:0; font-size:29px; } .identity-brand img { width:64px; height:64px; } .identity-story h1 { font-size:36px; } .identity-story p:not(.eyebrow) { margin-bottom:0; } .identity-paper,.identity-caption { display:none; } .identity-panel { padding:20px 26px; } .identity-form-wrap { padding:36px 0; } }
@media(max-width:500px) { .identity-brand { font-size:25px; } .identity-story h1 { font-size:30px; } .identity-story { padding:20px; } .identity-story>div:nth-child(2) { display:none; } .identity-panel { padding:15px 20px; } .identity-form-wrap { padding:28px 0; } .identity-form-wrap h2 { font-size:29px; } .identity-form-wrap .form-grid { grid-template-columns:1fr; } .identity-form-wrap .wide { grid-column:auto; } .guest-banner { align-items:flex-start; flex-direction:column; gap:10px; } .admin-user { flex-direction:column; align-items:flex-start; } .conflict-summary { grid-template-columns:1fr; } .empty-book { padding:32px 16px; } }
@media print { .guest-banner,.identity-shell,.identity-loading { display:none !important; } }
