/* UI-01 Compact Layout & Density Foundation
   Whole-site operational density contract for Platform, Vendor, Customer and public shells. */
:root{
    --osk-ui-content:76rem;
    --osk-ui-content-wide:86rem;
    --osk-ui-radius:0.5rem;
    --osk-ui-radius-small:0.35rem;
    --osk-ui-panel-padding:0.9rem;
    --osk-ui-panel-padding-compact:0.7rem;
    --osk-ui-gap:0.85rem;
    --osk-ui-control-height:2.5rem;
    --osk-ui-control-height-compact:2.25rem;
    --osk-ui-row-height:2.85rem;
    --osk-card-radius:var(--osk-ui-radius);
    --osk-radius:var(--osk-ui-radius-small);
    --osk-content:var(--osk-ui-content);
    --osk-admin-sidebar-width:15.75rem;
    --osk-admin-sidebar-compact-width:4.5rem;
    --osk-admin-topbar-height:4.25rem;
}

html,body{min-height:100%;}
body{min-height:100vh;display:flex;flex-direction:column;line-height:1.48;background:var(--osk-bg);}
.site-header,.site-footer{flex:0 0 auto;}
.page-shell{flex:1 0 auto;}
body.osk-compact-admin{font-size:0.94rem;}
body.osk-compact-admin h1{font-size:clamp(1.75rem,2.4vw,2.25rem);line-height:1.08;margin-bottom:.4rem;letter-spacing:-.02em;}
body.osk-compact-admin h2{font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.18;margin-bottom:.45rem;}
body.osk-compact-admin h3{font-size:1rem;line-height:1.2;}
body.osk-compact-admin p{margin-top:.35rem;margin-bottom:.65rem;}

.osk-admin-topbar{min-height:var(--osk-admin-topbar-height);padding:.45rem 1rem;gap:.75rem;}
.osk-admin-topbar__start,.osk-admin-user-actions{gap:.55rem;}
.osk-admin-topbar__eyebrow{font-size:.64rem;letter-spacing:.055em;}
.osk-admin-topbar__title{font-size:.98rem;}
.osk-admin-user-name{font-size:.86rem;}
.osk-workspace-switcher{gap:.35rem;}
.osk-workspace-switcher label{font-size:.68rem;}
.osk-workspace-switcher select{min-height:2.15rem;padding:.28rem 1.75rem .28rem .5rem;font-size:.84rem;}

.osk-admin-content{width:min(calc(100% - 2rem),var(--osk-ui-content-wide));padding-block:1rem 1.75rem;}
.osk-admin-content>.dashboard-shell,
.osk-admin-content>.customer-admin-shell,
.osk-admin-content>.customer-account-shell,
.osk-admin-content>.osk-catalogue-shell,
.osk-admin-content>.iam-directory,
.osk-admin-content>.iam-user-summary,
.osk-admin-content>.iam-panel{width:100%;max-width:var(--osk-ui-content-wide);margin-inline:auto;}
.dashboard-shell{gap:var(--osk-ui-gap);}

.card,.metric-card,.dashboard-hero,.dashboard-hero__panel,.empty-state,
.customer-account-header,.iam-panel,.iam-directory,.iam-user-summary{
    border-radius:var(--osk-ui-radius);
    box-shadow:0 2px 8px rgb(62 45 32 / 5%);
}
.card{padding:var(--osk-ui-panel-padding);}
.card--flat{box-shadow:none;}
.card-grid{gap:.65rem;}
.metric-card{min-height:4.5rem;padding:.65rem .8rem;}
.metric-card::before{width:.22rem;}
.metric-card__value{font-size:1.45rem;}
.metric-card__label{margin-top:.18rem;font-size:.82rem;line-height:1.25;}
.metric-card__action{margin-top:.35rem;font-size:.74rem;}

