@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&display=swap";:root{--bg-base: #07070a;--bg-elevated: #0f0f14;--bg-surface: #16161d;--bg-surface-hover: #1c1c26;--bg-muted: #22222c;--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--text-primary: #f4f4f5;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-inverse: #09090b;--accent: #22d3ee;--accent-hover: #67e8f9;--accent-muted: rgba(34, 211, 238, .15);--gradient-brand: linear-gradient(135deg, #22d3ee 0%, #6366f1 55%, #a78bfa 100%);--gradient-surface: linear-gradient(180deg, rgba(34, 211, 238, .04) 0%, transparent 40%);--success: #34d399;--success-bg: rgba(52, 211, 153, .12);--warning: #fbbf24;--warning-bg: rgba(251, 191, 36, .12);--danger: #f87171;--danger-bg: rgba(248, 113, 113, .12);--info: #60a5fa;--info-bg: rgba(96, 165, 250, .12);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-md: .625rem;--radius-lg: .875rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35);--shadow-glow: 0 0 40px rgba(34, 211, 238, .12);--sidebar-width: 260px;--header-height: 64px;--content-max: 1120px;--font: "DM Sans", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{margin:0;font-family:var(--font);font-size:.9375rem;line-height:1.6;color:var(--text-primary);background:var(--bg-base);background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(34,211,238,.12),transparent),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(99,102,241,.08),transparent);min-height:100vh}#root{min-height:100vh}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}p{margin:0;color:var(--text-secondary)}a{color:var(--accent);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-family:inherit;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--gradient-brand);color:var(--text-inverse);box-shadow:var(--shadow-sm),0 0 20px var(--accent-muted)}.btn-primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.btn-secondary{background:var(--bg-muted);color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--bg-surface-hover)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-muted);color:var(--text-primary)}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:#f8717140}.btn-success{background:var(--success-bg);color:var(--success);border-color:#34d39940}.btn-sm{padding:.4375rem .875rem;font-size:.8125rem}.btn-lg{padding:.75rem 1.5rem}.btn-block{width:100%}.form-field{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.form-field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.form-field input,.form-field textarea,.form-field select{width:100%;font-family:inherit;font-size:.9375rem;padding:.75rem 1rem;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color .15s,box-shadow .15s}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.form-field input:-webkit-autofill,.form-field input:-webkit-autofill:hover,.form-field input:-webkit-autofill:focus,.form-field input:-webkit-autofill:active,.form-field textarea:-webkit-autofill,.form-field textarea:-webkit-autofill:hover,.form-field textarea:-webkit-autofill:focus,.form-field textarea:-webkit-autofill:active,.form-stack input:-webkit-autofill,.form-stack input:-webkit-autofill:hover,.form-stack input:-webkit-autofill:focus,.form-stack input:-webkit-autofill:active,.form-stack textarea:-webkit-autofill,.form-stack textarea:-webkit-autofill:hover,.form-stack textarea:-webkit-autofill:focus,.form-stack textarea:-webkit-autofill:active{-webkit-text-fill-color:var(--text-primary)!important;caret-color:var(--text-primary);border-color:var(--border-default);-webkit-box-shadow:0 0 0 1000px var(--bg-elevated) inset!important;box-shadow:0 0 0 1000px var(--bg-elevated) inset!important;transition:background-color 99999s ease-out 0s}.form-field input:autofill,.form-field textarea:autofill,.form-stack input:autofill,.form-stack textarea:autofill{box-shadow:0 0 0 1000px var(--bg-elevated) inset;-webkit-text-fill-color:var(--text-primary);caret-color:var(--text-primary)}.form-field textarea{resize:vertical;min-height:5.5rem}.form-field input,.form-field textarea,.form-field select,.app-shell--dark .form-stack input,.app-shell--dark .form-stack textarea,.app-shell--dark .form-stack select,.app-shell--dark .input,.app-shell--dark input,.app-shell--dark textarea,.app-shell--dark select{color-scheme:dark}.app-shell--light .form-stack input,.app-shell--light .form-stack textarea,.app-shell--light .form-stack select,.app-shell--light .input,.app-shell--light input,.app-shell--light textarea,.app-shell--light select{color-scheme:light}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm)}.card__header{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-subtle)}.card__title{font-size:1rem;font-weight:600}.module-card{display:flex;flex-direction:column;height:100%;padding:var(--space-xl);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color .2s,box-shadow .2s,transform .2s}.module-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.module-card__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent-muted);font-size:1.5rem;margin-bottom:var(--space-lg)}.module-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:auto;padding-top:var(--space-lg)}.table-wrap{overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface)}table.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{padding:.875rem 1.25rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-muted);border-bottom:1px solid var(--border-subtle)}.data-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--border-subtle)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--bg-surface-hover)}.data-table input,.data-table textarea,.data-table select,.data-table .input,.data-table .input--sm{width:100%;min-width:0;padding:.625rem .875rem;font-size:.9375rem;font-family:inherit;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color .15s,box-shadow .15s}.data-table input::placeholder,.data-table textarea::placeholder{color:var(--text-muted)}.data-table input:focus,.data-table textarea:focus,.data-table select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.po-line-items-table .col-qty input,.po-line-items-table .col-price input{max-width:7.5rem}.po-line-items-table .col-total{font-variant-numeric:tabular-nums;font-weight:500;color:var(--text-secondary);white-space:nowrap}.badge{display:inline-flex;padding:.25rem .625rem;font-size:.75rem;font-weight:600;text-transform:capitalize;border-radius:var(--radius-full)}.badge--default{background:var(--bg-muted);color:var(--text-secondary)}.badge--primary{background:var(--info-bg);color:var(--info)}.badge--success{background:var(--success-bg);color:var(--success)}.badge--warning{background:var(--warning-bg);color:var(--warning)}.badge--danger{background:var(--danger-bg);color:var(--danger)}.alert{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:.875rem;margin-bottom:var(--space-lg);border:1px solid}.alert--success{background:var(--success-bg);border:1px solid var(--success);color:var(--success)}.alert--error{background:var(--danger-bg);border-color:#f871714d;color:#fecaca}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}@media (max-width: 900px){.auth-layout{grid-template-columns:1fr}.auth-layout__brand{display:none}}.auth-layout__brand{display:flex;flex-direction:column;justify-content:center;padding:var(--space-2xl);background:var(--bg-elevated);border-right:1px solid var(--border-subtle);position:relative}.auth-layout__brand:before{content:"";position:absolute;inset:0;background:var(--gradient-surface);pointer-events:none}.auth-layout__logo{font-size:1.5rem;font-weight:700;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.auth-layout__tagline{margin-top:var(--space-md);font-size:1.125rem;color:var(--text-secondary);max-width:320px;position:relative}.auth-layout__features{margin-top:var(--space-2xl);display:flex;flex-direction:column;gap:var(--space-md);position:relative}.auth-layout__feature{display:flex;align-items:center;gap:var(--space-md);font-size:.875rem;color:var(--text-muted)}.auth-layout__feature-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.auth-layout__panel{display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}.auth-card{width:100%;max-width:400px}.auth-card__header{margin-bottom:var(--space-xl)}.auth-card__header h1{font-size:1.5rem;margin-bottom:var(--space-sm)}.auth-card__footer{margin-top:var(--space-xl);text-align:center;font-size:.875rem;color:var(--text-muted)}.app-shell{display:flex;min-height:100vh;color:var(--text-primary);background-color:var(--bg-base);background-image:var(--shell-bg-image);background-attachment:fixed}.app-shell--light{color-scheme:light}.app-shell--dark{color-scheme:dark}.app-sidebar{width:var(--sidebar-width);position:fixed;top:0;left:0;bottom:0;z-index:100;display:flex;flex-direction:column;background:var(--bg-elevated);border-right:1px solid var(--border-subtle)}.app-sidebar__brand{display:flex;align-items:center;gap:var(--space-md);min-height:52px;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-subtle)}.app-sidebar__logo{font-size:1.125rem;font-weight:700;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-sidebar__logo-img{width:44px;height:44px;object-fit:contain;border-radius:var(--radius-md);background:var(--bg-muted);padding:4px;flex-shrink:0}.app-sidebar__logo-text{display:flex;flex-direction:column;min-width:0}.app-sidebar__logo-name{font-size:.9375rem;font-weight:600;color:var(--text-primary);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar__logo-sub{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.app-shell .app-main{background:transparent}.appearance-settings{margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-subtle)}.appearance-settings__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:var(--space-xs)}.appearance-settings__modes{display:flex;gap:var(--space-xs);padding:3px;background:var(--bg-muted);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.appearance-settings__mode{flex:1;padding:.4rem .5rem;border:none;border-radius:calc(var(--radius-md) - 2px);background:transparent;font-family:inherit;font-size:.6875rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.appearance-settings__mode:hover{color:var(--text-primary)}.appearance-settings__mode--active{background:var(--bg-surface);color:var(--accent);box-shadow:var(--shadow-sm)}.app-shell--light .card,.app-shell--light .module-card,.app-shell--light .data-table th,.app-shell--light .data-table td,.app-shell--light .card__header,.app-shell--light .appearance-settings,.app-shell--light .app-sidebar,.app-shell--light .app-sidebar__brand,.app-shell--light .app-sidebar__footer,.app-shell--light .app-header,.app-shell--light .input,.app-shell--light input,.app-shell--light textarea,.app-shell--light select{border-color:var(--border-subtle)}.app-shell--light .card,.app-shell--light .module-card,.app-shell--light .btn-secondary{border-color:var(--border-default)}.app-sidebar__nav{flex:1;padding:var(--space-md);overflow-y:auto}.nav-section{margin-bottom:var(--space-lg)}.nav-section__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:var(--space-sm) var(--space-md)}.nav-link{display:flex;align-items:center;gap:var(--space-md);padding:.625rem var(--space-md);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s}.nav-link:hover{background:var(--bg-muted);color:var(--text-primary)}.nav-link--active{background:var(--accent-muted);color:var(--accent)}.nav-link__icon{width:1.25rem;text-align:center}.app-sidebar__footer{padding:var(--space-md);border-top:1px solid var(--border-subtle)}.app-main{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh;background:transparent}.app-header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-xl);background:var(--header-bg, rgba(15, 15, 20, .85));backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:50}.app-header__user{display:flex;align-items:center;gap:var(--space-md)}.app-header__avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--gradient-brand);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:var(--text-inverse)}.app-header__name{font-size:.875rem;font-weight:500}.app-header__role{font-size:.75rem;color:var(--text-muted)}.app-content{flex:1;padding:var(--space-xl);max-width:calc(var(--content-max) + var(--space-xl) * 2);width:100%;margin:0 auto}.page-header{margin-bottom:var(--space-xl)}.page-header__row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.page-header__title{font-size:1.5rem;margin-bottom:var(--space-xs)}.page-header__subtitle{color:var(--text-muted)}.page-header__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.grid{display:grid;gap:var(--space-lg)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.spinner-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;gap:var(--space-md);color:var(--text-muted)}.spinner{width:36px;height:36px;border:3px solid var(--bg-muted);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:var(--space-2xl);color:var(--text-muted)}.empty-state__title{font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-sm)}.totals-panel{background:var(--bg-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-lg);text-align:right;margin-bottom:var(--space-lg)}.totals-panel__row{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--space-sm)}.totals-panel__total{font-size:1.25rem;font-weight:700;margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-subtle)}.standalone-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}.standalone-card{width:100%;max-width:480px;text-align:center}.standalone-card .card{padding:var(--space-2xl)}.approval-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center;margin-top:var(--space-xl)}.success-icon{width:64px;height:64px;margin:0 auto var(--space-lg);border-radius:50%;background:var(--success-bg);color:var(--success);display:flex;align-items:center;justify-content:center;font-size:2rem}.file-upload{border:2px dashed var(--border-default);border-radius:var(--radius-lg);padding:var(--space-2xl);text-align:center;background:var(--bg-elevated)}.mt-lg{margin-top:var(--space-lg)}.mb-lg{margin-bottom:var(--space-lg)}.text-muted{color:var(--text-muted)}.fade-in{animation:fadeIn .35s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.admin-tabs{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.admin-tabs__btn{padding:.5rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.admin-tabs__btn:hover{color:var(--text-primary);border-color:var(--border-strong)}.admin-tabs__btn--active{background:var(--accent-muted);border-color:var(--accent);color:var(--accent)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);align-items:start}@media (max-width: 960px){.admin-grid{grid-template-columns:1fr}}.card__header--row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.card__header--row .card__subtitle{margin-top:var(--space-xs)}.modal-card--wide{max-width:32rem}.admin-users-card .table-wrap{margin-top:0}.admin-users-table .col-name{min-width:10rem}.admin-users-table .col-email{min-width:12rem}.admin-users-table .col-role{width:11.5rem;min-width:11.5rem}.admin-users-table .col-approval{width:16rem;min-width:16rem}.admin-users-table .col-joined{width:7rem;min-width:7rem;white-space:nowrap}.admin-users-table .col-actions{width:1%;white-space:nowrap;text-align:right}.admin-users-table .admin-table-select{min-width:10.5rem;width:100%;padding:.5rem 2rem .5rem .75rem;font-size:.875rem}.admin-users-table__you{display:inline-block;font-size:.75rem;margin-left:.5rem}.admin-users-table__na{font-size:.8125rem}.form-stack{display:flex;flex-direction:column;gap:var(--space-md)}.form-stack .input,.form-stack input,.form-stack textarea,.form-stack select{width:100%;padding:.625rem .875rem;font-size:.9375rem;font-family:inherit;color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--radius-md)}.form-stack input:focus,.form-stack textarea:focus,.form-stack select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.input--sm{padding:.5rem .75rem;font-size:.875rem}.card__subtitle{font-size:.8125rem;color:var(--text-muted);margin-top:var(--space-xs)}.logo-upload{padding:var(--space-lg);display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.logo-upload__preview{max-width:220px;max-height:120px;object-fit:contain;border-radius:var(--radius-md);background:var(--bg-muted);padding:var(--space-md)}.logo-upload__placeholder{width:220px;height:100px;display:flex;align-items:center;justify-content:center;border:2px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);font-size:.875rem}.logo-upload__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center}.role-access-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-lg)}.role-access-card__desc{color:var(--text-secondary);font-size:.875rem;margin-bottom:var(--space-md);line-height:1.5}.role-access-card__label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:var(--space-sm)}.role-access-card__list{margin:0;padding-left:1.25rem;color:var(--text-secondary);font-size:.875rem;line-height:1.6}.approver-checkboxes{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--bg-muted);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.approver-checkboxes__item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer}.approval-claim-list{display:flex;flex-direction:column;gap:var(--space-md);padding:0 var(--space-lg) var(--space-lg)}.approval-claim-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-lg);background:var(--bg-elevated)}.approval-claim-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md)}.approval-claim-card__title{font-size:1rem;font-weight:600;margin:0 0 .25rem}.approval-claim-card__meta{font-size:.8125rem;color:var(--text-muted);margin:0}.approval-claim-card__amount{font-size:1.125rem;font-weight:700;color:var(--accent);white-space:nowrap}.approval-claim-card__actions{display:flex;flex-wrap:wrap;gap:.5rem}.approval-claim-card__details{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border-subtle)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-md);margin:0 0 var(--space-lg)}.detail-grid dt{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.25rem}.detail-grid dd{margin:0;font-size:.9375rem;color:var(--text-primary)}.approval-claim-card__reason-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.5rem}.approval-claim-card__reason p{margin:0;line-height:1.5;color:var(--text-secondary)}.approval-claim-card__receipt-img{max-width:100%;max-height:420px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-muted)}.po-dashboard{display:flex;flex-direction:column;gap:var(--space-lg);margin-bottom:var(--space-xl)}.po-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.po-metrics-grid--five{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}@media (max-width: 1100px){.po-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 520px){.po-metrics-grid{grid-template-columns:1fr}}.po-metric-card{position:relative;display:flex;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-elevated);overflow:hidden;transition:border-color .2s,box-shadow .2s}.po-metric-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--gradient-brand);opacity:.85}.po-metric-card--cyan:before{background:linear-gradient(180deg,var(--accent),var(--accent-hover))}.po-metric-card--indigo:before{background:linear-gradient(180deg,#6366f1,#4f46e5)}.po-metric-card--success:before{background:linear-gradient(180deg,#34d399,#10b981)}.po-metric-card--violet:before{background:linear-gradient(180deg,#a78bfa,#8b5cf6)}.po-metric-card--warning:before{background:linear-gradient(180deg,#fbbf24,#f59e0b)}.po-metric-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-glow)}.po-metric-card__icon{font-size:1.5rem;line-height:1;opacity:.9}.po-metric-card__label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.35rem}.po-metric-card__value{font-size:1.625rem;font-weight:700;letter-spacing:-.03em;color:var(--text-primary);line-height:1.2}.po-metric-card__sub{font-size:.8125rem;color:var(--text-secondary);margin-top:.35rem;line-height:1.4}.po-chart-card__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding:var(--space-lg) var(--space-lg) 0}.po-chart-card__body{padding:var(--space-md) var(--space-sm) var(--space-lg);min-height:280px}.po-chart-card__body--loading{display:flex;align-items:center;justify-content:center}.po-chart-skeleton{width:100%;height:240px;margin:var(--space-md);border-radius:var(--radius-md);background:linear-gradient(90deg,var(--bg-muted) 0%,var(--bg-surface-hover) 50%,var(--bg-muted) 100%);background-size:200% 100%;animation:po-shimmer 1.2s ease-in-out infinite}@keyframes po-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.period-pills{display:flex;gap:.35rem;padding:.25rem;background:var(--bg-muted);border-radius:var(--radius-full);border:1px solid var(--border-subtle)}.period-pills__btn{padding:.4rem .85rem;border:none;border-radius:var(--radius-full);background:transparent;color:var(--text-muted);font-family:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;transition:color .15s,background .15s}.period-pills__btn:hover{color:var(--text-primary)}.period-pills__btn--active{background:var(--accent-muted);color:var(--accent);box-shadow:var(--shadow-sm)}.po-chart-tooltip{padding:.65rem .85rem;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:.8125rem;color:var(--text-secondary);box-shadow:var(--shadow-md)}.po-chart-tooltip__label{font-weight:600;color:var(--text-primary);margin-bottom:.35rem}.po-table-card .card__header{padding-bottom:0}.po-table-card .empty-state,.po-table-card .spinner-wrap{padding:var(--space-xl)}.po-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.modal-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:#000000a6;backdrop-filter:blur(4px)}.modal-card{width:100%;max-width:28rem;margin:0}.modal-card__actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg)}.record-detail-panel{padding:var(--space-lg);background:var(--bg-elevated);border-top:1px solid var(--border-subtle)}.record-detail-panel--embedded{padding:0;background:transparent;border-top:none}.record-detail-panel__rejection{margin-top:var(--space-md);padding:var(--space-md);background:var(--danger-bg);border:1px solid rgba(248,113,113,.25);border-radius:var(--radius-md)}.record-detail-panel__rejection p{margin:.35rem 0 0;color:var(--text-primary);font-size:.875rem}.record-detail-panel__lines{margin-top:var(--space-md)}.data-table-row-detail td{padding:0;background:var(--bg-elevated)}.data-table-row-detail:hover td{background:var(--bg-elevated)}@media (max-width: 768px){.app-sidebar{display:none}.app-main{margin-left:0}}.landing{min-height:100vh;overflow-x:hidden}.landing-nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) var(--space-xl);background:#07070ad1;backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle)}.landing-nav__brand{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;color:inherit}.landing-nav__brand:hover{color:inherit}.landing-nav__logo{font-size:1.125rem;font-weight:700;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-nav__badge{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.2rem .5rem;border:1px solid var(--border-subtle);border-radius:var(--radius-full)}.landing-nav__links{display:flex;gap:var(--space-lg)}.landing-nav__links a{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.landing-nav__links a:hover{color:var(--text-primary)}.landing-nav__actions{display:flex;align-items:center;gap:var(--space-sm)}.landing-hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);align-items:center;max-width:1280px;margin:0 auto;padding:var(--space-2xl) var(--space-xl) 4rem}.landing-hero__eyebrow{display:inline-block;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:var(--space-md)}.landing-hero__title{font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin-bottom:var(--space-lg)}.landing-hero__gradient{display:block;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-hero__subtitle{font-size:1.0625rem;line-height:1.7;max-width:34rem;margin-bottom:var(--space-xl)}.landing-hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-xl)}.landing-hero__pills{display:flex;flex-wrap:wrap;gap:var(--space-sm);list-style:none;margin:0;padding:0}.landing-hero__pills li{font-size:.8125rem;color:var(--text-muted);padding:.35rem .75rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full)}.landing-hero__visual{position:relative;display:flex;justify-content:center;padding:var(--space-lg)}.landing-section{padding:4rem var(--space-xl)}.landing-section--alt{background:var(--bg-elevated);border-block:1px solid var(--border-subtle)}.landing-section__inner{max-width:1120px;margin:0 auto}.landing-section__header{text-align:center;max-width:40rem;margin:0 auto var(--space-2xl)}.landing-section__header h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:var(--space-md)}.landing-section__header p{font-size:1rem}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.landing-feature-card{padding:var(--space-lg);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color .2s,transform .2s,box-shadow .2s}.landing-feature-card:hover{border-color:#22d3ee4d;transform:translateY(-3px);box-shadow:var(--shadow-glow)}.landing-feature-card__icon{font-size:1.5rem;margin-bottom:var(--space-md)}.landing-feature-card h3{margin-bottom:var(--space-sm)}.landing-feature-card p{font-size:.875rem;line-height:1.65}.landing-po-showcase{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);align-items:center}.landing-po-showcase__copy h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:var(--space-md)}.landing-po-showcase__copy>p{margin-bottom:var(--space-lg);line-height:1.7}.landing-checklist{list-style:none;margin:0 0 var(--space-xl);padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.landing-checklist li{position:relative;padding-left:1.5rem;font-size:.9375rem;color:var(--text-secondary)}.landing-checklist li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}.landing-po-showcase__preview{display:flex;justify-content:center}.landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.landing-step{padding:var(--space-xl);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);position:relative;overflow:hidden}.landing-step:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-brand)}.landing-step__num{font-size:2rem;font-weight:700;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:var(--space-md);opacity:.9}.landing-step h3{margin-bottom:var(--space-sm)}.landing-step p{font-size:.875rem;line-height:1.65}.landing-roles{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.landing-role-chip{padding:var(--space-lg);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-xs)}.landing-role-chip strong{color:var(--accent);font-size:.9375rem}.landing-role-chip span{font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.landing-cta{padding:5rem var(--space-xl);text-align:center}.landing-cta__inner{max-width:36rem;margin:0 auto;padding:var(--space-2xl);background:var(--bg-surface);border:1px solid rgba(34,211,238,.2);border-radius:var(--radius-lg);box-shadow:var(--shadow-glow)}.landing-cta__inner h2{font-size:clamp(1.375rem,3vw,1.75rem);margin-bottom:var(--space-md)}.landing-cta__inner p{margin-bottom:var(--space-xl)}.landing-cta__buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md)}.landing-footer{padding:var(--space-xl);border-top:1px solid var(--border-subtle);background:var(--bg-base)}.landing-footer__inner{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md)}.landing-footer__inner p{font-size:.8125rem;color:var(--text-muted)}.landing-footer__links{display:flex;gap:var(--space-lg)}.landing-footer__links a{font-size:.875rem;color:var(--text-secondary)}.po-preview{position:relative;width:100%;max-width:380px}.po-preview__glow{position:absolute;inset:10% -10% -10%;background:radial-gradient(ellipse at center,rgba(34,211,238,.15),transparent 70%);pointer-events:none;z-index:0}.po-preview__paper{position:relative;z-index:1;background:#fafbfc;color:#1e293b;border-radius:4px;padding:1.25rem 1.35rem 1rem;box-shadow:0 25px 50px #00000073,0 0 0 1px #ffffff14;transform:perspective(800px) rotateY(-4deg) rotateX(2deg);transition:transform .4s ease}.po-preview:hover .po-preview__paper{transform:perspective(800px) rotateY(0) rotateX(0)}.po-preview__header{display:flex;gap:.85rem;align-items:flex-start;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0;margin-bottom:.85rem}.po-preview__logo{width:52px;height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0e7490,#6366f1);border-radius:6px;color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.05em}.po-preview__company{display:flex;flex-direction:column;gap:.15rem;font-size:.6rem;color:#64748b;line-height:1.35}.po-preview__company strong{font-size:.72rem;color:#1e293b}.po-preview__title-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.85rem}.po-preview__doc-label{font-size:.55rem;text-transform:uppercase;letter-spacing:.12em;color:#0e7490;font-weight:700}.po-preview__doc-number{font-size:1rem;font-weight:700;color:#0f172a;margin-top:.15rem}.po-preview__meta{font-size:.58rem;text-align:right;color:#64748b}.po-preview__meta div{margin-bottom:.2rem}.po-preview__meta span{color:#94a3b8;margin-right:.35rem}.po-preview__parties{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:.85rem}.po-preview__party{background:#f1f5f9;border-radius:4px;padding:.5rem .55rem;font-size:.58rem;color:#64748b;display:flex;flex-direction:column;gap:.1rem}.po-preview__party strong{font-size:.62rem;color:#334155}.po-preview__party-label{font-size:.5rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-weight:600;margin-bottom:.15rem}.po-preview__table{width:100%;border-collapse:collapse;font-size:.58rem;margin-bottom:.65rem}.po-preview__table th{text-align:left;padding:.35rem .4rem;background:#1e293b;color:#f8fafc;font-weight:600;font-size:.52rem;text-transform:uppercase;letter-spacing:.04em}.po-preview__table th:not(:first-child){text-align:right}.po-preview__table td{padding:.35rem .4rem;border-bottom:1px solid #e2e8f0;color:#475569}.po-preview__table td:not(:first-child){text-align:right;white-space:nowrap}.po-preview__totals{margin-left:auto;width:55%;font-size:.6rem;margin-bottom:.65rem}.po-preview__total-line{display:flex;justify-content:space-between;padding:.2rem 0;color:#64748b}.po-preview__total-line--grand{font-weight:700;color:#0f172a;border-top:2px solid #0e7490;padding-top:.35rem;margin-top:.15rem;font-size:.68rem}.po-preview__terms{font-size:.52rem;color:#94a3b8;line-height:1.45;padding-top:.5rem;border-top:1px dashed #e2e8f0}.po-preview__terms p{margin:.2rem 0 0;color:#94a3b8}.po-preview__stamp{margin-top:.65rem;font-size:.48rem;text-align:center;color:#cbd5e1;text-transform:uppercase;letter-spacing:.1em}@media (max-width: 1024px){.landing-nav__links{display:none}.landing-hero{grid-template-columns:1fr;text-align:center}.landing-hero__subtitle{margin-inline:auto}.landing-hero__cta,.landing-hero__pills{justify-content:center}.landing-features,.landing-steps,.landing-roles{grid-template-columns:repeat(2,1fr)}.landing-po-showcase{grid-template-columns:1fr}.landing-po-showcase__copy{text-align:center}.landing-checklist{text-align:left;max-width:24rem;margin-inline:auto}}@media (max-width: 640px){.landing-nav{padding:var(--space-md)}.landing-hero{padding:var(--space-xl) var(--space-md) 3rem}.landing-section{padding:3rem var(--space-md)}.landing-features,.landing-steps,.landing-roles{grid-template-columns:1fr}.po-preview__paper{transform:none}.landing-footer__inner{flex-direction:column;text-align:center}}
