/* OBEF Management System - official theme */
:root{--navy:#1F3864;--navy2:#2B4A7E;--gold:#C9A227;--gold2:#E3C45A;--bg:#F4F6FA;--ink:#1b2430;--muted:#5b6675;--line:#e2e7f0;--good:#1f9d57;--mid:#d99a16;--bad:#cf4b4b;}
*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--navy)}
.govbar{background:#16294a;color:#e6ecf6;font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;text-align:center;padding:7px 20px;border-bottom:2px solid var(--gold)}
.topbar{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;padding:16px 26px;display:flex;align-items:center;gap:16px;border-bottom:3px solid var(--gold)}
.topbar h1{font-family:Georgia,'Times New Roman',serif;font-size:19px;margin:0;font-weight:700;letter-spacing:.3px}
.topbar .sub{font-size:12px;opacity:.85;margin-top:3px}
.offnote{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--navy);background:var(--gold);border-radius:3px;padding:2px 8px;vertical-align:middle;margin-left:8px;font-family:'Segoe UI',Arial,sans-serif}
.userbox{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:13px}
.userbox .uname{font-weight:600}
.userbox .urole{font-size:11px;background:rgba(255,255,255,.15);padding:2px 9px;border-radius:20px;text-transform:capitalize}
.tabs{display:flex;gap:4px;flex-wrap:wrap;background:#fff;padding:10px 26px;border-bottom:1px solid var(--line)}
.tab{font-size:13px;padding:7px 14px;border-radius:6px;color:var(--muted);text-decoration:none;white-space:nowrap}
.tab:hover{background:#eef2f8}
.tab.active{background:var(--navy);color:#fff}
.tab.admin{color:var(--gold)}
.tab.admin.active{background:var(--gold);color:var(--navy)}
.container{max-width:1180px;margin:0 auto;padding:22px 26px}
h2.title{color:var(--navy);font-family:Georgia,serif;font-size:21px;margin:0 0 4px}
.lead{color:var(--muted);font-size:13px;margin:0 0 18px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.scard{background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:10px;padding:16px;text-decoration:none;color:inherit;display:block;transition:.15s}
.scard:hover{box-shadow:0 8px 22px rgba(31,56,100,.12);transform:translateY(-2px)}
.scard h3{margin:0 0 6px;color:var(--navy);font-size:15px}
.scard p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.5}
label{display:block;font-size:12px;color:var(--muted);font-weight:600;margin:12px 0 4px}
input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:6px;font-size:14px;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
.btn{display:inline-block;background:var(--navy);color:#fff;border:none;padding:9px 16px;border-radius:6px;font-size:13.5px;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--navy2)}
.btn.gold{background:var(--gold);color:var(--navy)}
.btn.ghost{background:rgba(255,255,255,.15);color:#fff}
.btn.danger{background:var(--bad)}
.btn.sm{padding:5px 10px;font-size:12px}
table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}
th{background:var(--navy);color:#fff;text-align:left;padding:10px 12px;border-bottom:2px solid var(--gold);font-size:12.5px;font-weight:600;vertical-align:middle;line-height:1.4}
td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:nth-child(even) td{background:#f7f9fc}
tr:hover td{background:#eef2f8;transition:background .1s}

/* KPI input tables */
.kpi-tbl{width:100%;border:1px solid var(--line);border-radius:8px;overflow:hidden;table-layout:fixed}
.kpi-tbl th:first-child{width:72px}
.kpi-tbl td:first-child{white-space:nowrap;font-weight:700;color:var(--navy);font-size:13px;text-align:center}
.kpi-tbl td{padding:8px 10px}
.kpi-tbl input[type=number]{width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:6px;font-size:13.5px;font-family:inherit;background:#fafbfd;transition:border-color .15s,box-shadow .15s;-moz-appearance:textfield}
.kpi-tbl input[type=number]::-webkit-outer-spin-button,
.kpi-tbl input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.kpi-tbl input[type=number]:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.15);background:#fff}
.kpi-tbl input[type=number]:disabled{background:#f0f2f5;color:var(--muted);cursor:not-allowed}
.kpi-tbl tr:last-child td{border-bottom:none}
.kpi-tbl tr:hover td{background:#f0f4fb}
.flash{padding:10px 14px;border-radius:6px;margin-bottom:14px;font-size:13.5px}
.flash.success{background:#e7f6ee;border:1px solid #a9dcc0;color:#176b41}
.flash.error{background:#fdecec;border:1px solid #f0b4b4;color:#a3302f}
.flash.info{background:#eaf1fb;border:1px solid #b9d0ee;color:#274c86}
.savetag{font-size:11px;margin-left:8px;color:var(--muted)}
.savetag.ok{color:var(--good)}
.savetag.err{color:var(--bad)}
.right{margin-left:auto}.flex{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pill{font-size:11px;padding:2px 9px;border-radius:20px;color:#fff}
.login-wrap{max-width:380px;margin:8vh auto;padding:0 16px}
.login-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:12px;padding:28px}
.appfoot{text-align:center;font-size:11px;color:var(--muted);padding:22px;border-top:2px solid var(--gold);margin-top:30px;line-height:1.7}
.appfoot .f1{font-weight:700;color:var(--navy);font-family:Georgia,serif;font-size:12.5px}
.muted{color:var(--muted)}.small{font-size:12px}
