*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-height:100%;display:block;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji"}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--color-bg-main: #D1D5DB;--color-bg-sidebar: #E8EBF0;--color-surface: #FFFFFF;--color-surface-hover: #F8F9FA;--color-surface-selected: #E8F5E9;--color-blue: #475569;--color-blue-dark: #334155;--color-blue-light: #E2E8F0;--color-navy: #1E293B;--color-navy-light: #334155;--color-blue-gray: #F1F5F9;--color-blue-gray-border: #CBD5E1;--color-text-primary: #0F172A;--color-text-secondary: #334155;--color-text-muted: #64748B;--color-text-inverse: #FFFFFF;--color-accent: #B8D949;--color-accent-dark: #9AC734;--color-accent-soft: #E8F5E9;--color-accent-2: #FF9D3F;--color-accent-2-light: #FFE8D6;--color-success: #10B981;--color-success-light: #D1FAE5;--color-warning: #F59E0B;--color-warning-light: #FEF3C7;--color-danger: #EF4444;--color-danger-light: #FEE2E2;--color-border: #CBD5E0;--color-border-strong: #94A3B8;--color-border-focus: #B8D949;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .12), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .12), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .12), 0 10px 10px -5px rgba(0, 0, 0, .04);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;--font-h1: 2rem;--font-h2: 1.5rem;--font-h3: 1.25rem;--font-body: 1rem;--font-small: .875rem;--font-tiny: .75rem;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-body);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-bg-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:var(--weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-h1)}h2{font-size:var(--font-h2)}h3{font-size:var(--font-h3)}.np-app{display:flex;height:100vh;background:var(--color-bg-main);color:var(--color-text-primary)}.np-sidebar{width:280px;background:var(--color-bg-sidebar);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:var(--space-6);box-shadow:var(--shadow-md)}.np-main{flex:1;overflow-y:auto;padding:var(--space-8);max-width:1200px;margin:0 auto;width:100%}.np-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-8)}.np-topbarLeft{min-width:0}.np-title{font-size:var(--font-h1);font-weight:var(--weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-1)}.np-subtitle{font-size:var(--font-body);color:var(--color-text-secondary)}.np-topbarRight{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.np-content{padding-bottom:var(--space-12)}.np-outlinedCard{display:flex;align-items:center;justify-content:space-between;padding:.6rem .8rem;background:#fff;border-radius:var(--radius-sm);margin-bottom:.75rem;color:var(--color-text-primary);border:2px solid var(--color-accent);border-left:4px solid var(--color-accent);box-shadow:0 6px 14px #0f172a14}.np-expenseCard{transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);overflow:hidden}.np-expenseCard:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 10px 22px #6ea02829,var(--shadow-md);border-color:var(--color-accent-dark);border-left-color:var(--color-accent-dark)}.np-expenseCard.is-expanded{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--color-accent-dark);border-left-color:var(--color-accent-dark)}.np-expenseDetails{max-height:0;opacity:0;overflow:hidden;transition:max-height .26s cubic-bezier(.16,.84,.2,1),opacity .22s ease 80ms,margin-top .22s ease,transform .22s ease 80ms;width:100%;transform:translateY(6px)}.np-expenseCard.is-expanded .np-expenseDetails{max-height:560px;opacity:1;margin-top:var(--space-4);transform:translateY(0)}.np-receiptImage{width:100%;max-height:320px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.np-workspace{position:relative;background:linear-gradient(135deg,#f5f7fa,#e8ebf0);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}.np-workspaceAvatar{display:inline-flex;margin-top:-10px;border-radius:var(--radius-full)}.np-workspaceAvatar .np-avatar{width:70px;height:70px;font-size:1rem;border-width:0}.np-workspaceLabel{font-size:var(--font-small);color:var(--color-text-muted);font-weight:var(--weight-medium);margin-top:var(--space-4)}.np-workspaceNameCard{background:var(--color-accent);color:#0f172a;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:inline-flex;font-weight:var(--weight-bold)}.np-workspaceUserText{display:flex;flex-direction:column;gap:var(--space-1)}.np-workspaceUserAction{display:flex;align-items:center;gap:var(--space-3);width:100%;background:transparent;border:none;padding:0;cursor:pointer;text-align:left}.np-workspaceAction{display:inline-flex;background:transparent;border:none;padding:0;cursor:pointer;transition:all 90ms cubic-bezier(.2,.9,.2,1)}.np-workspaceAction:hover .np-workspaceNameCard{transform:scale(1.04)}.np-workspaceUserAction:hover .np-userName{transform:scale(1.02)}.np-workspaceUserAction .np-userName{transition:transform 90ms cubic-bezier(.2,.9,.2,1)}.np-userName{font-size:var(--font-body);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.np-userMeta{font-size:var(--font-small);color:var(--color-text-muted)}.np-nav{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.np-navItem{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-weight:var(--weight-semibold);font-size:var(--font-body);color:#344054;font-family:Avenir Next,Nunito,Segoe UI,sans-serif;background:transparent;border:none;cursor:pointer;transition:all 90ms cubic-bezier(.2,.9,.2,1);text-align:left;width:100%;box-shadow:-2px 2px 6px #0f172a0f}.np-navIcon{display:inline-flex;width:20px;height:20px;color:inherit;transition:transform 90ms cubic-bezier(.2,.9,.2,1)}.np-navItem:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.np-navItem.active{background:var(--color-accent-soft);color:#0f172a;font-weight:var(--weight-semibold);box-shadow:inset 3px 0 0 var(--color-accent)}.np-navItem:hover .np-navIcon{transform:scale(1.22)}.np-navItem>span:last-child{transition:transform 90ms cubic-bezier(.2,.9,.2,1)}.np-navItem:hover>span:last-child{transform:scale(1.04)}.np-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.np-card:hover{box-shadow:var(--shadow-md)}.np-cardAccent{background:linear-gradient(135deg,#ddf59a,#cfea7a);border:1px solid #A7D64A;color:#0f172a;box-shadow:0 8px 18px #6ea0282e}.np-cardAccent .np-cardTitle{color:#0f172a}.np-cardAccent .np-ghostBtn{background:#0f172a0f;border-color:#0f172a33;color:#0f172a}.np-cardAccent .np-ghostBtn:hover{background:#0f172a1f}.np-cardAccentInner{background:#fffc;border:1px solid rgba(15,23,42,.08);border-radius:var(--radius-lg);padding:var(--space-4)}.np-insightCard{transition:transform .24s cubic-bezier(.16,.84,.2,1),box-shadow .24s cubic-bezier(.16,.84,.2,1),opacity .24s cubic-bezier(.16,.84,.2,1);cursor:pointer}.np-insightCard.is-dim{opacity:.5;transform:scale(.95);filter:saturate(.85)}.np-insightCard.is-active{transform:scale(1.025);box-shadow:var(--shadow-lg)}.np-insightDetails{max-height:0;opacity:0;overflow:hidden;margin-top:0;transform:translateY(6px);transition:max-height .26s ease,opacity .26s ease,margin-top .26s ease,transform .26s ease}.np-insightCard.is-active .np-insightDetails{max-height:220px;opacity:1;margin-top:var(--space-4);transform:translateY(0)}.np-insightRow{font-size:var(--font-small);color:var(--color-text-secondary);padding:.35rem 0;display:flex;justify-content:space-between;align-items:center}.np-insightStat{font-weight:var(--weight-semibold);color:var(--color-text-primary);animation:insightPop .32s cubic-bezier(.16,.84,.2,1)}.np-insightDelta{font-weight:var(--weight-semibold);animation:insightPop .32s cubic-bezier(.16,.84,.2,1)}.np-insightDelta.up{color:var(--color-success)}.np-insightDelta.down{color:var(--color-danger)}@keyframes insightPop{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}.np-cardHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.np-cardTitle{font-size:var(--font-h3);font-weight:var(--weight-bold);color:var(--color-text-primary)}.np-cardBody{display:flex;flex-direction:column;gap:var(--space-4)}.np-primaryBtn{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-dark) 100%);color:var(--color-text-primary);font-weight:var(--weight-semibold);font-size:var(--font-body);padding:var(--space-4) var(--space-6);border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 2px 8px #b8d9494d}.np-primaryBtn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #b8d94966}.np-primaryBtn:active{transform:translateY(0)}.np-primaryBtn:disabled{opacity:.5;cursor:not-allowed;transform:none}.np-secondaryBtn{background:var(--color-accent-2);color:var(--color-text-inverse);font-weight:var(--weight-semibold);font-size:var(--font-body);padding:var(--space-4) var(--space-6);border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 2px 8px #ffae5840}.np-secondaryBtn:hover{background:#ff9d3f;transform:translateY(-1px);box-shadow:0 4px 12px #ffae5859}.np-ghostBtn{background:transparent;color:var(--color-text-secondary);font-weight:var(--weight-medium);font-size:var(--font-body);padding:var(--space-3) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.np-ghostBtn:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong);color:var(--color-text-primary)}.np-input,.np-textarea,.np-select{width:100%;padding:var(--space-4);font-size:var(--font-body);font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.np-input:focus,.np-textarea:focus,.np-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.np-input::placeholder,.np-textarea::placeholder{color:var(--color-text-muted)}.np-textarea{resize:vertical;min-height:100px}.np-label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-small);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.np-pill{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-4);font-size:var(--font-small);font-weight:var(--weight-semibold);background:var(--color-surface-hover);color:var(--color-text-secondary);border-radius:var(--radius-full);border:1px solid var(--color-border)}.np-bigNumber{font-size:2.5rem;font-weight:var(--weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}.np-muted{font-size:var(--font-small);color:var(--color-text-muted)}.np-modalBackdrop{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.np-modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;padding:var(--space-8)}.np-modalHeader{margin-bottom:var(--space-6)}.np-modalTitle{font-size:var(--font-h2);font-weight:var(--weight-bold);color:var(--color-text-primary)}.np-modalActions{display:flex;gap:var(--space-3);margin-top:var(--space-6);justify-content:flex-end}.np-list{display:flex;flex-direction:column;gap:var(--space-3)}.np-listItem{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);display:flex;align-items:center;justify-content:space-between;transition:all var(--transition-fast)}.np-listItem:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.np-avatar{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-semibold);font-size:var(--font-small);background:var(--color-accent);color:var(--color-text-primary);border:2px solid var(--color-surface);box-shadow:var(--shadow-sm)}.np-divider{height:1px;background:var(--color-border);margin:var(--space-6) 0}.np-grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.np-grid-2{display:grid;gap:var(--space-6);grid-template-columns:repeat(2,1fr)}@media(max-width:768px){.np-grid-2{grid-template-columns:1fr}}.np-toast{position:fixed;top:var(--space-6);right:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);box-shadow:var(--shadow-lg);z-index:2000;max-width:400px;animation:slideIn var(--transition-base)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.np-toast.success{border-left:4px solid var(--color-success);background:var(--color-success-light)}.np-toast.error{border-left:4px solid var(--color-danger);background:var(--color-danger-light)}.np-toast.warning{border-left:4px solid var(--color-warning);background:var(--color-warning-light)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.np-spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top:4px solid var(--color-accent);border-radius:var(--radius-full);animation:spin 1s linear infinite}.np-segmentedControl{display:flex;gap:var(--space-1);background:var(--color-surface);padding:var(--space-1);border-radius:var(--radius-md);border:1px solid var(--color-border);width:fit-content}.np-segmentedControl button{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-weight:var(--weight-medium);font-size:var(--font-small);cursor:pointer;transition:all var(--transition-fast);text-transform:capitalize}.np-segmentedControl button.active{background:var(--color-navy);color:#fff;font-weight:var(--weight-semibold);box-shadow:0 2px 4px #1e293b26}.np-segmentedControl button:not(.active):hover{background:var(--color-surface-hover)}.text-center{text-align:center}.text-right{text-align:right}.font-bold{font-weight:var(--weight-bold)}.font-semibold{font-weight:var(--weight-semibold)}.text-muted{color:var(--color-text-muted)}.text-small{font-size:var(--font-small)}@media(max-width:768px){.np-app{flex-direction:column}.np-sidebar{display:block;width:100%;padding:var(--space-4);position:sticky;top:0;z-index:10}.np-main{padding:var(--space-4)}.np-modal{margin:var(--space-4)}.np-workspace{margin-bottom:var(--space-4)}.np-nav{flex-direction:row;flex-wrap:wrap;gap:var(--space-2)}.np-navItem{width:auto;flex:1 1 auto;justify-content:center;padding:var(--space-2) var(--space-3)}.np-topbar{flex-direction:column;align-items:flex-start}.np-topbarRight{width:100%;justify-content:flex-start}.np-title{font-size:1.5rem}.np-grid{grid-template-columns:1fr}.np-insightGrid.is-span .np-insightCard.is-active{grid-column:span 1}.np-outlinedCard{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.np-expenseDetails>div{grid-template-columns:1fr!important}.np-receiptImage{max-height:220px}}
