:root{--bg:#0c152c;--bg2:#191747;--panel:#191747;--panel2:#191747;--line:#1c507b;--line2:#1c507b;--text:#f1f3f4;--muted:rgba(241,243,244,.72);--faint:rgba(241,243,244,.48);--mint:#d23a27;--mint-dark:#d23a27;--gold:#1c507b;--danger:#d23a27;--warning:#d23a27;--info:#1c507b;--success:#1c507b;--shadow:0 24px 70px rgba(0,0,0,.28);--radius:20px;--sidebar:268px}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;color:var(--text);font-family:"Encode Sans",Arial,sans-serif;font-size:15px;line-height:1.5;background:radial-gradient(circle at 70% -10%,rgba(28,80,123,.22),transparent 31%),var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.muted{color:var(--muted)}.eyebrow{display:block;color:var(--mint);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}.brand{display:flex;align-items:center;gap:12px;font-size:.94rem;font-weight:900;letter-spacing:.16em}.brand img{width:38px;height:38px}.brand-large img{width:48px;height:48px}.brand-large{font-size:1.08rem}.login-body{min-height:100vh;overflow-x:hidden}.login-shell{display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(430px,.95fr);min-height:100vh;position:relative;z-index:1}.login-brand-panel{padding:56px clamp(45px,7vw,110px);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(255,255,255,.08);background:linear-gradient(155deg,rgba(12,21,44,.96),rgba(12,21,44,.88))}.login-brand-copy{max-width:660px}.login-brand-copy h1{font-size:clamp(2.8rem,5.1vw,5.8rem);line-height:.98;letter-spacing:-.055em;margin:12px 0 28px}.login-brand-copy p{color:rgba(241,243,244,.72);font-size:clamp(1rem,1.5vw,1.2rem);max-width:570px}.security-line{color:var(--muted);display:flex;align-items:center;gap:10px}.security-dot{width:9px;height:9px;border-radius:99px;background:var(--mint);box-shadow:0 0 0 5px rgba(210,58,39,.1)}.login-form-panel{display:grid;place-items:center;padding:38px;background:rgba(12,21,44,.55)}.login-card{width:min(100%,480px);padding:44px;border:1px solid var(--line);border-radius:28px;background:rgba(25,23,71,.88);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.login-card h2{font-size:2.35rem;letter-spacing:-.04em;margin:5px 0 5px}.login-help{font-size:.82rem;color:var(--faint);margin:24px 0 0;text-align:center}.login-ambient{position:fixed;border-radius:50%;filter:blur(90px);opacity:.18;pointer-events:none}.login-ambient-one{width:420px;height:420px;background:#d23a27;right:12%;top:-180px}.login-ambient-two{width:360px;height:360px;background:#d23a27;left:-160px;bottom:-170px}.mobile-brand{display:none}.stack-form{display:flex;flex-direction:column;gap:18px;margin-top:26px}.field{display:flex;flex-direction:column;gap:8px;color:rgba(241,243,244,.82);font-size:.82rem;font-weight:700}.field small{color:var(--faint);font-weight:500}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line2);border-radius:12px;color:var(--text);background:#0c152c;padding:12px 14px;outline:none;transition:border .16s,box-shadow .16s}.field textarea{resize:vertical;min-height:100px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--mint-dark);box-shadow:0 0 0 4px rgba(210,58,39,.09)}.password-wrap{display:block;position:relative}.password-wrap input{padding-right:65px}.password-toggle{position:absolute;right:9px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--mint);font-size:.78rem;font-weight:800}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:11px;padding:11px 16px;border:1px solid transparent;font-weight:800;white-space:nowrap;transition:transform .14s,background .14s,border .14s}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--mint);color:#f1f3f4}.button-primary:hover{background:#b93224}.button-secondary{background:var(--panel2);border-color:var(--line2);color:var(--text)}.button-ghost{border-color:var(--line);background:transparent;color:rgba(241,243,244,.82)}.button-large{padding:14px 18px}.button-small{padding:8px 11px;font-size:.8rem}.button-full{width:100%}.alert{padding:13px 15px;border-radius:12px;margin:16px 0;border:1px solid}.alert-error{color:#f1f3f4;background:rgba(210,58,39,.1);border-color:rgba(210,58,39,.28)}.alert-success{color:#f1f3f4;background:rgba(28,80,123,.1);border-color:rgba(28,80,123,.28)}.alert-warning{color:#f1f3f4;background:rgba(210,58,39,.1);border-color:rgba(210,58,39,.28)}.admin-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);display:flex;flex-direction:column;padding:25px 18px 18px;background:#0c152c;border-right:1px solid #1c507b;z-index:30}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:0 8px 28px}.sidebar-close{display:none;border:0;background:transparent;color:var(--text);font-size:2rem}.sidebar-nav{display:flex;flex-direction:column;gap:5px;overflow:auto}.nav-label{color:rgba(241,243,244,.44);font-size:.66rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;padding:20px 11px 7px}.nav-item{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 11px;border-radius:11px;color:rgba(241,243,244,.70);font-weight:700}.nav-item:hover{background:#191747;color:var(--text)}.nav-item.active{background:linear-gradient(90deg,rgba(210,58,39,.16),rgba(210,58,39,.05));color:var(--mint);box-shadow:inset 3px 0 var(--mint)}.nav-item.disabled{opacity:.48;cursor:not-allowed}.nav-item small{margin-left:auto;font-size:.59rem;text-transform:uppercase;letter-spacing:.08em}.nav-icon{width:24px;text-align:center;font-size:1.1rem}.sidebar-user{margin-top:auto;border-top:1px solid #1c507b;padding:18px 4px 0;display:flex;align-items:center;gap:10px}.avatar,.topbar-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--mint),#1c507b);color:#f1f3f4;font-weight:900}.sidebar-user-copy{display:flex;min-width:0;flex-direction:column}.sidebar-user-copy strong{font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-copy span{font-size:.7rem;color:var(--faint)}.icon-button{margin-left:auto;border:0;background:transparent;color:var(--muted);font-size:1.1rem}.main-column{grid-column:2;min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{height:78px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid rgba(28,80,123,.72);background:rgba(12,21,44,.84);backdrop-filter:blur(18px)}.topbar-title{display:flex;flex-direction:column}.topbar-kicker{color:var(--faint);font-size:.63rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900}.topbar-title strong{font-size:1rem}.topbar-actions{display:flex;align-items:center;gap:14px}.topbar-avatar{width:34px;height:34px;border-radius:10px}.menu-button{display:none;border:0;background:transparent;padding:5px}.menu-button span{display:block;width:23px;height:2px;background:var(--text);margin:5px}.content{width:min(100%,1600px);margin:0 auto;padding:34px;flex:1}.admin-footer{display:flex;justify-content:space-between;color:var(--faint);font-size:.72rem;padding:22px 34px;border-top:1px solid rgba(28,80,123,.45)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:5px 0 28px}.page-heading h1{font-size:clamp(2rem,3vw,3.15rem);letter-spacing:-.045em;margin:2px 0 6px}.page-heading p{color:var(--muted);margin:0}.page-heading.compact{margin-bottom:24px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric-card{position:relative;overflow:hidden;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(25,23,71,.94),rgba(12,21,44,.96));box-shadow:0 13px 36px rgba(0,0,0,.12)}.metric-card:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;background:rgba(210,58,39,.04);right:-42px;top:-48px}.metric-card span{display:block;color:var(--muted);font-size:.79rem;font-weight:750}.metric-card strong{display:block;font-size:2.4rem;line-height:1;margin:15px 0 9px;letter-spacing:-.05em}.metric-card small{color:var(--faint)}.metric-icon{position:absolute;right:18px;top:17px;width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:rgba(210,58,39,.1);color:var(--mint);font-weight:900}.panel{border:1px solid var(--line);border-radius:var(--radius);background:rgba(25,23,71,.86);box-shadow:0 12px 35px rgba(0,0,0,.1)}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}.panel-heading h2{font-size:1.25rem;letter-spacing:-.025em;margin:0}.text-link{color:var(--mint);font-weight:800;font-size:.83rem}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:880px}.data-table th{text-align:left;color:rgba(241,243,244,.48);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:13px 18px;border-bottom:1px solid var(--line)}.data-table td{padding:16px 18px;border-bottom:1px solid rgba(28,80,123,.72);vertical-align:middle}.data-table tbody tr{transition:background .13s}.data-table tbody tr:hover{background:rgba(28,80,123,.06)}.data-table tbody tr:last-child td{border-bottom:0}.reference-link{color:var(--mint);font-weight:900;letter-spacing:.02em}.contact-cell{display:flex;align-items:center;gap:10px}.contact-cell div{display:flex;flex-direction:column}.contact-cell small,.table-subline{display:block;color:var(--faint);font-size:.72rem;margin-top:4px}.country-symbol{font-size:1.35rem}.chip-row{display:flex;flex-wrap:wrap;gap:5px}.chip{display:inline-flex;padding:5px 8px;border-radius:8px;background:#191747;border:1px solid #1c507b;color:rgba(241,243,244,.76);font-size:.68rem;font-weight:750}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;border:1px solid;font-size:.67rem;font-weight:850;white-space:nowrap}.badge-success{color:#f1f3f4;background:rgba(28,80,123,.1);border-color:rgba(28,80,123,.28)}.badge-info{color:#f1f3f4;background:rgba(28,80,123,.1);border-color:rgba(28,80,123,.28)}.badge-warning{color:#f1f3f4;background:rgba(210,58,39,.1);border-color:rgba(210,58,39,.28)}.badge-danger{color:#f1f3f4;background:rgba(210,58,39,.1);border-color:rgba(210,58,39,.28)}.badge-accent{color:#f1f3f4;background:rgba(210,58,39,.1);border-color:rgba(210,58,39,.28)}.badge-muted,.badge-neutral{color:rgba(241,243,244,.68);background:rgba(241,243,244,.08);border-color:rgba(241,243,244,.2)}.row-arrow{display:grid;place-items:center;width:32px;height:32px;margin-left:auto;border:1px solid var(--line);border-radius:10px;color:var(--mint)}.empty-state{text-align:center;padding:70px 24px}.empty-state h3{margin:12px 0 5px}.empty-state p{color:var(--muted)}.empty-icon{font-size:2.5rem;color:var(--mint)}.module-preview{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:24px;padding:30px;border:1px solid rgba(210,58,39,.19);border-radius:var(--radius);background:linear-gradient(110deg,rgba(210,58,39,.08),rgba(28,80,123,.04))}.module-preview h2{margin:0 0 7px}.module-preview p{color:var(--muted);margin:0;max-width:700px}.module-pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.module-pills span{padding:8px 11px;border-radius:10px;background:rgba(12,21,44,.52);border:1px solid var(--line);color:var(--muted);font-size:.75rem}.filter-panel{padding:20px;margin-bottom:20px}.filter-grid{display:grid;grid-template-columns:2fr repeat(4,minmax(125px,1fr));gap:13px;align-items:end}.filter-grid .field:nth-of-type(6),.filter-grid .field:nth-of-type(7){grid-column:span 1}.search-field{grid-column:span 1}.filter-actions{display:flex;gap:8px;grid-column:span 2}.result-heading{padding-top:18px;padding-bottom:18px}.result-range{color:var(--faint);font-size:.77rem}.account-preview{display:flex;flex-direction:column;margin-bottom:7px}.account-preview strong{font-size:.83rem}.account-preview small{color:var(--faint);font-size:.7rem}.priority-high,.priority-urgent{color:var(--warning)}.pagination{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.page-button{border:1px solid var(--line);border-radius:9px;padding:8px 11px;color:var(--text)}.page-button.disabled{opacity:.35;pointer-events:none}.detail-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.back-link{color:var(--muted);font-weight:750}.record-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:28px 30px;margin-bottom:20px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(120deg,rgba(210,58,39,.1),rgba(25,23,71,.92) 40%,rgba(28,80,123,.045))}.record-hero h1{margin:10px 0 4px;font-size:clamp(1.7rem,3vw,2.7rem);letter-spacing:-.04em}.record-hero p{margin:0;color:var(--muted)}.record-meta{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.78rem}.record-status-stack{display:flex;gap:10px}.record-status-stack>div{display:flex;flex-direction:column;gap:7px;align-items:flex-end}.record-status-stack>div>span{font-size:.66rem;color:var(--faint);text-transform:uppercase;letter-spacing:.1em}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.detail-main{display:flex;flex-direction:column;gap:20px;min-width:0}.detail-sidebar{display:flex;flex-direction:column;gap:20px;min-width:0}.detail-section{overflow:hidden}.detail-subsection{padding:21px 24px;border-bottom:1px solid var(--line)}.detail-subsection:last-child{border-bottom:0}.detail-subsection h3{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0 0 12px}.value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.value-card{display:flex;align-items:center;gap:11px;min-width:0;padding:12px;border:1px solid #1c507b;border-radius:11px;background:#191747}.value-card.subtle{background:#0c152c}.value-card strong{overflow:hidden;text-overflow:ellipsis}.value-icon{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:8px;background:rgba(210,58,39,.1);color:var(--mint);font-weight:900}.large-chips .chip{font-size:.76rem;padding:7px 10px}.count-circle{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:#1c507b;color:var(--mint);font-weight:900}.report-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:22px 24px}.report-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#0c152c;min-width:0}.report-list code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-mini{border:0;background:transparent;color:var(--mint);font-size:.7rem;font-weight:800}.empty-inline{padding:26px;color:var(--muted)}.timeline{padding:22px 25px}.timeline-item{display:grid;grid-template-columns:18px 1fr;gap:13px;position:relative}.timeline-item:not(:last-child):after{content:"";position:absolute;left:5px;top:17px;bottom:-8px;width:1px;background:var(--line)}.timeline-dot{width:11px;height:11px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px rgba(210,58,39,.08);margin-top:5px;z-index:1}.timeline-content{padding-bottom:28px}.timeline-heading{display:flex;justify-content:space-between;gap:20px}.timeline-heading span{color:var(--faint);font-size:.72rem}.inline-definition{display:flex;flex-direction:column;gap:5px;margin:10px 0}.inline-definition>div{display:grid;grid-template-columns:75px minmax(0,1fr);gap:10px}.inline-definition dt{color:var(--faint);font-size:.7rem}.inline-definition dd{margin:0;font-size:.76rem;min-width:0}.inline-definition code{overflow-wrap:anywhere}.note-form{padding:22px 24px;border-bottom:1px solid var(--line)}.form-end{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:12px}.notes-list{padding:5px 24px 18px}.note{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.note:last-child{border-bottom:0}.small-avatar{width:34px;height:34px;border-radius:10px}.note-meta{display:flex;justify-content:space-between;gap:15px;margin-bottom:6px}.note-meta span{color:var(--faint);font-size:.7rem}.note-body{color:rgba(241,243,244,.82);white-space:normal}.sticky-panel{position:sticky;top:98px;padding-bottom:22px}.sticky-panel .stack-form{padding:0 22px;margin-top:20px}.contact-panel{overflow:hidden}.definition-list{margin:0}.definition-list>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;padding:12px 22px;border-bottom:1px solid var(--line)}.definition-list>div:last-child{border-bottom:0}.definition-list dt{color:var(--faint);font-size:.72rem}.definition-list dd{margin:0;overflow-wrap:anywhere}.definition-list a{color:var(--mint)}.technical-panel{padding:0}.technical-panel summary{padding:18px 22px;cursor:pointer;font-weight:800}.technical-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.technical-list>div{grid-template-columns:130px minmax(0,1fr)}.technical-list .wide{grid-column:1/-1}.two-column-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}.form-panel{padding-bottom:25px}.narrow-form{padding:0 24px;max-width:680px}.account-card{text-align:center;padding:34px}.large-avatar{display:grid;place-items:center;width:76px;height:76px;border-radius:24px;margin:0 auto 16px;background:linear-gradient(135deg,var(--mint),#1c507b);color:#f1f3f4;font-weight:900;font-size:2rem}.account-card h2{margin:0 0 4px}.account-card>p{color:var(--muted);margin:0 0 24px}.account-card .definition-list{text-align:left}.sidebar-backdrop{display:none}
@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:repeat(4,1fr)}.search-field{grid-column:span 2}.filter-actions{grid-column:span 2}.detail-grid{grid-template-columns:minmax(0,1fr) 310px}}
@media(max-width:900px){:root{--sidebar:280px}.admin-shell{display:block}.sidebar{transform:translateX(-105%);transition:transform .22s ease;box-shadow:30px 0 70px rgba(0,0,0,.42)}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-close{display:block}.sidebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:25}.sidebar-open .sidebar-backdrop{display:block}.main-column{display:flex}.menu-button{display:block}.content{padding:25px 20px}.topbar{padding:0 20px}.topbar-actions .button{display:none}.detail-grid,.two-column-grid{grid-template-columns:1fr}.sticky-panel{position:static}.login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}.mobile-brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.14em;margin-bottom:35px}.mobile-brand img{width:38px}.login-form-panel{min-height:100vh}.record-status-stack{align-items:flex-end}.technical-list{grid-template-columns:1fr}.technical-list .wide{grid-column:auto}}
@media(max-width:680px){.page-heading,.record-hero,.module-preview{align-items:flex-start;flex-direction:column}.page-heading .button{width:100%}.metric-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr}.search-field,.filter-actions{grid-column:span 1}.filter-actions .button{flex:1}.value-grid,.report-list{grid-template-columns:1fr}.record-status-stack{width:100%;justify-content:flex-start}.record-status-stack>div{align-items:flex-start}.content{padding:20px 14px}.topbar{height:68px}.topbar-kicker{display:none}.topbar-avatar{display:none}.panel,.record-hero{border-radius:15px}.panel-heading{padding:18px}.data-table td,.data-table th{padding-left:14px;padding-right:14px}.login-form-panel{padding:18px}.login-card{padding:28px 22px;border-radius:20px}.login-card h2{font-size:2rem}.module-pills{justify-content:flex-start}.admin-footer{padding:18px;flex-direction:column;gap:5px}.technical-list>div{grid-template-columns:1fr;gap:3px}.form-end{align-items:stretch;flex-direction:column}.form-end .button{width:100%}}

/* ========================================================================== 
   OKULARITY BRAND SYSTEM - Brand Guide v1.0 (10.21.2025)
   ========================================================================== */
:root{
    --bg:#0c152c;
    --bg2:#191747;
    --panel:rgba(25,23,71,.72);
    --panel2:rgba(28,80,123,.24);
    --line:rgba(241,243,244,.14);
    --line2:rgba(241,243,244,.24);
    --text:#f1f3f4;
    --muted:rgba(241,243,244,.72);
    --faint:rgba(241,243,244,.48);
    --mint:#d23a27;
    --mint-dark:#d23a27;
    --gold:#d23a27;
    --danger:#d23a27;
    --warning:#d23a27;
    --info:#1c507b;
    --success:#1c507b;
    --shadow:0 24px 70px rgba(0,0,0,.34);
}

