:root{
    --bg:#edf3f8;
    --bg-accent:#d8e5ef;
    --panel:#ffffff;
    --panel-strong:#f6fafc;
    --line:#d5dee7;
    --line-strong:#aebcca;
    --text:#183247;
    --muted:#61788b;
    --muted-light:#dce6ee;
    --navy:#163b5c;
    --navy-deep:#0f2940;
    --blue:#2d7ef7;
    --teal:#139a90;
    --green:#1f9d62;
    --amber:#c58d12;
    --red:#c85656;
    --shadow:0 20px 60px rgba(16, 40, 61, 0.14);
    --radius-xl:1.75rem;
    --radius-lg:1.1rem;
    --radius-md:0.85rem;
    --locker-size:clamp(5.6rem, 11vw, 7.4rem);
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

html,
body{
    width:100%;
    max-width:100%;
    height:100%;
    margin:0;
    overflow-x:hidden;
}

body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    overflow-y:auto;
    font-family:"Segoe UI","Trebuchet MS",Tahoma,sans-serif;
    color:var(--text);
    background:
        radial-gradient(circle at top right, rgba(45,126,247,0.18), transparent 24rem),
        radial-gradient(circle at bottom left, rgba(19,154,144,0.14), transparent 20rem),
        linear-gradient(180deg, #f6fbff 0%, var(--bg) 58%, var(--bg-accent) 100%);
}

a{
    color:inherit;
    text-decoration:none;
}

button,
input,
select,
textarea{
    font:inherit;
}

button{
    cursor:pointer;
}

.cls-shell{
    width:100%;
    max-width:100%;
    height:100svh;
    min-height:100svh;
    display:grid;
    grid-template-rows:auto minmax(0, 1fr);
    align-content:start;
    gap:1.1rem;
    padding:1rem;
    min-width:0;
    overflow-x:hidden;
}

.cls-header{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);
    align-items:center;
    gap:1rem;
    padding:1rem 1.25rem;
    border-radius:var(--radius-xl);
    background:linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
    box-shadow:var(--shadow);
    color:#fff;
}

.brand{
    display:flex;
    align-items:center;
    gap:1rem;
    min-width:0;
}

.brand-mark{
    width:4.25rem;
    height:4.25rem;
    border-radius:1.25rem;
    background:rgba(255,255,255,0.16);
    display:grid;
    place-items:center;
    padding:0.5rem;
}

.brand-mark img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.brand-copy{
    display:grid;
    gap:0.2rem;
    min-width:0;
}

.brand-line{
    font-size:0.75rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:rgba(255,255,255,0.72);
}

.brand-copy strong{
    font-size:1.2rem;
    line-height:1.2;
}

.primary-nav,
.header-tools{
    display:flex;
    gap:0.7rem;
    flex-wrap:wrap;
    align-items:center;
}

.primary-nav{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%, -50%);
    justify-content:center;
    justify-self:center;
    align-self:center;
    z-index:1;
}

.header-tools{
    position:absolute;
    right:1.25rem;
    top:1rem;
    transform:none;
    justify-self:end;
    align-self:start;
    flex-direction:column;
    justify-content:flex-start;
    align-items:flex-end;
    z-index:1;
}

.header-action-row{
    display:flex;
    justify-content:flex-end;
    gap:0.7rem;
    flex-wrap:nowrap;
}

.location-picker{
    display:inline-flex;
    align-items:center;
    gap:0.5rem;
    width:auto;
    max-width:12rem;
    min-width:9.8rem;
    min-height:2.7rem;
    padding:0.34rem 2rem 0.34rem 0.82rem;
    border:1px solid rgba(255,255,255,0.18);
    border-radius:999px;
    background:rgba(255,255,255,0.08);
    color:#fff;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);
    position:relative;
    overflow:hidden;
    cursor:pointer;
}

.location-picker-current{
    display:block;
    max-width:100%;
    font-size:0.86rem;
    font-weight:800;
    letter-spacing:0.01em;
    text-transform:none;
    color:#fff;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.location-picker::after{
    content:"▼";
    position:absolute;
    right:0.82rem;
    top:50%;
    transform:translateY(-50%);
    font-size:0.72rem;
    color:rgba(255,255,255,0.84);
    pointer-events:none;
}

.location-picker select{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    border-radius:999px;
    padding:0.48rem 2rem 0.48rem 0.72rem;
    background:transparent;
    color:var(--navy-deep);
    font-weight:800;
    outline:none;
    opacity:0;
    cursor:pointer;
}

.primary-tab,
.tool-button,
.nav-item,
.mini-action{
    border:none;
    border-radius:999px;
    transition:transform 150ms ease, box-shadow 150ms ease, background 150ms ease, color 150ms ease;
}

.primary-tab,
.tool-button{
    padding:0.85rem 1.15rem;
    background:rgba(255,255,255,0.12);
    color:#fff;
    font-weight:600;
}

.tool-button{
    padding:0.65rem 0.92rem;
    font-size:0.88rem;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.18);
}

.primary-tab:hover,
.tool-button:hover,
.nav-item:hover,
.mini-action:hover{
    transform:translateY(-1px);
}

.primary-tab.is-active,
.tool-button.is-active{
    background:#fff;
    color:var(--navy-deep);
    box-shadow:0 12px 28px rgba(0,0,0,0.16);
}

.tool-button.is-active{
    background:rgba(255,255,255,0.92);
    box-shadow:0 10px 24px rgba(8, 23, 37, 0.22);
}

.cls-layout{
    width:100%;
    max-width:100%;
    height:100%;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(14%, 18%) minmax(0, 1fr) minmax(16%, 22%);
    gap:1rem;
    align-items:stretch;
    overflow-x:hidden;
    overflow-y:hidden;
    min-width:0;
}

.environment-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:0.75rem 1.1rem;
    border:1px solid rgba(45,126,247,0.18);
    border-radius:999px;
    background:linear-gradient(135deg, rgba(24,50,71,0.08) 0%, rgba(45,126,247,0.16) 100%);
    color:var(--navy-deep);
    box-shadow:0 10px 26px rgba(16, 40, 61, 0.08);
}

.environment-banner strong{
    font-size:0.86rem;
    text-transform:uppercase;
    letter-spacing:0.14em;
}

.environment-banner span{
    color:var(--muted);
    font-size:0.92rem;
}

.left-panel,
.middle-panel,
.right-panel{
    width:100%;
    max-width:100%;
    height:100%;
    min-height:0;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:1rem;
    padding:1.1rem;
    border:1px solid rgba(173, 191, 206, 0.5);
    border-radius:var(--radius-xl);
    background:rgba(255,255,255,0.92);
    box-shadow:var(--shadow);
    overflow:hidden;
}

.cls-shell,
.cls-layout,
.middle-panel,
.panel-content,
.workspace-panel,
.workspace-body,
.topology-wrapper,
.locker-designer-wrapper{
    min-width:0;
    max-width:100%;
    overflow-x:hidden;
    box-sizing:border-box;
}

.left-panel{
    background:linear-gradient(180deg, rgba(255,255,255,0.97) 0%, rgba(245,249,252,0.95) 100%);
}

.middle-panel{
    width:100%;
    min-width:0;
    align-self:stretch;
    overflow-x:hidden;
    overflow-y:hidden;
    max-height:none;
}

.right-panel{
    min-width:260px;
    max-width:340px;
    overflow:hidden;
    align-self:stretch;
    background:linear-gradient(180deg, rgba(249,252,255,0.98) 0%, rgba(240,246,251,0.96) 100%);
}

.panel-head,
.workspace-head,
.right-head{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    align-items:flex-start;
    min-width:0;
}

.panel-head h1,
.workspace-head h2,
.right-head h2{
    margin:0.15rem 0 0;
    line-height:1.1;
    min-width:0;
}

.workspace-copy{
    max-width:22rem;
}

.workspace-head{
    display:none;
}

.workspace-copy p{
    margin:0;
}

.nav-stack,
.workspace-body,
.right-grid{
    min-height:0;
    flex:1 1 auto;
    overflow-y:auto;
    overflow-x:hidden;
}

.workspace-body{
    position:relative;
    width:100%;
    max-width:100%;
    min-width:0;
    max-height:none;
    overflow-y:auto;
    transition:opacity 180ms ease, transform 180ms ease, filter 180ms ease;
}

.panel-content{
    width:100%;
    max-width:100%;
    min-width:0;
}

.workspace-body.is-loading{
    opacity:0.7;
    transform:translateY(3px);
    filter:saturate(0.92);
}

.workspace-body.is-panel-live{
    animation:clsPanelSettle 220ms ease;
}

.nav-stack{
    display:grid;
    gap:0.75rem;
    padding-right:0.2rem;
}

.nav-item{
    width:100%;
    display:grid;
    gap:0.3rem;
    text-align:left;
    padding:0.95rem 1rem;
    background:#eef4f8;
    color:var(--text);
}

.nav-item span{
    color:var(--muted);
    font-size:0.92rem;
    line-height:1.35;
}

.nav-item-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:0.75rem;
}

.nav-badge{
    min-width:1.6rem;
    height:1.6rem;
    padding:0 0.45rem;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg, #f0b12a 0%, #d87b1b 100%);
    color:#fff;
    font-size:0.78rem;
    font-weight:800;
    box-shadow:0 10px 22px rgba(216, 123, 27, 0.28);
}

.nav-item.is-active{
    background:linear-gradient(135deg, var(--blue) 0%, #1e5cc7 100%);
    color:#fff;
    box-shadow:0 12px 30px rgba(45,126,247,0.28);
}

.nav-item.is-active span{
    color:rgba(255,255,255,0.82);
}

.nav-item.is-active .nav-badge{
    background:rgba(255,255,255,0.2);
    color:#fff;
    box-shadow:none;
}

.status-pill{
    padding:0.45rem 0.8rem;
    border-radius:999px;
    background:#dff4ec;
    color:#135d42;
    font-size:clamp(0.72rem, 0.78vw, 0.85rem);
    font-weight:700;
    white-space:nowrap;
    width:auto;
    min-width:max-content;
    flex:0 0 auto;
    line-height:1;
    transition:background 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.right-head{
    min-width:0;
}

.right-head h2{
    min-width:0;
}

.message-lane-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:.75rem;
    margin:.85rem 0 1rem;
}

.message-lane-card{
    display:flex;
    flex-direction:column;
    gap:.35rem;
    padding:.85rem;
    border:1px solid rgba(15,52,82,.14);
    border-radius:1rem;
    background:rgba(255,255,255,.72);
    box-shadow:0 .35rem 1rem rgba(15,52,82,.08);
}

.message-lane-card strong,
.message-lane-card small{
    overflow-wrap:anywhere;
}

.status-pill.is-ready{
    background:#dff4ec;
    color:#135d42;
}

.status-pill.is-warn{
    background:#fff3d9;
    color:#8a5a12;
    box-shadow:0 0 0 1px rgba(230, 193, 58, 0.35);
}

.status-pill.is-error{
    background:#fde7e7;
    color:#8a1f1f;
    box-shadow:0 0 0 1px rgba(215, 77, 77, 0.32);
}

.eyebrow{
    font-size:0.72rem;
    text-transform:uppercase;
    letter-spacing:0.15em;
    color:var(--muted);
}

.muted,
.row-meta,
.small-note,
.panel-placeholder,
.panel-error{
    color:var(--muted);
}

.muted-light{
    color:var(--muted-light);
}

.panel-placeholder,
.panel-error{
    padding:2.5rem 1.25rem;
    text-align:center;
}

.panel-error{
    color:var(--red);
}

.card,
.right-card,
.stat-card{
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    background:var(--panel);
    box-shadow:0 10px 32px rgba(16, 40, 61, 0.07);
    transition:transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, background 220ms ease, opacity 220ms ease;
}

.card{
    padding:1rem;
    overflow:visible;
}

.right-card{
    padding:1rem;
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:normal;
}

.right-card p,
.right-card .muted,
.right-card .row-meta,
.right-card li,
.right-card span{
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
}

.right-skeleton{
    display:grid;
    gap:0.75rem;
}

.right-skeleton span{
    display:block;
    height:0.9rem;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(226,238,247,0.85), rgba(244,248,251,0.95), rgba(226,238,247,0.85));
    background-size:220% 100%;
    animation:clsSkeletonSweep 1.2s ease-in-out infinite;
}

.right-skeleton span:first-child{
    width:72%;
    height:1.3rem;
}

.right-skeleton span:last-child{
    width:54%;
}

.stat-card{
    padding:1rem 1.1rem;
    background:linear-gradient(180deg, #fff 0%, #f4f9fc 100%);
}

.stat-card p,
.stat-card strong,
.stat-card span{
    display:block;
}

.stat-card strong{
    margin-top:0.35rem;
}

.stat-card span{
    margin-top:0.3rem;
}

.label{
    margin:0;
    color:var(--muted);
    font-size:0.82rem;
    text-transform:uppercase;
    letter-spacing:0.08em;
}

.value{
    margin:0.4rem 0 0.25rem;
    font-size:clamp(1.5rem, 3vw, 2.2rem);
    font-weight:800;
    color:var(--navy-deep);
}

.delta{
    margin:0;
    color:var(--muted);
}

.card-grid{
    display:grid;
    gap:1rem;
}

.card-stack{
    display:grid;
    gap:1rem;
    align-content:start;
}

.metric-list{
    display:grid;
    gap:0.8rem;
}

.metric-row{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    align-items:flex-start;
    padding:0.9rem 1rem;
    border:1px solid var(--line);
    border-radius:1rem;
    background:linear-gradient(180deg, #fbfdff 0%, #f3f8fc 100%);
}

.metric-row.is-clickable{
    cursor:pointer;
    border-color:rgba(45,126,247,0.24);
}

.metric-row.is-clickable:hover,
.metric-row.is-clickable:focus-visible{
    transform:translateY(-2px);
    background:linear-gradient(135deg, #ffffff 0%, #edf6ff 100%);
    box-shadow:0 14px 30px rgba(45,126,247,0.14);
    outline:none;
}

.workflow-launcher .metric-value{
    position:relative;
}

.workflow-launcher .metric-value::after{
    content:"Open";
    display:block;
    margin-top:0.2rem;
    font-size:0.68rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--blue);
}

.metric-row strong{
    color:var(--navy-deep);
}

.metric-row p{
    margin:0.25rem 0 0;
}

.metric-value{
    font-size:1.15rem;
    font-weight:800;
    color:var(--navy-deep);
    white-space:nowrap;
}

.workflow-step{
    display:grid;
    gap:0.8rem;
    padding:0.95rem 0;
    border-top:1px solid var(--line);
}

.workflow-step:first-of-type{
    border-top:none;
    padding-top:0;
}

.workflow-step h4{
    margin:0;
    color:var(--navy-deep);
}

.right-metrics-grid{
    grid-template-columns:1fr;
}

.stats-grid{
    grid-template-columns:repeat(auto-fit, minmax(12rem, 1fr));
}

.split-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
}

.half-grid{
    grid-template-columns:repeat(auto-fit, minmax(18rem, 1fr));
}

.section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:1rem;
    margin-bottom:1rem;
    min-width:0;
    max-width:100%;
    flex-wrap:wrap;
}

.bank-stack-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:1rem;
    margin-bottom:0.95rem;
    min-width:0;
    max-width:100%;
    flex-wrap:wrap;
}

.bank-stack-head h3{
    margin:0.1rem 0 0;
}

.bank-head-side{
    display:flex;
    align-items:flex-start;
    justify-content:flex-end;
    gap:0.75rem;
    flex-wrap:wrap;
    min-width:0;
    max-width:100%;
}

.locker-heatmap-key{
    margin:0;
    align-items:center;
    justify-content:flex-end;
}

.locker-heatmap-key .legend-chip{
    padding:0.35rem 0.65rem;
    font-size:0.82rem;
}

.section-head h3{
    margin:0;
}

.section-head p{
    margin:0.2rem 0 0;
}

.subhead{
    margin:1rem 0 0.7rem;
}

.table-wrap{
    overflow:auto;
    border:1px solid var(--line);
    border-radius:1rem;
}

table{
    width:100%;
    border-collapse:collapse;
    min-width:38rem;
}

th,
td{
    padding:0.85rem 0.95rem;
    border-bottom:1px solid var(--line);
    text-align:left;
    vertical-align:top;
}

thead th{
    position:sticky;
    top:0;
    background:#f5f9fc;
    color:var(--muted);
    font-size:0.78rem;
    text-transform:uppercase;
    letter-spacing:0.08em;
    z-index:1;
}

