/* ============================================================================
   executive-index.css — Executive landing in the "Corrupted Desktop" theme
   ----------------------------------------------------------------------------
   Copy of css/congress/congress-index.css with the scope class swapped
   (.tt-congress -> .tt-executive). Layers on css/corrupted-desktop.css (tokens,
   .tt-hero, .tt-explorer, .tt-twitter, .tt-taskbar, scanlines). Sections 1-9 are
   scoped under .tmpl-corrupted-desktop.tt-executive and use only theme tokens;
   section 10 styles the document-lookup dialog, which lives OUTSIDE the wrapper
   and therefore redeclares the tokens it needs locally.

   Zones: CRT (Win9x bevels, VT323) for every utility panel; vaporwave only for
   the neon title. The Executive-specific idea is the hero's counter board —
   three lit tiles (Executive Orders / Proclamations / Memoranda) instead of
   Congress's party-split tally board, since there is no D/R/I here.
   ========================================================================== */

/* ---------- 0. No CRT scanlines here --------------------------------------- */
/* The theme's per-panel ::after scanline+flicker overlay (corrupted-desktop.css section 2)
   blurs the small, dense text this page is full of. The news/IRC pages keep theirs. */
.tmpl-corrupted-desktop.tt-executive .tt-hero::after,
.tmpl-corrupted-desktop.tt-executive .tt-taskbar::after,
.tmpl-corrupted-desktop.tt-executive .tt-explorer::after{ content:none; }

/* ---------- 1. Hero: Explorer chrome sized for the board ------------------ */
.tmpl-corrupted-desktop.tt-executive .tt-hero{
    height:clamp(300px,36vw,420px);
}
.tmpl-corrupted-desktop.tt-executive .tt-executive__title-bar-text{
    font-size:12px; font-weight:bold;
}
.tmpl-corrupted-desktop.tt-executive .tt-executive__crumb{
    color:#000; font-size:12px;
}
.tmpl-corrupted-desktop.tt-executive #executive-quick-search{
    flex:0 1 40%; min-width:160px; height:24px; padding:0 6px;
    border:1px solid #a0a0a0; background:#fff; color:#000; font-size:12px;
}
/* The folder is a flex row by default (icon grid); the board wants a single column. */
.tmpl-corrupted-desktop.tt-executive .tt-desktop-folder{
    display:flex; flex-direction:column; padding:6px;
}

/* ---------- 2. Counter board (signature) ----------------------------------- */
.tmpl-corrupted-desktop.tt-executive .tt-tally{
    flex:1 1 auto; min-height:0; width:100%;
    display:flex; flex-direction:column; justify-content:center; gap:var(--sp-3);
    padding:var(--sp-4) var(--sp-4) var(--sp-3);
    background:
        radial-gradient(ellipse at 50% 0%, rgba(1,205,254,.10), transparent 60%),
        #0a0a14;
    box-shadow:var(--bevel-in);
    color:#fff;
}
.tmpl-corrupted-desktop.tt-executive .tt-tally__title{
    font-size:clamp(1.8rem,4.2vw,3rem); letter-spacing:3px; line-height:1;
}
.tmpl-corrupted-desktop.tt-executive .tt-tally__tag{
    margin:0; text-align:center;
    font-family:"VT323",monospace; font-size:16px; letter-spacing:2px;
    color:var(--vw-cyan); text-shadow:var(--vw-glow-cyan);
}
.tmpl-corrupted-desktop.tt-executive .tt-tally__board{
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-3);
}
.tmpl-corrupted-desktop.tt-executive .tt-stat{
    display:flex; flex-direction:column; align-items:center; gap:2px;
    padding:var(--sp-3) var(--sp-2); text-align:center;
    background:#10101f; border:1px solid #262640;
    box-shadow:inset 0 0 0 1px #05050a, inset 0 1px 0 #2e2e4a;
}
.tmpl-corrupted-desktop.tt-executive .tt-stat__num{
    font-family:"VT323",monospace; font-size:clamp(2rem,4vw,2.8rem); line-height:1;
    color:var(--crt-green); text-shadow:var(--vw-glow-lime);
    font-variant-numeric:tabular-nums;
}
.tmpl-corrupted-desktop.tt-executive .tt-stat__label{
    font-family:Tahoma,"Segoe UI",sans-serif; font-size:11px; font-weight:bold;
    letter-spacing:1.5px; text-transform:uppercase; color:#c0c0c0;
}

