:root { color-scheme:light; --oa-navy:#213969; --oa-ink:#1c2028; --oa-muted:#536078; --oa-line:#dce2eb; --oa-surface:#f5f6f8; --oa-red:#a82128; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:var(--oa-surface); color:var(--oa-ink); font:15px/1.5 "Instrument Sans", "Noto Sans Devanagari", "Noto Sans Kannada", sans-serif; }
::selection { background:#dce5f2; color:#172a51; }
a { color:var(--oa-navy); text-underline-offset:4px; }
button,input,select,textarea { font:inherit; }
input,textarea { caret-color:var(--oa-navy); }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #5678b2; outline-offset:3px; }
.skip-link { position:absolute; top:8px; left:12px; padding:12px; z-index:10; background:white; }
.skip-link:not(:focus-visible) { width:1px; height:1px; overflow:hidden; clip-path:inset(50%); padding:0; }
.oa-header { min-height:88px; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:20px 32px; border-bottom:1px solid var(--oa-line); background:white; }
.oa-brand { display:flex; align-items:center; gap:10px; color:var(--oa-navy); text-decoration:none; font-size:19px; font-weight:700; line-height:1.2; }
.oa-brand img { flex:none; }
.oa-brand small { display:block; color:var(--oa-muted); font-size:12px; margin-top:5px; font-weight:500; }
.oa-header nav { display:flex; align-items:center; flex-wrap:wrap; gap:20px; font-size:14px; }
.oa-header nav>a { display:inline-flex; align-items:center; min-height:44px; }
.oa-main { max-width:1480px; margin:0 auto; padding:34px 32px 56px; min-height:calc(100svh - 160px); }
.oa-heading { display:flex; justify-content:space-between; align-items:start; gap:20px; margin-bottom:26px; }
h1,h2,h3,h4,p { margin-top:0; }
h1 { font-size:30px; line-height:1.2; letter-spacing:-.025em; margin-bottom:7px; }
h2 { font-size:20px; line-height:1.3; letter-spacing:-.015em; margin-bottom:14px; }
h3 { font-size:17px; line-height:1.35; margin-bottom:13px; }
h4 { font-size:15px; line-height:1.4; margin-bottom:6px; }
.oa-heading p,.oa-access p,.oa-empty p,.oa-note { color:var(--oa-muted); max-width:65ch; }
.oa-heading p,.oa-access p,.oa-empty p { margin-bottom:0; }
.oa-btn { display:inline-flex; justify-content:center; align-items:center; min-height:44px; gap:8px; padding:10px 16px; border:1px solid transparent; border-radius:4px; cursor:pointer; font-size:14px; font-weight:600; line-height:1.3; text-decoration:none; transition:background 150ms,border-color 150ms; }
.oa-btn-primary { color:white; background:var(--oa-navy); }
.oa-btn-primary:hover { background:#172a51; }
.oa-btn-outline { background:white; color:var(--oa-navy); border-color:#aab8ce; }
.oa-btn-outline:hover { background:#edf2f9; border-color:var(--oa-navy); }
.oa-btn-quiet { background:transparent; color:var(--oa-navy); }
.oa-btn-quiet:hover { background:#edf2f9; }
.oa-btn-danger { background:white; color:var(--oa-red); border-color:#c68c8f; }
.oa-btn-danger:hover { background:#fff0f0; }
.oa-btn:disabled { background:#edf0f4; color:#697488; border-color:#d3dae4; cursor:not-allowed; }
.oa-notice,.oa-message { background:#edf2f9; color:var(--oa-navy); border:1px solid #c7d3e5; border-radius:8px; padding:14px 18px; margin-bottom:20px; overflow-wrap:anywhere; }
.oa-message[data-error="true"] { background:#fff3f3; color:#8f1d22; border-color:#e4bfc1; }
.oa-access { max-width:560px; margin:40px auto; padding:30px; border:1px solid var(--oa-line); border-radius:12px; background:white; }
.oa-access form { display:grid; gap:10px; margin-top:24px; }
.oa-access form button { justify-self:start; margin-top:8px; }
.oa-access>button { margin-top:22px; }
label { display:flex; flex-direction:column; gap:7px; color:var(--oa-ink); font-size:13px; font-weight:600; }
input,select,textarea { min-height:46px; width:100%; border:1px solid #aab8ce; border-radius:4px; padding:10px 12px; color:var(--oa-ink); background:white; font-size:16px; line-height:1.4; }
input::placeholder,textarea::placeholder { color:#687487; opacity:1; }
textarea { min-height:86px; resize:vertical; }
.oa-view-tabs { display:flex; gap:8px; border-bottom:1px solid var(--oa-line); margin-bottom:23px; }
.oa-view-tabs button { background:transparent; color:var(--oa-muted); border:0; border-bottom:3px solid transparent; min-height:48px; padding:10px 20px; cursor:pointer; font-size:15px; font-weight:600; }
.oa-view-tabs button[aria-pressed="true"] { color:var(--oa-navy); border-bottom-color:var(--oa-navy); }
.oa-view-tabs button:hover { background:#edf2f9; }
.oa-toolbar { display:flex; align-items:end; gap:14px; }
.oa-search { flex:1 1 260px; max-width:520px; }
.oa-toolbar>label:not(.oa-search) { flex:0 1 210px; }
.oa-counts { margin:14px 0 19px; font-size:13px; color:var(--oa-muted); }
.oa-workbench { display:grid; grid-template-columns:minmax(270px,.72fr) minmax(0,1.6fr); gap:24px; align-items:start; }
.oa-queue,.oa-detail { min-width:0; background:white; border:1px solid var(--oa-line); border-radius:12px; }
.oa-queue { overflow:hidden; }
.oa-queue>h2 { margin:0; padding:20px; font-size:16px; border-bottom:1px solid var(--oa-line); }
#oa-list { max-height:calc(100svh - 340px); min-height:180px; overflow:auto; }
#oa-load-more { margin:16px 20px; width:calc(100% - 40px); }
.oa-row { width:100%; display:grid; gap:8px; padding:17px 20px; text-align:left; color:var(--oa-ink); background:white; border:0; border-bottom:1px solid var(--oa-line); cursor:pointer; }
.oa-row:last-child { border-bottom:0; }
.oa-row:hover { background:#f5f7fb; }
.oa-row[aria-pressed="true"] { background:#edf2f9; box-shadow:inset 3px 0 0 var(--oa-navy); }
.oa-row-top { display:flex; justify-content:space-between; align-items:start; gap:12px; }
.oa-row strong { overflow-wrap:anywhere; font-size:14px; }
.oa-row small,.oa-row time { color:var(--oa-muted); font-size:12px; overflow-wrap:anywhere; }
.oa-row-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; }
.oa-row .oa-tag { font-size:11px; padding:3px 7px; }
.oa-tag { display:inline-flex; align-items:center; max-width:100%; border-radius:4px; padding:4px 9px; background:#fbf3d9; color:#624d18; font-size:12px; font-weight:600; line-height:1.35; }
.oa-tag[data-state="confirmed"],.oa-tag[data-state="dispatched"],.oa-tag[data-state="approved"] { background:#edf2f9; color:var(--oa-navy); }
.oa-tag[data-state="delivered"],.oa-tag[data-state="paid"],.oa-tag[data-state="active"],.oa-tag[data-state="principal_repaid"] { background:#eaf4ee; color:#205536; }
.oa-tag[data-state="cancelled"],.oa-tag[data-state="rejected"] { background:#fff0f0; color:#9b252b; }
.oa-detail { padding:26px; }
.oa-detail-top { display:flex; justify-content:space-between; align-items:start; gap:16px; border-bottom:1px solid var(--oa-line); padding-bottom:20px; }
.oa-detail-top h2 { overflow-wrap:anywhere; margin-bottom:5px; }
.oa-detail-top p { color:var(--oa-muted); font-size:12px; margin-bottom:0; }
.oa-badges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.oa-block { padding-top:24px; }
.oa-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 24px; margin:0; }
.oa-details>div { min-width:0; }
.oa-details dt { color:var(--oa-muted); font-size:12px; margin-bottom:4px; }
.oa-details dd { margin:0; font-size:14px; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.oa-wide { grid-column:1/-1; }
.oa-note { font-size:13px; margin:12px 0 0; overflow-wrap:anywhere; }
.oa-line-list { display:grid; }
.oa-line { display:grid; grid-template-columns:64px minmax(0,1fr); gap:14px; padding:16px 0; border-bottom:1px solid var(--oa-line); }
.oa-line:last-child { border-bottom:0; }
.oa-line>img { width:64px; height:76px; object-fit:scale-down; background:white; border:1px solid var(--oa-line); border-radius:4px; }
.oa-line.no-image { grid-template-columns:minmax(0,1fr); }
.oa-line p { font-size:12px; color:var(--oa-muted); margin:5px 0; overflow-wrap:anywhere; }
.oa-line h4,.oa-linked-list strong { overflow-wrap:anywhere; }
.oa-line-price { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 14px; margin-top:7px; font-size:13px; font-variant-numeric:tabular-nums; }
.oa-line-price strong { font-size:15px; }
.oa-totals { margin:10px 0 0; border-top:1px solid var(--oa-line); padding-top:15px; }
.oa-totals>div { display:flex; justify-content:space-between; gap:20px; padding:4px 0; font-size:14px; }
.oa-totals dt { color:var(--oa-muted); }
.oa-totals dd { margin:0; text-align:right; font-variant-numeric:tabular-nums; }
.oa-totals .oa-total { font-weight:700; padding-top:10px; }
.oa-totals .oa-total dt { color:var(--oa-ink); }
.oa-limit { border-top:1px solid var(--oa-line); padding-top:22px; margin-top:24px; }
.oa-limit>p { margin-bottom:14px; }
.oa-limit dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:0; }
.oa-limit dt { color:var(--oa-muted); font-size:12px; margin-bottom:5px; }
.oa-limit dd { margin:0; color:var(--oa-navy); font-size:17px; font-weight:600; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.oa-actions { border-top:1px solid var(--oa-line); padding-top:24px; margin-top:26px; }
.oa-action-buttons { display:flex; flex-wrap:wrap; gap:10px; }
.oa-action-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding-top:20px; }
.oa-action-form h4 { margin-bottom:0; }
.oa-check { display:flex; flex-direction:row; align-items:start; font-weight:400; line-height:1.5; gap:10px; }
.oa-check input { flex:none; width:18px; min-height:18px; height:18px; margin:2px 0 0; accent-color:var(--oa-navy); }
.oa-history { border-top:1px solid var(--oa-line); padding-top:24px; margin-top:26px; }
.oa-history ol { padding:0; margin:0; list-style:none; }
.oa-history li { border-bottom:1px solid #edf0f4; padding:12px 0; }
.oa-history li:last-child { border:0; }
.oa-history strong { font-size:13px; }
.oa-history time { display:block; margin-top:3px; color:var(--oa-muted); font-size:12px; }
.oa-history p { margin:6px 0 0; font-size:13px; overflow-wrap:anywhere; }
.oa-linked-list { padding:0; margin:0; list-style:none; }
.oa-linked-list li { padding:13px 0; border-bottom:1px solid var(--oa-line); font-size:14px; }
.oa-linked-list li:last-child { border:0; }
.oa-linked-list button { background:transparent; border:0; color:var(--oa-navy); padding:4px 0; min-height:44px; font-weight:600; text-align:left; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.oa-linked-list p { margin:3px 0 0; color:var(--oa-muted); font-size:12px; }
.oa-linked-list a { display:inline-block; padding:4px 0; min-height:40px; }
.oa-empty { padding:30px 20px; }
.oa-empty h2 { font-size:20px; }
.oa-empty p { font-size:14px; }
.oa-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:20px 32px; border-top:1px solid var(--oa-line); color:var(--oa-muted); font-size:12px; }
@media (max-width:1100px) { .oa-toolbar { flex-wrap:wrap; }.oa-search { max-width:none; flex-basis:100%; }.oa-toolbar>label:not(.oa-search) { flex:1 1 180px; }.oa-workbench { grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr); gap:16px; }.oa-detail { padding:22px; }.oa-row-top { flex-wrap:wrap; gap:6px; }.oa-limit dl { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .oa-header { padding:16px 20px; align-items:start; flex-wrap:wrap; gap:12px; }.oa-header nav { width:100%; gap:18px; }.oa-header nav #oa-logout { margin-left:auto; }.oa-main { padding:26px 20px 40px; }.oa-heading { flex-wrap:wrap; gap:18px; }h1 { font-size:27px; }.oa-workbench { grid-template-columns:1fr; }#oa-list { max-height:300px; }.oa-row-top { flex-wrap:nowrap; }.oa-detail { padding:22px 20px; }.oa-queue>h2 { padding:17px 20px; }.oa-access { padding:24px; margin:24px 0; }.oa-footer { padding:20px; } }
@media (max-width:430px) { .oa-main,.oa-header { padding-left:16px; padding-right:16px; }.oa-header nav { gap:12px; font-size:13px; }.oa-brand { font-size:18px; }.oa-toolbar { flex-direction:column; align-items:stretch; gap:12px; }.oa-search,.oa-toolbar>label:not(.oa-search) { flex-basis:auto; }.oa-detail-top { flex-direction:column; }.oa-badges { justify-content:flex-start; }.oa-details { gap:16px; }.oa-details .oa-mobile-wide { grid-column:1/-1; }.oa-action-form { grid-template-columns:1fr; }.oa-action-buttons .oa-btn { flex:1 1 140px; }.oa-detail { padding:20px 16px; }.oa-row { padding:16px; }.oa-counts { line-height:1.8; }.oa-limit dd { font-size:16px; }.oa-line { grid-template-columns:50px minmax(0,1fr); gap:11px; }.oa-line>img { width:50px; height:66px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none !important; scroll-behavior:auto !important; } }
