*,:after,:before{box-sizing:border-box}body,html{margin:0;overflow-x:hidden}body,html,img,svg,video{max-width:100%}a{color:#0b57d0}button,input,select,textarea{font:inherit;max-width:100%}input,select,textarea{font-size:16px}.app-nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #d5dee8}.app-nav-bar{gap:.75rem;padding:.7rem max(1.5rem,env(safe-area-inset-right)) .7rem max(1.5rem,env(safe-area-inset-left));min-height:52px}.app-nav-bar,.app-nav-links{display:flex;align-items:center}.app-nav-links{gap:1rem}.app-nav-end{display:flex;align-items:center;gap:.75rem;margin-left:auto}.app-nav-user{color:#64748b;font-size:14px;white-space:nowrap}.app-nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin:-6px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer}.app-nav-drawer{display:none;flex-direction:column;gap:4px;padding:.5rem 1rem 1rem;border-top:1px solid #e2e8f0}.app-nav-drawer a,.app-nav-drawer button.app-nav-drawer-logout{display:block;width:100%;text-align:left;padding:.75rem .5rem;border-radius:8px;text-decoration:none;color:#334155;font-weight:500;background:none;border:none;cursor:pointer;font-size:16px}.app-nav-drawer a.active{color:#0b57d0;font-weight:600;background:#eff6ff}.app-main{padding:1.5rem max(1.5rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left));max-width:1280px;margin:0 auto;width:100%}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.page-header h1{margin:0;font-size:1.6rem;line-height:1.25;overflow-wrap:anywhere}.page-header-actions{margin-left:auto}.page-header-actions,.toolbar{display:flex;flex-wrap:wrap;gap:8px}.toolbar{margin-bottom:12px;align-items:center}.toolbar>*{min-width:0}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.stack-row{display:grid;grid-gap:8px;gap:8px;margin-bottom:10px;align-items:start}.rfq-line{grid-template-columns:2.4fr 1fr 1fr auto}.quote-line{grid-template-columns:2fr 1fr 1fr 1.5fr}.stack-label{display:none;font-size:13px;font-weight:600;color:#334155;margin-bottom:4px}.actions-row{display:flex;flex-wrap:wrap;gap:8px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.table-wrap table{width:100%;min-width:max(100%,36rem);border-collapse:collapse;font-size:14px}.table-wrap td,.table-wrap th{text-align:left;padding:.6rem .5rem;border-bottom:1px solid #eef2f7;vertical-align:top}.table-wrap th{border-bottom:1px solid #dbe3ec;color:#475569;white-space:nowrap}.table-wrap td{overflow-wrap:anywhere}.auth-page{min-height:100vh;display:grid;place-items:center;padding:1.25rem;position:relative}.auth-lang{position:absolute;top:12px;right:12px}.auth-card{width:100%;max-width:400px;background:#fff;border:1px solid #d7e0ea;border-radius:12px;padding:1.5rem}.app-nav-logout-desktop,.app-nav-toggle,.btn{touch-action:manipulation}.btn{min-height:40px}@media (max-width:768px){.card{padding:.85rem!important}.app-nav-bar{padding:.55rem max(.85rem,env(safe-area-inset-right)) .55rem max(.85rem,env(safe-area-inset-left))}.auth-card .btn{width:100%;text-align:center}.app-nav-links-desktop,.app-nav-logout-desktop,.app-nav-user{display:none}.app-nav-toggle{display:inline-flex}.app-nav-drawer{display:flex}.app-main{padding:1rem .85rem 1.5rem}.page-header{flex-direction:column;align-items:stretch;gap:.75rem}.page-header h1{font-size:1.25rem}.page-header-actions{margin-left:0}.page-header-actions .btn,.page-header-actions a{width:100%;text-align:center}.toolbar>a,.toolbar>button,.toolbar>input,.toolbar>select{flex:1 1 100%;max-width:none!important;width:100%}.quote-line,.rfq-line,.two-col{grid-template-columns:1fr}.quote-line,.rfq-line{padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;margin-bottom:12px}.stack-label{display:block}.actions-row>*{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 8px);text-align:center}.table-wrap table{min-width:32rem}.auth-page{padding:3.5rem .85rem 1.25rem}.auth-card{padding:1.15rem}.btn,a.btn,button{min-height:44px}}@media (max-width:420px){.actions-row>*{flex-basis:100%}}