/* Light gold account entry, using the already approved static scene. */
.is-account{background:#f8f4e9;color:#343a32;color-scheme:light;font-size:14px;line-height:1.65}
.account-gate{min-height:100vh;min-height:100dvh;padding:36px 5vw 54px;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:center}
.account-scene{position:absolute;z-index:-2;inset:0;background:linear-gradient(180deg,#fffcf2a8,#f8f3e5de 72%,#f8f4e9),url('assets/golden-hero.webp') center top/auto min(68vh,680px) no-repeat;background-color:#f8f4e9}
.account-gate:after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 37%,#fffdf3a6,transparent 64%);pointer-events:none}
.account-brand{width:100%;max-width:1160px;display:flex;align-items:center;justify-content:space-between;margin-bottom:35px;gap:16px}
.account-brand .brand{color:#516a56;width:auto}
.account-brand .brand-mark{color:#b69a60}
.account-brand .brand small{color:#918365}
.account-brand>.quiet-button{color:#7d735c;font-size:12px;padding:10px;min-height:44px}
.account-card{width:min(100%,470px);padding:40px 40px 25px;border:1px solid #d8c698;background:linear-gradient(145deg,#fffef8f7,#faf6ecf5);box-shadow:0 24px 70px #8a713917,inset 0 1px 0 #fff;border-radius:22px;backdrop-filter:blur(16px)}
.account-card>.eyebrow{font-size:12px;letter-spacing:.08em;color:#866d39}
.account-card h1{font-family:var(--font-serif);font-size:26px;line-height:1.5;letter-spacing:0;color:#344b38;margin:16px 0 12px;font-weight:600}
.account-card .account-lead{font-size:14px;color:#706858;line-height:1.75;margin:0 0 26px}
.account-tabs{display:flex;border-bottom:1px solid #e2d7ba;margin:15px 0 26px;gap:28px}
.account-tabs>button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;padding:12px 0;color:#706858;font-size:15px;cursor:pointer;min-height:44px}
.account-tabs>button[aria-selected=true]{color:#40604c;border-bottom-color:#ad9253;font-weight:600}
.account-card section[hidden]{display:none}
.account-card .field{color:#514c40;font-size:14px;gap:8px;margin:15px 0}
.is-account .account-card input:not([type=checkbox]):not([type=hidden]):not([type=radio]),.is-account .account-card select,.is-account .account-card textarea{width:100%;min-height:45px;border:1px solid #dcd0b1;background:#fffef9;border-radius:9px;padding:11px 13px;color:#344536;font:inherit;font-size:15px;outline:none;box-shadow:none}
.account-card input:focus,.account-card select:focus,.account-card textarea:focus{border-color:#9baf94;box-shadow:0 0 0 3px #a5b99b22}
.is-account .account-card input:disabled:not([type=checkbox]):not([type=hidden]):not([type=radio]){background:#f0ece2;color:#746d5e;opacity:1;cursor:not-allowed}
.account-card input::placeholder{color:#817a6c;opacity:1}
.account-card button:disabled{opacity:.68;cursor:not-allowed}
.account-card .check-field input{width:16px;min-height:16px;height:16px;padding:0;accent-color:#4b6852;vertical-align:middle}
.account-card .check-field{line-height:1.8}
.account-card .button.primary{background:linear-gradient(135deg,#567356,#3a5b46);color:#fffdf0;border:1px solid #4d6b4e;min-height:46px;border-radius:10px;font-family:var(--font-serif);font-weight:600;font-size:16px}
.account-card .button.secondary{color:#756543;border:1px solid #d8c79c;background:#f8f2e3;border-radius:9px;font-size:14px;min-height:43px}
.account-submit{display:flex;justify-content:center;width:100%;margin-top:24px}
.account-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.account-code-row .field{margin-bottom:0}
.account-code-row>.button{margin-bottom:0;white-space:nowrap;padding:10px 14px}
.account-service-note{font-size:13px;color:#706858;line-height:1.75;margin:18px 0 7px}
.account-switch{font-size:14px;color:#58734f;background:none;border:0;padding:8px 0;cursor:pointer;min-height:40px}
.account-footer-note{font-size:12px;color:#81775f;text-align:center;line-height:1.8;margin:30px 0 0;letter-spacing:.04em}
.account-card .error-message{font-size:14px;line-height:1.8;color:#9c5040;margin:12px 0;overflow-wrap:anywhere}
.account-card .notice{background:#f5edda;border:1px solid #dfcfaa;color:#756039;font-size:14px;line-height:1.8;padding:13px;border-radius:10px}
.account-loading-state{color:#94845b;font-size:13px;display:flex;align-items:center;gap:12px;margin:30px 0}
.account-loading-state .spinner{border-color:#dbcba8;border-top-color:#8d9e79}
.account-profile-card{width:min(100%,740px)}
.account-profile-card .form-grid{gap:0 20px}
.account-profile-card .section-label{color:#756039;font-size:14px;margin:22px 0 4px}
.account-profile-card .engine-details{border:1px solid #e0d2af;border-radius:10px;background:#f9f5ea;padding:14px;margin:20px 0}
.account-profile-card .engine-details summary{font-size:14px;color:#8b7954;cursor:pointer}
.account-profile-card .engine-details .hint,.account-profile-card .hint{font-size:13px;color:#706858;line-height:1.8}
.account-profile-card .engine-form>.hint{display:none}
.account-profile-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px}
.account-admin-skip{display:block;margin:22px 0 0;font-size:14px;text-align:center;color:#8e7d55}
/* One birth-time control is shared by account intake, archives and chat. */
.birth-clock,.form-panel fieldset.birth-clock{min-width:0;margin:20px 0 8px;padding:0;border:0;color:#514c40}
.birth-clock>legend,.form-panel .birth-clock>legend{padding:0;color:#514c40;font-size:14px;font-weight:500}
.birth-clock>.hint,.birth-clock>.conditional-fields>.hint{margin:8px 0 14px}
.birth-clock [hidden]{display:none!important}
.birth-period-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.birth-period{position:relative;cursor:pointer;min-width:0}
.birth-period>input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.birth-period>span{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-height:66px;padding:8px 4px;border:1px solid #dcd0b1;border-radius:9px;background:#fffdf7;color:#605943;transition:border-color .15s,background .15s}
.birth-period strong{font-family:var(--font-serif);font-size:17px;font-weight:500}
.birth-period small{font-family:var(--font-sans);font-size:11px;white-space:nowrap;color:#847963;letter-spacing:0}
.birth-period>input:checked+span{border-color:#6b8666;background:#edf2e7;color:#3e5d43;box-shadow:inset 0 0 0 1px #6b8666}
.birth-period>input:focus-visible+span{outline:2px solid #456746;outline-offset:3px}
.birth-clock-options{display:flex;flex-wrap:wrap;gap:8px 22px;margin:12px 0 0}
.birth-clock-option{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-size:14px;color:#605943}
.birth-clock-option>input{width:16px;height:16px;min-height:16px;margin:0;padding:0;accent-color:#4b6852;flex-shrink:0}
.birth-clock-option>input:focus-visible{outline:2px solid #456746;outline-offset:3px}
.birth-clock .conditional-fields>.field{margin:10px 0 6px}
.field .birth-date-example{font-size:12px;line-height:1.8;color:#81745a;margin-top:2px}
.birth-date-example strong{font-weight:500;color:#52664d;white-space:nowrap}
.birth-location{margin-top:8px}
.birth-location .form-grid{align-items:start}
.birth-location select[data-place-level]{width:100%;min-width:0;min-height:48px;font-size:16px;cursor:pointer}
.birth-location select[data-place-level]:disabled{color:#918878;background:#f5f1e7;opacity:1;cursor:default}
.birth-location>.birth-place-note{margin:3px 0 12px;font-size:12px;color:#81745a;line-height:1.8}
@media(max-width:600px){.birth-period-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.birth-period>span{min-height:62px}.birth-clock-options{gap:0 14px}.birth-clock-option{font-size:13px}}
.account-side-actions{display:flex;flex-wrap:wrap;gap:8px 12px;padding:3px 4px 12px;font-size:13px;color:#918263}
.account-side-actions a,.account-side-actions button{color:inherit;background:transparent;border:0;padding:5px 0;cursor:pointer;line-height:1.5}
.account-side-actions #logout-button{margin-left:auto}
.account-overview{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;max-width:1000px}
.account-summary,.account-balance{padding:28px}
.account-summary dl{font-size:13px;margin:24px 0;line-height:1.85}
.account-summary dl>div{display:grid;grid-template-columns:94px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #e4d7b8}
.account-summary dt{color:#978563}
.account-summary dd{margin:0;color:#5c654d;overflow-wrap:anywhere}
.account-balance h2{font-size:20px;color:#526d50;margin:18px 0}
.account-credit{font-size:58px;font-weight:300;line-height:1.4;color:#ab8c45;margin:30px 0 20px}
.account-credit small{font-size:13px;color:#a18b63;display:block}
.account-balance p{font-size:12px;line-height:1.9;color:#8e8063}
.account-balance button:disabled{opacity:.5;cursor:not-allowed}
.account-admin-create,.account-admin-list{padding:26px;margin:0 0 24px;max-width:1100px}
.account-admin-create h2{font-size:18px;color:#5b6b4c;margin:0 0 22px}
.account-admin-create .hint{font-size:13px;line-height:1.8;margin-top:14px}
.account-admin-list .data-table{min-width:450px}
.account-admin-list .account-toggle{font-size:13px;padding:8px 12px;min-height:38px}
.account-self{font-size:12px;color:#998765;display:block;margin-top:3px}
.account-billing{margin:34px 0;max-width:1100px}
.account-billing>.panel-heading{gap:20px;align-items:end;margin-bottom:18px}
.account-billing>.panel-heading h2{font-size:23px;font-family:var(--font-serif);color:#56694c;margin:12px 0 0}
.account-billing>.panel-heading .button{font-size:13px;white-space:nowrap}
.billing-status{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:13px;line-height:1.8;color:#96825b;padding:8px 0 18px}
.billing-status .pill{color:#977733;background:#f6efd9;border-color:#dbc68d}
.billing-group{margin:8px 0 32px}
.billing-group-heading{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;margin:18px 0}
.billing-group-heading h3{font-size:17px;color:#5a6a4c;margin:0}
.billing-group-heading p{font-size:13px;color:#706858;margin:0;line-height:1.8}
.billing-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.billing-product{padding:22px 19px;display:flex;flex-direction:column;min-width:0;border-color:#decca3}
.billing-product h4{font-size:16px;color:#344b38;font-weight:600;line-height:1.6;margin:0 0 15px}
.billing-price{font-size:36px;font-weight:400;line-height:1.4;color:#a58b4a;display:flex;gap:4px;align-items:baseline;flex-wrap:wrap}
.billing-price>span{font-size:16px}
.billing-price small{font-size:13px;color:#706858;margin-left:4px;font-weight:400}
.billing-product>p{font-size:13px;color:#706858;line-height:1.85;margin:13px 0 19px;flex:1;overflow-wrap:anywhere}
.billing-product>.button{font-size:13px;justify-content:center;min-height:40px;width:100%}
.billing-product>.button:disabled{opacity:.6;cursor:not-allowed;background:#f5efdf;color:#a18b59;border-color:#dfd0ae}
.billing-reports{grid-template-columns:repeat(3,minmax(0,1fr))}
.billing-reports .billing-product{padding:21px 22px}
.billing-note{font-size:13px;line-height:1.9;color:#706858}
.billing-bundles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin:0 0 20px}
.billing-bundle>p{flex:none;margin:0 0 14px}
.billing-child-options{border:0;padding:0;margin:4px 0 18px;min-width:0}
.billing-child-options legend{font-size:13px;color:#706858;padding:0;margin-bottom:8px}
.billing-child-options label{display:flex;align-items:center;gap:10px;border-bottom:1px solid #e7dcc6;padding:11px 0;font-size:14px;color:#4e5d42;cursor:pointer;min-height:44px}
.billing-child-options input{width:16px;height:16px;min-height:16px;padding:0;accent-color:#5d7757;flex-shrink:0}
.billing-child-options label b{margin-left:auto;font-weight:400;color:#a48a4b;white-space:nowrap}
.billing-bundle-total{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto}
.billing-selected-count{font-size:12px;color:#8f7d56}
.billing-total-price{font-size:inherit;font-weight:400}
.billing-bundle .billing-quote-status{font-size:12px;line-height:1.8;min-height:1.8em;margin:7px 0 14px;color:#706858}
@media(max-width:700px){
  .account-gate{padding:22px 18px 36px}
  .account-scene{background-image:linear-gradient(180deg,#fffcf2af,#f8f3e5e8 80%),url('assets/golden-mobile.webp');background-size:cover,100% auto}
  .account-brand{margin-bottom:24px}
  .account-brand .brand{gap:9px}
  .account-brand .brand-mark{width:38px;height:38px}
  .account-brand .brand>span{font-size:20px;font-weight:600}
  .account-brand .brand small{font-size:13px}
  .account-card{padding:28px 23px 22px;border-radius:18px}
  .account-card h1{font-size:24px}
  .account-overview{grid-template-columns:1fr}
  .account-summary,.account-balance{padding:22px}
  .account-profile-card .form-grid{grid-template-columns:1fr}
  .account-profile-card .field-wide{grid-column:auto}
  .account-profile-card .field{margin:10px 0}
  .account-profile-actions .button{flex:1;justify-content:center}
  .account-admin-create,.account-admin-list{padding:20px}
  .account-side-actions{font-size:13px}
  .billing-products,.billing-reports{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .billing-product,.billing-reports .billing-product{padding:18px 14px}
  .billing-price{font-size:31px}
  .account-billing>.panel-heading h2{font-size:19px}
  .billing-product h4{font-size:15px}
  .billing-bundles{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.account-loading-state .spinner{animation:none}}