tbody tr:last-child td{
    border-bottom:none;
}

.is-selectable{
    cursor:pointer;
}

.is-selectable:hover,
.is-selectable:focus-visible{
    border-color:rgba(45,126,247,0.36);
}

.is-selectable strong,
.is-selectable .row-meta,
.is-selectable .badge{
    cursor:pointer;
}

.is-selected{
    outline:2px solid rgba(45,126,247,0.7);
    outline-offset:0;
    background:#f1f7ff;
}

.badge{
    display:inline-flex;
    align-items:center;
    gap:0.35rem;
    padding:0.38rem 0.68rem;
    border-radius:999px;
    background:#e8eff5;
    color:var(--text);
    font-size:0.78rem;
    font-weight:700;
    white-space:nowrap;
}

.badge.green{
    background:#def4e8;
    color:#156344;
}

.badge.amber{
    background:#fff2d9;
    color:#8a6000;
}

.badge.red{
    background:#fde4e4;
    color:#8d2d2d;
}

.badge.info{
    background:#e4f0ff;
    color:#1f4f92;
}

.badge.cyan{
    background:#dff8ff;
    color:#0b6475;
}

.badge.orange{
    background:#ffe9d6;
    color:#9a4b00;
}

.badge.violet{
    background:#efe5ff;
    color:#6243a5;
}

.badge.yellow{
    background:#fff8db;
    color:#665000;
}

.badge.magenta{
    background:#ffe7f6;
    color:#8a145d;
}

.badge.gray{
    background:#eef1f4;
    color:#4c5661;
}

.right-actions,
.toolbar-row,
.table-actions{
    display:flex;
    flex-wrap:wrap;
    gap:0.65rem;
    align-items:center;
}

.right-actions{
    width:100%;
    min-width:0;
    align-items:stretch;
}

.right-actions .mini-action{
    max-width:100%;
    min-width:0;
    flex:1 1 100%;
    white-space:normal;
    text-align:center;
    line-height:1.25;
    overflow-wrap:anywhere;
}

.mini-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    max-width:100%;
    padding:0.72rem 1rem;
    background:linear-gradient(135deg, var(--blue) 0%, #235ec2 100%);
    color:#fff;
    font-weight:700;
    box-shadow:0 10px 24px rgba(45,126,247,0.24);
}

.mini-action.secondary{
    background:#edf4f8;
    color:var(--text);
    box-shadow:none;
}

.mini-action.danger{
    background:linear-gradient(135deg, #fff7f7, #fee2e2);
    color:#991b1b;
    box-shadow:none;
    border:1px solid rgba(239,68,68,0.24);
}

.mini-action.danger:hover,
.mini-action.danger:focus-visible{
    background:linear-gradient(135deg, #fee2e2, #fecaca);
    color:#7f1d1d;
    box-shadow:0 10px 20px rgba(185,28,28,0.08);
}

.inline-edit-form{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
    gap:0.75rem;
    width:100%;
    margin-top:0.9rem;
    padding-top:0.9rem;
    border-top:1px solid rgba(19,58,91,0.12);
}

.inline-edit-form textarea{
    min-height:4.5rem;
}

.mini-action.alert-delete-action{
    gap:0.35rem;
    background:#f4f7fa;
    color:#5d6875;
    box-shadow:none;
    border:1px solid rgba(93,104,117,0.14);
}

.mini-action.alert-delete-action:hover,
.mini-action.alert-delete-action:focus-visible{
    background:#fff1f1;
    color:#a93434;
    box-shadow:0 10px 20px rgba(169,52,52,0.08);
}

.has-alert-delete{
    position:relative;
    padding-right:9.25rem;
}

.has-alert-delete .document-meta,
.has-alert-delete .thread-meta,
.has-alert-delete .machine-meta,
.has-alert-delete .profile-meta{
    min-width:0;
    max-width:calc(100% - 7rem);
}

.has-alert-delete > .table-actions{
    margin-left:auto;
    padding-right:7.4rem;
    justify-content:flex-end;
}

.has-alert-delete .alert-delete-action{
    position:absolute;
    top:50%;
    right:1rem;
    transform:translateY(-50%);
    min-width:6.6rem;
    min-height:2.35rem;
    z-index:2;
}

.choice-pill{
    display:inline-flex;
    align-items:center;
    gap:0.45rem;
    padding:0.72rem 0.95rem;
    border:1px solid var(--line-strong);
    border-radius:999px;
    background:#f7fbff;
    color:var(--text);
    font-weight:600;
}

.choice-pill input{
    width:auto;
    margin:0;
    padding:0;
}

.preference-none-row{
    display:flex;
    margin:0.75rem 0 1rem;
}

.form-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(12rem, 1fr));
    gap:0.95rem;
    min-width:0;
    max-width:100%;
}

.compact-grid{
    grid-template-columns:repeat(auto-fit, minmax(9rem, 1fr));
}

.compact-form-grid{
    grid-template-columns:repeat(auto-fit, minmax(10rem, 1fr));
}

.settings-vertical-form{
    max-width:min(100%, 32rem);
}

.settings-question-list{
    grid-template-columns:1fr;
    justify-items:stretch;
}

.settings-question-list .settings-name-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0.95rem;
}

.parts-workspace{
    align-content:start;
}

.parts-editor-card{
    overflow:visible;
}

.parts-form-grid{
    grid-template-columns:repeat(auto-fit, minmax(11.5rem, 1fr));
    align-items:start;
}

.parts-notes-field{
    grid-column:1 / -1;
}

.parts-workspace .table-wrap{
    overflow-x:auto;
}

.adaptive-kiosk-layout{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:1.15rem;
    align-items:start;
    width:min(100%, 78rem);
    margin-inline:auto;
}

.adaptive-flow,
.workflow-path{
    display:grid;
    gap:1rem;
    min-width:0;
}

.workflow-path{
    animation:clsPanelSettle 180ms ease;
}

.workflow-swap{
    animation:kioskWorkflowSwap 240ms ease;
}

.workflow-step-card{
    scroll-margin-top:1rem;
    padding:clamp(1rem, 2vw, 1.35rem);
    border:1px solid rgba(173, 191, 206, 0.5);
    border-radius:1.25rem;
    background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,250,253,0.96));
    box-shadow:0 12px 34px rgba(16, 40, 61, 0.08);
}

.adaptive-flow > [data-step],
.workflow-path > [data-step]{
    display:none !important;
}

.adaptive-flow > [data-step].is-active,
.workflow-path > [data-step].is-active{
    display:grid !important;
    gap:1rem;
    min-height:min(62vh, 42rem);
    align-content:start;
    animation:kioskWorkflowSwap 220ms ease;
}

.workflow-step-card.is-active h2{
    font-size:clamp(2rem, 4vw, 3.35rem);
    line-height:1;
}

.service-toggle-grid .kiosk-choice{
    min-height:9rem;
    text-align:left;
    border-radius:1.35rem;
    font-size:1.08rem;
}

.kiosk-progress-strip{
    position:sticky;
    top:0.75rem;
    z-index:3;
    display:grid;
    grid-template-columns:repeat(7, minmax(0, 1fr));
    gap:0.35rem;
    padding:0.55rem;
    border:1px solid rgba(173, 191, 206, 0.45);
    border-radius:999px;
    background:rgba(255,255,255,0.92);
    box-shadow:0 10px 28px rgba(16,40,61,0.1);
    backdrop-filter:blur(12px);
}

.kiosk-progress-strip span{
    min-height:2.25rem;
    display:grid;
    place-items:center;
    border-radius:999px;
    color:#62758a;
    font-size:0.82rem;
    font-weight:800;
}

.kiosk-progress-strip span.is-active{
    background:#2d7ef7;
    color:#fff;
}

.kiosk-bottom-progress{
    position:sticky;
    bottom:1rem;
    z-index:6;
    width:min(96vw, 70rem);
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:0.45rem;
    margin:0 auto 1rem;
    padding:0.55rem;
    border:1px solid rgba(173, 191, 206, 0.48);
    border-radius:999px;
    background:rgba(255,255,255,0.94);
    box-shadow:0 18px 42px rgba(16,40,61,0.18);
    backdrop-filter:blur(16px);
}

.kiosk-progress-meter{
    grid-column:1 / -1;
    position:relative;
    min-height:1.75rem;
    overflow:hidden;
    border-radius:999px;
    background:#dfeaf2;
}

.kiosk-progress-meter span{
    position:absolute;
    inset:0 auto 0 0;
    width:0%;
    border-radius:inherit;
    background:linear-gradient(90deg, #2d7ef7, #4dd7d0);
    transition:width 220ms ease;
}

.kiosk-progress-meter strong{
    position:relative;
    z-index:1;
    display:grid;
    place-items:center;
    min-height:1.75rem;
    color:#0d2c48;
    font-size:0.85rem;
}

.kiosk-bottom-progress button{
    min-height:3rem;
    border:0;
    border-radius:999px;
    background:#edf4f8;
    color:#12304a;
    font-weight:900;
    cursor:pointer;
}

.kiosk-bottom-progress button.is-active{
    background:#2d7ef7;
    color:#fff;
}

.kiosk-bottom-progress button.is-complete{
    background:#ddf6e8;
    color:#0d6b42;
}

.kiosk-bottom-progress button.is-active,
.kiosk-bottom-progress button.is-active.is-complete{
    background:#2d7ef7;
    color:#fff;
}

.kiosk-wizard-controls{
    position:sticky;
    bottom:6.2rem;
    z-index:7;
    display:flex;
    justify-content:flex-end;
    gap:0.9rem;
    padding:0.9rem;
    border:1px solid rgba(173, 191, 206, 0.48);
    border-radius:1.25rem;
    background:rgba(255,255,255,0.95);
    box-shadow:0 18px 42px rgba(16,40,61,0.16);
    backdrop-filter:blur(16px);
}

.kiosk-wizard-controls .mini-action{
    min-height:3.65rem;
    min-width:10rem;
    justify-content:center;
    font-size:1.05rem;
}

.kiosk-wizard-controls [hidden]{
    display:none !important;
}

.kiosk-wizard-controls .is-wizard-hidden{
    display:none !important;
}

.compact-policy-card{
    gap:0.85rem;
}

.customer-responsibilities-box{
    display:grid;
    gap:0.55rem;
    padding:1rem;
    border:1px solid rgba(20,112,184,0.22);
    border-radius:1.1rem;
    background:linear-gradient(180deg, #f4fbff, #ffffff);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,0.74);
}

.customer-responsibilities-box h4,
.customer-responsibilities-box p{
    margin:0;
}

.policy-link-note a,
.kiosk-agreement-check a{
    color:#1d6fd6;
    font-weight:900;
}

.agreement-divider{
    width:100%;
    border:0;
    border-top:1px solid rgba(116, 142, 166, 0.3);
    margin:0.25rem 0 0;
}

.important-policy-list,
.transactional-message-summary ul{
    display:grid;
    gap:0.65rem;
    margin:0;
    padding-left:1.25rem;
    color:#29445c;
    line-height:1.45;
}

.important-policy-list > li,
.transactional-message-summary li{
    padding-left:0.1rem;
}

.important-policy-list ul{
    display:grid;
    gap:0.28rem;
    margin:0.45rem 0 0;
    padding-left:1.15rem;
}

.compact-policy-card > h3{
    margin:0;
}

.compact-policy-card > p,
.transactional-message-summary p{
    margin:0;
}

.kiosk-agreement-check{
    align-items:flex-start;
    padding:1rem;
    border:1px solid rgba(45,126,247,0.26);
    border-radius:1rem;
    background:#f7fbff;
    font-size:1.04rem;
    line-height:1.45;
}

.kiosk-agreement-check input{
    width:1.35rem;
    height:1.35rem;
    margin-top:0.2rem;
    flex:0 0 auto;
}

.kiosk-review-grid dd{
    font-size:1.02rem;
}

@media (max-width: 760px){
    .kiosk-bottom-progress{
        grid-template-columns:repeat(3, minmax(0, 1fr));
        border-radius:1.25rem;
    }

    .kiosk-wizard-controls{
        bottom:9rem;
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .kiosk-wizard-controls .mini-action{
        width:100%;
        min-width:0;
    }

    .kiosk-wizard-controls [data-wizard-submit]{
        grid-column:1 / -1;
    }
}

.locker-bank-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(12rem, 1fr));
    gap:0.85rem;
}

.locker-bank-card,
.loading-card{
    display:grid;
    gap:0.4rem;
    width:100%;
    padding:1rem;
    border:1px solid var(--line);
    border-radius:1.1rem;
    background:linear-gradient(180deg, #fff 0%, #f4f9fc 100%);
    color:var(--text);
    text-align:left;
    box-shadow:0 10px 24px rgba(16,40,61,0.07);
}

.locker-bank-card strong{
    color:var(--navy-deep);
    font-size:1.04rem;
}

.locker-bank-card small{
    color:var(--muted);
    text-transform:capitalize;
}

.locker-bank-card em{
    color:var(--muted);
    font-style:normal;
    font-size:0.88rem;
}

.locker-bank-card.is-selected{
    border-color:rgba(45,126,247,0.65);
    background:linear-gradient(135deg, rgba(45,126,247,0.14), rgba(255,255,255,0.96));
    box-shadow:0 14px 30px rgba(45,126,247,0.16);
}

.locker-bank-card.status-full,
.locker-bank-card.status-offline{
    opacity:0.58;
}

.adaptive-locker-grid .locker-cell{
    min-height:5.9rem;
}

.adaptive-locker-grid .locker-cell small{
    display:block;
    margin-top:0.25rem;
    color:var(--muted);
    font-size:0.78rem;
}

.kiosk-bank-list{
    display:grid;
    gap:1rem;
}

.kiosk-bank-card.status-full,
.kiosk-bank-card.status-offline{
    opacity:0.72;
}

.kiosk-context-panel{
    position:sticky;
    top:1rem;
    display:grid;
    gap:0.85rem;
    padding:1rem;
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(240,246,251,0.96));
    box-shadow:var(--shadow);
}

.kiosk-context-panel h2{
    margin:0;
    color:var(--navy-deep);
}

.kiosk-context-panel p{
    margin:0;
    color:var(--muted);
}

.review-panel{
    padding:1rem;
    border:1px solid var(--line);
    border-radius:1rem;
    background:#f7fbfe;
}

.terms-list{
    margin:0;
    padding-left:1.2rem;
    color:var(--muted);
}

.form-grid label,
.inline-field{
    display:grid;
    gap:0.4rem;
    color:var(--muted);
    font-size:0.92rem;
    min-width:0;
}

input,
select,
textarea{
    width:100%;
    padding:0.8rem 0.9rem;
    border:1px solid var(--line-strong);
    border-radius:0.9rem;
    background:#fbfdff;
    color:var(--text);
}

input:focus,
select:focus,
textarea:focus{
    outline:2px solid rgba(45,126,247,0.2);
    border-color:var(--blue);
}

.check-grid{
    display:grid;
    gap:0.9rem;
}

.check-item{
    display:flex;
    align-items:center;
    gap:0.7rem;
    color:var(--text);
}

.check-item input[type="checkbox"]{
    width:auto;
}

.panel-context-marker{
    display:none;
}

.thread-list,
.document-list,
.control-list,
.machine-list,
.profile-list,
.music-source-list,
.export-list,
.chart-stack,
.right-grid{
    display:grid;
    gap:0.8rem;
}

.archive-workspace{
    display:grid;
    grid-template-columns:minmax(24%, 32%) minmax(0, 1fr);
    gap:1rem;
    align-items:start;
}

.archive-tree-panel{
    position:sticky;
    top:0.75rem;
    max-height:calc(100vh - 9rem);
    overflow:auto;
    padding:1rem;
    border:1px solid var(--line);
    border-radius:1.1rem;
    background:var(--panel-strong);
}

.archive-tree-node{
    margin:0.25rem 0;
}

.archive-tree-node summary,
.archive-tree-filter{
    width:100%;
    padding:0.42rem 0.25rem;
    border:0;
    background:transparent;
    color:var(--text);
    text-align:left;
    cursor:pointer;
}

.archive-tree-node summary:hover,
.archive-tree-filter:hover{
    color:var(--blue);
}

.archive-main-panel,
.archive-alert-table{
    display:grid;
    gap:0.85rem;
    min-width:0;
}

.archive-filter-bar,
.archive-quick-filters{
    display:flex;
    flex-wrap:wrap;
    gap:0.65rem;
    align-items:center;
}

.archive-filter-bar input,
.archive-filter-bar select{
    width:auto;
    min-width:10rem;
}

.archive-filter-bar [data-archive-search]{
    flex:1 1 22rem;
}

.archive-alert-row{
    display:grid;
    gap:0.8rem;
    padding:1rem;
    border:1px solid var(--line);
    border-radius:1rem;
    background:var(--panel-strong);
}

.archive-alert-row > .table-actions{
    justify-content:flex-start;
}

.archive-meta-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
    gap:0.6rem;
    margin:0;
}