/* ---------- 4. Body panels: equal height, internal scroll ----------------- */
@media (min-width:992px){
    .tmpl-corrupted-desktop.tt-executive .tt-fill-h{
        display:flex; flex-direction:column; height:680px; overflow:hidden;
    }
    /* The White House feed sits in the hero row: match the hero's height, not
       the 680px body-row height (higher specificity beats .tt-fill-h above). */
    .tmpl-corrupted-desktop.tt-executive .tt-twitter.tt-fill-h{
        height:clamp(300px,36vw,420px);
    }
    .tmpl-corrupted-desktop.tt-executive .tt-fill-h > .window-body{
        flex:1 1 auto; min-height:0; max-height:none !important;
        display:flex; flex-direction:column;
    }
    .tmpl-corrupted-desktop.tt-executive .tt-fill-h .tt-executive__list{
        flex:1 1 auto; min-height:0; overflow-y:auto;
    }
}
@media (max-width:991.98px){
    .tmpl-corrupted-desktop.tt-executive .tt-fill-h > .window-body{ max-height:560px; }
}

/* ---------- 5. Toolbars (CRT form controls) ------------------------------- */
.tmpl-corrupted-desktop.tt-executive .tt-executive__toolbar{
    display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-2);
    margin:0 0 var(--sp-2); padding:var(--sp-2);
    background:var(--crt-face); box-shadow:var(--bevel-out);
}
.tmpl-corrupted-desktop.tt-executive .tt-executive__toolbar input,
.tmpl-corrupted-desktop.tt-executive .tt-executive__toolbar select{
    height:26px; padding:0 6px; border:none; border-radius:0;
    background:#fff; color:#000; box-shadow:var(--bevel-in);
    font-family:"VT323",monospace; font-size:17px; line-height:26px;
}
.tmpl-corrupted-desktop.tt-executive .tt-executive__toolbar input[type="search"]{ flex:1 1 160px; min-width:0; }

/* Agency typeahead (ARIA combobox): the wrapper takes the input's flex slot and
   anchors the absolutely-positioned listbox popup under it. */
