:root{--navy:#102f57;--navy2:#173f70;--gold:#c99a37;--gold2:#e7c978;--paper:#fff;--bg:#f4f7fb;--ink:#172033;--muted:#65758a;--line:#d8e0e8;--danger:#9e2b25;--success:#17613b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.4 Arial,Helvetica,sans-serif}a{color:var(--navy)}.site-header{min-height:70px;padding:11px 24px;background:var(--navy);border-bottom:4px solid var(--gold);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-line{display:flex;align-items:center;gap:10px;font-size:23px}.brand-mark{width:66px;height:66px;border:2px solid var(--gold);border-radius:16px;display:grid;place-items:center;background:#fff;color:var(--navy);font-weight:900;letter-spacing:.04em}.brand-mark.small{width:40px;height:40px;border-radius:10px;font-size:11px}.header-sub{font-size:11px;color:#dce6f2;margin-left:50px;margin-top:-2px}.header-actions{display:flex;gap:7px;flex-wrap:wrap}.wrap{width:min(1500px,calc(100% - 30px));margin:0 auto;padding:18px 0 40px}.hero{display:grid;grid-template-columns:1fr 160px;gap:18px;align-items:center;background:linear-gradient(130deg,var(--navy),var(--navy2));color:#fff;border-radius:14px;padding:20px 26px;box-shadow:0 12px 30px rgba(16,47,87,.11);border-bottom:4px solid var(--gold)}.compact-hero h1{font-size:27px;margin:3px 0 4px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:900;color:var(--gold2)}.hero h1{font:700 29px Georgia,"Times New Roman",serif;margin:4px 0 6px}.hero p{margin:0;color:#dce6f2}.hero-stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:14px;text-align:center}.hero-stat strong{display:block;color:var(--gold2);font-size:30px}.hero-stat span{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px;box-shadow:0 6px 18px rgba(16,47,87,.045)}.card h2,.register-section h2{margin:0 0 5px;color:var(--navy);font:700 19px Georgia,"Times New Roman",serif}.card h3{margin:0 0 7px;color:var(--navy);font-size:14px}label{display:block;font-weight:800;color:var(--navy);margin:7px 0}input,textarea,select{width:100%;padding:8px 9px;border:1px solid #c9d3df;border-radius:7px;background:#fff;color:var(--ink);font:inherit}textarea{resize:vertical}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;border-radius:7px;border:1px solid var(--navy);background:var(--navy);color:#fff;font-weight:800;text-decoration:none;cursor:pointer}.button.secondary,.secondary-button{background:#fff;color:var(--navy);border:1px solid var(--gold)}button:hover,.button:hover{filter:brightness(.97)}button.danger{background:var(--danger);border-color:var(--danger)}.muted{color:var(--muted)}.small-text{font-size:11px}.alert{margin:12px 0;padding:9px 12px;border-radius:8px;font-weight:800}.alert.success{background:#eef9f2;border:1px solid #b8dfc7;color:var(--success)}.alert.error{background:#fff1f0;border:1px solid #e4b7b4;color:var(--danger)}.owner-strip{margin-top:12px;display:flex;align-items:center;gap:18px;justify-content:space-between}.owner-portal-switch{display:flex;align-items:center;gap:8px;min-width:320px}.owner-portal-switch .inline-form{width:260px}.user-admin{flex:1}.user-admin>summary{cursor:pointer;color:var(--navy);font-weight:900;text-align:right}.user-admin-grid{display:grid;grid-template-columns:330px 1fr;gap:12px;margin-top:12px}.mini-form{display:grid;gap:6px}.user-list{border-left:1px solid var(--line);padding-left:12px}.user-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(260px,1fr) auto;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #edf1f5}.user-row span{display:block;font-size:10px;color:var(--muted);margin-top:2px}.reset-form{display:flex;gap:5px}.reset-form input{min-width:140px}.compact-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0;align-items:stretch}.compact-inputs .card{margin:0;height:100%;box-sizing:border-box}.inline-fields{display:flex;gap:6px;align-items:center}.inline-fields input[type=text],.inline-fields input:not([type]){min-width:0}.inline-fields input[type=file]{padding:5px}.paste-card summary{cursor:pointer;color:var(--navy);font-weight:900;font:700 18px Georgia,serif}.paste-card form{margin-top:8px}.register-section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px;margin-top:10px;box-shadow:0 6px 18px rgba(16,47,87,.045)}.register-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:7px}.register-head p{margin:0}.search-form{display:flex;gap:6px;align-items:center;min-width:min(520px,100%)}.search-form input{min-width:250px}.register-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px;background:#f7f9fc;border:1px solid var(--line);border-radius:9px 9px 0 0}.register-tools .court-action{background:#fff;color:var(--navy);border-color:var(--gold);min-height:32px;padding:6px 10px}.register-tools .tool-spacer{flex:1}.selection-note{font-size:11px;color:var(--muted);background:#fbfcfe;border-left:1px solid var(--line);border-right:1px solid var(--line);padding:5px 8px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:0 0 10px 10px}.compact-table table{border-collapse:collapse;width:100%;min-width:650px}.compact-table th,.compact-table td{padding:5px 8px;border-bottom:1px solid #e7ecf2;text-align:left;vertical-align:middle;line-height:1.15}.compact-table th{background:#eef3f8;color:var(--navy);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.compact-table tr:last-child td{border-bottom:0}.compact-table .case-row.selected td{background:#fff9e9}.check{width:36px;text-align:center!important}.check input{width:16px;height:16px;margin:0;vertical-align:middle}.copy-case{min-height:auto;padding:0;border:0;background:transparent;color:var(--navy);text-decoration:underline;font-weight:900;font-size:12px}.empty{text-align:center!important;color:var(--muted);padding:22px!important}.compact-note{margin-top:10px;padding:10px 13px}.compact-note p{margin:3px 0}.toast{position:fixed;right:20px;bottom:20px;max-width:360px;background:#0b2443;color:#f4df9b;padding:10px 14px;border:1px solid var(--gold);border-radius:9px;box-shadow:0 12px 30px rgba(0,0,0,.18);opacity:0;transform:translateY(10px);pointer-events:none;transition:.18s}.toast.show{opacity:1;transform:translateY(0)}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#edf3f9,#fff)}.login-shell{width:min(440px,calc(100% - 32px));text-align:center}.login-shell .brand-mark{margin:0 auto 12px}.login-shell h1{margin:0;color:var(--navy);font:700 32px Georgia,serif}.login-card{text-align:left;margin-top:16px}.login-card button{width:100%;margin-top:5px}@media(max-width:1050px){.compact-inputs{grid-template-columns:1fr}.user-admin-grid{grid-template-columns:1fr}.user-list{border-left:0;border-top:1px solid var(--line);padding:10px 0 0}.user-row{grid-template-columns:1fr}.owner-strip{align-items:stretch;flex-direction:column}.user-admin>summary{text-align:left}.hero{grid-template-columns:1fr}.hero-stat{text-align:left}.register-head{align-items:stretch;flex-direction:column}.search-form{min-width:0;flex-wrap:wrap}.search-form input{min-width:200px;flex:1}.site-header{align-items:flex-start;flex-direction:column}.header-sub{margin-left:50px}}@media(max-width:600px){.wrap{width:min(100% - 14px,1500px)}.site-header{padding:10px}.hero{padding:17px 14px}.hero h1{font-size:23px}.header-actions{width:100%}.header-actions .button{flex:1}.inline-fields{align-items:stretch;flex-direction:column}.search-form{display:grid;grid-template-columns:1fr 1fr}.search-form input{grid-column:1/-1}.register-tools .court-action,.register-tools .danger{flex:1 1 47%}.owner-portal-switch{min-width:0;align-items:stretch;flex-direction:column}.owner-portal-switch .inline-form{width:100%}}

/* v6 public home / access request */
.public-page{background:#fff;min-height:100vh}
.public-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.public-header-inner{width:min(1180px,calc(100% - 36px));min-height:78px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.public-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--navy)}
.public-brand strong{display:block;font:700 24px Georgia,"Times New Roman",serif}.public-brand small{display:block;margin-top:2px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.public-nav{display:flex;align-items:center;gap:8px}.public-nav>a:not(.button){text-decoration:none;font-weight:800;padding:9px 10px}
.gold-button{background:var(--gold)!important;border-color:var(--gold)!important;color:#10233e!important}.public-outline{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.7)!important}
.button.large{min-height:46px;padding:11px 18px;font-size:15px}
.public-hero{background:linear-gradient(125deg,#0b2443 0%,#123b68 65%,#173f70 100%);color:#fff;border-bottom:5px solid var(--gold)}
.public-hero-inner{width:min(1180px,calc(100% - 36px));margin:auto;padding:76px 0;display:grid;grid-template-columns:1.25fr .75fr;gap:46px;align-items:center}
.public-hero h1{font:700 clamp(38px,5vw,59px)/1.08 Georgia,"Times New Roman",serif;margin:8px 0 20px;max-width:780px}.public-hero p{font-size:18px;line-height:1.65;color:#dbe6f2;max-width:760px}
.public-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.public-hero-card{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:26px}.public-hero-card h2{margin:0 0 13px;color:var(--gold2);font:700 21px Georgia,serif}.public-hero-card ul{margin:0;padding-left:20px}.public-hero-card li{margin:10px 0;color:#eef4fa}
.public-features{width:min(1180px,calc(100% - 36px));margin:38px auto 58px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.public-feature{border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:13px;padding:22px;background:#fff;box-shadow:0 10px 26px rgba(16,47,87,.055)}.public-feature strong{display:block;color:var(--navy);font:700 18px Georgia,serif;margin-bottom:8px}.public-feature span{color:var(--muted);line-height:1.6}
.public-form-shell{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:46px 18px;background:linear-gradient(145deg,#edf3f9,#fff)}.public-form-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 18px 50px rgba(16,47,87,.10)}.public-form-card.access-card{width:min(760px,100%)}.public-form-card h1{margin:4px 0 7px;color:var(--navy);font:700 30px Georgia,serif}.public-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}.public-form-grid .full{grid-column:1/-1}.public-form-card>form>button{margin-top:7px}.form-foot{margin:14px 0 0;text-align:center;color:var(--muted)}
.public-footer{background:#0b2443;color:#cbd8e6;text-align:center;padding:24px 18px;font-size:12px}.public-footer p{max-width:960px;margin:5px auto}
.access-request-panel{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.access-request-row{display:grid;grid-template-columns:minmax(250px,1fr) auto auto;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid #edf1f5}.access-request-copy span,.access-request-copy small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.request-status{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;padding:4px 7px;border-radius:999px;background:#eef2f6}.request-status.pending{color:#7a5a00;background:#fff5d9}.request-status.approved{color:#17613b;background:#eaf7ef}.request-status.declined{color:#8c2b2b;background:#fff0ef}.request-actions{display:flex;gap:5px}.request-actions button{min-height:29px;padding:4px 8px;font-size:11px}

/* v6 hearing register */
.refresh-hearing{background:var(--gold)!important;border-color:var(--gold)!important;color:#10233e!important}
.compact-table table{min-width:1000px}
.hearing-cell{min-width:235px}.hearing-cell strong{display:block;color:var(--navy);font-size:12px;white-space:nowrap}.hearing-cell span{display:block;margin-top:2px;color:#40546d;font-size:10px}.hearing-cell small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.hearing-cell .hearing-error{color:var(--danger)}
.court-links-cell{white-space:nowrap;min-width:265px}.court-links-cell>a,.row-court-link{display:inline!important;min-height:0!important;padding:0!important;margin-right:9px!important;border:0!important;background:transparent!important;color:var(--navy)!important;text-decoration:underline!important;font-weight:800!important;font-size:11px!important;cursor:pointer!important}
@media(max-width:800px){.public-header-inner{align-items:flex-start;flex-direction:column;padding:13px 0}.public-nav{width:100%;flex-wrap:wrap}.public-hero-inner{grid-template-columns:1fr;padding:50px 0}.public-features{grid-template-columns:1fr}.public-form-grid{grid-template-columns:1fr}.public-form-grid .full{grid-column:auto}.access-request-row{grid-template-columns:1fr}.request-actions{flex-wrap:wrap}}

/* v7 sortable register + owner identity */
.sort-link{display:inline-flex;align-items:center;gap:5px;color:var(--navy);text-decoration:none;font:inherit;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.sort-link span{font-size:9px;opacity:.65}.sort-link.active span{color:var(--gold);opacity:1}.sort-link:hover{text-decoration:underline}.owner-identity{display:flex;flex-direction:column;gap:1px;min-width:190px;color:var(--navy)}.owner-identity strong{font-size:12px}.owner-identity span{font-size:10px;color:var(--muted)}
.excel-upload-card{border:2px solid var(--gold);background:linear-gradient(135deg,#fffdf7,#fff)}
.excel-upload-card .eyebrow{color:#8a681e;margin-bottom:2px}.excel-import-status{margin-top:8px;border:0;border-radius:7px;background:#f7f9fc}.alternate-imports{display:grid;gap:10px;margin-top:8px}.alternate-imports form+form{border-top:1px solid var(--line);padding-top:9px}

/* v12 equal-size court-service cards */
.external-tool-card{display:flex;flex-direction:column;justify-content:space-between;gap:12px;color:var(--ink);text-decoration:none;min-height:190px}
.external-tool-card:hover{border-color:var(--gold);box-shadow:0 8px 22px rgba(16,47,87,.10)}
.external-tool-card .eyebrow{color:#8a681e;margin-bottom:2px}
.external-tool-button{width:100%;box-sizing:border-box;pointer-events:none}
.compact-inputs>.card{min-height:190px}
@media(max-width:1200px){.compact-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.compact-inputs{grid-template-columns:1fr}.compact-inputs>.card{min-height:0}}

/* v14: greeting dashboard and separate Add / Import Cases page */
.dashboard-cards{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:10px 0;
    align-items:stretch;
}
.dashboard-cards>.card{margin:0;height:100%;box-sizing:border-box}
.greeting-card{
    grid-column:span 2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:190px;
}
.greeting-card h2{margin:.2rem 0 .35rem;font-size:1.7rem}
.greeting-date{font-size:1rem;font-weight:700;color:var(--ink);margin-top:.2rem}
.greeting-clock{
    margin:.7rem 0 .25rem;
    font-size:2rem;
    line-height:1;
    font-weight:800;
    letter-spacing:.03em;
    color:var(--navy);
    font-variant-numeric:tabular-nums;
}
.case-entry-page{margin:12px 0 18px}
.page-heading-row{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:12px;
}
.page-heading-row h2{margin:.15rem 0}
.page-heading-row p{margin:.25rem 0 0;max-width:780px}
.case-entry-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    align-items:stretch;
}
.case-entry-grid>.card{margin:0;min-height:255px}
.case-entry-fields{display:grid;gap:10px}
.case-entry-fields label{display:grid;gap:5px;font-weight:700}
.case-entry-fields button{justify-self:start}
@media(max-width:1000px){
    .dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
    .greeting-card{grid-column:span 2}
}
@media(max-width:700px){
    .dashboard-cards,.case-entry-grid{grid-template-columns:1fr}
    .greeting-card{grid-column:span 1;min-height:0}
    .page-heading-row{align-items:flex-start;flex-direction:column}
}


/* v15: larger, easier-to-read Case Register typography */
.register-section .case-table,
.register-section table {
    font-size: 16px;
}
.register-section th {
    font-size: 15px;
    font-weight: 800;
}
.register-section td {
    font-size: 16px;
    line-height: 1.35;
}
.register-section .case-link,
.register-section .case-number,
.register-section td strong {
    font-size: 16.5px;
}
.register-section .hearing-cell {
    font-size: 16px;
}
.register-section .hearing-cell small {
    font-size: 13.5px;
}
.register-section .row-actions a,
.register-section .row-actions button,
.register-section .court-links a,
.register-section .court-links button {
    font-size: 14px;
}


/* v16: tiny additional increase to Case Register typography */
.register-section .case-table,
.register-section table {
    font-size: 17px;
}
.register-section th {
    font-size: 16px;
}
.register-section td {
    font-size: 17px;
}
.register-section .case-link,
.register-section .case-number,
.register-section td strong {
    font-size: 17.5px;
}
.register-section .hearing-cell {
    font-size: 17px;
}
.register-section .hearing-cell small {
    font-size: 14px;
}
.register-section .row-actions a,
.register-section .row-actions button,
.register-section .court-links a,
.register-section .court-links button {
    font-size: 14.5px;
}


/* v17: preferred sort order control */
.register-preferences{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:10px 12px;
    margin:8px 0 10px;
}
.register-preferences>div{
    display:flex;
    flex-direction:column;
    gap:2px;
}
.sort-preference-form{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
}
.sort-preference-form select{
    min-width:165px;
}
.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;
}
@media(max-width:700px){
    .register-preferences{
        align-items:stretch;
        flex-direction:column;
    }
    .sort-preference-form{
        align-items:stretch;
        flex-direction:column;
    }
    .sort-preference-form select,
    .sort-preference-form button{
        width:100%;
    }
}


/* v18: Owner Access & Promo administration */
.owner-access-button{font-weight:800}
.owner-admin-shortcut{margin-top:10px}
.owner-access-page{margin:12px 0 22px}
.owner-admin-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);gap:14px;align-items:start}
.admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.admin-card-head h3{margin:.1rem 0}
.count-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;background:#eef3f8;font-size:13px;font-weight:800}
.access-admin-list,.promo-code-list{display:grid;gap:10px}
.access-admin-row{border:1px solid #d9e1e8;border-radius:10px;padding:11px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.65fr);gap:12px}
.access-admin-row.pending-request{border-color:#d7b667;background:#fffdf7}
.access-admin-name{display:flex;align-items:center;justify-content:space-between;gap:10px}
.request-meta{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:5px;color:#5a6878;font-size:13px}
.request-note{margin:.5rem 0 0;font-size:14px}
.promo-request-badge,.approved-account-note{margin-top:7px;padding:6px 8px;border-radius:7px;background:#f2f6fa;font-size:13px}
.request-decision-forms{display:grid;gap:8px;align-content:start}
.approve-request-form{display:grid;gap:7px}
.approve-request-form label,.promo-create-form label{display:grid;gap:4px;font-size:13px;font-weight:800}
.disapprove-form button{width:100%}
.promo-create-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 14px}
.promo-create-form button{grid-column:1/-1}
.promo-create-form small{font-weight:400;color:#657383}
.promo-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #d9e1e8;border-radius:9px;padding:9px}
.promo-code-row.inactive{opacity:.6;background:#f5f6f7}
.promo-code-copy{display:grid;gap:3px}
.promo-code-copy>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.promo-code-copy code{font-size:14px;font-weight:800;padding:4px 6px;border-radius:5px;background:#eef3f8}
.copy-promo{padding:4px 8px;font-size:12px}
.promo-code-copy span{font-size:12.5px;color:#667485}
.user-row small{display:block;color:#6a7785;margin-top:2px}
@media(max-width:1050px){.owner-admin-grid{grid-template-columns:1fr}.access-admin-row{grid-template-columns:1fr}}
@media(max-width:700px){.promo-create-form{grid-template-columns:1fr}.promo-create-form button{grid-column:auto}.access-admin-name{align-items:flex-start;flex-direction:column}}


/* v20: dedicated Owner user management */
.owner-quick-links{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.owner-users-page{margin:12px 0 20px}
.owner-user-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px;
    margin-bottom:12px;
}
.owner-user-create-form{
    display:grid;
    gap:9px;
}
.owner-user-create-form label{
    display:grid;
    gap:5px;
    font-weight:700;
}
.user-help-card p{line-height:1.5}
.owner-users-list-card{margin-top:12px}
.user-count-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:72px;
    padding:6px 10px;
    border-radius:999px;
    background:#eef3f8;
    font-weight:800;
}
.owner-users-list{
    display:grid;
    gap:10px;
    margin-top:10px;
}
.owner-user-card{
    border:1px solid #d9e1ea;
    border-radius:12px;
    padding:12px;
    background:#fff;
}
.owner-user-card.inactive-user{
    background:#f7f8fa;
    opacity:.88;
}
.owner-user-main{margin-bottom:10px}
.owner-user-title{
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
    font-size:1.05rem;
}
.user-status{
    display:inline-flex;
    padding:3px 8px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:800;
}
.user-status.active{
    background:#e9f7ef;
    color:#20683a;
}
.user-status.inactive{
    background:#f4e9e9;
    color:#8f2d2d;
}
.owner-user-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px 16px;
    margin-top:6px;
    color:#566477;
    font-size:.9rem;
}
.owner-user-actions{
    display:grid;
    grid-template-columns:auto minmax(260px,1fr) auto auto;
    gap:8px;
    align-items:center;
}
.owner-user-actions form{margin:0}
.password-reset-form{
    display:flex;
    gap:7px;
    align-items:center;
}
.password-reset-form input{
    min-width:170px;
    flex:1;
}
.danger-button{
    background:#9d2d2d;
    color:#fff;
    border:1px solid #9d2d2d;
}
.danger-button:hover{
    background:#7f2222;
    border-color:#7f2222;
}
@media(max-width:1000px){
    .owner-user-grid{grid-template-columns:1fr}
    .owner-user-actions{grid-template-columns:1fr}
    .owner-user-actions .button,
    .owner-user-actions button{width:100%;box-sizing:border-box}
    .password-reset-form{align-items:stretch;flex-direction:column}
    .password-reset-form input{width:100%;box-sizing:border-box}
}


/* v21: Friday Excel reminder for portal users */
.friday-excel-reminder{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:10px 0 12px;
    padding:16px 18px;
    border:2px solid var(--gold);
    background:#fffaf0;
}
.friday-excel-reminder[hidden]{
    display:none !important;
}
.friday-reminder-copy h2{
    margin:.15rem 0 .35rem;
    font-size:1.25rem;
}
.friday-reminder-copy p{
    margin:0;
    line-height:1.45;
}
.friday-reminder-button{
    flex:0 0 auto;
    white-space:nowrap;
}
@media(max-width:760px){
    .friday-excel-reminder{
        align-items:stretch;
        flex-direction:column;
    }
    .friday-reminder-button{
        width:100%;
        box-sizing:border-box;
        text-align:center;
    }
}


/* v23: Friday reminder as an equal dashboard card beside the date/time */
.dashboard-cards{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.greeting-card{
    grid-column:span 1 !important;
    min-height:190px;
}
.friday-dashboard-card{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:12px;
    min-height:190px;
    box-sizing:border-box;
    border:2px solid #b42318;
    background:#fff7f6;
}
.friday-dashboard-card[hidden]{
    display:none !important;
}
.friday-dashboard-card h2,
.friday-reminder-text,
.friday-reminder-eyebrow{
    color:#b42318 !important;
}
.friday-dashboard-card h2{
    margin:.2rem 0 .45rem;
    font-size:1.2rem;
}
.friday-reminder-text{
    margin:0;
    font-weight:700;
    line-height:1.4;
}
.friday-reminder-button{
    width:100%;
    box-sizing:border-box;
    text-align:center;
    background:#b42318;
    border-color:#b42318;
    color:#fff;
}
.friday-reminder-button:hover{
    background:#8f1d14;
    border-color:#8f1d14;
}
@media(max-width:1000px){
    .dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
    .greeting-card{grid-column:span 1 !important}
}
@media(max-width:700px){
    .dashboard-cards{grid-template-columns:1fr}
}


/* v24: Owner Login Log */
.owner-login-log-page{margin:12px 0 20px}
.login-log-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:10px 0 12px;
}
.login-log-stat{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    min-height:92px;
}
.login-log-stat strong{
    font-size:1.8rem;
    line-height:1;
    color:var(--navy);
}
.login-log-stat span{
    margin-top:6px;
    color:#667085;
    font-weight:700;
}
.owner-login-log-card{margin-top:10px}
.login-log-table{
    width:100%;
    border-collapse:collapse;
}
.login-log-table th,
.login-log-table td{
    padding:10px 9px;
    text-align:left;
    vertical-align:top;
    border-bottom:1px solid #e3e8ee;
}
.login-log-table th{
    white-space:nowrap;
    font-size:.9rem;
}
.login-log-time{
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
}
.login-log-table small{
    color:#667085;
}
.ip-address{
    font-size:.92rem;
    white-space:nowrap;
}
.login-log-note{
    margin-top:10px;
}
@media(max-width:760px){
    .login-log-stats{grid-template-columns:1fr}
    .login-log-table-wrap{overflow-x:auto}
    .login-log-table{min-width:760px}
}


/* v25: Owner case-number range importer */
.owner-range-page{margin:12px 0 20px}
.owner-range-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px;
    align-items:stretch;
}
.owner-range-grid>.card{margin:0}
.owner-range-form{
    display:grid;
    gap:12px;
    margin-top:12px;
}
.owner-range-form label{
    display:grid;
    gap:6px;
    font-weight:800;
}
.owner-range-form input{
    font-size:1.05rem;
    font-variant-numeric:tabular-nums;
}
.owner-range-help-card ol{
    margin:.6rem 0 .8rem 1.2rem;
    padding:0;
}
.owner-range-help-card li{
    margin:.45rem 0;
    line-height:1.4;
}
.owner-range-note{margin-top:12px}
@media(max-width:800px){
    .owner-range-grid{grid-template-columns:1fr}
}


/* v26: make Owner Case Range Import very prominent */
.owner-range-button{
    background:var(--gold) !important;
    color:var(--navy) !important;
    border-color:var(--gold) !important;
    font-weight:900 !important;
}
.owner-range-dashboard-card{
    border:2px solid var(--gold) !important;
    background:#fffaf0 !important;
}
.owner-range-card-button{
    width:100%;
    box-sizing:border-box;
    background:var(--gold) !important;
    border-color:var(--gold) !important;
    color:var(--navy) !important;
    font-weight:900 !important;
}
.owner-range-callout{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:10px 0;
    padding:11px 14px;
    background:#fffaf0;
    border:2px solid var(--gold);
    border-radius:12px;
}
.owner-range-callout>div{
    display:flex;
    flex-direction:column;
    gap:2px;
}
.owner-range-callout strong{
    color:var(--navy);
    font-size:1rem;
}
.owner-range-callout span{
    color:#65758a;
    font-size:.88rem;
}
.owner-range-callout .button{
    flex:0 0 auto;
    background:var(--gold);
    border-color:var(--gold);
    color:var(--navy);
    font-weight:900;
}
@media(min-width:1250px){
    .dashboard-cards{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:760px){
    .owner-range-callout{
        align-items:stretch;
        flex-direction:column;
    }
    .owner-range-callout .button{
        width:100%;
        box-sizing:border-box;
        text-align:center;
    }
}


/* v27: Attorney(s) data */
.register-section .attorney-cell{
    min-width:190px;
    max-width:300px;
}
.register-section .attorney-cell strong{
    display:block;
    font-size:17px;
    line-height:1.25;
    overflow-wrap:anywhere;
}
.register-section .attorney-cell small{
    display:block;
    margin-top:3px;
    color:#748094;
    font-size:12.5px;
}


/* v29: corrected Attorney(s) column */
.register-section .attorney-cell .attorney-pending{
    color:#8a5b00;
    font-style:italic;
}
.refresh-attorney{font-weight:800}


/* v30: MySQL database + attorney repair */
.owner-database-button{
    font-weight:800;
}
.owner-database-page{
    margin:12px 0 24px;
}
.db-status-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-bottom:12px;
}
.db-status-grid>.card,
.db-setup-card,
.db-attorney-maintenance{
    margin:0 0 12px;
}
.db-counts{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin:14px 0;
}
.db-counts>div{
    padding:12px;
    border:1px solid #d7dee8;
    border-radius:10px;
    background:#f8fafc;
    text-align:center;
}
.db-counts strong{
    display:block;
    font-size:1.4rem;
    color:var(--navy);
}
.db-counts span{
    display:block;
    margin-top:3px;
    font-size:.82rem;
    color:#65758a;
}
.db-migrate-button{
    font-weight:900;
}
.danger-soft{
    background:#fff1f1 !important;
    color:#8d1c1c !important;
    border-color:#dba9a9 !important;
    font-weight:900 !important;
}
.set-attorney-manual{
    font-weight:800;
}
@media(max-width:900px){
    .db-status-grid{grid-template-columns:1fr}
    .db-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v32: Owner Case Data Audit */
.owner-audit-button{font-weight:800}
.owner-audit-page{margin:12px 0 26px}
.audit-scope-card{margin-bottom:12px}
.audit-scope-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.audit-scope-form label{min-width:320px}
.audit-summary-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:12px;
}
.audit-stat-card strong{
    display:block;
    font-size:1.55rem;
    color:var(--navy);
    margin:4px 0;
}
.audit-stat-card span{color:#65758a;font-size:.88rem}
.audit-duplicate-card,.audit-range-checker,.audit-auto-gaps{margin-bottom:12px}
.audit-good{
    padding:10px 12px;
    border:1px solid #a8cfb1;
    border-radius:9px;
    background:#f0faf2;
    color:#235b31;
    font-weight:700;
}
.audit-range-form{
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr auto;
    gap:10px;
    align-items:end;
}
.audit-range-totals{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:14px 0;
}
.audit-range-totals span{
    border:1px solid #d7dee8;
    border-radius:9px;
    background:#f8fafc;
    padding:9px 12px;
}
.missing-range-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.missing-range-pill{
    display:flex;
    flex-direction:column;
    gap:2px;
    border:1px solid #d7dee8;
    background:#fff9e9;
    border-radius:10px;
    padding:8px 11px;
}
.missing-range-pill span{font-size:.78rem;color:#6a7380}
.owner-audit-dashboard-card h2{margin-bottom:6px}
@media(max-width:950px){
    .audit-summary-grid{grid-template-columns:1fr}
    .audit-range-form{grid-template-columns:1fr}
    .audit-scope-form label{min-width:0;width:100%}
}


/* v33: all-user MySQL verification + Owner case editing */
.db-portal-cases-card{margin-bottom:12px}
.db-ok{
    display:inline-block;
    padding:3px 7px;
    border-radius:999px;
    background:#edf8ef;
    color:#256134;
    font-weight:800;
}
.db-bad{
    display:inline-block;
    padding:3px 7px;
    border-radius:999px;
    background:#fff0f0;
    color:#9b1c1c;
    font-weight:800;
}
.owner-edit-case{
    font-weight:900;
}


/* v34: Owner master case register */
.owner-master-sync-card{margin-bottom:12px}
.owner-master-sync-card .section-head{align-items:center}
.owner-master-sources{
    display:block;
    margin-top:4px;
    font-size:.75rem;
    line-height:1.25;
    color:#68778a;
    font-weight:600;
}


/* v35: dedicated User column in Owner Master Register */
.owner-user-cell{
    min-width:150px;
    vertical-align:top;
}
.owner-user-cell strong{
    display:block;
    font-size:15px;
    line-height:1.25;
}
.owner-user-cell small{
    display:block;
    margin-top:3px;
    font-size:12px;
    line-height:1.2;
    color:#68778a;
    font-weight:600;
}


/* v36: live Owner case-type database summary */
.owner-case-type-summary{
    margin:12px 0;
}
.owner-case-type-summary-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:14px;
}
.owner-case-type-summary-head h2{
    margin:2px 0 4px;
}
.owner-case-type-summary-head p{
    margin:0;
    max-width:800px;
}
.owner-case-type-total{
    flex:0 0 auto;
    min-width:140px;
    padding:11px 14px;
    border:1px solid #d7dee8;
    border-radius:11px;
    background:#f8fafc;
    text-align:center;
}
.owner-case-type-total strong{
    display:block;
    font-size:1.8rem;
    line-height:1.05;
    color:var(--navy);
}
.owner-case-type-total span{
    display:block;
    margin-top:4px;
    font-size:.78rem;
    color:#647386;
    font-weight:700;
}
.owner-case-type-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.owner-case-type-item{
    padding:14px 9px;
    border:1px solid #d7dee8;
    border-radius:10px;
    background:#fff;
    text-align:center;
}
.owner-case-type-item strong{
    display:block;
    font-size:1.6rem;
    line-height:1.05;
    color:var(--navy);
}
.owner-case-type-item span{
    display:block;
    margin-top:5px;
    font-size:.84rem;
    line-height:1.2;
    color:#56687d;
    font-weight:700;
}
.owner-case-type-note{
    margin:11px 0 0;
    font-size:.78rem;
    color:#68778a;
}
@media(max-width:1050px){
    .owner-case-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
    .owner-case-type-summary-head{display:block}
    .owner-case-type-total{margin-top:10px}
    .owner-case-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v37: automatic 26STPB gap import in batches of 50 */
.gap-import-26stpb-card{margin-bottom:12px}
.gap-import-26stpb-card .section-head{align-items:center}
.gap-import-26stpb-card .section-head > div:first-child{max-width:820px}
.gap-import-status-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:14px;
}
.gap-import-status-grid > div{
    border:1px solid #d7dee8;
    border-radius:10px;
    background:#f8fafc;
    padding:11px;
}
.gap-import-status-grid strong{
    display:block;
    font-size:1.2rem;
    color:var(--navy);
}
.gap-import-status-grid span{
    display:block;
    margin-top:3px;
    font-size:.77rem;
    color:#68778a;
    font-weight:700;
}
.owner-range-callout-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
}
@media(max-width:850px){
    .gap-import-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v38: unattended 26STPB importer */
.auto-gap-controller{margin-bottom:12px}
.auto-gap-state{
    flex:0 0 auto;
    min-width:165px;
    padding:10px 12px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    background:#f8fafc;
    text-align:center;
}
.auto-gap-state strong,.auto-gap-state span{display:block}
.auto-gap-state strong{font-size:.92rem}
.auto-gap-state span{margin-top:3px;font-size:.76rem;color:#68778a}
.auto-gap-state.running{background:#fff8e6}
.auto-gap-state.complete{background:#edf8ef}
.auto-gap-state.error{background:#fff0f0}
.auto-gap-state.paused{background:#f3f4f6}
.auto-gap-details{
    margin-top:12px;
    padding:10px 12px;
    border:1px solid #e0e6ee;
    border-radius:9px;
    background:#fbfcfe;
}
.auto-gap-details p{margin:3px 0}
.auto-gap-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
    margin-top:12px;
}
.auto-gap-actions form{margin:0}
.auto-gap-cron-setup{
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid #d7dee8;
}
.auto-gap-cron-setup h4{margin:3px 0 8px}
.auto-gap-cron-setup code{
    display:inline-block;
    padding:6px 9px;
    border-radius:7px;
    background:#eef2f6;
    font-weight:800;
}
.auto-gap-cron-setup input[readonly]{
    width:100%;
    font-family:monospace;
    font-size:.83rem;
}


/* v39: sequential STPB years + one-click cron installer */
.auto-cron-installer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin:14px 0;
    padding:13px 14px;
    border:1px solid #d6dee9;
    border-radius:10px;
    background:#f8fafc;
}
.auto-cron-installer h4{margin:3px 0 4px}
.auto-cron-installer p{margin:0}
.auto-cron-installer.installed{
    border-color:#abd0b4;
    background:#f0faf2;
}
.cron-installed-badge{
    display:inline-block;
    padding:6px 10px;
    border-radius:999px;
    background:#e2f3e6;
    color:#245c31;
    font-weight:900;
}
.auto-sequence-current{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:13px 0;
}
.auto-sequence-current > div{
    border:1px solid #d7dee8;
    border-radius:10px;
    padding:11px;
    background:#fff;
}
.auto-sequence-current span{
    display:block;
    font-size:.74rem;
    color:#68778a;
    font-weight:700;
}
.auto-sequence-current strong{
    display:block;
    margin-top:4px;
    font-size:1rem;
    color:var(--navy);
}
.auto-sequence-table-wrap{
    overflow-x:auto;
    margin-top:12px;
}
.auto-sequence-table{
    width:100%;
}
.auto-sequence-table tr.sequence-active td{
    background:#fff8e8;
}
.auto-sequence-table tr.sequence-complete td{
    background:#f4faf5;
}
.auto-sequence-note{
    margin-top:12px;
}
@media(max-width:900px){
    .auto-sequence-current{grid-template-columns:repeat(2,minmax(0,1fr))}
    .auto-cron-installer{align-items:flex-start;flex-direction:column}
}


/* v41: daily full disaster-recovery backups */
.owner-backups-button{font-weight:800}
.owner-backup-dashboard-card h2{margin-bottom:6px}
.backup-status-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:12px;
}
.backup-good{
    display:inline-block;
    padding:6px 9px;
    border-radius:8px;
    background:#edf8ef;
    color:#245c31;
    font-weight:800;
}
.backup-contents-card,.recent-backups-card{margin-bottom:12px}
.backup-content-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:12px;
}
.backup-content-grid > div{
    padding:12px;
    border:1px solid #d7dee8;
    border-radius:10px;
    background:#f8fafc;
}
.backup-content-grid strong,.backup-content-grid span{display:block}
.backup-content-grid span{
    margin-top:4px;
    font-size:.82rem;
    color:#607187;
    line-height:1.35;
}
.backup-sensitive-note{
    margin:12px 0 0;
    padding:10px 12px;
    border:1px solid #e4d7af;
    border-radius:9px;
    background:#fff9e9;
}
.recent-backups-card code{font-size:.78rem}
@media(max-width:900px){
    .backup-status-grid{grid-template-columns:1fr}
    .backup-content-grid{grid-template-columns:1fr}
}


/* v43: separate MySQL backup download */
.backup-small-button{
    margin-top:5px;
    padding:4px 7px;
    font-size:.75rem;
}


/* v44: dynamic Other case subcategory breakdown */
.owner-other-breakdown{
    margin-top:15px;
    padding-top:15px;
    border-top:1px solid #d7dee8;
}
.owner-other-breakdown-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:12px;
}
.owner-other-breakdown-head h3{
    margin:2px 0 4px;
}
.owner-other-breakdown-head p{
    margin:0;
    max-width:820px;
}
.owner-other-total{
    flex:0 0 auto;
    min-width:130px;
    padding:10px 12px;
    border:1px solid #d7dee8;
    border-radius:10px;
    background:#f8fafc;
    text-align:center;
}
.owner-other-total strong{
    display:block;
    font-size:1.55rem;
    line-height:1;
    color:var(--navy);
}
.owner-other-total span{
    display:block;
    margin-top:4px;
    font-size:.76rem;
    color:#68778a;
    font-weight:700;
}
.owner-other-subcategory-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}
.owner-other-subcategory-item{
    padding:11px 10px;
    border:1px solid #d7dee8;
    border-radius:9px;
    background:#fff;
}
.owner-other-subcategory-item strong{
    display:block;
    font-size:1.25rem;
    line-height:1;
    color:var(--navy);
}
.owner-other-subcategory-item span{
    display:block;
    margin-top:5px;
    font-size:.82rem;
    line-height:1.25;
    color:#596b80;
    font-weight:700;
}
@media(max-width:950px){
    .owner-other-subcategory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
    .owner-other-breakdown-head{display:block}
    .owner-other-total{margin-top:10px}
    .owner-other-subcategory-grid{grid-template-columns:1fr}
}


/* v45: User1 one-case portal */
.user1-limit-badge,
.user-type-badge{
    display:inline-flex;
    align-items:center;
    padding:5px 8px;
    border:1px solid #d4dce7;
    border-radius:999px;
    background:#f6f8fb;
    color:#526378;
    font-size:.76rem;
    font-weight:800;
    white-space:nowrap;
}
.user-type-badge.user1,
.user1-limit-badge{
    border-color:#c6a862;
    background:#fff9e8;
    color:#6f5721;
}
.user1-restriction-callout{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding:12px 14px;
    margin-bottom:12px;
    border:1px solid #d9c37f;
    border-radius:10px;
    background:#fffaf0;
}
.user1-restriction-callout strong,
.user1-restriction-callout span{display:block}
.user1-restriction-callout > div > span{
    margin-top:3px;
    font-size:.82rem;
    color:#6f654e;
}
.user1-one-case-count{
    flex:0 0 auto;
    min-width:58px;
    padding:7px 10px;
    border-radius:999px;
    background:#f3e5b5;
    color:#604b18;
    text-align:center;
    font-weight:900;
}
.user1-case-entry-grid{
    grid-template-columns:minmax(0,680px);
}
.user1-manual-case-card{
    border-color:#d9c37f;
}
.user1-demo-create-card{
    border-color:#d9c37f;
    background:#fffdf7;
}
.user1-demo-create-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}
.user1-demo-create-actions form{margin:0}
.user1-demo-shell{
    border:1px solid #d6dee9;
    border-radius:12px;
    overflow:hidden;
    background:#f7f9fc;
    box-shadow:0 8px 28px rgba(26,40,58,.08);
}
.user1-demo-topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:13px 16px;
    background:#fff;
    border-bottom:1px solid #dce3ec;
}
.user1-demo-topbar strong,
.user1-demo-topbar span{display:block}
.user1-demo-topbar > div:first-child > span{
    margin-top:2px;
    font-size:.78rem;
    color:#68778a;
}
.user1-demo-actions{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    align-items:center;
}
.demo-button{
    display:inline-block !important;
    padding:5px 8px;
    border:1px solid #d3dae4;
    border-radius:7px;
    background:#fff;
    color:#526378;
    font-size:.76rem;
    font-weight:800;
}
.user1-demo-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:18px;
    background:#eef3f8;
}
.user1-demo-hero small{
    display:block;
    text-transform:uppercase;
    font-weight:800;
    color:#647589;
}
.user1-demo-hero h2{margin:3px 0}
.user1-demo-hero p{margin:0;color:#637388}
.user1-demo-hero > div:last-child{
    min-width:120px;
    text-align:center;
}
.user1-demo-hero > div:last-child strong{
    display:block;
    font-size:2rem;
    line-height:1;
}
.user1-demo-hero > div:last-child span{
    display:block;
    margin-top:4px;
    font-size:.8rem;
    color:#65758a;
}
.user1-demo-shell .user1-restriction-callout{
    margin:14px;
}
.user1-demo-shell > .card{
    margin:14px;
}
.demo-link{
    display:inline-block;
    margin:2px;
    padding:4px 6px;
    border-radius:6px;
    background:#eef2f7;
    font-size:.75rem;
    font-weight:800;
}
.user1-demo-disabled-upload{
    margin:14px;
    padding:12px 14px;
    border:1px dashed #c5ceda;
    border-radius:9px;
    background:#f8fafc;
}
.user1-demo-disabled-upload strong,
.user1-demo-disabled-upload span{display:block}
.user1-demo-disabled-upload span{
    margin-top:3px;
    color:#68778a;
    font-size:.82rem;
}
@media(max-width:800px){
    .user1-demo-topbar,.user1-demo-hero,.user1-restriction-callout{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* v46: change an existing user's type */
.user-type-change-form{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    align-items:center;
}
.user-type-change-form select{
    min-width:190px;
}


/* v47: Court-link clipboard instruction beside GreenFiling */


/* v48: consistent thin gold border on every card */
.card{
    border:1px solid #c9a84c !important;
}

/* Instruction card uses the same dashboard-card structure as the others */
.court-link-instruction-card{
    display:flex;
    align-items:stretch;
    justify-content:flex-start;
    text-align:left;
}
.court-link-instruction-card > div{
    width:100%;
}
.court-link-instruction-card h2{
    margin-top:2px;
    margin-bottom:2px;
}
.court-link-instruction-text{
    margin:0;
    color:inherit;
    font:inherit;
    line-height:inherit;
    font-weight:inherit;
}


/* v49: the four common dashboard card titles match the Electronic Filing gold */
.greeting-card h2,
.appear-video-card h2,
.greenfiling-card h2,
.court-link-instruction-card h2{
    color:var(--gold2) !important;
}


/* v50: Owner global card appearance editor */
.owner-card-style-button{font-weight:800}
.card-style-layout{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);
    gap:16px;
    align-items:start;
}
.card-style-control-panel .card-style-section-label{margin-top:20px}
.card-style-field-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 14px;
}
.card-style-field-grid label{margin:0}
.card-style-field-grid input[type="color"]{
    height:44px;
    padding:3px;
    cursor:pointer;
}
.range-row{
    display:grid;
    grid-template-columns:1fr 64px;
    gap:8px;
    align-items:center;
}
.range-row input[type="range"]{
    padding:0;
    border:0;
}
.range-row output{
    text-align:right;
    font-weight:800;
}
.card-style-actions{margin-top:18px}
.card-style-preview-column{
    position:sticky;
    top:12px;
}
.card-style-preview-card{margin:10px 0}
.reset-card-style-form{margin-top:12px}
@media(max-width:900px){
    .card-style-layout{grid-template-columns:1fr}
    .card-style-preview-column{position:static}
}
@media(max-width:650px){
    .card-style-field-grid{grid-template-columns:1fr}
}


/* v60: consistent card hierarchy — dark main title, lighter small heading */
.card h1,
.card h2,
.card h3,
.card h4{
    color:#765000 !important;
}
.card h2{
    margin-bottom:2px !important;
}
.card .eyebrow{
    color:#b38a38 !important;
}
.court-link-instruction-text{
    color:inherit !important;
}


/* v61: authenticated portal footer */
.portal-footer{
    margin:24px auto 14px;
    padding:12px 18px;
    max-width:1400px;
    border-top:1px solid #d8dee8;
    display:flex;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    color:#68778a;
    font-size:12px;
    line-height:1.4;
}
.portal-footer a{
    color:#765000;
    font-weight:700;
    text-decoration:none;
}
.portal-footer a:hover{
    text-decoration:underline;
}
@media(max-width:700px){
    .portal-footer{
        flex-direction:column;
        align-items:flex-start;
    }
}


/* v62: User2 one-case card portal */
.user-type-badge.user2,
.user2-limit-badge{
    border-color:#8fa7c5;
    background:#eef5fc;
    color:#274a72;
}
.owner-user2-cards-button{
    font-weight:800;
}
.user2-card-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:10px 0 16px;
    align-items:stretch;
}
.user2-portal-card{
    margin:0;
    min-height:190px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}
.user2-card-content{
    min-width:0;
}
.user2-card-body{
    margin:7px 0 0;
    white-space:pre-line;
    overflow-wrap:anywhere;
}
.user2-card-actions{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:14px;
}
.user2-card-link-button{
    flex:0 1 auto;
}
.user2-card-link-button:disabled{
    opacity:.45;
    cursor:not-allowed;
}
.user2-card-hearing .user2-card-body{
    font-variant-numeric:tabular-nums;
}
@media(max-width:1100px){
    .user2-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
    .user2-card-grid{grid-template-columns:1fr}
    .user2-portal-card{min-height:0}
}

/* Owner > User2 Cards */
.owner-user2-card-editor-page{
    margin:12px 0 22px;
}
.user2-token-help{
    margin-bottom:12px;
}
.user2-token-list{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:9px 0;
}
.user2-token-list code{
    padding:5px 7px;
    border:1px solid #d9e0e9;
    border-radius:6px;
    background:#f7f9fc;
    font-size:.8rem;
}
.user2-editor-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.user2-editor-card{
    margin:0;
}
.user2-editor-card-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
}
.user2-enabled-toggle{
    display:flex;
    align-items:center;
    gap:6px;
    margin:0;
    white-space:nowrap;
}
.user2-enabled-toggle input{
    width:auto;
}
.user2-font-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 10px;
}
.user2-font-grid small{
    display:block;
    margin-top:3px;
    color:#6b7a8d;
    font-size:.75rem;
}
.user2-button-editor{
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid #e0e5ec;
}
.user2-button-row{
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1.25fr);
    gap:8px;
    padding:9px 0;
    border-top:1px dashed #e0e5ec;
}
.user2-button-row:first-of-type{
    border-top:0;
}
.user2-editor-savebar{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:14px;
}
.reset-user2-cards-form{
    margin-top:10px;
}
@media(max-width:1000px){
    .user2-editor-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
    .user2-font-grid,
    .user2-button-row{grid-template-columns:1fr}
    .user2-editor-card-head{flex-direction:column}
}


/* v63: User2 hearing preparation page */
.user2-hearing-prep-page{
    margin:12px 0 22px;
}
.user2-prep-summary-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:10px 0 12px;
}
.user2-prep-summary-grid>.card{
    margin:0;
}
.user2-hearing-checklist{
    margin:12px 0;
}
.user2-hearing-checklist ol{
    margin:.7rem 0 .25rem 1.25rem;
    padding:0;
}
.user2-hearing-checklist li{
    margin:.65rem 0;
    line-height:1.48;
}
.user2-prep-resource-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:12px 0;
}
.user2-prep-resource-grid>.card{
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}
.user2-prep-resource-grid .button,
.user2-prep-resource-grid button{
    margin-top:auto;
}
@media(max-width:950px){
    .user2-prep-summary-grid,
    .user2-prep-resource-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:650px){
    .user2-prep-summary-grid,
    .user2-prep-resource-grid{
        grid-template-columns:1fr;
    }
}


/* v71: User2 Prepare for Your Hearing guide */
.user2-hearing-prep-nav,
.user2-hearing-prep-bottom-nav{
    display:flex;
    justify-content:flex-end;
    gap:8px;
}
.user2-hearing-prep-bottom-nav{
    margin:14px 0 4px;
}
.user2-hearing-guide-card{
    margin:12px 0;
}
.user2-hearing-guide-title{
    padding-bottom:10px;
    border-bottom:1px solid #e0e5ec;
}
.user2-hearing-guide-section{
    padding:16px 0 4px;
}
.user2-hearing-guide-section + .user2-hearing-guide-section{
    border-top:1px solid #e0e5ec;
    margin-top:8px;
}
.user2-hearing-guide-section h3{
    margin:0 0 12px;
    letter-spacing:.04em;
}
.user2-hearing-guide-section p{
    margin:0 0 12px;
    line-height:1.6;
}
.user2-hearing-guide-step{
    margin:14px 0;
    padding:12px 14px;
    border:1px solid #e0e5ec;
    border-radius:10px;
    background:#fafbfd;
}
.user2-hearing-guide-step h4{
    margin:0 0 7px;
}
.user2-hearing-guide-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:8px 0 14px;
}
.user2-good-luck{
    margin-top:18px !important;
    font-size:1.05em;
}


/* v72: exact customer-facing Prepare for Your Hearing screen */
.user2-hearing-prep-exact{
    max-width:980px;
    margin-left:auto;
    margin-right:auto;
}
.user2-hearing-guide-exact{
    margin-top:14px;
    padding:22px !important;
}
.user2-hearing-guide-exact h3{
    margin:18px 0 10px;
    font-weight:900;
    letter-spacing:.03em;
}
.user2-hearing-guide-exact h3:first-child{
    margin-top:0;
}
.user2-hearing-guide-exact p{
    margin:0 0 15px;
    line-height:1.65;
}
.user2-hearing-guide-exact .user2-good-luck{
    margin-top:22px;
    margin-bottom:0;
}

.case-number-docket{min-height:auto!important;padding:0!important;border:0!important;background:transparent!important;color:var(--navy)!important;text-decoration:underline!important;font-weight:900!important;font-size:12px!important;cursor:pointer!important}
.docket-page{margin-top:12px}.docket-section .table-wrap{border-radius:10px}.docket-section td{min-width:120px;white-space:normal;vertical-align:top}


/* v95: 1280px register fit + two-line Court Links */
.court-links-cell{
    white-space:normal!important;
    min-width:220px!important;
    max-width:245px;
}
.court-links-primary,.court-links-secondary,.court-links-tertiary{
    display:block;
    white-space:nowrap;
    line-height:1.25;
}
.court-links-secondary,.court-links-tertiary{margin-top:5px;}
.court-links-cell>a,.court-links-cell .row-court-link{margin-right:7px!important;}
@media (min-width:900px) and (max-width:1300px){
    .compact-table th,.compact-table td{padding-left:6px;padding-right:6px;}
    .register-section .attorney-cell{min-width:165px;max-width:225px;}
    .register-section .attorney-cell strong{font-size:14px;}
    .hearing-cell{min-width:200px;}
    .court-links-cell{min-width:210px!important;max-width:225px;}
}

/* v98: separate counsel roles + register bulk status controls */
.register-section .cac-cell{
    min-width:175px;
    max-width:260px;
}
.register-section .cac-cell strong{
    display:block;
    font-size:16px;
    line-height:1.25;
    overflow-wrap:anywhere;
}
.register-section .cac-cell small{
    display:block;
    margin-top:3px;
    color:#748094;
    font-size:12px;
}
@media (min-width:900px) and (max-width:1300px){
    .register-section .attorney-cell,
    .register-section .cac-cell{min-width:145px;max-width:195px;}
    .register-section .attorney-cell strong,
    .register-section .cac-cell strong{font-size:13.5px;}
    .court-links-cell{min-width:205px!important;max-width:220px;}
    .hearing-cell{min-width:185px;}
}

/* v99: clickable Probate Department phone links */
.dept-phone-link{
    display:inline-flex!important;
    align-items:center;
    gap:4px;
    margin-top:4px;
    color:#0b5cab!important;
    text-decoration:underline!important;
    text-decoration-thickness:1.5px!important;
    text-underline-offset:2px;
    font-weight:900!important;
    font-size:11px!important;
    line-height:1.25;
    cursor:pointer;
}
.dept-phone-link:hover{color:#083f75!important;}
.hearing-cell .dept-phone-link{display:flex!important;width:max-content;max-width:100%;white-space:normal;}
.card-dept-phone-link{margin-left:9px;vertical-align:middle;}
.user3-docket-phone-list{display:grid;gap:8px;}
.user3-docket-phone-item{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.user2-portal-card .dept-phone-link{font-size:12px!important;}
