:root{--bg: 220 5% 4%;--surface: 224 8% 9%;--surface-high: 222 9% 12%;--surface-max: 220 10% 16%;--border: 222 11% 18%;--border-high: 222 11% 26%;--text: 220 16% 92%;--text-muted: 222 6% 65%;--text-dim: 222 6% 45%;--accent: 170 100% 42%;--accent-fg: 184 60% 6%;--danger: 0 100% 67%;--success: 155 65% 55%;--warning: 36 91% 55%;--info: 217 89% 66%;--role-admin: 36 91% 55%;--role-accounting: 217 89% 66%;--role-office_buyer: 260 80% 72%;--role-buyer: 170 100% 42%;--motion-fast: .12s;--motion-base: .18s;color:hsl(var(--text));background:hsl(var(--bg));font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:hsl(var(--accent));text-decoration:none}a:hover{text-decoration:underline}button,input,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:2px}h1,h2,p{margin-top:0}h1{font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.1;font-weight:800;margin-bottom:.75rem}h2{font-size:1.125rem;line-height:1.2}.muted{color:hsl(var(--text-muted));line-height:1.6}.eyebrow{color:hsl(var(--accent));font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:.75rem}.unauth-shell,.center-shell{min-height:100vh;display:grid;place-items:center;padding:5rem 1rem 2rem;background:radial-gradient(circle at 20% 10%,hsl(var(--accent) / .16),transparent 28rem),linear-gradient(135deg,hsl(var(--bg)),hsl(var(--surface)))}.public-header{position:fixed;top:1.5rem;left:1.5rem}.public-footer{position:fixed;bottom:1rem;color:hsl(var(--text-dim));font-size:.8125rem}.logo-lockup{display:inline-flex;align-items:center;gap:.625rem;font-weight:800;color:hsl(var(--text))}.logo-mark{width:2rem;height:2rem;display:inline-grid;place-items:center;color:hsl(var(--accent));border-radius:.75rem;background:hsl(var(--accent) / .14);border:1px solid hsl(var(--accent) / .44)}.logo-mark svg{width:1.125rem;height:1.125rem}.auth-card,.panel{width:min(100%,460px);border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--surface) / .92);box-shadow:0 1px #ffffff0a inset,0 12px 32px -4px #0009;padding:1.5rem}.auth-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel{width:100%}.panel.narrow{max-width:680px}.hero-panel{max-width:920px}.form{display:grid;gap:1rem;margin:1.25rem 0}label{display:grid;gap:.45rem;color:hsl(var(--text-muted));font-size:.875rem;font-weight:600}input,textarea{width:100%;color:hsl(var(--text));background:hsl(var(--surface-high));border:1px solid hsl(var(--border));border-radius:8px;padding:.625rem .75rem}textarea{min-height:96px;resize:vertical}.form-error{color:hsl(var(--danger));margin:0}.form-success{color:hsl(var(--success));margin:0}.button,.link-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:8px;border:0;padding:.5rem 1rem;font-weight:700;cursor:pointer;transition:background-color var(--motion-fast),transform var(--motion-fast),border-color var(--motion-fast)}.button:active{transform:translateY(1px)}.button:disabled,.link-button:disabled{opacity:.45;cursor:not-allowed}.primary{background:hsl(var(--accent));color:hsl(var(--accent-fg))}.secondary{background:hsl(var(--surface-high));color:hsl(var(--text));border:1px solid hsl(var(--border))}.ghost{background:transparent;color:hsl(var(--text-muted))}.link-button{background:transparent;color:hsl(var(--accent));padding:0;justify-content:flex-start}.auth-links,.actions-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr;background:hsl(var(--bg))}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid hsl(var(--border));background:hsl(var(--surface));padding:1rem}.sidebar nav{display:grid;gap:.4rem;margin-top:1.5rem}.nav-item{color:hsl(var(--text-muted));padding:.6rem .75rem;border-radius:8px}.nav-item.active{color:hsl(var(--text));background:hsl(var(--accent) / .14);border:1px solid hsl(var(--accent) / .44)}.app-frame{min-width:0}.topbar{position:sticky;top:0;z-index:5;height:56px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.5rem;border-bottom:1px solid hsl(var(--border));background:hsl(var(--bg) / .9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.global-search{flex:1;max-width:560px;display:flex;gap:.5rem;align-items:center;color:hsl(var(--text-dim));background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:999px;padding:.5rem .75rem;font-size:.8125rem}.topbar-actions{display:flex;align-items:center;gap:.75rem}.icon-button{width:36px;height:36px;display:inline-grid;place-items:center;background:hsl(var(--surface-high));color:hsl(var(--text));border:1px solid hsl(var(--border));border-radius:8px}.content{max-width:1280px;margin:0 auto;padding:2rem}.stack{display:grid;gap:1.5rem}.page-heading{max-width:760px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.badge,.role-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700;text-transform:capitalize;background:hsl(var(--surface-high));border:1px solid hsl(var(--border));color:hsl(var(--text-muted))}.warning{color:hsl(var(--warning));background:hsl(var(--warning) / .14);border-color:hsl(var(--warning) / .44)}.role-admin{color:hsl(var(--role-admin));background:hsl(var(--role-admin) / .14);border-color:hsl(var(--role-admin) / .44)}.role-accounting{color:hsl(var(--role-accounting));background:hsl(var(--role-accounting) / .14);border-color:hsl(var(--role-accounting) / .44)}.role-office_buyer{color:hsl(var(--role-office_buyer));background:hsl(var(--role-office_buyer) / .14);border-color:hsl(var(--role-office_buyer) / .44)}.role-buyer{color:hsl(var(--role-buyer));background:hsl(var(--role-buyer) / .14);border-color:hsl(var(--role-buyer) / .44)}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.5rem 0}.metric-grid div,.state-card{border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--surface-high));padding:1rem}.metric-grid span{display:block;color:hsl(var(--text-muted));font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}.metric-grid strong{display:block;margin-top:.35rem;font-size:1.125rem;text-transform:capitalize}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{text-align:left;border-top:1px solid hsl(var(--border));padding:.75rem 1rem;white-space:nowrap}th{color:hsl(var(--text-muted));font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}td:last-child{display:flex;gap:.5rem}.error{border-color:hsl(var(--danger) / .44);background:hsl(var(--danger) / .1)}.skeleton{color:hsl(var(--text-muted));background-image:linear-gradient(90deg,hsl(var(--surface-high)),hsl(var(--surface-max)),hsl(var(--surface-high)));background-size:200% 100%;animation:shimmer 1.4s infinite linear}.mobile-only,.bottom-tabs,.mobile-menu{display:none}@keyframes shimmer{to{background-position:-200% 0}}@media(max-width:760px){.app-shell{display:block;padding-bottom:64px}.sidebar{display:none}.mobile-only,.bottom-tabs{display:flex}.mobile-menu.open{display:grid;gap:.4rem;padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border));background:hsl(var(--surface))}.global-search{display:none}.content{padding:1rem}.metric-grid{grid-template-columns:1fr}.bottom-tabs{position:fixed;bottom:0;left:0;right:0;height:56px;justify-content:space-around;align-items:center;background:hsl(var(--surface));border-top:1px solid hsl(var(--border))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}select{width:100%;color:hsl(var(--text));background:hsl(var(--surface-high));border:1px solid hsl(var(--border));border-radius:8px;padding:.625rem .75rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.offer-card{display:grid;gap:.75rem;color:hsl(var(--text));border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--surface));padding:1rem}.offer-card:hover{border-color:hsl(var(--accent) / .55);text-decoration:none}.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.line-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.link-list,.check-list{display:flex;flex-wrap:wrap;gap:.75rem}.inline-form{align-items:end;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.wide-form{gap:1.25rem}.form-grid,.row-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;align-items:end}.subform{border:1px solid hsl(var(--border));border-radius:10px;padding:1rem;display:grid;gap:.75rem}.subform legend{color:hsl(var(--accent));font-weight:800;padding:0 .35rem}.checkbox-row{display:flex;align-items:center;gap:.5rem}.checkbox-row input{width:auto}.buyer-flow{max-width:980px}@media(max-width:760px){.compact{grid-template-columns:1fr}th,td{padding:.65rem}.topbar-actions .button{padding-inline:.65rem}}.full-width{max-width:none}.compact-label{min-width:190px}.detail-grid,.diff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.detail-grid div{border:1px solid hsl(var(--border));border-radius:10px;padding:1rem;background:hsl(var(--surface-high))}.detail-grid span{display:block;color:hsl(var(--text-muted));font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}.detail-grid strong{display:block;margin-top:.4rem}.diff-grid pre{overflow:auto;max-height:440px;margin:0;border:1px solid hsl(var(--border));border-radius:10px;padding:1rem;background:hsl(var(--surface-high));color:hsl(var(--text))}.tab-row{display:flex;flex-wrap:wrap;gap:.5rem}.tab-row a{color:hsl(var(--text-muted));border:1px solid hsl(var(--border));border-radius:999px;padding:.45rem .8rem;background:hsl(var(--surface-high))}.tab-row a.active{color:hsl(var(--accent));border-color:hsl(var(--accent) / .5);background:hsl(var(--accent) / .14);text-decoration:none}.segmented{display:flex;flex-wrap:wrap;gap:1rem}.invalid{border-color:hsl(var(--danger))}.preview-textarea{min-height:360px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}code{color:hsl(var(--accent))}td p{margin:.25rem 0 0}@media(max-width:760px){td:last-child{min-width:220px}.segmented{display:grid}}
