/* Shared boutique design language for admin pages, dialogs and iframe editors.
   Layout and interaction contracts remain in app.css and manage.css. */
html.admin-theme {
  --ink: #2d3928;
  --ink-soft: #53604b;
  --muted: #707967;
  --paper: #f4f3ee;
  --surface-soft: #f7f9f2;
  --line: #dfe3d8;
  --line-strong: #ccd4c3;
  --green-soft: #eaf0e2;
  --gold: #7b795a;
  --radius-sm: 8px;
  --radius: 12px;
  --radius-lg: 18px;
  --shadow-sm: 0 2px 3px #34482903;
  --shadow-md: 0 16px 44px #34482912;
}
.admin-theme h1, .admin-theme h2, .admin-theme h3 { color: #344829; letter-spacing: -.02em; }
.admin-theme .eyebrow { color: #707955; font-size: 10px; letter-spacing: .15em; }
.admin-theme .sidebar { background: #edf0e6; border-color: var(--line); padding-inline: 20px; }
.admin-theme .sidebar nav a { border-radius: 8px; font: 500 12px/1.5 var(--app-font); letter-spacing: 0; text-transform: none; }
.admin-theme .sidebar nav .nav-group { color: #727c67; }
.admin-theme .sidebar nav a.active { background: var(--green); color: #fff; }
.admin-theme .topbar { min-height: 92px; }
.admin-theme .topbar h1 { font-size: 29px; }
.admin-theme .global-search input { background: #fffdf9; font-size: 12px; }
.admin-theme .global-search button { background: #fffdf9; }
.admin-theme .button, .admin-theme .google-button { border-radius: 8px; font: 500 12px/1.4 var(--app-font); letter-spacing: 0; text-transform: none; }
.admin-theme .button { padding: 10px 16px; }
.admin-theme .button.secondary { border-color: var(--line-strong); }
.admin-theme .button.danger { border-color: #e8cfc9; background: #fff; color: #91483d; }
.admin-theme .button.danger:hover { background: #fbf0ed; border-color: #cda79d; }
.admin-theme :is(.icon-action, .modal-close, .modal-expand) { border-radius: 8px; }
.admin-theme .icon-action { border-color: var(--line); background: var(--surface-soft); }
.admin-theme .icon-action:hover { background: var(--green-soft); color: var(--green-dark); border-color: #afbea3; }
.admin-theme .icon-action.danger { color: #91483d; background: #fff; border-color: #e8cfc9; }
.admin-theme .icon-action.danger:hover { background: #fbf0ed; border-color: #cda79d; }
.admin-theme .icon-action:disabled { opacity: .4; cursor: default; }
.admin-theme .delete-icon { width: 17px; height: 17px; flex: none; }
.admin-theme :is(a, button, summary):focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.admin-theme label { font-size: 12px; font-weight: 500; gap: 8px; }
.admin-theme :is(input, select, textarea) { border-radius: 8px; border-color: var(--line-strong); font-size: 13px; }
.admin-theme :is(input, select, textarea):focus { border-color: #71845a; box-shadow: 0 0 0 3px #eaf0e2; }
.admin-theme input::placeholder, .admin-theme textarea::placeholder { color: #7c8575; font-weight: 400; }
.admin-theme .fields { gap: 20px; }
.admin-theme .hint { line-height: 1.75; }
.admin-theme .hero, .admin-theme .admin-page-intro, .admin-theme .chart-library-intro, .admin-theme .chart-brand-intro {
  margin: 28px 0 24px; padding: 28px 32px; border: 1px solid #dce0d2; border-radius: 16px; background: var(--green-soft);
}
.admin-theme .hero { align-items: center; }
.admin-theme .hero h2 { font-size: clamp(30px, 3.3vw, 44px); line-height: 1.12; }
.admin-theme .hero p { color: #5f6c53; font-size: 12px; line-height: 1.8; }
.admin-theme .admin-page-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.admin-theme .admin-page-intro h2 { font-size: 34px; }
.admin-theme .admin-page-intro p { max-width: 650px; margin-top: 8px; font-size: 12px; line-height: 1.8; color: #5f6c53; }
.admin-theme .admin-intro-mark { font: 48px/1 var(--app-font); color: #7b8656; padding-inline: 14px; }
.admin-theme .admin-page-intro + .action-row { padding-top: 0; }
.admin-theme .action-row { gap: 16px; }
.admin-theme .stats { gap: 16px; margin-bottom: 24px; }
.admin-theme .stats article { min-height: 122px; padding: 22px 24px; }
.admin-theme .stats strong { color: #405a30; font-size: 32px; }
.admin-theme .stats article.accent { border-color: #cbd7bc; }
.admin-theme .panel-head { padding: 22px 24px; background: var(--surface-soft); border-radius: 12px 12px 0 0; }
.admin-theme .panel-head h3 { font-size: 25px; }
.admin-theme .panel-head .eyebrow { margin-bottom: 8px; }
.admin-theme .panel-head .button { font-size: 11px; }
.admin-theme th { background: #f6f7f1; color: #68745c; font-size: 10px; }
.admin-theme td { padding-block: 16px; }
.admin-theme .record-table [data-record-href]:hover td { background: #f6f8f1; }
.admin-theme .record-link b { font-weight: 500; }
.admin-theme .empty { min-height: 170px; font-size: 12px; background: #fdfdf9; border-radius: 0 0 12px 12px; }
.admin-theme .empty b { font-weight: 500; }
.admin-theme .table-scroll { overscroll-behavior-x: contain; }
.admin-theme .edit-form > h3, .admin-theme .form-section > h3 { font-size: 28px; }
.admin-theme .form-subsection { margin-top: 26px; padding-top: 24px; }
.admin-theme .form-subsection > .field-title, .admin-theme .product-section-heading .field-title { color: #65744f; }
.admin-theme .sale-transaction-heading { background: var(--green-soft); border-color: #dce0d2; }
.admin-theme .field-group, .admin-theme .sold-items-summary, .admin-theme .description-assistant { background: var(--surface-soft); }
.admin-theme .admin-action-footer { background: #fcfdf8; border-color: var(--line); box-shadow: 0 -5px 16px #34482906; }
.admin-theme .product-edit-form { background: #f4f6ee; }
.admin-theme .product-edit-form > .form-subsection { box-shadow: var(--shadow-sm); }
.admin-theme .product-photo-card, .admin-theme .variant-card { border-radius: 12px; }
.admin-theme .storefront-section { background: var(--surface); border-radius: 12px; }
.admin-theme .storefront-section > summary { background: var(--surface-soft); color: #344829; font-weight: 500; padding: 22px 24px; }
.admin-theme .dropdown-value-section > summary h3 { font-size: 25px; }
.admin-theme .dropdown-type { padding: 24px; }
.admin-theme .chart-editor-card > summary { background: var(--surface-soft); }
.admin-theme .chart-editor-card > summary b { font-size: 14px; font-weight: 500; }
.admin-theme .chart-summary-action { padding: 5px 9px; border-radius: 20px; background: var(--green-soft); }
.admin-theme .chart-brand-intro h2, .admin-theme .chart-library-intro h2 { font-size: 34px; }
.admin-theme .chart-section-heading h3, .admin-theme .brand-logo-current h3 { font-size: 22px; }
.admin-theme .community-page { display: grid; gap: 22px; margin-top: 28px; }
.admin-theme .community-page > .panel > h2 { font-size: 28px; margin-bottom: 12px; }
.admin-theme .community-page > .panel > p { color: var(--muted); font-size: 12px; line-height: 1.8; margin-bottom: 18px; }
.admin-theme .community-page .customer-message { color: var(--ink); }
.admin-theme .community-page .panel .panel { margin-top: 18px; background: var(--surface-soft); }
.admin-theme .community-page .panel .panel h3 { font-size: 23px; }
/* Dialog chrome is shared by record iframes, bulk/add forms and color tools. */
.admin-theme :is(.product-modal, .record-editor-modal, .color-picker-modal, .assistant-window) { border: 1px solid #cdd7c2; border-radius: 16px; box-shadow: 0 24px 80px #27362038; }
.admin-theme dialog::backdrop { background: #23301dcc; backdrop-filter: blur(3px); }
.admin-theme :is(.record-editor-head, .assistant-window > header, .image-studio-header) { background: var(--green-soft); border-bottom: 1px solid #d5decb; padding: 18px 24px; }
.admin-theme .record-editor-head h3 { font-size: 27px; }
.admin-theme .modal-head { background: var(--green-soft); padding: 18px 22px; border: 1px solid #d5decb; border-radius: 12px; margin-bottom: 22px; }
.admin-theme .modal-head h3 { font-size: 27px; }
.admin-theme .color-picker-modal > h3 { padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--line); }
.admin-theme .modal-close, .admin-theme .modal-expand { background: #ffffffa6; color: #536548; }
html.admin-theme:has(body.modal-view) { min-width: 0; }
.admin-theme .modal-view { background: #f4f6ee; }
.admin-theme .modal-view main { background: #f4f6ee; }
.admin-theme .modal-view :is(.hero, .chart-brand-intro) { margin-top: 0; }
.admin-theme .modal-view .sale-workflow, .admin-theme .modal-view .sale-transaction-form { margin-top: 0; }
.admin-theme .image-studio { background: var(--paper); }
.admin-theme .image-studio-header h2 { color: #344829; }
.admin-theme .image-studio-tools { border-color: var(--line); }
.admin-theme .image-studio-tabs { background: var(--green-soft); border-radius: 9px; }
.admin-theme .image-studio-tabs button { border-radius: 6px; }
.admin-theme .image-studio-tabs button[aria-selected="true"] { background: var(--green); }
.admin-theme .image-studio .button.danger { background: #fff; color: #91483d; border-color: #e8cfc9; }
/* Neda retains her rose accent within the shared card and control system. */
.admin-theme .assistant-chat-header { background: #f7edef; border-bottom-color: #e5cfd6; }
.admin-theme .assistant-workspace .button { border-radius: 8px; }
.admin-theme .assistant-window > header h2 { color: #344829; }
.admin-theme .login-page { background: #eaf0e2; }
.admin-theme .login-card { border-color: #d5decb; padding: 44px; }
.admin-theme .login-card h1 { color: #344829; }
@media (max-width: 1180px) {
  .admin-theme .financial-hero { flex-wrap: wrap; }
  .admin-theme .financial-period { justify-content: flex-start; }
}
@media (max-width: 650px) {
  .admin-theme .topbar { min-height: 78px; }
  .admin-theme .hero, .admin-theme .admin-page-intro, .admin-theme .chart-library-intro, .admin-theme .chart-brand-intro { padding: 24px 20px; margin: 20px 0; }
  .admin-theme .hero { align-items: start; }
  .admin-theme .admin-page-intro h2, .admin-theme .chart-brand-intro h2, .admin-theme .chart-library-intro h2 { font-size: 30px; }
  .admin-theme .admin-intro-mark { display: none; }
  .admin-theme .stats { gap: 12px; }
  .admin-theme .stats article { padding: 18px 20px; min-height: 112px; }
  .admin-theme .panel-head { padding: 18px 20px; }
  .admin-theme .fields { gap: 18px; }
  .admin-theme .button { white-space: normal; }
  .admin-theme .modal-head { padding: 14px; gap: 10px; }
  .admin-theme .modal-head h3, .admin-theme .record-editor-head h3 { font-size: 24px; }
  .admin-theme .record-editor-head, .admin-theme .assistant-window > header { padding: 12px 16px; }
  .admin-theme .image-studio-header { padding: 12px 14px; }
  .admin-theme .image-studio-header h2 { font-size: 26px; }
  .admin-theme .login-card { padding: 32px 24px; }
  .admin-theme .community-page { margin-top: 20px; }
  .admin-theme .storefront-section > summary { padding: 18px; }
  .admin-theme .form-actions > .icon-action { width: 40px; flex: 0 0 40px; align-self: flex-end; }
}
/* Authenticated editing controls on the public shop use the same language.
   These selectors do not restyle customer-facing catalog components. */
.shop-editor, .product-editor { border: 1px solid #d5decb; border-radius: 12px; background: #f0f4e9; color: #344829; }
.shop-editor { padding: 26px; }
.shop-editor .editor-heading h2 { color: #344829; font: 600 32px/1.15 var(--app-font); }
.shop-editor p, .product-editor p { color: #65705c; line-height: 1.75; }
.shop-editor .outline, .product-editor .outline { border-radius: 8px; border-color: #ccd4c3; background: #fff; color: #365d45; font: 500 12px/1.4 var(--app-font); letter-spacing: 0; text-transform: none; }
.shop-editor input, .product-editor input, .product-editor select { border-radius: 8px; border-color: #ccd4c3; }
.shop-product-editor { border: 1px solid #cdd7c2; border-radius: 16px; box-shadow: 0 24px 80px #27362038; }
.shop-product-editor::backdrop { background: #23301dcc; backdrop-filter: blur(3px); }
.shop-product-editor > header { padding: 18px 24px; background: #eaf0e2; border-color: #d5decb; }
.shop-product-editor h2 { color: #344829; font: 600 27px/1.1 var(--app-font); }
.shop-product-editor header button { border-radius: 8px; background: #ffffffa6; color: #536548; }
@media (max-width: 650px) {
  .shop-editor { padding: 20px; }
  .shop-editor .editor-heading, .shop-editor .quick-filter-form { flex-wrap: wrap; }
  .shop-editor .quick-filter-form label { flex-basis: 100%; }
  .shop-product-editor > header { padding: 12px; flex-wrap: wrap; gap: 10px; }
  .shop-product-editor h2 { font-size: 23px; flex-basis: calc(100% - 60px); }
  .shop-product-editor header a { order: 3; }
  .admin-theme .storefront-admin .settings-filter-row .form-actions { flex-direction: row; align-items: center; }
  .admin-theme .storefront-admin .settings-filter-row .form-actions .button { width: auto; }
}
@media (min-width: 1100px) {
  .admin-theme .storefront-admin .settings-filter-row { grid-template-columns: minmax(0,2fr) 90px minmax(110px,1fr) auto; }
  .admin-theme .storefront-admin .settings-filter-row .form-actions { grid-column: auto; }
}
