:root{--navy:#10283c;--navy2:#173b58;--ink:#17212b;--muted:#667085;--line:#d9e0e7;--page:#f3f5f7;--green:#1f6b43;--red:#922;--amber:#805500}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font:14px/1.45 Arial,sans-serif}a{color:#275d8a}.app-header{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--navy);color:#fff;padding:20px max(20px,calc((100vw - 1180px)/2))}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:54px;height:54px;border:2px solid rgba(255,255,255,.6);border-radius:10px;font-weight:bold;font-size:13px}.brand div{display:flex;flex-direction:column}.brand small,.account small{opacity:.7}.brand strong{font-size:18px}.account{display:flex;align-items:center;gap:10px}.account a{color:#fff}.nav{display:flex;gap:18px;padding:12px max(20px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid var(--line);overflow:auto}.nav a{text-decoration:none;font-weight:bold;white-space:nowrap}.shell{max-width:1180px;margin:24px auto;padding:0 18px}.footer{max-width:1180px;margin:30px auto;padding:18px;color:var(--muted);font-size:12px}.panel,.record-hero{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 15px rgba(16,40,60,.05);margin-bottom:22px}.panel-head,.form-summary{padding:19px 21px;border-bottom:1px solid var(--line)}.panel-head h2,.form-summary h2{margin:0 0 4px}.panel-head p,.form-summary p{margin:0;color:var(--muted)}.split{display:flex;justify-content:space-between;align-items:center;gap:20px}.metric-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:22px}.metric-card{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px;text-decoration:none;color:var(--ink)}.metric-card span{color:var(--muted);font-size:12px}.metric-card strong{font-size:24px}.button{display:inline-block;padding:9px 13px;border:1px solid #aeb8c3;border-radius:7px;background:#fff;color:var(--ink);text-decoration:none;font-weight:bold;font-size:13px;cursor:pointer}.button.primary{background:var(--navy2);border-color:var(--navy2);color:#fff}.button.ghost{background:transparent}.button.full{width:100%;text-align:center}.alert{padding:13px 15px;border-radius:8px;margin-bottom:16px;border:1px solid}.alert.success{background:#e4f3e9;border-color:#a9d1b7;color:#174f31}.alert.error{background:#f8e5e5;border-color:#e2aaaa;color:#7f1e1e}.alert.info{background:#e8f0f7;border-color:#b8cadd;color:#264e70}.filter-bar{display:flex;gap:10px;padding:14px 21px;border-bottom:1px solid var(--line)}.filter-bar input{flex:1}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #b8c1cb;border-radius:7px;background:#fff;color:var(--ink);font:inherit}textarea{resize:vertical}label{font-size:13px;font-weight:bold}label input,label select,label textarea{margin-top:5px;font-weight:normal}label small{display:block;color:var(--muted);margin-top:4px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{text-transform:uppercase;letter-spacing:.06em;font-size:10px;color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:30px}.muted{color:var(--muted);font-size:12px}.badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#e9edf2;font-size:11px;font-weight:bold}.status-approved{background:#dcefe4;color:#155b34}.status-conditional{background:#fff0c2;color:#765000}.status-returned{background:#f6dddd;color:#861f1f}.status-pending_approval,.status-pending{background:#e2ecf7;color:#244f78}.status-draft,.status-not_required{background:#ececec;color:#555}.form-panel fieldset{border:0;border-top:1px solid var(--line);margin:0;padding:20px 21px}.form-panel legend{font-size:17px;font-weight:bold;padding-right:10px}.grid{display:grid;gap:15px}.grid.two{grid-template-columns:1fr 1fr}.grid.compact{gap:10px}.wide{grid-column:1/-1}.check-list{display:grid;gap:9px;align-content:start;padding-top:25px}.check{display:flex;gap:9px;align-items:flex-start;font-weight:normal}.check input{width:auto;margin-top:3px}.form-actions{display:flex;gap:10px;padding:18px 21px;border-top:1px solid var(--line)}.form-actions.no-border{padding:0;border:0}.page-actions{display:flex;gap:9px;margin-bottom:13px}.record-hero{display:flex;justify-content:space-between;gap:24px;padding:23px}.record-hero h1{margin:4px 0 8px}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:bold;color:var(--muted)}.status-stack{display:flex;gap:8px;align-items:flex-start}.approval-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;padding:19px}.approval-card{border:1px solid var(--line);border-radius:10px;padding:15px}.approval-card.current{border:2px solid var(--navy2)}.approval-card h3{font-size:14px;min-height:40px}.step{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:bold}.approval-card dl{font-size:12px}.approval-card dt{color:var(--muted);font-weight:bold}.approval-card dd{margin:0 0 7px}.note{padding:9px;background:#fff8df;border:1px solid #ead69e;border-radius:6px;font-size:12px;margin:10px 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding:8px 21px 20px}.detail-item{padding:11px 0;border-bottom:1px solid var(--line)}.detail-item dt{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:bold}.detail-item dd{margin:4px 0 0}.timeline{padding:6px 21px 18px}.timeline-row{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line)}.timeline-row div{display:flex;flex-direction:column}.timeline-row span,.timeline-row time{color:var(--muted);font-size:12px}.narrow{max-width:760px;margin-left:auto;margin-right:auto}.review-box{padding:18px 21px;background:#f7f9fb;border-bottom:1px solid var(--line)}.form-stack{display:grid;gap:15px}.padded{padding:20px 21px}.acknowledgment{background:#edf3f7;padding:12px;border-radius:8px}.user-create{display:grid;grid-template-columns:1.1fr 1.2fr 1fr 1.3fr auto;gap:10px;padding:15px 21px;border-bottom:1px solid var(--line)}.login-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#10283c,#254a68)}.login-card{width:min(520px,100%);background:#fff;border-radius:14px;padding:28px;box-shadow:0 18px 50px rgba(0,0,0,.25)}.wide-card{width:min(760px,100%)}.login-card .brand{margin-bottom:24px}.login-card .brand-mark{background:var(--navy);color:#fff;border:0}.login-card h1{margin-top:0}.login-card hr{border:0;border-top:1px solid var(--line);margin:5px 0}@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(3,1fr)}.approval-grid{grid-template-columns:1fr 1fr}.user-create{grid-template-columns:1fr 1fr}}@media(max-width:700px){.app-header,.record-hero,.split{flex-direction:column;align-items:flex-start}.account{flex-wrap:wrap}.grid.two,.detail-grid{grid-template-columns:1fr}.wide{grid-column:auto}.metric-grid{grid-template-columns:1fr 1fr}.filter-bar,.form-actions,.page-actions{flex-direction:column}.approval-grid,.user-create{grid-template-columns:1fr}.shell{padding:0 10px}}

/* v1.1 package, branding, and record-management additions */
.brand-logo,.login-logo{width:58px;height:58px;object-fit:contain;display:block;flex:0 0 auto}
.login-logo{width:72px;height:72px}
.login-brand{margin-bottom:24px}
.inline-form{display:inline-flex;margin:0}
.button.danger{background:#982727;border-color:#982727;color:#fff}
.link-danger{border:0;background:transparent;color:#982727;text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.package-upload{display:grid;grid-template-columns:220px minmax(260px,1fr) auto;gap:12px;align-items:end;padding:16px 21px;border-bottom:1px solid var(--line)}
.package-upload .muted{grid-column:1/-1}
.hash-text{display:block;max-width:240px;white-space:normal;overflow-wrap:anywhere;font-size:10px;background:#eef1f4;padding:5px;border-radius:5px}
.branding-panel{display:grid;gap:18px;padding:22px}
.branding-preview{width:min(220px,100%);height:180px;object-fit:contain;border:1px solid var(--line);border-radius:10px;padding:12px;background:#f8fafb}
.brand-placeholder{display:grid;place-items:center;width:min(220px,100%);height:150px;border:1px dashed #aeb8c3;border-radius:10px;color:var(--muted)}
.trash-actions,.trash-delete{display:flex;gap:8px;align-items:center;margin:4px 0}
.trash-delete input{min-width:220px}
@media(max-width:800px){.package-upload{grid-template-columns:1fr}.trash-delete{align-items:stretch;flex-direction:column}.trash-delete input{min-width:0}}
