*,:after,:before{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:#f3f4f6}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}:root{--blue:#2563eb;--blue-light:#dbeafe;--blue-dark:#1e3a5f;--green:#16a34a;--green-light:#dcfce7;--red:#b91c1c;--red-light:#fee2e2;--yellow:#92400e;--yellow-light:#fef3c7;--purple:#6b21a8;--purple-light:#f3e8ff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-700:#374151;--gray-900:#111827;--radius:0.75rem;--shadow:0 1px 3px rgba(0,0,0,.08);--shadow-md:0 4px 16px rgba(0,0,0,.1)}.dashboard-shell{display:flex;min-height:100vh;min-height:100dvh}.sidebar{width:240px;flex-shrink:0;background:var(--blue-dark);color:#fff;display:flex;flex-direction:column;padding:1.5rem 1rem;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.main-content{flex:1 1;overflow:auto;min-width:0;padding:1.5rem 1.5rem 5rem}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--gray-200);z-index:100;padding-bottom:env(safe-area-inset-bottom,0)}@media (max-width:768px){.sidebar{display:none}.bottom-nav{display:flex}.main-content{padding:1rem 1rem 5.5rem}.card-row{flex-direction:column!important;align-items:flex-start!important}.card-actions{width:100%;margin-top:.75rem}.card-actions a,.card-actions button{width:100%;text-align:center}.btn-row{flex-direction:column!important}.btn-row button{width:100%}.desktop-only{display:none!important}}@media (min-width:769px){.mobile-only{display:none!important}.main-content{padding-bottom:1.5rem}}.bottom-nav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.625rem .25rem;color:var(--gray-500);font-size:.65rem;font-weight:500;border:none;background:none;cursor:pointer;position:relative;text-decoration:none;min-height:56px}.bottom-nav-item.active{color:var(--blue)}.bottom-nav-item svg{width:22px;height:22px}.nav-badge{position:absolute;top:6px;right:calc(50% - 18px);background:#ef4444;color:#fff;font-size:.6rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px}.card{background:#fff;border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.card-highlight{box-shadow:0 0 0 2px var(--blue),var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:.5rem;font-weight:600;font-size:.9rem;border:none;cursor:pointer;transition:opacity .15s;min-height:44px;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn-danger{background:var(--red-light);color:var(--red);border:1px solid #fca5a5}.btn-ghost{background:var(--gray-100);color:var(--gray-700)}.btn-ghost:hover:not(:disabled){background:var(--gray-200)}.btn-success{background:var(--green-light);color:var(--green);border:1px solid #86efac}.btn-lg{padding:1rem 1.5rem;font-size:1rem;min-height:52px}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600}.input{width:100%;padding:.75rem;border:1px solid var(--gray-200);border-radius:.5rem;font-size:1rem;outline:none;transition:border-color .15s;min-height:44px}.input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.address-row{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--gray-100)}.address-row:last-child{border-bottom:none}.address-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:5px}.section-title{font-size:.8rem;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--gray-200)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}.page-title{font-size:1.375rem;font-weight:700;color:var(--gray-900);margin:0}.empty-state{text-align:center;padding:3rem 1rem;color:var(--gray-400)}.empty-state svg{width:48px;height:48px;margin-bottom:1rem;opacity:.4}.approval-banner{background:#eff6ff;border:2px solid var(--blue);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem}.approval-banner-title{font-weight:700;color:var(--blue);font-size:1rem;margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}