/* Shared ISS components. Tokens are emitted by includes/theme-config.php. */
:root[data-iss-theme] {
    color-scheme: dark;
    --iss-bg-alt: var(--iss-surface);
    --iss-surface-light: var(--iss-bg-elevated);
    --iss-surface-2: var(--iss-bg-elevated);
    --iss-surface-3: var(--iss-surface-strong);
    --iss-bg-deep: var(--iss-deep);
    --iss-primary: var(--iss-accent);
    --iss-primary-dark: var(--iss-accent-hover);
    --iss-primary-hover: var(--iss-accent-hover);
    --iss-primary-light: var(--iss-accent-light);
    --iss-white: var(--iss-text);
    --iss-text-light: var(--iss-text);
    --iss-border-light: var(--iss-border);
    --iss-radius: var(--iss-radius-card);
    --iss-radius-sm: var(--iss-radius-control);
    --iss-radius-lg: var(--iss-radius-card);
    --iss-shadow: var(--iss-shadow-md);
    --iss-max-width: 1280px;
    --iss-container: 92%;
    --iss-container-mob: 94%;
    --iss-fast: 180ms ease;
    --iss-normal: 240ms ease;
    --transition: 240ms ease;
    --transition-fast: 180ms ease;
    --public-accent: var(--iss-accent);
    --public-text: var(--iss-text);
    --public-text-muted: var(--iss-text-muted);
    --public-font-sans: var(--iss-font-body);
    --public-font-serif: var(--iss-font-display);
    --font-body: var(--iss-font-body);
    --font-heading: var(--iss-font-display);
    background: var(--iss-bg);
}
body.iss-app {
    margin: 0;
    min-height: 100vh;
    background: radial-gradient(ellipse at 90% 0, var(--iss-accent-soft), transparent 36rem), var(--iss-bg);
    color: var(--iss-text);
    font-family: var(--iss-font-body);
    font-size: 1rem;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    overflow-wrap: break-word;
}
.iss-app *, .iss-app *::before, .iss-app *::after { box-sizing: border-box; }
.iss-app :is(button, input, select, textarea) { font-family: var(--iss-font-body); }
.iss-app :is(button, a, input, select, textarea, summary):focus-visible { outline: 3px solid var(--iss-accent-light); outline-offset: 3px; }
.iss-app :is(.tech-mono, .font-mono) { font-family: var(--iss-font-mono); }
.iss-app img { max-width: 100%; }
.iss-app main { min-width: 0; }
.iss-app main > :is(.max-w-7xl, .max-w-6xl, .max-w-5xl, .max-w-4xl) { width: 100%; }
.iss-app.iss-staff main { padding: clamp(1rem, 2.5vw, 2.5rem); }
.iss-app.iss-staff main > :is(.max-w-7xl, .max-w-6xl, .max-w-5xl, .max-w-4xl) { margin-inline: auto; }
.iss-app.iss-public :is(h1, h2, h3), .iss-app.iss-client :is(h1, h2, h3), .iss-app.iss-auth :is(h1, h2, h3), .iss-app.iss-statement :is(h1, h2, h3) { font-family: var(--iss-font-display); }
.iss-app :is(.home-card, .home-hero-panel, .portal-panel, .portal-panel-dark, .portal-filter-shell, .portal-table-shell, .portal-empty-state, .card-premium, .iss-panel) {
    background: var(--iss-surface);
    border: 1px solid var(--iss-border);
    border-radius: var(--iss-radius-card);
    box-shadow: var(--iss-shadow-md);
}
.iss-app :is(.home-kicker, .home-panel-label, .text-primary) { color: var(--iss-accent); }
.iss-app :is(.home-card-text, .home-section-copy, .home-panel-copy) { color: var(--iss-text-muted); }
.iss-app :is(.home-pill, .portal-chip, .portal-chip-active) { border-radius: 999px; }
.iss-app :is(.home-button, .btn-primary, .btn-secondary, .iss-primary-button, .inventory-btn, .brief-btn, .time-btn, .portal-chip) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 44px;
    padding: .75rem 1.2rem;
    border-radius: var(--iss-radius-control);
    font-family: var(--iss-font-body);
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    clip-path: none;
    transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.iss-app :is(.home-button--primary, .btn-primary, .iss-primary-button), .iss-app :is(a, button).bg-primary {
    background: var(--iss-accent);
    border-color: transparent;
    color: var(--iss-on-accent) !important;
    box-shadow: var(--iss-shadow-sm);
}
.iss-app :is(.home-button--primary, .btn-primary, .iss-primary-button):hover { background: var(--iss-accent-hover); color: var(--iss-on-accent); transform: none; }
.iss-app :is(.home-button--ghost, .home-button--secondary, .btn-secondary, .inventory-btn, .brief-btn) { border: 1px solid var(--iss-border-strong); color: var(--iss-text); background: transparent; box-shadow: none; }
.iss-app :is(.home-button--ghost, .home-button--secondary, .btn-secondary):hover { border-color: var(--iss-accent); background: var(--iss-accent-soft); transform: none; }
.iss-app :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="color"]), select, textarea) {
    background-color: var(--iss-deep) !important;
    color: var(--iss-text) !important;
    border: 1px solid var(--iss-border) !important;
    border-radius: var(--iss-radius-control) !important;
    min-height: 44px;
    line-height: 1.5;
    color-scheme: dark;
}
.iss-app :is(input, textarea)::placeholder { color: var(--iss-text-soft) !important; opacity: 1; }
.iss-app :is(input, textarea, select):focus { border-color: var(--iss-accent) !important; }
.iss-app :is(input[type="checkbox"], input[type="radio"], input[type="range"]) { accent-color: var(--iss-accent); }
.iss-app input[type="file"] { max-width: 100%; color: var(--iss-text-muted); }
.iss-app button:disabled, .iss-app input:disabled, .iss-app select:disabled { opacity: .6; cursor: not-allowed; }
.iss-app [hidden] { display: none !important; }
.iss-app.iss-client main :is(.text-secondary, .text-slate-900, .text-slate-800, .text-slate-700) { color: var(--iss-text) !important; }
.iss-app.iss-client main :is(.bg-white, .bg-slate-50, .bg-gray-50) { background-color: var(--iss-surface) !important; }
.iss-app.iss-client main .text-emerald-700 { color: var(--iss-success) !important; }
.iss-app.iss-client main .text-blue-700 { color: var(--iss-info) !important; }
.iss-app.iss-client main :is(.text-orange-700, .text-amber-700) { color: var(--iss-warning) !important; }
.iss-app.iss-client main .text-violet-700 { color: #c4b5fd !important; }
.iss-app :is(.portal-page-header, .iss-page-header) { border-left-color: var(--iss-accent); }
.iss-app :is(.portal-page-header p, .text-slate-500) { color: var(--iss-text-muted); }
.iss-app .iss-site-footer { background: var(--iss-deep); border-top-color: var(--iss-border); }
.iss-app.iss-auth .form-container > div { background: var(--iss-surface); border-color: var(--iss-border); border-radius: var(--iss-radius-card); box-shadow: var(--iss-shadow-lg); }
.iss-app.iss-auth :is(.text-blue-400, .text-blue-300) { color: var(--iss-accent); }
.iss-standalone-nav { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding: 1rem max(4%, calc((100vw - 1280px) / 2)); background: var(--iss-deep); border-bottom: 1px solid var(--iss-border); }
.iss-standalone-nav a { color: var(--iss-text); text-decoration: none; }
.iss-standalone-nav img { width: 40px; height: 40px; object-fit: contain; }
.iss-standalone-nav .iss-brand { display: inline-flex; align-items: center; gap: .75rem; font-weight: 700; }
.iss-app.iss-statement { --navy: var(--iss-bg); --navy2: var(--iss-bg-elevated); --gold: var(--iss-accent); --gold2: var(--iss-accent-light); --light: var(--iss-bg); --text: var(--iss-text); --muted: var(--iss-text-muted); --primary-blue: var(--iss-text); --accent-gold: var(--iss-accent); --text-grey: var(--iss-text-muted); --off-white: var(--iss-surface); }
.iss-app.iss-statement :is(.panel, .card, .container, .author-card, .evidence-wrapper, .analysis-box) { background: var(--iss-surface); border-color: var(--iss-border); color: var(--iss-text); border-radius: var(--iss-radius-card); }
.iss-app.iss-statement :is(.container, .panel) { max-width: 1180px; }
.iss-app.iss-statement header { background: var(--iss-bg); border-color: var(--iss-accent); }
.iss-app.iss-statement :is(h2, h3, .title, .author-info h3) { color: var(--iss-text); }
.iss-app.iss-statement :is(table th, table td) { background: var(--iss-surface); color: var(--iss-text); border-color: var(--iss-border); }
.iss-app.iss-statement :is(.btn, .primary) { background: var(--iss-accent); color: var(--iss-on-accent); border-radius: var(--iss-radius-control); }
.iss-app.iss-statement .badge-success { color: var(--iss-success); border-color: var(--iss-success); }
.iss-app.iss-statement .statement { background: var(--iss-bg-elevated); border-color: var(--iss-accent); color: var(--iss-text); }
.iss-app.iss-statement .list strong { color: var(--iss-text); }
.iss-app.iss-statement .notice.red { background: rgba(239,68,68,.1); border-color: rgba(239,68,68,.35); color: var(--iss-danger); }
.iss-app.iss-statement .notice.green { background: rgba(16,185,129,.1); border-color: rgba(16,185,129,.35); color: var(--iss-success); }
.iss-app.iss-statement .header-logo { margin-inline: auto; }
@media (max-width: 767px) {
    .iss-app.iss-staff main, .iss-app.iss-client main { padding: 1rem; }
    .iss-app.iss-staff > .md\:ml-64 { width: 100%; }
    .iss-app :is(.home-hero-actions, .iss-actions) { flex-wrap: wrap; }
}
@media print {
    :root[data-iss-theme] { color-scheme: light; }
    body.iss-app { background: #fff !important; color: #000 !important; }
    .iss-app :is(.iss-standalone-nav, .iss-site-footer) { display: none !important; }
    .iss-app :is(.portal-panel, .portal-panel-dark, .card-premium, .iss-panel) { background: #fff !important; color: #000 !important; box-shadow: none; }
    .iss-app :where(input:not([type="hidden"]), select, textarea) { background: #fff !important; color: #000 !important; color-scheme: light; }
}
