/* Scoped to signed-in customer/admin pages. Public storefront and slicer are untouched. */
.portal-page{background:var(--bg,#f7f8fa)}
.portal-page .portal-layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh;align-items:start}
.portal-page .portal-sidebar{position:sticky;top:0;min-height:100vh;max-height:100dvh;overflow-y:auto;width:250px;padding:28px 20px;background:var(--surface,#fff);border-right:1px solid var(--border,#d9e1e7)}
.portal-brand-row{display:flex;justify-content:space-between;align-items:center;gap:16px}
.portal-brand{display:block;line-height:0}.portal-brand img{width:180px;height:65px;object-fit:contain;max-width:100%}
.portal-role{font-size:12px;color:var(--text-muted);letter-spacing:.09em;margin:10px 12px 32px}
.portal-nav{display:flex;flex-direction:column;gap:7px}
.portal-nav a{display:block;padding:13px 14px;color:var(--text-muted);font-size:14px;text-decoration:none;border-radius:10px;line-height:1.5}
.portal-nav a:hover,.portal-nav a.active{background:#eaf0f4;color:var(--text)}
.portal-logout{display:block;margin-top:38px;padding:13px 14px;border:0;background:transparent;font-size:14px;line-height:1.5;color:var(--text-muted);cursor:pointer;border-radius:10px}
.portal-logout:hover{background:#eaf0f4;color:var(--text)}
.portal-menu-toggle{display:none;border:1px solid var(--border);border-radius:10px;background:white;padding:10px 16px;min-height:44px;color:var(--text);font:inherit;cursor:pointer}
.portal-page .portal-main{width:100%;min-width:0;max-width:none;margin:0;padding:40px}
.portal-main>h1{margin:0 0 18px;line-height:1.2;font-size:32px;letter-spacing:-.025em}
.portal-main>p{line-height:1.7;margin:0 0 24px}.portal-main>.eyebrow{margin-bottom:16px}
.portal-main .admin-topbar,.portal-main .account-topbar{gap:24px;align-items:flex-start;margin-bottom:32px}
.portal-main .admin-user,.portal-main .account-user{overflow-wrap:anywhere}
.portal-main .shop-intro{max-width:780px}
.portal-main .shop-card{padding:28px;border-radius:20px;margin-bottom:24px}
.portal-main .shop-card>h2:first-child,.portal-main .card>h2:first-child{margin-top:0}
.portal-main .shop-card h2{margin-bottom:18px}
.portal-main .shop-card p{line-height:1.65}
.portal-main .quote-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.portal-main .quote-layout>*{min-width:0}
.portal-main label:not(:has(input[type=checkbox])):not(:has(input[type=radio])){display:flex;flex-direction:column;gap:9px;min-width:0;font-weight:500;line-height:1.5}
.portal-main label>input:not([type=checkbox]):not([type=radio]),.portal-main label>select,.portal-main label>textarea{margin-top:0;min-width:0;width:100%}
.portal-main .form-group>label{margin-bottom:9px}
.portal-main .settings-form,.portal-main .order-form{gap:20px}
.portal-main .config-grid{gap:22px}
.portal-main .card-body{padding:26px}
.portal-main .admin-section-header,.portal-main .account-section-header{padding:24px 28px}
.portal-main .detail-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:28px}
.portal-main .detail-summary,.portal-main .timeline,.portal-main .stat-card{padding:26px}
.portal-main .table-wrap,.portal-main .order-table-wrap{max-width:100%;overflow-x:auto}
.portal-main form{min-width:0}.portal-main input,.portal-main select,.portal-main textarea{max-width:100%}
.portal-main .development-contact{margin-top:24px}
.portal-page>.privacy-footer{margin-left:250px;padding:24px 32px;text-align:center;line-height:1.8}
.portal-main .development-steps{padding:8px 0 24px}
#portal-feedback{font-size:13px;line-height:1.5;color:var(--danger);margin:12px}
@media(max-width:1200px){.portal-main .quote-layout,.portal-main .detail-grid{grid-template-columns:minmax(0,1fr)}.portal-main .order-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-main .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-main .materials-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){.portal-page .portal-layout{grid-template-columns:minmax(0,1fr)}.portal-page .portal-sidebar{position:static;min-height:0;max-height:none;width:100%;padding:16px 24px;border-right:0;border-bottom:1px solid var(--border)}.portal-brand img{width:160px;height:52px}.portal-menu-toggle{display:block}.portal-role{margin:8px 0 0;font-size:11px}.portal-nav{margin-top:20px}.portal-sidebar[data-collapsed=true] #portal-navigation{display:none}.portal-page .portal-main{padding:28px 24px}.portal-page>.privacy-footer{margin-left:0}.portal-logout{margin-top:18px}.portal-main .admin-topbar,.portal-main .account-topbar{flex-wrap:wrap;gap:12px}.portal-main .admin-topbar h1,.portal-main .account-topbar h1{font-size:30px}.portal-main>h1{font-size:30px}}
@media(max-width:540px){.portal-page .portal-main{padding:26px 16px}.portal-page .portal-sidebar{padding:14px 18px}.portal-main .shop-card,.portal-main .card-body,.portal-main .detail-summary,.portal-main .timeline,.portal-main .stat-card{padding:20px}.portal-main .admin-section-header,.portal-main .account-section-header{padding:20px}.portal-main .stats-grid,.portal-main .order-filters{grid-template-columns:minmax(0,1fr)}.portal-main .quote-layout{gap:20px}.portal-page>.privacy-footer{padding:20px 16px}.portal-main .postal-row{grid-template-columns:90px minmax(0,1fr)}}

.portal-main h1,.portal-main h2,.portal-main h3{overflow-wrap:anywhere}
