@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=DM+Sans:wght@300;400;500;600;700&display=swap";:root{--bg:#f4f6fb;--surface:#fff;--surface2:#eef2f9;--border:#d8deeb;--border2:#bfc7d8;--amber:#1a73e8;--amber-dim:#1557b0;--amber-glow:#1a73e81a;--blue:#1a73e8;--blue-dim:#1557b0;--blue-glow:#1a73e81a;--blue-light:#4a9eff;--blue-lighter:#e3efff;--warn:#f0a500;--warn-dim:#c47e00;--warn-glow:#f0a5001f;--green:#0f9d58;--red:#d93025;--purple:#6a5acd;--teal:#00acc1;--orange:#f57c00;--text:#1a1f36;--text-dim:#4a5568;--text-muted:#8892a4;--mono:"IBM Plex Mono",monospace;--sans:"DM Sans",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;width:228px;min-width:228px;height:100vh;display:flex;position:relative;overflow:hidden}.sidebar:before{content:"";pointer-events:none;background:radial-gradient(circle,#1a73e814 0%,#0000 70%);width:240px;height:240px;position:absolute;top:-80px;left:-80px}.logo{border-bottom:1px solid var(--border);padding:20px 20px 16px}.logo-mark{font-family:var(--mono);color:var(--amber);letter-spacing:-.5px;font-size:19px;font-weight:600}.logo-sub{color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;margin-top:2px;font-size:12px}.logo-tag{color:var(--blue);font-size:12px;font-family:var(--mono);background:#1a73e81a;border:1px solid #1a73e840;border-radius:4px;align-items:center;gap:4px;margin-top:6px;padding:2px 7px;font-weight:500;display:inline-flex}nav{flex:1;padding:10px 0;overflow-y:auto}nav::-webkit-scrollbar{width:3px}nav::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}.nav-section{margin-bottom:2px;padding:0 10px}.nav-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;padding:7px 8px 3px;font-size:12px}.nav-item{cursor:pointer;color:var(--text-dim);text-align:left;width:100%;font-size:15.5px;font-weight:400;font-family:var(--sans);background:0 0;border:none;border-radius:6px;align-items:center;gap:9px;margin-bottom:1px;padding:8px 10px;transition:all .15s;display:flex;position:relative}.nav-item:hover{background:var(--surface2);color:var(--text)}.nav-item.active{background:var(--amber-glow);color:var(--amber);font-weight:500}.nav-item.active:before{content:"";background:var(--amber);border-radius:0 2px 2px 0;width:3px;position:absolute;top:4px;bottom:4px;left:0}.nav-icon{text-align:center;width:16px;font-size:16px}.badge{background:var(--amber);color:#fff;font-size:13px;font-weight:600;font-family:var(--mono);text-align:center;border-radius:10px;min-width:17px;margin-left:auto;padding:1px 5px}.badge.red{background:var(--red)}.badge.blue{background:var(--blue)}.sidebar-footer{border-top:1px solid var(--border);background:var(--surface2);padding:14px 18px}.btn-logout{background:var(--blue);color:#fff;width:100%;font-family:var(--sans);cursor:pointer;letter-spacing:.2px;border:none;border-radius:6px;justify-content:center;align-items:center;padding:9px 12px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.btn-logout:hover{background:var(--blue-dim)}.user-info{align-items:center;gap:9px;margin-bottom:10px;display:flex}.avatar{background:var(--amber-glow);border:1px solid var(--amber-dim);width:30px;height:30px;font-family:var(--mono);color:var(--amber);border-radius:6px;justify-content:center;align-items:center;font-size:13.5px;font-weight:600;display:flex}.user-name{font-size:15.5px;font-weight:500}.user-role{color:var(--text-muted);font-size:13px}.main{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;height:52px;min-height:52px;padding:0 24px;display:flex}.topbar-title{flex:1;font-size:17px;font-weight:600}.topbar-date{font-family:var(--mono);color:var(--text-muted);white-space:nowrap;font-size:13.5px}.search-box{background:var(--surface2);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;align-items:center;gap:7px;width:190px;padding:5px 10px;font-size:15.5px;display:flex}.search-box input{color:var(--text);font-family:var(--sans);background:0 0;border:none;outline:none;width:100%;font-size:15.5px}.notif-btn{background:var(--surface2);border:1px solid var(--border);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex;position:relative}.notif-dot{background:var(--red);border:1.5px solid var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.btn{font-family:var(--sans);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;align-items:center;gap:6px;padding:7px 13px;font-size:15.5px;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--amber);color:#fff}.btn-primary:hover{background:var(--amber-dim)}.btn-ghost{border:1px solid var(--border2);color:var(--text-dim);background:0 0}.btn-ghost:hover{border-color:var(--text-dim);color:var(--text)}.btn-sm{padding:5px 10px;font-size:14.5px}.btn-approve{color:var(--green);background:#2dd98b1f;border:1px solid #2dd98b4d}.btn-approve:hover{background:#2dd98b33}.btn-reject{color:var(--red);background:#f050501a;border:1px solid #f0505040}.btn-reject:hover{background:#f050502e}.btn-blue{color:var(--blue);background:#4a9eff1a;border:1px solid #4a9eff4d}.content{flex:1;width:100%;min-height:0;padding:24px 28px;overflow:hidden auto}.content::-webkit-scrollbar{width:5px}.content::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px 20px;position:relative;overflow:hidden}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:9px;font-size:13.5px}.stat-value{font-family:var(--mono);font-size:27px;font-weight:600;line-height:1}.stat-meta{color:var(--text-muted);margin-top:7px;font-size:13.5px}.section-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-title{font-size:16px;font-weight:600}.section-sub{color:var(--text-muted);margin-top:2px;font-size:13.5px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;overflow:hidden}table{border-collapse:collapse;width:100%}thead th{text-align:left;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);background:var(--surface2);border-bottom:1px solid var(--border);padding:10px 14px;font-size:13px;font-weight:500}tbody tr{border-bottom:1px solid var(--border);transition:background .1s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--surface2)}td{padding:12px 14px;font-size:15.5px}.mono{font-family:var(--mono);font-size:14.5px}.dim{color:var(--text-dim)}.amount{font-family:var(--mono);font-weight:600}.pill{font-size:13.5px;font-weight:500;font-family:var(--mono);border-radius:20px;align-items:center;gap:5px;padding:3px 8px;display:inline-flex}.pill:before{content:"●";font-size:9px}.pill-pending{color:var(--warn);background:#f0a5001a}.pill-approved{color:var(--green);background:#2dd98b1a}.pill-rejected{color:var(--red);background:#f050501a}.pill-draft{color:var(--text-muted);background:#4e56684d}.pill-active{color:var(--green);background:#2dd98b1a}.pill-submitted{color:var(--blue);background:#4a9eff1a}.pill-inreview{color:var(--purple);background:#9b7fee1a}.pill-cancelled{color:var(--text-muted);background:#4e56684d}.pill-high{color:var(--red);background:#f050501a}.pill-medium{color:var(--warn);background:#f0a5001a}.pill-low{color:var(--green);background:#2dd98b1a}.pill-critical{color:var(--red);background:#f0505026}.priority{font-family:var(--mono);font-size:13.5px;font-weight:600}.priority-high,.priority-critical{color:var(--red)}.priority-medium{color:var(--warn)}.priority-low{color:var(--text-dim)}.dash-grid{grid-template-columns:1fr 340px;gap:18px;display:grid}.activity-item{border-bottom:1px solid var(--border);gap:10px;padding:12px 18px;font-size:15.5px;display:flex}.activity-item:last-child{border-bottom:none}.act-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:6px}.act-text{flex:1;line-height:1.5}.act-time{font-family:var(--mono);color:var(--text-muted);margin-top:2px;font-size:13px}.filter-bar{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:18px;display:flex}.filter-chip{border:1px solid var(--border2);cursor:pointer;color:var(--text-dim);font-size:11.5px;font-family:var(--sans);background:0 0;border-radius:20px;padding:4px 11px;transition:all .15s}.filter-chip.active{border-color:var(--amber);color:var(--amber);background:var(--amber-glow)}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border2);border-radius:14px;width:520px;max-height:88vh;padding:26px;overflow-y:auto}.modal-title{justify-content:space-between;align-items:center;margin-bottom:18px;font-size:17px;font-weight:600;display:flex}.modal-close{cursor:pointer;color:var(--text-muted);font-size:22px;line-height:1;font-family:var(--sans);background:0 0;border:none}.modal-close:hover{color:var(--text)}.form-row{margin-bottom:14px}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;font-size:13.5px;display:block}.form-input,.form-select,.form-textarea{background:var(--bg);border:1px solid var(--border2);width:100%;color:var(--text);font-family:var(--sans);border-radius:6px;outline:none;padding:8px 11px;font-size:15.5px;transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--amber)}.form-textarea{resize:vertical;min-height:72px}.form-row-2{grid-template-columns:1fr 1fr;gap:11px;display:grid}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:18px;display:flex}.toast{background:var(--surface2);border:1px solid var(--border2);z-index:200;border-radius:8px;align-items:center;gap:9px;min-width:240px;padding:12px 16px;font-size:15.5px;animation:.3s slideUp;display:flex;position:fixed;bottom:24px;right:24px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.vendor-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:18px;transition:border-color .15s}.vendor-card:hover{border-color:var(--border2)}.vendor-name{margin-bottom:3px;font-size:16px;font-weight:600}.vendor-cat{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-size:13px}.empty{text-align:center;color:var(--text-muted);padding:44px 20px}.empty-icon{margin-bottom:10px;font-size:40px}.empty-text{font-size:15.5px}.tabs{background:var(--surface2);border-radius:8px;gap:2px;width:fit-content;margin-bottom:18px;padding:3px;display:flex}.tab{cursor:pointer;color:var(--text-dim);font-size:15.5px;font-weight:400;font-family:var(--sans);background:0 0;border:none;border-radius:6px;padding:6px 14px;transition:all .15s}.tab.active{background:var(--surface);color:var(--text);font-weight:500;box-shadow:0 1px 3px #00000026}.actions{flex-wrap:wrap;align-items:center;gap:5px;display:flex}body{font-size:17px;line-height:1.55}td{line-height:1.45}*{scrollbar-width:thin;scrollbar-color:var(--border2) transparent}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer}input[type=date]{week-number-start:1}::-webkit-datetime-edit-week-number-field{display:none}input[type=date]{-webkit-locale:"en-GB"}
