/* Tapestry Web Patch 272 — canonical architecture layer.
   Shared page-family behavior belongs here. Custom Atelier, Component Studio,
   Workshop, and Engineering Cabinet surfaces intentionally keep their own CSS. */
:root {
    --t-layout-max: 1560px;
    --t-layout-gutter: clamp(1rem, 2.4vw, 2rem);
    --t-layout-section-gap: clamp(1rem, 1.8vw, 1.5rem);
    --t-layout-window-gap: clamp(.85rem, 1.4vw, 1.25rem);
    --t-window-radius: var(--t-panel-radius, 18px);
    --t-window-shadow: 0 12px 30px rgba(45, 35, 19, .13);
    --t-window-shadow-selected: 0 0 0 2px rgba(139, 103, 37, .58), 0 14px 34px rgba(45, 35, 19, .18);
    --t-motion-fast: 150ms;
    --t-motion-standard: 220ms;
    --t-motion-emphasis: 320ms;
    --t-motion-curve: cubic-bezier(.22, .8, .28, 1);
}

.t-page-family {
    min-width: 0;
    width: 100%;
}

.t-page-family :is(.workspace, .t-workspace) {
    width: min(var(--t-layout-max), 100%);
    margin-inline: auto;
    padding-inline: var(--t-layout-gutter);
}

.t-page-family :is(.t-card, .t-panel, .t-data-list, .daybook-panel) {
    border-radius: var(--t-window-radius);
    box-shadow: var(--t-window-shadow);
    transition: border-color var(--t-motion-fast) ease,
                box-shadow var(--t-motion-standard) var(--t-motion-curve),
                transform var(--t-motion-standard) var(--t-motion-curve);
}

.t-page-family :is(.t-card, .t-panel, .t-data-list, .daybook-panel):hover {
    box-shadow: 0 14px 34px rgba(45, 35, 19, .16);
}

.t-page-family :is(.selected, [aria-selected="true"]):is(.t-card, .t-panel, .t-data-list, .daybook-panel),
.t-page-family :is(.t-card, .t-panel, .t-data-list, .daybook-panel).selected {
    box-shadow: var(--t-window-shadow-selected);
}

.t-page-family :is(.dashboard-grid, .collection-grid, .record-grid, .template-featured) {
    gap: var(--t-layout-window-gap);
}

.t-page-family :is(.t-state, .template-state, .empty-state) {
    border-radius: var(--t-window-radius);
    min-height: 11rem;
}

.t-page-family--operations :is(.workspace, .t-workspace) {
    max-width: var(--t-layout-max);
}

.t-page-family--collection :is(.workspace, .t-workspace) > * + * {
    margin-top: var(--t-layout-section-gap);
}

@media (prefers-reduced-motion: reduce) {
    .t-page-family *,
    .t-page-family *::before,
    .t-page-family *::after {
        scroll-behavior: auto !important;
        transition-duration: 1ms !important;
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Patch 272 corrective pass: standard destinations intentionally expose no
   legacy page UI. The shell, routing, domain services, models, and page
   implementations remain available while feature surfaces are rebuilt from
   canonical Components. */
.t-canonical-empty-workspace {
    box-sizing: border-box;
    inline-size: 100%;
    min-block-size: 100%;
}