.archive-meta-grid div{
    padding:0.65rem;
    border-radius:0.75rem;
    background:#f5f8fb;
}

.archive-meta-grid dt{
    font-size:0.72rem;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:0.06em;
}

.archive-meta-grid dd{
    margin:0.2rem 0 0;
}

.archive-log-block{
    max-height:18rem;
    overflow:auto;
    padding:0.85rem;
    border-radius:0.85rem;
    background:#101820;
    color:#d9e7f1;
    white-space:pre-wrap;
}

.cls-modal-overlay{
    position:fixed;
    inset:0;
    z-index:1000;
    display:grid;
    place-items:center;
    padding:1rem;
    background:rgba(12,24,38,0.42);
}

.cls-modal{
    width:min(460px, 100%);
    display:grid;
    gap:1rem;
    padding:1.25rem;
    border-radius:1.2rem;
    background:#fff;
    box-shadow:0 24px 70px rgba(0,0,0,0.22);
}

.cls-modal h3,
.cls-modal p{
    margin:0;
}

.thread-row,
.document-row,
.control-row,
.machine-row,
.profile-row,
.music-source,
.export-row,
.right-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:0.9rem;
    min-width:0;
    max-width:100%;
    padding:0.9rem 1rem;
    border:1px solid var(--line);
    border-radius:1rem;
    background:var(--panel-strong);
    transition:transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, background 220ms ease, opacity 220ms ease;
}

.cls-live-node{
    animation:clsNodeSettle 260ms ease;
    animation-delay:var(--cls-stagger, 0ms);
}

.thread-row.is-severity-warning,
.document-row.is-severity-warning,
.control-row.is-severity-warning,
.machine-row.is-severity-warning,
.profile-row.is-severity-warning{
    border-color:rgba(230, 193, 58, 0.45);
    box-shadow:0 8px 22px rgba(230, 193, 58, 0.08);
}

.thread-row.is-severity-critical,
.document-row.is-severity-critical,
.control-row.is-severity-critical,
.machine-row.is-severity-critical,
.profile-row.is-severity-critical{
    border-color:rgba(215, 77, 77, 0.48);
    box-shadow:0 10px 26px rgba(215, 77, 77, 0.1);
}

.control-row.is-employee-alert-fresh,
.document-row.is-employee-alert-fresh{
    animation:clsUrgencyPulse 1.8s ease-in-out infinite;
}

.control-row.has-alert-delete,
.control-row.has-alert-delete.is-severity-warning,
.control-row.has-alert-delete.is-severity-critical{
    border-color:var(--line);
    background:var(--panel-strong);
    box-shadow:none;
}

.document-meta,
.thread-meta,
.machine-meta,
.profile-meta,
.export-meta{
    display:grid;
    gap:0.22rem;
    min-width:0;
    max-width:100%;
}

.document-meta strong,
.thread-meta strong,
.machine-meta strong,
.profile-meta strong,
.export-meta strong{
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
}

.right-row{
    min-width:0;
    max-width:100%;
    flex-wrap:wrap;
}

.right-row strong,
.right-row span{
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
}

.compact-workspace-card{
    padding:1rem 1.1rem;
}

.workspace-section-stack{
    display:grid;
    gap:0.85rem;
}

.workspace-disclosure{
    border:1px solid var(--line);
    border-radius:1rem;
    background:var(--panel-strong);
    overflow:hidden;
}

.workspace-disclosure > summary{
    list-style:none;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    padding:0.9rem 1rem;
    cursor:pointer;
    font-weight:800;
    color:var(--navy-deep);
}

.workspace-disclosure > summary::-webkit-details-marker{
    display:none;
}

.workspace-disclosure > summary::before{
    content:"▸";
    margin-right:0.55rem;
    color:var(--muted);
}

.workspace-disclosure[open] > summary::before{
    content:"▾";
}

.workspace-disclosure-meta{
    margin-left:auto;
    font-size:0.82rem;
    color:var(--muted);
    font-weight:700;
}

.workspace-disclosure-body{
    display:grid;
    gap:0.75rem;
    padding:0 1rem 1rem;
}

.workspace-search-wrap{
    display:block;
}

.workspace-search{
    width:100%;
    min-width:0;
    border:1px solid var(--line);
    border-radius:0.9rem;
    background:#f7fbfd;
    color:var(--text);
    padding:0.72rem 0.95rem;
    font:inherit;
}

.workspace-search:focus{
    outline:none;
    border-color:#5f9bea;
    box-shadow:0 0 0 3px rgba(95, 155, 234, 0.14);
}

.integration-disclosure .control-list{
    gap:0.6rem;
}

.integration-runtime-row{
    padding:0.75rem 0.9rem;
}

.integration-runtime-row .document-meta{
    display:grid;
    gap:0.32rem;
    min-width:0;
}

.integration-runtime-row .row-meta{
    display:block;
}

.integration-runtime-row .table-actions{
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:0.45rem;
}

.integration-runtime-entry{
    display:grid;
    gap:0.65rem;
}

.integration-config-shell{
    border:1px solid rgba(95,155,234,0.24);
    border-radius:1rem;
    background:#f7fbfd;
    padding:0.95rem 1rem 1rem;
}

.integration-config-form{
    display:grid;
    gap:0.8rem;
}

.integration-config-title-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:0.75rem;
}

.integration-config-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0.8rem;
}

.integration-config-grid label{
    display:grid;
    gap:0.45rem;
    min-width:0;
}

.integration-saved-mask{
    display:block;
    margin-top:0.4rem;
    font-size:0.9rem;
    color:#5b7088;
    line-height:1.25;
}

.integration-status-line{
    display:block;
    margin-top:0.4rem;
    margin-bottom:0.45rem;
    font-size:0.9rem;
    color:#5b7088;
    line-height:1.25;
}

.integration-span-full{
    grid-column:1 / -1;
}

.segmented-inline{
    display:flex;
    flex-wrap:wrap;
    gap:0.9rem;
    padding-top:0.25rem;
}

.segmented-inline label{
    display:inline-flex;
    align-items:center;
    gap:0.35rem;
}

.integration-toggle-row{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:0.75rem;
}

.integration-inline-actions{
    display:flex;
    flex-wrap:wrap;
    gap:0.65rem;
    align-items:center;
}

.integration-config-form [data-cls-integration-status]{
    margin:0;
    min-height:1.1rem;
}

.integration-config-form [data-cls-integration-status].is-error{
    color:#bf3f3f;
}

.integration-config-form [data-cls-integration-status].is-ready{
    color:#1f7b58;
}

.integration-config-form [data-cls-integration-status].is-warning{
    color:#8f6500;
}

.editable-schedule-list{
    display:grid;
    gap:0.85rem;
}

.editable-schedule-row{
    padding:0.95rem 1rem;
    border:1px solid var(--line);
    border-radius:1rem;
    background:var(--panel-strong);
}

.editable-schedule-row-create{
    border-style:dashed;
    background:linear-gradient(180deg, #fbfdff 0%, #f4f9fc 100%);
}

.editable-schedule-row form{
    display:grid;
    gap:0.8rem;
}

.editable-schedule-note{
    margin:0;
    padding:0.15rem 0.1rem 0;
}

.mini-action.ghost{
    background:#edf4f8;
    color:var(--text);
    box-shadow:none;
}

@media (max-width: 960px){
    .integration-config-grid{
        grid-template-columns:minmax(0,1fr);
    }
}

.workspace-empty{
    margin:0;
    padding:0.2rem 0;
}

.right-row strong,
.document-meta strong,
.thread-meta strong,
.machine-meta strong,
.profile-meta strong,
.export-meta strong{
    color:var(--navy-deep);
}

.right-list{
    margin:0;
    padding-left:1.1rem;
    display:grid;
    gap:0.45rem;
}

.bar-row{
    display:grid;
    gap:0.5rem;
}

.bar-label{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    color:var(--muted);
}

.bar-track{
    width:100%;
    height:0.78rem;
    border-radius:999px;
    background:#e7eff5;
    overflow:hidden;
}

.bar-fill{
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg, var(--teal) 0%, var(--blue) 100%);
}

.legend-row{
    display:flex;
    gap:0.75rem;
    flex-wrap:wrap;
    margin-bottom:1rem;
}

.bank-job-list{
    display:grid;
    gap:0.7rem;
}

.bank-job{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:0.75rem;
    padding:0.8rem 0.95rem;
    border:1px solid var(--line);
    border-radius:0.95rem;
    background:#f8fbfd;
}

.bank-job-main{
    display:grid;
    gap:0.2rem;
    min-width:0;
}

.bank-job-copy{
    display:grid;
    gap:0.16rem;
    min-width:0;
}

.bank-job-order{
    font-weight:700;
    color:var(--navy-deep);
}

.bank-job-signals{
    display:flex;
    flex-wrap:wrap;
    gap:0.45rem;
    justify-content:flex-end;
}

.bank-job strong{
    min-width:3.5rem;
    color:var(--navy-deep);
}

.bank-job span{
    color:var(--muted);
}

.timer-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:3rem;
    padding:0.35rem 0.65rem;
    border-radius:999px;
    background:#eef4f8;
    color:var(--navy-deep);
    font-size:0.8rem;
    font-weight:700;
    transition:background 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.timer-badge.is-aging{
    background:#f3efe0;
}

.timer-badge.is-warning{
    background:#fff1cc;
    color:#8a5a12;
}

.timer-badge.is-critical{
    background:#fde7e7;
    color:#8a1f1f;
    box-shadow:0 0 0 1px rgba(215, 77, 77, 0.28);
    animation:clsUrgencyPulse 2.6s ease-in-out infinite;
}

.cls-context-menu{
    position:fixed;
    z-index:90;
    display:grid;
    gap:0.3rem;
    min-width:14rem;
    padding:0.55rem;
    border:1px solid var(--line-strong);
    border-radius:1rem;
    background:rgba(255,255,255,0.98);
    box-shadow:0 18px 34px rgba(16, 40, 61, 0.22);
    backdrop-filter:blur(10px);
}

.cls-context-menu-head{
    padding:0.45rem 0.55rem 0.3rem;
    color:var(--muted);
    font-size:0.78rem;
    text-transform:uppercase;
    letter-spacing:0.08em;
}

.cls-context-menu-item{
    border:none;
    text-align:left;
    padding:0.72rem 0.8rem;
    border-radius:0.85rem;
    background:#f3f8fc;
    color:var(--navy-deep);
    font-weight:700;
}

.cls-context-menu-item:hover{
    background:#e3eef8;
}

