/*
Theme Name: KDS Report Portal
Description: Minimal single-purpose theme for the KDS Sales & Marketing report portal. Pair with the KDS Reports plugin and the [kds_reports] shortcode.
Version: 1.0.0
Author: KDS
Requires PHP: 8.0
*/

:root {
	--navy: #1a2e45; --navy-2: #2c3e55; --blue: #2c5f8a; --gold: #c8a84b; --ink: #222; --mute: #646970;
	--line: #dfe4ea; --bg: #eef1f4; --card: #fff; --green: #27ae60; --red: #c0392b;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--bg); }
body { font: 15px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; color: var(--ink); }
a { color: var(--blue); }
.site-header { background: var(--navy); color: #fff; padding: 18px 0; }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; }
.brand .mark { width: 34px; height: 34px; border-radius: 6px; background: var(--gold); color: var(--navy); font-weight: 800; display: grid; place-items: center; letter-spacing: .5px; }
.brand .name { font-weight: 700; font-size: 17px; letter-spacing: .2px; }
.brand .sub { color: #a0b4c8; font-size: 12px; display: block; margin-top: -2px; }
.site-header nav a { color: #a0b4c8; text-decoration: none; margin-left: 18px; font-size: 13px; }
.site-header nav a:hover { color: #fff; }
.wrap { max-width: 1040px; margin: 0 auto; padding: 0 20px; }
.site-main { padding: 28px 0 48px; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 8px; padding: 26px 28px; box-shadow: 0 2px 10px rgba(26,46,69,.06); }
.card + .card { margin-top: 20px; }
.entry-title { margin: 0 0 6px; font-size: 24px; color: var(--navy); }
.entry-meta { color: var(--mute); font-size: 13px; margin-bottom: 18px; }
.entry-content > :first-child { margin-top: 0; }
.entry-content h2, .entry-content h3 { color: var(--navy); }

/* Password gate (WordPress's post-password form) */
.post-password-form { max-width: 420px; margin: 10px 0 0; }
.post-password-form p:first-child { color: var(--mute); margin-top: 0; }
.post-password-form label { display: block; font-weight: 600; margin-bottom: 6px; }
.post-password-form input[type="password"] { width: 100%; padding: 10px 12px; border: 1px solid #bbb; border-radius: 4px; font-size: 15px; }
.post-password-form input[type="submit"] { margin-top: 10px; background: var(--navy); color: #fff; border: 0; border-radius: 4px; padding: 10px 18px; font-weight: 600; cursor: pointer; }
.post-password-form input[type="submit"]:hover { background: var(--navy-2); }

/* Portal shortcode output (overrides the plugin's admin-ish defaults) */
.kds-portal .kds-picker { gap: 18px; margin: 4px 0 22px; }
.kds-portal fieldset { border: 1px solid var(--line); border-radius: 8px; background: #fafbfc; padding: 14px 16px; }
.kds-portal legend { font-size: 12px; text-transform: uppercase; letter-spacing: .6px; color: var(--mute); font-weight: 700; }
.kds-portal input[type="date"] { padding: 6px 8px; border: 1px solid #bbb; border-radius: 4px; font-size: 14px; }
.kds-portal .preset { background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 3px 10px; text-decoration: none; color: var(--blue); font-size: 12px; }
.kds-portal .preset:hover { border-color: var(--blue); }
.kds-portal .hint { font-size: 12px; }
.kds-portal ul.kds-links { list-style: none; margin: 0; padding: 0; }
.kds-portal ul.kds-links > li { display: flex; align-items: center; justify-content: space-between; padding: 11px 14px; border: 1px solid var(--line); border-radius: 6px; margin: 0 0 8px; background: #fff; }
.kds-portal ul.kds-links > li:hover { border-color: var(--blue); }
.kds-portal ul.kds-links > li > a:first-child { text-decoration: none; color: var(--navy); font-weight: 600; font-size: 15px; }
.kds-portal ul.kds-links > li > a:first-child strong { color: var(--navy); }
.kds-portal ul.kds-links .pdf { margin-left: 12px; text-decoration: none; background: var(--gold); color: var(--navy); font-weight: 700; padding: 5px 11px; border-radius: 4px; font-size: 12px; }
.kds-portal ul.kds-links .pdf:hover { background: #d9bb63; }
.kds-portal .kds-groups { gap: 20px; }
.kds-portal .kds-group { flex: 1; min-width: 300px; }
.kds-portal .kds-group h4 { margin: 10px 0 8px; font-size: 13px; text-transform: uppercase; letter-spacing: .6px; color: var(--mute); }

.site-footer { color: var(--mute); font-size: 12px; padding: 0 0 30px; }
@media (max-width: 640px) { .site-header nav { display: none; } .card { padding: 18px; } }
