:root{--navy:#1f2d3d;--blue:#2271b1;--bg:#f3f4f6;--line:#dcdfe4}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 system-ui,Segoe UI,Roboto,Arial,sans-serif;color:#1a1a1a;background:var(--bg)}
.topbar{display:flex;align-items:center;gap:1rem;background:var(--navy);color:#fff;padding:.6rem 1rem}
.topbar nav{display:flex;gap:.8rem}
.topbar a{color:#cfe3ff;text-decoration:none}.topbar a:hover{color:#fff}
.topbar .spacer{flex:1}.topbar .user{opacity:.8;font-size:.9em}
.wrap{max-width:1100px;margin:1.4rem auto;padding:0 1rem}
h1{font-size:1.5rem;margin:.2rem 0 1rem}
h2{font-size:1.15rem;margin:1.4rem 0 .6rem}h2 small{font-weight:400;color:#777;margin-left:.4rem}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.1rem;margin-bottom:1.2rem;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.form label{display:block;margin:.5rem 0;font-weight:600;font-size:.92em}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:.25rem;padding:.5rem;border:1px solid var(--line);border-radius:7px;font:inherit;font-weight:400}
.form .row{display:flex;gap:.8rem}.form .row label{flex:1}
.form .check{font-weight:600}.form .check input{display:inline;width:auto;margin-right:.4rem}
fieldset{border:1px solid var(--line);border-radius:8px;margin:.6rem 0;padding:.6rem}
.btn{display:inline-block;padding:.5rem .9rem;border:1px solid var(--line);border-radius:7px;background:#fff;color:#222;text-decoration:none;cursor:pointer;font:inherit}
.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}
.btn-ghost{background:transparent}.btn-small{padding:.28rem .55rem;font-size:.85em}
.grid{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.grid th,.grid td{padding:.5rem .6rem;border-bottom:1px solid var(--line);text-align:left;font-size:.92em}
.grid thead th{background:#f7f8fa}.grid tfoot th{background:#f7f8fa;border-top:2px solid var(--line)}
.cols{display:flex;gap:1.2rem;flex-wrap:wrap}
.col-form{flex:1 1 320px;max-width:420px}.col-list{flex:2 1 480px}
.flash{padding:.6rem .9rem;border-radius:8px;margin-bottom:1rem}
.flash-ok{background:#e6f4ea;border:1px solid #b7e1c4}
.flash-err{background:#fdecec;border:1px solid #f4c7c7}
.flash-warn{background:#fff6e5;border:1px solid #f0d9a6}
.badge{padding:.1rem .5rem;border-radius:20px;font-size:.8em}
.badge-submitted{background:#fff6e5}.badge-approved{background:#e6f4ea}.badge-rejected{background:#fdecec}
.muted{color:#999}.inline{display:inline}.actions .btn{margin-right:.2rem}
em{color:#999;font-style:normal}
