/* DREAMCONNECT: retain the portal layout and apply the corporate palette. */
:root {
  --brand-font: 'Helvetica Neue', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', Meiryo, Helvetica, Arial, sans-serif;
  --brand-charcoal: #272727;
  --brand-canvas: #f5f3f0;
  --brand-surface: #fff;
  --brand-accent: #a53a0d;
  --brand-accent-soft: #fff0e6;
  --brand-orange: #f2771c;
  --brand-red: #e12b37;
  --brand-gradient: linear-gradient(110deg, #b94410, #c92331);
  --brand-gradient-hover: linear-gradient(110deg, #a13a0d, #b11e2a);
  --brand-vivid-gradient: linear-gradient(110deg, #f2771c, #e12b37);
  --navy: var(--brand-charcoal);
  --ink: #272727;
  --muted: #6b6661;
  --line: #e4dfda;
  --lavender: #f1ebe5;
  --purple: var(--brand-accent);
  --white: #fff;
  --shadow: 0 12px 32px #27272708;
  font-family: var(--brand-font);
  color: var(--ink);
  background: var(--brand-canvas);
}

body, button, input, select, textarea, .auth-page, .auth-loading,
.brand, .brand-name, .page-heading h1, .heading-kicker, .cover-title,
.auth-brand, .auth-box h2, .auth-story h1 { font-family: var(--brand-font); }
input::placeholder, textarea::placeholder { color: #78726c; }
button:focus-visible, a:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible { outline-color: #ad3f12; }
.loading-dot { border-color: #ded7cf; border-top-color: var(--brand-accent); }

/* The corporate charcoal is the navigation's visual anchor. */
.sidebar { background: var(--brand-charcoal); color: #fff; border-right-color: #272727; }
.sidebar .brand-symbol { border-color: #fff; }
.sidebar .brand-symbol:after { background: var(--brand-vivid-gradient); border-color: var(--brand-charcoal); }
.sidebar .nav-label { color: #bab4ae; }
.sidebar .nav-parent { color: #f5f3f0; }
.sidebar .nav-child, .sidebar .nav-share, .sidebar .bottom-link { color: #cec8c2; }
.sidebar .nav-children { border-left-color: #514b46; }
.sidebar .nav-parent:hover, .sidebar .nav-child:hover,
.sidebar .nav-share:hover, .sidebar .bottom-link:hover { background: #3b3733; color: #fff; }
.sidebar .nav-parent.is-active { background: var(--brand-gradient); color: #fff; }
.sidebar .nav-child.is-active, .sidebar .bottom-link.is-active { background: #49352b; color: #fff; }
.sidebar .nav-child.is-active:before { background: #ff9b57; }
.sidebar .sidebar-bottom, .sidebar .member-profile { border-top-color: #4b4641; }
.sidebar .member-role, .sidebar .logout-btn { color: #c4bdb6; }
.sidebar .logout-btn:hover { color: #fff; }
.sidebar .avatar { background: #4a3d34; color: #fff1e7; border: 0; }
.sidebar .avatar-trigger:hover { box-shadow: none; }
.sidebar button:focus-visible, .sidebar a:focus-visible { outline-color: #ffb17b; }
.nav-scroll { scrollbar-color: #62594f transparent; }

.shell-main { background: var(--brand-canvas); }
.topbar { background: #efede9; border-bottom-color: var(--line); }
.breadcrumb { color: #746d66; }
.breadcrumb strong { color: #4e4741; }
.global-search { background: #fff; border-color: #dcd6cf; }
.global-search .icon { color: #746d66; }
.preview-badge { background: #e5dfd8; color: #62574c; }
.avatar { background: #f1dfd0; color: #89400f; border-color: #fff5ed; }
.top-avatar { border-color: #fff; }
.menu-toggle { background: #fff; color: var(--brand-charcoal); }
.heading-kicker { color: var(--brand-accent); }
.heading-kicker:before, .heading-kicker:after { background: #c78360; }
.page-description, .dialog-lead { color: #6b6661; }
.page-heading .heading-icon { background: var(--brand-accent-soft); color: var(--brand-accent); }

.filter-tab { color: #6b6661; }
.filter-tab.is-active { background: var(--brand-gradient); color: #fff; box-shadow: 0 3px 7px #9c3b101a; }
.filter-tab:not(.is-active):hover { background: #e8e1da; color: #3f3934; }
.result-count, .sort-select { color: #6b6661; }
.add-button { background: #fff; border-color: #d6b19c; color: var(--brand-accent); }
.add-button:hover { background: #fff5ed; border-color: #a53a0d; }
.primary-button { background: var(--brand-gradient); color: #fff; }
.primary-button:hover { background: var(--brand-gradient-hover); }
.secondary-button { background: #f5e6da; color: #8b3510; }
.secondary-button:hover { background: #eed9c9; }

.content-card { background: #fff; border-color: #e4dfda; }
.content-card:hover { box-shadow: 0 15px 35px #27272712; }
.theme-navy { background: #30302e; color: #fff9f2; }
.theme-lavender { background: #e5ded8; color: #51443c; }
.theme-peach { background: #f3d7c3; color: #753b22; }
.theme-sage { background: #d8ddd6; color: #465044; }
.theme-charcoal { background: #3c3936; color: #fff6eb; }
.theme-sand { background: #e9dfc8; color: #615239; }
.card-meta, .card-info p, .card-bottom { color: #706a63; }
.category-tag { background: var(--brand-accent-soft); color: var(--brand-accent); }
.bookmark-button { color: #79716a; }
.bookmark-button.is-saved { color: var(--brand-accent); }
.bookmark-button.is-saved .icon { fill: #f8dbc7; }
.bookmark-button:hover { background: #fff0e6; }
.sample-caption, .book-empty-note { color: #736b64; }
.empty-state { background: #ffffffb3; border-color: var(--line); }
.empty-illustration { background: #f1e6dc; color: #9a491f; }
.empty-state p { color: #6b6661; }

.shelf-row { background: linear-gradient(#fff 0 30%, #e8e3dc 32% 100%); box-shadow: 0 14px 20px #4a3e3012, 0 2px 2px #bfb4a61a; }
.book-cover { box-shadow: 5px 4px 10px #332b231c, inset 3px 0 2px #00000009; }
.book-open:hover .book-cover { box-shadow: 7px 12px 17px #332b2322; }
.book-caption p, .book-author, .book-description { color: #6b6661; }
.book-status-pill { background: #fffaf1f2; color: #725139; }
.book-sample-label { background: #f7e7d9; color: #81441f; }

.panel-description, .member-table th, .member-email { color: #6b6661; }
.invite-form input { border-color: #d9d0c6; }
.member-table td { border-bottom-color: #eee9e3; }
.member-table .status { background: #e9f1e9; color: #37633f; }
.member-table .status.invited { background: #fff0dd; color: #845112; }
.member-table .status.suspended { background: #f8e8e6; color: #943c37; }
.inline-error { background: #fff0ed; color: #9c3328; }
.inline-success { background: #edf5ed; color: #32633c; }
.site-footer { border-top-color: var(--line); color: #716960; }

dialog.academy-dialog { box-shadow: 0 30px 100px #241e1740; }
dialog::backdrop { background: #27272785; }
.dialog-top { border-bottom-color: var(--line); color: #756b62; }
.dialog-close { background: #f2ede7; color: #6f6257; }
.dialog-close:hover { background: #e8ded4; color: #392d24; }
.article-block h3 { color: #3d352e; }
.article-block p { color: #625b55; }
.template-text { background: #f7f4ef; border-color: #e4dbd0; color: #5f554c; }
.dialog-notice { border-top-color: var(--line); color: #756b62; }
.field label { color: #554c44; }
.field label span { color: #776e65; }
.field input, .field textarea, .field select { border-color: #d9d0c6; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: #a53a0d; box-shadow: 0 0 0 3px #b944101a; }
.private-note { color: #746b62; }
.example-note { color: #736357; background: #f8efe6; }
.color-choice { box-shadow: 0 0 0 1px #d9cfc3; }
.color-choice.is-active { box-shadow: 0 0 0 2px #a53a0d; }
.toast { background: #2d2925; box-shadow: 0 5px 25px #211a1325; }
.toast.is-error { background: #a0382f; }
.video-shade { background: linear-gradient(transparent 45%, #211b1666); }
.video-play { color: #a53a0d; }
.video-embed { background: #272727; }
.resource-link { border-color: #e3d7cb; background: #faf6f1; color: #874018; }
.resource-link:hover { border-color: #b6754f; background: #fff0e4; }

@media (max-width: 980px) {
  .book-item { box-shadow: 0 12px 13px -12px #4a3e3038; }
}
@media (max-width: 760px) {
  .sidebar { box-shadow: 15px 0 30px #211a1326; }
  .mobile-scrim.is-open { background: #27272770; }
}