.dashboard-hero{grid-template-columns:minmax(0,1.55fr) minmax(15rem,.7fr);gap:1rem;padding:1rem 1.1rem;border-radius:.65rem;box-shadow:0 4px 14px rgb(62 45 32 / 6%);}
.dashboard-hero::after{display:none;}
.dashboard-hero__content p{margin-bottom:.65rem;font-size:.94rem;}
.dashboard-hero__panel{padding:.75rem .85rem;}
.dashboard-hero__panel h2{font-size:1.08rem;}
.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(16rem,.75fr);gap:.75rem;}
.dashboard-actions{gap:.45rem;}
.workflow-list{gap:.45rem;}
.workflow-list li{grid-template-columns:2rem minmax(0,1fr);gap:.55rem;border-radius:.45rem;padding:.55rem .65rem;}
.workflow-list li::before{width:1.65rem;height:1.65rem;font-size:.76rem;}
.workflow-list span{font-size:.84rem;}

.page-heading,.section-heading,.section-heading-row{gap:.7rem;margin-bottom:.65rem;}
.page-heading{align-items:flex-start;}
.page-heading p,.section-heading p,.section-heading-row p{font-size:.88rem;}
.kicker{font-size:.66rem;line-height:1.2;letter-spacing:.06em;margin-bottom:.18rem!important;}

.form-field{margin-block:.55rem;}
.form-label{margin-bottom:.22rem;font-size:.78rem;}
.form-control,
.osk-filter-bar input,.osk-filter-bar select,
.osk-field-grid input,.osk-field-grid select{
    min-height:var(--osk-ui-control-height);
    border-width:1px;
    border-radius:var(--osk-ui-radius-small);
    padding:.45rem .55rem;
    font-size:.9rem;
}
textarea.form-control,.osk-field-grid textarea{padding:.5rem .55rem;}
.form-help{margin-top:.2rem;font-size:.78rem;}
.button{min-height:2.45rem;border-width:1px;border-radius:var(--osk-ui-radius-small);padding:.42rem .72rem;font-size:.86rem;white-space:nowrap;}
.button--compact{min-height:2.2rem!important;padding:.34rem .58rem!important;font-size:.8rem!important;border-radius:var(--osk-ui-radius-small)!important;}
.alert{margin-bottom:.7rem;border-width:1px;border-radius:var(--osk-ui-radius-small);padding:.55rem .7rem;}
.status-pill,.badge{font-size:.7rem;padding:.16rem .42rem;}

.osk-shared-footer{margin-top:1rem;}
.osk-admin-workspace .site-footer__inner,.site-footer__inner{width:min(calc(100% - 2rem),var(--osk-ui-content));padding-block:.7rem;font-size:.78rem;}

/* Customer administration */
.customer-admin-shell{display:grid;gap:.75rem;}
.customer-admin-heading{margin:0;}
.customer-admin-heading h1{margin-bottom:.2rem;}
.customer-admin-heading>div>p:last-child{max-width:64rem;font-size:.84rem;}
.customer-admin-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.55rem!important;margin:0!important;}
.customer-admin-metrics .metric-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.65rem;min-height:4.25rem!important;padding:.55rem .7rem!important;}
.customer-admin-metrics .metric-card__value{grid-row:1/3;align-self:center;font-size:1.4rem!important;}
.customer-admin-metrics .metric-card__label{font-weight:800;margin:0;}
.customer-admin-metrics .metric-card__meta{font-size:.72rem;color:var(--osk-muted);line-height:1.25;}
.customer-admin-toolbar{gap:.5rem!important;padding:.6rem .7rem!important;margin:0!important;}
.customer-admin-toolbar__filters{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.45rem .55rem!important;align-items:end;}
.customer-admin-search{grid-column:span 2!important;}
.customer-admin-toolbar .form-field{margin:0;}
.customer-admin-toolbar__actions{gap:.35rem;margin:0!important;}
.customer-admin-table{border-radius:var(--osk-ui-radius-small)!important;}
.customer-admin-row{grid-template-columns:minmax(16rem,1.35fr) minmax(10rem,.8fr) minmax(7rem,.45fr) minmax(7rem,.45fr) minmax(9rem,.55fr) minmax(3.5rem,.2fr)!important;gap:.55rem!important;min-width:62rem!important;padding:.42rem .6rem!important;min-height:var(--osk-ui-row-height);}
.customer-admin-row--header{font-size:.64rem!important;}
.customer-admin-row small{font-size:.67rem!important;margin-top:.08rem!important;}
.customer-admin-contexts{gap:.18rem!important;}
.customer-admin-identity-panel,.customer-admin-support-grid{grid-template-columns:minmax(0,1.4fr) minmax(16rem,.6fr)!important;}
.customer-admin-identity-panel__details,.customer-admin-support-actions,.customer-admin-support-grid>div{padding:.7rem .8rem!important;}
.customer-admin-section{padding:.65rem .8rem!important;}
.customer-admin-definition-list>div{grid-template-columns:minmax(7rem,.3fr) minmax(0,1fr)!important;gap:.55rem!important;padding:.3rem 0!important;}
.customer-admin-address-list{gap:.45rem!important;}
.customer-admin-address{padding:.55rem .65rem!important;border-radius:var(--osk-ui-radius-small)!important;}
.customer-admin-preference-grid>div{padding:.38rem 0!important;}
.customer-admin-security-row,.communication-log-row{padding:.38rem .55rem!important;}
.customer-admin-audit-list article,.customer-admin-notes article{padding:.42rem 0!important;}

