/* Data controls and private journaling; deliberately scoped to these new surfaces. */
.data-controls { margin: 24px 0; padding: 24px; border: 1px solid #48514a; border-radius: 16px; background: #19201e; color: #eee9dc; text-align: left; line-height: 1.7; }
.data-controls h2 { margin: 0 0 12px; font-size: 20px; color: #eee9dc; text-shadow: none; }
.data-controls p { color: #c4cdc3; font-size: 14px; margin: 12px 0; }
.data-controls button { background: #303d35 !important; color: #f3eddf !important; border: 1px solid #657566 !important; border-radius: 8px !important; padding: 10px 14px !important; font: inherit; font-size: 14px !important; box-shadow: none !important; transform: none !important; cursor: pointer; }
.data-controls button:disabled { opacity: .5; cursor: not-allowed; }
.data-controls button:focus-visible, .data-controls summary:focus-visible { outline: 2px solid #e0cc9c; outline-offset: 4px; }
.data-controls .data-danger { border-color: #bd8580 !important; color: #ffd1c9 !important; background: #422c2b !important; margin-top: 12px; }
.data-controls label { display: block; margin: 12px 0 6px; color: #eee9dc; font-size: 14px; }
.data-controls input, .data-controls textarea { box-sizing: border-box; display: block; width: 100%; border: 1px solid #657566 !important; border-radius: 8px !important; background: #101813 !important; color: #eee9dc !important; padding: 12px !important; font: inherit; font-size: 16px !important; }
.data-controls textarea { resize: vertical; margin-bottom: 12px; }
.data-controls summary { cursor: pointer; font-weight: 600; }
.data-controls details { border-top: 1px solid #48514a; padding-top: 16px; margin-top: 20px; }
.data-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.data-usage { margin-top: 18px; }
.data-notice-backdrop { position: fixed; inset: 0; padding: 20px; display: grid; place-items: center; background: #080e0bce; z-index: 20000; }
.data-notice { width: min(640px, 100%); max-height: 80dvh; overflow: auto; box-sizing: border-box; margin: 0; }
.data-notice-close { float: right; margin: 0 0 14px 14px; }
.data-inline-note { color: #adb9ae; font-size: 12px; line-height: 1.6; }
.data-inline-note button, .privacy-footer-link { padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: none !important; color: inherit !important; font: inherit !important; text-decoration: underline; cursor: pointer; min-height: 0 !important; white-space: nowrap; }
.private-treehole { max-width: 640px; margin: 20px auto; }
@media (max-width: 600px) {
  .data-controls { padding: 18px; }
  .data-actions { flex-direction: column; align-items: stretch; }
  .data-notice-backdrop { padding: 12px; }
  #Store .page-back-fab { display: none !important; }
  #Store .site-footer { flex-wrap: wrap; gap: 4px 10px !important; padding: 6px 8px !important; font-size: 10px !important; }
}

/* Shared controls for the three account sections and recoverable workflows. */
#Store .section-tabs { display:flex; flex-wrap:wrap; gap:8px; padding:8px 0; width:100%; margin:8px 0; }
#Store .section-tabs button, #Store .quiet-action, #Store .report-history-button { min-height:40px; border:1px solid #766f60 !important; background:#272a26 !important; color:#f2eee3 !important; border-radius:10px !important; padding:9px 14px !important; box-shadow:none !important; font:inherit; cursor:pointer; }
#Store .section-tabs button[aria-pressed="true"] { background:#d5bf93 !important; color:#242820 !important; border-color:#e7d5ad !important; }
#Store button:focus-visible, #Store a:focus-visible, #Store summary:focus-visible { outline:3px solid #dec48f !important; outline-offset:3px; }
#Store .nav-pill-btn:hover, #Store .nav-pill-btn.active { background:#d5bf93 !important; background-image:none !important; color:#242820 !important; -webkit-text-fill-color:#242820 !important; border-color:#e7d5ad !important; box-shadow:none !important; text-shadow:none !important; }
#Store .profile-logout-btn { background:#30382f !important; background-image:none !important; color:#f2eee3 !important; -webkit-text-fill-color:#f2eee3 !important; border:1px solid #79826c !important; box-shadow:none !important; text-shadow:none !important; }
#Store .card-header-toggle { width:100%; text-align:left; border:0 !important; border-radius:12px !important; color:#eee9dc !important; box-shadow:none !important; font:inherit; }
#Store .profile-page .profile-tests .test-card > button.card-header-toggle { background:#243129 !important; background-image:none !important; color:#f4eedf !important; -webkit-text-fill-color:#f4eedf !important; border:1px solid #596b5d !important; box-shadow:none !important; text-shadow:none !important; transform:none !important; transition:background-color .15s, border-color .15s; }
#Store .profile-page .profile-tests .test-card > button.card-header-toggle .card-title,
#Store .profile-page .profile-tests .test-card > button.card-header-toggle h3,
#Store .profile-page .profile-tests .test-card > button.card-header-toggle .arrow-icon { color:inherit !important; -webkit-text-fill-color:inherit !important; text-shadow:none !important; }
#Store .profile-page .profile-tests .test-card > button.card-header-toggle:hover { background:#344639 !important; background-image:none !important; border-color:#9baa91 !important; box-shadow:none !important; transform:none !important; }
#Store .profile-page .profile-tests .test-card > button.card-header-toggle:focus-visible { outline:3px solid #ecd09a !important; outline-offset:-4px !important; background:#344639 !important; background-image:none !important; }
#Store .draft-notice, #Store .community-feedback { margin:12px auto; padding:12px 18px; max-width:900px; background:#27392d; color:#f0ebdd; border:1px solid #617660; border-radius:10px; line-height:1.6; }
#Store .draft-notice button { color:inherit !important; background:transparent !important; border:0 !important; font:inherit; text-decoration:underline; }
#Store .audience-note { color:#d6d4c9 !important; line-height:1.7; font-size:14px; text-align:left; }
#Store .treehole-main-layout { height:auto !important; min-height:calc(100dvh - 160px); padding-bottom:48px; }
#Store .treehole-tabs { justify-content:center; }
#Store .treehole-tabs + .audience-note { text-align:center; margin:0; }
#Store .throw-foot { flex-wrap:wrap; }
#Store .throw-foot .audience-note { flex-basis:100%; }
#Store .treehole-main-layout .bottle-zone { box-sizing:border-box; max-width:100%; }
#Store .private-treehole { margin-top:0; }
#Store .bigfive-result { padding:20px; background:#202923; border:1px solid #536357; border-radius:12px; margin:12px 16px; }
#Store .bigfive-result h4 { margin:0 0 8px; color:#f0e9dc; font-size:20px; }
#Store .bigfive-result p { color:#c8d1c7 !important; font-size:14px; line-height:1.7; }
#Store .dimension-row { margin:20px 0; }
#Store .dimension-row > div { display:flex; justify-content:space-between; gap:12px; color:#efe9da; }
#Store .dimension-row meter { width:100%; height:16px; accent-color:#b3c5a2; }
#Store .dimension-row p { margin:5px 0; }
#Store .stale-notice { color:#f5d5a0 !important; background:#453823 !important; border-left:3px solid #d1af78; padding:12px; font-size:14px; line-height:1.6; }
#Store .data-controls select { width:100%; padding:12px; border:1px solid #657566 !important; border-radius:8px; background:#101813 !important; color:#eee9dc !important; font:inherit; }
#Store .history-report-row { display:block; width:100%; text-align:left; margin:10px 0; }
#Store .history-report-row span { display:block; margin-top:4px; font-size:13px; }
#Store .saved-report-body { line-height:1.8; overflow-wrap:anywhere; color:#e9e8db; }
#Store .saved-report-body h2, #Store .saved-report-body h3 { color:#f2ead7; }
#Store .report-version { font-size:11px; overflow-wrap:anywhere; }
#Store .report-source-row, #Store .moderation-row { border-top:1px solid #536357; padding:14px 0; }
#Store .blocked-list { padding-left:20px; }
#Store .blocked-list li { margin:12px 0; }
/* Shared login / registration theme at every viewport width. */
#Store .profile-auth-modal { padding:20px; background:rgba(9,12,10,.72); backdrop-filter:blur(8px); }
#Store .profile-auth-modal .modal { width:min(440px,100%); max-height:calc(var(--visible-height,100dvh) - 40px); overflow:auto; padding:30px; background:#23271f !important; color:#eee8da; border:1px solid #60654f; border-radius:20px; box-shadow:0 24px 80px #0006; }
#Store .profile-auth-modal h3 { margin:0 0 26px; text-align:left; font-size:24px; color:#efe9dc !important; text-shadow:none !important; }
#Store .profile-auth-modal .form-group { margin-bottom:20px; }
#Store .profile-auth-modal label { margin-bottom:8px; font-size:14px; color:#e1dacb !important; }
#Store .profile-auth-modal input, #Store .profile-auth-modal select { min-height:48px; background:#171d18 !important; color:#f6f2e5 !important; border:1px solid #737d69 !important; border-radius:12px !important; -webkit-text-fill-color:#f6f2e5 !important; font-size:16px !important; box-shadow:none !important; }
#Store .profile-auth-modal input::placeholder { color:#aeb8a8 !important; -webkit-text-fill-color:#aeb8a8 !important; opacity:1; }
#Store .profile-auth-modal input:focus, #Store .profile-auth-modal select:focus { border-color:#ddc391 !important; box-shadow:0 0 0 3px #ddc39122 !important; outline:none; }
#Store .profile-auth-modal button { min-height:44px; padding:11px 20px !important; background:#2c3227 !important; color:#e8e1d0 !important; border:1px solid #68715c !important; border-radius:12px !important; font:inherit; font-size:14px; box-shadow:none !important; text-shadow:none !important; backdrop-filter:none !important; transform:none !important; transition:background-color .15s,border-color .15s !important; }
#Store .profile-auth-modal button:hover:not(:disabled) { background:#3b4433 !important; border-color:#b0b79b !important; }
#Store .profile-auth-modal button:disabled { opacity:.55; cursor:wait; }
#Store .profile-auth-modal .modal-footer { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:8px 0 18px; }
#Store .profile-auth-modal .btn-confirm { color:#27291f !important; background:#dcc392 !important; border-color:#dcc392 !important; }
#Store .profile-auth-modal .btn-confirm:hover:not(:disabled) { color:#27291f !important; background:#ead6ae !important; border-color:#ead6ae !important; }
#Store .profile-auth-modal .switch-link, #Store .profile-auth-modal .data-inline-note { margin:0; color:#c8cebd !important; line-height:1.7; font-size:13px; text-align:center; }
#Store .profile-auth-modal a { color:#dfca9d !important; text-decoration:underline; text-underline-offset:4px; }
#Store .profile-auth-modal .auth-text-action { padding:8px 0 !important; background:none !important; border:0 !important; color:#dfca9d !important; text-decoration:underline; text-underline-offset:4px; }
#Store .profile-auth-modal .auth-text-action:hover { color:#f1dfb9 !important; background:none !important; }
#Store .profile-auth-modal .auth-recovery { margin:4px 0 0; text-align:center; }
#Store .profile-auth-modal input[type="file"] { padding:8px !important; max-width:100%; font-size:13px !important; }
#Store .profile-auth-modal input::file-selector-button { min-height:36px; margin-right:10px; border:0; border-radius:7px; padding:6px 10px; background:#3f4937; color:#eee6d1; cursor:pointer; }
#Store .message-status { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
#Store .message-status > span { flex-basis:100%; }
#Store .site-footer { position:relative !important; z-index:1 !important; box-sizing:border-box; }
#Store .admin-site-notice { margin:12px auto; padding:12px 18px; max-width:920px; color:#e6ddc7; background:#293329; border:1px solid #69795c; border-radius:10px; font-size:14px; line-height:1.6; }
#Store .admin-site-notice a, #Store .contact-admin-entry a { color:#e7d5a3 !important; }
#Store .contact-admin-entry { margin-top:24px; padding-top:16px; border-top:1px solid #48514a; }
#Store .feedback-dialog { width:min(720px, 100%); }
#Store .feedback-actions, #Store .feedback-pagination { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:16px 0; }
#Store .feedback-list-item { display:block; width:100%; margin:12px 0; text-align:left; overflow-wrap:anywhere; }
#Store .feedback-list-item > span:not(.feedback-unread) { display:block; margin-top:5px; color:#d0d8cd; font-size:12px; }
#Store .feedback-unread { display:inline-block; margin-left:10px; padding:2px 7px; border-radius:6px; background:#d7c18e; color:#233027; font-size:12px; }
#Store .feedback-detail h3, #Store .feedback-detail h4 { color:#f3eedf !important; overflow-wrap:anywhere; }
#Store .feedback-message { white-space:pre-wrap; overflow-wrap:anywhere; padding:14px; background:#111b15; border-radius:8px; color:#e7e9df !important; }
#Store .feedback-reply { border-top:1px solid #52614f; padding-top:10px; margin-top:16px; }
#Store .feedback-reply.from-admin { border-left:3px solid #c8c799; padding-left:12px; }
#Store .feedback-error { color:#ffd6c5 !important; }
#Store .page-home { min-height:calc(100dvh - 120px) !important; padding-bottom:50px !important; }
#Store .home-nav-pills { position:relative !important; flex-shrink:0; margin-bottom:20px; }
#Store .hpz-sync { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; padding:12px 18px; color:#e7dece; font-size:14px; text-align:center; }
#Store .hpz-empty > span { color:#ded6c8; }
@media (max-width:600px) {
  #Store .bigfive-result { margin:10px 0; padding:16px; }
  #Store .section-tabs { gap:6px; }
  #Store .section-tabs button { flex:1; padding:9px !important; font-size:13px; white-space:nowrap; }
  #Store .treehole-main-layout { padding-left:8px; padding-right:8px; }
  #Store .treehole-main-layout .bottle-zone { width:100%; padding:12px; }
  #Store .report-history-dialog { max-height:88dvh; }
}

/* A recoverable route for disabled accounts, separate from ordinary sign-in. */
#Store .profile-auth-modal .login-error{background:#382a24!important;border:1px solid #b58067;border-radius:10px;padding:12px;color:#ffe1d1!important;text-align:left;line-height:1.6}
#Store .profile-auth-modal .appeal-entry{font-size:13px;line-height:1.7;text-align:center;color:#d7d9ce!important;margin:18px 0 0}
#Store .profile-auth-modal .appeal-entry a{color:#ecdcaf!important;text-decoration:underline;text-underline-offset:3px}
#Store .feedback-waiting{background:#253923;padding:12px;border-radius:9px;border:1px solid #718768;color:#e8f1da!important}
