@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@500;600;700;800&display=swap');
:root{--blue:#142B82;--orange:#F58C17;--ink:#151a2b;--muted:#626c7d;--line:#e3e7ef;--bg:#f6f8fc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 'DM Sans',sans-serif;min-height:100vh}h1,h2,h3,.brand{font-family:Outfit,sans-serif;line-height:1.2}h1{font-size:clamp(1.7rem,3vw,2.5rem);margin:4px 0 22px}h2{font-size:1.3rem}a{color:var(--blue);text-decoration:none}.wrap{width:min(1200px,calc(100% - 32px));margin:auto}.top{background:#101f65;color:white;box-shadow:0 6px 22px #101f6526}.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;flex-wrap:wrap}.brand{color:white;display:flex;flex-direction:column}.brand strong{font-size:1.3rem}.brand span{color:var(--orange)}.brand small{font:11px 'DM Sans';opacity:.8}.nav nav{display:flex;gap:16px;flex-wrap:wrap}.nav nav a{color:white;font-weight:600}.heading{padding:34px 0 6px}.eyebrow{color:var(--orange);font-weight:800;letter-spacing:2px;font-size:11px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 6px 28px #17275d0a;transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:0 12px 34px #17275d14}.stat{font:800 2rem Outfit;color:var(--blue)}.muted{color:var(--muted)}.btn,button{display:inline-flex;justify-content:center;align-items:center;gap:6px;border:0;background:var(--blue);color:white;border-radius:10px;padding:11px 18px;font:700 14px 'DM Sans';cursor:pointer;transition:background .2s,transform .2s}.btn:hover,button:hover{background:#3049a8;color:white;transform:translateY(-1px)}.btn.orange{background:var(--orange);color:#201400}.btn.danger,button.danger{background:#b52c3e}.btn.light{background:#e8ecf9;color:var(--blue)}label{display:block;font-weight:700;margin:12px 0 5px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cbd3e1;border-radius:10px;background:white;font:16px 'DM Sans';color:var(--ink)}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #f58c1780;border-color:var(--orange)}.actions{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0}.notice{background:#e7f6ed;border-left:4px solid #29945d;padding:12px 18px;border-radius:8px;margin:12px 0}.warning{background:#fff4dd;padding:14px;border-radius:9px}.error{background:#ffe9ec;padding:12px;border-radius:9px}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:white}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#eef1fa;font-size:13px}fieldset{border:1px solid var(--line);border-radius:12px;margin:15px 0;padding:16px}legend{font-weight:700;color:var(--blue)}.pill{display:inline-block;padding:3px 10px;border-radius:30px;background:#eef1fa;color:var(--blue);font-size:12px;font-weight:700}.foot{margin:50px 0 0;background:#101526;color:#c5cbda;padding:26px 0;font-size:13px}.login{max-width:550px;margin:auto}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stack>*+*{margin-top:12px}.report{background:white;padding:30px;border-radius:14px}.report h2{border-bottom:2px solid var(--orange);padding-bottom:8px}.report p{white-space:pre-wrap}.report table{font-size:14px}@media(max-width:640px){.two{grid-template-columns:1fr}.card{padding:17px}.nav nav{gap:10px}.btn,button{min-height:43px}.heading{padding-top:22px}}@media print{.top,.foot,.actions,.no-print{display:none!important}body{background:white}.wrap{width:100%}.report{padding:0}.heading{padding:0}}

.repeat-table {min-width:760px}.repeat-table td input {min-width:130px;margin:0}.repeat-table td {padding:6px}.repeat-table .danger {min-width:40px}.add-row {margin-top:12px}.report .tablewrap {overflow-x:auto}@media print {.repeat-table {min-width:0} .report table {font-size:10px}}

/* Customer-first entry screen */
.customer-entry {min-height: min(66vh,650px);display:flex;align-items:center;justify-content:center;padding:18px 0 45px}
.customer-login {width:min(100%,560px);padding:clamp(22px,4vw,44px)}
.customer-login h2 {font-size:clamp(1.5rem,3vw,2rem);color:var(--blue)}
.customer-login .eyebrow {margin-bottom:8px}
.customer-login button {min-height:50px;font-size:16px}
@media(max-width:640px){.customer-entry{align-items:flex-start;min-height:unset;padding-top:8px}.customer-login{padding:22px}}

/* Compact login screens */
.login-simple,.customer-login {max-width:460px;margin:clamp(28px,7vh,72px) auto;padding:clamp(22px,4vw,36px)}
.login-simple h2,.customer-login h2 {font-size:clamp(1.6rem,3vw,2rem);margin:0 0 8px}
.login-simple p,.customer-login p {margin-bottom:18px}
.login-simple .actions,.customer-login .actions {margin-top:24px}
.login-simple button,.customer-login button {min-height:48px}
.login-back {display:inline-block;margin-top:8px;font-size:14px}
.top .brand small:empty {display:none}
body {display:flex;flex-direction:column}main.wrap {flex:1}.foot {margin-top:36px}
@media(max-width:640px){.login-simple,.customer-login{margin:24px auto;padding:22px}.top .nav{gap:10px}}