.bank-job-available{background:#eefaf2;}
.bank-job-occupied{background:#e8f0ff;}
.bank-job-processing{background:#fff0de;}
.bank-job-awaiting_payment{background:#fff0de;}
.bank-job-specialty_review{background:#f2e7ff;}
.bank-job-ready_for_pickup{background:#deebff;}
.bank-job-maintenance{background:#fdecec;}
.bank-job-out_of_service{background:#fdecec;}

.legend-chip{
    display:inline-flex;
    align-items:center;
    gap:0.45rem;
    padding:0.45rem 0.8rem;
    border-radius:999px;
    background:#edf4f8;
}

.dot{
    width:0.72rem;
    height:0.72rem;
    border-radius:50%;
    display:inline-block;
}

.dot.available{background:var(--green);}
.dot.occupied{background:#4d89e8;}
.dot.processing{background:#5d91df;}
.dot.awaiting_payment{background:#e69745;}
.dot.specialty{background:#9a72d8;}
.dot.progress{background:#e69745;}
.dot.ready{background:#4f87e8;}
.dot.issue{background:var(--red);}

.locker-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(88px, 1fr));
    gap:14px;
    justify-content:center;
    width:100%;
    max-width:100%;
    min-width:0;
}

.kiosk-bank-locker-grid{
    grid-template-columns:repeat(var(--locker-columns, 6), minmax(6.75rem, 8.75rem));
    grid-auto-rows:minmax(7rem, auto);
    justify-content:start;
    align-items:stretch;
    gap:14px;
    width:max-content;
    max-width:100%;
    overflow-x:auto;
    padding-bottom:0.25rem;
}

.kiosk-bank-locker-grid .locker-cell{
    width:100%;
    max-width:none;
    min-height:7rem;
    aspect-ratio:auto;
}

.kiosk-bank-locker-grid .locker-cell.is-locked{
    background:#edf1f5;
    border-color:#b9c5d0;
    color:#647587;
    box-shadow:none;
    filter:grayscale(0.35);
    opacity:0.86;
}

.kiosk-bank-locker-grid .locker-cell.is-locked strong{
    display:flex;
    align-items:center;
    gap:0.35rem;
}

.kiosk-bank-locker-grid .locker-cell.is-locked .locker-lock{
    font-size:0.95em;
    line-height:1;
}

.locker-operations-grid{
    grid-template-columns:repeat(var(--locker-columns, 3), minmax(0, 1fr));
    gap:14px;
    justify-content:start;
    width:100%;
    min-width:0;
    max-width:100%;
}

.locker-grid-shell{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:0.35rem;
    box-sizing:border-box;
}

.balanced-grid{
    grid-template-columns:repeat(var(--locker-columns, 3), minmax(88px, 1fr));
    justify-content:start;
    width:max-content;
    min-width:100%;
    max-width:none;
}

.designer-live-preview{
    overflow-x:auto;
    overflow-y:hidden;
}

.designer-live-preview .designer-grid{
    grid-template-columns:repeat(var(--locker-columns, 3), minmax(clamp(112px, 8vw, 120px), clamp(112px, 8vw, 120px)));
    justify-content:start;
    align-content:start;
    justify-items:stretch;
    width:max-content;
    min-width:0;
    max-width:none;
    margin-right:auto;
}

.designer-live-preview .designer-grid .locker-cell{
    max-width:none;
}

.bank-stack-card .locker-grid-shell{
    overflow:hidden;
}

.bank-stack-card .locker-operations-grid{
    width:100%;
    min-width:0;
    max-width:100%;
    grid-template-columns:repeat(var(--locker-columns, 3), minmax(0, 1fr));
    grid-auto-rows:clamp(104px, 11vw, 148px);
    justify-content:start;
    align-content:start;
    justify-items:stretch;
    margin-right:auto;
}

.bank-stack-card .locker-operations-grid .locker-cell{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:100% !important;
    min-height:0 !important;
    aspect-ratio:auto;
}

.locker-cell{
    appearance:none;
    aspect-ratio:1 / 1;
    display:grid;
    align-content:space-between;
    justify-items:start;
    text-align:left;
    gap:0.2rem;
    padding:0.7rem;
    border:1px solid var(--line);
    border-radius:1rem;
    background:#f7fbfd;
    color:var(--text);
    width:100%;
    max-width:120px;
    min-width:0;
    transition:transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, background 220ms ease, filter 220ms ease;
}

.locker-cell.available{
    background:#e4f8eb;
    border-color:#8ed3ac;
}

.locker-cell.occupied{
    background:#e8f0ff;
    border-color:#4d89e8;
    box-shadow:inset 0 0 0 1px rgba(77,137,232,.28);
}

.locker-cell.awaiting_weight{
    background:#fff8db;
    border-color:#e6c75f;
}

.locker-cell.awaiting_customer_preauthorization{
    background:#fff0de;
    border-color:#e69745;
}

.locker-cell.processing{
    background:#dff8fb;
    border-color:#4dbfd0;
}

.locker-cell.awaiting_payment{
    background:#fff2cf;
    border-color:#d89a1f;
}

.locker-cell.ready_for_pickup{
    background:#f2e7ff;
    border-color:#9a72d8;
}

.locker-cell.pickup_active{
    background:#ffe7f6;
    border-color:#d84fa3;
    animation:clsPickupPulse 1.1s ease-in-out infinite alternate;
}

.locker-cell.completed{
    background:#eef1f4;
    border-color:#9aa7b3;
}

.locker-cell.released{
    background:#e4f8eb;
    border-color:#8ed3ac;
}

.locker-cell.out_of_service{
    background:#f3d0d0;
    border-color:#8f1d1d;
}

.locker-cell.maintenance{
    background:#fde6e6;
    border-color:#e26969;
}

.locker-cell.disabled{
    background:#ebeff3;
    border-color:#bbc5cf;
}

.locker-cell.is-toggleable{
    cursor:pointer;
}

.locker-cell.is-locked,
.locker-cell:disabled{
    cursor:not-allowed;
    opacity:0.72;
}

.locker-cell.is-picked{
    outline:3px solid rgba(45,126,247,0.65);
    transform:translateY(-1px);
}

.owner-orders-card,
.employee-orders-card{
    display:flex;
    flex-direction:column;
    min-height:min(64vh, 44rem);
    height:100%;
    max-height:none;
}

.workspace-body > .card-stack:has(.owner-orders-card),
.workspace-body > .card-stack:has(.employee-orders-card){
    min-height:100%;
}

.dense-logistics-shell{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    border:1px solid var(--line);
    border-radius:1rem;
    background:rgba(255,255,255,0.94);
}

.dense-logistics-shell .table-wrap{
    margin:0;
    border:0;
    border-radius:0;
    overflow:visible;
}

.dense-logistics-shell table{
    width:100%;
    table-layout:fixed;
    border-collapse:separate;
    border-spacing:0;
}

.dense-logistics-shell th{
    position:sticky;
    top:0;
    z-index:2;
    background:#eef5fb;
}

.dense-logistics-shell th,
.dense-logistics-shell td{
    padding:0.55rem 0.65rem;
    vertical-align:top;
    white-space:normal;
    overflow:visible;
    overflow-wrap:anywhere;
    text-overflow:clip;
}

.dense-logistics-shell tr{
    height:auto;
}

.order-logistics-list{
    display:flex;
    flex-direction:column;
    gap:0.6rem;
    padding:0.6rem;
}

.order-logistics-row{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:0.62rem;
    align-items:start;
    padding:0.72rem;
    border:1px solid var(--line);
    border-radius:0.9rem;
    background:#f8fbfd;
    transition:border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.order-logistics-row:hover,
.order-logistics-row.is-selected{
    border-color:rgba(45,126,247,0.55);
    box-shadow:0 12px 26px rgba(45,126,247,0.12);
}

.order-logistics-row > div{
    min-width:0;
}

.order-logistics-row strong,
.order-logistics-row .row-meta{
    display:block;
    min-width:0;
    white-space:normal;
    overflow-wrap:anywhere;
}

.order-logistics-row strong{
    font-size:clamp(0.92rem, 1.15vw, 1.08rem);
    line-height:1.22;
}

.order-logistics-row .badge{
    max-width:100%;
    white-space:normal;
    line-height:1.1;
}

.employee-queue-list{
    display:grid;
    gap:0.62rem;
    min-width:0;
    flex:1 1 auto;
    max-height:none;
    overflow-x:hidden;
    overflow-y:auto;
    padding-right:0.25rem;
}

.queue-grid-row{
    display:grid;
    grid-template-columns:minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, 1.05fr) minmax(0, 0.82fr) minmax(0, 1fr) max-content;
    gap:0.45rem;
    align-items:center;
    min-width:0;
    padding:0.64rem;
    border:1px solid var(--line);
    border-radius:0.95rem;
    background:#f8fbfd;
}

.queue-grid-row > div{
    min-width:0;
}

.queue-grid-row strong,
.queue-grid-row .row-meta{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
}

.queue-grid-row strong{
    font-size:clamp(0.92rem, 1.25vw, 1.08rem);
    line-height:1.18;
    overflow:visible;
    overflow-wrap:anywhere;
    text-overflow:clip;
    white-space:normal;
}

.queue-grid-row .row-meta{
    font-size:0.78rem;
    white-space:normal;
    overflow-wrap:anywhere;
}

.queue-label{
    display:block;
    margin-bottom:0.22rem;
    color:#647d96;
    font-size:0.68rem;
    font-weight:800;
    letter-spacing:0.1em;
    text-transform:uppercase;
}

.queue-grid-row .table-actions{
    justify-content:flex-end;
}

.queue-grid-row .badge{
    max-width:100%;
    padding-inline:0.62rem;
    white-space:normal;
}

.locker-cell.is-pickup-pulse{
    animation:clsPickupPulse 3.2s ease-in-out infinite;
}

.locker-cell.is-congestion-hot{
    box-shadow:inset 0 0 0 1px rgba(230, 151, 69, 0.15), 0 8px 18px rgba(230, 151, 69, 0.08);
}

.locker-cell.is-overdue-locker{
    transform:translateY(-1px);
    box-shadow:0 12px 24px rgba(215, 77, 77, 0.12);
}

.locker-runtime-cell{
    min-height:clamp(6.2rem, 7vw, 8rem);
    max-width:none;
    min-width:0;
    overflow:hidden;
    box-shadow:0 10px 22px rgba(27, 78, 109, 0.08);
}

.locker-runtime-cell strong{
    font-size:1.08rem;
    font-weight:800;
    line-height:1;
}

.locker-runtime-order{
    display:block;
    max-width:100%;
    font-size:0.8rem;
    font-weight:700;
    line-height:1.1;
    color:var(--navy-deep);
    min-height:0.9rem;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.locker-runtime-copy{
    max-width:100%;
    font-size:0.72rem;
    line-height:1.2;
    color:#35566f;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    overflow-wrap:anywhere;
    min-height:1.7rem;
}

.locker-runtime-copy.is-empty,
.locker-cell.available .locker-runtime-copy{
    display:none;
    min-height:0;
}

.locker-runtime-signals{
    width:100%;
    min-width:0;
    max-width:100%;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:0.35rem;
    flex-wrap:wrap;
}

.locker-runtime-alert{
    display:inline-flex;
    align-items:center;
    justify-content:flex-end;
    gap:0.2rem;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.employee-dashboard-lockers{
    min-height:0;
}

.employee-locker-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(8.75rem, 1fr));
    gap:0.75rem;
    max-height:clamp(18rem, 38vh, 32rem);
    overflow:auto;
    padding:0.2rem;
    align-items:stretch;
}

.employee-locker-tile{
    min-width:0;
    max-width:100%;
    overflow:hidden;
    min-height:7rem;
    display:grid;
    align-content:start;
    gap:0.38rem;
    padding:0.78rem;
    border:1px solid rgba(126,155,181,0.32);
    border-radius:1rem;
    background:linear-gradient(180deg, #f8fbfd 0%, #edf5f9 100%);
    color:var(--navy-deep);
    text-align:left;
    box-shadow:0 8px 18px rgba(16,40,61,0.06);
    transition:transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.employee-locker-tile:hover,
.employee-locker-tile:focus-visible{
    transform:translateY(-2px);
    box-shadow:0 16px 30px rgba(45,126,247,0.13);
    outline:none;
}

.employee-locker-tile.available{
    background:linear-gradient(180deg, #e9f9ef 0%, #dff5e8 100%);
    border-color:#81d7a7;
}

.employee-locker-tile.occupied,
.employee-locker-tile.processing{
    background:linear-gradient(180deg, #eef6ff 0%, #dceeff 100%);
    border-color:#8fc4f4;
}

.employee-locker-tile.awaiting_weight{
    background:linear-gradient(180deg, #fffbe8 0%, #fff2bf 100%);
    border-color:#e6c75f;
}

.employee-locker-tile.awaiting_customer_preauthorization{
    background:linear-gradient(180deg, #fff4e7 0%, #ffe4c1 100%);
    border-color:#e69745;
}

.employee-locker-tile.processing{
    background:linear-gradient(180deg, #ecfbfd 0%, #d7f4f8 100%);
    border-color:#4dbfd0;
}

.employee-locker-tile.awaiting_payment{
    background:linear-gradient(180deg, #fff7e5 0%, #ffedc4 100%);
    border-color:#f3c36b;
}

.employee-locker-tile.ready_for_pickup{
    background:linear-gradient(180deg, #f4edff 0%, #eadbff 100%);
    border-color:#bfa4f3;
}

.employee-locker-tile.pickup_active{
    background:linear-gradient(180deg, #ffedf8 0%, #ffd8ef 100%);
    border-color:#d84fa3;
    animation:clsPickupPulse 1.1s ease-in-out infinite alternate;
}

.employee-locker-tile.completed{
    background:linear-gradient(180deg, #f2f4f6 0%, #e5e9ed 100%);
    border-color:#9aa7b3;
}

.employee-locker-tile.released{
    background:linear-gradient(180deg, #e9f9ef 0%, #dff5e8 100%);
    border-color:#81d7a7;
}

.employee-locker-tile.maintenance,
.employee-locker-tile.out_of_service{
    background:linear-gradient(180deg, #fff0f0 0%, #fde2e2 100%);
    border-color:#ef9a9a;
}

.employee-locker-number{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:1.15rem;
    font-weight:850;
    line-height:1;
}

.employee-locker-customer,
.employee-locker-status,
.employee-locker-order{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#35566f;
}

.employee-locker-customer{
    color:var(--navy-deep);
    font-weight:750;
    white-space:normal;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}

.employee-locker-order{
    font-size:0.78rem;
}

.employee-locker-badges{
    min-width:0;
    max-width:100%;
    overflow:hidden;
    display:flex;
    gap:0.35rem;
    flex-wrap:wrap;
    align-items:center;
    margin-top:0.15rem;
}

.employee-locker-badges .badge,
.locker-runtime-signals .badge{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.bank-stack-card .timer-badge,
.locker-grid-shell .timer-badge{
    display:none !important;
}

.designer-live-preview{
    margin-top:1rem;
}

.designer-priority-preview{
    margin-top:0;
    padding:1rem;
    border-radius:1.2rem;
    background:linear-gradient(180deg, rgba(239,247,251,0.95), rgba(232,242,247,0.88));
    border:1px solid rgba(126, 155, 181, 0.22);
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
}

.designer-topology-priority .card-stack{
    gap:1rem;
}

.bank-selector-row{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin:0 0 1rem;
    max-width:100%;
    align-items:stretch;
}

.bank-selector-card{
    flex:1 1 132px;
    min-width:132px;
    max-width:160px;
    display:flex;
    flex-direction:column;
    gap:0.45rem;
}

.bank-selector{
    display:grid;
    gap:0.15rem;
    align-content:center;
    justify-items:center;
    min-height:4.2rem;
    padding:0.8rem 0.55rem;
    border:1px solid rgba(126, 155, 181, 0.28);
    border-radius:1rem;
    background:linear-gradient(180deg, #f7fbfd 0%, #edf4f8 100%);
    color:var(--navy-deep);
    font-weight:700;
    cursor:pointer;
    transition:transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
    flex:1 1 auto;
    width:100%;
    min-width:0;
    max-width:none;
}

.bank-selector:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 22px rgba(18, 55, 88, 0.1);
}

.bank-selector.is-active{
    border-color:#5f9bea;
    background:linear-gradient(180deg, #eaf3ff 0%, #dbe9fb 100%);
    box-shadow:0 14px 26px rgba(45, 126, 247, 0.14);
}

.bank-selector.is-missing{
    background:linear-gradient(180deg, #f9fbfd 0%, #f1f5f8 100%);
    color:#567085;
}

.bank-selector.bank-selector-settings{
    border-style:dashed;
}

.bank-selector-label{
    font-size:1.05rem;
    line-height:1;
}

.bank-selector-copy{
    font-size:0.72rem;
    color:var(--muted);
    text-align:center;
}

.bank-selector-action{
    width:100%;
    justify-content:center;
}

.bank-selector-action.is-disabled,
.bank-selector-action[aria-disabled="true"]{
    background:#e8eef4;
    color:#8a98a8;
    border:1px solid rgba(165, 178, 191, 0.55);
    box-shadow:none;
    cursor:not-allowed;
    opacity:0.9;
}

.bank-selector-action.is-disabled:hover,
.bank-selector-action[aria-disabled="true"]:hover{
    transform:none;
    box-shadow:none;
}

.designer-locker-floor-map .bank-stack-card{
    padding:1.1rem;
}

.bank-stack-card,
.designer-topology-priority,
.designer-primary-editor,
.designer-live-preview,
.designer-locker-floor-map,
.locker-floor-map,
.owner-locker-floor-map,
.employee-locker-floor-map{
    max-width:100%;
    overflow:hidden;
}

.locker-floor-map .bank-stack-card,
.owner-locker-floor-map .bank-stack-card,
.employee-locker-floor-map .bank-stack-card{
    overflow:hidden;
}

.balanced-grid .locker-cell,
.designer-grid .locker-cell,
.locker-runtime-cell{
    max-width:none;
}

.machine-row{
    align-items:center;
    flex-wrap:wrap;
}

.machine-row .table-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:0.45rem;
}

.designer-primary-editor .form-grid{
    margin-top:1rem;
}

.designer-primary-editor{
    transition:opacity 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.designer-primary-editor.is-active{
    border-color:rgba(51, 118, 235, 0.32);
    box-shadow:0 16px 30px rgba(41, 108, 224, 0.08);
}

.designer-primary-editor.is-selected{
    border-color:rgba(51, 118, 235, 0.42);
    box-shadow:0 18px 36px rgba(41, 108, 224, 0.12);
}

.designer-primary-editor.is-locked{
    background:linear-gradient(180deg, rgba(244, 247, 250, 0.98) 0%, rgba(236, 241, 246, 0.96) 100%);
    border-color:rgba(169, 183, 196, 0.4);
    box-shadow:none;
    opacity:0.72;
}

.designer-settings-fields{
    min-width:0;
    margin:0;
    padding:0;
    border:0;
}

.designer-settings-fields:disabled{
    pointer-events:none;
}

.designer-primary-editor.is-locked .designer-settings-fields{
    pointer-events:none;
}

.designer-grid{
    align-items:stretch;
    width:100%;
    min-width:0;
    max-width:100%;
    justify-content:stretch;
    grid-template-columns:repeat(var(--locker-columns, 3), minmax(0, 1fr));
    gap:clamp(0.6rem, 1.6vw, 1rem);
}

.designer-grid.balanced-grid{
    width:100%;
    min-width:0;
    max-width:100%;
    justify-content:stretch;
}

.preview-locker{
    position:relative;
    align-content:center;
    cursor:pointer;
    transition:transform 0.18s ease, box-shadow 0.18s ease;
}

.designer-grid .preview-locker{
    width:100%;
    max-width:none;
    min-width:0;
}

.preview-locker:hover,
.preview-locker.is-selected{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(17, 53, 86, 0.12);
}

.designer-status-strip{
    margin-top:1rem;
    display:grid;
    gap:0.8rem;
}

body[data-locker-designer-view="1"] .cls-layout,
body[data-no-right-rail="1"] .cls-layout{
    grid-template-columns:minmax(14%, 18%) minmax(0, 1fr);
}

body[data-locker-designer-view="1"] .right-panel,
body[data-no-right-rail="1"] .right-panel{
    display:none;
}

[data-locker-topology-map],
[data-locker-validation-issues],
[data-locker-location-metrics]{
    display:grid;
    gap:0.8rem;
}

.designer-save-row,
.bank-delete-row{
    margin-top:1rem;
}

body[data-facility-pressure="elevated"] .middle-panel,
body[data-facility-pressure="elevated"] .right-panel{
    box-shadow:0 16px 34px rgba(230, 193, 58, 0.08);
}

body[data-facility-pressure="critical"] .middle-panel,
body[data-facility-pressure="critical"] .right-panel{
    box-shadow:0 18px 40px rgba(215, 77, 77, 0.12);
}

.right-panel,
.right-card,
.right-row,
.right-actions,
.employee-locker-tile,
.locker-runtime-cell{
    min-width:0;
}

.right-panel,
.right-panel *,
.employee-locker-tile *,
.locker-runtime-cell *{
    overflow-wrap:anywhere;
}

.right-card{
    overflow:visible;
}

.right-actions{
    align-items:stretch;
    flex-wrap:wrap;
}

.right-actions .mini-action{
    white-space:normal;
}

#panelBody.is-sync-ripple,
#rightRail.is-sync-ripple{
    animation:clsSyncRipple 320ms ease;
}

.cls-overlay[hidden]{
    display:none;
}

.cls-overlay{
    position:fixed;
    inset:0;
    z-index:1200;
    display:grid;
    place-items:center;
    padding:1.5rem;
}

.cls-overlay-backdrop{
    position:absolute;
    inset:0;
    background:rgba(15, 35, 60, 0.42);
    backdrop-filter:blur(6px);
}

.cls-overlay-dialog{
    position:relative;
    z-index:1;
    width:min(960px, calc(100vw - 2rem));
    max-height:min(88vh, 980px);
    overflow:auto;
    border-radius:28px;
    border:1px solid rgba(157, 190, 224, 0.45);
    background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(241,248,255,0.97));
    box-shadow:0 28px 72px rgba(18, 45, 80, 0.28);
    padding:1.4rem;
}

.cls-overlay-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1rem;
}

.cls-overlay-body{
    display:grid;
    gap:1rem;
}

.cls-weight-workflow-overlay{
    z-index:1300;
}

.cls-weight-workflow-dialog{
    width:min(90vw, 1480px);
    height:min(90vh, 980px);
    max-height:90vh;
    display:grid;
    grid-template-rows:auto minmax(0, 1fr) auto;
    overflow:hidden;
    border-radius:24px;
}

.cls-weight-workflow-body{
    min-height:0;
    overflow:auto;
    padding-right:0.35rem;
}

.cls-weight-workflow-body .weight-workflow-card{
    margin:0;
}

.cls-weight-workflow-body .employee-weight-grid{
    grid-template-columns:minmax(15rem, 20%) minmax(0, 1fr);
}

.cls-weight-workflow-body .weight-center-panel .table-wrap{
    width:100%;
}

.cls-weight-workflow-body .weight-action-stack{
    display:none;
}

.cls-weight-workflow-body.is-locked{
    opacity:0.92;
}

.cls-weight-workflow-footer{
    display:flex;
    justify-content:flex-end;
    gap:0.75rem;
    padding-top:1rem;
    margin-top:1rem;
    border-top:1px solid rgba(157, 190, 224, 0.45);
}
.cls-weight-workflow-footer [data-cls-weight-close]{
    margin-right:auto;
}
.cls-weight-workflow-footer [data-cls-weight-submit]{
    min-width:180px;
}

.cls-weight-workflow-footer .mini-action:disabled{
    opacity:0.5;
    cursor:not-allowed;
}

@media (max-width: 760px){
    .cls-weight-workflow-dialog{
        width:94vw;
        height:92vh;
        max-height:92vh;
        padding:1rem;
    }

    .cls-weight-workflow-footer{
        flex-direction:column;
    }
}

#panelBody.is-queue-shift .control-row,
#panelBody.is-queue-shift .machine-row,
#panelBody.is-queue-shift .document-row,
#panelBody.is-queue-shift .thread-row{
    animation:clsQueueShift 320ms ease;
}

.music-source.active{
    border-color:#9fc4f0;
    background:#eef5ff;
}

.media-console{
    gap:1rem;
}

.media-control-hero{
    display:flex;
    justify-content:space-between;
    align-items:stretch;
    gap:1rem;
    background:linear-gradient(135deg, #f8fcff 0%, #eaf5ff 54%, #dff0ff 100%);
}

.media-control-hero h2{
    margin:0.2rem 0 0.45rem;
    color:var(--navy);
    font-size:clamp(2rem, 4vw, 3.2rem);
}

.media-control-hero p{
    max-width:52rem;
    margin:0;
    color:#4f6f8c;
}

.media-now-playing{
    min-width:15rem;
    display:grid;
    align-content:center;
    gap:0.3rem;
    padding:1rem 1.15rem;
    border-radius:1.4rem;
    color:#fff;
    background:linear-gradient(135deg, var(--navy), #23618d);
    box-shadow:0 16px 34px rgba(15, 55, 88, 0.16);
}

.media-now-playing span,
.media-now-playing small{
    color:rgba(255,255,255,0.78);
}

.media-grid,
.media-screen-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    gap:1rem;
    margin-top:1rem;
}

.media-toolbar{
    display:flex;
    flex-wrap:wrap;
    gap:0.7rem;
    align-items:center;
    margin:0.85rem 0 1rem;
}

.media-toolbar input,
.media-toolbar select{
    min-width:12rem;
    flex:1 1 12rem;
}

.media-timeline{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
    gap:0.75rem;
    margin:1rem 0;
}

.media-timeline div,
.upload-dropzone{
    display:grid;
    gap:0.35rem;
    padding:1rem;
    border:1px solid rgba(160, 188, 214, 0.48);
    border-radius:1.15rem;
    background:linear-gradient(180deg, #ffffff, #f4f9ff);
}

.media-timeline strong{
    color:var(--navy);
}

.media-timeline span,
.upload-dropzone span,
.upload-dropzone small{
    color:#607c96;
}

.upload-dropzone{
    min-height:9rem;
    place-items:center;
    text-align:center;
    border-style:dashed;
    background:linear-gradient(135deg, #f8fcff 0%, #eaf5ff 100%);
}

.upload-dropzone .zone-volume{
    width:min(26rem, 100%);
}

.pricing-console{
    gap:1rem;
}

.simple-pricing-console{
    gap:1rem;
}

.pricing-method-toggle{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(13rem, 1fr));
    gap:0.75rem;
    margin:0.75rem 0 1rem;
}

.choice-card{
    display:grid;
    gap:0.35rem;
    min-height:5.5rem;
    padding:1rem;
    border:1px solid rgba(154, 184, 213, 0.52);
    border-radius:1.15rem;
    background:linear-gradient(180deg, #ffffff, #f6fbff);
    color:var(--navy);
    cursor:pointer;
    box-shadow:0 14px 28px rgba(16, 61, 98, 0.06);
    transition:transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.choice-card:hover{
    transform:translateY(-1px);
    border-color:rgba(45, 126, 247, 0.58);
    box-shadow:0 18px 34px rgba(45, 126, 247, 0.12);
}

.choice-card:has(input:checked){
    border-color:#2d7ef7;
    background:linear-gradient(135deg, #eef7ff, #ffffff);
    box-shadow:0 18px 36px rgba(45, 126, 247, 0.18);
}

.choice-card input{
    width:1.1rem;
    height:1.1rem;
}

.choice-card span{
    color:#607c96;
    line-height:1.35;
}

.pricing-add-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(16rem, 1fr));
    gap:0.85rem;
}

.specialty-item-toolbar{
    display:flex;
    flex-wrap:wrap;
    gap:0.65rem;
    align-items:center;
    margin:0.75rem 0 1rem;
}

.specialty-import-drawer{
    margin:0 0 1rem;
}

.specialty-edit-row[hidden]{
    display:none;
}

.specialty-edit-row td{
    background:linear-gradient(180deg, #f7fbff, #ffffff);
    border-top:1px solid rgba(160, 188, 214, 0.45);
}

.specialty-edit-row form{
    display:grid;
    gap:0.85rem;
}

.mini-drawer{
    border:1px solid rgba(160, 188, 214, 0.5);
    border-radius:1.15rem;
    background:linear-gradient(180deg, #ffffff, #f7fbff);
    overflow:hidden;
}

.mini-drawer summary{
    padding:1rem;
    color:var(--navy);
    font-weight:900;
    cursor:pointer;
}

.mini-drawer form{
    display:grid;
    gap:0.8rem;
    padding:0 1rem 1rem;
}

.employee-weight-workspace{
    gap:1.1rem;
}

.employee-weight-shell{
    padding:1rem;
}

.employee-weight-grid{
    display:grid;
    grid-template-columns:minmax(16rem, 22%) minmax(0, 1fr);
    gap:1rem;
    align-items:start;
}

.weight-side-panel,
.weight-center-panel{
    display:grid;
    gap:1rem;
    min-width:0;
}

.weight-side-panel{
    position:sticky;
    top:0.75rem;
    border:1px solid rgba(155, 184, 210, 0.48);
    border-radius:1.35rem;
    background:linear-gradient(180deg, rgba(255,255,255,0.96), rgba(244,250,255,0.92));
    padding:1rem;
    box-shadow:0 18px 34px rgba(22, 61, 98, 0.08);
}

.weight-side-panel h3,
.weight-panel-head h3,
.weight-step-card h4{
    margin:0;
    color:var(--navy);
}

.weight-summary-block{
    display:grid;
    gap:0.35rem;
    padding:0.85rem;
    border-radius:1rem;
    background:#f7fbff;
    border:1px solid rgba(166, 190, 211, 0.34);
}

.specialty-hold-notice{
    border-color:rgba(245, 158, 11, 0.48);
    background:linear-gradient(135deg, rgba(255, 248, 235, 0.98), rgba(255, 255, 255, 0.9));
    box-shadow:0 12px 24px rgba(245, 158, 11, 0.12);
}

.specialty-hold-notice h4{
    color:#925600;
}

.weight-summary-block h4,
.weight-summary-block p,
.weight-summary-block ul{
    margin:0;
}

.weight-summary-block ul{
    padding-left:1.1rem;
    color:#607c96;
}

.weight-panel-head,
.weight-step-card{
    border:1px solid rgba(155, 184, 210, 0.48);
    border-radius:1.35rem;
    background:linear-gradient(180deg, #ffffff, #f8fcff);
    padding:1rem;
    box-shadow:0 14px 28px rgba(22, 61, 98, 0.06);
}

.weight-large-input{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:0.5rem;
    align-items:end;
    font-size:1.1rem;
    font-weight:900;
    color:var(--navy);
}

.weight-large-input input{
    grid-column:1;
    min-height:5rem;
    font-size:3rem;
    font-weight:900;
    text-align:center;
    border-radius:1.2rem;
}

.weight-large-input span{
    grid-column:2;
    padding:1rem 1.1rem;
    border-radius:1rem;
    background:#eaf4ff;
    color:#16415f;
    font-weight:900;
}

.weight-total-card{
    display:grid;
    gap:0.35rem;
    margin-top:0.85rem;
    padding:1rem;
    border-radius:1.15rem;
    color:#fff;
    background:linear-gradient(135deg, #123a59, #2d7ef7);
    box-shadow:0 18px 38px rgba(45,126,247,0.2);
}

.weight-total-card strong{
    font-size:2.4rem;
    line-height:1;
}

.weight-total-card small{
    color:rgba(255,255,255,0.82);
}

.weight-step-card .table-wrap input{
    min-height:2.75rem;
    padding:0.55rem;
    border-radius:0.75rem;
}

.weight-action-stack{
    display:grid;
    gap:0.7rem;
}

.weight-action-stack .mini-action{
    width:100%;
    min-height:3.25rem;
    justify-content:center;
}

@media (max-width: 1180px){
    .employee-weight-grid{
        grid-template-columns:1fr;
    }

    .weight-side-panel{
        position:relative;
        top:auto;
    }
}

.mobile-weight-page{
    min-height:100vh;
    background:linear-gradient(180deg, #dcecf8 0%, #f6fbff 58%, #ffffff 100%);
    color:var(--navy);
    overflow-x:hidden;
}

.mobile-weight-shell{
    width:min(100%, 980px);
    margin:0 auto;
    padding:clamp(0.75rem, 3vw, 1.25rem);
    padding-bottom:calc(6.5rem + env(safe-area-inset-bottom, 0px));
}

.mobile-weight-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:0.9rem;
    padding:1rem;
    border:1px solid rgba(155, 184, 210, 0.45);
    border-radius:1.4rem;
    color:#fff;
    background:linear-gradient(135deg, #103a5c, #1c5c8f);
    box-shadow:0 18px 40px rgba(15, 58, 92, 0.18);
}

.mobile-weight-header h1,
.mobile-weight-header p{
    margin:0;
}

.mobile-weight-header h1{
    font-size:clamp(1.65rem, 7vw, 2.6rem);
    line-height:1;
}

.mobile-weight-header p,
.mobile-weight-header .eyebrow{
    color:rgba(255,255,255,0.82);
}

.mobile-weight-status{
    position:sticky;
    top:0.5rem;
    z-index:20;
    margin-bottom:0.9rem;
    padding:0.85rem 1rem;
    border-radius:1rem;
    border:1px solid rgba(155, 184, 210, 0.42);
    background:rgba(255,255,255,0.95);
    box-shadow:0 12px 26px rgba(22, 61, 98, 0.1);
    font-weight:900;
}

.mobile-weight-status[data-tone="ready"]{
    color:#0f6b43;
    border-color:rgba(22,137,87,0.32);
    background:#effcf5;
}

.mobile-weight-status[data-tone="error"]{
    color:#a13232;
    border-color:rgba(220, 38, 38, 0.28);
    background:#fff1f1;
}

.mobile-weight-direct-card .weight-workflow-card{
    margin:0;
}

.mobile-summary-list{
    gap:0.6rem;
}

.mobile-summary-list > div,
.mobile-total-row{
    display:flex;
    justify-content:space-between;
    gap:0.85rem;
    align-items:flex-start;
    padding:0.7rem 0;
    border-bottom:1px solid rgba(155, 184, 210, 0.28);
}

.mobile-summary-list > div:last-child,
.mobile-total-row:last-child{
    border-bottom:0;
}

.mobile-summary-list span,
.mobile-total-row strong{
    text-align:right;
    overflow-wrap:anywhere;
}

.mobile-running-totals{
    border-color:rgba(45, 126, 247, 0.28);
}

.mobile-total-row.is-final{
    margin-top:0.35rem;
    padding:0.9rem;
    border:0;
    border-radius:1rem;
    color:#fff;
    background:linear-gradient(135deg, #123a59, #2d7ef7);
}

.mobile-specialty-search{
    display:grid;
    gap:0.35rem;
    margin:0.85rem 0;
    font-weight:900;
}

.mobile-specialty-search input{
    min-height:3.25rem;
    font-size:1rem;
    border-radius:1rem;
}

.mobile-specialty-toolbar{
    align-items:stretch;
}

.mobile-specialty-toolbar .mini-action,
.mobile-weight-sticky-actions .mini-action{
    min-height:48px;
    justify-content:center;
}

.mobile-custom-specialty-list{
    display:grid;
    gap:0.75rem;
    margin:0.75rem 0;
}

.mobile-custom-specialty-line{
    display:grid;
    grid-template-columns:1fr 0.55fr 0.75fr auto;
    gap:0.65rem;
    padding:0.85rem;
    border:1px solid rgba(155, 184, 210, 0.38);
    border-radius:1rem;
    background:#f8fcff;
}

.mobile-weight-sticky-actions{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1000;
    display:grid;
    grid-template-columns:0.85fr 1.45fr;
    gap:0.65rem;
    padding:0.75rem max(0.75rem, env(safe-area-inset-left, 0px)) calc(0.75rem + env(safe-area-inset-bottom, 0px)) max(0.75rem, env(safe-area-inset-right, 0px));
    border-top:1px solid rgba(155, 184, 210, 0.5);
    background:rgba(246, 251, 255, 0.94);
    backdrop-filter:blur(16px);
    box-shadow:0 -12px 32px rgba(18, 45, 80, 0.16);
}

@media (max-width: 640px){
    .mobile-weight-shell{
        padding-inline:0.65rem;
    }

    .mobile-weight-header{
        align-items:flex-start;
        padding:0.9rem;
    }

    .mobile-weight-header .mini-action{
        min-height:44px;
        padding-inline:0.9rem;
    }

    .mobile-weight-page .employee-weight-shell{
        padding:0;
        border:0;
        background:transparent;
        box-shadow:none;
    }

    .mobile-weight-page .employee-weight-grid{
        display:grid;
        grid-template-columns:1fr;
        gap:0.85rem;
    }

    .mobile-weight-page .weight-side-panel,
    .mobile-weight-page .weight-panel-head,
    .mobile-weight-page .weight-step-card{
        border-radius:1.15rem;
        padding:0.9rem;
    }

    .mobile-weight-page .weight-panel-head{
        display:none;
    }

    .mobile-weight-page .weight-large-input{
        grid-template-columns:1fr;
    }

    .mobile-weight-page .weight-large-input input{
        min-height:5.9rem;
        width:100%;
        font-size:clamp(3rem, 18vw, 4.6rem);
        text-align:left;
        padding:0.75rem 1rem;
        touch-action:manipulation;
    }

    .mobile-weight-page .weight-large-input span{
        grid-column:1;
        justify-self:start;
        padding:0.55rem 0.85rem;
    }

    .mobile-weight-page input,
    .mobile-weight-page select,
    .mobile-weight-page textarea,
    .mobile-weight-page button,
    .mobile-weight-page .mini-action{
        min-height:48px;
        font-size:1rem;
    }

    .mobile-weight-page .form-grid,
    .mobile-weight-page .compact-grid{
        grid-template-columns:1fr;
    }

    .mobile-weight-page .mobile-specialty-card .table-wrap{
        overflow:visible;
    }

    .mobile-weight-page .mobile-specialty-card table,
    .mobile-weight-page .mobile-specialty-card thead,
    .mobile-weight-page .mobile-specialty-card tbody,
    .mobile-weight-page .mobile-specialty-card tr,
    .mobile-weight-page .mobile-specialty-card td{
        display:block;
        width:100%;
    }

    .mobile-weight-page .mobile-specialty-card thead{
        display:none;
    }

    .mobile-weight-page .mobile-specialty-card tbody{
        display:grid;
        gap:0.75rem;
    }

    .mobile-weight-page .mobile-specialty-card tbody tr{
        padding:0.85rem;
        border:1px solid rgba(155, 184, 210, 0.36);
        border-radius:1rem;
        background:#f8fcff;
    }

    .mobile-weight-page .mobile-specialty-card:not(.is-expanded) tbody tr:nth-child(n+6){
        display:none;
    }

    .mobile-weight-page .mobile-specialty-card td{
        padding:0.35rem 0;
        border:0;
    }

    .mobile-weight-page .mobile-specialty-card td:nth-child(2)::before{ content:"Bottom price"; }
    .mobile-weight-page .mobile-specialty-card td:nth-child(3)::before{ content:"Actual price"; }
    .mobile-weight-page .mobile-specialty-card td:nth-child(4)::before{ content:"Max price"; }
    .mobile-weight-page .mobile-specialty-card td:nth-child(5)::before{ content:"Quantity"; }
    .mobile-weight-page .mobile-specialty-card td:nth-child(6)::before{ content:"Line total"; }

    .mobile-weight-page .mobile-specialty-card td::before{
        display:block;
        margin-bottom:0.2rem;
        color:#607c96;
        font-size:0.78rem;
        font-weight:900;
        text-transform:uppercase;
        letter-spacing:0.05em;
    }

    .mobile-custom-specialty-line{
        grid-template-columns:1fr;
    }

    .mobile-weight-sticky-actions{
        grid-template-columns:0.85fr 1.35fr;
        gap:0.45rem;
        padding-inline:0.55rem;
    }

    .mobile-weight-sticky-actions .mini-action{
        padding-inline:0.55rem;
        border-radius:0.95rem;
    }
}

.pricing-layout{
    display:grid;
    grid-template-columns:minmax(18%, 24%) minmax(0, 1fr);
    gap:1rem;
    align-items:start;
}

.pricing-category-nav{
    position:sticky;
    top:0.5rem;
    display:grid;
    gap:0.55rem;
}

.pricing-nav-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:0.75rem;
    border:1px solid rgba(160, 188, 214, 0.42);
    border-radius:1rem;
    padding:0.75rem 0.85rem;
    color:var(--navy);
    background:#f6fbff;
    font-weight:800;
    cursor:pointer;
}

.pricing-nav-item:hover{
    background:#edf6ff;
    transform:translateY(-1px);
}

.pricing-nav-item.is-active{
    background:linear-gradient(135deg, #2d7ef7, #2364c8);
    color:#fff;
    box-shadow:0 14px 28px rgba(45,126,247,0.18);
}

.pricing-workspace,
.pricing-table-stack{
    display:grid;
    gap:0.85rem;
    min-width:0;
}

.pricing-item-row{
    border:1px solid rgba(160, 188, 214, 0.5);
    border-radius:1.15rem;
    background:linear-gradient(180deg, #ffffff, #f8fcff);
    overflow:hidden;
}

.pricing-item-row summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1rem;
    cursor:pointer;
    color:var(--navy);
}

.pricing-item-row summary span:first-child{
    display:grid;
    gap:0.2rem;
}

.pricing-item-row summary small{
    color:#607c96;
}

.pricing-detail-grid,
.pricing-step-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.1fr) minmax(280px, 0.9fr);
    gap:1rem;
    padding:0 1rem 1rem;
}

.pricing-edit-card,
.pricing-range-card,
.pricing-add-drawer{
    display:grid;
    gap:0.85rem;
    padding:1rem;
    border:1px solid rgba(173, 191, 206, 0.38);
    border-radius:1rem;
    background:#fff;
}

.pricing-range-card h4,
.pricing-add-drawer h3,
.pricing-add-drawer h4{
    margin:0;
    color:var(--navy);
}

.pricing-flags{
    margin:0.3rem 0;
}

.pricing-validation,
.pricing-chip-row{
    display:flex;
    flex-wrap:wrap;
    gap:0.45rem;
}

.pricing-validation span,
.pricing-chip{
    display:inline-flex;
    border-radius:999px;
    padding:0.4rem 0.62rem;
    background:#edf6ff;
    color:#17415f;
    font-weight:800;
    font-size:0.84rem;
}

.pricing-archive-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-top:0.65rem;
    padding:0.7rem;
    border-radius:0.85rem;
    background:#f8fbff;
}

@media (max-width: 980px){
    .pricing-layout,
    .pricing-detail-grid,
    .pricing-step-grid{
        grid-template-columns:1fr;
    }

    .pricing-category-nav{
        position:relative;
        top:auto;
    }
}

.media-card,
.media-screen-card{
    display:grid;
    gap:1rem;
    padding:1rem;
    border:1px solid rgba(160, 188, 214, 0.5);
    border-radius:1.35rem;
    background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    box-shadow:0 16px 32px rgba(28, 67, 105, 0.08);
}

.media-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:0.9rem;
}

.media-card-head h3{
    margin:0;
    color:var(--navy);
}

.media-card-head p,
.media-track,
.media-track span{
    margin:0.18rem 0 0;
    color:#607c96;
}

.media-screen-preview,
.youtube-art{
    min-height:8rem;
    display:grid;
    align-content:end;
    gap:0.35rem;
    padding:1rem;
    border-radius:1.2rem;
    color:#fff;
    background:
        radial-gradient(circle at top right, rgba(95, 180, 255, 0.65), transparent 34%),
        linear-gradient(135deg, #123a5b, #1f6d9d);
}

.youtube-art{
    min-height:6rem;
    place-items:center;
    align-content:center;
    font-weight:900;
    letter-spacing:0.08em;
    background:linear-gradient(135deg, #143d5c, #2a7eb0);
}

.media-screen-preview small{
    color:rgba(255,255,255,0.78);
}

.sync-dot{
    width:0.75rem;
    height:0.75rem;
    border-radius:999px;
    background:#f59e0b;
    box-shadow:0 0 0 5px rgba(245, 158, 11, 0.16);
}

.sync-dot.ready{
    background:#22c55e;
    box-shadow:0 0 0 5px rgba(34, 197, 94, 0.16);
}

.sync-dot.offline{
    background:#ef4444;
    box-shadow:0 0 0 5px rgba(239, 68, 68, 0.16);
}

.media-facts{
    display:grid;
    gap:0.6rem;
    margin:0;
}

.media-facts div{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    padding-bottom:0.55rem;
    border-bottom:1px solid rgba(173, 191, 206, 0.28);
}

.media-facts dt{
    color:#6b8398;
    font-weight:700;
}

.media-facts dd{
    margin:0;
    color:var(--navy);
    text-align:right;
    font-weight:800;
}

.media-action-grid,
.music-control-strip{
    display:flex;
    flex-wrap:wrap;
    gap:0.55rem;
}

.music-control-strip button{
    border:0;
    border-radius:999px;
    padding:0.58rem 0.85rem;
    color:#fff;
    background:#2d7ef7;
    font-weight:800;
    cursor:pointer;
}

.music-control-strip .ghost,
.media-action-grid .ghost{
    color:var(--navy);
    background:#eef5fb;
}

.media-range{
    display:grid;
    gap:0.35rem;
    color:#5d7488;
    font-weight:800;
}

.speaker-toggle-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
    gap:0.8rem;
    margin-top:1rem;
}

.speaker-toggle{
    position:relative;
    display:grid;
    grid-template-columns:3.2rem minmax(0, 1fr);
    grid-template-areas:"switch name" "switch zone";
    align-items:center;
    gap:0.1rem 0.8rem;
    padding:0.95rem 1rem;
    border:1px solid rgba(160, 188, 214, 0.5);
    border-radius:1.1rem;
    background:#f8fcff;
    cursor:pointer;
}

.speaker-toggle input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.speaker-toggle span{
    grid-area:switch;
    position:relative;
    width:2.9rem;
    height:1.55rem;
    border-radius:999px;
    background:#cbd8e4;
    transition:background 180ms ease;
}

.speaker-toggle span::after{
    content:"";
    position:absolute;
    width:1.15rem;
    height:1.15rem;
    top:0.2rem;
    left:0.22rem;
    border-radius:999px;
    background:#fff;
    box-shadow:0 4px 10px rgba(17, 45, 72, 0.22);
    transition:transform 180ms ease;
}

.speaker-toggle input:checked + span{
    background:#2d7ef7;
}

.speaker-toggle input:checked + span::after{
    transform:translateX(1.28rem);
}

.speaker-toggle strong{
    grid-area:name;
    color:var(--navy);
}

.speaker-toggle small{
    grid-area:zone;
    color:#607c96;
}

.speaker-route-list{
    display:grid;
    gap:0.75rem;
    margin-top:1rem;
}

.speaker-route-row{
    display:grid;
    grid-template-columns:minmax(180px, 1.2fr) minmax(140px, 0.9fr) minmax(140px, 0.9fr) minmax(160px, 0.8fr) auto;
    gap:0.7rem;
    align-items:end;
    padding:0.85rem;
    border:1px solid rgba(160, 188, 214, 0.5);
    border-radius:1.1rem;
    background:linear-gradient(135deg, rgba(255,255,255,0.96), rgba(241,248,255,0.92));
}

.speaker-route-row label{
    min-width:0;
}

.speaker-route-add{
    border-color:rgba(45, 126, 247, 0.35);
    box-shadow:0 14px 32px rgba(17, 45, 72, 0.08);
}

.compact-switch{
    min-height:4.1rem;
    padding:0.75rem 0.85rem;
}

.compact-switch small{
    display:block;
    color:#607c96;
    font-weight:700;
}

@media (max-width: 1100px){
    .speaker-route-row{
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width: 720px){
    .speaker-route-row{
        grid-template-columns:1fr;
    }
}

.zone-volume{
    height:0.75rem;
    overflow:hidden;
    border-radius:999px;
    background:#e6eef6;
}

.zone-volume span{
    display:block;
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg, #2d7ef7, #63b3ed);
}

.media-search{
    display:grid;
    gap:0.4rem;
    margin-bottom:1rem;
    color:#5d7488;
    font-weight:800;
}

.media-tree{
    display:grid;
    gap:0.45rem;
    padding:1rem;
    border-radius:1.2rem;
    background:#f7fbff;
    border:1px solid rgba(173, 191, 206, 0.42);
}

.media-tree details{
    padding:0.55rem 0.7rem;
    border-radius:0.9rem;
    background:#fff;
}

.media-tree summary{
    cursor:pointer;
    color:var(--navy);
    font-weight:900;
}

.media-tree summary span{
    display:inline-flex;
    margin-right:0.4rem;
    color:#2d7ef7;
}

.media-tree-meta{
    margin:0.5rem 0 0 1.4rem;
    color:#657f96;
}

.badge.is-urgency-high{
    box-shadow:0 0 0 1px rgba(45, 126, 247, 0.08);
}

@keyframes clsPanelSettle{
    from{opacity:0.82; transform:translateY(5px);}
    to{opacity:1; transform:translateY(0);}
}

@keyframes clsNodeSettle{
    from{opacity:0.78; transform:translateY(4px);}
    to{opacity:1; transform:translateY(0);}
}

@keyframes clsSyncRipple{
    0%{box-shadow:0 0 0 0 rgba(45,126,247,0.18);}
    100%{box-shadow:0 0 0 14px rgba(45,126,247,0);}
}

@keyframes clsQueueShift{
    0%{transform:translateY(3px); opacity:0.9;}
    100%{transform:translateY(0); opacity:1;}
}

@keyframes clsUrgencyPulse{
    0%, 100%{transform:scale(1);}
    50%{transform:scale(1.03);}
}

@keyframes clsPickupPulse{
    0%, 100%{transform:translateY(0);}
    50%{transform:translateY(-2px);}
}

@keyframes clsSkeletonSweep{
    0%{background-position:220% 0;}
    100%{background-position:-220% 0;}
}

.profile-list .badge,
.document-row .badge{
    align-self:center;
}

.kiosk-shell{
    min-height:100svh;
    display:grid;
    place-items:center;
    gap:1.2rem;
    padding:1.25rem;
    overflow:auto;
}

.kiosk-body{
    min-height:100svh;
    margin:0;
    background:radial-gradient(circle at 18% 18%, rgba(62, 143, 255, 0.18), transparent 32%), linear-gradient(135deg, #071b32 0%, #0b3255 48%, #dcecf7 100%);
}

.kiosk-fullscreen{
    position:relative;
    min-height:100svh;
    overflow:hidden;
    color:#fff;
    background:linear-gradient(135deg, #071b32 0%, #103f67 58%, #dcecf7 100%);
}

.kiosk-splash,
.kiosk-home{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    padding:clamp(1.2rem, 3vw, 3rem);
    opacity:0;
    pointer-events:none;
    transform:scale(1.02);
    transition:opacity 420ms ease, transform 520ms ease;
}

.kiosk-splash.is-active,
.kiosk-home.is-active{
    opacity:1;
    pointer-events:auto;
    transform:scale(1);
}

.kiosk-ambient-bg{
    position:absolute;
    inset:-20%;
    background:radial-gradient(circle at 18% 24%, rgba(75, 160, 255, 0.5), transparent 26%), radial-gradient(circle at 78% 24%, rgba(64, 218, 204, 0.28), transparent 30%), linear-gradient(135deg, #06172b, #123f64 58%, #d8eefa);
    animation:kioskDrift 18s ease-in-out infinite alternate;
}

.kiosk-ad-rotator{
    position:absolute;
    inset:0;
}

.kiosk-ad-slide{
    position:absolute;
    inset:0;
    display:grid;
    align-content:end;
    gap:0.7rem;
    padding:clamp(2rem, 6vw, 6rem);
    opacity:0;
    transform:scale(1.04);
    transition:opacity 700ms ease, transform 900ms ease;
    background:linear-gradient(25deg, rgba(5, 19, 37, 0.86), rgba(20, 84, 131, 0.35)), radial-gradient(circle at 72% 32%, rgba(255,255,255,0.3), transparent 22%);
}

.kiosk-photo-layer{
    position:absolute;
    inset:0;
    z-index:-2;
    background:var(--kiosk-bg-image, linear-gradient(135deg, rgba(11,49,84,0.95), rgba(45,126,247,0.34)));
    background-size:cover;
    background-position:center;
    opacity:0.48;
    filter:saturate(1.1) contrast(1.02);
}

.kiosk-ad-slide::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(90deg, rgba(4,17,33,0.88) 0%, rgba(8,39,70,0.62) 45%, rgba(8,56,89,0.35) 100%);
}

.kiosk-bg-detergent .kiosk-photo-layer{
    background:radial-gradient(circle at 76% 30%, rgba(255,255,255,0.8), transparent 13%), linear-gradient(135deg, #063c88 0%, #f58220 44%, #ffe06c 100%);
}

.kiosk-bg-softener .kiosk-photo-layer{
    background:radial-gradient(circle at 70% 28%, rgba(255,255,255,0.76), transparent 14%), linear-gradient(135deg, #0d6f8f 0%, #52d0d6 40%, #e8fff8 100%);
}

.kiosk-bg-wash-fold .kiosk-photo-layer{
    background:linear-gradient(135deg, #0d2745 0%, #2d7ef7 52%, #eff8ff 100%);
}

.kiosk-bg-laundromat .kiosk-photo-layer{
    background:repeating-linear-gradient(90deg, rgba(255,255,255,0.18) 0 4rem, rgba(255,255,255,0.08) 4rem 7rem), linear-gradient(135deg, #0b2640, #1c86b9 58%, #d9f5ff);
}

.kiosk-product-float{
    position:absolute;
    right:clamp(2rem, 8vw, 8rem);
    top:clamp(4rem, 12vh, 9rem);
    width:clamp(9rem, 18vw, 18rem);
    height:clamp(12rem, 24vw, 24rem);
    border-radius:2.2rem 2.2rem 1.2rem 1.2rem;
    background:linear-gradient(160deg, rgba(255,255,255,0.9), rgba(255,255,255,0.18));
    box-shadow:0 30px 80px rgba(0,0,0,0.25);
    opacity:0.62;
    transform:rotate(5deg);
}

.kiosk-bg-wash-fold .kiosk-product-float{
    width:clamp(15rem, 28vw, 28rem);
    height:clamp(8rem, 14vw, 14rem);
    border-radius:1.8rem;
    transform:rotate(-3deg);
}

.kiosk-bg-laundromat .kiosk-product-float{
    border-radius:50%;
    width:clamp(10rem, 17vw, 17rem);
    height:clamp(10rem, 17vw, 17rem);
}

.kiosk-ad-slide.is-active{
    opacity:1;
    transform:scale(1);
}

.kiosk-magic-square.is-active .kiosk-product-float{
    animation:kioskMagicSquare 7s ease-in-out infinite;
}

.kiosk-ad-slide span,
.kiosk-ad-slide em{
    color:rgba(255,255,255,0.78);
    font-style:normal;
}

.kiosk-ad-slide strong{
    max-width:58rem;
    font-size:clamp(3rem, 8vw, 7rem);
    line-height:0.9;
}

.kiosk-start-panel{
    position:relative;
    z-index:2;
    width:min(88vw, 44rem);
    display:grid;
    justify-items:center;
    gap:0.85rem;
    padding:clamp(2rem, 5vw, 4rem);
    border:1px solid rgba(255,255,255,0.34);
    border-radius:2.2rem;
    background:linear-gradient(135deg, rgba(255,255,255,0.26), rgba(255,255,255,0.1));
    color:#fff;
    box-shadow:0 28px 90px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.45);
    backdrop-filter:blur(22px);
    cursor:pointer;
}

.kiosk-start-panel strong{
    font-size:clamp(2.3rem, 6vw, 5.4rem);
    line-height:0.95;
}

.kiosk-start-panel small,
.kiosk-start-panel em{
    font-size:clamp(1.05rem, 2vw, 1.55rem);
    color:rgba(255,255,255,0.84);
    font-style:normal;
}

.kiosk-logo-orb{
    display:grid;
    place-items:center;
    width:6.5rem;
    height:6.5rem;
    border-radius:2rem;
    background:linear-gradient(135deg, #e9fbff, #40a7ff);
    color:#0a2d4c;
    font-weight:900;
    box-shadow:0 16px 38px rgba(0,0,0,0.2);
}

.kiosk-home{
    align-content:stretch;
    grid-template-rows:auto 1fr;
    gap:1.5rem;
}

.kiosk-home-header{
    width:min(100%, 92rem);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1.2rem 1.45rem;
    border:1px solid rgba(255,255,255,0.24);
    border-radius:1.8rem;
    background:rgba(8, 31, 54, 0.72);
    box-shadow:0 18px 44px rgba(0,0,0,0.18);
    backdrop-filter:blur(18px);
}

.kiosk-home-header h1{
    margin:0;
    font-size:clamp(2rem, 4vw, 4.2rem);
}

.kiosk-home-grid{
    width:min(100%, 92rem);
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:1.5rem;
}

.kiosk-action-tile{
    position:relative;
    display:grid;
    align-content:space-between;
    min-height:min(68svh, 42rem);
    gap:1.1rem;
    padding:clamp(1.5rem, 3.5vw, 3rem);
    overflow:hidden;
    border:1px solid rgba(255,255,255,0.24);
    border-radius:2rem;
    background:linear-gradient(155deg, rgba(255,255,255,0.22), rgba(255,255,255,0.08));
    color:#fff;
    box-shadow:0 24px 80px rgba(0,0,0,0.2);
    backdrop-filter:blur(18px);
    transition:transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.kiosk-action-tile:hover,
.kiosk-action-tile:focus-visible{
    transform:translateY(-5px) scale(1.01);
    border-color:rgba(151, 214, 255, 0.8);
    box-shadow:0 32px 110px rgba(45,126,247,0.28);
}

.kiosk-action-tile strong{
    font-size:clamp(3rem, 7vw, 7rem);
    line-height:0.88;
}

.kiosk-action-tile small,
.kiosk-action-tile li{
    color:rgba(255,255,255,0.82);
    font-size:clamp(1rem, 1.5vw, 1.35rem);
}

.kiosk-action-tile ul{
    display:grid;
    gap:0.45rem;
    margin:0;
    padding-left:1.1rem;
}

.kiosk-action-tile em{
    justify-self:start;
    padding:1rem 1.35rem;
    border-radius:999px;
    background:#fff;
    color:#0b3557;
    font-style:normal;
    font-weight:900;
}

.kiosk-action-icon{
    display:grid;
    place-items:center;
    width:7rem;
    height:7rem;
    border-radius:2rem;
    background:rgba(255,255,255,0.18);
    font-weight:900;
}

.kiosk-hero-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
}

.pickup-kiosk .kiosk-card{
    width:min(100%, 86rem);
}

.is-hidden{
    display:none !important;
}

.qr-scan-panel{
    display:flex;
    align-items:center;
    gap:1rem;
    padding:1rem;
    border:1px solid var(--line);
    border-radius:1.2rem;
    background:#f6fafc;
}

.qr-frame{
    display:grid;
    place-items:center;
    width:8rem;
    height:8rem;
    border:2px dashed #86acd1;
    border-radius:1.2rem;
    background:linear-gradient(135deg, #fff, #edf7ff);
    color:#103c61;
    font-weight:900;
    font-size:1.6rem;
}

.kiosk-success-card{
    display:grid;
    gap:1rem;
    border-color:rgba(31,157,98,0.28);
    background:linear-gradient(145deg, rgba(255,255,255,0.96), rgba(230,247,239,0.92));
}

.kiosk-confirmation-overlay{
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    place-items:center;
    padding:clamp(1rem, 4vw, 3rem);
    background:radial-gradient(circle at center, rgba(45,126,247,0.24), rgba(9,29,50,0.82));
    backdrop-filter:blur(14px);
}

.kiosk-confirmation-popup{
    width:min(62rem, 96vw);
    max-height:92vh;
    overflow:auto;
    border-radius:2rem;
    box-shadow:0 28px 90px rgba(8,28,48,0.36);
}

.kiosk-confirmation-popup .kiosk-success-card{
    padding:clamp(1.25rem, 3vw, 2.25rem);
}

.kiosk-order-number{
    margin:0;
    font-size:clamp(1.85rem, 5.2vw, 4.2rem);
    line-height:1.04;
    letter-spacing:0.02em;
    color:var(--navy-deep);
    overflow-wrap:anywhere;
}

.kiosk-confirmation-qr{
    width:min(18rem, 100%);
    height:min(18rem, 60vw);
    border-style:solid;
    background:
        linear-gradient(90deg, rgba(15,41,64,0.08) 50%, transparent 0) 0 0 / 1.25rem 1.25rem,
        linear-gradient(rgba(15,41,64,0.08) 50%, transparent 0) 0 0 / 1.25rem 1.25rem,
        #fff;
    font-size:0.95rem;
    padding:1rem;
    text-align:center;
    word-break:break-word;
}

.order-search-toolbar{
    margin:0.9rem 0;
}

.pickup-session-panel{
    border-color:#8adbc7;
    background:linear-gradient(135deg, #f2fffb, #f7fbff);
}

.pickup-timer-layout{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr);
    gap:1.25rem;
    align-items:center;
}

.pickup-timer-ring{
    --progress:1;
    display:grid;
    place-items:center;
    align-content:center;
    width:12rem;
    height:12rem;
    border-radius:50%;
    background:conic-gradient(#25b47e calc(var(--progress) * 360deg), #d9e6ef 0deg);
    color:#0f2d46;
    box-shadow:inset 0 0 0 1rem #fff, 0 20px 44px rgba(16, 54, 87, 0.16);
}

.pickup-timer-ring[data-state="warning"]{
    background:conic-gradient(#f2a93b calc(var(--progress) * 360deg), #d9e6ef 0deg);
}

.pickup-timer-ring[data-state="danger"]{
    background:conic-gradient(#dc4b4b calc(var(--progress) * 360deg), #d9e6ef 0deg);
}

.pickup-timer-ring strong{
    font-size:3.3rem;
    line-height:1;
}

.pickup-timer-ring span{
    color:#62768b;
}

.kiosk-locker-summary[data-tone="ready"]{
    border-color:#93dfc1;
    background:#ecfff6;
}

.kiosk-locker-summary[data-tone="danger"]{
    border-color:#f2b4b4;
    background:#fff0f0;
}

.kiosk-locker-summary[data-tone="info"]{
    border-color:#9bc4f7;
    background:#eef6ff;
}

.switch-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1rem;
    border:1px solid var(--line);
    border-radius:1.1rem;
    background:#f6fafc;
}

.switch-row span{
    display:grid;
    gap:0.2rem;
}

.switch-row small{
    color:var(--muted);
}

.switch-row input{
    position:absolute;
    opacity:0;
}

.switch-row em{
    position:relative;
    width:4.7rem;
    height:2.55rem;
    flex:0 0 auto;
    border-radius:999px;
    background:#cbd8e2;
    transition:background 180ms ease;
}

.switch-row em::after{
    content:"";
    position:absolute;
    top:0.28rem;
    left:0.3rem;
    width:2rem;
    height:2rem;
    border-radius:50%;
    background:#fff;
    box-shadow:0 6px 16px rgba(15, 45, 70, 0.24);
    transition:transform 180ms ease;
}

.switch-row input:checked + em{
    background:#2d7ef7;
}

.switch-row input:checked + em::after{
    transform:translateX(2.1rem);
}

.kiosk-layout-designer{
    display:grid;
    gap:1rem;
    margin-top:1rem;
}

.kiosk-layout-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(13rem, 1fr));
    gap:0.85rem;
}

.kiosk-layout-option{
    display:grid;
    gap:0.55rem;
    padding:1rem;
    border:1px solid var(--line);
    border-radius:1.1rem;
    background:linear-gradient(180deg, #fff, #f4f9fc);
    cursor:pointer;
    transition:border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.kiosk-layout-option:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(16, 40, 61, 0.1);
}

.kiosk-layout-option input{
    position:absolute;
    opacity:0;
}

.kiosk-layout-option:has(input:checked){
    border-color:#2d7ef7;
    box-shadow:0 14px 30px rgba(45,126,247,0.2), 0 0 0 3px rgba(45,126,247,0.12);
}

.kiosk-layout-option small{
    color:var(--muted);
}

.kiosk-layout-art{
    display:grid;
    min-height:6.5rem;
    gap:0.45rem;
    padding:0.65rem;
    border-radius:0.9rem;
    background:linear-gradient(135deg, #08233d, #2d7ef7);
}

.kiosk-layout-art span,
.kiosk-layout-art i,
.kiosk-layout-art b,
.kiosk-layout-art em,
.kiosk-layout-art strong{
    display:block;
    border-radius:0.55rem;
    background:rgba(255,255,255,0.82);
}

.kiosk-layout-one_page{
    grid-template-columns:1fr;
    align-content:center;
}

.kiosk-layout-one_page span{
    min-height:3rem;
}

.kiosk-layout-one_page i{
    min-height:0.8rem;
    opacity:0.62;
}

.kiosk-layout-one_page strong{
    min-height:0.55rem;
    align-self:end;
    background:#8fc8ff;
}

.kiosk-layout-progressive_step{
    grid-template-columns:1fr;
}

.kiosk-layout-progressive_step em{
    min-height:0.65rem;
    width:62%;
    background:#9fd0ff;
}

.kiosk-layout-progressive_step span{
    min-height:2.6rem;
}

.kiosk-layout-progressive_step i,
.kiosk-layout-progressive_step b{
    min-height:0.72rem;
    opacity:0.72;
}

.kiosk-layout-locker_wall{
    grid-template-columns:repeat(3, 1fr);
}

.kiosk-layout-compact_counter{
    grid-template-columns:1fr 1fr;
    align-content:center;
}

.kiosk-layout-compact_counter strong{
    grid-column:1 / -1;
    min-height:1rem;
    opacity:0.7;
}

.kiosk-setting-strip{
    display:grid;
    gap:0.8rem;
    margin:1rem 0;
}

@keyframes kioskDrift{
    from{transform:translate3d(-1%, -1%, 0) scale(1);}
    to{transform:translate3d(1.5%, 1%, 0) scale(1.04);}
}

@keyframes kioskMagicSquare{
    0%{transform:translate3d(0,0,0) rotate(5deg) scale(1); border-radius:2.2rem 2.2rem 1.2rem 1.2rem;}
    25%{transform:translate3d(-1.2rem,1rem,0) rotate(12deg) scale(0.94); border-radius:3rem;}
    50%{transform:translate3d(0.7rem,-1rem,0) rotate(45deg) scale(1.02); border-radius:1.1rem;}
    75%{transform:translate3d(1rem,0.8rem,0) rotate(-8deg) scale(0.96); border-radius:2.4rem 1rem 2.4rem 1rem;}
    100%{transform:translate3d(0,0,0) rotate(5deg) scale(1); border-radius:2.2rem 2.2rem 1.2rem 1.2rem;}
}

@keyframes kioskWorkflowSwap{
    from{opacity:0; transform:translateY(12px) scale(0.995);}
    to{opacity:1; transform:translateY(0) scale(1);}
}

.kiosk-hero,
.kiosk-card{
    width:min(100%, 64rem);
    border:1px solid rgba(173, 191, 206, 0.45);
    border-radius:var(--radius-xl);
    background:rgba(255,255,255,0.94);
    box-shadow:var(--shadow);
}

.kiosk-hero{
    padding:1.5rem 1.7rem;
    background:linear-gradient(135deg, var(--navy) 0%, #194e75 100%);
    color:#fff;
}

.kiosk-hero h1{
    margin:0 0 0.35rem;
}

.kiosk-hero p{
    margin:0;
    color:rgba(255,255,255,0.82);
}

.kiosk-card{
    padding:1.35rem;
}

.adaptive-kiosk .kiosk-card{
    width:min(96vw, 84rem);
}

.kiosk-stack{
    display:grid;
    gap:1rem;
}

.kiosk-choice-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(14rem, 1fr));
    gap:1rem;
}

.kiosk-choice{
    display:grid;
    gap:0.45rem;
    text-align:left;
    padding:1rem 1.1rem;
    border:1px solid var(--line);
    border-radius:1rem;
    background:#f6fafc;
}

.kiosk-choice.is-active{
    border-color:#85b1ea;
    background:#eef5ff;
    box-shadow:0 10px 24px rgba(45,126,247,0.14);
}

.kiosk-section{
    display:grid;
    gap:0.9rem;
}

.kiosk-result{
    display:grid;
    gap:0.9rem;
}

.kiosk-step-head{
    display:grid;
    gap:0.25rem;
}

.kiosk-step-head h2{
    margin:0;
}

.kiosk-terms{
    display:grid;
    gap:0.75rem;
    padding:1rem 1.1rem;
    border:1px solid var(--line);
    border-radius:1rem;
    background:#f6fafc;
}

.communication-consent-card{
    display:grid;
    gap:0.65rem;
    border-color:rgba(59,130,246,0.24);
}

.communication-consent-card a,
.check-item a{
    color:#175cd3;
    font-weight:800;
}

.consent-list{
    margin:0;
}

.consent-check{
    margin-top:0.35rem;
}

.consent-checkmark{
    color:#168957;
    font-weight:900;
}

.kiosk-specialty-grid{
    display:flex;
    flex-wrap:wrap;
    gap:0.75rem;
}

.kiosk-chip-toggle{
    position:relative;
    display:inline-flex;
    align-items:center;
}

.kiosk-chip-toggle input{
    position:absolute;
    inset:0;
    opacity:0;
}

.kiosk-chip-toggle span{
    display:inline-flex;
    align-items:center;
    gap:0.35rem;
    min-height:2.75rem;
    padding:0.75rem 1rem;
    border:1px solid var(--line);
    border-radius:999px;
    background:#f6fafc;
    color:var(--text);
    transition:border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.kiosk-chip-toggle input:checked + span{
    border-color:#85b1ea;
    background:#eef5ff;
    box-shadow:0 10px 24px rgba(45,126,247,0.12);
}

.kiosk-locker-summary{
    padding:0.95rem 1.05rem;
    border:1px solid rgba(92, 133, 173, 0.18);
    border-radius:1rem;
    background:#f6fafc;
    color:var(--text);
}

.kiosk-topology-stack{
    display:grid;
    gap:1rem;
}

.kiosk-bank-card{
    display:grid;
    gap:0.9rem;
    padding:1rem;
    border:1px solid rgba(173, 191, 206, 0.45);
    border-radius:1.2rem;
    background:#fbfdff;
    overflow:hidden;
}

.kiosk-bank-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
}

.kiosk-bank-head h3{
    margin:0;
}

.kiosk-topology-grid{
    grid-template-columns:repeat(var(--locker-columns, 3), minmax(88px, 1fr));
    width:max-content;
    min-width:100%;
    gap:14px;
}

.kiosk-locker-cell{
    max-width:none;
    min-width:88px;
}

.kiosk-locker-cell.unavailable{
    background:#eef3f7;
    border-color:#c7d6e4;
    color:#61758a;
    filter:saturate(0.55);
}

.kiosk-locker-cell.is-picked{
    border-color:#2d7ef7;
    box-shadow:0 14px 28px rgba(45,126,247,0.18);
    transform:translateY(-1px);
}

.kiosk-locker-cell.is-locked{
    cursor:not-allowed;
}

.kiosk-pickup-confirmation{
    display:grid;
    gap:0.85rem;
}

.kiosk-pin-reveal{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0.65rem;
    padding:1rem 1.1rem;
    border-radius:1rem;
    background:#f2f7ff;
    color:var(--navy);
    font-size:clamp(2rem, 4vw, 3rem);
    font-weight:800;
    letter-spacing:0.08em;
}

.kiosk-actions{
    display:flex;
    flex-wrap:wrap;
    gap:0.85rem;
}

@media (max-width: 860px){
    .kiosk-home-grid,
    .pickup-timer-layout{
        grid-template-columns:1fr;
    }

    .kiosk-action-tile{
        min-height:24rem;
    }

    .kiosk-home-header,
    .kiosk-hero-row{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media (max-width: 1180px){
    body{
        overflow-y:auto;
        overflow-x:hidden;
    }

    .cls-layout{
        grid-template-columns:minmax(20%, 26%) minmax(0, 1fr);
        overflow-y:auto;
    }

    .right-panel{
        grid-column:1 / -1;
        min-width:0;
        max-width:100%;
        min-height:24rem;
    }
}

@media (max-width: 980px){
    .cls-header{
        grid-template-columns:minmax(0, 1fr);
    }

    .primary-nav{
        position:static;
        left:auto;
        top:auto;
        transform:none;
        justify-self:start;
    }

    .header-tools{
        position:static;
        right:auto;
        top:auto;
        transform:none;
        justify-self:start;
        align-items:flex-start;
    }

    .location-picker{
        max-width:min(70vw, 14rem);
    }

    .location-picker select{
        max-width:100%;
    }

    .cls-layout{
        grid-template-columns:minmax(22%, 28%) minmax(0, 1fr);
    }

    .bank-selector-row{
        gap:14px;
    }
}

@media (max-width: 760px){
    .cls-shell{
        height:auto;
        min-height:100svh;
        grid-template-rows:auto auto;
    }

    .cls-shell{
        padding:0.75rem;
    }

    .primary-nav,
    .header-tools{
        justify-content:flex-start;
    }

    .cls-layout{
        grid-template-columns:1fr;
        overflow:visible;
    }

    .left-panel,
    .middle-panel,
    .right-panel{
        height:auto;
        overflow:visible;
        min-width:0;
        max-width:100%;
    }

    .workspace-body,
    .nav-stack,
    .right-grid{
        overflow-y:auto;
        overflow-x:hidden;
    }

    .right-panel{
        grid-column:auto;
        max-height:none;
        min-width:0;
        max-width:100%;
    }

    .split-grid{
        grid-template-columns:1fr;
    }

    .archive-workspace{
        grid-template-columns:1fr;
    }

    .archive-tree-panel{
        position:relative;
        top:auto;
        max-height:18rem;
    }

    table{
        min-width:32rem;
    }
}

@media (max-width: 560px){
    .bank-selector-row{
        gap:14px;
    }

    .brand{
        align-items:flex-start;
    }

    .brand-mark{
        width:3.5rem;
        height:3.5rem;
    }

    .workspace-head,
    .right-head,
    .panel-head{
        flex-direction:column;
    }

    .mini-action,
    .primary-tab,
    .tool-button{
        width:100%;
    }

    .toolbar-row,
    .right-actions,
    .table-actions,
    .kiosk-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .has-alert-delete{
        padding-right:1rem;
    }

    .has-alert-delete .document-meta,
    .has-alert-delete .thread-meta,
    .has-alert-delete .machine-meta,
    .has-alert-delete .profile-meta{
        max-width:100%;
    }

    .has-alert-delete > .table-actions{
        padding-right:0;
    }

    .has-alert-delete .alert-delete-action{
        position:static;
        transform:none;
        width:100%;
    }

    .bank-job{
        grid-template-columns:1fr;
        text-align:left;
    }

    .queue-grid-row{
        grid-template-columns:1fr;
    }

    .queue-grid-row .table-actions{
        justify-content:stretch;
    }

    table{
        min-width:26rem;
    }
}

.owner-locker-workspace .media-toolbar{
    align-items:center;
    justify-content:flex-start;
}

.owner-order-filter-row,
.owner-order-control-grid{
    display:grid;
    gap:1rem;
}

.owner-order-filter-row{
    grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));
    margin:1rem 0;
}

.owner-order-filter-row .mini-action.is-active{
    background:linear-gradient(135deg, var(--accent), var(--accent-2));
    color:#fff;
    box-shadow:0 12px 24px rgba(45,126,247,0.2);
}

.button-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:1.65rem;
    min-height:1.65rem;
    margin-left:0.35rem;
    padding:0 0.45rem;
    border-radius:999px;
    background:rgba(255,255,255,0.4);
    font-size:0.82em;
}

.owner-employees-card .table-wrap{
    max-height:100%;
}

.employee-edit-row[hidden]{
    display:none;
}

.owner-order-control-grid{
    grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));
}

.owner-order-control-card{
    border:1px solid rgba(33,82,132,.18);
    border-radius:1.25rem;
    padding:1.1rem;
    background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(237,247,255,.86));
    box-shadow:0 1rem 2rem rgba(16,48,78,.08);
}

.owner-order-control-head{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    align-items:flex-start;
}

.owner-order-control-head h3{
    margin:.15rem 0;
}

.owner-order-drawer{
    margin-top:1rem;
}

.owner-sync-diagnostics .metric-list{
    grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));
}

.owner-manual-order-card details[open],
.owner-order-drawer[open]{
    background:rgba(242,248,253,.72);
    border-radius:1rem;
    padding:1rem;
}

.report-drilldown-list{
    display:grid;
    gap:1rem;
}

.report-drilldown-card{
    border:1px solid rgba(33,82,132,.18);
    border-radius:1.15rem;
    background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(238,247,255,.82));
    overflow:hidden;
    transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.report-drilldown-card:hover,
.report-drilldown-card[open]{
    border-color:rgba(45,113,229,.45);
    box-shadow:0 1rem 2.2rem rgba(16,48,78,.10);
}

.report-drilldown-card[open]{
    transform:translateY(-1px);
}

.report-drilldown-summary{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    padding:1rem 1.2rem;
    cursor:pointer;
    list-style:none;
}

.report-drilldown-summary::-webkit-details-marker{
    display:none;
}

.report-drilldown-summary span{
    display:grid;
    gap:.35rem;
}

.report-drilldown-summary strong{
    color:var(--ink);
    font-size:1.05rem;
}

.report-drilldown-summary b{
    color:var(--ink);
    font-size:1.35rem;
    white-space:nowrap;
}

.report-drilldown-body{
    display:grid;
    gap:1rem;
    border-top:1px solid rgba(33,82,132,.16);
    padding:1rem;
}

.report-option-row{
    display:flex;
    flex-wrap:wrap;
    gap:.65rem;
}

.location-profile-workspace{
    display:grid;
    gap:1rem;
    min-width:0;
}

.location-profile-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:0.5rem;
    padding:0.35rem;
    border:1px solid rgba(160, 188, 214, 0.42);
    border-radius:1.2rem;
    background:linear-gradient(135deg, #f8fcff 0%, #eef6fb 100%);
}

.location-profile-tabs a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:2.45rem;
    padding:0.55rem 0.85rem;
    border-radius:999px;
    background:rgba(255,255,255,0.78);
    color:var(--navy-deep);
    font-weight:850;
    font-size:0.9rem;
}

.location-profile-tabs a:hover{
    background:#fff;
    box-shadow:0 8px 24px rgba(45,126,247,0.12);
    transform:translateY(-1px);
}

.location-profile-section{
    display:grid;
    gap:0.9rem;
    padding:1rem;
    border:1px solid rgba(160, 188, 214, 0.42);
    border-radius:1.25rem;
    background:rgba(255,255,255,0.82);
}

.location-profile-section h3{
    margin:0;
    color:var(--navy-deep);
    font-size:1.1rem;
}

.location-profile-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
    gap:0.85rem;
}

.location-profile-grid label,
.toggle-row{
    display:grid;
    gap:0.35rem;
    color:var(--muted);
    font-weight:700;
}

.location-profile-grid input,
.location-profile-grid select,
.location-profile-grid textarea{
    width:100%;
    min-width:0;
}

.toggle-row{
    grid-template-columns:auto minmax(0, 1fr);
    align-items:center;
    color:var(--text);
    padding:0.85rem 1rem;
    border:1px solid rgba(160, 188, 214, 0.34);
    border-radius:1rem;
    background:linear-gradient(135deg, #f8fcff 0%, #eef6fb 100%);
}

.toggle-row input{
    width:1.15rem;
    height:1.15rem;
}

.inheritance-banner{
    padding:0.95rem 1rem;
    border:1px solid rgba(45,126,247,0.26);
    border-radius:1rem;
    background:linear-gradient(135deg, rgba(45,126,247,0.12), rgba(19,154,144,0.1));
    color:var(--navy-deep);
    font-weight:800;
}

.log-filter-bar .mini-action.is-active{
    background:linear-gradient(135deg,#2f80ed,#1f62d0);
    color:#fff;
    box-shadow:0 0.8rem 1.8rem rgba(47,128,237,0.22);
}

.log-row td{
    border-left:0.35rem solid rgba(91,127,158,0.18);
}

.log-info td{ border-left-color:#4f9cf9; }
.log-success td{ border-left-color:#20a66a; }
.log-warning td{ border-left-color:#f2b84b; }
.log-error td{ border-left-color:#e35858; }
.log-archived td{ border-left-color:#9aa8b5; }

.log-critical td{
    border-left-color:#d81e35;
    animation:criticalPulse 1.2s ease-in-out infinite;
}

@keyframes criticalPulse{
    0%,100%{ background:rgba(216,30,53,0.06); }
    50%{ background:rgba(216,30,53,0.16); }
}

.document-upload-zone{
    display:grid;
    place-items:center;
    min-height:7.5rem;
    border:2px dashed rgba(45,126,247,0.28);
    border-radius:1.2rem;
    background:linear-gradient(135deg,rgba(45,126,247,0.07),rgba(79,209,197,0.08));
    color:var(--muted);
    font-weight:800;
    text-align:center;
}

.feature-gap-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));
    gap:0.85rem;
}

.feature-gap-card{
    padding:1rem;
    border:1px solid rgba(160,188,214,0.34);
    border-radius:1rem;
    background:linear-gradient(145deg,rgba(255,255,255,0.96),rgba(239,247,253,0.86));
}

.feature-gap-card h3{
    margin:0 0 0.55rem;
    color:var(--navy-deep);
    font-size:1rem;
}

.feature-gap-card ul{
    margin:0;
    padding-left:1.15rem;
    color:var(--muted);
    line-height:1.55;
}

.mini-action.is-testing{
    cursor:wait;
    opacity:0.78;
}

.cls-toast{
    position:fixed;
    right:1.25rem;
    bottom:1.25rem;
    z-index:9999;
    max-width:min(32rem, calc(100vw - 2rem));
    padding:0.9rem 1rem;
    border:1px solid rgba(15,45,74,0.18);
    border-radius:1rem;
    background:rgba(15,45,74,0.94);
    color:#fff;
    box-shadow:0 1.2rem 2.5rem rgba(15,45,74,0.28);
    font-weight:800;
    line-height:1.35;
    opacity:0;
    pointer-events:none;
    transform:translateY(0.75rem);
    transition:opacity 0.18s ease, transform 0.18s ease;
}

.cls-toast.is-visible{
    opacity:1;
    transform:translateY(0);
}

.cls-toast.tone-success{
    background:rgba(23,128,84,0.96);
}

.cls-toast.tone-warning{
    background:rgba(157,103,11,0.96);
}

.cls-toast.tone-error{
    background:rgba(176,42,55,0.96);
}

.genre-picker{
    margin:0;
    padding:0.85rem;
    border:1px solid rgba(160,188,214,0.38);
    border-radius:1rem;
    background:rgba(255,255,255,0.72);
}

.genre-picker legend{
    padding:0 0.45rem;
    color:var(--navy-deep);
    font-weight:900;
}

.genre-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));
    gap:0.45rem 0.75rem;
}

.genre-check{
    display:flex;
    align-items:center;
    gap:0.45rem;
    min-height:2rem;
    color:var(--navy-deep);
    font-weight:750;
}

.genre-check input{
    width:1rem;
    height:1rem;
}

.media-routing-console{
    display:grid;
    gap:1rem;
}

.now-playing-panel{
    padding:1rem;
    border:1px solid rgba(45,126,247,0.18);
    border-radius:1.15rem;
    background:linear-gradient(135deg,rgba(45,126,247,0.12),rgba(79,209,197,0.12));
}

.now-playing-panel span,
.now-playing-panel small{
    display:block;
    color:var(--muted);
    font-weight:800;
}

.now-playing-panel strong{
    display:block;
    color:var(--navy-deep);
    font-size:1.35rem;
    margin:0.2rem 0;
}

.route-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));
    gap:1rem;
}

.route-grid fieldset{
    margin:0;
    padding:0.9rem;
    border:1px solid rgba(160,188,214,0.36);
    border-radius:1rem;
    background:rgba(255,255,255,0.74);
}

.route-grid legend{
    padding:0 0.45rem;
    color:var(--navy-deep);
    font-weight:900;
}

.route-check{
    display:flex;
    align-items:center;
    gap:0.6rem;
    padding:0.55rem 0;
}

.route-check input{
    width:1.05rem;
    height:1.05rem;
}

.route-check span{
    display:grid;
    gap:0.1rem;
}

.route-check strong{
    color:var(--navy-deep);
}

.route-check small{
    color:var(--muted);
    font-weight:750;
}

.route-volume{
    max-width:34rem;
}

.live-controls{
    justify-content:flex-start;
    flex-wrap:wrap;
}

.device-registration-form{
    display:grid;
    gap:1rem;
}

.advanced-device-settings{
    border:1px solid rgba(160,188,214,0.32);
    border-radius:1rem;
    background:rgba(255,255,255,0.66);
    padding:0.2rem 0.85rem;
}

.advanced-device-settings summary{
    cursor:pointer;
    color:var(--navy-deep);
    font-weight:900;
    padding:0.75rem 0;
}

.advanced-device-settings[open]{
    padding-bottom:0.85rem;
}

body.public-home,
body.auth-page{
    margin:0;
    min-height:100vh;
    background:linear-gradient(135deg,#eef7ff,#f7fbff 45%,#dff6f4);
    color:#123653;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.public-shell,
.auth-shell{
    max-width:1180px;
    margin:0 auto;
    padding:34px 22px;
}

.public-card,
.auth-card{
    background:rgba(255,255,255,.86);
    border:1px solid rgba(18,54,83,.13);
    border-radius:28px;
    padding:24px;
    box-shadow:0 18px 45px rgba(18,54,83,.12);
}

.auth-shell{
    min-height:100vh;
    display:grid;
    place-items:center;
}

.auth-card{
    width:min(100%,460px);
}

.auth-card h1{
    margin:.2rem 0 1rem;
    font-size:clamp(2rem,5vw,3.2rem);
}

.auth-card label{
    display:grid;
    gap:.45rem;
    margin:.9rem 0;
    font-weight:800;
}

.auth-card input:not([type="checkbox"]){
    min-height:48px;
    border:1px solid rgba(18,54,83,.18);
    border-radius:16px;
    padding:.75rem 1rem;
    font:inherit;
}

.auth-error{
    border:1px solid rgba(190,18,60,.24);
    background:#fff1f2;
    color:#9f1239;
    border-radius:16px;
    padding:.8rem 1rem;
    font-weight:800;
}

.auth-links a,
.public-card a{
    color:#1d64d8;
    font-weight:800;
}
