:root{--navy:#0d4478;--navy-deep:#082f58;--blue:#2d79c7;--blue-bright:#3c8ddd;--blue-soft:#eaf3fc;--blue-pale:#f5f9fe;--ink:#18334e;--muted:#6d7f92;--line:#d8e5f2;--paper:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:linear-gradient(#f5f9fe 0,#edf4fb 100%);margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;height:84px;padding:0 clamp(22px,5vw,72px);display:flex;box-shadow:0 4px 22px #1547740f}.app-name{color:var(--navy);letter-spacing:.08em;text-transform:uppercase;font-size:16px;font-weight:800;text-decoration:none}.header-logo-crop{width:224px;height:72px;position:relative;overflow:hidden}.header-logo-crop img{width:224px;max-width:none;height:224px;position:absolute;top:-72px;right:0}.workspace{max-width:1380px;margin:0 auto;padding:36px clamp(20px,5vw,68px) 72px}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.page-heading h1{color:var(--navy-deep);letter-spacing:-.035em;margin:0 0 5px;font-size:clamp(28px,3vw,40px)}.page-heading span{color:var(--muted);font-size:13px}.page-heading>strong{color:var(--navy);border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 17px;font-size:20px;box-shadow:0 7px 22px #164d7e0f}.content-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:22px;display:grid}.editor-card,.summary-card{background:var(--paper);border:1px solid var(--line);box-shadow:0 16px 46px #15477414}.editor-card{border-radius:20px;padding:clamp(24px,3vw,38px)}.summary-card{border-radius:18px;position:sticky;top:24px;overflow:hidden}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-bottom:17px;display:flex}.section-heading h2{color:var(--navy-deep);letter-spacing:-.02em;margin:0;font-size:21px}.expenses-heading{margin-top:5px}.expenses-heading strong{color:var(--blue);font-size:20px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:21px 0 34px;display:grid}.field-wide{grid-column:span 2}.field{gap:7px;display:grid}.field>span{color:#50677f;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.field input{width:100%;height:46px;color:var(--ink);background:#fbfdff;border:1px solid #ccdcec;border-radius:9px;outline:none;padding:0 13px;transition:border .18s,box-shadow .18s,background .18s}.field input:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px #2d79c71f}.expense-list{gap:12px;padding-top:18px;display:grid}.expense-card{background:var(--blue-pale);border:1px solid #d7e6f5;border-radius:14px;padding:14px;transition:border .18s,box-shadow .18s}.expense-card:focus-within{border-color:#96bee5;box-shadow:0 0 0 3px #2d79c712}.expense-grid{grid-template-columns:32px 132px minmax(130px,.8fr) minmax(190px,1.35fr) 106px 30px;align-items:end;gap:10px;display:grid}.expense-index{color:#fff;background:var(--navy);border-radius:8px;align-self:center;place-items:center;width:26px;height:26px;font-size:11px;font-weight:800;display:grid}.field.compact{gap:5px}.field.compact input{background:#fff;border-radius:8px;height:40px;padding:0 9px}.money-input{position:relative}.money-input i{color:var(--muted);font-style:normal;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.money-input input{padding-left:23px!important}.remove-button{color:#7a8da0;background:0 0;border:0;border-radius:50%;align-self:center;width:28px;height:28px;padding:0;font-size:21px;line-height:1}.remove-button:hover{color:#a43e49;background:#fae9ec}.expense-receipts{border-top:1px solid #dce8f4;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0 42px;padding-top:11px;display:flex}.row-receipt-button{color:#fff;background:var(--blue);cursor:pointer;border-radius:8px;align-items:center;min-height:34px;padding:0 12px;font-size:11px;font-weight:800;display:inline-flex;position:relative;overflow:hidden}.row-receipt-button:hover{background:var(--navy)}.row-receipt-button input{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.expense-receipts ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.expense-receipts li{max-width:240px;color:var(--navy);background:#fff;border:1px solid #c7dbef;border-radius:8px;align-items:center;gap:7px;padding:7px 7px 7px 10px;font-size:10px;display:inline-flex}.expense-receipts li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.expense-receipts li button{color:#6d8194;background:var(--blue-soft);border:0;border-radius:50%;width:18px;height:18px;padding:0;line-height:1}.receipt-empty{color:#8a9aaa;font-size:10px}.add-button{color:var(--blue);background:#fff;border:1px dashed #8bb6df;border-radius:9px;margin-top:14px;padding:10px 13px;font-size:12px;font-weight:800}.add-button:hover{color:#fff;background:var(--blue);border-style:solid}.total-block{color:#fff;background:linear-gradient(135deg, var(--navy-deep), var(--blue));padding:28px 22px}.total-block span{color:#c9def2;font-size:11px;display:block}.total-block strong{letter-spacing:-.045em;margin:8px 0 6px;font-size:40px;line-height:1;display:block}.total-block small{color:#d4e5f5}.summary-details{margin:0;padding:11px 22px}.summary-details div{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:13px 0;display:flex}.summary-details dt{color:var(--muted);font-size:11px}.summary-details dd{max-width:175px;color:var(--ink);text-align:right;margin:0;font-size:11px;font-weight:800}.primary-button{color:#fff;background:var(--blue);border:0;border-radius:9px;width:calc(100% - 44px);height:47px;margin:11px 22px 22px;font-size:12px;font-weight:800}.primary-button:hover{background:var(--navy)}.error-message{color:#903845;background:#fff0f2;border:1px solid #f0cfd4;border-radius:8px;margin:10px 22px 0;padding:10px 12px;font-size:11px;line-height:1.45}.eyebrow{color:var(--blue);letter-spacing:.15em;text-transform:uppercase;margin:0 0 6px;font-size:10px;font-weight:800}.review-overlay{z-index:20;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#072746ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.review-panel{background:#fff;border-radius:20px;width:min(620px,100%);max-height:calc(100vh - 48px);padding:28px;overflow-y:auto;box-shadow:0 30px 90px #00000047}.exact-review-panel{width:min(760px,100%)}.review-header{justify-content:space-between;align-items:flex-start;margin-bottom:19px;display:flex}.review-header h2{color:var(--navy-deep);letter-spacing:-.03em;margin:0;font-size:26px}.close-button{color:#647b91;background:var(--blue-soft);border:0;border-radius:50%;width:35px;height:35px;padding:0;font-size:23px}.exact-preview{color:#000;background:#fff;border:1px solid #ccd6d7;border-radius:9px;padding:25px 26px;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.25;overflow-x:auto}.preview-logo-crop{width:220px;height:78px;position:relative;overflow:hidden}.preview-logo-crop img{width:220px;max-width:none;height:220px;position:absolute;top:-71px;left:0}.preview-org{margin:15px 0 30px;font-size:13px}.preview-payee{justify-content:space-between;gap:25px;margin:22px 0;display:flex}.preview-payee span:last-child{white-space:nowrap}.preview-instructions{margin:22px 0 15px}.exact-preview table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:10px}.exact-preview th,.exact-preview td{color:#000;text-align:left;vertical-align:top;background:#fff;border:1px solid #000;height:36px;padding:5px 7px}.exact-preview th{text-align:center;vertical-align:middle;height:33px;font-weight:400}.exact-preview th:first-child{width:13%}.exact-preview th:nth-child(2){width:26%}.exact-preview th:nth-child(3){width:46%}.exact-preview th:last-child{width:15%}.exact-preview .preview-total td:nth-child(3){text-align:right;vertical-align:middle}.preview-certification{margin:18px 0 30px}.preview-signatures{justify-content:space-between;gap:50px;padding-right:70px;font-size:11px;display:flex}.receipt-confirmation{color:var(--ink);background:var(--blue-soft);border:1px solid #c8def2;border-radius:8px;align-items:center;gap:9px;margin:15px 0;padding:11px 13px;font-size:11px;display:flex}.receipt-confirmation strong{color:var(--blue)}.review-actions{grid-template-columns:.8fr 1.4fr;gap:10px;margin-top:16px;display:grid}.secondary-button,.primary-action{border-radius:9px;min-height:47px;padding:0 14px;font-size:11px;font-weight:800}.secondary-button{color:var(--blue);background:#fff;border:1px solid #a9c9e7}.primary-action{color:#fff;background:var(--blue);border:1px solid var(--blue)}.secondary-button:hover{background:var(--blue-pale)}.primary-action:hover{background:var(--navy)}.secondary-button:disabled,.primary-action:disabled{cursor:wait;opacity:.62}.download-again{color:var(--navy);background:var(--blue-soft);text-align:center;border:1px solid #b8d5ef;border-radius:8px;margin:12px 0 0;padding:10px 12px;font-size:11px;font-weight:800;text-decoration:none;display:block}.attachment-note{color:var(--muted);text-align:center;margin:12px 0 0;font-size:10px;line-height:1.5}@media (width<=1100px){.content-grid{grid-template-columns:1fr}.summary-card{position:static}.expense-grid{grid-template-columns:30px repeat(2,minmax(0,1fr)) 30px}.description-field{grid-column:2}.cost-field{grid-column:3}}@media (width<=700px){.topbar{height:72px;padding:0 16px}.app-name{font-size:13px}.header-logo-crop{width:165px;height:64px}.header-logo-crop img{width:165px;height:165px;top:-52px}.workspace{padding:26px 13px 50px}.page-heading{align-items:flex-start}.page-heading>strong{display:none}.editor-card{border-radius:16px;padding:22px 15px}.field-grid{grid-template-columns:1fr}.field-wide{grid-column:span 1}.expense-grid{grid-template-columns:27px 1fr 28px}.expense-grid .field{grid-column:2}.expense-grid .remove-button{grid-area:1/3}.expense-receipts{flex-direction:column;align-items:flex-start;margin-left:37px}.expense-receipts ul{width:100%}.review-overlay{padding:9px}.review-panel{border-radius:15px;max-height:calc(100vh - 18px);padding:20px 15px}.review-actions{grid-template-columns:1fr}.exact-preview{padding:15px;font-size:8px}.preview-logo-crop{width:160px;height:58px}.preview-logo-crop img{width:160px;height:160px;top:-52px}.exact-preview table{font-size:7px}.preview-signatures{padding-right:12px;font-size:8px}.receipt-confirmation{flex-direction:column;align-items:flex-start}}