/* IAM directories */
.iam-directory,.iam-user-summary,.iam-panel{padding:.75rem .85rem!important;border-radius:var(--osk-ui-radius)!important;}
.iam-directory{display:grid;gap:.6rem;}
.iam-directory__header{display:block!important;}
.iam-directory__header p{max-width:65rem;margin:.2rem 0 0;font-size:.84rem;}
.iam-search{display:grid;grid-template-columns:minmax(16rem,1fr) auto;gap:.45rem;align-items:end;margin:0!important;}
.iam-search>label{grid-column:1/-1;margin:0;}
.iam-search>div{display:contents!important;}
.iam-search .form-control{max-width:none!important;}
.iam-table{font-size:.85rem!important;}
.iam-table th,.iam-table td{padding:.42rem .5rem!important;}
.iam-table th{font-size:.66rem!important;}
.iam-chip{margin:.05rem!important;padding:.12rem .32rem!important;font-size:.66rem!important;}
.iam-user-summary{align-items:center!important;}
.iam-reference-list{gap:.35rem!important;}
.iam-reference-list span{padding:.35rem .48rem!important;border-radius:var(--osk-ui-radius-small)!important;}
.iam-detail-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important;gap:.7rem!important;margin:.7rem 0!important;}
.iam-role-row,.iam-history-row{padding:.35rem 0!important;}

