/* Canopy Watch — tenant theming.
   The shell ships its own CSS at /static/shell/app_shell.css; we layer
   tenant accent + page styles on top. */

/* === Canopy Watch sector accent (sidebar brand zone) === */
.app-sidebar-brand.sector-canopywatch  { --sector-accent: #2a5f3f; background: #2a5f3f; }
.app-sidebar[data-brand="sector-canopywatch"]  { --sector-accent: #2a5f3f; }

/* === Base page typography === */
:root {
    --text: #1a1a1a;
    --muted: #5b6168;
    --accent: #2a5f3f;
    --accent-soft: #e9efe9;
    --border: #d8d4cb;
    --bg: #fafaf7;
    --table-stripe: #f4f1ea;
}
body {
    margin: 0;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--text);
    background: var(--bg);
}
.page, .bulletin {
    max-width: 760px;
    margin: 0 auto;
    padding: 40px 32px 80px;
    line-height: 1.6;
}
.bulletin-header h1 { margin-bottom: 0.2em; }
.bulletin-body { font-family: 'Charter', Georgia, serif; font-size: 17px; }
.bulletin-body h2 { color: var(--accent); margin-top: 1.8em; border-bottom: 1px solid var(--border); padding-bottom: 0.2em; }
.bulletin-body h3 { color: #1f4530; }
.muted { color: var(--muted); }
.small { font-size: 0.9em; }
a { color: var(--accent); }

/* === Tables === */
.data-table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.2em 0;
    font-size: 0.94em;
}
.data-table th, .data-table td {
    border: 1px solid var(--border);
    padding: 6px 10px;
    text-align: left;
    vertical-align: top;
}
.data-table th {
    background: var(--accent-soft);
    color: var(--accent);
    font-weight: 600;
}
.data-table tbody tr:nth-child(even) { background: var(--table-stripe); }

/* === Country pills (from intel-core highlighter) === */
.country-pill.priority-origin { background: #2a5f3f; color: #fff; padding: 1px 6px; border-radius: 3px; font-size: 0.9em; }
.country-pill.focus-region { background: #b5c6b3; color: #1a1a1a; padding: 1px 6px; border-radius: 3px; font-size: 0.9em; }
.country-pill.adjacent { background: #e1e0d8; color: #5b6168; padding: 1px 6px; border-radius: 3px; font-size: 0.9em; }
.country { background: var(--accent-soft); padding: 1px 4px; border-radius: 2px; }

/* === Auth page === */
.auth-page { display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 24px; }
.auth-card {
    max-width: 380px;
    width: 100%;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 32px 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.auth-card h1 { color: var(--accent); margin-top: 0; }
.auth-card label { display: block; font-size: 0.92em; color: var(--muted); margin-top: 1em; }
.auth-card input[type=email] {
    width: 100%;
    margin-top: 6px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 3px;
    font-size: 1em;
    font-family: inherit;
    box-sizing: border-box;
}
.auth-card button {
    margin-top: 1.4em;
    width: 100%;
    padding: 10px 16px;
    background: var(--accent);
    color: #fff;
    border: none;
    border-radius: 3px;
    font-size: 1em;
    font-family: inherit;
    cursor: pointer;
}
.auth-card button:hover { background: #173a25; }

/* === Bulletin list === */
.bulletin-list { padding-left: 1.2em; }
.bulletin-list li { margin: 0.5em 0; }
