/* Round 02: named public views only; frozen sanctuary selectors are deliberately absent. */
.public-surface .section-intro {margin-bottom:24px;}
.public-surface .section-intro h2 {font-size:var(--type-page-size);margin:8px 0 20px;}
.public-surface .section-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;}
.public-surface .section-heading :is(h2,h3) {margin:0;}
.public-surface .section-heading button {border:0;background:transparent;padding:6px;min-height:36px;}
.public-surface :is(.family-overview,.capacity-page,.operations-overview) h3 {font-size:var(--type-subtitle-size);font-weight:600;}
.public-surface .caption {font:var(--type-caption-weight) var(--type-caption-size)/var(--type-caption-line) var(--font-ui);color:var(--type-secondary);}
.public-surface .data-text {font-family:var(--font-ui);font-variant-numeric:tabular-nums;}
.public-surface .hall-summary {display:grid;grid-template-columns:38% 1fr;background:#ede5d8;gap:30px;padding:24px;align-items:center;}
.public-surface .hall-summary img {width:100%;height:210px;object-fit:cover;object-position:center 45%;border-radius:3px;}
.public-surface .hall-summary h3 {font-family:var(--font-memorial);font-size:var(--type-page-size);margin:10px 0;}
.public-surface .hall-summary p {margin:0 0 6px;}
.public-surface .hall-summary .data-text span {white-space:nowrap;}
.public-surface .hall-summary .button {display:table;margin-top:18px;}
.public-surface .overview-stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0;gap:1px;background:#ded6c9;border:1px solid #e4ddd2;}
.public-surface .overview-stats > div {background:#fcfaf6;padding:20px 18px;display:flex;flex-direction:column;gap:12px;}
.public-surface .overview-stats span {font-size:var(--type-label-size);color:var(--type-secondary);}
.public-surface .overview-stats strong {font-size:var(--type-metric-size);font-weight:500;line-height:1.25;font-variant-numeric:tabular-nums;}
.public-surface .workspace-section {margin-top:30px;padding-top:26px;border-top:1px solid #e6ddd0;}
.public-surface .capacity-view {background:#f0eade;padding:28px;border-radius:4px;}
.public-surface .capacity-view.compact {background:none;padding:0;}
.public-surface .capacity-head {display:flex;justify-content:space-between;align-items:flex-end;gap:12px;}
.public-surface .capacity-head > div {display:flex;flex-direction:column;gap:10px;}
.public-surface .capacity-head strong {font-size:var(--type-metric-size);line-height:1.3;font-weight:500;}
.public-surface .capacity-head span,.public-surface .capacity-legend,.public-surface .capacity-facts span {font-size:var(--type-label-size);color:var(--type-secondary);}
.public-surface .capacity-view progress {display:block;width:100%;height:9px;margin:22px 0 12px;border:0;border-radius:8px;overflow:hidden;background:#ddd4c5;accent-color:#846949;}
.public-surface .capacity-view progress::-webkit-progress-bar {background:#ddd4c5;}
.public-surface .capacity-view progress::-webkit-progress-value {background:#846949;min-width:2px;}
.public-surface .capacity-legend {display:flex;justify-content:space-between;gap:12px;}
.public-surface .capacity-facts {display:grid;grid-template-columns:repeat(3,1fr);margin-top:24px;border-top:1px solid #d8cbb9;padding-top:20px;gap:12px;}
.public-surface .capacity-facts > div {display:flex;flex-direction:column;gap:8px;}
.public-surface .capacity-facts strong {font-size:var(--type-subtitle-size);font-weight:500;}
.public-surface .quick-actions {display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.public-surface .quick-actions button {display:flex;align-items:center;flex-direction:column;gap:12px;border-color:#e5dac8;background:#faf6ee;padding:20px 10px;}
.public-surface .quick-actions button span {font-size:24px;color:#8b6943;line-height:1;}
.public-surface .activity-list {list-style:none;padding:0;margin:0;}
.public-surface .activity-list li {display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #ede6dc;}
.public-surface .activity-list p {color:var(--type-secondary);margin:6px 0 0;overflow-wrap:anywhere;}
.public-surface .activity-list time {font-size:var(--type-caption-size);color:var(--type-secondary);flex:none;}
.public-surface .plan-grid {display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px;}
.public-surface .plan-card {padding:24px;background:#fcfaf6;border:1px solid #ded2bf;}
.public-surface .plan-card h3 {margin:12px 0 16px;}
.public-surface .plan-price {display:block;font-size:var(--type-metric-size);font-weight:500;}
.public-surface .plan-price small {font-size:var(--type-label-size);color:var(--type-secondary);}
.public-surface .pack-record {border-bottom:1px solid #e9dfd0;padding:16px 0;}
.public-surface .pack-record > div {display:flex;gap:12px;align-items:center;}
.public-surface .pack-record dl {display:grid;grid-template-columns:90px 1fr;font-size:var(--type-label-size);gap:7px;margin:14px 0 0;}
.public-surface .pack-record dd {margin:0;font-variant-numeric:tabular-nums;}
.public-surface .pack-record dt {color:var(--type-secondary);}
.public-surface .quiet-details {margin-top:24px;background:#f1ece3;padding:16px 20px;font-size:var(--type-caption-size);}
.public-surface summary {cursor:pointer;}
.public-surface .overview-columns {display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px;margin-bottom:20px;}
.public-surface .overview-columns > * {min-width:0;}
.public-surface .operations-overview .overview-stats {margin-top:0;}
.public-surface .operations-overview h2 {font-size:var(--type-subtitle-size);font-weight:600;}
.public-surface .trend-chart {margin:20px 0 0;}
.public-surface .trend-chart svg {width:100%;overflow:visible;}
.public-surface .trend-chart text {font:12px var(--font-ui);fill:#8c8174;}
.public-surface .chart-guide {stroke:#e4ded5;stroke-width:1;}
.public-surface .trend-line {fill:none;stroke:#806448;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}
.public-surface .trend-chart circle {fill:#fcfaf6;stroke:#806448;stroke-width:2;}
.public-surface .trend-chart figcaption {font-size:var(--type-caption-size);color:var(--type-secondary);}
.public-surface .state-summary {list-style:none;padding:0;margin:0;}
.public-surface .state-summary li {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eee6dc;}
.public-surface .state-summary strong {font-size:var(--type-section-size);font-weight:500;}
.public-surface .recent-orders article {display:flex;justify-content:space-between;gap:16px;padding:17px 0;border-bottom:1px solid #e8e0d5;}
.public-surface .recent-orders article > div {display:flex;flex-direction:column;gap:7px;}
.public-surface .recent-orders article > div:last-child {align-items:flex-end;}
.public-surface .recent-orders :is(span,time) {font-size:var(--type-caption-size);}
.public-surface .brief-item {padding:12px 0;border-top:1px solid #e7ded2;}
.public-surface .brief-item p {margin:8px 0 0;}
.public-surface .service-summary {display:grid;gap:8px;}
.public-surface .service-summary > span {display:flex;justify-content:space-between;font-size:var(--type-caption-size);gap:10px;}
.public-surface .hall-meta {display:block;font-size:var(--type-caption-size);color:var(--type-secondary);margin-top:7px;overflow-wrap:anywhere;}
.public-surface .hall-row > td {vertical-align:top;}
.public-surface .hall-row td:first-child {width:23%;}
.public-surface .hall-actions {display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;}
.public-surface .hall-actions :is(button,a,summary) {font-size:var(--type-label-size);padding:7px 9px;min-height:34px;}
.public-surface .row-more {position:relative;}
.public-surface .row-more summary {list-style:none;color:#6b5338;}
.public-surface .row-more[open] {flex-basis:100%;}
.public-surface .row-more > div {display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#f1ebdf;padding:10px;border:1px solid #ddd0ba;}
.public-surface .row-more button,.public-surface .row-more a {text-align:left;}
.public-surface .guest-identity {display:flex;flex-direction:column;gap:5px;}
.public-surface .identity-details {margin-top:5px;}
.public-surface .identity-details summary {font-size:var(--type-caption-size);color:var(--type-secondary);}
.public-surface .identity-details code {overflow-wrap:anywhere;white-space:normal;}
.public-surface .my-order.entry {padding:20px 0;}
.public-surface .my-order .row {gap:8px;}
.public-surface .my-order strong {font-weight:500;}
.public-surface .my-order .order-context {margin-top:10px;font-size:var(--type-label-size);color:var(--type-secondary);}
.public-surface .my-order time {font-size:var(--type-caption-size);color:var(--type-secondary);}
.public-surface .my-order .identity-details {font-size:var(--type-caption-size);}
.public-surface .video-preview {position:relative;background:#292621;aspect-ratio:16/10;overflow:hidden;}
.public-surface .video-preview video {display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:auto;}
.public-surface .video-preview:has(video[controls]) video {object-fit:contain;}
.public-surface .video-play {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;min-height:52px;border-radius:50%;background:rgba(249,245,236,.9);color:#54432e;border:1px solid #f4eee2;padding:0;font-size:20px;}
.public-surface .video-duration {position:absolute;right:10px;bottom:10px;background:rgba(30,26,23,.7);color:#fff;padding:3px 8px;font-size:var(--type-caption-size);font-variant-numeric:tabular-nums;}
.visit-reading .visit > .notice {background:#ebe5db;color:#80766a;border:0;padding:16px 24px;font:var(--type-caption-weight) var(--type-caption-size)/1.8 var(--font-ui);max-width:880px;width:calc(100% - 48px);margin:14px auto;}
.visit-reading .visit > section.notice p {font:inherit;}
.visit-reading .visit > section.notice button {font:inherit;background:transparent;color:#786548;border:1px solid #cbbfae;}
.public-surface .purchase-sheet {text-align:center;padding:12px 10px 4px;max-width:470px;margin:auto;}
.public-surface .purchase-emblem {width:72px;height:72px;margin:0 auto 16px;color:#8c704a;}
.public-surface .purchase-emblem svg {width:100%;height:100%;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.public-surface .purchase-sheet h2 {font-family:var(--font-memorial);margin:12px 0 18px;}
.public-surface .purchase-price {font-size:var(--type-metric-size);font-weight:500;color:#6c4e2d;line-height:1.3;font-variant-numeric:tabular-nums;}
.public-surface .purchase-price small {font:var(--type-label-size) var(--font-ui);color:var(--type-secondary);}
.public-surface .purchase-rules {text-align:left;display:grid;grid-template-columns:82px 1fr;gap:14px 12px;padding:24px 0;margin:24px 0 12px;border-block:1px solid #e6dac7;font-size:var(--type-label-size);}
.public-surface .purchase-rules dt {color:var(--type-secondary);}
.public-surface .purchase-rules dd {margin:0;}
.public-surface .purchase-sheet #pay {width:100%;margin-top:18px;}
.public-surface .annual-sheet {border-top:3px solid #8e7049;background:#f0e7d8;padding:22px;}
@media(max-width:700px){
 .public-surface:has(.family-overview) > .heading {margin-bottom:14px;}
 .public-surface:has(.family-overview) > .heading .eyebrow,.public-surface:has(.family-overview) > .heading p {display:none;}
 .public-surface:has(.family-overview) > .heading h1 {margin:0;font-size:var(--type-section-size);}
 .public-surface:has(.family-overview) .workspace {gap:16px;}
 .public-surface:has(.family-overview) .sidebar {padding:0;}
 .public-surface:has(.family-overview) .sidebar > label {display:flex;align-items:center;gap:12px;}
 .public-surface:has(.family-overview) #hall-select {flex:1;min-width:0;margin:0;}
 .public-surface:has(.family-overview) #family-panel {padding:20px;}
 .public-surface .family-overview .section-intro {margin-bottom:16px;}
 .public-surface .family-overview .section-intro .eyebrow {display:none;}
 .public-surface .family-overview .section-intro h2 {font-size:var(--type-section-size);margin:0;}
 .public-surface .family-overview .overview-stats {grid-template-columns:repeat(4,minmax(0,1fr));margin-block:16px;}
 .public-surface .family-overview .overview-stats > div {padding:12px 6px;gap:8px;}
 .public-surface .family-overview .overview-stats span {font-size:var(--type-caption-size);letter-spacing:0;}
 .public-surface .family-overview .overview-stats strong {font-size:var(--type-section-size);}
 .public-surface .overview-columns {grid-template-columns:1fr;}
 .public-surface .hall-summary {grid-template-columns:110px 1fr;gap:18px;padding:16px;}
 .public-surface .hall-summary img {height:160px;}
 .public-surface .hall-summary h3 {font-size:var(--type-section-size);margin:8px 0;}
 .public-surface .hall-summary p {font-size:var(--type-caption-size);}
 .public-surface .hall-summary .eyebrow {font-size:10px;}
 .public-surface .hall-summary .button {padding:8px 10px;min-height:36px;font-size:var(--type-label-size);}
 .public-surface .overview-stats {grid-template-columns:1fr 1fr;}
 .public-surface .overview-stats > div {padding:16px;gap:9px;}
 .public-surface .quick-actions {grid-template-columns:1fr 1fr;gap:10px;}
 .public-surface .activity-list li {display:block;}
 .public-surface .activity-list time {display:block;margin-top:8px;}
 .public-surface .capacity-view {padding:20px 16px;}
 .public-surface .capacity-facts {gap:8px;}
 .public-surface .capacity-facts strong {font-size:var(--type-data-size);}
 .public-surface .plan-grid {grid-template-columns:1fr;}
 .public-surface .hall-row td:first-child {width:auto;}
 .public-surface .hall-row td .hall-meta br {display:initial;}
 .public-surface .hall-row .badge {justify-self:start;}
 .public-surface .hall-row td:last-child {display:block;padding-top:12px;}
 .public-surface .hall-row td:last-child:before {display:none;}
 .public-surface .hall-actions {gap:10px;}
 .public-surface .row-more > div {grid-template-columns:1fr 1fr;}
 .admin-page.public-page .top {padding-block:12px;gap:8px;}
 .admin-page.public-page .brand {font-size:24px;line-height:1.1;}
 .admin-page.public-page .brand span {font-size:9px;margin-top:4px;}
 .admin-page.public-page #identity {font-size:11px;}
 .admin-page.public-page main#app.public-surface {padding-top:16px;}
 .admin-page .public-surface > .heading {margin-bottom:20px;align-items:center;}
 .admin-page .public-surface > .heading .eyebrow,.admin-page .public-surface > .heading > .badge {display:none;}
 .admin-page .public-surface > .heading h1 {font-size:var(--type-page-size);margin:0;}
 .admin-page .public-surface .workspace {gap:14px;}
 .admin-page .public-surface .sidebar {padding-block:0;}
 .admin-page .public-surface .side-tabs button {padding:10px 6px;min-height:40px;}
 .admin-page .public-surface .order-row {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:18px 0;}
 .admin-page .public-surface .order-row td {display:block;padding:0;}
 .admin-page .public-surface .order-row td:before {display:none;}
 .admin-page .public-surface .order-product {grid-row:1;grid-column:1;font-weight:600;font-size:var(--type-body-size);}
 .admin-page .public-surface .order-state {grid-row:1;grid-column:2;text-align:right;}
 .admin-page .public-surface .order-hall {grid-row:2;grid-column:1;color:var(--type-secondary);}
 .admin-page .public-surface .order-amount {grid-row:2;grid-column:2;text-align:right;font-weight:600;}
 .admin-page .public-surface .order-meta {grid-row:3;grid-column:1/-1;color:var(--type-secondary);}
 .admin-page .public-surface .order-actions {grid-row:4;grid-column:1/-1;text-align:right;}
 .admin-page .public-surface .order-meta time {font-size:var(--type-caption-size);}
 .admin-page .public-surface .account-row {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:22px 0;}
 .admin-page .public-surface .account-row td {display:block;padding:0;}
 .admin-page .public-surface .account-row td:before {display:none;}
 .admin-page .public-surface .account-name {grid-row:1;grid-column:1;font-weight:600;font-size:var(--type-body-size);}
 .admin-page .public-surface .account-actions {grid-row:1;grid-column:2;text-align:right;}
 .admin-page .public-surface .account-phone {grid-row:2;grid-column:1/-1;}
 .admin-page .public-surface .account-role {grid-row:3;grid-column:1;}
 .admin-page .public-surface .account-state {grid-row:3;grid-column:2;text-align:right;}
 .public-surface .purchase-sheet {padding-inline:0;}
 .public-surface .annual-sheet {padding:20px 16px;}
}