/* Catalogue and product workspace */
.osk-catalogue-shell{max-width:var(--osk-ui-content-wide)!important;padding:.25rem 0 1rem!important;}
.osk-page-heading--compact{margin:.35rem 0 .65rem!important;align-items:flex-start!important;}
.osk-page-heading--compact h1{font-size:clamp(1.7rem,2.2vw,2.15rem)!important;margin:.12rem 0 .25rem!important;}
.osk-metric-links{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.5rem!important;margin:.55rem 0!important;}
.osk-metric-links>a{min-height:4.4rem!important;padding:.55rem .65rem!important;border-radius:var(--osk-ui-radius)!important;box-shadow:none!important;}
.osk-metric-links strong{font-size:1.45rem!important;}
.osk-metric-links span{font-size:.8rem;}
.osk-metric-links small{font-size:.68rem;}
.osk-filter-bar{display:grid!important;grid-template-columns:minmax(14rem,2fr) repeat(2,minmax(9rem,1fr)) auto auto;gap:.45rem!important;padding:.55rem .65rem!important;margin:.55rem 0!important;align-items:end!important;}
.osk-filter-bar label{font-size:.75rem!important;}
.osk-filter-bar input,.osk-filter-bar select{min-width:0!important;height:2.3rem!important;}
.osk-table-wrap{border-radius:var(--osk-ui-radius-small)!important;}
.osk-data-table{font-size:.82rem!important;}
.osk-data-table th{padding:.4rem .5rem!important;font-size:.65rem;letter-spacing:.03em;text-transform:uppercase;}
.osk-data-table td{padding:.38rem .5rem!important;}
.osk-data-table td small{font-size:.66rem;}
.osk-compact-form{gap:.6rem!important;}
.osk-compact-form section{padding:.65rem .75rem!important;border-radius:var(--osk-ui-radius)!important;}
.osk-compact-form section h2{font-size:1.02rem!important;margin:0 0 .45rem!important;}
.osk-field-grid{gap:.45rem .55rem!important;}
.osk-field-grid label{font-size:.77rem!important;}
.osk-editor-grid{grid-template-columns:minmax(0,1fr) 17rem!important;gap:.7rem!important;}
.osk-readiness-panel{top:.5rem!important;padding:.65rem!important;border-radius:var(--osk-ui-radius)!important;}
.osk-readiness-panel h2{font-size:1.05rem!important;}
.osk-sales-channel__options{gap:.35rem!important;}
.osk-sales-channel__options span{min-height:3.7rem!important;padding:.45rem .55rem!important;border-radius:var(--osk-ui-radius-small)!important;}
.osk-variant-editor{margin-top:.55rem!important;padding-top:.55rem!important;}

/* Public shell follows the same bounded density discipline. */
.page-shell{width:min(calc(100% - 2rem),var(--osk-ui-content));padding-block:1.25rem 2rem;}
.site-header__inner{width:min(calc(100% - 2rem),var(--osk-ui-content));min-height:4.25rem;padding-block:.35rem;}
.site-logo img{width:8.5rem;max-height:3.5rem;}

@container osk-workspace (max-width: 68rem){
    .customer-admin-toolbar__filters{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    .customer-admin-search{grid-column:span 2!important;}
    .osk-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    .osk-filter-bar .button{width:auto!important;justify-self:start;}
}

@media(max-width:60rem){
    :root{--osk-admin-topbar-height:4rem;}
    .osk-admin-content{width:min(calc(100% - 1.5rem),var(--osk-ui-content-wide));padding-block:.8rem 1.25rem;}
    .dashboard-hero,.dashboard-grid,.iam-detail-grid,.customer-admin-identity-panel,.customer-admin-support-grid,.osk-editor-grid{grid-template-columns:1fr!important;}
    .dashboard-hero__panel{display:none;}
    .customer-admin-support-actions,.customer-admin-status-panel{border-left:0!important;border-top:1px solid var(--osk-border);}
}

@media(max-width:44rem){
    body.osk-compact-admin{font-size:.92rem;}
    .osk-admin-topbar{padding:.4rem .6rem;}
    .osk-admin-topbar__eyebrow,.osk-admin-user-name{display:none;}
    .osk-admin-content{width:min(calc(100% - 1rem),var(--osk-ui-content-wide));}
    .customer-admin-metrics,.osk-metric-links{grid-template-columns:1fr!important;}
    .customer-admin-toolbar__filters{grid-template-columns:1fr!important;}
    .customer-admin-search{grid-column:auto!important;}
    .customer-admin-address-list,.customer-admin-preference-grid,.osk-field-grid,.osk-field-grid--four,.osk-sales-channel__options{grid-template-columns:1fr!important;}
    .span-2{grid-column:auto!important;}
    .page-heading,.section-heading,.section-heading-row,.iam-user-summary{display:block!important;}
    .page-heading .button{width:auto;}
    .site-footer__inner{display:grid;gap:.2rem;}
}

/* UI-01 v0.2 desktop sidebar density and exclusive-group companion styling. */
@media(min-width:60.01rem){
    .osk-admin-navigation{padding:.45rem .38rem!important;}
    .osk-admin-nav-link,.osk-admin-nav-group>summary{min-height:2.28rem!important;gap:.48rem!important;padding:.3rem .48rem!important;border-radius:.38rem!important;font-size:.8rem!important;}
    .osk-admin-nav-group{margin-top:.12rem!important;}
    .osk-admin-nav-summary-main{gap:.48rem!important;}
    .osk-admin-nav-icon{flex-basis:1.15rem!important;width:1.15rem!important;height:1.15rem!important;}
    .osk-admin-nav-children{gap:.08rem!important;margin:.08rem 0 .25rem 1.72rem!important;padding-left:.52rem!important;}
    .osk-admin-nav-child{min-height:2rem!important;padding:.25rem .42rem!important;border-radius:.32rem!important;font-size:.75rem!important;}
    .osk-admin-nav-context{font-size:.65rem!important;}
    .osk-admin-sidebar__footer{padding:.52rem .65rem!important;}
    .osk-admin-profile-mark{flex-basis:1.9rem!important;width:1.9rem!important;height:1.9rem!important;font-size:.76rem!important;}
}
@media(max-width:60rem){
    .osk-admin-nav-link,.osk-admin-nav-group>summary{min-height:2.75rem;}
    .osk-admin-nav-child{min-height:2.65rem;}
}
/* OSK_MOBILE_UI_LOCAL_R2_BEGIN */
/* Shared responsive correction: mobile navigation must fit the viewport and the approved footer wave must crop, never squash. */
.osk-public-site .site-header,
.osk-public-site .site-header__inner,
.osk-public-site .site-actions[aria-label="Main navigation"],
.osk-shared-footer,
.osk-shared-footer .site-footer__inner,
.osk-shared-footer .osk-footer-grid,
.osk-shared-footer .osk-footer-grid > * {
    min-width: 0;
    max-width: 100%;
}

.osk-shared-footer .osk-footer-wave {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    line-height: 0;
}

.osk-shared-footer .osk-footer-wave img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
}

