.receipt-actions{align-items:center;gap:.35rem;display:flex}.receipt-actions button{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text);cursor:pointer;background:#00000012;border:0;justify-content:center;align-items:center;padding:0;transition:background .15s;display:flex}.receipt-actions button:hover{background:#00000026}.receipts-table .table-row{cursor:pointer}.receipts-table .table-row.is-active{outline-offset:-2px;outline:2px solid #1798ad}.receipt-preview{overscroll-behavior:contain;align-content:start;gap:.65rem;min-height:0;font-size:.95rem;display:grid;overflow-y:auto}.receipt-preview p{margin:0}.receipt-preview-items{gap:.35rem;margin-top:.35rem;display:grid}.receipt-preview-items div{background:#f4f1ee;border:1px solid #b8b1ad;grid-template-columns:1fr auto;gap:.75rem;padding:.45rem .5rem;display:grid}.receipt-preview-items small{color:#655f5a;margin-top:.15rem;font-size:.75rem;font-weight:700;display:block}.receipt-status-row{border:1px solid #aaa29e;justify-content:space-between;align-items:center;padding:.5rem .65rem;display:flex}.receipt-detail-action{color:#fff;cursor:pointer;background:#1698ad;border:1px solid #127f91;min-height:2.75rem;font-weight:800}.receipts-side{background:#d7d4d1}.receipt-view-page{border-radius:var(--radius-lg);background:#d7d4d1;grid-column:1/-1;grid-template-rows:auto auto minmax(0,1fr) auto;gap:1.4rem;width:100%;padding:1rem 1rem 1.2rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.receipt-view-page+.receipts-side{display:none}.receipt-view-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.receipt-view-meta p,.receipt-view-total p{margin:0}.receipt-view-meta p{border-radius:var(--radius-md);background:#ffffff9e;align-content:center;min-height:54px;padding:.65rem .8rem;display:grid}.receipt-view-table{border-radius:var(--radius-lg);align-content:start;gap:.25rem;min-height:0;display:grid;overflow-y:auto}.receipt-view-head,.receipt-view-row{grid-template-columns:1.45fr .75fr .9fr .9fr .75fr .95fr .95fr .65fr .85fr;align-items:center;gap:.6rem;display:grid}.receipt-view-head{color:#302d2c;border-radius:var(--radius-md) var(--radius-md) 0 0;background:#a9a1a0;min-height:52px;padding:.55rem .8rem;font-weight:700}.receipt-view-row{border-radius:var(--radius-md);background:#fbfaf8;border:1px solid #c8c0bc;min-height:42px;padding:.45rem .65rem}.receipt-view-total{border-radius:var(--radius-md);background:#ffffff80;justify-content:end;gap:.35rem;padding:.8rem 10% .8rem .8rem;font-size:1.1rem;display:grid}.receipt-view-table{border-radius:var(--radius-lg);scrollbar-gutter:stable;background:#ffffff7a;gap:.32rem;padding:.55rem;box-shadow:inset 0 1px #fff9}.receipt-view-head{border-radius:var(--radius-md);box-shadow:none;background:#ada5a1;border:0}.receipt-view-row{border-radius:var(--radius-md);background:#fbfaf8;border:0;overflow:hidden;box-shadow:0 1px 2px #00000012}.receipt-view-row.is-alt{background:#e3dedb}
.primary-cta{border-radius:var(--radius-md);color:#fff;letter-spacing:.02em;width:100%;min-height:50px;box-shadow:var(--button-shadow);background:linear-gradient(#17a4ba 0%,#0a86a0 100%);border:0;grid-column:1/-1;justify-content:center;align-items:center;gap:1rem;font-size:1.2rem;font-weight:700;display:inline-flex}.search-bar{border-radius:var(--radius-md);grid-template-columns:1fr 72px;min-height:48px;margin:0 .55rem;display:grid;overflow:hidden}.search-bar input{border-radius:var(--radius-md) 0 0 var(--radius-md);background:var(--input-bg);border:0;padding:0 .8rem;font-size:.9rem}.search-bar button{border-radius:0 var(--radius-md) var(--radius-md) 0;color:#fff;box-shadow:var(--button-shadow);background:#0e97b0;border:0;font-size:1.2rem}.list-row{width:100%;min-height:38px;color:var(--text);text-align:left;background:#ffffff2e;border:0;border-top:1px solid #aca7a4;justify-content:space-between;align-items:center;padding:.35rem .55rem;font-size:.92rem;display:flex}.list-row.is-active{background:#c8c0bc;font-weight:700}.list-row:last-child{border-bottom:1px solid #aca7a4}.menu-panel-head{padding:.5rem .55rem .25rem}.menu-panel-head h2{margin:0;font-size:1rem}.menu-dropdown{border:1px solid var(--border-strong);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#efeeecf5;width:min(420px,100vw - 1rem);max-height:calc(100dvh - 92px);margin-left:.35rem;position:absolute;top:77px;left:0;overflow:hidden;box-shadow:0 18px 34px #0000003d,inset 0 1px #ffffff85}.menu-dropdown-body{gap:0;padding:.45rem;display:grid}.menu-dropdown-list{gap:.2rem;max-height:calc(100dvh - 108px);padding:0;display:grid;overflow:hidden auto}.menu-dropdown .list-row{border-radius:var(--radius-sm);background:#ffffff7a;border:1px solid #0000;min-height:38px;padding:.35rem .65rem;transition:background .14s,border-color .14s,color .14s,transform .14s}.menu-dropdown .list-row:hover{background:#ffffffb8;border-color:#0e97b047}.menu-dropdown .list-row.is-active{color:#fff;box-shadow:var(--button-shadow);background:linear-gradient(#5f5754 0%,#45403e 100%);border-color:#3c3735}.detail-pane{background:#d7d4d1;grid-template-rows:auto 1fr;padding:.75rem;display:grid;overflow:hidden}.detail-head{padding-bottom:.35rem}.detail-head h2{margin:0;font-size:1.05rem}.detail-card{background:#f4f1ee;padding:.7rem;overflow:hidden}.detail-table{border-collapse:collapse;table-layout:fixed;width:100%;margin-top:.55rem}.detail-table th,.detail-table td{text-align:left;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #b1aca8;padding:.4rem .35rem;overflow:hidden}.detail-table th{color:var(--muted)}
.page-shell{background:var(--bg);min-height:100vh;padding:1.2rem}.page-header{margin:0 0 1rem}.page-header h1{margin:0;font-size:1.8rem}.panel{border-radius:0}.auth-card{border-radius:18px}.panel{background:var(--panel);padding:1rem}.auth-page{background:#1e1b1c;place-items:center;min-height:100vh;padding:1.5rem;display:grid;position:relative;overflow:hidden}.auth-page:before{content:"";filter:blur(8px);background:linear-gradient(#1612123d,#1612123d),url(/images/login-bg.webp) 50%/cover no-repeat;position:absolute;inset:-18px;transform:scale(1.03)}.auth-page:after{content:"";background:radial-gradient(circle,#ffffff14,#00000038);position:absolute;inset:0}.auth-card{z-index:1;border:1px solid var(--border-strong);background:#efeeecf0;width:min(420px,100%);padding:1.6rem;position:relative;box-shadow:0 18px 42px #00000052}.auth-card h1{text-align:center;margin:0;font-size:1.7rem}.auth-logo{object-fit:contain;width:86px;height:86px;margin:0 auto .8rem;display:block}.auth-form{gap:.9rem;margin-top:1rem;display:grid}.auth-form label{color:var(--text);gap:.4rem;font-weight:700;display:grid}.auth-form input{border:1px solid var(--input-border);border-radius:var(--radius-md);background:var(--input-bg);color:var(--text);box-shadow:var(--input-shadow);min-height:58px;padding:.75rem}.auth-form button{border-radius:var(--radius-md);color:#fff;background:linear-gradient(#17a4ba 0%,#0a86a0 100%);border:0;min-height:72px;padding:.9rem;font-weight:700}.auth-form button:disabled{opacity:.6;cursor:not-allowed}.auth-error{border-radius:var(--radius-md);color:#8b0000;background:#fde8e8;border:1px solid #f0a0a0;margin:0;padding:.6rem .75rem;font-size:.9rem}.auth-success{border-radius:var(--radius-md);color:#1b5e20;background:#e8f5e9;border:1px solid #a5d6a7;margin:0;padding:.6rem .75rem;font-size:.9rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#6b5d2b;margin:0 0 .35rem;font-size:.75rem}.muted{color:var(--muted)}
@media (max-width:1240px){.shell-body{grid-template-rows:minmax(0,1fr) minmax(280px,.65fr);grid-template-columns:1fr}.shell-body.mode-receipts{grid-template-rows:1fr}.shell-body.mode-transport:has(.transport-board){grid-template-rows:1fr}.detail-pane{border-left:0;border-top:1px solid var(--border-strong)}}@media (max-width:820px){.topbar{align-items:stretch;min-height:auto}.topbar-right{display:none}.brand-mark,.top-menu-item{height:64px}.brand-mark{width:64px}.top-menu-item.is-active{min-width:170px}.editor-pane{grid-template-rows:72px 68px 1fr;padding:.7rem}.section-card h1{font-size:1.05rem}.help-text{max-width:none;margin-left:0}.menu-dropdown{width:calc(100vw - .7rem);left:.35rem}}