html{background:#0c152c}
body,
button,
input,
select,
textarea{
    font-family:"Encode Sans",Arial,sans-serif;
}
body{
    color:#f1f3f4;
    background:
        radial-gradient(circle at 86% -10%,rgba(28,80,123,.32),transparent 34%),
        linear-gradient(145deg,#0c152c 0%,#191747 100%);
}
h1,h2,h3,
.button,
.eyebrow,
.nav-label,
.nav-item,
.topbar-title,
.metric-card strong,
.reference-link,
.badge,
.brand{
    font-family:Montserrat,Arial,sans-serif;
}
h4,blockquote,.pull-quote{font-family:Lora,Georgia,serif}
.sr-only{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

/* Official logo treatment */
.brand{display:block;line-height:0}
.brand img{
    display:block;
    width:178px;
    max-width:100%;
    height:auto;
    object-fit:contain;
}
.sidebar-top{padding:3px 8px 31px}

/* Core admin surfaces */
.sidebar{
    background:#0c152c;
    border-right-color:rgba(241,243,244,.12);
}
.sidebar-user{border-top-color:rgba(241,243,244,.12)}
.sidebar-close,.menu-button span{color:#f1f3f4;background-color:#f1f3f4}
.nav-label{color:rgba(241,243,244,.44)}
.nav-item{color:rgba(241,243,244,.70)}
.nav-item:hover{background:rgba(28,80,123,.24);color:#f1f3f4}
.nav-item.active{
    color:#f1f3f4;
    background:linear-gradient(90deg,rgba(210,58,39,.28),rgba(210,58,39,.07));
    box-shadow:inset 3px 0 #d23a27;
}
.topbar{
    border-bottom-color:rgba(241,243,244,.12);
    background:rgba(12,21,44,.90);
}
.admin-footer{border-top-color:rgba(241,243,244,.10)}

.field{color:rgba(241,243,244,.82)}
.field input,.field select,.field textarea{
    color:#f1f3f4;
    background:rgba(0,0,0,.24);
    border-color:rgba(241,243,244,.22);
}
.field input:focus,.field select:focus,.field textarea:focus{
    border-color:#d23a27;
    box-shadow:0 0 0 4px rgba(210,58,39,.12);
}
.password-toggle,.text-link,.reference-link,.row-arrow,.copy-mini,.definition-list a{color:#d23a27}

.button{font-weight:700}
.button-primary{background:#d23a27;color:#f1f3f4}
.button-primary:hover{background:#b93224}
.button-secondary{background:rgba(28,80,123,.26);border-color:rgba(241,243,244,.18);color:#f1f3f4}
.button-ghost{border-color:rgba(241,243,244,.18);color:#f1f3f4}

.alert-error,.alert-warning{
    color:#f1f3f4;
    background:rgba(210,58,39,.14);
    border-color:rgba(210,58,39,.42);
}
.alert-success,.alert-info{
    color:#f1f3f4;
    background:rgba(28,80,123,.22);
    border-color:rgba(28,80,123,.58);
}

.avatar,.topbar-avatar,.large-avatar{
    background:linear-gradient(135deg,#1c507b,#191747);
    color:#f1f3f4;
}
.panel,.metric-card{
    border-color:rgba(241,243,244,.13);
    background:linear-gradient(145deg,rgba(25,23,71,.82),rgba(12,21,44,.94));
}
.panel-heading,.data-table th,.data-table td,.detail-subsection,.note-form,.note,.definition-list>div,.technical-list,.pagination{
    border-color:rgba(241,243,244,.11);
}
.metric-card:after{background:rgba(210,58,39,.055)}
.metric-icon,.value-icon{
    color:#f1f3f4;
    background:rgba(210,58,39,.24);
}
.chip,.value-card,.report-list>div{
    color:rgba(241,243,244,.82);
    background:rgba(28,80,123,.18);
    border-color:rgba(241,243,244,.14);
}
.count-circle{background:rgba(210,58,39,.20);color:#f1f3f4}
.data-table tbody tr:hover{background:rgba(28,80,123,.11)}

.badge-success,.badge-info,.badge-accent{
    color:#f1f3f4;
    background:rgba(28,80,123,.28);
    border-color:rgba(28,80,123,.66);
}
.badge-warning,.badge-danger{
    color:#f1f3f4;
    background:rgba(210,58,39,.18);
    border-color:rgba(210,58,39,.54);
}
.badge-muted,.badge-neutral{
    color:rgba(241,243,244,.74);
    background:rgba(241,243,244,.07);
    border-color:rgba(241,243,244,.17);
}
.module-preview{
    border-color:rgba(210,58,39,.26);
    background:linear-gradient(110deg,rgba(210,58,39,.11),rgba(28,80,123,.12));
}
.module-pills span{background:rgba(12,21,44,.65);border-color:rgba(241,243,244,.14)}
.record-hero{
    border-color:rgba(241,243,244,.14);
    background:linear-gradient(120deg,rgba(210,58,39,.15),rgba(25,23,71,.90) 42%,rgba(28,80,123,.18));
}
.timeline-dot{background:#d23a27;box-shadow:0 0 0 5px rgba(210,58,39,.11)}

/* Minimal login page: official logo + form controls only */
.login-body{
    min-height:100vh;
    overflow-x:hidden;
    background:
        radial-gradient(circle at 78% 9%,rgba(28,80,123,.48),transparent 31%),
        radial-gradient(circle at 10% 100%,rgba(210,58,39,.20),transparent 29%),
        linear-gradient(145deg,#0c152c 0%,#191747 100%);
}
.login-shell{
    display:grid;
    grid-template-columns:1fr;
    place-items:center;
    min-height:100vh;
    padding:34px;
}
.login-brand-panel,.login-ambient,.mobile-brand{display:none!important}
.login-form-panel{
    display:block;
    width:100%;
    min-height:auto;
    padding:0;
    background:transparent;
}
.login-card{
    width:min(100%,430px);
    margin:0 auto;
    padding:48px 42px 42px;
    color:#0c152c;
    background:#f1f3f4;
    border:0;
    border-radius:18px;
    box-shadow:0 28px 80px rgba(0,0,0,.38);
    backdrop-filter:none;
}
.login-logo{
    display:block;
    width:min(285px,82%);
    margin:0 auto 38px;
    line-height:0;
}
.login-logo img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
}
.login-form{margin-top:0;gap:15px}
.login-card .field{gap:0}
.login-card .field input{
    min-height:52px;
    padding:14px 16px;
    color:#0c152c;
    background:#fff;
    border:1px solid rgba(28,80,123,.30);
    border-radius:7px;
    font-size:1rem;
}
.login-card .field input::placeholder{color:rgba(12,21,44,.58)}
.login-card .field input:focus{
    border-color:#1c507b;
    box-shadow:0 0 0 4px rgba(28,80,123,.12);
}
.login-card .button-primary{
    min-height:52px;
    margin-top:3px;
    border-radius:7px;
    background:#d23a27;
    color:#f1f3f4;
    font-family:Montserrat,Arial,sans-serif;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.login-card .button-primary:hover{background:#b93224}
.login-card .alert{margin:0 0 16px}
.login-card .alert-error,
.login-card .alert-warning{
    color:#0c152c;
    background:rgba(210,58,39,.10);
    border-color:rgba(210,58,39,.38);
}
.login-card .alert-success{
    color:#0c152c;
    background:rgba(28,80,123,.10);
    border-color:rgba(28,80,123,.32);
}

@media(max-width:680px){
    .login-shell{padding:18px}
    .login-card{padding:38px 24px 28px;border-radius:14px}
    .login-logo{width:min(260px,86%);margin-bottom:31px}
    .brand img{width:164px}
}

/* ========================================================================== 
   USER ADMINISTRATION MODULE
   ========================================================================== */
.user-filter-grid{display:grid;grid-template-columns:minmax(280px,1fr) 220px auto;gap:14px;align-items:end;padding:20px}
.user-metrics{margin-bottom:20px}
.user-list-avatar{width:38px;height:38px;min-width:38px;border-radius:12px;font-size:.9rem}
.users-table td{vertical-align:middle}
.user-editor-grid,.user-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:20px;align-items:start}
.user-form-padding{padding:24px}
.module-access-panel{position:sticky;top:104px}
.module-access-list{display:grid;gap:10px;padding:20px}
.module-access-option{position:relative;display:grid;grid-template-columns:22px 42px minmax(0,1fr);align-items:center;gap:12px;padding:15px;border:1px solid rgba(241,243,244,.14);border-radius:13px;background:rgba(28,80,123,.11);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.module-access-option:hover{border-color:rgba(210,58,39,.48);background:rgba(28,80,123,.18);transform:translateY(-1px)}
.module-access-option input{width:18px;height:18px;margin:0;accent-color:#d23a27}
.module-access-option>span:last-child{display:grid;gap:3px}
.module-access-option strong{font-family:Montserrat,Arial,sans-serif;font-size:.87rem}
.module-access-option small{color:var(--muted);line-height:1.45}
.module-access-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(210,58,39,.20);font-family:Montserrat,Arial,sans-serif;font-weight:700}
.modules-automatic{opacity:.56;position:relative}
.modules-automatic:after{content:"All modules are granted automatically to super administrators.";display:block;margin:0 20px 20px;padding:11px 13px;border-radius:9px;background:rgba(210,58,39,.14);color:var(--text);font-size:.83rem}
.panel-action-bar{padding:18px 20px 22px;border-top:1px solid rgba(241,243,244,.11)}
.user-record-hero{align-items:center}
.user-record-identity{display:flex;align-items:center;gap:20px}
.user-record-avatar{width:70px;height:70px;min-width:70px;margin:0;border-radius:21px}
.user-detail-grid{grid-template-columns:minmax(0,1fr) 350px}
.user-security-column{display:grid;gap:20px}
.module-editor-section{padding:22px 24px}
.module-editor-section>h3{margin-top:0}
.compact-module-list{padding:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.security-action-copy{display:grid;gap:14px;padding:0 20px 22px}
.security-action-copy .definition-list{margin:0 -20px 4px}
.security-action-copy form{margin:0}
.user-detail-list{margin-bottom:0}
.one-time-link-alert{display:grid;gap:12px;margin-bottom:20px}
.one-time-link-alert>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:15px}
.one-time-link-alert>div:first-child span{font-size:.82rem;color:var(--muted)}
.one-time-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.one-time-link-row input{min-width:0;padding:11px 12px;border:1px solid rgba(241,243,244,.20);border-radius:7px;background:rgba(0,0,0,.23);color:var(--text);font:inherit}
.token-history{display:grid}
.token-history>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:3px;padding:14px 20px;border-top:1px solid rgba(241,243,244,.10)}
.token-history>div:first-child{border-top:0}
.token-history .badge{grid-row:1/3;align-self:center}
.token-history strong{font-family:Montserrat,Arial,sans-serif;font-size:.84rem}
.token-history small{color:var(--muted)}
.switch-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;color:var(--text);cursor:pointer}
.switch-row>span{display:grid;gap:3px}
.switch-row strong{font-family:Montserrat,Arial,sans-serif;font-size:.86rem}
.switch-row small{color:var(--muted)}
.switch-row input{position:absolute;opacity:0;pointer-events:none}
.switch-row i{position:relative;width:48px;height:27px;min-width:48px;border-radius:999px;background:rgba(241,243,244,.20);transition:background .18s ease}
.switch-row i:after{content:"";position:absolute;top:4px;left:4px;width:19px;height:19px;border-radius:50%;background:#f1f3f4;transition:transform .18s ease}
.switch-row input:checked+i{background:#1c507b}
.switch-row input:checked+i:after{transform:translateX(21px)}
.switch-row input:disabled+i{opacity:.55;cursor:not-allowed}
.access-denied{max-width:760px;margin:40px auto}
.password-setup-card .login-logo{margin-bottom:30px}

@media(max-width:1100px){.user-editor-grid,.user-detail-grid{grid-template-columns:1fr}.module-access-panel{position:static}.user-security-column{grid-template-columns:repeat(2,minmax(0,1fr))}.user-security-column>section:last-child{grid-column:1/-1}}
@media(max-width:760px){.user-filter-grid{grid-template-columns:1fr}.user-filter-grid .filter-actions{grid-column:auto}.compact-module-list{grid-template-columns:1fr}.user-security-column{grid-template-columns:1fr}.user-security-column>section:last-child{grid-column:auto}.user-record-identity{align-items:flex-start}.user-record-hero .record-status-stack{margin-top:18px}.one-time-link-alert>div:first-child{align-items:flex-start;flex-direction:column}.one-time-link-row{grid-template-columns:1fr}.one-time-link-row .button{width:100%}}
@media(max-width:520px){.user-record-identity{flex-direction:column}.module-access-option{grid-template-columns:20px 36px minmax(0,1fr);padding:13px}.module-access-icon{width:34px;height:34px}.login-shell{padding:18px}.login-card{padding:34px 22px 28px}}

/* ========================================================================== 
   CLIENT ACCESS + APPROVALS MODULE
   ========================================================================== */
.heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.module-tabs{display:flex;gap:7px;overflow-x:auto;margin:-10px 0 24px;padding:5px 0 9px;scrollbar-width:thin}
.module-tabs a{flex:0 0 auto;padding:9px 14px;border:1px solid rgba(241,243,244,.13);border-radius:999px;color:var(--muted);font-family:Montserrat,Arial,sans-serif;font-size:.76rem;font-weight:700}
.module-tabs a:hover{color:var(--text);border-color:rgba(210,58,39,.45)}
.module-tabs a.active{color:#f1f3f4;background:#1c507b;border-color:#1c507b}
.table-scroll{overflow:auto;overscroll-behavior-inline:contain}
.table-range{color:var(--muted);font-size:.76rem;white-space:nowrap}
.table-primary-link{display:block;margin-top:4px;color:#f1f3f4;font-family:Montserrat,Arial,sans-serif;font-weight:700}
.table-primary-link:hover,.back-link:hover{color:#d23a27}
.row-arrow{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(241,243,244,.16);border-radius:10px;font-weight:800}
.row-arrow:hover{background:#d23a27;border-color:#d23a27}
.row-urgent{box-shadow:inset 3px 0 #d23a27}
.urgent-copy{color:#ff9e91}
.date-overdue{color:#ff9e91;font-weight:800}
.detail-topline{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}
.back-link{color:var(--muted);font-weight:700;font-size:.84rem}

.filters{display:grid;gap:14px;padding:20px;align-items:end}
.approvals-filters{grid-template-columns:minmax(220px,1.7fr) repeat(4,minmax(140px,.75fr))}
.approvals-filters .filter-actions{grid-column:span 2}
.field-wide{min-width:220px}
.filter-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.approvals-list-panel{overflow:hidden}
.approvals-table{min-width:1180px}
.compact-table{min-width:720px}
.compact-table td{padding-top:12px;padding-bottom:12px}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 22px;border-top:1px solid rgba(241,243,244,.11)}
.pagination a{color:#f1f3f4;font-weight:700}
.pagination span{color:var(--faint)}

.record-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:28px 30px;margin-bottom:22px;border:1px solid rgba(241,243,244,.14);border-radius:var(--radius);background:linear-gradient(120deg,rgba(210,58,39,.15),rgba(25,23,71,.90) 42%,rgba(28,80,123,.18))}
.record-hero h1{font-family:Montserrat,Arial,sans-serif;font-size:clamp(1.9rem,3.2vw,3.3rem);line-height:1.05;letter-spacing:-.045em;margin:3px 0 8px}
.record-hero p{margin:0;color:var(--muted)}
.record-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.record-status-stack{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:11px;min-width:min(100%,420px)}
.record-status-stack>div{padding:13px 15px;border:1px solid rgba(241,243,244,.13);border-radius:12px;background:rgba(12,21,44,.44)}
.record-status-stack span{display:block;color:var(--faint);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.record-status-stack strong{display:block;margin-top:5px;font-family:Montserrat,Arial,sans-serif;font-size:.9rem}

.approval-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:20px;align-items:start}
.approval-main-column,.approval-side-column,.approval-editor-side,.permission-column{display:grid;gap:20px;min-width:0}
.approval-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:20px;align-items:start}
.approval-editor-side,.approval-side-column{position:sticky;top:98px}
.approval-form-padding{padding:22px 24px;margin:0}
.authority-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(241,243,244,.10)}
.authority-summary>div{min-width:0;padding:20px;background:#151638}
.authority-summary span,.record-copy-grid span{display:block;color:var(--faint);font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.authority-summary strong{display:block;margin-top:7px;font-family:Montserrat,Arial,sans-serif;font-size:1.08rem}
.authority-summary small{display:block;color:var(--muted);font-size:.73rem;margin-top:5px}
.authority-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,.7fr) auto;gap:14px;align-items:end;padding:22px 24px;border-top:1px solid rgba(241,243,244,.11)}
.decision-record{display:flex;align-items:center;gap:15px;padding:24px}
.decision-check{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#1c507b;font-weight:900}
.decision-record div{display:grid;gap:3px}.decision-record strong{font-family:Montserrat,Arial,sans-serif}.decision-record small{color:var(--muted)}
.record-copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.record-copy-grid>div{padding:22px 24px;min-height:130px;border-right:1px solid rgba(241,243,244,.11)}
.record-copy-grid>div:last-child{border-right:0}.record-copy-grid p{margin:10px 0 0;white-space:normal;overflow-wrap:anywhere}
.workflow-action-list{display:grid;gap:14px;padding:20px}
.button-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.inline-litigation-form{display:grid;gap:11px;padding-top:15px;border-top:1px solid rgba(241,243,244,.11)}
.option-switch-list{padding:10px 22px}
.compact-switches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:4px 0}
.compact-switches label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.8rem}.compact-switches input{accent-color:#d23a27}
.form-row.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.file-drop{position:relative;display:grid;place-items:center;gap:5px;min-height:155px;padding:24px;border:1px dashed rgba(241,243,244,.28);border-radius:14px;text-align:center;background:rgba(28,80,123,.09);cursor:pointer}
.file-drop:hover{border-color:#d23a27;background:rgba(210,58,39,.08)}
.file-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.file-drop strong{font-family:Montserrat,Arial,sans-serif}.file-drop span{color:var(--muted);font-size:.78rem}.file-drop.compact{min-height:105px}
.document-list{display:grid}
.document-list>a{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 20px;border-top:1px solid rgba(241,243,244,.10)}
.document-list>a:first-child{border-top:0}.document-list>a:hover{background:rgba(28,80,123,.12)}
.document-list>a>span:nth-child(2){display:grid;min-width:0}.document-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.83rem}.document-list small{color:var(--muted);font-size:.7rem}
.document-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:rgba(210,58,39,.18);font-family:Montserrat,Arial,sans-serif;font-size:.7rem;font-weight:800}
.empty-inline{padding:22px 24px;color:var(--muted)}
.task-mini-list{display:grid;padding:6px 20px 17px}.task-mini-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(241,243,244,.09)}
.definition-list{margin:0}.definition-list>div{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);gap:14px;padding:13px 20px;border-top:1px solid rgba(241,243,244,.10)}.definition-list>div:first-child{border-top:0}.definition-list dt{color:var(--muted);font-size:.75rem}.definition-list dd{margin:0;text-align:right;overflow-wrap:anywhere;font-weight:700}
.collapsible-panel{overflow:hidden}.panel-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 22px;border:0;background:transparent;color:var(--text);text-align:left}.panel-toggle strong{font-family:Montserrat,Arial,sans-serif}.panel-toggle .eyebrow{margin-bottom:3px}.collapsible-panel.is-open .panel-toggle>span:last-child{transform:rotate(45deg)}
.danger-panel{border-color:rgba(210,58,39,.42)}.danger-panel p{color:var(--muted)}.button-danger{background:rgba(210,58,39,.18);border-color:rgba(210,58,39,.55);color:#f1f3f4}.button-danger:hover{background:#d23a27}
.ajax-notice{position:fixed;z-index:80;right:24px;bottom:24px;max-width:min(420px,calc(100vw - 48px));padding:14px 17px;border:1px solid rgba(241,243,244,.18);border-radius:12px;background:#191747;box-shadow:0 18px 60px rgba(0,0,0,.42);font-weight:700}.ajax-notice.success{border-color:rgba(28,80,123,.75)}.ajax-notice.error{border-color:rgba(210,58,39,.75)}
.button.is-loading{opacity:.65;pointer-events:none}.button.is-loading:after{content:"";width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:oku-spin .7s linear infinite}@keyframes oku-spin{to{transform:rotate(360deg)}}

.owner-access-panel{overflow:hidden}.owner-access-tools{padding:14px 18px;border-bottom:1px solid rgba(241,243,244,.10)}.owner-access-tools input{width:100%;padding:11px 13px;color:var(--text);background:#0c152c;border:1px solid rgba(241,243,244,.16);border-radius:10px;outline:none}.owner-access-tools input:focus{border-color:#d23a27;box-shadow:0 0 0 4px rgba(210,58,39,.09)}
.owner-access-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:16px;max-height:400px;overflow:auto}.compact-owner-list{max-height:330px}
.owner-access-option{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid rgba(241,243,244,.12);border-radius:11px;background:rgba(28,80,123,.09);cursor:pointer}.owner-access-option:hover{border-color:rgba(210,58,39,.45)}.owner-access-option[hidden]{display:none}.owner-access-option input{width:17px;height:17px;accent-color:#d23a27}.owner-access-option span{display:grid;min-width:0}.owner-access-option strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.owner-access-option small{color:var(--muted);font-size:.68rem}
.user-editor-grid-wide{grid-template-columns:minmax(0,.75fr) minmax(520px,1.25fr)}.permission-column .module-access-panel{position:static}.owner-editor-section{padding:22px 24px}.owner-editor-section>h3{margin:0}.section-help{color:var(--muted);font-size:.8rem}.owner-editor-section .owner-access-tools{margin:15px -24px 0}.owner-editor-section .owner-access-list{margin:0 -24px -22px}
.permissions-automatic{opacity:.58;pointer-events:none}

.sol-layout{display:grid;grid-template-columns:minmax(0,1.5fr) 360px;gap:20px;align-items:start}.sol-layout>aside{position:sticky;top:98px}.import-results{display:grid;gap:8px;margin-bottom:18px}.import-results .alert{margin:0}

@media(max-width:1250px){
    .approvals-filters{grid-template-columns:repeat(4,minmax(140px,1fr))}.approvals-filters .field-wide{grid-column:span 2}.approvals-filters .filter-actions{grid-column:span 2}
    .authority-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
    .approval-detail-grid,.approval-editor-grid,.user-editor-grid-wide{grid-template-columns:1fr}.approval-side-column,.approval-editor-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.approval-side-column>.danger-panel,.approval-side-column>.collapsible-panel{grid-column:1/-1}
}
@media(max-width:900px){
    .record-hero{align-items:flex-start;flex-direction:column}.record-status-stack{width:100%}
    .approvals-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.approvals-filters .field-wide{grid-column:1/-1}
    .sol-layout{grid-template-columns:1fr}.sol-layout>aside{position:static}
    .owner-access-list{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
    .content{padding:24px 18px}.page-heading{align-items:flex-start;flex-direction:column}.heading-actions,.heading-actions .button{width:100%}
    .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .approvals-filters{grid-template-columns:1fr}.approvals-filters .field-wide,.approvals-filters .filter-actions{grid-column:auto}.filter-actions .button{flex:1}
    .responsive-record-table{min-width:0}.responsive-record-table thead{display:none}.responsive-record-table,.responsive-record-table tbody,.responsive-record-table tr,.responsive-record-table td{display:block;width:100%}.responsive-record-table tr{position:relative;padding:14px 14px 10px;border-bottom:1px solid rgba(241,243,244,.12)}.responsive-record-table tr:last-child{border-bottom:0}.responsive-record-table td{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:7px 6px;border:0}.responsive-record-table td:before{content:attr(data-label);color:var(--faint);font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.responsive-record-table td:last-child{position:absolute;right:15px;top:15px;display:block;width:auto;padding:0}.responsive-record-table td:last-child:before{display:none}.responsive-record-table .table-primary-link{padding-right:42px}
    .approval-side-column,.approval-editor-side{grid-template-columns:1fr}.approval-side-column>.danger-panel,.approval-side-column>.collapsible-panel{grid-column:auto}
    .authority-form{grid-template-columns:1fr}.record-copy-grid{grid-template-columns:1fr}.record-copy-grid>div{border-right:0;border-bottom:1px solid rgba(241,243,244,.11)}.record-copy-grid>div:last-child{border-bottom:0}
    .sol-layout .responsive-record-table td:last-child{position:static;display:grid;width:100%;padding:7px 6px}.sol-layout .responsive-record-table td:last-child:before{display:block}
}
@media(max-width:560px){
    .record-hero{padding:22px 20px}.record-status-stack{grid-template-columns:1fr}.authority-summary{grid-template-columns:1fr}.button-grid,.form-row.two-columns,.compact-switches{grid-template-columns:1fr}.owner-access-list{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{padding:18px}.metric-card strong{font-size:2rem}.definition-list>div{grid-template-columns:1fr}.definition-list dd{text-align:left}.pagination{padding:15px 16px}.pagination strong{display:none}
}
.permissions-automatic{position:relative;opacity:.58}
.permissions-automatic:after{content:"All clients and photographers are granted automatically for this account type.";display:block;margin:0 16px 16px;padding:11px 13px;border-radius:9px;background:rgba(210,58,39,.14);color:var(--text);font-size:.83rem}

/* ========================================================================== 
   Operations modules — cases, tasks, reports, ratings and DMCA review
   ========================================================================== */
.module-filter-grid{display:grid;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(150px,1fr)) auto;gap:14px;align-items:end;padding:20px}
.module-filter-grid .field-wide{min-width:260px}.filter-bar{padding:20px;display:flex;gap:14px;align-items:end;flex-wrap:wrap}.filter-bar>.field{min-width:180px;flex:1}.filter-bar>.field-wide{flex:2 1 340px}.filter-bar>.button{flex:0 0 auto}
.admin-modal{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:0;border:1px solid rgba(241,243,244,.18);border-radius:18px;color:var(--text);background:#0c152c;box-shadow:0 30px 100px rgba(0,0,0,.6)}.admin-modal::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.modal-card{display:grid}.modal-heading{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid rgba(241,243,244,.12)}.modal-heading h2{margin:3px 0 0}
.table-primary-link{display:grid;gap:4px}.table-primary-link strong{color:var(--text)}.table-primary-link small{color:var(--muted);font-size:.72rem}.icon-button{display:inline-grid;place-items:center;min-width:35px;height:35px;padding:0 9px;border:1px solid rgba(241,243,244,.16);border-radius:9px;color:var(--text);background:rgba(28,80,123,.12);cursor:pointer}.icon-button:hover{border-color:#d23a27;background:rgba(210,58,39,.14)}
.record-status-stack{display:grid;justify-items:end;gap:6px}.record-status-stack>strong{font-family:Montserrat,Arial,sans-serif;font-size:1.8rem}.record-status-stack>small{color:var(--muted)}
.stack{display:grid;gap:20px;align-content:start}.timeline{display:grid;padding:4px 22px 22px}.timeline-item{display:grid;grid-template-columns:14px 1fr;gap:13px;padding:16px 0}.timeline-item>span{position:relative;width:10px;height:10px;margin-top:5px;border-radius:50%;background:#d23a27}.timeline-item>span:after{content:"";position:absolute;top:14px;left:4px;width:1px;height:calc(100% + 18px);background:rgba(241,243,244,.14)}.timeline-item:last-child>span:after{display:none}.timeline-item>div{display:grid;grid-template-columns:1fr auto;gap:3px 12px}.timeline-item small{color:var(--muted);font-size:.7rem}.timeline-item p{grid-column:1/-1;margin:5px 0 0;white-space:pre-wrap}.timeline-item a{grid-column:1/-1;font-size:.76rem}
.compact-list{display:grid}.compact-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;border-top:1px solid rgba(241,243,244,.1)}.compact-list>div:first-child{border-top:0}.compact-list>div>span{display:grid;gap:3px}.compact-list small,.compact-list time{color:var(--muted);font-size:.7rem}
.media-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px}.media-card{overflow:hidden;border:1px solid rgba(241,243,244,.12);border-radius:13px;background:rgba(28,80,123,.08)}.media-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.media-card>div{display:grid;gap:4px;padding:12px}.media-card span,.media-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.72rem}
.task-board{display:grid;gap:12px}.task-date-heading{margin:26px 0 4px;font-size:1rem}.task-date-heading:first-child{margin-top:0}.task-card{overflow:hidden;border:1px solid rgba(241,243,244,.14);border-radius:14px;background:rgba(12,21,44,.74)}.task-card.is-overdue{border-color:rgba(210,58,39,.62)}.task-card.is-shared{box-shadow:inset 4px 0 #d7a72b}.task-card-main{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px}.task-copy{display:flex;align-items:center;gap:12px;min-width:0}.task-copy>div{display:grid;gap:4px;min-width:0}.task-copy strong{font-family:Montserrat,Arial,sans-serif}.task-copy span{color:var(--muted);font-size:.75rem}.copy-button{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid rgba(241,243,244,.16);border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}.copy-button:hover{color:#fff;border-color:#d23a27}.task-meta{display:grid;justify-items:end;gap:5px}.task-meta small{color:var(--muted)}.task-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 18px;border-top:1px solid rgba(241,243,244,.1);background:rgba(28,80,123,.07)}.task-actions form{margin:0}.inline-date-action{display:flex;gap:7px;align-items:center}.inline-date-action input{max-width:145px;padding:8px 9px;color:var(--text);background:#0c152c;border:1px solid rgba(241,243,244,.16);border-radius:8px}
.report-builder{margin-bottom:20px}.report-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.report-custom-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;grid-column:1/-1}.report-callout{grid-column:1/-1;padding:16px 18px;border:1px solid rgba(28,80,123,.55);border-radius:12px;background:rgba(28,80,123,.12)}.report-callout p{margin:5px 0 0;color:var(--muted)}.report-form-grid>.button{justify-self:start}.chip-list{display:flex;gap:8px;flex-wrap:wrap;padding:18px}.chip-list>span{padding:8px 11px;border:1px solid rgba(241,243,244,.13);border-radius:999px;background:rgba(28,80,123,.11);font-size:.75rem}
.rating-workspace{display:grid;grid-template-columns:minmax(320px,.7fr) minmax(500px,1.3fr);gap:20px;align-items:start}.rating-source{position:sticky;top:95px;overflow:hidden}.rating-source-image{display:grid;place-items:center;min-height:300px;padding:16px;background:#060a16}.rating-source-image img{display:block;max-width:100%;max-height:62vh;object-fit:contain}.article-list{display:grid}.article-list a{display:grid;gap:3px;padding:13px 18px;border-top:1px solid rgba(241,243,244,.1)}.article-list small{color:var(--muted)}.rating-no-match{padding:18px}.rating-no-match .button{width:100%}.rating-search{display:grid;grid-template-columns:minmax(260px,2fr) repeat(2,minmax(145px,.8fr)) auto}.rating-image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px}.rating-candidate button,.rating-image-grid>button{display:grid;gap:7px;width:100%;padding:0 0 9px;overflow:hidden;border:1px solid rgba(241,243,244,.14);border-radius:10px;background:rgba(28,80,123,.09);color:var(--text);cursor:pointer}.rating-candidate button:hover,.rating-image-grid>button:hover,.rating-image-grid>button.is-selected{border-color:#d23a27;box-shadow:0 0 0 2px rgba(210,58,39,.18)}.rating-image-grid img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.rating-image-grid span{padding:0 8px;font-size:.68rem}.rating-set-grid{padding:16px}.rating-suggested{display:grid;gap:12px;padding:18px;border-top:1px solid rgba(241,243,244,.1)}.rating-suggested img{width:100%;max-height:260px;object-fit:contain;background:#050811}kbd{display:inline-grid;place-items:center;min-width:22px;padding:2px 5px;border:1px solid rgba(255,255,255,.25);border-radius:5px;background:rgba(0,0,0,.2);font:600 .65rem Encode Sans,Arial,sans-serif}
.comparison-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.comparison-image{display:grid;gap:12px;padding:18px}.comparison-image img{display:block;width:100%;height:min(62vh,600px);object-fit:contain;background:#050811;border-radius:10px}.comparison-actions{display:flex;justify-content:center;gap:14px;padding:22px}.comparison-actions .button{min-width:180px}
.module-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:20px}.module-tabs a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 15px;border:1px solid rgba(241,243,244,.13);border-radius:11px;background:rgba(28,80,123,.08)}.module-tabs a.is-active{border-color:#d23a27;background:rgba(210,58,39,.13)}.module-tabs strong{font-family:Montserrat,Arial,sans-serif}.dmca-workspace{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(260px,.85fr) minmax(330px,1.1fr);gap:18px;align-items:start}.dmca-image-panel{overflow:hidden}.dmca-image-panel>a{display:grid;place-items:center;background:#050811}.dmca-image-panel>a>img,.dmca-image-panel>img{display:block;width:100%;height:min(58vh,560px);object-fit:contain;background:#050811}.dmca-decision{position:sticky;top:95px}.dmca-decision details{margin:0 20px 16px}.dmca-decision summary,.sibling-picker summary{cursor:pointer;font-weight:700}.notice-preview{max-height:250px;overflow:auto;padding:13px;border:1px solid rgba(241,243,244,.1);border-radius:9px;white-space:pre-wrap;color:var(--muted);background:#060a16;font:400 .72rem/1.5 Encode Sans,Arial,sans-serif}.sibling-picker{padding:15px 18px;border-top:1px solid rgba(241,243,244,.1)}.sibling-picker .rating-image-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:14px 0 0}.decision-button-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.decision-button-grid .button{min-height:44px;white-space:normal}
.status-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:18px}.status-step{display:grid;place-items:center;gap:5px;padding:16px 8px;border-right:1px solid rgba(241,243,244,.1);color:var(--muted);text-align:center}.status-step:last-child{border-right:0}.status-step>span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:rgba(241,243,244,.08)}.status-step.is-complete{color:var(--text)}.status-step.is-complete>span{background:#1c507b}.status-step small{font-size:.65rem}
@media(max-width:1250px){.module-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.module-filter-grid .field-wide{grid-column:span 2}.rating-workspace{grid-template-columns:360px minmax(0,1fr)}.dmca-workspace{grid-template-columns:1fr 1fr}.dmca-decision{grid-column:1/-1;position:static}.report-custom-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.media-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rating-workspace{grid-template-columns:1fr}.rating-source{position:static}.module-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.comparison-stage{grid-template-columns:1fr}.report-form-grid{grid-template-columns:1fr 1fr}.rating-image-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.module-filter-grid{grid-template-columns:1fr}.module-filter-grid .field-wide{grid-column:auto}.task-card-main{align-items:flex-start;flex-direction:column}.task-meta{justify-items:start}.task-actions{display:grid;grid-template-columns:1fr 1fr}.task-actions .button{width:100%}.inline-date-action{grid-column:1/-1}.inline-date-action input{max-width:none;flex:1}.report-form-grid,.report-custom-fields,.rating-search{grid-template-columns:1fr}.module-tabs{display:flex;overflow-x:auto;padding-bottom:5px}.module-tabs a{min-width:145px}.dmca-workspace{grid-template-columns:1fr}.dmca-decision{grid-column:auto}.comparison-actions{display:grid;grid-template-columns:1fr 1fr}.comparison-actions .button{min-width:0}.rating-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-card-grid{grid-template-columns:1fr}.status-step-grid{grid-template-columns:1fr 1fr}.status-step:nth-child(2){border-right:0}}
@media(max-width:500px){.task-actions{grid-template-columns:1fr}.inline-date-action{grid-column:auto;display:grid}.decision-button-grid,.comparison-actions{grid-template-columns:1fr}.module-tabs a{min-width:128px}.rating-image-grid{grid-template-columns:1fr 1fr}.report-custom-fields{grid-template-columns:1fr}}

/* ========================================================================== 
   COMPLETE PORTAL DASHBOARD + SHARED WORKFLOW ENHANCEMENTS
   ========================================================================== */
.dashboard-heading{align-items:flex-end}
.dashboard-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}
.dashboard-context>div{display:grid;gap:4px;padding:18px 20px;border:1px solid rgba(241,243,244,.12);border-radius:14px;background:linear-gradient(145deg,rgba(28,80,123,.13),rgba(12,21,44,.78))}
.dashboard-context span{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.dashboard-context strong{font-family:Montserrat,Arial,sans-serif;font-size:1.35rem}
.dashboard-context small{color:var(--muted)}
.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.metric-card-link{color:inherit;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.metric-card-link:hover{transform:translateY(-2px);border-color:rgba(210,58,39,.58);background:linear-gradient(145deg,rgba(210,58,39,.12),rgba(28,80,123,.13))}
.module-launcher{margin-bottom:20px}
.module-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px}
.module-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:108px;padding:18px;border:1px solid rgba(241,243,244,.12);border-radius:14px;background:rgba(28,80,123,.08);color:var(--text);transition:transform .18s ease,border-color .18s ease,background .18s ease}
.module-card:hover{transform:translateY(-2px);border-color:rgba(210,58,39,.55);background:rgba(28,80,123,.16)}
.module-card-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:rgba(28,80,123,.34);font-family:Montserrat,Arial,sans-serif;font-size:1.1rem;font-weight:800}
.module-card>span:nth-child(2){display:grid;gap:5px;min-width:0}
.module-card strong{font-family:Montserrat,Arial,sans-serif;font-size:.9rem}
.module-card small{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:.74rem;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.module-card>b{color:#d23a27;font-size:1.1rem}
.module-card-admin{background:linear-gradient(145deg,rgba(210,58,39,.13),rgba(25,23,71,.55))}
.horizontal-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}
.spreadsheet-tool{margin-top:20px}
.spreadsheet-tool .panel-heading p{max-width:720px;margin:6px 0 0;color:var(--muted)}
.inline-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px}
.media-card-managed{position:relative}
.media-card-managed>a{display:block;color:inherit}
.media-card-managed>a>div{display:grid;gap:4px;padding:12px}
.media-card-managed>a span,.media-card-managed>a small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.72rem}
.media-card-action{position:absolute;top:8px;right:8px;margin:0}
.media-card-action .icon-button{background:rgba(12,21,44,.92);border-color:rgba(241,243,244,.28);backdrop-filter:blur(5px)}

@media(max-width:1180px){.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.module-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.dashboard-context{grid-template-columns:1fr}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.module-card-grid{grid-template-columns:1fr}.horizontal-upload,.inline-form{grid-template-columns:1fr}.horizontal-upload .button,.inline-form .button{width:100%}}
@media(max-width:520px){.dashboard-metrics{grid-template-columns:1fr}.module-card{grid-template-columns:42px minmax(0,1fr) auto;padding:15px}.module-card-icon{width:40px;height:40px}}

/* Fatal error screen: intentionally class-based so it remains compatible with the portal CSP. */
.fatal-body {
    min-height: 100vh;
    margin: 0;
    padding: clamp(24px, 6vw, 64px);
    display: grid;
    place-items: center;
    background: #0c152c;
    color: #f1f3f4;
    font-family: "Encode Sans", Arial, sans-serif;
}
.fatal-card {
    width: min(720px, 100%);
    padding: clamp(28px, 5vw, 44px);
    border: 1px solid rgba(241, 243, 244, .14);
    border-radius: 20px;
    background: #191747;
    box-shadow: 0 22px 60px rgba(0, 0, 0, .22);
}
.fatal-card h1 {
    margin: 0 0 12px;
    font-family: Montserrat, Arial, sans-serif;
    font-size: clamp(1.65rem, 4vw, 2.35rem);
}
.fatal-card p { margin: 0; line-height: 1.65; }
.fatal-logo {
    display: block;
    width: min(220px, 70%);
    height: auto;
    margin: 0 0 30px;
}

/* ========================================================================== 
   PORTAL UX REFINEMENTS — August 2026
   ========================================================================== */

/* Readable native dropdown menus across browsers and operating systems. */
select{color-scheme:light}
select option,
select optgroup{
    color:#0c152c!important;
    background:#f1f3f4!important;
}
select option:checked{
    color:#f1f3f4!important;
    background:#1c507b!important;
}

/* Entire date fields are interactive; showPicker() is wired in admin.js. */
input[type="date"]{cursor:pointer}
input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(1);opacity:.78}

/* Lightweight sorting for all rendered tables. */
.data-table th.sortable-column{position:relative;padding-right:34px;cursor:pointer;user-select:none}
.data-table th.sortable-column:after{content:"↕";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:rgba(241,243,244,.38);font-size:.82rem}
.data-table th.sortable-column[aria-sort="ascending"]:after{content:"↑";color:#d23a27}
.data-table th.sortable-column[aria-sort="descending"]:after{content:"↓";color:#d23a27}
.data-table th.sortable-column:focus-visible{outline:2px solid #d23a27;outline-offset:-3px}
.server-sort-link{display:inline-flex;align-items:center;gap:6px;color:inherit}
.server-sort-link.is-active{color:#f1f3f4}
.server-sort-link span{color:#d23a27}

/* One-click Approvals authority controls. */
.approval-list-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.quick-approval-form{display:flex;align-items:center;gap:8px;min-width:230px}
.quick-approval-form input[data-inline-authority]{width:104px;padding:7px 9px;border:1px solid transparent;border-radius:8px;color:#f1f3f4;background:rgba(28,80,123,.15);font-weight:800;cursor:text}
.quick-approval-form input[data-inline-authority]:hover{border-color:rgba(241,243,244,.24)}
.quick-approval-form input[data-inline-authority].is-editing{border-color:#d23a27;background:#0c152c;box-shadow:0 0 0 3px rgba(210,58,39,.12)}
.quick-approval-form .button{padding:7px 10px}
.approval-authority-static{display:grid;gap:3px}
.bulk-approval-note{color:var(--muted);font-size:.75rem}

/* Gallery remains empty until a search/filter is supplied, then reloads
   automatically after typing or changing a control. */
.gallery-search-intro{padding:42px 24px;text-align:center}
.gallery-search-intro h2{margin:0 0 8px}
.gallery-search-intro p{max-width:620px;margin:0 auto;color:var(--muted)}
.gallery-searching .gallery-results-panel{opacity:.58;pointer-events:none}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px}
.gallery-card{overflow:hidden;border:1px solid rgba(241,243,244,.13);border-radius:14px;background:rgba(28,80,123,.08)}
.gallery-image{position:relative;display:block;overflow:hidden;background:#050811}
.gallery-image img{display:block;width:100%;aspect-ratio:2/3;object-fit:contain;background:#050811;transition:transform .12s ease}
.gallery-image:hover img{transform:scale(1.012)}
.image-count{position:absolute;right:9px;bottom:9px;padding:5px 8px;border-radius:8px;background:rgba(12,21,44,.88);font-size:.68rem;font-weight:800}
.gallery-copy{display:grid;gap:8px;padding:14px}.gallery-copy h3,.gallery-copy p{margin:0}.gallery-copy p{color:var(--muted);font-size:.78rem}.gallery-meta{display:flex;justify-content:space-between;gap:10px;color:var(--faint);font-size:.68rem}.tag-row{display:flex;gap:6px;flex-wrap:wrap}
.image-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:12px;padding:18px}
.image-tile{display:grid;gap:6px;width:100%;padding:0 0 8px;overflow:hidden;border:1px solid rgba(241,243,244,.13);border-radius:10px;color:var(--text);background:rgba(28,80,123,.08);text-align:left;cursor:zoom-in}
.image-tile:hover{border-color:#d23a27;box-shadow:0 0 0 2px rgba(210,58,39,.12)}
.image-tile img{display:block;width:100%;aspect-ratio:2/3;object-fit:contain;background:#050811}
.image-tile span{padding:0 8px;color:var(--muted);font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Fast Gallery/DMCA image viewer. */
.image-lightbox[hidden]{display:none!important}
.image-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:26px 78px 72px;background:rgba(0,0,0,.9);backdrop-filter:blur(7px);cursor:default}
.image-lightbox-stage{display:grid;place-items:center;max-width:100%;max-height:calc(100vh - 104px)}
.image-lightbox-stage img{display:block;max-width:min(92vw,1600px);max-height:calc(100vh - 118px);object-fit:contain;box-shadow:0 24px 80px rgba(0,0,0,.68);opacity:1;transition:opacity .08s ease}
.image-lightbox.is-switching .image-lightbox-stage img{opacity:.48}
.image-lightbox-close,.image-lightbox-nav{position:fixed;z-index:2;display:grid;place-items:center;border:1px solid rgba(241,243,244,.24);color:#f1f3f4;background:rgba(12,21,44,.82);box-shadow:0 10px 30px rgba(0,0,0,.28)}
.image-lightbox-close{right:22px;top:18px;width:44px;height:44px;border-radius:50%;font-size:1.8rem}
.image-lightbox-nav{top:50%;width:52px;height:64px;transform:translateY(-50%);border-radius:13px;font-size:2.55rem;line-height:1}
.image-lightbox-prev{left:18px}.image-lightbox-next{right:18px}
.image-lightbox:not(.is-gallery-sequence) .image-lightbox-nav{display:none}
.image-lightbox-nav:hover,.image-lightbox-close:hover{background:rgba(28,80,123,.94);border-color:rgba(241,243,244,.42)}
.image-lightbox-nav:disabled{display:none}
.image-lightbox-toolbar{position:fixed;left:50%;bottom:13px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:10px;max-width:min(88vw,900px);padding:7px 9px 7px 13px;border:1px solid rgba(241,243,244,.16);border-radius:11px;background:rgba(12,21,44,.9);box-shadow:0 12px 34px rgba(0,0,0,.34)}
.image-lightbox-toolbar span{min-width:0;color:#f1f3f4;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.image-lightbox-toolbar .button{flex:0 0 auto}
body.lightbox-open{overflow:hidden}

/* Tighter all-in-one task board. */
.task-board-compact{display:grid;gap:16px}
.task-section{display:grid;gap:7px}
.task-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:7px 0 2px;padding:0 2px}
.task-section-heading h2{margin:0;font-size:1.02rem}.task-section-heading span{color:var(--muted);font-size:.75rem}
.task-card.compact{border-radius:10px}
.task-card.compact .task-card-main{padding:10px 13px;gap:12px}
.task-card.compact .task-copy{gap:8px}.task-card.compact .copy-button{width:30px;height:30px;flex-basis:30px;border-radius:7px}
.task-card.compact .task-copy>div{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.task-card.compact .task-copy span{font-size:.69rem}
.task-card.compact .task-meta{display:flex;align-items:center;gap:8px;justify-items:normal}
.task-card.compact .task-actions{padding:8px 12px;gap:6px}
.task-card.compact .task-actions .button{padding:6px 9px;font-size:.7rem}
.task-card.compact .inline-date-action input{max-width:132px;padding:6px 8px;font-size:.72rem}
.task-owner-select{min-width:155px;padding:6px 8px;border:1px solid rgba(241,243,244,.18);border-radius:8px;color:#f1f3f4;background:#0c152c;font-size:.72rem}
.task-readonly-note{padding:8px 12px;border-top:1px solid rgba(241,243,244,.08);color:var(--faint);font-size:.7rem}
.dashboard-task-list{display:grid}.dashboard-task-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:11px 18px;border-top:1px solid rgba(241,243,244,.1)}.dashboard-task-row:first-child{border-top:0}.dashboard-task-row strong{display:block}.dashboard-task-row small{color:var(--muted)}

/* Cases is now a focused global blacklist search. */
.case-best-practices{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;margin-bottom:18px;padding:18px 20px;border:1px solid rgba(210,58,39,.48);border-radius:14px;background:linear-gradient(110deg,rgba(210,58,39,.15),rgba(28,80,123,.10))}
.case-best-practices-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#d23a27;color:#f1f3f4;font-size:1.25rem}
.case-best-practices h2{margin:0 0 7px;font-size:1rem}.case-best-practices ul{display:grid;gap:4px;margin:0;padding-left:19px;color:rgba(241,243,244,.84)}
.target-search-results-filter{padding:14px 20px;border-bottom:1px solid rgba(241,243,244,.1)}
.target-search-results-filter input{width:min(100%,520px);padding:10px 12px;border:1px solid rgba(241,243,244,.18);border-radius:9px;color:#f1f3f4;background:#0c152c}

/* DMCA comparisons: source remains visible while originals scroll; sibling
   thumbnails are downloaded only after the disclosure is opened. */
.dmca-source-sticky{position:sticky;top:94px;align-self:start;max-height:calc(100vh - 112px);overflow:auto}.dmca-source-sticky>a>img,.dmca-source-sticky>img{height:min(54vh,520px)}
.sibling-picker>summary{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border:1px solid rgba(241,243,244,.18);border-radius:9px;background:rgba(28,80,123,.14);transition:border-color .15s ease,background .15s ease,color .15s ease}.sibling-picker>summary:hover,.sibling-picker[open]>summary{border-color:#d23a27;background:rgba(210,58,39,.12);color:#fff}.sibling-lazy-shell{min-height:60px;padding-top:12px}.sibling-lazy-grid{padding:0!important}
.sibling-lazy-grid button{cursor:zoom-in}
.dmca-image-panel img[data-image-preview]{cursor:zoom-in}

@media(max-width:1200px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-task-row{grid-template-columns:1fr auto}}
@media(max-width:680px){.gallery-grid{grid-template-columns:1fr}.image-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px}.image-lightbox{padding:18px 54px 72px}.image-lightbox-nav{width:42px;height:54px;font-size:2rem}.image-lightbox-prev{left:7px}.image-lightbox-next{right:7px}.image-lightbox-toolbar{max-width:92vw}.task-card.compact .task-card-main{align-items:flex-start}.task-card.compact .task-meta{flex-wrap:wrap}.dashboard-task-row{grid-template-columns:1fr}.case-best-practices{grid-template-columns:1fr}.case-best-practices-icon{display:none}}
@media(max-width:460px){.image-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-approval-form{min-width:0;flex-wrap:wrap}}

/* User Administration bulk client controls. */
.owner-access-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.owner-access-tools>[data-owner-search]{flex:1 1 240px}.owner-access-bulk-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.owner-access-bulk-actions .button{min-height:34px;padding:7px 11px}

/* Keep long social captions available without allowing them to dominate the
   review panel. Hover, keyboard focus, or a tap reveals the full caption. */
.dmca-caption-compact{display:-webkit-box;max-height:3.25em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.6;cursor:pointer;outline:none;border-radius:7px;transition:background .15s ease,color .15s ease,max-height .2s ease}.dmca-caption-compact:hover,.dmca-caption-compact:focus{display:block;max-height:240px;overflow:auto;padding:9px 11px;margin:-9px -11px;background:rgba(28,80,123,.14);color:var(--text)}

/* Compact personal DMCA review history. */
.dmca-recent-reviews{margin-top:18px}.dmca-recent-reviews .panel-heading p{max-width:720px;margin-top:6px}.dmca-recent-table td,.dmca-recent-table th{padding-top:10px;padding-bottom:10px}.dmca-recent-table td strong{display:block}.dmca-recent-table td small{display:block;margin-top:3px;color:var(--muted);font-size:.72rem;word-break:break-all}.dmca-recent-table form{margin:0}.dmca-recent-table .button{white-space:nowrap}

@media(max-width:760px){.dmca-source-sticky{position:static;max-height:none;overflow:visible}}

@media(max-width:760px){.owner-access-tools{align-items:stretch}.owner-access-bulk-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.owner-access-bulk-actions .button{width:100%}.dmca-caption-compact:hover{display:-webkit-box;max-height:3.25em;overflow:hidden;padding:0;margin:0;background:transparent}.dmca-caption-compact:focus{display:block;max-height:220px;overflow:auto;padding:9px 11px;margin:-9px -11px;background:rgba(28,80,123,.14)}}


/* -------------------------------------------------------------------------
   Portal interaction refinements — v24
   ------------------------------------------------------------------------- */

/* Click-to-copy values retain their full markup and signal successful copy. */
.copyable-value,.copyable-card,.report-copy-item,.dmca-photo-hover{
    appearance:none;border:0;font:inherit;color:inherit;background:transparent;
}
.copyable-value,.dmca-photo-hover{
    display:inline-flex;align-items:center;gap:5px;padding:2px 3px;
    border-bottom:1px dotted rgba(210,58,39,.72);color:#f1f3f4;
    cursor:copy;text-align:inherit
}
.copyable-value:hover,.copyable-value:focus-visible,.dmca-photo-hover:hover,.dmca-photo-hover:focus-visible{
    color:#ff9e91;border-bottom-color:#ff9e91;outline:none
}
.copyable-value.is-copied,.copyable-card.is-copied,.report-copy-item.is-copied,
.image-tile.is-copied,.copyright-image-tile.is-copied{
    box-shadow:0 0 0 3px rgba(28,80,123,.32);border-color:#1c507b
}
.copyable-value.is-copied:after,.report-copy-item.is-copied:after{
    content:"Copied";margin-left:6px;color:#83bce8;font-size:.66rem;font-weight:800
}
.copyable-card{width:100%;cursor:copy;text-align:left}
.report-copy-item{display:flex;align-items:center;width:100%;padding:12px 15px;
    border:1px solid rgba(241,243,244,.12);border-radius:10px;cursor:copy;text-align:left}
.report-copy-item:hover{border-color:#d23a27;background:rgba(210,58,39,.07)}

/* The set most recently opened from a Gallery result is intentionally muted. */
.gallery-card{transition:filter .18s ease,opacity .18s ease,border-color .18s ease}
.gallery-card.is-visited{filter:saturate(.08) grayscale(.82);opacity:.58;border-color:rgba(241,243,244,.08)}
.gallery-card.is-visited:hover{filter:saturate(.55) grayscale(.25);opacity:.84}

/* Compact copyright media grid; full images appear only in the lightbox. */
.copyright-summary-hero{align-items:center;min-height:0;margin-bottom:0;padding:22px 24px}
.copyright-summary-hero h2{margin:5px 0 0;font-size:clamp(1.15rem,2vw,1.7rem)}
.copyright-key-values{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:13px}
.copyright-key-values .copyable-value{padding:6px 9px;border:1px solid rgba(241,243,244,.14);border-radius:8px;background:rgba(28,80,123,.12)}
.copyright-photo-panel{overflow:hidden}
.copyright-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;padding:14px}
.copyright-image-tile{display:grid;gap:5px;min-width:0;padding:0 0 7px;overflow:hidden;
    border:1px solid rgba(241,243,244,.12);border-radius:9px;color:#f1f3f4;
    background:rgba(28,80,123,.08);cursor:zoom-in}
.copyright-image-tile:hover{border-color:#d23a27}
.copyright-image-tile img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#050811}
.copyright-image-tile span{padding:0 7px;color:var(--muted);font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* User-admin approval-only photographers are a separate permission namespace. */
.approval-owner-access-section{border-top:1px solid rgba(241,243,244,.11)}
.approval-owner-access-section.is-disabled{opacity:.48}
.approval-owner-access-section.is-disabled:after{content:"Enable the Approvals module to assign these photographers.";
    display:block;padding:0 18px 16px;color:var(--muted);font-size:.72rem}

/* Live social follower lookup. */
[data-social-follower-status]{transition:color .15s ease}
[data-social-follower-status].is-success{color:#83bce8}
[data-social-follower-status].is-error{color:#ff9e91}

/* Recent DMCA photograph hover preview. */
.dmca-photo-hover{font-weight:800}
.hover-image-preview[hidden]{display:none!important}
.hover-image-preview{position:fixed;z-index:1200;width:min(320px,42vw);padding:8px;
    border:1px solid rgba(241,243,244,.22);border-radius:12px;background:#0c152c;
    box-shadow:0 24px 80px rgba(0,0,0,.62);pointer-events:none}
.hover-image-preview img{display:block;width:100%;max-height:420px;object-fit:contain;border-radius:7px;background:#050811}
.hover-image-preview span{display:block;padding:7px 4px 1px;color:var(--muted);font-size:.7rem;text-align:center}

/* Never let iOS suppress the keyboard or zoom the page for demand editing. */
.quick-approval-form input[data-inline-authority]{font-size:16px;touch-action:manipulation;-webkit-user-select:text;user-select:text}

@media(max-width:680px){
    .copyright-image-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px}
    .hover-image-preview{width:min(280px,72vw)}
}
@media(max-width:460px){
    .copyright-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.approval-owner-help{margin:0;padding:16px 18px 0;color:var(--muted);font-size:.76rem}

/* -------------------------------------------------------------------------
   Portal live-search and session UX — v25
   ------------------------------------------------------------------------- */

/* Gallery cards favor the upper part of a photograph, where faces normally
   appear, instead of center-cropping the subject out of view. */
.gallery-image img{object-position:center top}

.gallery-live-search{position:relative;overflow:hidden}
.gallery-search-actions{align-items:center;justify-content:flex-end;gap:12px}
.gallery-search-status{color:var(--muted);font-size:.76rem;font-weight:700;white-space:nowrap}
.gallery-search-progress{position:absolute;left:0;right:0;bottom:0;height:3px;overflow:hidden;background:rgba(241,243,244,.07)}
.gallery-search-progress span{display:block;width:42%;height:100%;background:#d23a27;animation:gallery-search-sweep .75s cubic-bezier(.4,0,.2,1) infinite}
.gallery-live-indicator{display:inline-flex;align-items:center;gap:7px;color:#83bce8;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.gallery-live-indicator:before{content:"";width:7px;height:7px;border-radius:50%;background:#83bce8;box-shadow:0 0 0 4px rgba(131,188,232,.12)}
[data-gallery-results][aria-busy="true"]{opacity:.64;transition:opacity .12s ease}
@keyframes gallery-search-sweep{0%{transform:translateX(-115%)}100%{transform:translateX(340%)}}

/* Independent photographers are approval-only identities, not ordinary
   client assignments. Keep that distinction visible in User Administration. */
.chip-approval-photographer{border-color:rgba(210,58,39,.48)!important;background:rgba(210,58,39,.14)!important;color:#ffb1a7!important}

/* Every DMCA hover begins with an empty animated stage. The prior photograph
   is removed immediately so rapid movement cannot visually reuse it. */
.hover-image-stage{position:relative;display:grid;place-items:center;min-height:210px;overflow:hidden;border-radius:7px;background:#050811}
.hover-image-stage img{max-height:420px}
.hover-image-loader{display:none;width:54px;height:54px;border:5px solid rgba(241,243,244,.16);border-top-color:#d23a27;border-right-color:#1c507b;border-radius:50%;animation:dmca-photo-orbit .72s linear infinite}
.hover-image-preview.is-loading .hover-image-loader{display:block}
.hover-image-preview.is-loading .hover-image-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(241,243,244,.08) 45%,transparent 65%);transform:translateX(-100%);animation:dmca-photo-shimmer 1.05s ease-in-out infinite}
.hover-image-preview.is-error .hover-image-stage:before{content:"×";display:grid;place-items:center;width:58px;height:58px;border:2px solid rgba(210,58,39,.55);border-radius:50%;color:#ff9e91;font:700 2rem/1 Montserrat,Arial,sans-serif}
.hover-image-caption{display:block;padding:7px 4px 1px;color:var(--muted);font-size:.7rem;text-align:center}
@keyframes dmca-photo-orbit{to{transform:rotate(360deg)}}
@keyframes dmca-photo-shimmer{to{transform:translateX(100%)}}

/* One set can have multiple author-specific registrations. */
.copyright-registration-switcher{margin-bottom:18px}
.copyright-registration-switcher .panel-heading p{max-width:760px;margin-top:7px}
.copyright-registration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:0 18px 18px}
.copyright-registration-card{display:grid;gap:6px;padding:15px;border:1px solid rgba(241,243,244,.12);border-radius:11px;background:rgba(28,80,123,.07);transition:border-color .15s ease,background .15s ease,transform .15s ease}
.copyright-registration-card:hover{border-color:rgba(210,58,39,.62);background:rgba(210,58,39,.08);transform:translateY(-1px)}
.copyright-registration-card.is-selected{border-color:#d23a27;background:rgba(210,58,39,.13);box-shadow:0 0 0 2px rgba(210,58,39,.12)}
.copyright-registration-card strong{font-family:Montserrat,Arial,sans-serif;color:var(--text)}
.copyright-registration-card>small{color:var(--muted)}
.copyright-registration-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 0}
.copyright-registration-card dl div{min-width:0}
.copyright-registration-card dt{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}
.copyright-registration-card dd{margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}
.copyright-registration-status{justify-self:start;padding:4px 7px;border-radius:999px;background:rgba(28,80,123,.18);color:#83bce8;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.copyright-registration-card.is-selected .copyright-registration-status{background:rgba(210,58,39,.18);color:#ffb1a7}

@media(max-width:760px){
    .gallery-search-actions{justify-content:flex-start;flex-wrap:wrap}
    .gallery-search-status{white-space:normal}
    .copyright-registration-grid{grid-template-columns:1fr;padding:0 12px 12px}
}


/* Tasks V9: dense, scannable rows with due date in the visual center. */
.task-card-v2{margin:0 0 7px;overflow:visible;border:1px solid var(--line);border-radius:11px;background:var(--panel)}
.task-row-main{display:grid;grid-template-columns:minmax(220px,1fr) 148px minmax(215px,auto);align-items:center;gap:12px;min-height:76px;padding:9px 11px}
.task-row-identity{min-width:0}
.task-row-identity .task-target-link{display:block;overflow:hidden;color:var(--text);font:600 .88rem Montserrat,Arial,sans-serif;text-overflow:ellipsis;white-space:nowrap}
.task-row-identity .task-row-meta{display:flex;align-items:center;gap:6px;margin-top:4px;min-width:0;color:var(--muted);font-size:.69rem}
.task-row-identity .task-row-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.task-due-block{display:grid;justify-items:center;min-width:136px;padding:7px 10px;border:1px solid rgba(28,80,123,.18);border-radius:10px;background:rgba(28,80,123,.055);text-align:center}
.task-due-block small{color:var(--muted);font-size:.61rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.task-due-block strong{margin-top:1px;color:#1c507b;font:700 1.15rem Montserrat,Arial,sans-serif;line-height:1.05}
.task-due-block span{margin-top:3px;color:var(--muted);font-size:.66rem;font-weight:600}
.task-due-block.is-overdue{border-color:rgba(210,58,39,.36);background:rgba(210,58,39,.075)}
.task-due-block.is-overdue strong,.task-due-block.is-overdue span{color:#d23a27}
.task-due-block.is-today{border-color:rgba(210,58,39,.58);box-shadow:inset 0 0 0 1px rgba(210,58,39,.12)}
.task-row-actions{display:grid;justify-items:end;gap:6px}
.task-row-assignee{display:flex;align-items:center;justify-content:flex-end;gap:6px;width:100%}
.task-row-assignee select{width:min(190px,100%);min-height:32px;padding-top:4px;padding-bottom:4px;font-size:.72rem}
.task-quick-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}
.task-quick-actions form,.task-row-assignee form{margin:0}
.task-chip-button{min-height:28px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font-size:.66rem;font-weight:700;cursor:pointer}
.task-chip-button:hover,.task-chip-button:focus-visible{border-color:#1c507b;color:#1c507b}
.task-chip-button.is-complete{border-color:rgba(28,80,123,.26);color:#1c507b}
.task-more-actions{position:relative}
.task-more-actions>summary{list-style:none;color:var(--muted);font-size:.64rem;cursor:pointer;user-select:none}
.task-more-actions>summary::-webkit-details-marker{display:none}
.task-more-actions[open] .task-more-popover{position:absolute;z-index:40;top:calc(100% + 7px);right:0;display:grid;gap:9px;width:min(310px,calc(100vw - 32px));padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--panel);box-shadow:0 16px 40px rgba(12,21,44,.18)}
.task-more-popover form{display:grid;grid-template-columns:1fr auto;gap:6px;margin:0}
.task-more-popover input{min-width:0;min-height:33px}
.task-ajax-notice{position:fixed;z-index:2200;right:20px;bottom:20px;max-width:min(420px,calc(100vw - 40px));padding:11px 14px;border-radius:10px;background:#0c152c;color:#f1f3f4;font-size:.78rem;font-weight:600;box-shadow:0 14px 42px rgba(12,21,44,.25)}
.task-ajax-notice.is-error{background:#d23a27}
@media(max-width:860px){.task-row-main{grid-template-columns:minmax(0,1fr) 126px}.task-row-actions{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-items:stretch;padding-top:6px;border-top:1px solid var(--line)}.task-quick-actions{justify-content:flex-start}}
@media(max-width:560px){.task-row-main{grid-template-columns:minmax(0,1fr) 106px;gap:8px;padding:8px}.task-due-block{min-width:0;padding:7px 5px}.task-due-block strong{font-size:.95rem}.task-row-actions{grid-template-columns:1fr}.task-row-assignee{justify-content:flex-start}.task-more-actions[open] .task-more-popover{position:fixed;right:16px;bottom:16px;top:auto;left:16px;width:auto}}

/* Gallery + Ratings V9: one aligned, self-explanatory special-filter system. */
.special-filter-group{grid-column:1/-1;min-width:0;margin:2px 0 0;padding:10px 11px 11px;border:1px solid rgba(28,80,123,.16);border-radius:12px;background:linear-gradient(135deg,rgba(28,80,123,.045),rgba(25,23,71,.025))}
.special-filter-group>legend{padding:0 7px;color:#191747;font:700 .67rem Montserrat,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.special-filter-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.special-filter-card{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) 20px;align-items:center;gap:9px;min-height:56px;padding:8px 10px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--panel);cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}
.special-filter-card:hover{border-color:rgba(28,80,123,.42);transform:translateY(-1px)}
.special-filter-card input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.special-filter-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:rgba(28,80,123,.08);color:#1c507b;font:700 .9rem Montserrat,Arial,sans-serif}
.special-filter-copy{display:grid;gap:2px;min-width:0}
.special-filter-copy strong{color:var(--text);font:600 .75rem Montserrat,Arial,sans-serif}
.special-filter-copy small{overflow:hidden;color:var(--muted);font-size:.63rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.special-filter-check{display:grid;place-items:center;width:19px;height:19px;border:1px solid rgba(108,117,125,.38);border-radius:50%;color:transparent;font-size:.68rem}
.special-filter-card:has(input:checked){border-color:#1c507b;background:rgba(28,80,123,.075);box-shadow:inset 0 0 0 1px rgba(28,80,123,.07)}
.special-filter-card:has(input:checked) .special-filter-check{border-color:#1c507b;background:#1c507b;color:#fff}
.special-filter-card:has(input:checked) .special-filter-icon{background:#1c507b;color:#fff}
@media(max-width:720px){.special-filter-options{grid-template-columns:1fr}.special-filter-card{min-height:50px}}


/* Task V9 selector alignment with existing task markup. */
.task-card-v2 .task-identity{display:flex;align-items:center;gap:8px;min-width:0}
.task-card-v2 .task-identity-copy{min-width:0}
.task-card-v2 .task-target-link{display:block;overflow:hidden;color:var(--text);font:600 .88rem Montserrat,Arial,sans-serif;text-overflow:ellipsis;white-space:nowrap}
.task-card-v2 .task-subline{display:flex;align-items:center;gap:6px;margin-top:3px;min-width:0;color:var(--muted);font-size:.66rem;white-space:nowrap}
.task-card-v2 .task-subline span{overflow:hidden;text-overflow:ellipsis}
.task-card-v2 .task-row-status{display:grid;justify-items:end;gap:5px;min-width:0}
.task-card-v2 .task-assignee-form{margin:0}
.task-card-v2 .task-owner-select{width:min(185px,100%);min-height:31px;padding:3px 30px 3px 8px;font-size:.69rem}
.task-card-v2>.task-quick-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:0 10px 7px;border-top:0}
.task-card-v2 .task-chip-action{min-height:27px;padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:.64rem;font-weight:700;cursor:pointer}
.task-card-v2 .task-chip-action:hover,.task-card-v2 .task-chip-action:focus-visible{border-color:#1c507b;color:#1c507b}
.task-card-v2 .task-chip-action.is-complete{border-color:rgba(28,80,123,.26);color:#1c507b}
.task-card-v2 .task-chip-action.is-primary{background:#1c507b;color:#fff;border-color:#1c507b}
.task-card-v2 .task-readonly-note-v2{padding:0 11px 7px;color:var(--muted);font-size:.65rem;text-align:right}
.task-card-v2 .task-more-actions{align-self:center}
.task-card-v2 .task-more-popover .task-compact-form{display:grid;grid-template-columns:1fr auto;gap:6px}
.task-board-v2 .task-section{margin-bottom:15px}
.task-board-v2 .task-section-heading{margin-bottom:6px}
@media(max-width:860px){.task-card-v2 .task-row-status{justify-items:start}.task-card-v2>.task-quick-actions{justify-content:flex-start;padding-left:10px}.task-card-v2 .task-readonly-note-v2{text-align:left}}


/* -------------------------------------------------------------------------
   Approvals V9 — exact image ownership + demand economics
   ------------------------------------------------------------------------- */

.approval-demand-summary {
    position: relative;
}

.approval-economics-help {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 6px;
    color: #1c507b;
    font-size: .67rem;
    font-weight: 700;
    cursor: help;
    outline: none;
}

.approval-economics-help::after {
    content: '?';
    display: grid;
    place-items: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: rgba(28,80,123,.09);
    color: #1c507b;
    font-size: .62rem;
}

.approval-economics-popover {
    position: absolute;
    z-index: 120;
    left: 0;
    top: calc(100% + 8px);
    display: none;
    width: min(360px, calc(100vw - 42px));
    padding: 13px;
    border: 1px solid rgba(28,80,123,.18);
    border-radius: 12px;
    background: var(--panel);
    box-shadow: 0 18px 48px rgba(12,21,44,.2);
    color: var(--text);
}

.approval-economics-help:hover .approval-economics-popover,
.approval-economics-help:focus .approval-economics-popover,
.approval-economics-help:focus-within .approval-economics-popover {
    display: grid;
    gap: 8px;
}

.approval-economics-popover-title {
    color: #191747;
    font: 700 .76rem Montserrat,Arial,sans-serif;
}

.approval-economics-popover > span:not(.approval-economics-popover-title) {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    padding-top: 7px;
    border-top: 1px solid var(--line);
}

.approval-economics-popover small {
    color: var(--muted);
    font-size: .65rem;
    line-height: 1.35;
}

.approval-economics-popover strong {
    color: #1c507b;
    font: 700 .82rem Montserrat,Arial,sans-serif;
    white-space: nowrap;
}

.approval-economics-popover em {
    color: var(--muted);
    font-size: .65rem;
    font-style: normal;
    line-height: 1.45;
}

.approval-image-id-summary {
    display: grid;
    gap: 7px;
}

.approval-image-id-summary code {
    display: block;
    max-height: 92px;
    overflow: auto;
    padding: 8px 9px;
    border-radius: 8px;
    background: rgba(12,21,44,.045);
    color: var(--muted);
    font-size: .65rem;
    line-height: 1.45;
    word-break: break-all;
}

.approval-photo-breakdown .panel-heading p,
.approval-commission-panel .panel-heading p {
    max-width: 780px;
}

.approval-image-breakdown-table th,
.approval-image-breakdown-table td,
.approval-author-economics-table th,
.approval-author-economics-table td {
    vertical-align: middle;
}

.registration-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 7px;
    border: 1px solid var(--line);
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 700;
    white-space: nowrap;
}

.registration-badge.is-registered {
    border-color: rgba(28,80,123,.28);
    background: rgba(28,80,123,.08);
    color: #1c507b;
}

.registration-badge.is-pending {
    border-color: rgba(25,23,71,.22);
    background: rgba(25,23,71,.06);
    color: #191747;
}

.registration-badge.is-untimely {
    border-color: rgba(210,58,39,.32);
    background: rgba(210,58,39,.075);
    color: #d23a27;
}

.registration-badge.is-unregistered {
    border-color: rgba(108,117,125,.24);
    background: rgba(108,117,125,.06);
    color: var(--muted);
}

.approval-image-ids-detail {
    max-width: 290px;
}

.approval-image-ids-detail summary {
    color: #1c507b;
    font-size: .67rem;
    font-weight: 700;
    cursor: pointer;
}

.approval-image-ids-detail code {
    display: block;
    max-height: 105px;
    margin-top: 6px;
    overflow: auto;
    padding: 7px;
    border-radius: 7px;
    background: rgba(12,21,44,.045);
    color: var(--muted);
    font-size: .62rem;
    line-height: 1.4;
    word-break: break-all;
}

.approval-owner-resolution-note,
.approval-economics-explainer {
    margin: 12px 18px 18px;
    padding: 11px 13px;
    border-left: 3px solid #1c507b;
    border-radius: 0 8px 8px 0;
    background: rgba(28,80,123,.05);
    color: var(--muted);
    font-size: .7rem;
    line-height: 1.5;
}

.approval-owner-resolution-note strong {
    color: var(--text);
}

.approval-economics-strip {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 8px;
    padding: 0 18px 14px;
}

.approval-economics-strip > div {
    min-width: 0;
    padding: 11px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: rgba(28,80,123,.035);
}

.approval-economics-strip span {
    display: block;
    min-height: 28px;
    color: var(--muted);
    font-size: .64rem;
    line-height: 1.35;
}

.approval-economics-strip strong {
    display: block;
    margin-top: 3px;
    color: #1c507b;
    font: 700 1rem Montserrat,Arial,sans-serif;
}

.approval-author-economics-table td:last-child strong {
    color: #1c507b;
}

@media (max-width: 860px) {
    .approval-economics-strip {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 540px) {
    .approval-economics-strip {
        grid-template-columns: 1fr;
    }

    .approval-economics-popover {
        position: fixed;
        top: 50%;
        left: 18px;
        right: 18px;
        width: auto;
        transform: translateY(-50%);
    }
}

/* Correct semantic order in the V9 due block: label / date / relative status. */
.task-due-block>span{margin:0;color:var(--muted);font-size:.59rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.task-due-block>small{margin-top:3px;color:var(--muted);font-size:.65rem;font-weight:600;letter-spacing:0;text-transform:none}
.task-due-block.is-overdue>small,.task-due-block.is-overdue>strong{color:#d23a27}

/* ================================================================
   V10 — compact global module chrome + first-use / announcement UI
   ================================================================ */

.topbar{
    min-height:76px;
    height:auto;
    padding-top:7px;
    padding-bottom:7px;
}
.topbar-title{gap:1px;min-width:0}
.topbar-kicker{font-size:.61rem;letter-spacing:.15em}
.topbar-title h1{
    margin:0;
    font:700 clamp(1.35rem,2vw,1.78rem)/1.12 Montserrat,Arial,sans-serif;
    letter-spacing:-.035em;
    color:var(--text);
}
.topbar-subtitle{
    display:block;
    margin-top:3px;
    color:#d23a27;
    font-size:.74rem;
    font-weight:700;
    line-height:1.25;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:min(68vw,900px);
}
.content{padding-top:12px}

/* The top bar is now the module heading. Old module-heading copy should not
   consume a second screenful. Detail/context headings remain visible. */
.page-heading:not(.page-heading-context){
    justify-content:flex-end;
    align-items:center;
    min-height:0;
    margin:0 0 12px;
}
.page-heading:not(.page-heading-context)>div{display:none}
.page-heading:not(.page-heading-context) .heading-actions{margin-left:auto}
.page-heading.page-heading-context{
    align-items:center;
    margin:0 0 14px;
    padding:11px 14px;
    border:1px solid rgba(28,80,123,.68);
    border-radius:13px;
    background:rgba(25,23,71,.52);
}
.page-heading.page-heading-context .eyebrow{margin-bottom:3px;font-size:.61rem}
.page-heading.page-heading-context h1{
    margin:0;
    font-size:clamp(1.12rem,1.8vw,1.5rem);
    letter-spacing:-.025em;
}
.page-context-meta{
    margin:2px 0 0!important;
    color:var(--muted)!important;
    font-size:.72rem;
}
.page-utility-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:0 0 12px;
    min-height:30px;
}
.page-utility-bar .heading-actions{margin-left:auto}

.module-notice-overlay{
    position:fixed;
    z-index:3000;
    inset:0;
    display:grid;
    place-items:center;
    padding:20px;
    background:rgba(0,0,0,.76);
    backdrop-filter:blur(6px);
}
.module-notice-dialog{
    width:min(620px,100%);
    max-height:calc(100vh - 40px);
    overflow:auto;
    padding:28px;
    border:1px solid rgba(28,80,123,.95);
    border-radius:20px;
    background:linear-gradient(145deg,#191747,#0c152c);
    box-shadow:0 28px 90px rgba(0,0,0,.48);
}
.module-notice-dialog h2{
    margin:2px 0 12px;
    font:700 clamp(1.55rem,3vw,2.1rem)/1.12 Montserrat,Arial,sans-serif;
    letter-spacing:-.035em;
}
.module-notice-dialog>p{
    margin:0;
    color:rgba(241,243,244,.82);
    line-height:1.65;
}
.module-notice-quick-note,
.module-notice-announcement{
    display:grid;
    gap:5px;
    margin-top:18px;
    padding:14px 16px;
    border-radius:12px;
}
.module-notice-quick-note{
    border-left:4px solid #1c507b;
    background:rgba(28,80,123,.12);
}
.module-notice-quick-note strong,
.module-notice-announcement>span{
    color:var(--mint);
    font:700 .68rem Montserrat,Arial,sans-serif;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.module-notice-quick-note span{color:var(--muted);font-size:.82rem}
.module-notice-announcement{
    border:1px solid rgba(210,58,39,.32);
    background:rgba(210,58,39,.08);
}
.module-notice-announcement strong{font:700 .96rem Montserrat,Arial,sans-serif}
.module-notice-announcement p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.55}
.module-notice-actions{display:flex;justify-content:flex-end;margin-top:22px}
.module-notice-error{margin-top:12px;color:#f1f3f4;background:rgba(210,58,39,.14);padding:10px 12px;border-radius:10px;font-size:.78rem}
html.module-notice-open{overflow:hidden}

.module-announcement-admin{margin-bottom:18px}
.module-announcement-layout{
    display:grid;
    grid-template-columns:minmax(0,1.6fr) minmax(260px,.65fr);
    gap:16px;
    padding:18px 20px 20px;
}
.module-announcement-form{
    display:grid;
    grid-template-columns:minmax(180px,.7fr) minmax(240px,1.3fr);
    gap:12px;
    align-items:end;
}
.module-announcement-message-field{grid-column:1/-1}
.module-announcement-message-field textarea{min-height:78px}
.module-announcement-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.module-announcement-status{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:7px;
    min-width:0;
    padding:16px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#0c152c;
}
.module-announcement-status .eyebrow{margin:0}
.module-announcement-status>strong{font:700 .95rem Montserrat,Arial,sans-serif}
.module-announcement-status>p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.5;white-space:pre-wrap}
.module-announcement-status.is-active{border-color:rgba(210,58,39,.52)}

@media(max-width:900px){
    .module-announcement-layout{grid-template-columns:1fr}
}
@media(max-width:680px){
    .topbar{min-height:70px;padding:7px 14px}
    .topbar-title h1{font-size:1.25rem}
    .topbar-subtitle{max-width:70vw;font-size:.68rem}
    .topbar-kicker{display:block;font-size:.55rem}
    .content{padding-top:12px}
    .page-heading.page-heading-context{align-items:flex-start}
    .page-heading.page-heading-context .heading-actions{width:100%}
    .module-notice-dialog{padding:22px 18px;border-radius:16px}
    .module-notice-actions .button{width:100%}
    .module-announcement-form{grid-template-columns:1fr}
    .module-announcement-message-field,
    .module-announcement-actions{grid-column:1}
}


/* V11 — universal date-picker Today shortcut */
.date-input-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:stretch;
    gap:7px;
    width:100%;
}
.date-input-row>input[type="date"]{
    min-width:0;
}
.date-today-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:58px;
    padding:0 10px;
    border:1px solid rgba(241,243,244,.22);
    border-radius:10px;
    background:rgba(28,80,123,.22);
    color:#f1f3f4;
    font:700 .72rem Montserrat,Arial,sans-serif;
    transition:border-color .14s,background .14s,transform .14s;
}
.date-today-button:hover,
.date-today-button:focus-visible{
    border-color:#d23a27;
    background:rgba(210,58,39,.16);
    outline:none;
    transform:translateY(-1px);
}
@media(max-width:560px){
    .date-input-row{
        grid-template-columns:minmax(0,1fr) 54px;
        gap:5px;
    }
    .date-today-button{
        min-width:54px;
        padding:0 7px;
        font-size:.68rem;
    }
}


/* V11 — Approvals demand + quick follow-up */
.approvals-module-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:0 0 14px;
}
.approvals-module-bar .module-tabs{
    margin:0;
}
.approval-task-cell{
    width:1%;
    white-space:nowrap;
}
.approval-quick-task{
    min-width:82px;
    padding:7px 10px;
}
.approvals-table td[data-label="Demand"]>strong{
    color:#f1f3f4;
    font-family:Montserrat,Arial,sans-serif;
    font-size:.9rem;
}
.approvals-table [data-approval-due]{
    white-space:nowrap;
    font-weight:700;
}
@media(max-width:760px){
    .approvals-module-bar{
        align-items:stretch;
        flex-direction:column;
    }
    .approvals-module-bar>.button{
        width:100%;
    }
}


/* V12 — queue counts live inside the persistent module heading */
.topbar-title-row{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}
.topbar-title-row h1{margin:0}
.topbar-status{
    display:flex;
    align-items:center;
    flex:0 0 auto;
}
.topbar-status .badge{
    padding:5px 9px;
    font-size:.67rem;
    box-shadow:0 0 0 1px rgba(210,58,39,.06);
}
@media(max-width:680px){
    .topbar-title-row{gap:7px}
    .topbar-status .badge{padding:4px 7px;font-size:.61rem}
}

/* V12 — Tasks: sticky due-date rail and denser rows */
.task-filter-bar{margin-bottom:12px}
.task-board-v3{display:grid;gap:12px}
.task-date-group{
    display:grid;
    grid-template-columns:minmax(0,1fr) 92px;
    align-items:stretch;
    gap:10px;
}
.task-date-cards{
    display:grid;
    gap:7px;
    min-width:0;
}
.task-date-rail{
    position:relative;
    min-height:100%;
    border:1px solid rgba(28,80,123,.72);
    border-radius:14px;
    background:linear-gradient(180deg,rgba(25,23,71,.96),rgba(12,21,44,.96));
}
.task-date-rail>span,
.task-date-rail>strong,
.task-date-rail>small{
    position:sticky;
    z-index:2;
    display:block;
    text-align:center;
}
.task-date-rail>span{
    top:94px;
    padding-top:13px;
    color:#d23a27;
    font:700 .68rem Montserrat,Arial,sans-serif;
    letter-spacing:.13em;
}
.task-date-rail>strong{
    top:113px;
    color:#f1f3f4;
    font:700 2rem/1 Montserrat,Arial,sans-serif;
    letter-spacing:-.05em;
}
.task-date-rail>small{
    top:149px;
    padding:5px 6px 12px;
    color:rgba(241,243,244,.5);
    font:700 .58rem Montserrat,Arial,sans-serif;
    letter-spacing:.08em;
}
.task-date-group.is-overdue .task-date-rail{
    border-color:rgba(210,58,39,.58);
    background:linear-gradient(180deg,rgba(210,58,39,.12),rgba(12,21,44,.96));
}
.task-date-group.is-today .task-date-rail{
    box-shadow:inset 3px 0 #d23a27;
}
.task-card-v3{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:68px;
    padding:9px 11px;
    border:1px solid rgba(28,80,123,.66);
    border-radius:12px;
    background:rgba(25,23,71,.72);
}
.task-card-v3:hover{background:rgba(28,80,123,.11)}
.task-card-v3-main{
    display:grid;
    grid-template-columns:minmax(280px,1fr) auto;
    align-items:center;
    gap:10px;
    min-width:0;
    flex:1 1 auto;
}
.task-card-v3 .task-identity{min-width:0}
.task-card-v3 .task-identity-copy{min-width:0}
.task-card-v3 .task-target-link{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.91rem;
}
.task-card-v3 .task-subline{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:4px 8px;
    margin-top:3px;
    font-size:.68rem;
}
.task-card-v3 .task-subline .badge{padding:3px 6px;font-size:.58rem}
.task-owner-compact{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.task-owner-select{max-width:155px;padding:7px 9px!important;font-size:.71rem!important}
.task-unassign-form{margin:0}.task-unassign-button{min-height:32px;padding:5px 9px!important;font-size:.67rem!important}
.task-assignee-pill{
    display:inline-flex;
    align-items:center;
    max-width:150px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    padding:5px 8px;
    border:1px solid rgba(241,243,244,.12);
    border-radius:999px;
    color:rgba(241,243,244,.62);
    font-size:.66rem;
}
.task-assignee-pill.is-mine{border-color:rgba(28,80,123,.9);color:#f1f3f4;background:rgba(28,80,123,.18)}
.task-assignee-pill.is-unassigned{border-color:rgba(210,58,39,.32)}
.task-quick-actions-v3{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
    flex:0 0 auto;
}
.task-quick-actions-v3 form{margin:0}
.task-quick-actions-v3 .task-chip-action{
    min-width:38px;
    padding:6px 8px;
    border-radius:8px;
    font-size:.67rem;
}
.task-quick-actions-v3 .task-chip-action.is-complete{min-width:32px}
.task-quick-actions-v3 .task-more-actions summary{padding:6px 8px;font-size:.67rem}
.task-ajax-notice{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:90;
    max-width:min(420px,calc(100vw - 28px));
    padding:11px 14px;
    border:1px solid #1c507b;
    border-radius:10px;
    background:#0c152c;
    box-shadow:0 14px 44px rgba(0,0,0,.32);
    color:#f1f3f4;
    font-weight:700;
    font-size:.78rem;
}
.task-ajax-notice.is-error{border-color:#d23a27}
@media(max-width:900px){
    .task-date-group{grid-template-columns:minmax(0,1fr) 70px}
    .task-card-v3{align-items:stretch;flex-direction:column}
    .task-card-v3-main{grid-template-columns:minmax(0,1fr) auto;width:100%}
    .task-quick-actions-v3{width:100%;justify-content:flex-start}
    .task-date-rail>span{top:84px}.task-date-rail>strong{top:103px}.task-date-rail>small{top:139px}
}
@media(max-width:600px){
    .task-date-group{grid-template-columns:minmax(0,1fr) 54px;gap:6px}
    .task-date-rail>strong{font-size:1.55rem}
    .task-card-v3-main{grid-template-columns:1fr}
    .task-owner-compact{justify-content:flex-start}
    .task-quick-actions-v3{flex-wrap:wrap}
}

/* V12 — Cases current-account-status workflow */
.case-target-search{
    overflow:hidden;
}
.case-search-heading{
    align-items:center;
}
.case-search-rule{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:5px 10px;
    border:1px solid rgba(210,58,39,.35);
    border-radius:999px;
    background:rgba(210,58,39,.08);
    color:#d23a27;
    font:700 .68rem Montserrat,Arial,sans-serif;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.case-search-input-wrap{
    position:relative;
    display:flex;
    align-items:center;
    margin:0 20px 10px;
}
.case-search-input-wrap input{
    width:100%;
    min-height:54px;
    padding:0 48px 0 46px;
    border:1px solid rgba(241,243,244,.18);
    border-radius:14px;
    background:rgba(12,21,44,.78);
    color:#f1f3f4;
    font:600 1rem Encode Sans,Arial,sans-serif;
}
.case-search-input-wrap input:focus{
    border-color:#1c507b;
    outline:none;
    box-shadow:0 0 0 3px rgba(28,80,123,.22);
}
.case-search-icon{
    position:absolute;
    left:16px;
    z-index:2;
    color:#d23a27;
    font-size:1.35rem;
    line-height:1;
    pointer-events:none;
}
.case-search-spinner{
    position:absolute;
    right:17px;
    width:19px;
    height:19px;
    border:2px solid rgba(241,243,244,.2);
    border-top-color:#d23a27;
    border-radius:50%;
    animation:spin .8s linear infinite;
}
.case-search-message{
    min-height:25px;
    margin:0 20px 14px;
    color:var(--muted);
    font-size:.78rem;
}
.case-search-message.is-error{
    color:#ff9f91;
}
.case-search-results{
    display:grid;
    gap:18px;
    padding:0 20px 20px;
}
.case-result-group{
    overflow:hidden;
    border:1px solid rgba(241,243,244,.11);
    border-radius:13px;
    background:rgba(12,21,44,.4);
}
.case-result-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:13px 15px;
    border-bottom:1px solid rgba(241,243,244,.1);
}
.case-result-heading>div{
    display:grid;
    gap:2px;
}
.case-result-heading span:not(.badge){
    color:var(--muted);
    font-size:.68rem;
    text-transform:uppercase;
    letter-spacing:.07em;
}
.case-result-heading strong{
    color:var(--text);
    font:600 .88rem Montserrat,Arial,sans-serif;
}
.case-target-primary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-width:270px;
}
.case-target-primary-copy{
    display:grid;
    gap:3px;
    min-width:0;
}
.case-target-primary-copy strong{
    overflow-wrap:anywhere;
    color:var(--text);
    font:600 .84rem Montserrat,Arial,sans-serif;
}
.case-target-primary-copy small{
    color:var(--muted);
    font-size:.7rem;
}
.case-request-status-button{
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    gap:6px;
    min-height:32px;
    padding:6px 10px;
    border:1px solid rgba(210,58,39,.42);
    border-radius:999px;
    background:linear-gradient(135deg,rgba(210,58,39,.18),rgba(28,80,123,.2));
    color:#f1f3f4;
    font:700 .68rem Montserrat,Arial,sans-serif;
    cursor:pointer;
    transition:transform .14s,border-color .14s,background .14s;
}
.case-request-status-button:hover,
.case-request-status-button:focus-visible{
    transform:translateY(-1px);
    border-color:#d23a27;
    background:rgba(210,58,39,.22);
    outline:none;
}
.case-request-status-icon{
    color:#d23a27;
    font-size:.9rem;
}
.case-status-dashboard{
    display:grid;
    gap:18px;
    margin-top:18px;
}
.case-status-loading{
    padding:18px 20px;
    color:var(--muted);
    font-size:.78rem;
}
.case-status-history-list,
.case-status-queue-list{
    display:grid;
    gap:9px;
    padding:0 18px 18px;
}
.case-status-history-item,
.case-status-queue-item{
    border:1px solid rgba(241,243,244,.12);
    border-radius:12px;
    background:rgba(12,21,44,.58);
}
.case-status-history-item{
    padding:13px 14px;
}
.case-status-queue-item{
    padding:14px;
}
.case-status-queue-item.is-highlighted{
    border-color:#d23a27;
    box-shadow:0 0 0 3px rgba(210,58,39,.12);
}
.case-status-history-head,
.case-status-queue-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}
.case-status-history-target,
.case-status-queue-target,
.case-status-requester{
    display:grid;
    gap:3px;
    min-width:0;
}
.case-status-history-target strong,
.case-status-queue-target strong{
    color:var(--text);
    font:600 .9rem Montserrat,Arial,sans-serif;
    overflow-wrap:anywhere;
}
.case-status-history-target small,
.case-status-queue-target small,
.case-status-requester small{
    color:var(--muted);
    font-size:.7rem;
}
.case-status-requester{
    justify-items:end;
    text-align:right;
}
.case-status-requester strong{
    color:var(--text);
    font-size:.76rem;
}
.case-status-state,
.case-contacted-pill,
.case-status-snapshot{
    display:inline-flex;
    align-items:center;
    width:fit-content;
    min-height:25px;
    padding:4px 8px;
    border:1px solid rgba(241,243,244,.16);
    border-radius:999px;
    color:var(--muted);
    font-size:.66rem;
    line-height:1.25;
}
.case-status-state.is-new{
    color:#ffb2a8;
    border-color:rgba(210,58,39,.4);
    background:rgba(210,58,39,.09);
}
.case-status-state.is-reviewing{
    color:#e8dca9;
    border-color:rgba(232,220,169,.35);
    background:rgba(232,220,169,.06);
}
.case-status-state.is-answered,
.case-status-state.is-closed{
    color:#b9e1c2;
    border-color:rgba(185,225,194,.32);
    background:rgba(185,225,194,.06);
}
.case-contacted-pill.is-contacted{
    color:#f1f3f4;
    border-color:rgba(210,58,39,.42);
    background:rgba(210,58,39,.13);
}
.case-status-history-meta,
.case-status-queue-facts{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
    margin-top:9px;
    color:var(--muted);
    font-size:.68rem;
}
.case-status-note,
.case-status-outcome{
    margin-top:10px;
    padding:10px 12px;
    border-radius:8px;
    background:rgba(241,243,244,.045);
}
.case-status-outcome{
    border-left:3px solid #1c507b;
}
.case-status-note>span,
.case-status-outcome>span{
    color:var(--muted);
    font:700 .62rem Montserrat,Arial,sans-serif;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.case-status-note p,
.case-status-outcome p{
    margin:4px 0 0;
    color:var(--text);
    font-size:.76rem;
    line-height:1.48;
    white-space:pre-wrap;
}
.case-status-awaiting{
    margin-top:10px;
    color:var(--muted);
    font-size:.72rem;
    font-style:italic;
}
.case-status-queue-form{
    display:grid;
    grid-template-columns:170px minmax(240px,1fr) auto;
    align-items:end;
    gap:10px;
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid rgba(241,243,244,.09);
}
.case-status-queue-form .field{
    margin:0;
}
.case-status-outcome-field textarea{
    min-height:70px;
    resize:vertical;
}
.case-status-queue-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    padding-bottom:1px;
}
.case-status-request-modal{
    width:min(620px,calc(100vw - 28px));
    max-width:620px;
    padding:0;
    border:0;
    border-radius:17px;
    background:transparent;
    color:var(--text);
}
.case-status-request-modal::backdrop{
    background:rgba(0,0,0,.72);
    backdrop-filter:blur(3px);
}
.case-status-request-card{
    width:100%;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(241,243,244,.15);
    border-radius:17px;
    background:#0c152c;
    box-shadow:0 28px 90px rgba(0,0,0,.42);
}
.case-status-request-card .modal-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:21px 22px 16px;
    border-bottom:1px solid rgba(241,243,244,.1);
}
.case-status-request-card .modal-heading h2{
    margin:3px 0 0;
}
.case-status-target-summary{
    display:grid;
    gap:3px;
    margin:18px 22px 0;
    padding:13px 15px;
    border:1px solid rgba(28,80,123,.42);
    border-radius:11px;
    background:rgba(28,80,123,.12);
}
.case-status-target-summary span,
.case-status-target-summary small{
    color:var(--muted);
    font-size:.7rem;
}
.case-status-target-summary strong{
    color:#f1f3f4;
    font:600 1rem Montserrat,Arial,sans-serif;
}
.case-status-request-card>.field,
.case-contact-choice,
.case-status-request-note{
    margin-left:22px;
    margin-right:22px;
}
.case-contact-choice{
    display:flex;
    align-items:flex-start;
    gap:11px;
    margin-top:16px;
    padding:12px 13px;
    border:1px solid rgba(241,243,244,.12);
    border-radius:10px;
    background:rgba(241,243,244,.035);
}
.case-contact-choice input{
    margin-top:3px;
}
.case-contact-choice span{
    display:grid;
    gap:3px;
}
.case-contact-choice strong{
    color:var(--text);
    font-size:.78rem;
}
.case-contact-choice small{
    color:var(--muted);
    font-size:.7rem;
    line-height:1.4;
}
.case-status-request-note{
    margin-top:12px;
    padding:10px 12px;
    border-left:3px solid #d23a27;
    background:rgba(210,58,39,.06);
    color:var(--muted);
    font-size:.7rem;
    line-height:1.48;
}
.case-status-request-card .modal-actions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:17px;
    padding:15px 22px 20px;
    border-top:1px solid rgba(241,243,244,.09);
}
.case-status-request-card>[data-case-status-request-error]{
    margin:0 22px 20px;
}
@media(max-width:900px){
    .case-status-queue-form{
        grid-template-columns:1fr 1fr;
    }
    .case-status-queue-actions{
        grid-column:1/-1;
        justify-content:flex-start;
    }
}
@media(max-width:700px){
    .case-search-input-wrap,
    .case-search-message{
        margin-left:14px;
        margin-right:14px;
    }
    .case-search-results{
        padding-left:14px;
        padding-right:14px;
    }
    .case-target-primary{
        min-width:0;
        align-items:flex-start;
        flex-direction:column;
    }
    .case-request-status-button{
        width:100%;
        justify-content:center;
    }
    .case-status-history-head,
    .case-status-queue-head{
        flex-direction:column;
    }
    .case-status-requester{
        justify-items:start;
        text-align:left;
    }
    .case-status-queue-form{
        grid-template-columns:1fr;
    }
    .case-status-queue-actions{
        grid-column:auto;
        align-items:stretch;
        flex-direction:column;
    }
    .case-status-queue-actions .button{
        width:100%;
    }
}

/* V12.1 — Cases blacklist status icons */
.case-blacklist-status{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:30px;
    padding:5px 9px 5px 6px;
    border:1px solid rgba(241,243,244,.13);
    border-radius:999px;
    background:rgba(12,21,44,.72);
    color:var(--text);
    font:700 .68rem Montserrat,Arial,sans-serif;
    white-space:nowrap;
}
.case-blacklist-status-icon{
    display:grid;
    place-items:center;
    width:20px;
    height:20px;
    flex:0 0 20px;
    border-radius:999px;
    background:rgba(241,243,244,.08);
    color:var(--muted);
    font-size:.72rem;
    line-height:1;
}
.case-blacklist-status.is-warning{
    border-color:rgba(210,58,39,.38);
    background:rgba(210,58,39,.08);
}
.case-blacklist-status.is-warning .case-blacklist-status-icon,
.case-blacklist-status.is-danger .case-blacklist-status-icon{
    background:#d23a27;
    color:#fff;
}
.case-blacklist-status.is-danger{
    border-color:rgba(210,58,39,.62);
    background:rgba(210,58,39,.15);
    color:#fff;
}
.case-blacklist-status.is-resolved{
    border-color:rgba(28,80,123,.55);
    background:rgba(28,80,123,.14);
}
.case-blacklist-status.is-resolved .case-blacklist-status-icon{
    background:#1c507b;
    color:#fff;
}
.case-blacklist-status.is-active .case-blacklist-status-icon{
    color:#d23a27;
}
.case-blacklist-status.is-neutral{
    opacity:.72;
}


/* V12.4 — Gallery + Ratings Okularity calendar
   Today lives INSIDE the calendar dropdown. */
.oku-calendar-field{
    position:relative;
    display:block;
    width:100%;
}
.oku-calendar-field>.oku-calendar-input{
    width:100%;
    min-width:0;
    padding-right:42px;
    font-variant-numeric:tabular-nums;
}
.oku-calendar-toggle{
    position:absolute;
    z-index:2;
    top:50%;
    right:4px;
    display:grid;
    place-items:center;
    width:34px;
    height:calc(100% - 8px);
    padding:0;
    transform:translateY(-50%);
    border:0;
    border-left:1px solid rgba(241,243,244,.12);
    border-radius:0 8px 8px 0;
    background:transparent;
    color:rgba(241,243,244,.68);
    cursor:pointer;
    transition:color .14s,background .14s;
}
.oku-calendar-toggle:hover,
.oku-calendar-toggle:focus-visible,
.oku-calendar-toggle[aria-expanded="true"]{
    color:#f1f3f4;
    background:rgba(28,80,123,.24);
    outline:none;
}
.oku-calendar-toggle svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.oku-calendar-popover{
    position:fixed;
    z-index:10050;
    box-sizing:border-box;
    padding:12px;
    border:1px solid rgba(241,243,244,.16);
    border-radius:15px;
    background:#0c152c;
    box-shadow:
        0 22px 58px rgba(0,0,0,.38),
        0 3px 12px rgba(0,0,0,.22);
    color:#f1f3f4;
}
.oku-calendar-popover[hidden]{
    display:none !important;
}
.oku-calendar-header{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 34px;
    align-items:center;
    gap:6px;
    margin-bottom:10px;
}
.oku-calendar-title{
    text-align:center;
    color:#f1f3f4;
    font:700 .84rem Montserrat,Arial,sans-serif;
}
.oku-calendar-nav{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    padding:0;
    border:1px solid rgba(241,243,244,.12);
    border-radius:9px;
    background:rgba(241,243,244,.04);
    color:#f1f3f4;
    font:400 1.45rem/1 Arial,sans-serif;
    cursor:pointer;
}
.oku-calendar-nav:hover,
.oku-calendar-nav:focus-visible{
    border-color:#1c507b;
    background:rgba(28,80,123,.28);
    outline:none;
}
.oku-calendar-weekdays,
.oku-calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:4px;
}
.oku-calendar-weekdays{
    margin:0 0 5px;
}
.oku-calendar-weekdays span{
    padding:3px 0;
    text-align:center;
    color:rgba(241,243,244,.48);
    font:700 .62rem Montserrat,Arial,sans-serif;
    text-transform:uppercase;
}
.oku-calendar-grid{
    min-height:230px;
}
.oku-calendar-spacer,
.oku-calendar-day{
    aspect-ratio:1;
}
.oku-calendar-day{
    display:grid;
    place-items:center;
    min-width:0;
    padding:0;
    border:1px solid transparent;
    border-radius:9px;
    background:transparent;
    color:#f1f3f4;
    font:600 .76rem Encode Sans,Arial,sans-serif;
    cursor:pointer;
    transition:
        background .12s,
        border-color .12s,
        transform .12s;
}
.oku-calendar-day:hover,
.oku-calendar-day:focus-visible{
    border-color:rgba(28,80,123,.86);
    background:rgba(28,80,123,.28);
    outline:none;
    transform:translateY(-1px);
}
.oku-calendar-day.is-today{
    border-color:#d23a27;
    color:#ffffff;
}
.oku-calendar-day.is-selected{
    border-color:#1c507b;
    background:#1c507b;
    color:#ffffff;
}
.oku-calendar-day.is-selected.is-today{
    box-shadow:inset 0 0 0 2px #d23a27;
}
.oku-calendar-footer{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid rgba(241,243,244,.1);
}
.oku-calendar-today{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:84px;
    padding:8px 14px;
    border:1px solid #d23a27;
    border-radius:9px;
    background:rgba(210,58,39,.12);
    color:#ffffff;
    font:700 .72rem Montserrat,Arial,sans-serif;
    cursor:pointer;
    transition:background .14s,transform .14s;
}
.oku-calendar-today:hover,
.oku-calendar-today:focus-visible{
    background:#d23a27;
    outline:none;
    transform:translateY(-1px);
}
@media(max-width:520px){
    .oku-calendar-popover{
        width:calc(100vw - 20px) !important;
        padding:11px;
    }
    .oku-calendar-grid{
        min-height:218px;
    }
}


/* V35 — Tasks data-quality alerts and target Image ID editing */
.task-attention-count,
.task-owner-warning-count {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 26px;
    padding: 4px 8px;
    border: 1px solid rgba(176,0,32,.5);
    border-radius: 999px;
    color: #F4F5F7;
    background: rgba(176,0,32,.14);
    font: 700 .65rem Montserrat,Arial,sans-serif;
}

.task-owner-warning-count {
    border-color: rgba(12,114,182,.58);
    background: rgba(12,114,182,.12);
}

.task-card-v3.needs-image-ids {
    box-shadow: inset 3px 0 rgba(176,0,32,.9);
}

.task-attention-label,
.task-owner-warning-label {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 3px 6px;
    border: 1px solid rgba(176,0,32,.42);
    border-radius: 999px;
    color: var(--text);
    background: rgba(176,0,32,.12);
    font: 700 .59rem Montserrat,Arial,sans-serif;
    white-space: nowrap;
}

.task-owner-warning-label {
    border-color: rgba(12,114,182,.48);
    color: var(--text);
    background: rgba(12,114,182,.1);
}

.task-more-actions > summary.needs-attention {
    color: var(--text);
    font-weight: 700;
}

.task-image-id-form {
    grid-template-columns: minmax(180px, 1fr) auto !important;
    padding-bottom: 9px;
    margin-bottom: 9px !important;
    border-bottom: 1px solid rgba(241,243,244,.1);
}

.task-image-id-form textarea {
    width: 100%;
    min-height: 78px;
    max-height: 180px;
    resize: vertical;
    padding: 8px 9px;
    border: 1px solid rgba(241,243,244,.16);
    border-radius: 8px;
    color: var(--text);
    background: #122844;
    font: 500 .7rem ui-monospace,SFMono-Regular,Consolas,monospace;
    line-height: 1.35;
}

@media(max-width:600px) {
    .task-image-id-form {
        grid-template-columns: 1fr !important;
    }
}

/* V12.5.4 — Tasks: current-user batch, assignee filter, visible Image IDs action */
.task-board-v3{
    gap:18px;
}
.task-user-section{
    display:grid;
    gap:9px;
    min-width:0;
}
.task-user-section + .task-user-section{
    margin-top:8px;
    padding-top:18px;
    border-top:1px solid rgba(28,80,123,.52);
}
.task-user-section-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:44px;
    padding:8px 11px;
    border:1px solid rgba(28,80,123,.52);
    border-radius:11px;
    background:rgba(12,21,44,.72);
}
.task-user-section-heading>div{
    display:flex;
    align-items:baseline;
    gap:9px;
    min-width:0;
}
.task-user-section-heading h2{
    margin:0;
    font:700 .82rem Montserrat,Arial,sans-serif;
    letter-spacing:.01em;
}
.task-user-section-heading span{
    color:rgba(241,243,244,.54);
    font-size:.66rem;
}
.task-user-section-heading>strong{
    display:grid;
    place-items:center;
    min-width:30px;
    height:26px;
    padding:0 8px;
    border:1px solid rgba(28,80,123,.64);
    border-radius:999px;
    color:#F4F5F7;
    background:rgba(28,80,123,.18);
    font:700 .66rem Montserrat,Arial,sans-serif;
}
.task-user-section.is-mine>.task-user-section-heading{
    border-color:rgba(12,114,182,.78);
    background:linear-gradient(90deg,rgba(12,114,182,.18),rgba(12,21,44,.74));
    box-shadow:inset 3px 0 #0C72B6;
}
.task-user-section.is-mine>.task-user-section-heading h2{
    color:#F4F5F7;
}
.task-user-section-groups{
    display:grid;
    gap:12px;
    min-width:0;
}

/* Keep action menus above neighboring task cards. */
.task-card-v3{
    position:relative;
    overflow:visible;
}
.task-card-v3:has(.task-more-actions[open]){
    z-index:80;
}
.task-more-actions[open]{
    z-index:90;
}
.task-more-actions[open] .task-more-popover{
    z-index:100;
}

/* Image IDs is a first-class task action, not a low-contrast text link. */
.task-image-actions{
    flex:0 0 auto;
}
.task-quick-actions-v3 .task-image-id-trigger{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:31px;
    padding:6px 10px;
    border:1px solid rgba(12,114,182,.9);
    border-radius:8px;
    color:#F4F5F7;
    background:rgba(12,114,182,.22);
    font:700 .67rem Montserrat,Arial,sans-serif;
    line-height:1;
    white-space:nowrap;
    cursor:pointer;
}
.task-quick-actions-v3 .task-image-id-trigger:hover,
.task-quick-actions-v3 .task-image-id-trigger:focus-visible{
    background:rgba(12,114,182,.36);
    border-color:#0C72B6;
    outline:none;
}
.task-quick-actions-v3 .task-image-id-trigger.needs-attention{
    border-color:rgba(176,0,32,.88);
    background:rgba(176,0,32,.22);
    color:#F4F5F7;
    box-shadow:0 0 0 1px rgba(176,0,32,.08);
}
.task-quick-actions-v3 .task-image-id-trigger.needs-attention:hover,
.task-quick-actions-v3 .task-image-id-trigger.needs-attention:focus-visible{
    border-color:#B00020;
    background:rgba(176,0,32,.34);
}
.task-image-id-popover{
    width:min(380px,calc(100vw - 32px))!important;
}
.task-image-id-popover .task-image-id-form{
    grid-template-columns:1fr!important;
    gap:9px!important;
    padding-bottom:0;
    margin-bottom:0!important;
    border-bottom:0;
}
.task-image-id-popover .task-image-id-form label{
    display:grid;
    gap:5px;
}
.task-image-id-popover .task-image-id-form .button{
    justify-self:end;
}

@media(max-width:760px){
    .task-user-section-heading>div{
        display:grid;
        gap:1px;
    }
    .task-user-section-heading span{
        white-space:normal;
    }
}
@media(max-width:560px){
    .task-image-id-popover .task-image-id-form .button{
        width:100%;
        justify-self:stretch;
    }
}


/* V12.5.5 — superseded Approvals history */
.approval-superseded-key{
    display:block;
    margin-top:7px;
    color:rgba(241,243,244,.48);
    font-size:.72rem;
    font-weight:600;
}
.approval-superseded-key span{
    display:inline-block;
    margin-right:4px;
    color:rgba(241,243,244,.42);
}
.approvals-table tbody tr.approval-row-superseded{
    opacity:.44;
    filter:grayscale(.82) saturate(.45);
    transition:opacity .15s ease,filter .15s ease,background .15s ease;
}
.approvals-table tbody tr.approval-row-superseded:hover,
.approvals-table tbody tr.approval-row-superseded:focus-within{
    opacity:.72;
    filter:grayscale(.45) saturate(.7);
    background:rgba(241,243,244,.035);
}
.approvals-table .approval-superseded-label{
    color:rgba(241,243,244,.72);
    font-weight:800;
    letter-spacing:.02em;
}
.approvals-table tr.approval-row-superseded .row-arrow{
    color:rgba(241,243,244,.68);
    border-color:rgba(241,243,244,.18);
}
@media(max-width:760px){
    .approval-superseded-key{
        max-width:520px;
    }
}

/* -------------------------------------------------------------------------
   Approval creation demand precedent — v40
   ------------------------------------------------------------------------- */
.approval-demand-history-panel{overflow:hidden}
.approval-demand-history{display:flex;flex-direction:column;gap:0;max-height:590px;overflow:auto}
.approval-demand-history-empty,.approval-demand-history-loading{padding:22px 24px;color:var(--muted);font-size:.8rem;line-height:1.55}
.approval-demand-history-empty.is-error{color:#ff9e91}
.approval-demand-history-item{display:block;padding:15px 18px;border-bottom:1px solid rgba(241,243,244,.1);background:rgba(12,21,44,.17);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.approval-demand-history-item:last-child{border-bottom:0}
.approval-demand-history-item:hover,.approval-demand-history-item:focus-visible{background:rgba(28,80,123,.18);outline:none}
.approval-demand-history-item.is-target-match{background:rgba(210,58,39,.095);box-shadow:inset 3px 0 #d23a27}
.approval-demand-history-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.approval-demand-history-title{min-width:0;display:flex;flex-direction:column;gap:2px}
.approval-demand-history-title strong{font-family:Montserrat,Arial,sans-serif;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.approval-demand-history-title small{color:var(--muted);font-size:.66rem}
.approval-demand-history-badges{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:5px;flex:0 0 auto}
.approval-demand-history-badges .badge{padding:4px 6px;font-size:.56rem}
.approval-demand-history-amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px}
.approval-demand-history-amounts>div{min-width:0;padding:7px 8px;border:1px solid rgba(241,243,244,.09);border-radius:8px;background:rgba(12,21,44,.28)}
.approval-demand-history-amounts span{display:block;color:var(--faint);font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.approval-demand-history-amounts strong{display:block;margin-top:2px;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.approval-demand-history-amounts .is-emphasized{border-color:rgba(28,80,123,.58);background:rgba(28,80,123,.18)}
.approval-demand-history-amounts .is-emphasized strong{color:#b8daf4}
.approval-demand-history-flags{display:block;margin-top:8px;color:var(--faint);font-size:.62rem}
@media(max-width:1050px){.approval-demand-history{max-height:430px}}
@media(max-width:560px){.approval-demand-history-amounts{grid-template-columns:1fr}.approval-demand-history-top{align-items:flex-start}.approval-demand-history-badges{max-width:45%}}

/* V12.5.9 — deliberate/collapsed approval economics + history boundary */
.approval-economics-details{
    overflow:visible;
}
.approval-economics-details>summary{
    list-style:none;
}
.approval-economics-details>summary::-webkit-details-marker{
    display:none;
}
.approval-economics-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:16px 18px;
    cursor:pointer;
    user-select:none;
}
.approval-economics-summary>span:first-child{
    display:grid;
    gap:3px;
    min-width:0;
}
.approval-economics-summary strong{
    color:var(--text);
    font:700 .9rem Montserrat,Arial,sans-serif;
}
.approval-economics-summary small{
    color:var(--muted);
    font-size:.68rem;
    line-height:1.4;
}
.approval-economics-summary-icon{
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:30px;
    height:30px;
    border:1px solid var(--line);
    border-radius:50%;
    color:#1c507b;
    font:700 1rem Montserrat,Arial,sans-serif;
    transition:transform .16s ease,background .16s ease;
}
.approval-economics-details[open] .approval-economics-summary{
    border-bottom:1px solid var(--line);
}
.approval-economics-details[open] .approval-economics-summary-icon{
    transform:rotate(45deg);
    background:rgba(28,80,123,.07);
}
.approval-economics-content{
    padding-bottom:16px;
}
.approval-economics-heading{
    padding-top:16px;
}
.approval-author-economics-table td:last-child strong{
    font-size:.9rem;
}
.approvals-history-limit{
    margin-bottom:14px;
}
@media(max-width:640px){
    .approval-economics-summary{
        align-items:flex-start;
    }
}

/* V12.6.0 — Super Admin user activity analytics */
.page-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.user-activity-cell{display:grid;gap:4px;min-width:160px}
.user-activity-cell .badge{justify-self:start}
.user-activity-cell strong{font-size:.78rem}
.user-activity-cell small,.activity-cell-note{display:block;color:var(--faint);font-size:.67rem;margin-top:3px}
.user-activity-summary-panel{margin:0 0 22px}
.user-activity-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
.user-activity-summary-grid>div{padding:18px 20px;border-right:1px solid var(--line);min-width:0}
.user-activity-summary-grid>div:last-child{border-right:0}
.user-activity-summary-grid span{display:block;color:var(--muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.user-activity-summary-grid strong{display:block;margin:7px 0 3px;font:700 1.45rem Montserrat,Arial,sans-serif}
.user-activity-summary-grid small{color:var(--faint);font-size:.64rem;line-height:1.35}
.activity-toolbar-panel{margin-bottom:18px}
.activity-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px}
.activity-period-tabs{display:flex;gap:6px;flex-wrap:wrap}
.activity-period-tab{padding:8px 13px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font:700 .72rem Montserrat,Arial,sans-serif}
.activity-period-tab:hover,.activity-period-tab.is-active{color:var(--text);border-color:rgba(210,58,39,.55);background:rgba(210,58,39,.13)}
.activity-toolbar-note{display:flex;flex-direction:column;text-align:right}
.activity-toolbar-note strong{font:700 .76rem Montserrat,Arial,sans-serif}
.activity-toolbar-note span{color:var(--faint);font-size:.65rem;max-width:520px}
.activity-team-metrics,.activity-user-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
.activity-team-metrics .metric-card,.activity-user-metrics .metric-card{padding:18px}
.activity-team-metrics .metric-card strong,.activity-user-metrics .metric-card strong{font-size:1.9rem}
.activity-team-table{min-width:1450px}
.activity-team-table td{vertical-align:top}
.activity-user-inactive{opacity:.55}
.activity-change{display:block;margin-top:3px;font-size:.62rem;font-weight:700}
.activity-change.is-up{color:#b8daf4}
.activity-change.is-down{color:#f0a79e}
.activity-detail-links{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.activity-user-hero{margin-bottom:18px}
.activity-detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:18px;margin-bottom:18px}
.activity-day-chart{display:flex;align-items:flex-end;gap:5px;height:220px;padding:22px 20px 12px;overflow-x:auto}
.activity-day-column{display:flex;flex:1 0 13px;min-width:13px;height:100%;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px}
.activity-day-column span{color:var(--faint);font-size:.54rem;line-height:1}
.activity-day-bar{width:100%;min-height:2px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#d23a27,#1c507b);box-shadow:0 0 0 1px rgba(241,243,244,.04)}
.activity-chart-legend{padding:0 20px 18px;color:var(--faint);font-size:.63rem}
.activity-chart-legend i{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:3px;background:#1c507b}
.activity-module-list{padding:8px 20px 18px}
.activity-module-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(100px,1fr) 42px;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.activity-module-row:last-child{border-bottom:0}
.activity-module-row>div:first-child{display:grid;gap:2px}
.activity-module-row strong{font:700 .74rem Montserrat,Arial,sans-serif}
.activity-module-row span,.activity-module-row small{color:var(--faint);font-size:.62rem}
.activity-module-row small{text-align:right}
.activity-module-track{height:7px;overflow:hidden;border-radius:99px;background:rgba(241,243,244,.08)}
.activity-module-track i{display:block;height:100%;border-radius:99px;background:#1c507b}
.activity-event-list{display:grid}
.activity-event-row{display:grid;grid-template-columns:105px minmax(0,1fr) 145px;gap:18px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line)}
.activity-event-row:last-child{border-bottom:0}
.activity-event-time{display:grid;gap:2px}
.activity-event-time strong{font:700 .7rem Montserrat,Arial,sans-serif}
.activity-event-time span{color:var(--faint);font-size:.62rem}
.activity-event-copy{display:grid;gap:2px;min-width:0}
.activity-event-copy strong{font:700 .75rem Montserrat,Arial,sans-serif}
.activity-event-copy span{color:var(--muted);font-size:.65rem;overflow-wrap:anywhere}
.activity-event-row code{text-align:right;color:var(--faint);font-size:.6rem;overflow-wrap:anywhere}
@media(max-width:1250px){
    .user-activity-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .user-activity-summary-grid>div:nth-child(3){border-right:0}
    .user-activity-summary-grid>div:nth-child(-n+3){border-bottom:1px solid var(--line)}
    .activity-team-metrics,.activity-user-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
    .activity-detail-grid{grid-template-columns:1fr}
    .activity-toolbar{align-items:flex-start;flex-direction:column}
    .activity-toolbar-note{text-align:left}
}
@media(max-width:680px){
    .page-heading-actions{width:100%}
    .page-heading-actions .button{flex:1}
    .user-activity-summary-grid,.activity-team-metrics,.activity-user-metrics{grid-template-columns:1fr}
    .user-activity-summary-grid>div{border-right:0;border-bottom:1px solid var(--line)!important}
    .user-activity-summary-grid>div:last-child{border-bottom:0!important}
    .activity-detail-links{align-items:flex-start;flex-direction:column}
    .activity-event-row{grid-template-columns:85px minmax(0,1fr)}
    .activity-event-row code{display:none}
    .activity-module-row{grid-template-columns:minmax(110px,.8fr) minmax(90px,1fr) 38px}
}

/* V12.6.1 — Super Admin "View as user" switcher */
.brand-view-as{position:relative;display:block;min-width:0}
.brand-view-as>summary{list-style:none;cursor:pointer;position:relative;padding-right:18px}
.brand-view-as>summary::-webkit-details-marker{display:none}
.brand-switcher{border:0;background:transparent;color:inherit;width:100%}
.brand-switcher-caret{position:absolute;right:0;top:50%;transform:translateY(-50%);color:rgba(241,243,244,.52);font:700 .85rem Montserrat,Arial,sans-serif;line-height:1}
.brand-view-as[open] .brand-switcher-caret{transform:translateY(-50%) rotate(180deg)}
.brand-view-as-menu{position:absolute;left:-2px;top:calc(100% + 14px);z-index:80;width:248px;padding:16px;border:1px solid rgba(241,243,244,.16);border-radius:15px;background:#121a36;box-shadow:0 24px 60px rgba(0,0,0,.42);line-height:1.4}
.brand-view-as-menu:before{content:"";position:absolute;left:28px;top:-7px;width:12px;height:12px;background:#121a36;border-left:1px solid rgba(241,243,244,.16);border-top:1px solid rgba(241,243,244,.16);transform:rotate(45deg)}
.brand-view-as-menu>.eyebrow{margin-bottom:4px}
.brand-view-as-menu>strong{display:block;font:700 .9rem Montserrat,Arial,sans-serif}
.brand-view-as-menu>p{margin:5px 0 13px;color:var(--faint);font-size:.68rem;line-height:1.45}
.brand-view-as-form{display:grid;gap:10px}
.brand-view-as-form .field{gap:5px}
.brand-view-as-form .field span{font-size:.65rem}
.brand-view-as-form select{padding:9px 10px;font-size:.72rem}
.brand-view-as-menu .button{width:100%;margin-top:2px}
.brand-return-admin{margin-top:8px!important}
.view-as-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 34px;border-bottom:1px solid rgba(210,58,39,.42);background:linear-gradient(90deg,rgba(210,58,39,.18),rgba(210,58,39,.07));position:sticky;top:0;z-index:24;backdrop-filter:blur(18px)}
.view-as-banner>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}
.view-as-banner strong{font:700 .78rem Montserrat,Arial,sans-serif;white-space:nowrap}
.view-as-banner span:not(.view-as-badge){color:rgba(241,243,244,.68);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.view-as-badge{display:inline-flex;align-items:center;border-radius:7px;padding:4px 7px;background:#d23a27;color:#fff;font:800 .58rem Montserrat,Arial,sans-serif;letter-spacing:.08em}
.view-as-banner-actions{display:flex;align-items:center;gap:14px}
.view-as-banner-actions small{max-width:540px;color:rgba(241,243,244,.62);font-size:.63rem;text-align:right}
.view-as-banner-actions form{margin:0}
.admin-view-as-active .topbar{top:48px}
@media(max-width:900px){
    .brand-view-as-menu{position:fixed;left:18px;top:82px;width:min(310px,calc(100vw - 36px))}
    .brand-view-as-menu:before{display:none}
    .view-as-banner{position:relative;top:auto;padding:10px 14px;align-items:flex-start;flex-direction:column;gap:8px}
    .view-as-banner-actions{width:100%;justify-content:space-between}
    .view-as-banner-actions small{text-align:left;max-width:none}
    .admin-view-as-active .topbar{top:0}
}
@media(max-width:680px){
    .view-as-banner>div:first-child{align-items:flex-start;flex-wrap:wrap}
    .view-as-banner-actions{align-items:stretch;flex-direction:column}
    .view-as-banner-actions .button{width:100%}
}


.dmca-original-media{position:relative;display:grid;align-items:end;background:#050811}.dmca-original-media>img{display:block;width:100%;height:min(58vh,560px);object-fit:contain;background:#050811}.dmca-image-headline{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;background:linear-gradient(180deg,rgba(5,8,17,0) 0%,rgba(5,8,17,.62) 24%,rgba(5,8,17,.84) 100%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;font:600 .92rem/1.45 Encode Sans,Arial,sans-serif;letter-spacing:.01em;text-shadow:0 1px 2px rgba(0,0,0,.45);max-height:48%;overflow:auto}

/* Tasks v12.6.6: classifications + stand-alone work */
.task-create-standalone{margin-bottom:12px;overflow:visible}.task-create-standalone>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;padding:15px 18px;list-style:none}.task-create-standalone>summary::-webkit-details-marker{display:none}.task-create-standalone>summary strong{font-family:Montserrat,Arial,sans-serif}.task-create-standalone>summary span{color:var(--muted);font-size:.76rem}.task-standalone-form{border-top:1px solid rgba(241,243,244,.1)}.task-standalone-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.task-standalone-grid .field-wide{grid-column:span 2}.task-card-v3.is-standalone{border-left:3px solid rgba(12,114,182,.8)}.task-standalone-title{cursor:default}.task-classification,.task-type-label{display:inline-flex!important;align-items:center;padding:3px 7px;border-radius:999px;font-weight:700;font-size:.58rem!important;letter-spacing:.03em;text-transform:uppercase;overflow:visible!important}.task-classification-enforcement{background:rgba(12,114,182,.14);color:#8dcef8}.task-classification-research{background:rgba(123,97,255,.15);color:#c2b6ff}.task-classification-litigation{background:rgba(176,0,32,.16);color:#ff9eae}.task-classification-payment_plan{background:rgba(201,151,0,.16);color:#f5d36d}.task-type-label{background:rgba(241,243,244,.08);color:var(--muted)}.task-notes-preview{margin-top:6px;max-width:760px;color:var(--muted);font-size:.72rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:1050px){.task-standalone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.task-standalone-grid{grid-template-columns:1fr}.task-standalone-grid .field-wide{grid-column:auto}.task-create-standalone>summary{align-items:flex-start;flex-direction:column}}

/* V12.6.7 — Task classification controls, final-follow-up state, and note log */
.task-classification-form{display:flex;align-items:center;gap:4px}.task-classification-form select{min-width:112px;max-width:142px;padding:5px 24px 5px 8px!important;border-radius:8px;font-size:.66rem!important;font-weight:700;background:rgba(12,21,44,.9)}
.task-chip-action.is-final-follow-up{border-color:rgba(210,58,39,.68);background:rgba(210,58,39,.14);color:#ffd2cb;font-weight:800;letter-spacing:.03em}.task-chip-action.is-final-follow-up:hover,.task-chip-action.is-final-follow-up:focus-visible{background:rgba(210,58,39,.24);color:#fff}.task-chip-action.is-final-follow-up-clear{border-color:rgba(241,243,244,.16);color:var(--muted)}
.task-final-follow-up-badge{display:inline-flex!important;align-items:center;padding:3px 7px;border:1px solid rgba(210,58,39,.46);border-radius:999px;background:rgba(210,58,39,.12);color:#ffb6aa;font:800 .58rem/1.2 Montserrat,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}.task-final-follow-up-badge.is-due{border-color:#d23a27;background:rgba(210,58,39,.22);color:#fff;box-shadow:0 0 0 1px rgba(210,58,39,.12)}
.task-card-v3.is-final-follow-up{box-shadow:inset 3px 0 rgba(210,58,39,.72)}.task-card-v3.is-final-follow-up-due{border-color:rgba(210,58,39,.72);background:linear-gradient(90deg,rgba(210,58,39,.10),rgba(25,23,71,.74) 30%)}
.task-note-log>summary{border-color:rgba(12,114,182,.42)!important}.task-note-popover{width:min(520px,calc(100vw - 42px));max-width:520px}.task-note-history{display:grid;gap:8px;margin-top:10px;max-height:360px;overflow:auto;padding-right:3px}.task-note-entry{padding:9px 10px;border:1px solid rgba(241,243,244,.10);border-radius:9px;background:rgba(5,8,17,.42)}.task-note-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:4px}.task-note-meta strong{font:700 .69rem Montserrat,Arial,sans-serif;color:#f4f5f7}.task-note-meta time{color:var(--muted);font-size:.61rem;white-space:nowrap}.task-note-copy{color:rgba(244,245,247,.82);font-size:.71rem;line-height:1.5;overflow-wrap:anywhere}.task-add-note-form textarea{min-height:76px}.task-completed-notes{margin-left:auto}
@media(max-width:900px){.task-classification-form{width:100%}.task-classification-form select{flex:1;max-width:none}.task-note-popover{width:min(92vw,520px)}}
.task-final-follow-up-count{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid rgba(210,58,39,.45);border-radius:999px;background:rgba(210,58,39,.12);color:#ffd2cb;font:700 .66rem Montserrat,Arial,sans-serif}

/* V12.7.1 — Gallery navigation + Tasks card polish + mobile drawer fix */
.image-lightbox-nav{
    width:68px;
    height:84px;
    border-radius:16px;
    font-size:3.25rem;
    background:rgba(12,21,44,.88);
}
.image-lightbox-prev{left:22px}
.image-lightbox-next{right:22px}

/* The mobile close control must remain a button, not inherit the white
   hamburger-bar background. */
.sidebar-close{
    width:42px;
    height:42px;
    flex:0 0 42px;
    padding:0;
    border:1px solid rgba(241,243,244,.18)!important;
    border-radius:11px;
    background:transparent!important;
    color:#f1f3f4!important;
    line-height:1;
}
.sidebar-close:hover,.sidebar-close:focus-visible{
    background:rgba(28,80,123,.22)!important;
    border-color:rgba(241,243,244,.34)!important;
}
.menu-button span{background-color:#f1f3f4!important}

/* Classification is edited from its badge instead of permanently consuming
   horizontal space with a select + Set button. */
.task-classification-menu{
    position:relative;
    display:inline-flex;
    min-width:0;
}
.task-classification-menu>summary{
    list-style:none;
    cursor:pointer;
    user-select:none;
}
.task-classification-menu>summary::-webkit-details-marker{display:none}
.task-classification-menu>summary:hover,.task-classification-menu>summary:focus-visible{
    filter:brightness(1.18);
    outline:none;
}
.task-classification-caret{
    margin-left:4px;
    font-size:.62rem;
    opacity:.72;
    transform:translateY(-1px);
}
.task-classification-menu[open] .task-classification-caret{transform:translateY(-1px) rotate(180deg)}
.task-classification-popover{
    position:absolute;
    z-index:140;
    left:0;
    top:calc(100% + 7px);
    width:190px;
    padding:7px;
    border:1px solid rgba(241,243,244,.16);
    border-radius:12px;
    background:#0c152c;
    box-shadow:0 18px 46px rgba(0,0,0,.46);
}
.task-classification-popover form{display:grid;gap:4px;margin:0}
.task-classification-option{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:34px;
    padding:7px 9px;
    border:1px solid transparent;
    border-radius:8px;
    background:transparent;
    color:rgba(241,243,244,.82);
    text-align:left;
    font:700 .7rem Montserrat,Arial,sans-serif;
}
.task-classification-option:hover,.task-classification-option:focus-visible{
    border-color:rgba(28,80,123,.72);
    background:rgba(28,80,123,.18);
    color:#fff;
    outline:none;
}
.task-classification-option.is-current{
    background:rgba(241,243,244,.06);
    color:rgba(241,243,244,.58);
    cursor:default;
}
.task-card-v3:has(.task-classification-menu[open]){z-index:120}

/* Give the task identity, assignment and actions distinct lanes. */
.task-card-v3{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:14px;
}
.task-card-v3-main{
    grid-template-columns:minmax(260px,1fr) 160px;
    gap:14px;
}
.task-owner-compact{
    display:grid;
    grid-template-columns:1fr;
    justify-items:end;
    align-content:center;
    gap:3px;
    min-width:160px;
    flex-wrap:nowrap;
}
.task-owner-compact form{width:100%;margin:0}
.task-owner-select{
    display:block;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:32px;
    padding:6px 28px 6px 9px!important;
    border:1px solid rgba(241,243,244,.18)!important;
    border-radius:9px!important;
    background:#0c152c!important;
    color:#f1f3f4!important;
    font-size:.7rem!important;
}
.task-unassign-form{text-align:right}
.task-unassign-button{
    width:auto!important;
    min-height:0!important;
    padding:1px 2px!important;
    border:0!important;
    color:rgba(241,243,244,.55)!important;
    background:transparent!important;
    font-size:.62rem!important;
}
.task-unassign-button:hover{color:#f1f3f4!important;transform:none}
.task-quick-actions-v3{
    flex-wrap:nowrap;
    gap:4px;
}
.task-quick-actions-v3 .task-chip-action{
    min-width:34px;
    min-height:31px;
    padding:5px 8px;
}

/* "Final follow-up" is a workflow marker, not an emergency. Only a marker
   that has actually come due becomes visually urgent. */
.task-chip-action.is-final-follow-up{
    min-width:auto!important;
    padding:5px 7px!important;
    border-color:rgba(28,80,123,.62)!important;
    background:rgba(28,80,123,.10)!important;
    color:rgba(241,243,244,.72)!important;
    font-weight:700!important;
    letter-spacing:0!important;
}
.task-chip-action.is-final-follow-up:hover,.task-chip-action.is-final-follow-up:focus-visible{
    border-color:rgba(28,80,123,.9)!important;
    background:rgba(28,80,123,.22)!important;
    color:#fff!important;
}
.task-chip-action.is-final-follow-up-clear{
    min-width:auto!important;
    padding:5px 7px!important;
    border-color:rgba(241,243,244,.13)!important;
    color:rgba(241,243,244,.52)!important;
}
.task-final-follow-up-badge{
    padding:2px 6px!important;
    border-color:rgba(28,80,123,.58)!important;
    background:rgba(28,80,123,.10)!important;
    color:rgba(241,243,244,.66)!important;
    font-size:.54rem!important;
    font-weight:700!important;
    letter-spacing:.02em!important;
    text-transform:none!important;
}
.task-final-follow-up-badge.is-due{
    border-color:rgba(210,58,39,.8)!important;
    background:rgba(210,58,39,.18)!important;
    color:#fff!important;
}
.task-card-v3.is-final-follow-up{box-shadow:inset 3px 0 rgba(28,80,123,.52)!important}
.task-card-v3.is-final-follow-up-due{
    border-color:rgba(210,58,39,.72)!important;
    background:linear-gradient(90deg,rgba(210,58,39,.10),rgba(25,23,71,.74) 30%)!important;
    box-shadow:inset 3px 0 rgba(210,58,39,.78)!important;
}
.task-final-follow-up-count{
    border-color:rgba(28,80,123,.5)!important;
    background:rgba(28,80,123,.10)!important;
    color:rgba(241,243,244,.74)!important;
}

@media(max-width:1180px){
    .task-card-v3{grid-template-columns:1fr}
    .task-quick-actions-v3{justify-content:flex-end;flex-wrap:wrap}
}
@media(max-width:900px){
    .task-card-v3-main{grid-template-columns:minmax(0,1fr) 150px}
    .task-owner-compact{min-width:150px}
    .task-quick-actions-v3{justify-content:flex-start}
}
@media(max-width:680px){
    .image-lightbox{padding-left:62px;padding-right:62px}
    .image-lightbox-nav{width:54px;height:68px;font-size:2.7rem;border-radius:14px}
    .image-lightbox-prev{left:6px}.image-lightbox-next{right:6px}
    .task-card-v3-main{grid-template-columns:1fr}
    .task-owner-compact{justify-items:start;min-width:0;width:min(210px,100%)}
    .task-unassign-form{text-align:left}
    .task-classification-popover{width:min(190px,calc(100vw - 48px))}
}

/* Approvals list: keep the target visually primary and separate the client. */
.approvals-table .approval-target-link{font-family:Montserrat,Arial,sans-serif;font-weight:700;font-size:.96rem;line-height:1.3}.approval-client-pill{display:inline-flex;align-items:center;max-width:220px;padding:6px 10px;border:1px solid rgba(55,176,213,.34);border-radius:999px;background:rgba(12,114,182,.16);color:#9edcf2;font:700 .72rem/1.15 Encode Sans,Arial,sans-serif;letter-spacing:.025em;white-space:normal}.approval-new-label{display:inline-flex!important;width:max-content;margin-top:6px;padding:3px 7px;border-radius:999px;background:rgba(12,114,182,.2);color:#bcecff;font-weight:700;letter-spacing:.025em}.approvals-table tbody tr.approval-row-created>td{animation:approval-created-cell 4.2s cubic-bezier(.2,.8,.2,1) both}.approvals-table tbody tr.approval-row-created>td:first-child{box-shadow:inset 4px 0 0 #0c72b6}
@keyframes approval-created-cell{0%{background:rgba(12,114,182,.38)}18%{background:rgba(12,114,182,.24)}58%{background:rgba(12,114,182,.10)}100%{background:transparent}}
@media(prefers-reduced-motion:reduce){.approvals-table tbody tr.approval-row-created>td{animation:none;background:rgba(12,114,182,.14)}}

/* V12.7.5 — Cases reviewed target decisions */
.case-status-stack{
    display:grid;
    justify-items:start;
    gap:5px;
}
.case-review-decision{
    display:inline-flex;
    align-items:center;
    width:fit-content;
    min-height:27px;
    padding:5px 9px;
    border:1px solid rgba(241,243,244,.15);
    border-radius:999px;
    font:700 .65rem/1 Montserrat,Arial,sans-serif;
    letter-spacing:.015em;
}
.case-review-decision.is-whitelist{
    color:#c8f4d8;
    border-color:rgba(83,184,126,.46);
    background:rgba(83,184,126,.13);
}
.case-review-decision.is-blacklist{
    color:#ffd2d7;
    border-color:rgba(176,0,32,.58);
    background:rgba(176,0,32,.15);
}
.case-review-decision.is-recheck{
    color:#fff0bd;
    border-color:rgba(232,190,83,.5);
    background:rgba(232,190,83,.12);
}
.case-review-date{
    color:var(--muted);
    font-size:.62rem;
    font-weight:700;
}
.case-review-date-queue{
    color:var(--text);
}
.case-review-meta{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-top:10px;
    padding:9px 11px;
    border:1px solid rgba(241,243,244,.09);
    border-radius:9px;
    background:rgba(28,80,123,.07);
    color:var(--muted);
    font-size:.68rem;
}
.case-review-meta strong{
    color:#fff0bd;
    font-weight:700;
}
.case-review-meta-queue{
    border-color:rgba(28,80,123,.22);
}
.case-status-decision-form{
    display:grid;
    grid-template-columns:minmax(240px,1fr) auto;
    gap:12px;
    align-items:end;
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid rgba(241,243,244,.09);
}
.case-status-decision-note{
    margin:0;
}
.case-status-decision-note textarea{
    min-height:62px;
    resize:vertical;
}
.case-status-decision-actions{
    display:flex;
    align-items:center;
    gap:8px;
    padding-bottom:1px;
}
.case-decision-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:9px 13px;
    border-radius:9px;
    border:1px solid transparent;
    font:700 .71rem/1.2 Montserrat,Arial,sans-serif;
    cursor:pointer;
    transition:transform .12s,border-color .12s,background .12s;
    white-space:nowrap;
}
.case-decision-button:hover,
.case-decision-button:focus-visible{
    transform:translateY(-1px);
    outline:none;
}
.case-decision-button:disabled{
    opacity:.55;
    cursor:wait;
    transform:none;
}
.case-decision-button.is-whitelist{
    color:#e1fae9;
    border-color:rgba(83,184,126,.5);
    background:rgba(83,184,126,.17);
}
.case-decision-button.is-whitelist:hover,
.case-decision-button.is-whitelist:focus-visible{
    border-color:rgba(83,184,126,.85);
    background:rgba(83,184,126,.25);
}
.case-decision-button.is-blacklist{
    color:#ffe6e9;
    border-color:rgba(176,0,32,.55);
    background:rgba(176,0,32,.16);
}
.case-decision-button.is-blacklist:hover,
.case-decision-button.is-blacklist:focus-visible{
    border-color:rgba(210,58,39,.82);
    background:rgba(176,0,32,.25);
}
.case-status-email-sent{
    margin-top:9px;
    color:#a9dab9;
    font-size:.67rem;
}
.case-status-email-error{
    margin-top:10px;
    margin-bottom:0;
}
.case-status-workflow-details{
    margin-top:10px;
    padding-top:8px;
    border-top:1px solid rgba(241,243,244,.07);
}
.case-status-workflow-details>summary{
    width:fit-content;
    color:var(--muted);
    font-size:.67rem;
    cursor:pointer;
}
.case-status-workflow-details[open]>summary{
    color:var(--text);
}
@media(max-width:900px){
    .case-status-decision-form{
        grid-template-columns:1fr;
    }
    .case-status-decision-actions{
        justify-content:flex-start;
    }
}
@media(max-width:620px){
    .case-status-decision-actions{
        display:grid;
        grid-template-columns:1fr;
    }
    .case-decision-button{
        width:100%;
    }
}
.case-request-status-button.is-recheck{
    border-color:rgba(239,190,78,.55);
    background:linear-gradient(135deg,rgba(239,190,78,.14),rgba(28,80,123,.18));
    color:#fff3c7;
}
.case-request-status-button.is-recheck:hover,
.case-request-status-button.is-recheck:focus-visible{
    border-color:#efbe4e;
    background:rgba(239,190,78,.2);
}
.case-request-status-button.is-recheck .case-request-status-icon{
    color:#efbe4e;
}

/* V12.7.8 — primary Approval actions stay reachable while reviewing/creating. */
.approval-floating-primary{position:fixed;right:24px;bottom:max(22px,env(safe-area-inset-bottom));z-index:84;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:12px 18px;border-radius:14px;box-shadow:0 16px 44px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.06)}
.approval-floating-primary>span{font-size:1rem;line-height:1}
@media(max-width:680px){.approval-floating-primary{left:16px;right:16px;bottom:max(14px,env(safe-area-inset-bottom));justify-content:center}}

/* Gallery visit trail is scoped to the active search and maintained only in
   sessionStorage. The newest set is intentionally subdued; older visits keep
   their normal imagery and receive compact recency markers. */
.gallery-card.is-viewed-last{filter:saturate(.12) grayscale(.78);opacity:.62;border-color:rgba(131,188,232,.34)}
.gallery-card.is-viewed-last:hover{filter:saturate(.55) grayscale(.25);opacity:.88}
.gallery-card.is-viewed-prior{border-color:rgba(131,188,232,.18)}
.gallery-view-rank{position:absolute;left:10px;top:10px;z-index:3;display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border:1px solid rgba(241,243,244,.22);border-radius:999px;color:#f1f3f4;background:rgba(12,21,44,.9);box-shadow:0 5px 18px rgba(0,0,0,.26);font:800 .7rem/1 Montserrat,Arial,sans-serif}
.gallery-view-rank.is-latest{min-width:auto;padding:0 10px;color:#d9ebfa;border-color:rgba(131,188,232,.48);background:rgba(28,80,123,.94)}
@keyframes gallery-last-viewed-pulse{0%{box-shadow:0 0 0 0 rgba(131,188,232,.42)}55%{box-shadow:0 0 0 7px rgba(131,188,232,.10)}100%{box-shadow:0 0 0 0 rgba(131,188,232,0)}}
.gallery-card.is-viewed-last.is-viewed-pulse{animation:gallery-last-viewed-pulse .85s ease-out 1}
@media(prefers-reduced-motion:reduce){.gallery-card.is-viewed-last.is-viewed-pulse{animation:none}}

/* V12.7.10 — Desktop sidebar width control */
.sidebar-resize-handle{
    position:absolute;
    top:0;
    right:-5px;
    bottom:0;
    width:10px;
    z-index:4;
    cursor:col-resize;
    touch-action:none;
}
.sidebar-resize-handle::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:4px;
    width:2px;
    background:transparent;
    transition:background .12s ease,box-shadow .12s ease;
}
.sidebar-resize-handle:hover::after,
.sidebar-resizing .sidebar-resize-handle::after{
    background:rgba(12,114,182,.72);
    box-shadow:0 0 0 1px rgba(12,114,182,.12);
}
.sidebar-resizing,
.sidebar-resizing *{cursor:col-resize!important;user-select:none!important}
.sidebar-resizing .sidebar{transition:none!important}

@media(max-width:900px){
    .sidebar-resize-handle{display:none}
}

/* V12.7.11 — Tasks "More" popover must read as a real, opaque work surface. */
.task-more-actions[open] .task-more-popover{
    background:#0c152c;
    border:1px solid rgba(12,114,182,.72);
    box-shadow:0 22px 58px rgba(0,0,0,.58),0 0 0 1px rgba(241,243,244,.04) inset;
    opacity:1;
    isolation:isolate;
}
.task-more-popover .task-compact-form{
    padding:10px;
    border:1px solid rgba(241,243,244,.10);
    border-radius:10px;
    background:#111a37;
}
.task-more-popover .task-compact-form+ .task-compact-form{
    margin-top:2px;
}
.task-more-popover label{
    min-width:0;
    color:rgba(241,243,244,.86);
    font-weight:700;
}
.task-more-popover label>span{
    display:block;
    margin-bottom:5px;
    color:rgba(241,243,244,.78);
    font-size:.71rem;
    font-weight:800;
}
.task-more-popover input,
.task-more-popover select,
.task-more-popover textarea{
    width:100%;
    min-width:0;
    border:1px solid rgba(241,243,244,.20);
    border-radius:9px;
    color:#f1f3f4;
    background:#080f22;
    padding:9px 10px;
    outline:none;
}
.task-more-popover textarea{
    resize:vertical;
}
.task-more-popover input:focus,
.task-more-popover select:focus,
.task-more-popover textarea:focus{
    border-color:#0C72B6;
    box-shadow:0 0 0 3px rgba(12,114,182,.16);
}
.task-more-popover input[type="date"]{
    color-scheme:dark;
}
@media(min-width:761px){
    .task-more-actions[open] .task-more-popover{
        width:min(560px,calc(100vw - var(--sidebar) - 56px));
        padding:13px;
    }
}


/* Approvals: searchable Existing target combobox. Keep the real select as the
   submitted source of truth while replacing the inconsistent browser-native UI. */
.approval-target-native-select{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}
.approval-target-combobox{position:relative;width:100%;z-index:18}.approval-target-combobox.is-open{z-index:80}
.approval-target-combobox-trigger{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border:1px solid rgba(241,243,244,.16);border-radius:13px;background:#0b1328;color:var(--muted);font:600 .94rem/1.25 Encode Sans,Arial,sans-serif;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease}
.approval-target-combobox-trigger:hover,.approval-target-combobox.is-open .approval-target-combobox-trigger{border-color:rgba(12,114,182,.78);background:#0d1831;box-shadow:0 0 0 3px rgba(12,114,182,.12);color:#fff}.approval-target-combobox-trigger.has-selection{color:#fff;font-family:Montserrat,Arial,sans-serif;font-weight:700}.approval-target-combobox-trigger:disabled{opacity:.55;cursor:not-allowed}
.approval-target-combobox-chevron{flex:0 0 auto;color:#8fb7d1;font-size:1.08rem;transform-origin:center;transition:transform .12s ease}.approval-target-combobox.is-open .approval-target-combobox-chevron{transform:rotate(180deg)}
.approval-target-combobox-menu{position:absolute;left:0;right:0;top:calc(100% + 7px);overflow:hidden;border:1px solid rgba(12,114,182,.4);border-radius:14px;background:#091327;box-shadow:0 18px 48px rgba(0,0,0,.46),0 0 0 1px rgba(255,255,255,.025);z-index:100}
.approval-target-combobox-menu[hidden]{display:none!important}.approval-target-combobox-search-wrap{position:sticky;top:0;padding:11px;background:linear-gradient(180deg,#0d1932 0%,#0a152b 100%);border-bottom:1px solid rgba(241,243,244,.1);z-index:2}
.approval-target-combobox-search{width:100%;min-height:45px;padding:10px 13px 10px 40px!important;border:1px solid rgba(241,243,244,.15)!important;border-radius:10px!important;background:#060d1e!important;color:#fff!important;font:500 .92rem/1.3 Encode Sans,Arial,sans-serif!important;box-shadow:none!important;background-image:linear-gradient(45deg,transparent,transparent)!important}.approval-target-combobox-search::placeholder{color:#74859e}.approval-target-combobox-search:focus{outline:none;border-color:#0c72b6!important;box-shadow:0 0 0 3px rgba(12,114,182,.14)!important}
.approval-target-combobox-search-wrap:before{content:'⌕';position:absolute;left:25px;top:50%;transform:translateY(-50%);color:#7ea6c1;font-size:1.15rem;pointer-events:none;z-index:3}
.approval-target-combobox-list{max-height:min(44vh,390px);overflow:auto;padding:7px;scrollbar-width:thin;scrollbar-color:#39516c #091327}.approval-target-combobox-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:#dbe4ef;font:600 .9rem/1.3 Encode Sans,Arial,sans-serif;text-align:left;cursor:pointer;transition:background .1s ease,color .1s ease}.approval-target-combobox-option:hover,.approval-target-combobox-option.is-keyboard-active{background:rgba(12,114,182,.2);color:#fff}.approval-target-combobox-option.is-selected{background:rgba(12,114,182,.12);color:#bcecff}.approval-target-combobox-option.is-new-target-option{margin-bottom:5px;border-bottom:1px solid rgba(241,243,244,.09);border-radius:9px 9px 3px 3px;color:#9edcf2}.approval-target-combobox-selected-marker{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:rgba(12,114,182,.22);color:#bcecff;font-size:.67rem;text-transform:uppercase;letter-spacing:.055em}.approval-target-combobox-empty{padding:18px 14px;color:var(--muted);font-size:.87rem;text-align:center}
@media(max-width:760px){.approval-target-combobox-menu{position:fixed;left:14px;right:14px;top:18vh;max-height:68vh}.approval-target-combobox-list{max-height:51vh}}

/* Assistance queue actions */
.assistance-queue-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}.assistance-queue-actions form{margin:0}.assistance-queue-actions .button-small{min-height:34px;padding:7px 11px}.detail-actions form{margin:0}.record-meta .badge-success{border-color:rgba(72,199,116,.32);background:rgba(72,199,116,.12);color:#b8f5cf}
@media(max-width:900px){.assistance-queue-actions{justify-content:flex-start;flex-wrap:wrap;white-space:normal}}

/* Gallery set matcher — V12.7.26 */
.gallery-detail-side{display:flex;flex-direction:column;gap:20px;min-width:0}
.gallery-match-panel{position:sticky;top:98px;overflow:hidden;background:linear-gradient(150deg,rgba(25,23,71,.98),rgba(12,21,44,.98));box-shadow:0 20px 50px rgba(0,0,0,.22)}
.gallery-match-heading{padding:17px 18px}.gallery-match-heading h2{font-size:1.05rem}.gallery-match-heading .eyebrow{margin-bottom:4px}
.gallery-match-count{color:var(--faint);font-size:.68rem;font-weight:800;white-space:nowrap}
.gallery-match-body{padding:14px}
.gallery-match-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:130px;padding:17px;border:1px dashed rgba(241,243,244,.28);border-radius:14px;color:var(--text);background:rgba(28,80,123,.08);text-align:center;transition:border-color .12s ease,background .12s ease,transform .12s ease,box-shadow .12s ease}
.gallery-match-dropzone:hover,.gallery-match-dropzone.is-dragover{border-color:#d23a27;background:rgba(210,58,39,.1);box-shadow:inset 0 0 0 1px rgba(210,58,39,.12)}
.gallery-match-dropzone.is-dragover{transform:scale(1.01)}
.gallery-match-dropzone.is-processing{cursor:progress;opacity:.78}
.gallery-match-drop-icon{display:grid;place-items:center;width:34px;height:34px;margin-bottom:8px;border-radius:10px;background:rgba(210,58,39,.12);color:#fff;font-size:1.25rem;font-weight:900}
.gallery-match-dropzone strong{font-size:.86rem}.gallery-match-dropzone small{margin-top:3px;color:var(--faint);font-size:.68rem}
.gallery-match-status{margin-top:11px;padding:9px 10px;border:1px solid rgba(241,243,244,.12);border-radius:10px;color:var(--muted);background:#0c152c;font-size:.7rem;line-height:1.35}
.gallery-match-status.is-working:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#1c507b;box-shadow:0 0 0 4px rgba(28,80,123,.12);animation:galleryMatchPulse .8s ease-in-out infinite alternate}
.gallery-match-status.is-success{border-color:rgba(28,80,123,.5);color:#f1f3f4;background:rgba(28,80,123,.12)}
.gallery-match-status.is-error{border-color:rgba(210,58,39,.38);color:#f1f3f4;background:rgba(210,58,39,.1)}
@keyframes galleryMatchPulse{to{opacity:.35;transform:scale(.78)}}
.gallery-match-results{margin-top:12px}.gallery-match-result-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 1px 7px}.gallery-match-result-heading strong{font-size:.76rem}.gallery-match-result-heading small{color:var(--faint);font-size:.59rem;text-align:right}
.gallery-match-result-list{display:flex;flex-direction:column;gap:6px}.gallery-match-result{display:grid;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;padding:6px;border:1px solid rgba(241,243,244,.11);border-radius:10px;color:var(--text);background:rgba(12,21,44,.78);text-align:left;transition:border-color .1s ease,background .1s ease,transform .1s ease}
.gallery-match-result:hover,.gallery-match-result.is-opened{border-color:#1c507b;background:rgba(28,80,123,.16);transform:translateX(-1px)}
.gallery-match-result.is-exact{border-color:rgba(28,80,123,.65);background:linear-gradient(90deg,rgba(28,80,123,.22),rgba(12,21,44,.82))}
.gallery-match-result img{display:block;width:48px;height:56px;border-radius:7px;background:#050811;object-fit:contain}.gallery-match-result-copy{display:flex;min-width:0;flex-direction:column}.gallery-match-result-copy strong{font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-match-result-copy small{margin-top:2px;color:var(--faint);font-size:.59rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-match-result-arrow{color:var(--mint);font-size:1.25rem;text-align:center}.image-tile.is-match-result{border-color:#d23a27;box-shadow:0 0 0 3px rgba(210,58,39,.2),0 0 24px rgba(210,58,39,.16)}
@media(max-width:900px){.gallery-match-panel{position:static}.gallery-detail-side{gap:16px}}

.gallery-set-export{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 18px 18px;padding:13px 14px;border:1px solid rgba(12,114,182,.26);border-radius:11px;background:linear-gradient(135deg,rgba(12,114,182,.12),rgba(18,40,68,.34))}.gallery-set-export-copy{display:grid;gap:2px;min-width:0}.gallery-set-export-copy strong{font-family:Montserrat,Arial,sans-serif;font-size:.82rem}.gallery-set-export-copy span{color:var(--muted);font-size:.7rem}.gallery-set-export-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.gallery-set-export-actions .button{min-width:58px}

/* V12.7.31 — durable multi-set Gallery matcher + history. */
.gallery-subtabs{display:flex;gap:8px;margin:0 0 16px}.gallery-subtabs a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 15px;border:1px solid rgba(241,243,244,.14);border-radius:999px;background:rgba(7,17,38,.62);font-weight:700;color:var(--muted)}.gallery-subtabs a:hover,.gallery-subtabs a.is-active{color:#fff;border-color:rgba(12,114,182,.72);background:rgba(12,114,182,.18)}
.gallery-batch-match-panel{position:fixed;right:22px;bottom:22px;z-index:70;width:min(350px,calc(100vw - 44px));padding:14px;border:1px solid rgba(12,114,182,.44);border-radius:18px;background:rgba(8,19,42,.97);box-shadow:0 18px 55px rgba(0,0,0,.42);backdrop-filter:blur(10px)}.gallery-batch-match-panel[hidden]{display:none}.gallery-batch-match-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.gallery-batch-match-head>div{display:grid;gap:2px}.gallery-batch-match-head .eyebrow{font-size:.66rem}.gallery-batch-match-head strong{font-family:Montserrat,Arial,sans-serif}.gallery-batch-match-head>a{font-size:.78rem;font-weight:700;color:#8dc9f1}.gallery-batch-match-dropzone{width:100%;display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center;text-align:left;padding:13px;border:1px dashed rgba(241,243,244,.24);border-radius:13px;background:rgba(28,80,123,.12);color:#fff;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease}.gallery-batch-match-dropzone>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(12,114,182,.18);font-size:1.15rem}.gallery-batch-match-dropzone strong{font:700 .9rem/1.2 Montserrat,Arial,sans-serif}.gallery-batch-match-dropzone small{margin-top:3px;color:var(--muted);font-size:.72rem;line-height:1.35}.gallery-batch-match-dropzone:hover,.gallery-batch-match-dropzone.is-dragover{border-color:#0c72b6;background:rgba(12,114,182,.18);transform:translateY(-1px)}.gallery-batch-match-dropzone.is-processing{opacity:.62;cursor:progress}.gallery-batch-match-status{display:grid;gap:7px;margin-top:10px;padding:10px 11px;border-radius:11px;font-size:.76rem;line-height:1.4}.gallery-batch-match-status.is-working{background:rgba(12,114,182,.13);border:1px solid rgba(12,114,182,.25)}.gallery-batch-match-status.is-success{background:rgba(28,139,92,.13);border:1px solid rgba(47,181,121,.28)}.gallery-batch-match-status.is-error{background:rgba(176,0,32,.14);border:1px solid rgba(210,58,39,.38)}.gallery-batch-match-status a{font-weight:800;color:#8dc9f1}
.gallery-match-history-list{display:grid}.gallery-match-history-row{display:grid;grid-template-columns:76px minmax(0,1fr) 120px 22px;gap:14px;align-items:center;padding:13px 18px;border-top:1px solid rgba(241,243,244,.08);color:inherit}.gallery-match-history-row:first-child{border-top:0}.gallery-match-history-row:hover{background:rgba(12,114,182,.08)}.gallery-match-history-row>img{width:76px;height:76px;object-fit:contain;border-radius:11px;background:#050811}.gallery-match-history-copy{min-width:0;display:grid;gap:4px}.gallery-match-history-topline{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.gallery-match-history-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.gallery-match-history-copy>small{color:var(--muted)}.gallery-match-history-progress{text-align:right;display:grid;gap:3px}.gallery-match-history-progress strong{font:700 1.05rem Montserrat,Arial,sans-serif}.gallery-match-history-progress span{font-size:.72rem;color:var(--muted)}
.gallery-match-job-summary{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:16px;margin-bottom:16px}.gallery-match-job-source{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:center;padding:16px}.gallery-match-job-source>img{width:150px;height:150px;object-fit:contain;border-radius:13px;background:#050811}.gallery-match-job-source h2{margin:3px 0 7px}.gallery-match-job-source p{margin:0 0 10px;color:var(--muted)}.gallery-match-job-stats{display:grid;grid-template-columns:1fr 1fr;padding:8px 16px}.gallery-match-job-stats>div{display:grid;gap:5px;padding:14px;border-bottom:1px solid rgba(241,243,244,.08)}.gallery-match-job-stats>div:nth-last-child(-n+2){border-bottom:0}.gallery-match-job-stats span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.gallery-match-job-stats strong{font:700 .95rem/1.3 Montserrat,Arial,sans-serif}.gallery-match-exact-banner{margin-bottom:16px}.gallery-match-set-history{display:grid;gap:15px}.gallery-match-set-result{overflow:hidden}.gallery-match-set-result.is-exact{border-color:rgba(47,181,121,.6);box-shadow:0 0 0 1px rgba(47,181,121,.12) inset}.gallery-match-set-result .panel-heading p{margin:6px 0 0;max-width:900px}.gallery-match-set-score{display:grid;justify-items:end;gap:1px}.gallery-match-set-score>strong{font:800 1.35rem Montserrat,Arial,sans-serif;color:#8dc9f1}.gallery-match-set-score>span:not(.badge){font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.gallery-match-job-results{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:0 18px 18px}.gallery-match-job-result{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;padding:9px;border:1px solid rgba(241,243,244,.1);border-radius:12px;background:rgba(7,17,38,.5);color:inherit;min-width:0}.gallery-match-job-result:hover{border-color:rgba(12,114,182,.5);background:rgba(12,114,182,.08)}.gallery-match-job-result.is-exact{border-color:rgba(47,181,121,.58)}.gallery-match-job-result img{width:72px;height:94px;object-fit:contain;border-radius:8px;background:#050811}.gallery-match-job-result>div{display:grid;gap:4px;min-width:0}.gallery-match-job-result strong{font-family:Montserrat,Arial,sans-serif}.gallery-match-job-result span,.gallery-match-job-result small{font-size:.7rem;color:var(--muted);line-height:1.3}.gallery-match-rank{position:absolute;top:7px;right:8px;padding:3px 6px;border-radius:999px;background:rgba(12,114,182,.18);font-weight:800;color:#9dd4f6!important}
@media(max-width:1250px){.gallery-match-job-summary{grid-template-columns:1fr}.gallery-match-job-results{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.gallery-batch-match-panel{right:10px;bottom:10px;width:calc(100vw - 20px)}.gallery-match-history-row{grid-template-columns:58px minmax(0,1fr) 22px}.gallery-match-history-row>img{width:58px;height:58px}.gallery-match-history-progress{display:none}.gallery-match-job-source{grid-template-columns:92px minmax(0,1fr)}.gallery-match-job-source>img{width:92px;height:92px}.gallery-match-job-stats{grid-template-columns:1fr 1fr}.gallery-match-job-results{grid-template-columns:1fr}.gallery-match-job-result{grid-template-columns:82px minmax(0,1fr)}.gallery-match-job-result img{width:82px;height:104px}}
.gallery-match-overall{margin-bottom:16px}.gallery-match-overall-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:0 18px 18px}.gallery-match-overall-card{display:grid;grid-template-rows:150px auto;min-width:0;border:1px solid rgba(241,243,244,.1);border-radius:13px;overflow:hidden;background:rgba(7,17,38,.5);color:inherit}.gallery-match-overall-card:hover{border-color:rgba(12,114,182,.58);transform:translateY(-1px)}.gallery-match-overall-card.is-exact{border-color:rgba(47,181,121,.68)}.gallery-match-overall-card img{width:100%;height:150px;object-fit:contain;background:#050811}.gallery-match-overall-card>div{display:grid;gap:4px;padding:10px}.gallery-match-overall-card span{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:#8dc9f1}.gallery-match-overall-card strong{font:700 .86rem Montserrat,Arial,sans-serif}.gallery-match-overall-card small{color:var(--muted);font-size:.68rem;line-height:1.3}@media(max-width:1250px){.gallery-match-overall-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.gallery-match-overall-grid{grid-template-columns:1fr 1fr}.gallery-match-overall-card{grid-template-rows:120px auto}.gallery-match-overall-card img{height:120px}}
