.expense-quantity-grid{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:10px}.expense-quantity-grid label{font-size:12px;color:#718191}.expense-quantity-grid input{width:100%;margin-top:4px}.receipt-expense-item{grid-template-columns:minmax(0,1fr) 36px}.expense-items-read small{display:block;color:#74818c;font-size:12px;margin-top:5px}.warehouse-frame{display:block;width:100%;border:0;min-height:400px}.warehouse-frame.warehouse-expanded17{position:fixed;inset:82px 16px 16px 265px;width:calc(100vw - 281px);height:calc(100dvh - 98px)!important;z-index:70;background:#f5f7f9;box-shadow:0 5px 30px #20364718;border-radius:12px}.receipt17{padding:20px!important;max-width:950px;margin:auto;width:100%;box-sizing:border-box}.receipt-place17{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid #dce6e5;border-radius:12px;background:#f7faf9;color:inherit;text-align:left;margin-bottom:14px;font:inherit}.receipt-place17 small{display:block;color:#74868a;font-size:11px;margin-bottom:3px}.receipt-search17{display:flex;align-items:center;gap:8px;border:1px solid #dbe3e6;border-radius:12px;background:#fff;padding:3px 10px;position:sticky;top:0;z-index:3}.receipt-search17 input{width:100%;min-width:0;border:0!important;box-shadow:none!important;padding:12px 0;font-size:16px;background:transparent}.receipt-search17 svg{width:20px;height:20px}.receipt-progress17{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap;margin:14px 0;color:#5d7272;font-size:12px}.receipt-progress17 small{font-size:11px}.receipt-tabs17{display:flex;gap:8px;margin:12px 0}.receipt-tabs17 button{border:1px solid #dce4e4;border-radius:20px;padding:8px 14px;background:white;color:#566c70;font:inherit;font-size:13px}.receipt-tabs17 button.active{background:#eaf4ef;border-color:#b9d6c8;color:#28684f}.receipt-list17{display:grid;gap:8px}.receipt-row17{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:15px 12px;background:#fff;border:1px solid #e2e8e9;border-radius:12px;color:inherit;font:inherit;min-width:0}.receipt-row17>span:first-child{min-width:0;flex:1}.receipt-row17 b{display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.receipt-row17 small{display:block;font-size:11px;color:#77858b;margin-top:4px;line-height:1.45}.receipt-qty17{flex:none;min-width:42px;text-align:right}.receipt-qty17 strong{font-size:20px}.receipt-row17>svg{width:19px;height:19px;color:#638274;flex:none}.receipt-row17.complete{background:#f1f8f4;border-color:#c9ded1}.receipt-empty17{text-align:center;padding:40px 14px;color:#7b8b92}.receipt-entry17{border:1px solid #dae2e5;border-radius:18px;padding:20px;width:min(440px,calc(100vw - 24px));box-sizing:border-box;color:#263b47;box-shadow:0 16px 50px #17343720;max-height:90dvh;overflow:auto}.receipt-entry17::backdrop{background:#253f4650}.receipt-entry17 header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.receipt-entry17 h3{font-size:18px;margin:0}.receipt-entry-name17{display:block;line-height:1.5;font-size:14px}.receipt-entry17 input{font-size:22px!important;padding:14px;min-height:52px}.receipt-entry-actions17{display:flex;gap:12px}.receipt-entry-actions17 .btn{flex:1}.receipt-entry17 .text-btn{margin-top:16px}.receipt-result17{padding:12px;background:#eef6f2;border-radius:10px;color:#366653;font-size:14px}.receipt-review-summary17{display:flex;flex-direction:column;gap:6px;padding:15px;background:#eef6f2;border-radius:12px;margin-bottom:16px}.receipt-review-summary17 span{font-size:12px;color:#658077}
@media(max-width:720px){.receipt17{padding:14px!important}.receipt-entry17{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;border-radius:20px 20px 0 0;padding-bottom:max(20px,env(safe-area-inset-bottom))}.receipt-entry17 .btn{min-height:44px}.receipt17+.dialog-footer .actions{width:100%}.receipt17~.dialog-footer .btn{font-size:12px;padding:10px}.expense-quantity-grid{gap:7px}.warehouse-frame.warehouse-expanded17{position:static;inset:auto;width:100%}}
/* Working time and schedule calendar */
.staff-work17{padding-top:0}.staff-clock17{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:16px;background:#f1f7f4;border-radius:12px;margin-bottom:12px}.staff-clock17 small{display:block;color:#798c83;margin-top:5px}.staff-clock17>strong{font-variant-numeric:tabular-nums;white-space:nowrap;color:#2f765d;font-size:21px}.schedule17{padding:22px!important}.schedule17 details{margin:18px 0}.schedule17 summary{font-weight:650;cursor:pointer;padding:10px 0}.schedule-calendar-head17{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:12px;color:#74877e}.schedule-calendar17{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.schedule-calendar17>small{text-align:center;color:#7a8b86;padding:5px;font-size:11px}.schedule-date17{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:58px;padding:8px 2px;background:#f5f7f6;border:1px solid transparent;border-radius:10px;gap:3px;color:#7c8b85;font-family:inherit}.schedule-date17 b{font-size:14px}.schedule-date17 small{font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-date17.working{background:#edf5f0;color:#356b52}.schedule-date17.exception{border:1px solid #8aad9b}.schedule-date17:disabled{opacity:1;cursor:default}.schedule-day-row17{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #edf0ee;align-items:center}.schedule-day-row17>b{font-size:12px}.schedule-interval17{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:5px}.schedule-interval17 input[type=time]{width:108px;min-width:0;padding:8px}.schedule-interval17 label{display:flex;align-items:center;gap:4px;font-size:11px;white-space:nowrap}.schedule-interval17 label input{width:15px;height:15px}.schedule-history17{width:100%;display:flex;justify-content:space-between;padding:10px 0;border:0;border-bottom:1px solid #ecf0ed;background:none;color:inherit;text-align:left;font:inherit;font-size:13px}.shift-part17{display:grid;grid-template-columns:minmax(0,1fr) 90px 28px 28px;gap:8px;align-items:center;margin:10px 0}.shift-part17 select{min-width:0;width:100%}.shift-part17 label{display:flex;gap:4px;align-items:center}.shift-part17 input{width:68px;min-width:0}.shift-part17 .icon-btn{width:28px;padding:3px}
/* Chat business card, calendar and command button */
.itas-actions17{background:#f0f4f2;border-radius:11px;flex:none}.itas-actions17>span{width:23px;height:22px;display:flex;gap:3px;align-items:flex-end;transform:skew(-19deg)}.itas-actions17 i{display:block;width:6px;height:17px;background:#cf3b50}.itas-actions17 i:last-child{height:24px}.chat-actions-title17{display:block;padding:10px 12px;font-size:12px;color:#6c8177}.chat-popover-actions .form-note{padding:4px 12px;font-size:12px}.chat-compose-row{align-items:center}.ot-pending17{border:0;border-radius:10px;background:#eef5f0;color:#41755e;font-size:10px;padding:4px 7px;margin-top:4px;cursor:pointer}.ot-card17{width:310px;max-width:100%;font-size:13px;line-height:1.5}.ot-card-title17{display:flex;gap:8px;align-items:center;font-size:14px}.ot-card-title17 svg{width:18px;height:18px;flex:none}.ot-card17 p{margin:10px 0}.ot-project17{font-weight:600;color:#4c7061;font-size:13px;overflow-wrap:anywhere}.ot-days17{border-top:1px solid #d9e6de;border-bottom:1px solid #d9e6de;padding:6px 0;max-height:180px;overflow:auto}.ot-days17>div,.ot-total17{display:flex;justify-content:space-between;gap:16px;padding:4px 0;font-variant-numeric:tabular-nums}.ot-total17{margin:10px 0;font-size:13px}.ot-status17{display:inline-block;padding:3px 8px;background:#f8f2de;border-radius:8px;font-size:11px;color:#82713c}.ot-status17.approved{background:#e1f0e6;color:#32704d}.ot-status17.rejected{background:#edf0f1;color:#69767b}.ot-comment17{border-left:2px solid #94b0a1;padding-left:8px}.ot-buttons17{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 5px}.ot-buttons17 button{border:1px solid #c9dad1;background:#fff;color:#3d6854;border-radius:9px;padding:9px 10px;cursor:pointer;font:inherit;font-size:12px}.ot-buttons17 button:first-child{background:#357e60;color:white;border-color:#357e60}.ot-history17{font-size:11px;margin-top:10px;color:#6f8178}.ot-panel17{flex:0 1 auto;max-height:58%;min-height:140px;overflow:auto;padding:14px 20px;background:#fff;border-bottom:1px solid #dfe7e2;overscroll-behavior:contain}.ot-panel17>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.ot-panel17 h3{font-size:15px;margin:0}.ot-panel-body17{max-width:520px;margin:auto}.ot-panel-body17 input[type=search]{width:100%;margin:10px 0;font-size:16px}.ot-project-choice17{border:0;border-bottom:1px solid #edf1ee;display:flex;align-items:center;gap:10px;padding:13px 0;background:none;width:100%;text-align:left;color:inherit;font:inherit;font-size:13px}.ot-project-choice17 span{flex:1}.ot-project-choice17 svg{width:18px;height:18px;flex:none}.ot-month17{display:flex;justify-content:center;align-items:center;gap:12px}.ot-month17 input{width:160px;min-width:0}.ot-calendar17 .schedule-date17{min-height:47px}.ot-calendar17 .eligible{background:#eaf3ed;color:#356d50;border-color:#c2d7c9;cursor:pointer}.ot-calendar17 .selected{background:#388466;color:#fff;border-color:#388466}.ot-calendar17 .schedule-date17:disabled{color:#a5ada9;background:#fafbfa}.ot-edit-hours17{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:13px}.ot-edit-hours17>span:first-child{flex:1}.ot-edit-hours17 input{width:90px}.ot-panel17 .field{display:block;margin:12px 0;font-size:12px}.ot-panel17 textarea{display:block;width:100%;min-height:65px;margin:6px 0;font:inherit;padding:10px;border:1px solid #dae3dd;border-radius:9px}.ot-panel17 .form-note{font-size:11px}.chat-upload img{width:44px;height:44px;object-fit:cover;border-radius:7px;flex:none}.chat-upload small{display:block;white-space:normal;font-size:10px;margin-top:4px}.chat-upload>span{white-space:normal}.chat-upload{max-width:270px}
/* Compact notification rows and badge positioning independent of nav layout */
.notification-inbox17{padding:8px 16px!important}.notification-row17{width:100%;display:flex;align-items:center;gap:11px;padding:12px 2px;border:0;border-bottom:1px solid #edf0f1;background:#fff;text-align:left;color:inherit;cursor:pointer;font:inherit}.notification-row17.is-new{background:#f8fbf9}.notification-symbol17{width:34px;height:34px;display:grid;place-items:center;background:#eef5f0;color:#688a76;border-radius:50%;flex:none}.notification-symbol17 svg{width:18px;height:18px}.notification-copy17{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.notification-copy17 b{font-size:13px;line-height:1.35}.notification-copy17>span{font-size:12px;line-height:1.4;color:#697b73;overflow-wrap:anywhere}.notification-copy17 small{font-size:10px;color:#8b9690}.notification-row17>svg{width:15px;height:15px;flex:none;color:#8d9b94}.badge.fulfilled{background:#e7f3ec;color:#307154}.expense-source17{margin-bottom:12px}
#mobileNav [data-mobile-page=chats]>span:not(.chat-nav-badge){position:relative;overflow:visible}#mobileNav .chat-nav-badge{position:absolute!important;display:grid;place-items:center;top:-5px!important;right:-7px!important;bottom:auto;left:auto;width:20px!important;min-width:20px!important;max-width:20px;height:20px!important;min-height:20px;max-height:20px;padding:0!important;margin:0!important;box-sizing:border-box;border:1.5px solid white;border-radius:50%!important;background:#db3850!important;color:#fff!important;font:700 9px/1 system-ui!important;z-index:3;transform:none!important;flex:none}#mobileNav .chat-nav-badge[hidden]{display:none!important}#mobileNav .warehouse-pending-count{position:absolute;top:0;right:calc(50% - 25px);margin:0;font-size:9px;line-height:17px;min-width:17px;height:17px;padding:0 3px;border-radius:50%}#mobileNav .warehouse-pending-count[hidden]{display:none}
@media(max-width:720px){.schedule17{padding:14px!important}.schedule-day-row17{grid-template-columns:1fr;gap:6px}.schedule-interval17 input[type=time]{width:95px}.schedule-calendar-head17>span{display:none}.staff-clock17>strong{font-size:17px}.staff-clock17{padding:12px}.staff-work17 .section-title{flex-wrap:wrap}.shift-part17{gap:4px;grid-template-columns:minmax(0,1fr) 80px 26px 26px}.shift-part17 input{width:58px}.notification-inbox17{padding:6px 14px!important}.notification-row17{padding:11px 0;gap:9px}.chat-compose-row{gap:3px}.chat-compose-row .chat-icon{width:32px;min-width:32px}.chat-compose-row .itas-actions17{width:33px;min-width:33px;height:42px}.chat-compose textarea{padding:10px 8px}.chat-compose-row #chatMention{display:none}.ot-panel17{padding:10px 12px;max-height:56%}.ot-card17{width:280px}.ot-pending17{font-size:9px}.ot-calendar17 .schedule-date17{min-height:43px}.ot-calendar17{gap:4px}.ot-buttons17 button{padding:10px 8px}.chat-header-copy{min-width:0}}

/* Receipt QR details and copy controls, 1.7.1. */
.expense-qr-details17{display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px;border:1px solid #dce9e2;border-radius:12px;background:#fbfdfc}
.expense-qr-details17>.btn{align-self:flex-start;min-height:44px;color:#285d49;border-color:#d6e5dd}
.expense-qr-details17 summary{cursor:pointer;color:#52685d;font-size:13px;padding:8px 0;min-height:32px;box-sizing:border-box}
.expense-qr-details17 textarea{display:block;width:100%;box-sizing:border-box;min-height:112px;max-height:240px;margin:8px 0;padding:10px;border:1px solid #dce5e0;border-radius:8px;background:#fff;color:#263b32;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:16px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap;resize:vertical;user-select:text;-webkit-user-select:text}
.expense-qr-details17 .text-btn{min-height:44px;padding:8px 0;color:#285d49}
.expense-qr-details17 [role=status]{margin:0;color:#52685d;font-size:12px;line-height:1.5}
.expense-qr-details17 [role=status]:empty{display:none}
@media(max-width:720px){.expense-qr-details17>.btn{width:100%;align-self:stretch}}

/* Receipt enrichment and phone import controls, 1.7.2. */
.expense-import-note172{margin:0;padding:12px;border-radius:10px;background:#f1f7f4;color:#3d6756;font-size:13px;line-height:1.6}
.expense-csv-check172{display:grid;gap:12px;padding:14px;border:1px solid #dce7e1;border-radius:12px;background:#fbfdfc;font-size:13px;min-width:0}
.expense-csv-check172 summary{padding:6px 0;cursor:pointer;color:#52685d}
.expense-csv-check172 .form-note,.expense-csv-check172 .expense-warning{margin:0}
.expense-csv-check172 .check-label{white-space:normal;align-items:flex-start;line-height:1.5}
.expense-csv-check172 input[type=checkbox]{flex:none;margin-top:3px}
.expense-csv-compare172{display:grid;grid-template-columns:minmax(70px,.8fr) minmax(0,1fr) minmax(0,1fr);gap:0;font-size:12px;margin-top:8px}
.expense-csv-compare172>div{display:contents}
.expense-csv-compare172 span{padding:9px 5px;border-bottom:1px solid #e8eeeb;overflow-wrap:anywhere;min-width:0}
.expense-csv-compare172>span{color:#748279;font-size:11px}
.expense-csv-compare172 .different>span{background:#fff7e8}
.expense-csv-compare172 small{display:block;font-size:10px;color:#8b641e;margin-top:3px}
@media(max-width:720px){#uploadRequest,#uploadInvoice,#billExcel,#pasteReqRows,#billPaste,.excel-import-desktop172{display:none!important}}

@media(max-width:720px){a[href="/static/examples/request_template.xlsx"]{display:none!important}}
