body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background-color:#f5f5f5;min-height:100vh}.App-header{background-color:#2c3e50;box-shadow:0 2px 4px rgba(0,0,0,.1);color:#fff;padding:20px}.App-header h1{font-size:1.8em;margin:0 0 10px}.App-header nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.App-header nav a{background:hsla(0,0%,100%,.1);border-radius:4px;color:#fff;padding:8px 16px;text-decoration:none;transition:background .2s}.App-header nav a:hover{background:hsla(0,0%,100%,.2)}.test-mode-banner{background:#ff9800;border-radius:4px;color:#fff;font-size:.9em;font-weight:700;margin-top:10px;padding:8px 16px}.App-main{padding:20px}@media (max-width:768px){.App-header h1{font-size:1.4em}.App-main{padding:10px}}.global-demo-banner{background:#b45309;color:#fff;font-size:.85rem;font-weight:600;line-height:1.3;padding:6px 12px;position:sticky;text-align:center;top:0;z-index:1000}.status-badge.status-partially-received{background:#fff3cd;color:#7a5a00}.status-badge.status-closed{background:#e2e8f0;color:#2d3748}.status-badge.status-cancelled{background:#fdecea;color:#b71c1c}.status-badge.status-active{background:#c6f6d5;color:#22543d}.status-badge.status-draft{background:#feebc8;color:#7c2d12}.demo-login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.demo-login-card{animation:slideUp .4s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:600px;padding:40px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.demo-warning-banner{background:#ff6b6b;border-radius:6px;color:#fff;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:24px;padding:12px;text-align:center}.demo-login-card h1{color:#2d3748;font-size:28px;margin:0 0 8px;text-align:center}.demo-login-card h2{color:#718096;font-size:18px;font-weight:400;margin:0 0 24px;text-align:center}.demo-login-form{margin-bottom:32px}.form-group{margin-bottom:20px}.form-group label{color:#2d3748;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input{border:2px solid #e2e8f0;border-radius:6px;box-sizing:border-box;font-size:16px;padding:12px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.form-group input:disabled{background:#f7fafc;cursor:not-allowed}.error-message{background:#fed7d7;border-left:4px solid #fc8181;border-radius:6px;color:#c53030;font-size:14px;margin-bottom:16px}.btn-primary{font-size:16px;padding:14px;width:100%}.btn-primary:hover:not(:disabled){background:#5a67d8}.btn-primary:disabled{background:#cbd5e0;cursor:not-allowed}.demo-credentials-section{background:#f7fafc;border-radius:8px;margin-bottom:24px;padding:20px}.demo-credentials-section h3{color:#2d3748;font-size:16px;margin:0 0 16px}.demo-credentials-grid{grid-gap:12px;display:grid;gap:12px}.btn-credential{background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px;text-align:left;transition:all .2s}.btn-credential:hover{border-color:#667eea;box-shadow:0 2px 8px rgba(102,126,234,.1);transform:translateY(-1px)}.btn-credential strong{color:#2d3748;font-size:14px}.btn-credential small{color:#718096;font-size:12px}.demo-info-section{background:#edf2f7;border-radius:8px;margin-bottom:24px;padding:20px}.demo-info-section h3{color:#2d3748;font-size:16px;margin:0 0 12px}.demo-info-section ul{color:#4a5568;font-size:14px;line-height:1.6;margin:0;padding-left:20px}.demo-info-section li{margin-bottom:6px}.demo-footer{border-top:1px solid #e2e8f0;padding-top:20px}.demo-footer p{color:#718096;font-size:13px;line-height:1.6;margin:0}.demo-footer strong{color:#2d3748}@media (max-width:768px){.demo-login-card{padding:24px}.demo-login-card h1{font-size:24px}.demo-login-card h2{font-size:16px}.demo-credentials-grid{grid-template-columns:1fr}}.pm-logo{display:block;max-width:100%;object-fit:contain;width:auto}.pm-logo-header{height:32px}.pm-logo-footer{height:20px}.pm-logo-login{height:64px;margin:0 auto 12px}@media (max-width:400px){.pm-logo-login{height:52px}}.app-brand-plate{align-items:center;background:#fff;border-radius:8px;display:flex;justify-content:center;padding:6px 10px}.tenant-logo{background:#fff;border-radius:6px;display:block;flex:0 0 auto;object-fit:contain}.pm-footer{align-items:center;color:#718096;display:flex;font-size:12px;gap:8px;justify-content:center;padding:16px 0 8px}.app-topbar .pm-logo-header{height:28px}.app-topbar-logo{margin-left:auto}.dashboard-container{background:#f7fafc;min-height:100vh}.dashboard-header{background:#fff;border-bottom:1px solid #e2e8f0;margin-bottom:24px;padding:24px}.dashboard-header-content{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:0 auto;max-width:1400px}.dashboard-header h1{color:#1a202c;font-size:28px;margin:0 0 8px}.dashboard-subtitle{color:#718096;font-size:14px;margin:0}.dashboard-header-actions{display:flex;gap:12px}.dashboard-content{margin:0 auto;max-width:1400px;padding:0 24px 24px}.dashboard-error,.dashboard-loading{padding:60px 20px;text-align:center}.dashboard-error h2{color:#e53e3e;margin-bottom:12px}.tenant-banner{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px;padding:16px 20px}.tenant-banner,.tenant-info{align-items:center;display:flex}.tenant-info{gap:8px}.tenant-label{font-size:14px;font-weight:600}.tenant-id{font-size:16px;font-weight:500}.demo-badge{background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.3);border-radius:4px;font-size:12px;font-weight:600;padding:6px 12px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.stat-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:32px;height:56px;justify-content:center;width:56px}.stat-icon-total{background:#edf2f7}.stat-icon-active{background:#c6f6d5}.stat-icon-draft{background:#feebc8}.stat-icon-value{background:#e9d8fd}.stat-content{flex:1 1}.stat-label{color:#718096;display:block;font-size:14px;margin-bottom:4px}.stat-value{color:#1a202c;font-size:24px;font-weight:600}.quick-actions-section{margin-bottom:32px}.quick-actions-section h2{color:#1a202c;font-size:20px;margin:0 0 16px}.quick-actions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.action-card{background:#fff;border:2px solid #e2e8f0;border-radius:8px;display:block;padding:20px;text-decoration:none;transition:all .2s}.action-card:hover{border-color:#667eea;box-shadow:0 4px 12px rgba(102,126,234,.1);transform:translateY(-2px)}.action-icon{font-size:32px;margin-bottom:12px}.action-title{color:#1a202c;font-size:16px;font-weight:600;margin-bottom:6px}.action-description{color:#718096;font-size:14px;line-height:1.5}.recent-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:24px;padding:24px}.recent-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.recent-header h2{color:#1a202c;font-size:20px;margin:0}.btn-link{color:#667eea;font-size:14px;font-weight:500;text-decoration:none}.btn-link:hover{color:#5a67d8}.recent-table-container{overflow-x:auto}.recent-table{border-collapse:collapse;width:100%}.recent-table th{background:#f7fafc;border-bottom:2px solid #e2e8f0;color:#4a5568;font-size:14px;font-weight:600;padding:12px;text-align:left}.recent-table td{border-bottom:1px solid #e2e8f0;font-size:14px;padding:12px}.recent-table tbody tr:hover{background:#f7fafc}.po-link{color:#667eea;font-weight:500;text-decoration:none}.po-link:hover{text-decoration:underline}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.status-active{background:#c6f6d5;color:#22543d}.status-draft{background:#feebc8;color:#7c2d12}.status-completed{background:#bee3f8;color:#2c5282}.btn-sm{background:#667eea;border-radius:4px;color:#fff;display:inline-block;font-size:13px;font-weight:500;padding:6px 12px;text-decoration:none;transition:background .2s}.btn-sm:hover{background:#5a67d8}.empty-state{color:#718096;padding:40px 20px}.empty-state p{margin:0 0 16px}.info-banner{background:#edf2f7;border-left:4px solid #667eea;border-radius:4px;color:#2d3748;font-size:14px;line-height:1.6;padding:16px}.btn-primary,.info-banner strong{font-weight:600}.btn-primary{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;padding:10px 20px;text-decoration:none;transition:background .2s}.btn-primary:hover{background:#5a67d8}.btn-secondary{background:#fff;border:2px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;display:inline-block;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-secondary:hover{background:#f7fafc;border-color:#cbd5e0}@media (max-width:768px){.dashboard-header{padding:16px}.dashboard-header h1{font-size:24px}.dashboard-content{padding:0 16px 16px}.quick-actions-grid,.stats-grid{grid-template-columns:1fr}.tenant-banner{align-items:flex-start;flex-direction:column}.recent-table{font-size:13px}.recent-table td,.recent-table th{padding:8px}}@media (max-width:639px){.recent-table-container{overflow-x:visible}.recent-table thead{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.recent-table,.recent-table tbody,.recent-table td,.recent-table tr{box-sizing:border-box;display:block;width:100%}.recent-table tr{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:10px;padding:10px 12px}.recent-table tbody tr:hover{background:#fff}.recent-table td{border:0;display:flex;font-size:14px;gap:12px;justify-content:space-between;overflow-wrap:anywhere;padding:4px 0;text-align:right}.recent-table td:before{color:#718096;content:attr(data-label);flex:0 0 auto;font-weight:600;text-align:left}.recent-table td.rc-title{font-size:15px;font-weight:700}.recent-table td.rc-action{justify-content:flex-end;padding-top:8px}.recent-table td.rc-action:before{content:none}.recent-table td.rc-action .btn-sm{align-items:center;display:inline-flex;min-height:40px;padding:0 16px}}.stat-link{color:inherit;text-decoration:none}.stat-content{min-width:0}.stat-sub{color:#718096;font-size:12px;margin-top:4px;overflow-wrap:anywhere}@media (max-width:639px){.stats-grid{gap:12px}.stat-card{padding:14px}}.sort-bar{flex-wrap:wrap;font-size:14px;gap:8px;margin:0 0 12px}.sort-bar,.sort-bar-label{align-items:center;display:flex}.sort-bar-label{color:#4a5568;flex:1 1 200px;gap:6px;min-width:0}.sort-bar-label select{flex:1 1 auto;font-size:16px;min-width:0;padding:6px 10px}.sort-bar-dir,.sort-bar-label select{background:#fff;border:1px solid #ccc;border-radius:6px;min-height:44px}.sort-bar-dir{cursor:pointer;font-size:14px;padding:6px 12px;white-space:nowrap}.sort-th{background:none;border:0;color:inherit;cursor:pointer;font:inherit;font-weight:600;padding:0;text-align:inherit}.sort-th.active{color:#1a56db}.sort-arrow{color:#a0aec0;font-size:.85em}.sort-th.active .sort-arrow{color:inherit}.sort-bar-narrow{display:none}@media (max-width:639px){.sort-bar-narrow{display:block}}.purchase-orders-list{margin:0 auto;max-width:1200px;padding:20px}.list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.list-header h2{margin:0}.btn-create{background:#d32f2f;border-radius:4px;color:#fff;font-size:14px;font-weight:600;padding:10px 20px;text-decoration:none;transition:background .2s}.btn-create:hover{background:#b71c1c}.empty-state{background:#f9f9f9;border-radius:8px;margin-top:20px;padding:60px 20px;text-align:center}.empty-state p{color:#666;font-size:16px;margin-bottom:20px}.btn-primary-large{background:#d32f2f;border-radius:4px;color:#fff;display:inline-block;font-size:16px;font-weight:600;padding:12px 32px;text-decoration:none;transition:background .2s}.btn-primary-large:hover{background:#b71c1c}.not-found{box-sizing:border-box;margin:40px auto;max-width:600px;overflow-wrap:anywhere;padding:60px 20px;text-align:center}.not-found h2{color:#d32f2f;margin-bottom:16px}.not-found p{color:#666;line-height:1.6;margin-bottom:12px}.not-found .btn-primary{background:#d32f2f;border-radius:4px;box-sizing:border-box;color:#fff;display:inline-block;font-weight:600;margin-top:20px;max-width:100%;min-width:0;padding:12px 24px;text-decoration:none;white-space:normal}@media (max-width:480px){.not-found{margin:16px auto;padding:32px 12px}.not-found .btn-primary{display:block;padding:12px 16px;width:100%}}.not-found .btn-primary:hover{background:#b71c1c}.orders-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.order-card{background:#fff;border:1px solid #ddd;border-radius:8px;color:inherit;padding:20px;text-decoration:none;transition:box-shadow .2s}.order-card:hover{box-shadow:0 4px 8px rgba(0,0,0,.1)}.order-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.order-id{font-size:1.1em;font-weight:700}.order-status{border-radius:12px;font-size:.9em;font-weight:500;padding:4px 12px}.status-active{background:#d4edda;color:#155724}.order-details p{margin:8px 0}.purchase-order-detail{margin:0 auto;max-width:1000px;padding:20px}.detail-top-bar{justify-content:space-between;margin-bottom:20px}.detail-top-bar,.pdf-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.template-selector{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;min-width:200px;padding:10px 15px}.template-selector:hover{border-color:#007bff}.back-link{color:#007bff;display:inline-block;font-weight:500;text-decoration:none}.pdf-download-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.pdf-download-btn:hover:not(:disabled){background:#218838}.pdf-download-btn:disabled{background:#6c757d;cursor:not-allowed}.detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.detail-info{background:#fff;border-radius:8px;margin-bottom:30px;padding:20px}.info-row{border-bottom:1px solid #eee;display:flex;padding:10px 0}.info-row .label{font-weight:700;width:150px}.lines-table-wrapper{margin-bottom:20px;overflow-x:auto}.lines-table{background:#fff;border-collapse:collapse;border-radius:8px;min-width:600px;overflow:hidden;width:100%}.lines-table td,.lines-table th{border-bottom:1px solid #eee;padding:12px;text-align:left}.lines-table th{background:#f8f9fa;font-weight:700}.lines-table td:nth-child(4),.lines-table td:nth-child(5),.lines-table td:nth-child(6),.lines-table th:nth-child(4),.lines-table th:nth-child(5),.lines-table th:nth-child(6){text-align:right}.lines-cards{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.line-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:15px}.line-card-header{align-items:center;border-bottom:2px solid #007bff;display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:10px}.line-num{color:#007bff}.line-amount,.line-num{font-size:1.1em;font-weight:700}.line-amount{color:#28a745}.line-card-body{display:flex;flex-direction:column;gap:8px}.line-card-row{font-size:14px}.line-description{color:#666;font-size:13px}.line-card-details{border-top:1px solid #eee;display:flex;font-weight:500;justify-content:space-between;padding-top:8px}.detail-total{background:#f8f9fa;border-radius:8px;font-size:1.2em;margin-top:20px;padding:15px 20px;text-align:right}.mobile-only{display:none}.desktop-only{display:block}.error,.loading{padding:40px;text-align:center}@media (max-width:768px){.orders-grid{grid-template-columns:1fr}.info-row{flex-direction:column}.info-row .label{margin-bottom:4px;width:auto}.desktop-only{display:none}.mobile-only{display:block}.purchase-order-detail{padding:15px}.detail-top-bar{align-items:stretch;flex-direction:column}.pdf-controls{flex-direction:column;width:100%}.pdf-download-btn,.template-selector{width:100%}}.search-filter-bar{align-items:stretch;background:#f5f5f5;border-radius:4px;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;max-width:100%;padding:12px}.search-filter-btn,.search-filter-input,.search-filter-select{border-radius:4px;box-sizing:border-box;font-size:16px;min-height:40px}.search-filter-input{flex:1 1 180px}.search-filter-input,.search-filter-select{background:#fff;border:1px solid #ddd;min-width:0;padding:8px 12px}.search-filter-select{flex:0 1 140px}.search-filter-actions{display:flex;flex:0 1 auto;flex-wrap:wrap;gap:8px}.search-filter-btn{cursor:pointer;font-weight:600;padding:8px 16px}.search-filter-btn-primary{background:#2196f3;border:none;color:#fff}.search-filter-btn-secondary{background:#fff;border:1px solid #ddd;color:#333}@media (max-width:640px){.list-header{align-items:flex-start;flex-wrap:wrap;gap:10px}.list-header h2{flex:1 1 auto;min-width:0;word-break:break-word}.search-filter-bar{align-items:stretch;flex-direction:column}.search-filter-input,.search-filter-select{flex:1 1 auto;max-width:100%;width:100%}.search-filter-actions{width:100%}.search-filter-btn{flex:1 1;min-width:0}.purchase-orders-list{overflow-x:hidden;padding:12px}}.purchase-order-detail{box-sizing:border-box;max-width:100%;overflow-wrap:anywhere}.purchase-order-detail .po-actions{display:flex;flex-wrap:wrap;gap:8px}.purchase-order-detail .info-row .value{min-width:0;overflow-wrap:anywhere}.modal-root{align-items:center;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.modal-backdrop{background:rgba(0,0,0,.45);inset:0;position:absolute}.modal-panel{background:#fff;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.3);display:flex;flex-direction:column;max-height:calc(100vh - 64px);outline:none;position:relative;width:min(560px,calc(100vw - 32px))}.modal-grabber{display:none}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:14px 16px}.modal-header h3{font-size:17px;margin:0}.modal-close{background:transparent;border:0;border-radius:8px;cursor:pointer;font-size:18px;height:44px;width:44px}.modal-close:hover{background:#f2f2f2}.modal-body{overflow-y:auto;padding:16px}@media (max-width:899px){.modal-root{align-items:flex-end}.modal-panel{animation:sheet-up .2s ease-out;border-radius:16px 16px 0 0;max-height:88vh;padding-bottom:env(safe-area-inset-bottom,0);width:100vw}.modal-grabber{background:#ccc;border-radius:2px;display:block;height:4px;margin:8px auto 0;width:40px}}@keyframes sheet-up{0%{opacity:.6;transform:translateY(40px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.modal-panel{animation:none}}@media (max-width:639px){div.legacy-table-scroll{overflow-x:visible}table.stack-table{border:0;min-width:0!important;width:100%}table.stack-table thead{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}table.stack-table,table.stack-table tbody,table.stack-table td,table.stack-table tfoot,table.stack-table tr{box-sizing:border-box;display:block;width:100%}table.stack-table tr{border:1px solid #e2e8f0;border-radius:10px;margin-bottom:10px;padding:8px 12px}table.stack-table td{align-items:center;border:0;display:flex;gap:12px;justify-content:space-between;min-width:0;overflow-wrap:anywhere;padding:4px 0;text-align:right}table.stack-table td:before{color:#718096;content:attr(data-label);flex:0 0 auto;font-weight:600;max-width:45%;text-align:left}table.stack-table td:not([data-label]):before,table.stack-table td[data-label=""]:before{content:none}table.stack-table td input,table.stack-table td select{max-width:55%;min-width:0}}.md-page{box-sizing:border-box;margin:0 auto;max-width:1100px;padding:16px}.md-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.md-header h2{font-size:22px;margin:0}.md-btn{background:#fff;border:1px solid #ccc;border-radius:6px;color:#222;cursor:pointer;font-size:15px;min-height:44px;padding:0 16px}.md-btn.primary{background:#2e7d32;border-color:#2e7d32;color:#fff}.md-btn.danger{border-color:#e0a0a0;color:#b71c1c}.md-btn.small{font-size:14px;min-height:36px;padding:0 12px}.md-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.md-toolbar input,.md-toolbar select{background:#fff;border:1px solid #ccc;border-radius:6px;box-sizing:border-box;flex:1 1 200px;font-size:16px;min-height:44px;min-width:0;padding:8px 12px}.md-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.md-card{background:#fff;border:1px solid #e3e3e3;border-radius:10px;color:inherit;cursor:pointer;display:block;font:inherit;min-width:0;padding:14px;text-align:left;text-decoration:none}.md-card:hover{border-color:#9bb7e0;box-shadow:0 2px 8px rgba(0,0,0,.06)}.md-card:focus-visible{outline:2px solid #1f6feb}.md-card-title{font-size:15px;font-weight:700;overflow-wrap:anywhere}.md-card-meta{color:#666;font-size:13px;margin-top:4px;overflow-wrap:anywhere}.md-badge{background:#e8f0fe;border-radius:10px;color:#1a4fa0;display:inline-block;font-size:12px;margin-right:6px;margin-top:6px;padding:2px 8px}.md-badge.inactive{background:#fdecea;color:#b71c1c}.md-empty{background:#fff;border:1px dashed #ccc;border-radius:10px;color:#666;padding:24px;text-align:center}.md-error{background:#fdecea;border-radius:6px;color:#b71c1c;margin-bottom:12px;padding:10px 12px}.md-section{background:#fff;border:1px solid #e3e3e3;border-radius:10px;margin-bottom:16px;padding:14px}.md-section-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:8px}.md-section-head h3{font-size:17px;margin:0}.md-dl{grid-gap:6px 12px;display:grid;font-size:14px;gap:6px 12px;grid-template-columns:minmax(110px,30%) 1fr;margin:0}.md-dl dt{color:#666}.md-dl dd{margin:0;overflow-wrap:anywhere}.md-rows{list-style:none;margin:0;padding:0}.md-row{align-items:center;border-top:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:10px 0}.md-row:first-child{border-top:0}.md-row-main{flex:1 1 180px;min-width:0}.md-row-title{font-weight:600;overflow-wrap:anywhere}.md-row-meta{color:#666;font-size:13px;overflow-wrap:anywhere}.md-back{color:#1f6feb;display:inline-block;margin-bottom:8px;min-height:32px;text-decoration:none}.md-field-row{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.md-field-row label{font-size:13px;font-weight:600}.md-field-row select{border:1px solid #ccc;border-radius:6px;font-size:16px;min-height:44px;padding:0 8px}.legacy-table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto;width:100%}.md-page{overflow-wrap:anywhere}.md-page input,.md-page select,.md-page textarea{box-sizing:border-box;max-width:100%}.entity-form{display:flex;flex-direction:column;gap:12px}.entity-grid{display:flex;flex-wrap:wrap;gap:12px}.entity-field{display:flex;flex:1 1 100%;flex-direction:column;gap:4px;min-width:0}.entity-field.half{flex-basis:calc(50% - 6px);flex-grow:1;flex-shrink:1;min-width:140px}.entity-field label{color:#333;font-size:13px;font-weight:600}.entity-field input,.entity-field textarea{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:16px;min-height:44px;padding:10px 12px;width:100%}.entity-field input[aria-invalid=true],.entity-field textarea[aria-invalid=true]{border-color:#c62828}.entity-field .error{color:#c62828;font-size:12px}.entity-form-error{background:#fdecea;border:1px solid #f5c6cb;border-radius:6px;color:#b71c1c;font-size:14px;padding:8px 12px}.entity-actions{display:flex;flex-wrap:wrap;gap:8px}.entity-actions button{border-radius:6px;cursor:pointer;font-size:15px;min-height:44px;padding:0 18px}.entity-actions .btn-primary{background:#1f6feb;border:0;color:#fff}.entity-actions .btn-secondary{background:#fff;border:1px solid #ccc;color:#333}.entity-actions button:disabled,.entity-actions button:disabled:hover{box-shadow:none;cursor:not-allowed;filter:grayscale(30%);opacity:.5;transform:none}.rcv-lines{display:flex;flex-direction:column;gap:10px}.rcv-line{align-items:flex-end;border:1px solid #eee;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px 12px;padding:10px}.rcv-line-info{display:flex;flex:1 1 200px;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}.rcv-qty{flex:0 1 140px!important}.rcv-meta{color:#666;font-size:13px;overflow-wrap:anywhere}.rcv-fill{align-self:flex-start;background:none;border:0;color:#1f6feb;cursor:pointer;font-size:14px;min-height:40px;padding:0}.rcv-danger{background:#c62828!important}.rcpt-panel{background:#fff;border:1px solid #e3e3e3;border-radius:10px;margin-top:16px;padding:14px}.rcpt-panel h3{font-size:17px;margin:0 0 8px}.rcpt-list{list-style:none;margin:0;padding:0}.rcpt-item{border-top:1px solid #f0f0f0;padding:10px 0}.rcpt-item:first-child{border-top:0}.rcpt-item.reversal{background:#fff8f6;border-left:3px solid #e57373;padding-left:8px}.rcpt-item.reversed .rcpt-lines{color:#888;text-decoration:line-through}.rcpt-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 10px}.rcpt-tag{background:#fdecea;border-radius:10px;color:#b71c1c;font-size:12px;padding:1px 8px}.rcpt-tag.muted{background:#eee;color:#555}.rcpt-lines{font-size:14px;margin:6px 0;overflow-wrap:anywhere;padding-left:18px}.rcpt-reverse{background:#fff;border:1px solid #e0a0a0;border-radius:6px;color:#b71c1c;cursor:pointer;min-height:36px;padding:0 12px}.po-status-row{align-items:center;margin:4px 0 12px}.po-actions,.po-status-row{display:flex;flex-wrap:wrap;gap:8px}.po-actions{margin:0 0 16px}.po-actions button{background:#fff;border:1px solid #ccc;border-radius:6px;cursor:pointer;font-size:15px;min-height:44px;padding:0 16px}.po-actions .primary{background:#2e7d32;border-color:#2e7d32;color:#fff}.po-actions .approve{background:#1f6feb;border-color:#1f6feb;color:#fff}.po-actions .danger{border-color:#e0a0a0;color:#b71c1c}.po-progress{color:#555;font-size:13px}.po-cancel-note{background:#fdecea;border-radius:6px;color:#7f1d1d;font-size:14px;margin-bottom:12px;overflow-wrap:anywhere;padding:8px 12px}@media (max-width:639px){.po-actions button{flex:1 1 100%}.rcv-qty{flex:1 1 100%!important}}.po-notice{background:#e8f5e9;border:1px solid #a5d6a7;color:#1b5e20;font-size:14px}.po-error,.po-notice{border-radius:6px;margin-bottom:12px;padding:10px 12px}.po-error{background:#fdecea;color:#b71c1c}.po-form-container{margin:0 auto;max-width:1000px;padding:20px}.po-form{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:24px}.form-section{border-bottom:1px solid #eee;margin-bottom:32px;padding-bottom:24px}.form-section:last-of-type{border-bottom:none}.form-section h3{color:#333;font-size:18px;font-weight:600;margin-bottom:16px}.form-section h4{color:#555;font-size:16px;font-weight:600;margin-bottom:12px}.typeahead-container{position:relative}.typeahead-dropdown{background:#fff;border:1px solid #ddd;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 4px 6px rgba(0,0,0,.1);left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.typeahead-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px}.typeahead-item:hover{background:#f8f8f8}.typeahead-item:last-child{border-bottom:none}.typeahead-item-name{color:#333;font-weight:600;margin-bottom:4px}.typeahead-item-detail{color:#666;font-size:12px}.typeahead-no-match{color:#999;font-style:italic;padding:12px}.form-hint{color:#666;font-size:12px;margin-top:6px}.link-button{background:none;border:none;color:#d32f2f;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.link-button:hover{color:#b71c1c}.selected-vendor-info{background:#f5f5f5;border-radius:4px;color:#555;font-size:14px;line-height:1.6;margin-top:12px;padding:12px}.lines-table{margin-bottom:24px}.lines-table table{border-collapse:collapse;font-size:14px;width:100%}.lines-table th{background:#f5f5f5;border-bottom:2px solid #ddd;font-weight:600;padding:12px;text-align:left}.lines-table td{border-bottom:1px solid #eee;padding:12px}.lines-table tbody tr:hover{background:#fafafa}.lines-table tfoot td{border-top:2px solid #ddd;font-size:16px;padding:16px 12px}.line-item-name{color:#333;font-weight:600;margin-bottom:4px}.line-item-desc{color:#666;font-size:12px}.text-right{text-align:right}.btn-remove{background:none;border:none;color:#d32f2f;cursor:pointer;font-size:24px;line-height:1;padding:0 8px}.btn-remove:hover{color:#b71c1c}.add-line-section{background:#f9f9f9;border-radius:4px;margin-top:16px;padding:20px}.btn-add-line{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;margin-top:24px;padding:10px;width:100%}.btn-add-line:hover:not(:disabled){background:#45a049}.btn-add-line:disabled{background:#ccc;cursor:not-allowed}@media (max-width:768px){.po-form-container{padding:12px}.po-form{padding:16px}.form-section{margin-bottom:24px;padding-bottom:16px}.lines-table{font-size:12px}.lines-table td,.lines-table th{padding:8px 4px}.line-item-desc{display:none}.form-row{grid-template-columns:1fr}.add-line-section .form-row{grid-template-columns:1fr 1fr}.add-line-section .form-row .form-group:last-child{grid-column:1/-1}}@media (max-width:400px){.add-line-section .form-row{grid-template-columns:1fr}.typeahead-item-detail{font-size:11px}}.draft-banner{align-items:center;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:6px;color:#1b5e20;display:flex;flex-wrap:wrap;font-size:14px;gap:8px;justify-content:space-between;margin-bottom:12px;padding:10px 12px}.error-banner{background:#fdecea;border:1px solid #f5c6cb;border-radius:6px;color:#b71c1c;margin:12px 0;padding:10px 12px}.hint-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-size:13px;margin-bottom:8px;padding:8px}.po-form select{background:#fff;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:16px;min-height:44px;padding:8px 12px;width:100%}.po-form-container .link-button{min-height:32px}.lines-table{overflow-x:auto}@media (max-width:639px){.po-form .lines-table{min-width:0}.lines-table table,.lines-table tbody,.lines-table td,.lines-table tfoot,.lines-table tr{box-sizing:border-box;display:block;width:100%}.lines-table thead{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;width:1px}.lines-table tbody tr{border:1px solid #e3e3e3;border-radius:8px;margin-bottom:8px;padding:8px 48px 8px 10px;position:relative}.lines-table td{border:0;display:flex;gap:10px;justify-content:space-between;overflow-wrap:anywhere;padding:3px 0;text-align:right}.lines-table td:before{color:#666;content:attr(data-label);font-weight:600;text-align:left}.lines-table td.lc-num{display:none}.lines-table td.lc-item{display:block;text-align:left}.lines-table td.lc-item:before{content:none}.lines-table td.lc-action{padding:0;position:absolute;right:4px;top:4px;width:auto}.lines-table td.lc-action:before{content:none}.lines-table td.lc-action .btn-remove{min-height:40px;min-width:40px}.lines-table tr.lc-total td{display:none}.lines-table tr.lc-total td:first-child,.lines-table tr.lc-total td:nth-child(2){display:inline-block;padding:6px 4px;width:auto}.lines-table tr.lc-total{text-align:right}.lines-table tr.lc-total td:before{content:none}}.legacy-po-form input[type=number],.legacy-po-form input[type=text],.legacy-po-form select,.legacy-po-form textarea{box-sizing:border-box;max-width:100%;width:100%}.legacy-po-form .lpo-radio{border:0;display:flex;flex-wrap:wrap;gap:16px;margin:0 0 8px;padding:0}.legacy-po-form .lpo-radio legend{font-weight:600;margin-bottom:4px}.legacy-po-form .lpo-line{border:1px solid #e0e0e0;border-radius:6px;margin-bottom:10px;padding:10px}.legacy-po-form .lpo-line-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.legacy-po-form .lpo-total{margin-top:10px;text-align:right}.legacy-po-form .lpo-gst-row{align-items:end}.legacy-po-form .form-hint,.legacy-po-form .typeahead-item-name{overflow-wrap:anywhere}.profile-admin-container{margin:0 auto;max-width:1200px;padding:20px}.admin-banner{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-size:14px;font-weight:600;margin-bottom:20px;padding:12px;text-align:center}.profiles-list{margin-bottom:40px}.profiles-table{background:#fff;border-collapse:collapse;margin-top:16px;width:100%}.profiles-table td,.profiles-table th{border-bottom:1px solid #ddd;padding:12px;text-align:left}.profiles-table th{background:#f5f5f5;font-weight:600}.btn-edit{background:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px}.btn-edit:hover{background:#1976d2}.btn-add-profile{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;margin-top:16px;padding:12px 24px}.btn-add-profile:hover{background:#45a049}.profile-form-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:24px}.profile-form .form-section{border-top:1px solid #eee;margin-top:24px;padding-top:24px}.profile-form .form-section h4{color:#333;margin-bottom:16px}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin-bottom:20px;padding:12px}@media (max-width:768px){.profiles-table{font-size:12px}.profiles-table td,.profiles-table th{padding:8px 4px}}.company-name-line{margin:4px 0 12px;overflow-wrap:anywhere}.readonly-tag{background:#eceff1;border-radius:10px;color:#37474f;font-size:12px;margin-left:6px;padding:2px 8px}.profile-admin-container,.profile-admin-container input,.profile-admin-container select,.profile-admin-container textarea{box-sizing:border-box;max-width:100%}@media (max-width:639px){.profile-admin-container{padding:12px}.profiles-table,.profiles-table tbody,.profiles-table td,.profiles-table tr{box-sizing:border-box;display:block;width:100%}.profiles-table thead{display:none}.profiles-table tr{background:#fff;border:1px solid #e3e3e3;border-radius:10px;margin-bottom:10px;padding:8px 12px}.profiles-table td{border:0;overflow-wrap:anywhere;padding:4px 0}.profiles-table td[data-label]:not([data-label=""]):before{color:#666;content:attr(data-label);display:block;font-size:12px;font-weight:600}.profile-form .form-row{display:block}}.inv-note{color:#555;font-size:13px;margin:-4px 0 12px}.inv-table{background:#fff;border:1px solid #e3e3e3;border-radius:10px;overflow:hidden}.inv-row{grid-gap:12px;align-items:center;border-top:1px solid #f0f0f0;display:grid;font-size:14px;gap:12px;grid-template-columns:minmax(0,2fr) minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);padding:12px 14px}.inv-row>span{min-width:0;overflow-wrap:anywhere}.inv-head{background:#f7f8fa;border-top:0;color:#555;font-size:13px;font-weight:600}.inv-row .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.inv-item{display:flex;flex-direction:column;gap:2px}.inv-vendor a{color:#1f6feb;text-decoration:none}@media (max-width:639px){.inv-head{display:none}.inv-row{gap:6px 12px;grid-template-columns:1fr 1fr}.inv-item,.inv-vendor{grid-column:1/-1}.inv-row .num{text-align:left}.inv-row [data-label]:before{color:#666;content:attr(data-label);display:block;font-size:12px;font-weight:600}.inv-vendor:before{display:inline!important;margin-right:6px}}.app-shell{background:#f5f5f5;min-height:100vh}.app-sidebar{background:#1f2d3d;bottom:0;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;left:0;overflow-y:auto;padding:16px 12px;position:fixed;top:0;top:var(--demo-banner-h,0);width:232px;z-index:40}.app-brand{font-size:18px;font-weight:700;letter-spacing:.3px;padding:4px 10px 12px}.app-user{background:hsla(0,0%,100%,.06);border-radius:8px;margin-bottom:8px;padding:10px}.app-user-name{font-size:14px;font-weight:600}.app-user-meta{font-size:12px;margin-top:2px;opacity:.75}.app-nav-list{flex:1 1;list-style:none;margin:0;padding:0}.app-nav-link{align-items:center;border-left:3px solid transparent;border-radius:8px;color:#d6dee8;display:flex;font-size:14px;gap:10px;margin:2px 0;min-height:44px;padding:0 12px;text-decoration:none}.app-nav-link:hover{background:hsla(0,0%,100%,.08);color:#fff}.app-nav-link:focus-visible{outline:2px solid #7fb3ff;outline-offset:1px}.app-nav-link.active{background:rgba(196,30,58,.22);border-left-color:#c41e3a;color:#fff;font-weight:600}.app-nav-icon{text-align:center;width:20px}.app-logout{background:transparent;border:1px solid hsla(0,0%,100%,.25);border-radius:8px;color:#fff;cursor:pointer;font-size:14px;margin-top:12px;min-height:44px}.app-logout:hover{background:hsla(0,0%,100%,.08)}.app-account-link{align-items:center;border-radius:6px;color:hsla(0,0%,100%,.8);display:flex;font-size:14px;justify-content:center;margin-top:auto;min-height:40px;text-decoration:none}.app-account-link:hover{background:hsla(0,0%,100%,.08)}.app-main{margin-left:232px;min-width:0}.app-topbar{align-items:center;background:#fff;border-bottom:1px solid #e3e6ea;box-sizing:border-box;color:#1f2d3d;display:flex;height:44px;justify-content:flex-end;margin-left:232px;padding:0 24px;position:sticky;top:0;top:var(--demo-banner-h,0);z-index:30}.app-topbar .app-topbar-logo,.app-topbar .app-topbar-title,.app-topbar .nav-toggle{display:none}.app-topbar-welcome{font-size:14px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-backdrop{display:none}@media (max-width:899px){.app-topbar{align-items:center;background:#1f2d3d;border-bottom:0;color:#fff;display:flex;gap:8px;height:52px;justify-content:flex-start;margin-left:0;padding:0 8px;position:sticky;top:0;top:var(--demo-banner-h,0);z-index:30}.app-topbar .app-topbar-logo,.app-topbar .app-topbar-title,.app-topbar .nav-toggle{display:revert}.app-topbar .nav-toggle{flex:0 0 44px}.app-topbar .app-topbar-title{flex:1 1 auto;min-width:0}.app-topbar .app-topbar-welcome{flex:0 0 auto;font-size:13px;font-weight:500;max-width:42vw;opacity:.9}.app-topbar .app-topbar-logo{flex:0 0 auto}.nav-toggle{background:transparent;border:0;border-radius:8px;color:#fff;cursor:pointer;font-size:22px;height:44px;width:44px}.nav-toggle:focus-visible{outline:2px solid #7fb3ff}.app-topbar-title{font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar{transform:translateX(-100%);transition:transform .2s ease,visibility 0s linear .2s;visibility:hidden;width:min(280px,84vw);z-index:60}.nav-open .app-sidebar{box-shadow:2px 0 12px rgba(0,0,0,.3);transform:translateX(0);transition:transform .2s ease,visibility 0s;visibility:visible}.nav-backdrop{background:rgba(0,0,0,.4);display:block;inset:0;position:fixed;z-index:50}.app-main{margin-left:0}}@media (prefers-reduced-motion:reduce){.app-sidebar{transition:none}}@media print{.app-sidebar,.app-topbar,.nav-backdrop{display:none!important}.app-main{margin-left:0}}.readonly-copy-banner{background:#fff4e5;border:1px solid #f0a020;border-radius:6px;color:#7a4a00;font-size:13px;font-weight:600;margin:0 0 12px;overflow-wrap:anywhere;padding:8px 12px}.app-user-with-logo{align-items:center;display:flex;gap:10px}.app-user-text{min-width:0;overflow-wrap:anywhere}.usr-note{color:#555;font-size:13px;margin:-4px 0 12px}.usr-notice{background:#e8f5e9;border:1px solid #a5d6a7;border-radius:6px;color:#1b5e20;font-size:14px;margin-bottom:12px;padding:10px 12px}.usr-list{grid-gap:10px;display:grid;gap:10px;list-style:none;margin:0;padding:0}.usr-card{align-items:center;background:#fff;border:1px solid #e3e3e3;border-radius:10px;display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:space-between;padding:12px 14px}.usr-card.inactive{background:#fafafa;opacity:.7}.usr-main{flex:1 1 220px;min-width:0}.usr-actions{display:flex;flex-wrap:wrap;gap:6px}.usr-role{border-radius:10px;display:inline-block;font-size:12px;font-weight:600;margin:6px 6px 0 0;padding:2px 8px}.role-tenant_admin{background:#ede7f6;color:#4527a0}.role-purchase_manager{background:#e3f2fd;color:#0d47a1}.role-purchaser{background:#e8f5e9;color:#1b5e20}.role-viewer{background:#eceff1;color:#37474f}.usr-select{border:1px solid #ccc;border-radius:6px;font-size:16px;min-height:44px;padding:0 8px}.usr-temp{background:#fff8e1;border:1px dashed #f0b429;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;letter-spacing:.5px;overflow-wrap:anywhere;padding:12px;text-align:center;-webkit-user-select:all;user-select:all}@media (max-width:639px){.usr-actions{width:100%}.usr-actions .md-btn{flex:1 1 auto}}.role-finance{background:#fff3e0;color:#e65100}.usr-audit{margin-top:24px}.usr-audit h3{font-size:16px;margin:0 0 10px}.usr-audit-list{grid-gap:8px;display:grid;gap:8px;list-style:none;margin:0;padding:0}.usr-audit-item{background:#fff;border:1px solid #e3e3e3;border-radius:8px;min-width:0;padding:10px 12px}.usr-audit-when{color:#555;font-size:12px}.usr-audit-what{font-size:14px;overflow-wrap:anywhere}@media (max-width:639px){.usr-audit-item{padding:10px}}