/* [INPUT] Existing workbench and portal markup plus a same-origin generated atmosphere.
 * [OUTPUT] Unified plum, warm-white and champagne visual system on screen only.
 * [POS] Presentation layer shared by the store, sign-in and booking pages.
 * [PROTOCOL] See web/README.md; preserve permissions, status labels, touch, focus and printed evidence. */
@media screen {
  .work-context { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:1rem; padding:.5rem .75rem; border:1px solid #e3d9e8; border-radius:.75rem; background:#fffcf9; font-size:1rem; overflow-wrap:anywhere; }
  .work-context .button { min-height:48px; }
  .dashboard-section { margin-bottom:28px; }
  .dashboard-section .section-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
  .dashboard-section .section-heading h2 { margin:0; font-size:19px; font-weight:600; }
  .dashboard-section .section-heading>span { color:#82738b; font-size:12px; }
  .dashboard-metrics,.dashboard-activities { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
  .dashboard-metric,.dashboard-task { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:21px; text-align:start; color:#44304f; background:#fffcf9; border:1px solid #e3d9e8; border-radius:17px; box-shadow:0 4px 18px #3d284508; cursor:pointer; }
  .dashboard-metric:hover,.dashboard-task:hover { border-color:#a990b8; background:#f8f2fa; }
  .dashboard-metric span,.dashboard-task span { font-size:13px; color:#766681; }
  .dashboard-metric strong,.dashboard-task strong { font-size:clamp(18px,1.65vw,28px); line-height:1.5; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
  .dashboard-metric small,.dashboard-task small { font-size:11px; color:#8d7c97; }
  .dashboard-metric:first-child { background:#ede3f2; border-color:#dbc9e5; }
  .dashboard-tasks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
  .dashboard-activity { padding:17px 21px; border-radius:14px; background:#efe9f2; display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .dashboard-activity span { color:#796783; font-size:12px; }
  .dashboard-activity strong { font-size:24px; font-weight:500; }
  .dashboard-cash { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; padding:12px 0; }
  .dashboard-cash small { color:#85708e; }
  .dashboard-note { padding:15px 18px; border-inline-start:3px solid #b6a077; background:#f3ece0; border-radius:0 10px 10px 0; }
  .dashboard-schedule { margin-top:28px; }
  .dashboard-schedule>summary { padding:18px; background:#ede7f0; color:#614a70; border-radius:12px; cursor:pointer; margin-bottom:20px; }
  @media(max-width:1100px) { .dashboard-metrics,.dashboard-activities { grid-template-columns:repeat(2,minmax(0,1fr)); } .dashboard-tasks { grid-template-columns:repeat(2,minmax(0,1fr)); } }
  @media(max-width:540px) { .dashboard-metric,.dashboard-task { padding:17px 14px; } .dashboard-metric strong,.dashboard-task strong { font-size:18px; } .dashboard-tasks { grid-template-columns:1fr; } .dashboard-activity { padding:13px; } .dashboard-cash { flex-direction:column; align-items:flex-start; } }
  :root {
    --green:#49365a; --green-2:#674879; --ink:#302936; --muted:#756c7b;
    --line:#e5dfe8; --paper:#fffcf9; --sand:#a38b57; --soft-green:#f0eaf3;
    --shadow:0 16px 44px #32213e12;
    color:var(--ink); background:#f6f3ef; line-height:1.6;
  }
  body { background:#f6f3ef; color:var(--ink); }
  button,input,select,textarea { font:inherit; }
  html:lang(lo) { line-height:1.8; }
  html:lang(lo) .login-card label,html:lang(lo) .form-field,html:lang(lo) .nav-item,html:lang(lo) .print-controls { font-size:15px; }
  html:lang(lo) .login-card p,html:lang(lo) .login-card small,html:lang(lo) .public-booking-foot,html:lang(lo) .booking-privacy,html:lang(lo) .booking-status { font-size:14px; line-height:1.85; }
  button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
  a:focus-visible,summary:focus-visible { outline:3px solid #9a71b0; outline-offset:3px; }
  .sidebar {
    width:252px; padding:28px 18px 22px; background:linear-gradient(165deg,#35283f,#241d2d 78%);
    border-right:1px solid #c9b78b30;
  }
  .brand { padding:0 8px 28px; gap:13px; }
  .brand-mark {
    flex-shrink:0; width:46px; height:46px; border-radius:15px;
    background:linear-gradient(135deg,#ead8af,#bda46e); color:#3e2d45; box-shadow:0 4px 18px #0002;
  }
  .brand b { letter-spacing:.025em; font-size:16px; overflow-wrap:anywhere; line-height:1.45; }
  .brand small { color:#c2b8ca; font-size:11px; letter-spacing:.08em; margin-top:6px; }
  .brand-logo { border-radius:12px; }
  .nav-group { gap:4px; margin-bottom:18px; }
  .nav-group-label { color:#bdafc7; font-size:10px; letter-spacing:.14em; font-weight:500; margin-bottom:9px; }
  .nav-item { color:#d5cbdc; min-height:46px; padding:10px 14px; border-radius:11px; font-weight:500; }
  .nav-item:hover { background:#ffffff0c; color:#fff; }
  .nav-item.active { background:#e9def0; color:#392647; box-shadow:inset 3px 0 #c5a56f,0 4px 18px #0001; }
  .nav-item .nav-icon { opacity:.78; }
  .nav-item.active .nav-icon { opacity:1; }
  .nav-count { color:#f2e6d6; background:#8a644c; min-width:22px; text-align:center; }
  .nav-item.active .nav-count { background:#d5bd94; color:#3f3046; }
  .sidebar-foot { border-top-color:#ffffff16; color:#c6bacc; font-size:12px; padding-top:22px; line-height:1.6; }
  .topbar { background:#fffcf9eb; min-height:86px; height:auto; padding:18px 36px; border-bottom-color:#e5dfe7; }
  .store-heading .eyebrow { color:#807186; font-size:10px; letter-spacing:.16em; }
  .store-heading strong { font-size:15px; color:#403048; letter-spacing:.01em; }
  .date-control { color:#756a79; font-size:12px; gap:8px; }
  .date-control input,.language-control select { color:#504457; border-color:#e1d8e6; background:#fefcf9; border-radius:10px; }
  .avatar { background:#eee6f1; color:#6c4e7b; border:1px solid #e4d8eb; }
  .icon-button { border-color:#e3dce7; background:#fefcf9; color:#665071; border-radius:10px; }
  .demo-badge { border-color:#e7d9bd; background:#fbf5e8; color:#7b643b; padding:5px 9px; }
  .view { padding:32px 36px 56px; }
  .page-head {
    position:relative; isolation:isolate; overflow:hidden; align-items:center; padding:32px 34px;
    min-height:158px; margin-bottom:28px; border:1px solid #ffffff0a; border-radius:22px;
    background:linear-gradient(112deg,#35273f,#51365f 70%,#694773); box-shadow:0 14px 32px #39254214;
  }
  .page-head::after {
    content:""; position:absolute; z-index:-1; pointer-events:none; right:-50px; top:-165px;
    width:430px; height:430px; border:1px solid #dac6e625; border-radius:50%;
    box-shadow:0 0 0 48px #d5bae008,0 0 0 100px #d5bae008;
  }
  .page-head>div:first-child { min-width:0; }
  .page-head .eyebrow { color:#dcc4a0; font-weight:500; font-size:10px; letter-spacing:.14em; margin-bottom:11px; }
  .page-head h1 { color:#fff8f1; font-size:34px; letter-spacing:.025em; line-height:1.35; font-weight:500; }
  .page-head p { color:#e0d3e7; font-size:13px; line-height:1.75; max-width:62ch; }
  .page-head .button-outline,.page-head .button-quiet { color:#fff5ed; border-color:#ffffff40; background:#ffffff08; }
  .page-head .button-outline:hover,.page-head .button-quiet:hover { background:#ffffff18; }
  .page-head .button-dark { color:#38283f; background:#e8d2ac; border-color:#e8d2ac; box-shadow:0 5px 20px #23152d20; }
  .page-head .button-dark:hover { background:#f4e3c3; }
  .button { border-radius:10px; padding:11px 17px; font-weight:600; letter-spacing:.005em; transition:background .16s,border-color .16s,box-shadow .16s; }
  .button-dark { background:#51365f; color:#fffaf5; box-shadow:0 4px 12px #51365f16; }
  .button-dark:hover { background:#3d274b; }
  .button-green { background:#f0e8f4; color:#614272; border-color:#e6d8ed; }
  .button-green:hover { background:#e6d8ee; }
  .button-outline { color:#614772; background:#fffdfb; border-color:#dfd5e4; }
  .button-outline:hover,.button-quiet:hover { border-color:#bfa9cc; background:#f4edf7; }
  .button-quiet { color:#6d5878; }
  .text-button { color:#765584; border-radius:7px; }
  .text-button:hover { background:#f1eaf5; }
  .stats-grid { gap:16px; margin-bottom:26px; }
  .stat-card { border-color:#e5dfe8; border-radius:17px; padding:23px; min-height:124px; background:#fffcf9; box-shadow:0 4px 18px #3d284508; }
  .stat-top { color:#72657b; font-size:12px; gap:8px; align-items:flex-start; }
  .stat-icon { width:28px; height:28px; border-radius:9px; color:#805b91; background:#f0e8f4; flex-shrink:0; }
  .stat-card>strong { color:#3e2c49; font-size:28px; line-height:1.4; font-weight:600; margin-top:14px; overflow-wrap:anywhere; }
  .stat-card>small { color:#756a7c; font-size:11px; line-height:1.6; }
  .report-stats { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .report-stats .stat-card { grid-column:span 2; }
  .report-stats .stat-card:nth-child(-n+2) { grid-column:span 3; min-height:154px; padding:26px; }
  .report-stats .stat-card:nth-child(-n+2)>strong { font-size:36px; }
  .report-stats .stat-card:first-child { background:#eee5f3; border-color:#e2d4ea; }
  .report-stats .stat-card:nth-child(2) { background:#f8efe1; border-color:#eadbc2; }
  .report-stats .stat-card:nth-child(2) .stat-icon { background:#eedfc7; color:#7b5b30; }
  .panel { border-color:#e5dfe7; border-radius:17px; background:#fffcf9; box-shadow:0 3px 15px #3d284507; margin-bottom:22px; }
  .panel-heading { padding:22px 24px; border-bottom-color:#ece5ef; }
  .panel-heading h2,.panel-heading h3 { color:#49364f; font-size:15px; font-weight:600; }
  .panel-heading p { color:#786d80; font-size:12px; line-height:1.8; }
  .panel-heading small,.queue-panel .panel-heading small { color:#7d7183; }
  .queue-date { color:#8b7796; }
  .queue-list { padding:16px 20px; gap:10px; }
  .queue-row { background:#fcf8fd; border-color:#e9e0ed; border-radius:10px; padding:12px; min-width:182px; }
  .queue-rank { color:#795487; background:#eee3f4; }
  .queue-row>b { color:#4c3c55; }
  .queue-turns { color:#7b6c84; }
  .queue-serving-block { border-color:#ece5ef; padding:12px 20px; }
  .waiting-panel { top:108px; }
  .waiting-list { padding:18px; }
  .booking-card { border-radius:10px; }
  .therapist-head { background:#fbf7fc; border-color:#e8dfed; }
  .therapist-head b { color:#493651; }
  .therapist-avatar,.customer-avatar { background:#eee4f3; color:#725080; }
  .therapist-lane { background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#e9e0ed 59px,#e9e0ed 60px); }
  .time-gutter { color:#83738e; }
  .empty-state { color:#7a6d82; min-height:160px; gap:14px; font-weight:400; }
  .empty-symbol { color:#c6b3d0; font-size:36px; }
  .loading-screen,.loading-screen h2 { color:#755882; }
  .spinner { border-color:#e5d8ec; border-top-color:#79538b; }
  .toolbar { padding:18px 22px; background:#fffafc; border-color:#e9e1ed; gap:14px; }
  .toolbar input,.toolbar select,.search-field,.crm-toolbar select { background:#fefcfa; border-color:#e1d7e7; color:#57485f; border-radius:10px; }
  table { font-size:13px; }
  th { color:#817189; background:#faf5fc; border-bottom-color:#e9dfed; font-weight:500; font-size:11px; letter-spacing:.03em; padding:15px 18px; }
  td { color:#514658; border-bottom-color:#eee6f1; padding:17px 18px; }
  tbody tr:hover td { background:#fbf8fd; }
  td b { font-weight:600; }
  .customer-card { border-color:#e7deec; background:#fffcfa; border-radius:13px; padding:20px; }
  .customer-name,.customer-detail-head h3,.customer-detail>h3 { color:#47314f; }
  .customer-balance { background:#f1e9f5; color:#5b3c6c; border-color:#e8dced; }
  .customer-passes { border-color:#e8dfed; }
  .history-list,.history-row { border-color:#e8dfed; }
  .settings-index { gap:10px; margin-bottom:30px; }
  .settings-index a { background:#fffcfa; border-color:#e1d5e8; color:#6f4c80; }
  .settings-index a:hover { background:#eee4f4; border-color:#bea4cc; }
  .section-heading h2 { color:#50395e; font-size:20px; font-weight:500; }
  .section-heading p { color:#776a80; }
  .master-row b,.store-meta b { color:#50395d; }
  .master-row small,.store-meta small { color:#7b6e84; }
  .period-shortcuts { padding:24px; display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
  .period-shortcuts h2 { margin:0 auto 0 0; font-size:15px; color:#533d60; }
  .period-shortcuts .button { margin:0; }
  .period-metric summary { color:#5f456b; }
  .period-report-body>p:nth-child(3) { background:#f6eef9; border-color:#e9dcef; color:#664d71; }
  .modal-backdrop { background:#21172999; backdrop-filter:blur(6px); }
  .modal { background:#fffcfa; border-radius:22px; border:1px solid #e6dcebbf; box-shadow:0 30px 100px #170e2550; }
  .modal-head,.modal-foot { background:#fffcfaf5; border-color:#e9e0ee; padding:22px 26px; }
  .modal-head h2 { color:#4d345b; font-size:23px; }
  .modal-body { padding:26px; gap:20px; }
  .form-field>span { color:#64506f; font-weight:500; }
  .form-field input,.form-field select,.form-field textarea { border-color:#dfd4e6; background:#fffefd; color:#403349; border-radius:9px; }
  .form-field small { color:#7c6c86; }
  .check-control input { accent-color:#6d487f; }
  .confirm-copy,.ticket-preview,.pass-use-panel { background:#f4eef7; color:#574063; border-color:#e8dced; }
  .toast { background:#563866; box-shadow:0 10px 32px #32213e25; border-radius:12px; }
  .toast-error { background:#9e493e; }
  .payroll-run-row td { background:#f6f0f9; }
  .login-page { min-height:100dvh; padding:38px; background:#eee8e2; display:grid; place-items:center; }
  .login-shell { display:grid; grid-template-columns:1.12fr 1fr; width:min(1100px,100%); min-height:680px; background:#fffcf9; border:1px solid #ded2e1; border-radius:26px; overflow:hidden; box-shadow:0 32px 90px #3925411b; }
  .login-art { min-width:0; position:relative; background:#2b2234 url('./spa-atmosphere.webp') center/cover; color:#fff7ed; display:flex; flex-direction:column; justify-content:space-between; padding:44px; isolation:isolate; }
  .login-art::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#20132655,transparent 30%,#211528cc 100%); }
  .login-card { width:100%; padding:78px 62px 46px; border-radius:0; box-shadow:none; background:#fffcf9; align-self:center; }
  .login-card .brand-mark { width:50px; height:50px; background:#ede2f2; color:#674079; box-shadow:none; }
  .login-card .entry-logo { object-fit:contain; background:transparent; border-radius:0; width:82px; height:82px; }
  .login-card h1 { margin:24px 0 6px; font-family:Georgia,"Songti SC",serif; color:#42304c; font-weight:400; font-size:36px; letter-spacing:.02em; }
  .login-card p,.login-card small { color:#7d6e86; font-size:13px; line-height:1.8; }
  .login-card form { gap:21px; margin:32px 0 22px; }
  .login-card label { color:#665170; font-size:12px; font-weight:500; }
  .login-card input,.login-card select { border-color:#ded2e5; background:#fffdfb; color:#493351; border-radius:9px; min-height:48px; }
  .login-card .button-dark { min-height:51px; font-size:14px; }
  .login-card #loginError:empty { display:none; }
  .login-card a { color:#765084; font-size:13px; }
  .login-language { top:20px; right:25px; }
  .login-language select { min-height:44px; padding:8px 11px; font-size:12px; }
  .public-booking-page { background:#eee7e4; padding:40px 18px; }
  .public-booking-card { background:#fffcfa; border-color:#ded0e5; border-radius:23px; box-shadow:0 22px 75px #3c29431a; }
  .public-booking-head { border-color:#e8dced; padding:24px 32px; }
  .public-booking-head .brand { padding:0; color:#493050; }
  .public-booking-head .brand small { color:#837088; }
  .public-booking-intro { padding:36px 32px 16px; background:linear-gradient(130deg,#eee3f3,#faf1e4); border-bottom:1px solid #e7d9ed; }
  .public-booking-intro .eyebrow { color:#866b91; font-size:10px; font-weight:500; }
  .public-booking-intro h1 { color:#4a3057; font-family:Georgia,"Songti SC",serif; font-size:31px; font-weight:500; margin:14px 0; }
  .public-booking-intro p { color:#7c6786; font-size:13px; line-height:1.9; }
  .public-booking-form { padding:30px 32px; gap:22px 18px; }
  .public-booking-form .form-field { color:#6d5079; }
  .public-booking-form input,.public-booking-form select,.public-booking-form textarea { border-color:#ddd0e5; color:#4c3557; background:#fffefd; min-height:48px; border-radius:9px; }
  .public-booking-form input:focus,.public-booking-form select:focus,.public-booking-form textarea:focus { outline:3px solid #9a71b060; border-color:#9a71b0; }
  .booking-privacy { color:#7c6b83; line-height:1.8; }
  .public-booking-foot { border-color:#e8dced; color:#7d6d85; gap:16px; }
  .public-booking-foot a { color:#7b538a; }
  @media(min-width:1500px) { .view { padding:40px 48px 60px; }.topbar { padding-inline:48px; }.stat-card>strong { font-size:32px; } }
  @media(max-width:1180px) {
    .view { padding-inline:24px; }.topbar { padding-inline:24px; flex-wrap:wrap; gap:12px; align-items:center; }
    .store-heading { min-width:0; flex:1; }.store-heading strong { overflow-wrap:anywhere; }
    .top-controls { flex:0 0 100%; flex-wrap:wrap; }.waiting-panel { top:150px; }
    .stat-card { padding:18px; }.stat-card>strong { font-size:25px; }.login-card { padding-inline:40px; }.login-art { padding:36px; }
  }
  @media(max-width:850px) {
    .sidebar { width:260px; }.main-area { margin-left:0; }
    .topbar { padding:14px 20px; min-height:76px; }.view { padding:24px 20px 40px; }
    .page-head { padding:28px; min-height:144px; }.page-head h1 { font-size:30px; }
    .stats-grid { gap:12px; }.stat-card { min-height:116px; }.waiting-panel { position:static; }
    .report-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }.report-stats .stat-card,.report-stats .stat-card:nth-child(-n+2) { grid-column:span 1; padding:20px; min-height:124px; }.report-stats .stat-card:nth-child(-n+2)>strong { font-size:28px; }
    .login-page { padding:24px; }.login-shell { grid-template-columns:.85fr 1fr; min-height:620px; }
    .login-art { padding:30px; }.login-art h2 { font-size:28px; }.login-card { padding:72px 32px 36px; }
  }
  @media(max-width:600px) {
    .topbar { padding:14px 16px; gap:12px; }.store-heading strong { font-size:14px; }
    .top-controls { gap:7px; }.date-control input { font-size:12px; min-width:110px; }.language-control select { font-size:12px; }
    .view { padding:20px 16px 36px; }.page-head { padding:25px 23px; border-radius:18px; gap:20px; flex-direction:column; align-items:flex-start; }
    .page-head h1 { font-size:29px; }.page-head p { font-size:12px; }.page-head .eyebrow { line-height:1.8; }
    .head-actions { width:100%; gap:8px; }.head-actions .button { flex:1 1 auto; }
    .stat-card { padding:17px 14px; border-radius:14px; min-height:111px; }.stat-card>strong { font-size:23px; }.stat-top { font-size:11px; }
    .stats-grid { gap:10px; }.stat-icon { width:24px; height:24px; font-size:12px; }
    .report-stats .stat-card,.report-stats .stat-card:nth-child(-n+2) { padding:17px 14px; }.report-stats .stat-card:nth-child(-n+2)>strong { font-size:23px; }
    .panel-heading { padding:18px; }.panel { border-radius:14px; }.toolbar { padding:15px; }
    .period-shortcuts { padding:20px; }.period-shortcuts h2 { flex:0 0 100%; margin-bottom:6px; }
    .period-shortcuts .button { flex:1 1 auto; }.queue-list { padding:14px; }.queue-row { min-width:175px; }
    .modal-head,.modal-foot { padding:18px 20px; }.modal-body { padding:20px; gap:17px; }
    .modal-head h2 { font-size:21px; }.form-field input,.form-field select,.form-field textarea { font-size:16px; }
    .login-page { padding:16px; align-items:start; }.login-shell { grid-template-columns:1fr; min-height:0; border-radius:20px; }
    .login-art { min-height:210px; padding:27px; background-position:center 47%; }.atelier-wordmark { font-size:14px; }
    .login-card { padding:68px 28px 30px; }.login-card h1 { font-size:31px; }
    .public-booking-page { padding:16px 12px; }.public-booking-card { border:1px solid #ded0e5; border-radius:18px; min-height:0; }
    .public-booking-head { padding:20px; }.public-booking-intro { padding:27px 23px 13px; }.public-booking-intro h1 { font-size:27px; }
    .public-booking-form { padding:24px 23px; gap:18px; }.public-booking-form input,.public-booking-form select,.public-booking-form textarea { font-size:16px; }
    .public-booking-foot { padding:18px 23px; flex-wrap:wrap; }
  }
  @media(prefers-reduced-transparency:reduce) { .topbar,.modal-head,.modal-foot { background:#fffcf9; }.modal-backdrop { backdrop-filter:none; } }
  @media(forced-colors:active) { .page-head,.sidebar,.login-art,.login-card,.panel,.stat-card { background:Canvas; color:CanvasText; }.page-head h1,.page-head p,.page-head .eyebrow,.login-art p { color:CanvasText; }.page-head::after { display:none; }.nav-item.active { outline:2px solid Highlight; } }
}
