/* Additional declared dimensions follow PDF pages24–36; brand.css remains unchanged. */
:root { --an-radius-control: 12px; --an-radius-card: 16px; --an-radius-panel: 24px; --an-touch-target: 44px; }
body { margin: 0; background: var(--an-paper); font: 16px/1.6 var(--an-font-sans); }
* { box-sizing: border-box; }
h1, h2 { font-weight: 800; letter-spacing: -.03em; line-height: 1.08; overflow-wrap: anywhere; }
h1 { font-size: clamp(2.5rem, 5vw, 4.5rem); margin: 24px 0; }
h2 { font-size: 1.5rem; margin: 0 0 16px; }
a, button, input, select, textarea { font: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid var(--an-red-light); outline-offset: 4px; }
.skip-link { position: fixed; z-index: 10000; top: -100px; left: 16px; padding: 12px 20px; background: var(--an-paper); color: var(--an-ink); }
.skip-link:focus { top: 12px; }
.public-header, .employee-header { background: var(--an-ink); color: var(--an-paper); }
.header-content, .employee-header { display: flex; align-items: center; gap: 24px; min-height: 88px; }
.brand-logo { width: 188px; height: auto; max-width: 45vw; }
.product-label { font-weight: 600; border-left: 1px solid var(--an-gray-3); padding-left: 24px; }
.welcome-main { background: var(--an-ink); color: var(--an-paper); padding: 80px 0 96px; }
.welcome-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); gap: 80px; align-items: center; }
.welcome-copy h1 { font-size: clamp(3.5rem, 6.5vw, 6rem); margin: 28px 0; }
.welcome-copy h1 span { color: var(--an-red-light); }
.welcome-lead { max-width: 560px; font-size: 20px; color: var(--an-gray-7); line-height: 1.6; }
.welcome-login { display: inline-flex; align-items: center; gap: 32px; margin-top: 32px; min-height: var(--an-touch-target); }
.employee-note { color: var(--an-gray-7); font-size: 15px; margin-top: 24px; }
.capability-panel { border: 1px solid var(--an-gray-2); border-radius: var(--an-radius-panel); padding: 32px; }
.technical-label { font: 15px/1.6 var(--an-font-mono); letter-spacing: .09em; color: var(--an-gray-6); }
.capability-step { position: relative; padding: 28px 0 24px 40px; border-bottom: 1px solid var(--an-gray-2); }
.capability-step > span { position: absolute; left: 0; top: 30px; font: 15px var(--an-font-mono); color: var(--an-red-light); }
.capability-step strong { font-size: 28px; line-height: 1.2; letter-spacing: -.02em; }
.capability-step p { margin: 8px 0 0; color: var(--an-gray-7); font-size: 15px; }
.panel-rule { width: 48px; height: 2px; background: var(--an-red-light); margin: 28px 0; }
.public-footer { display: flex; justify-content: space-between; gap: 24px; padding-block: 32px; color: var(--an-gray-3); font-size: 15px; }
.portal-message { padding-block: 80px; min-height: 65vh; }
.portal-message p { max-width: 680px; margin-bottom: 32px; }
.quiet-link { display: inline-flex; padding: 12px; margin-left: 16px; color: var(--an-red); min-height: var(--an-touch-target); }
.employee-header { padding: 16px 24px; }
.employee-header form { margin-left: auto; }
.signout-button { background: transparent; border: 1px solid var(--an-gray-5); border-radius: var(--an-radius-control); color: var(--an-paper); min-height: var(--an-touch-target); padding: 8px 16px; cursor: pointer; }
.employee-main { padding-block: 40px; }
.entry-card { border: 1px solid var(--an-gray-7); border-radius: var(--an-radius-card); padding: 32px; margin-top: 32px; }
@media (max-width: 767px) {
  .welcome-main { padding: 48px 0 64px; }
  .welcome-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .welcome-lead { font-size: 18px; }
  .capability-panel { display: none; }
  .public-footer { flex-direction: column; gap: 8px; }
  .employee-header { gap: 12px; flex-wrap: wrap; }
  .employee-header .product-label { display: none; }
  .portal-message { padding-block: 48px; }
  .quiet-link { margin: 16px 0 0; }
  input, select, textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
/* Shell chrome copied from PartnerHub; same ArchitectNow brand authority. */
:root {
 --an-shadow-panel: 0 20px 40px rgba(0,0,0,.5);
 --an-on-dark-hairline: rgba(255,255,255,.1);
 --an-on-red-heading: rgba(255,255,255,1);
 --an-red-text: var(--an-red);
 --an-duration-fast: .2s;
 --an-ease: cubic-bezier(.16,1,.3,1);
}
.mud-layout { min-height:100vh; display:flex; flex-direction:column; }
.appbar-ink { color:var(--an-white)!important; border-bottom:1px solid var(--an-on-dark-hairline); }
.appbar-ink .mud-icon-button:hover,.appbar-ink .mud-button-root:hover,.appbar-ink a:hover { color:var(--an-red-light)!important; }
.mud-button-root:focus-visible,.mud-icon-button:focus-visible,a:focus-visible { outline:2px solid var(--an-red); outline-offset:3px; }
.appbar-ink .mud-button-root:focus-visible,.appbar-ink .mud-icon-button:focus-visible,.appbar-ink a:focus-visible { outline-color:var(--an-red-light); }
.portal-main { min-width:0; }
.portal-page h1 { font-size:clamp(2rem,4vw,3.5rem); }
.portal-footer { text-align:center; padding:16px; color:var(--an-gray-4); font-size:.8rem; flex-shrink:0; }
.portal-footer a { color:var(--an-red-text); text-decoration:none; }
.admin-demo-link { min-width:44px; min-height:44px; white-space:nowrap; }
@media(max-width:767px) {
 .admin-demo-link .mud-button-label > span:not(.mud-button-icon-end) { display:none; }
 .admin-demo-link .mud-button-icon-end { margin:0; }
}
@media(max-width:599.98px) { .mud-main-content.pa-4 { padding:8px 8px 80px 8px!important; } }
.portal-button { padding: 8px 20px; min-height: 44px; color: var(--an-red); border: 1px solid var(--an-border-2); border-radius: 12px; background: var(--an-white); cursor: pointer; }
.portal-button:hover { border-color: var(--an-red); }
.page-heading > p:last-child { max-width: 760px; color: var(--an-gray-3); }
.catalog-filter { display: flex; flex-wrap: wrap; gap: 16px; align-items: end; margin: 32px 0; }
.catalog-filter label { display: grid; gap: 8px; font-size: 15px; font-weight: 600; flex: 1 1 220px; }
.catalog-filter input,.catalog-filter select { min-width: 0; width: 100%; padding: 12px 16px; min-height: 48px; border: 1px solid var(--an-border-2); border-radius: 12px; background: var(--an-white); color: var(--an-ink); }
.catalog-filter button { min-height: 48px; }
.result-count { margin-bottom: 20px; font-size: 15px; color: var(--an-gray-3); }
.demo-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; }
.demo-card { display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--an-border); border-radius: 16px; background: var(--an-white); text-decoration: none; color: var(--an-ink); transition: transform .3s,border-color .3s; overflow-wrap: anywhere; }
.demo-card:hover { transform: translateY(-4px); border-color: var(--an-red); }
.demo-card:hover h2 { color: var(--an-red); }
.demo-card h2 { font-size: 24px; line-height: 1.2; margin: 20px 0 12px; }
.demo-card > p { font-size: 15px; color: var(--an-gray-3); line-height: 1.65; margin: 0 0 24px; }
.card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: 15px; color: var(--an-gray-3); }
.availability { border: 1px solid var(--an-border); border-radius: 4px; padding: 4px 8px; font-size: 15px; }
.card-action { display: flex; justify-content: space-between; margin-top: auto; color: var(--an-red); font-weight: 600; font-size: 15px; }
.empty-state { border: 1px solid var(--an-border); border-radius: 16px; padding: 32px; margin: 32px 0; background: var(--an-white); }
.demo-description { max-width: 760px; white-space: pre-wrap; overflow-wrap: anywhere; }
.back-link { display: inline-flex; min-height: 44px; align-items: center; margin-bottom: 24px; color: var(--an-red); }
.load-more { margin-top: 24px; }
@media(min-width:768px) { .demo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(min-width:1440px) { .demo-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) { .catalog-filter button { width:100%; } }
@media(hover:none) { .demo-card:active { border-color: var(--an-red); } }
@media(prefers-reduced-motion:reduce) { .demo-card:hover { transform: none; } }
.category-nav { display: flex; gap: 12px; align-items: center; min-height: 48px; padding: 12px 16px; color: var(--an-ink); text-decoration: none; }
.category-nav.selected { color: var(--an-red); background: var(--an-paper); font-weight: 600; }
.stat-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-block: 32px; }
.stat-grid article { padding: 24px; border: 1px solid var(--an-border); border-radius: 16px; background: var(--an-white); display: grid; gap: 8px; }
.stat-grid strong { font-size: 40px; line-height: 1.2; font-weight: 800; }
.stat-grid span { font-size: 15px; color: var(--an-gray-3); }
.admin-actions,.form-actions { display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
.admin-actions a { text-decoration:none; }
.recent-activity { margin-top:48px; }
.admin-catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px; }
.admin-catalog-card,.editor-panel,.activity-card { background:var(--an-white);padding:28px;border:1px solid var(--an-border);border-radius:16px;min-width:0;overflow-wrap:anywhere; }
.admin-catalog-card h2 { font-size:24px; margin-block:16px; }
.admin-catalog-card p { font-size:15px;color:var(--an-gray-3);margin-bottom:20px; }
.editor-panel { margin-block:32px; }
.editor-panel fieldset { border:0;padding:0;display:grid;gap:20px;min-width:0; }
.editor-panel label,.activity-filter label { display:grid;gap:8px;font-size:15px;font-weight:600;min-width:0; }
.editor-panel input:not([type=checkbox]),.editor-panel select,.editor-panel textarea,.activity-filter input,.activity-filter select { width:100%;min-width:0;min-height:48px;padding:12px 16px;border:1px solid var(--an-border-2);border-radius:12px;background:var(--an-white);color:var(--an-ink);font-size:16px; }
.editor-panel textarea { resize:vertical; }
.form-row { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.editor-panel .checkbox-label { display:flex;align-items:center;gap:12px;min-height:44px; }
.checkbox-label input { width:24px;height:24px;accent-color:var(--an-red); }
.activity-filter { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end;margin-block:32px; }
.activity-card { margin-block:16px; }
.activity-card h2 { font-size:22px; }
.activity-card time,.activity-card p { font-size:15px;color:var(--an-gray-3); }
.activity-table-wrap { max-width:100%;overflow:auto; }
.activity-table { border-collapse:collapse;width:100%;font-size:15px;background:var(--an-white); }
.activity-table td,.activity-table th { text-align:left;vertical-align:top;padding:16px;border-bottom:1px solid var(--an-border);overflow-wrap:anywhere; }
.activity-table time { display:block;min-width:160px; }
.activity-mobile { display:none; }
summary { cursor:pointer;min-height:44px;display:list-item;padding-block:12px;color:var(--an-red); }
details dl { font-size:15px;overflow-wrap:anywhere; }
details dt { font-weight:600;margin-top:12px; }
details dd { margin:0; }
button:disabled { opacity:.6;cursor:wait; }
@media(max-width:767px){.stat-grid,.admin-catalog-grid,.form-row,.activity-filter{grid-template-columns:minmax(0,1fr);}.stat-grid{gap:12px;}.stat-grid article{display:flex;align-items:center;gap:24px;}.editor-panel,.admin-catalog-card{padding:24px;}}
@media(max-width:599px){.activity-table-wrap{display:none;}.activity-mobile{display:block;}.form-actions button{width:100%;}}


.feedback-dialog { width:min(620px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow:auto; border:1px solid var(--an-border); border-radius:var(--an-radius-card); padding:24px; background:var(--an-paper); color:var(--an-ink); }
.feedback-dialog::backdrop { background:rgba(0,0,0,.55); }
.feedback-dialog fieldset { border:0; padding:0; margin:0; min-width:0; }
.feedback-dialog label { display:block; margin:16px 0 8px; }
.feedback-dialog textarea,.feedback-dialog select { display:block; width:100%; min-height:44px; font:inherit; font-size:16px; padding:12px; box-sizing:border-box; }
.feedback-preview { display:block; max-width:100%; max-height:50dvh; object-fit:contain; margin:16px auto; }
.feedback-description { white-space:pre-wrap; overflow-wrap:anywhere; margin-block:24px; }
.feedback-detail { max-width:780px; }

/* PartnerHub responsive profile and icon-control floors. */
@media(max-width:599.98px) {
 .profile-menu-dropdown { min-width:unset!important; width:min(220px,calc(100vw - 32px)); right:-8px; }
 .mud-dialog-actions { flex-wrap:wrap; row-gap:8px; }
}
@media(max-width:767.98px) { .mud-icon-button { min-width:44px; min-height:44px; } }
