/* Final layout layer for the client portal prototype. */
.portal-sidebar{width:320px;flex-basis:320px;padding:36px 24px 24px}
.portal-brand{margin-bottom:72px}
.portal-header{height:94px;padding:0 52px}
.portal-main>main{width:min(1240px,calc(100% - 104px))}
.page-heading{padding:70px 0 34px}
.page-heading h1{font-size:62px;line-height:.98}
.page-heading p{font-size:20px;line-height:1.6;max-width:760px}
.filter-pills{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.filter-pills a{display:inline-flex;align-items:center;padding:9px 16px;border:1px solid #314363;border-radius:999px;color:#9ba8ba;text-decoration:none;font-size:13px;font-weight:800}
.filter-pills a:hover,.filter-pills a.active{color:#0b1428;background:var(--orange);border-color:var(--orange)}
.table-card{overflow:auto;border:1px solid #263552;background:#101a2e}
.table-card table{width:100%;border-collapse:collapse;min-width:980px}
.table-card th,.table-card td{padding:17px 16px;text-align:left;border-bottom:1px solid #263552;white-space:nowrap}
.table-card th{color:#8795ab;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.table-card td{color:#e7ebf3;font-size:14px}
.table-card tbody tr:last-child td{border-bottom:0}
.table-card tbody tr:hover{background:#14213a}
.expiry{font-weight:800}.expiry.ok{color:#a6c7bd}.expiry.soon{color:#ff9a4d}.expiry.expired{color:#ff9da3}.expiry.unknown{color:#8795ab}
.row-actions{display:flex;align-items:center;gap:8px}.row-actions form{margin:0}.row-actions .button{white-space:nowrap}
.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.catalog-card{box-shadow:0 18px 50px #0003}
.catalog-image{height:260px;padding:16px;box-sizing:border-box;background:#f8f8f6;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #dfe5e2}
.catalog-image img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;background:#f8f8f6;border-radius:4px;mix-blend-mode:normal;filter:none;opacity:1}
.catalog-body{padding:25px}.catalog-body h2{font-size:24px}
.search-bar{max-width:none;margin-bottom:32px}.search-bar input{height:50px}.search-bar .button{min-width:120px}.catalogue-filters select{min-width:230px}
.panel,.stat-card{box-shadow:0 16px 40px #0002}
.portal-main footer{padding-left:52px;padding-right:52px}
@media(max-width:1100px) and (min-width:851px){.portal-sidebar{width:240px;flex-basis:240px}.portal-main>main{width:calc(100% - 56px)}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.portal-sidebar{width:76px;flex-basis:76px}.page-heading{padding-top:45px}.page-heading h1{font-size:46px}.page-heading p{font-size:17px}.catalog-grid{grid-template-columns:1fr}.table-card table{min-width:900px}}

/* Portal theme switcher. Dark remains the default to match the Figma prototype. */
.theme-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid #30415f;border-radius:999px;background:#101a2e;color:#b9c5d7;padding:7px 11px;font:inherit;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}
.theme-toggle:hover{border-color:var(--orange);color:#fff}
.theme-toggle-icon{font-size:15px;line-height:1;color:var(--orange)}
.portal-user .theme-toggle{margin-right:4px}

html[data-theme="light"]{--ink:#1d2730;--muted:#626d73;--teal:#087f86;--teal-dark:#075e66;--sand:#f2e9df;--line:#d9e0dc;--white:#fff;--orange:#e56a16}
html[data-theme="light"],html[data-theme="light"] body{background:#f5f6f4;color:var(--ink)}
html[data-theme="light"] body{background:linear-gradient(180deg,#f5f6f4 0,#fff 55%,#f5f6f4 100%)}
html[data-theme="light"] .portal-sidebar{background:#fff;border-color:#d9e0dc}
html[data-theme="light"] .portal-brand strong,html[data-theme="light"] .brand strong{color:#1d2730}
html[data-theme="light"] .portal-brand small,html[data-theme="light"] .brand small{color:#68767a}
html[data-theme="light"] .portal-nav a,html[data-theme="light"] .portal-sidebar-footer a,html[data-theme="light"] .portal-sidebar-footer .nav-button{color:#506066}
html[data-theme="light"] .portal-nav a:hover,html[data-theme="light"] .portal-sidebar-footer a:hover{color:#075e66;background:#edf5f3}
html[data-theme="light"] .nav-icon{color:#087f86}
html[data-theme="light"] .portal-sidebar-footer{border-color:#d9e0dc}
html[data-theme="light"] .portal-header,html[data-theme="light"] .topbar{background:#fff;border-color:#d9e0dc}
html[data-theme="light"] .portal-context,html[data-theme="light"] .portal-user{color:#66757a}
html[data-theme="light"] .user-avatar{background:#d9eeeb;color:#075e66}
html[data-theme="light"] .portal-main footer,html[data-theme="light"] .shell>footer,html[data-theme="light"] .shell footer{background:#fff;border-color:#d9e0dc;color:#66757a}
html[data-theme="light"] .hero h1,html[data-theme="light"] .page-heading h1,html[data-theme="light"] .auth-intro h1,html[data-theme="light"] .centered-page h1{color:#1d2730}
html[data-theme="light"] .hero p,html[data-theme="light"] .page-heading p,html[data-theme="light"] .auth-intro p{color:#626d73}
html[data-theme="light"] .hero-art{background:linear-gradient(135deg,#b6d3d0,#e8dfd0);border-color:#d9e0dc}
html[data-theme="light"] .hero-circle{background:linear-gradient(145deg,#6ca4a2,#1a6065);box-shadow:25px 25px 0 #ffffff88}
html[data-theme="light"] .hero-card,html[data-theme="light"] .value-grid article,html[data-theme="light"] .panel,html[data-theme="light"] .stat-card,html[data-theme="light"] .catalog-card,html[data-theme="light"] .request-row,html[data-theme="light"] .form-card{background:#fff;border-color:#d9e0dc;color:#1d2730}
html[data-theme="light"] .hero-card span:last-child,html[data-theme="light"] .value-grid p,html[data-theme="light"] .panel p,html[data-theme="light"] .catalog-body p{color:#626d73}
html[data-theme="light"] .panel.dark{background:#1d2730;border-color:#1d2730;color:#fff}
html[data-theme="light"] .panel.dark p{color:#c8d2d0}
html[data-theme="light"] .stat-card span,html[data-theme="light"] .stat-card small,html[data-theme="light"] .muted{color:#66757a}
html[data-theme="light"] .stat-card strong,html[data-theme="light"] .form-card h2,html[data-theme="light"] .empty-state h1,html[data-theme="light"] .empty-state h2{color:#1d2730}
html[data-theme="light"] .search-bar input,html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{background:#fff;color:#1d2730;border-color:#c7d1ce}
html[data-theme="light"] .search-bar input::placeholder,html[data-theme="light"] input::placeholder,html[data-theme="light"] textarea::placeholder{color:#7b898d}
html[data-theme="light"] .button{background:#fff;border-color:#b4c1bd;color:#087f86}
html[data-theme="light"] .button.primary{background:#087f86;border-color:#087f86;color:#fff}
html[data-theme="light"] .button.primary:hover{background:#075e66}
html[data-theme="light"] .button.ghost{border-color:#b4c1bd;color:#506066}
html[data-theme="light"] .theme-toggle{background:#fff;border-color:#b4c1bd;color:#506066}
html[data-theme="light"] .theme-toggle:hover{border-color:#087f86;color:#075e66}
html[data-theme="light"] .table-card{background:#fff;border-color:#d9e0dc}

/* Landing-page hero image: keep the supplied photograph inside the circular artwork. */
.hero-circle{overflow:hidden;background:#172646;border:1px solid #385071}
.hero-circle img{display:block;width:100%;height:100%;object-fit:cover;object-position:52% 48%;filter:saturate(1.05) contrast(1.02)}
html[data-theme="light"] .hero-circle{background:#dbeae7;border-color:#c1d4d0}
html[data-theme="light"] .table-card th,html[data-theme="light"] .table-card td{border-color:#d9e0dc}
html[data-theme="light"] .table-card th{color:#68767a}
html[data-theme="light"] .table-card td{color:#1d2730}
html[data-theme="light"] .table-card tbody tr:hover{background:#f1f7f5}
html[data-theme="light"] .filter-pills a{border-color:#b4c1bd;color:#506066}
html[data-theme="light"] .filter-pills a:hover,html[data-theme="light"] .filter-pills a.active{color:#fff;background:#087f86;border-color:#087f86}
html[data-theme="light"] .catalog-image{background:linear-gradient(145deg,#dbeae7,#ece5da);border-bottom-color:#d9e0dc}
html[data-theme="light"] .catalog-meta span{border-color:#c7d1ce;color:#626d73}
html[data-theme="light"] .status{background:#eaf0ee;color:#4b6162}
html[data-theme="light"] .status.submitted,html[data-theme="light"] .status.acknowledged,html[data-theme="light"] .status.underreview{background:#e4f2ef;color:#087f86}
html[data-theme="light"] .notice.error{background:#fff0ed;color:#a74331;border-color:#f3c6bc}
html[data-theme="light"] .notice.success{background:#eaf7f2;color:#14684e;border-color:#bde5d5}
html[data-theme="light"] .form-footer,html[data-theme="light"] .form-links{color:#626d73}

.portal-logo,.brand-logo{display:block;width:232px;height:auto;background:#fff;border-radius:8px;padding:7px 11px}
.brand-logo{width:210px;border-radius:6px;padding:6px 10px}
.catalog-signin{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.catalog-signin .text-link{margin-top:16px}.catalog-signup{font-size:12px;color:var(--muted);font-weight:800;text-decoration:none}.catalog-signup:hover{color:var(--orange)}
.stat-card-link{text-decoration:none;transition:transform .16s ease,border-color .16s ease}.stat-card-link:hover{transform:translateY(-2px);border-color:var(--orange)}
.account-menu{position:relative}.account-menu summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.account-menu summary::-webkit-details-marker{display:none}.account-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-chevron{color:var(--orange);font-size:16px}.account-menu-panel{position:absolute;right:0;top:calc(100% + 12px);min-width:160px;padding:8px;background:#101a2e;border:1px solid #30415f;border-radius:8px;box-shadow:0 18px 40px #0005;z-index:20}.account-menu-panel a,.account-menu-panel button{display:block;width:100%;border:0;background:transparent;color:#dbe3ef;text-align:left;text-decoration:none;font:inherit;font-size:13px;font-weight:700;padding:10px 12px;border-radius:5px;cursor:pointer}.account-menu-panel a:hover,.account-menu-panel button:hover{background:#1d2c49;color:#fff}.account-menu-panel form{margin:0}
.catalog-image{overflow:hidden;position:relative}.catalog-body{position:relative;z-index:1;background:inherit}.catalog-actions{margin-top:18px;display:flex;align-items:center;min-height:34px}.catalog-actions .text-link{font-size:13px;font-weight:800}.catalogue-basket-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:0 0 22px;color:var(--muted);font-size:14px}.catalogue-basket-link{white-space:nowrap}.catalog-order-disabled{opacity:.65;cursor:not-allowed;text-decoration:none}
.order-shop{margin:28px 0}.order-shop-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}.order-shop-toolbar h2{margin-bottom:6px}.order-shop-toolbar input{max-width:300px}.order-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:420px;overflow:auto;padding:2px}.order-product{display:flex;flex-direction:column;justify-content:space-between;gap:15px;min-height:150px;padding:18px;border:1px solid #263552;border-radius:7px;background:#101a2e}.order-product h3{margin:6px 0;font-size:17px}.order-product small{color:#8b98ad}.order-product.restricted{opacity:.55}.restricted-label{font-size:11px;color:#ff9da3;font-weight:800}.order-cart{margin-top:22px;padding:20px;border:1px solid #263552;border-radius:7px;background:#0b1428}.order-cart-line{display:grid;grid-template-columns:minmax(180px,1fr) 110px 180px;align-items:end;gap:14px;padding:14px 0;border-top:1px solid #263552}.order-cart-line>div{display:flex;flex-direction:column;gap:7px}.cart-remove{width:max-content;border:0;background:none;color:#ff9a4d;padding:0;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.order-cart-line label{font-size:12px}.order-cart-line input{padding:9px}.order-product .button:disabled{opacity:.6;cursor:default}html[data-theme="light"] .order-product{background:#fff;border-color:#d9e0dc}html[data-theme="light"] .order-cart{background:#f6faf8;border-color:#d9e0dc}html[data-theme="light"] .order-cart-line{border-color:#d9e0dc}
html[data-theme="light"] .account-menu-panel{background:#fff;border-color:#c7d1ce;box-shadow:0 18px 40px #263b3b22}html[data-theme="light"] .account-menu-panel a,html[data-theme="light"] .account-menu-panel button{color:#405257}html[data-theme="light"] .account-menu-panel a:hover,html[data-theme="light"] .account-menu-panel button:hover{background:#edf5f3;color:#075e66}
html[data-theme="light"] .stat-card-link:hover{border-color:#087f86}
@media(max-width:850px){.portal-logo{width:45px;height:45px;object-fit:cover;object-position:left center;padding:4px;border-radius:7px}.brand-logo{width:170px}}
@media(max-width:850px){.order-shop-toolbar{display:block}.order-shop-toolbar input{max-width:none;margin-top:14px}.order-shop-grid{grid-template-columns:1fr}.order-cart-line{grid-template-columns:1fr 1fr}.order-cart-line>div{grid-column:1/-1}}