.tmpl-corrupted-desktop.tt-executive .tt-combobox{
    position:relative; display:flex; flex:1 1 160px; min-width:0;
}
.tmpl-corrupted-desktop.tt-executive .tt-combobox input[type="search"]{ flex:1 1 auto; width:100%; }
.tmpl-corrupted-desktop.tt-executive .tt-combobox__list{
    position:absolute; top:100%; left:0; right:0; z-index:10;
    margin:1px 0 0; padding:2px; list-style:none;
    background:var(--crt-face); box-shadow:var(--bevel-out);
    max-height:220px; overflow-y:auto;
    font-family:"VT323",monospace; font-size:16px;
}
.tmpl-corrupted-desktop.tt-executive .tt-combobox__list[hidden]{ display:none; }
.tmpl-corrupted-desktop.tt-executive .tt-combobox__option{
    display:flex; justify-content:space-between; gap:var(--sp-2);
    padding:3px 6px; color:#000; cursor:pointer; white-space:nowrap;
    overflow:hidden; text-overflow:ellipsis;
}
.tmpl-corrupted-desktop.tt-executive .tt-combobox__option.is-active{
    background:var(--crt-navy-1); color:#fff;
}
.tmpl-corrupted-desktop.tt-executive .tt-combobox__meta{
    color:var(--crt-navy-1); flex:0 0 auto;
}
.tmpl-corrupted-desktop.tt-executive .tt-combobox__option.is-active .tt-combobox__meta{ color:#c0d0ff; }
.tmpl-corrupted-desktop.tt-executive .tt-executive__toolbar select{ flex:0 1 180px; min-width:120px; }
.tmpl-corrupted-desktop.tt-executive .tt-executive__count{
    margin-left:auto; font-family:"VT323",monospace; font-size:16px; color:var(--crt-navy-1);
    white-space:nowrap; font-variant-numeric:tabular-nums;
}
.tmpl-corrupted-desktop.tt-executive .tt-executive__toolbar :focus-visible{
    outline:2px solid var(--crt-navy-2); outline-offset:1px;
}

/* Final/Proposed tab pair on the Rules toolbar - a small segmented control. */
.tmpl-corrupted-desktop.tt-executive .tt-executive__tabs{ display:flex; gap:2px; }
.tmpl-corrupted-desktop.tt-executive .tt-executive__tab{
    height:26px; padding:0 12px; border:0; margin:0;
    background:var(--crt-face-2); box-shadow:var(--bevel-out); color:#000;
    font-family:Tahoma,"Segoe UI",sans-serif; font-size:12px; cursor:pointer;
}
/* win7.css button chrome suppression (pseudo-element hover overlays + focus pulse). */
.tmpl-corrupted-desktop.tt-executive .tt-executive__tab::before,
.tmpl-corrupted-desktop.tt-executive .tt-executive__tab::after{ content:none; }
.tmpl-corrupted-desktop.tt-executive .tt-executive__tab:focus{ animation:none; }
.tmpl-corrupted-desktop.tt-executive .tt-executive__tab:hover{ box-shadow:var(--bevel-in); }
.tmpl-corrupted-desktop.tt-executive .tt-executive__tab.is-active{
    background:var(--crt-navy-1); color:#fff; box-shadow:var(--bevel-in);
}

/* ---------- 6. Lists: document rows and agency rows ------------------------ */
.tmpl-corrupted-desktop.tt-executive .tt-executive__list{
    display:flex; flex-direction:column; gap:var(--sp-2); padding-right:2px;
}
.tmpl-corrupted-desktop.tt-executive .tt-executive__list .instruction-primary{ margin:var(--sp-3) 0 var(--sp-2); }

.tmpl-corrupted-desktop.tt-executive .tt-agency,
.tmpl-corrupted-desktop.tt-executive .tt-doc{
    display:block; padding:var(--sp-2); color:#000; text-decoration:none;
    background:var(--crt-face); box-shadow:var(--bevel-out);
}
.tmpl-corrupted-desktop.tt-executive .tt-agency:hover,
.tmpl-corrupted-desktop.tt-executive .tt-doc:hover,
.tmpl-corrupted-desktop.tt-executive .tt-agency:focus-visible,
.tmpl-corrupted-desktop.tt-executive .tt-doc:focus-visible{
    box-shadow:var(--bevel-in); color:#000; text-decoration:none;
    background:var(--crt-face-2);
}
.tmpl-corrupted-desktop.tt-executive .tt-agency:focus-visible,
.tmpl-corrupted-desktop.tt-executive .tt-doc:focus-visible{
    outline:2px solid var(--crt-navy-2); outline-offset:1px;
}

/* Agency row: logo | name / short name */
.tmpl-corrupted-desktop.tt-executive .tt-agency{ display:flex; align-items:center; gap:var(--sp-2); }
.tmpl-corrupted-desktop.tt-executive .tt-agency__logo-wrap{
    flex:0 0 40px; width:40px; height:40px; display:flex; align-items:center; justify-content:center;
    background:#fff; box-shadow:var(--bevel-in); padding:2px;
}
.tmpl-corrupted-desktop.tt-executive .tt-agency__logo-wrap[hidden]{ display:none; }
.tmpl-corrupted-desktop.tt-executive .tt-agency__logo{ max-width:100%; max-height:100%; object-fit:contain; }
.tmpl-corrupted-desktop.tt-executive .tt-agency__body{ min-width:0; flex:1 1 auto; }
.tmpl-corrupted-desktop.tt-executive .tt-agency__name{
    font-size:14px; font-weight:700; line-height:1.25;
    overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
}
.tmpl-corrupted-desktop.tt-executive .tt-agency__meta{
    font-family:"VT323",monospace; font-size:15px; color:var(--crt-dark); margin-top:2px;
}

/* Document row: code · date ........ title / president · agencies */
.tmpl-corrupted-desktop.tt-executive .tt-doc__head{
    display:flex; justify-content:space-between; gap:var(--sp-2);
    font-family:"VT323",monospace; font-size:15px; color:var(--crt-navy-1); line-height:1.1;
}
.tmpl-corrupted-desktop.tt-executive .tt-doc__code{ font-weight:bold; letter-spacing:.5px; }
.tmpl-corrupted-desktop.tt-executive .tt-doc__date{ color:#0a7a2f; white-space:nowrap; }
.tmpl-corrupted-desktop.tt-executive .tt-doc__title{
    margin:3px 0 2px; font-size:14px; font-weight:700; line-height:1.25; color:#000;
}
.tmpl-corrupted-desktop.tt-executive .tt-doc__meta{
    font-family:"VT323",monospace; font-size:14px; color:var(--crt-dark); line-height:1.15;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* ---------- 6b. White House Twitter panel ----------------------------------
   Card base chrome comes from site.css (.twitter-card) and corrupted-desktop.css
   (.tmpl-corrupted-desktop .tt-twitter, vaporwave glass) and applies as-is; these are
   the small overrides the panel needs on top of that. */
.tmpl-corrupted-desktop.tt-executive .tt-twitter .title-bar-text svg{
    vertical-align:middle; /* title-bar bird icon - no inline style (CSP) */
}
.tmpl-corrupted-desktop.tt-executive .tt-twitter .twitter-card{
    margin-bottom:0; /* .tt-executive__list already supplies the gap between cards */
}
.tmpl-corrupted-desktop.tt-executive .tt-twitter .tt-empty{
    background:rgba(1,205,254,.06); box-shadow:none; border:1px solid rgba(1,205,254,.25);
    color:var(--vw-chrome);
}
.tmpl-corrupted-desktop.tt-executive .tt-twitter .tt-empty.is-error{ color:var(--vw-pink); }

/* ---------- 7. Empty / error states + Load more ---------------------------- */
.tmpl-corrupted-desktop.tt-executive .tt-empty{
    padding:var(--sp-4) var(--sp-3); text-align:center;
    font-family:"VT323",monospace; font-size:18px; color:var(--crt-dark);
    background:var(--crt-face-2); box-shadow:var(--bevel-in);
}
.tmpl-corrupted-desktop.tt-executive .tt-empty[hidden]{ display:none; }
.tmpl-corrupted-desktop.tt-executive .tt-empty.is-error{ color:var(--crt-error); }

.tmpl-corrupted-desktop.tt-executive .tt-executive__load-more{
    display:block; width:100%; margin-top:var(--sp-2);
    text-align:center; /* win7.css button chrome suppression also loses UA centering */
    background:var(--crt-face); box-shadow:var(--bevel-out); color:#000;
    font-family:"VT323",monospace; font-size:16px; cursor:pointer;
}
.tmpl-corrupted-desktop.tt-executive .tt-executive__load-more[hidden]{ display:none; }
.tmpl-corrupted-desktop.tt-executive .tt-executive__load-more::before,
.tmpl-corrupted-desktop.tt-executive .tt-executive__load-more::after{ content:none; }
.tmpl-corrupted-desktop.tt-executive .tt-executive__load-more:focus{ animation:none; }
.tmpl-corrupted-desktop.tt-executive .tt-executive__load-more:hover,
.tmpl-corrupted-desktop.tt-executive .tt-executive__load-more:focus-visible{ box-shadow:var(--bevel-in); background:var(--crt-face-2); }

/* ---------- 8. Ticker links ----------------------------------------------- */
.tmpl-corrupted-desktop.tt-executive .tt-taskbar .ticker_item:hover,
.tmpl-corrupted-desktop.tt-executive .tt-taskbar .ticker_item:focus{
    color:var(--vw-cyan) !important; text-shadow:var(--vw-glow-cyan); text-decoration:none;
}

/* ---------- 9. Small screens ---------------------------------------------- */
@media (max-width:575.98px){
    .tmpl-corrupted-desktop.tt-executive .tt-tally__board{ grid-template-columns:1fr; }
    .tmpl-corrupted-desktop.tt-executive .tt-hero{ height:auto; min-height:300px; }
    .tmpl-corrupted-desktop.tt-executive .tt-hero__body{ height:auto; }
}

/* ---------- 10. Document lookup ERROR modal --------------------------------- */
/* Successful lookups navigate to /Executive/Document; this dialog only ever shows a
   status line (not-found / unreachable). Lives OUTSIDE the .tmpl-corrupted-desktop
   wrapper (7.css :target dialog, z-999, default dark-on-light body), so the theme
   tokens are redeclared locally. */
.tt-doc-modal{
    --crt-face:#c0c0c0; --crt-face-2:#d4d0c8; --crt-shadow:#808080; --crt-dark:#404040;
    --crt-light:#dfdfdf; --crt-hilite:#fff; --crt-navy-1:#000080; --crt-navy-2:#1084d0;
    --crt-amber:#ffb000; --crt-error:#aa0000;
    --bevel-out:
        inset -1px -1px 0 var(--crt-dark),  inset  1px  1px 0 var(--crt-hilite),
        inset -2px -2px 0 var(--crt-shadow),inset  2px  2px 0 var(--crt-light);
    --bevel-in:
        inset  1px  1px 0 var(--crt-dark),  inset -1px -1px 0 var(--crt-hilite),
        inset  2px  2px 0 var(--crt-shadow),inset -2px -2px 0 var(--crt-light);
    --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px;
}
.tt-doc-modal #doc-detail-body{
    max-height:70vh; overflow-y:auto; color:#000;
}
.tt-doc-modal .tt-dm__status{
    padding:var(--sp-4) var(--sp-3); text-align:center;
    font-family:"VT323",monospace; font-size:18px; color:var(--crt-dark);
}
.tt-doc-modal .tt-dm__status.is-warning{ color:#7a4b00; }
.tt-doc-modal .tt-dm__status.is-error{ color:var(--crt-error); }
