/*
Theme Name: Swiss Security & Trust Portal
Theme URI: https://example.com/
Author: Swiss Security & Trust
Description: Front-end portal theme for the Swiss Security & Trust banking display system.
Version: 1.0.0
Text Domain: swiss-security-trust-portal
*/

:root { --ink:#10263d; --navy:#061b31; --blue:#0d5b92; --gold:#c5a35a; --mist:#f3f7fa; --line:#dce5ec; --white:#fff; --danger:#9f2433; }
* { box-sizing:border-box; }
body { margin:0; background:var(--mist); color:var(--ink); font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--blue); }
.site-header { background:var(--navy); color:#fff; border-bottom:3px solid var(--gold); }
.nav-wrap { max-width:1180px; margin:auto; min-height:76px; padding:0 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { color:#fff; text-decoration:none; font-family:Georgia,serif; font-size:1.25rem; letter-spacing:.025em; display:flex; align-items:center; gap:12px; }
.brand-logo { width:132px; height:48px; object-fit:cover; object-position:center; border:1px solid rgba(255,255,255,.18); }
.brand-text { display:block; }
.brand small { display:block; color:#d9c48b; font:600 .64rem/1.2 sans-serif; letter-spacing:.18em; text-transform:uppercase; margin-top:3px; }
.site-nav { display:flex; align-items:center; gap:18px; }.site-nav a { color:#fff; text-decoration:none; font-size:.9rem; }.site-nav .logout { color:#f0d999; }
.site-main { min-height:calc(100vh - 150px); }
.site-footer { max-width:1180px; padding:20px 24px; margin:auto; color:#5b6c7a; font-size:.82rem; }
.auth-shell { max-width:470px; margin:64px auto; padding:0 22px; }.auth-card,.card { background:#fff; border:1px solid var(--line); box-shadow:0 8px 26px rgba(16,38,61,.06); }
.auth-card { padding:34px; border-radius:5px; }.eyebrow { color:var(--blue); font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.auth-card h1 { font:2rem/1.15 Georgia,serif; margin:8px 0 10px; }.muted { color:#617180; }
.form-row { margin:17px 0; }.form-row label { display:block; margin-bottom:6px; font-size:.88rem; font-weight:650; }.form-row input,.form-row select,.form-row textarea,.search-input { width:100%; padding:11px 12px; border:1px solid #b9c7d2; border-radius:3px; color:var(--ink); background:#fff; font:inherit; }.form-row input:focus,.form-row select:focus,.search-input:focus { outline:3px solid #c9e0ef; border-color:var(--blue); }.two-col { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.button { display:inline-block; border:0; background:var(--blue); color:#fff; padding:12px 17px; border-radius:3px; font-weight:700; text-decoration:none; cursor:pointer; font:inherit; }.button:hover { background:#084b7c; }.button-secondary { background:#edf3f7; color:var(--ink); }.notice { padding:12px 14px; border-radius:3px; margin:15px 0; }.notice.error { background:#f9e8eb;color:#751c2a; }.notice.success { background:#e9f4ec;color:#1d6240; }.honeypot { position:absolute!important; left:-9999px!important; }
.portal-wrap { max-width:1180px; padding:38px 24px; margin:auto; }.page-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:28px; }.page-heading h1 { font:2rem/1.15 Georgia,serif; margin:4px 0; }.meta { font-size:.86rem; color:#617180; }
.summary-grid { display:grid; grid-template-columns:1.15fr .85fr .85fr; gap:18px; margin-bottom:26px; }.card { padding:22px; border-radius:4px; }.summary-balance { background:var(--navy); border-top:3px solid var(--gold); color:#fff; }.summary-balance .label { color:#c6d5df; font-size:.82rem; }.balance { display:block; font:2rem Georgia,serif; margin:8px 0; }.card h2 { margin:0 0 16px; font:1.22rem Georgia,serif; }.stat { font-size:1.35rem; font-weight:700; display:block; }.dashboard-grid { display:grid; grid-template-columns:1.55fr .8fr; gap:20px; }.table-wrap { overflow:auto; }.data-table { width:100%; border-collapse:collapse; font-size:.9rem; }.data-table th { color:#596d7d; text-align:left; text-transform:uppercase; letter-spacing:.06em; font-size:.68rem; }.data-table td,.data-table th { padding:12px 7px; border-bottom:1px solid var(--line); }.amount.credit { color:#197047; }.amount.debit { color:#8c2937; }.badge { display:inline-block; padding:3px 8px; background:#eef4f7; border-radius:20px; color:#35566d; font-size:.74rem; }.admin-toolbar { display:flex; gap:12px; align-items:center; margin-bottom:16px; }.admin-toolbar .search-input { max-width:380px; }.customer-list button { border:0; background:none; color:var(--blue); padding:0; cursor:pointer; text-align:left; font:inherit; }.customer-list tr.active { background:#eef6fa; }.detail-box { min-height:300px; }.annotation { border-top:1px solid var(--line); margin-top:17px; padding-top:17px; }.security-note { margin-top:24px; padding:14px 16px; border-left:3px solid var(--gold); background:#fffaf0; color:#5d4a1f; font-size:.87rem; }
@media(max-width:760px) { .summary-grid,.dashboard-grid { grid-template-columns:1fr; }.two-col { grid-template-columns:1fr; }.page-heading { align-items:start; flex-direction:column; }.site-nav { gap:10px; }.nav-wrap { padding:12px 16px; }.portal-wrap { padding:27px 16px; } }