.osk-shared-footer .osk-footer-grid nav,
.osk-shared-footer .osk-footer-brand,
.osk-shared-footer .osk-footer-meta {
    overflow-wrap: anywhere;
}

@media (max-width: 48rem) {
    .osk-public-site .site-header__inner {
        width: min(calc(100% - 1rem), var(--osk-content-width));
        margin-inline: auto;
        align-items: stretch;
        flex-direction: column;
        gap: .6rem;
    }

    .osk-public-site .site-logo {
        align-self: center;
        max-width: 100%;
    }

    .osk-public-site .site-logo img {
        display: block;
        width: min(10.5rem, 52vw);
        max-width: 100%;
        height: auto;
    }

    .osk-public-site .site-actions[aria-label="Main navigation"] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        gap: .4rem;
        margin: 0;
        padding: 0;
        overflow: visible;
    }

    .osk-public-site .site-actions[aria-label="Main navigation"] > * {
        min-width: 0;
        max-width: 100%;
    }

    .osk-public-site .site-actions[aria-label="Main navigation"] .button,
    .osk-public-site .site-actions[aria-label="Main navigation"] a {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        justify-content: center;
        white-space: normal;
        text-align: center;
        overflow-wrap: anywhere;
    }

    .osk-shared-footer .osk-footer-wave {
        position: relative;
        height: clamp(7rem, 30vw, 11rem);
    }

    .osk-shared-footer .osk-footer-wave img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center bottom;
    }

    .osk-shared-footer .site-footer__inner.osk-footer-grid {
        width: min(calc(100% - 1.5rem), var(--osk-content-width));
        margin-inline: auto;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
        padding-inline: 0;
    }

    .osk-shared-footer .osk-footer-grid > *,
    .osk-shared-footer .osk-footer-meta {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
    }

    .osk-shared-footer .osk-footer-grid nav {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-content: start;
        gap: .3rem;
    }

    .osk-shared-footer .osk-footer-grid nav a,
    .osk-shared-footer .osk-footer-meta a,
    .osk-shared-footer .osk-footer-meta span {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 25rem) {
    .osk-public-site .site-actions[aria-label="Main navigation"] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* OSK_MOBILE_UI_LOCAL_R2_END */
