.app-shell{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;min-height:calc(100vh - 60px);background:var(--app-bg,#020617);background-image:var(--app-gradient,radial-gradient(circle at 50% 50%,rgba(139,92,246,.1) 0,transparent 50%),radial-gradient(circle at 10% 20%,rgba(99,102,241,.05) 0,transparent 30%));color:var(--text-primary,#e2e8f0);position:relative}html:has(.app-main-header){scroll-padding-top:calc(var(--app-scroll-header-height, 0px) + 12px)}.app-main-header{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--sidebar-border,rgba(139,92,246,.1));background:var(--topbar-bg,#0f172a);position:-webkit-sticky;position:sticky;top:0;z-index:10}.app-global-search{position:relative;flex:1 1;min-width:0;max-width:480px}.app-global-search input{box-sizing:border-box;min-width:0;min-height:44px}.app-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.app-ai-header-slot{display:flex;align-items:center;flex:0 0 44px;min-width:44px;min-height:44px}.app-header-actions>a,.app-header-actions>button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.navigation-trigger{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;flex-shrink:0;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font:inherit;cursor:pointer}.navigation-drawer{position:fixed;inset:0 auto 0 0;margin:0;padding:0;border:0;width:min(320px,calc(100vw - 32px));max-width:none;height:100dvh;max-height:none;background:var(--sidebar-bg,#0f172a);color:var(--text-primary)}.navigation-drawer::-webkit-backdrop{background:rgba(0,0,0,.5)}.navigation-drawer::backdrop{background:rgba(0,0,0,.5)}.navigation-drawer .app-sidebar.full{position:static;width:100%;min-width:0;height:100%}.nav-section-header,.navigation-drawer .sidebar-footer button,.navigation-drawer .sidebar-toggle{min-height:44px}.sidebar-toggle{min-width:44px;min-height:44px}.nav-item:focus-visible,.nav-section-header:focus-visible,.navigation-trigger:focus-visible,.sidebar-toggle:focus-visible{outline:2px solid var(--text-primary);outline-offset:-3px}@media (max-width:1439px){.app-main{max-width:100%}}@media (max-width:999px){.app-main-header{flex-wrap:wrap}.app-global-search{min-width:min(240px,100%);max-width:none}.app-header-actions{flex-basis:100%;flex-wrap:wrap;justify-content:flex-end}}@media (min-width:700px) and (max-width:999px){.app-main-header{flex-wrap:nowrap;gap:10px;padding:10px 16px}.app-global-search{min-width:0}.app-header-actions{flex-basis:auto;flex-wrap:nowrap;gap:2px}.app-main-header:has(.app-header-actions [data-clinical-field-tools]){flex-wrap:wrap;row-gap:4px}.app-main-header:has(.app-header-actions [data-clinical-field-tools]) .app-global-search{min-width:240px}.app-main-header:has(.app-header-actions [data-clinical-field-tools]) .app-header-actions{flex-basis:100%;justify-content:flex-end}}@media (max-width:599px){.app-main-header{flex-wrap:wrap;gap:8px;padding:8px}.app-global-search{flex-basis:100%;max-width:none;order:3}.app-header-actions{gap:0}}.app-sidebar{flex-shrink:0;background:var(--sidebar-bg,#0f172a);border-right:1px solid var(--sidebar-border,rgba(139,92,246,.1));display:flex;flex-direction:column;transition:width .25s ease,min-width .25s ease;position:-webkit-sticky;position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto;overflow-x:hidden}.app-sidebar.full{width:300px;min-width:300px}.app-sidebar.icons{width:80px;min-width:80px}.app-sidebar.icons .sidebar-header{padding:16px 8px;flex-direction:column;justify-content:center;gap:8px}.app-sidebar.icons .sidebar-nav{padding:8px 6px;align-items:center}.app-sidebar.icons .nav-section{display:flex;flex-direction:column;align-items:center;width:100%;margin-bottom:4px}.app-sidebar.icons .nav-item{padding:8px;justify-content:center;width:100%;gap:0}.app-sidebar.icons .nav-item:hover{transform:none}.app-sidebar.icons .sidebar-toggle{margin-left:0}.app-sidebar.hidden{display:none!important;width:0;min-width:0;overflow:hidden;border-right:none}.portal-inventory-swipe-cue{display:none}.portal-inventory-table{min-width:100%}.app-sidebar.collapsed{width:80px;min-width:80px}.sidebar-header{display:flex;align-items:center;gap:12px;padding:20px 18px;border-bottom:1px solid rgba(139,92,246,.1)}.sidebar-logo{font-size:2rem;flex-shrink:0}.sidebar-title{font-size:1.1rem;font-weight:800;background:linear-gradient(135deg,#10b981,#0ea5e9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap;letter-spacing:-.02em}.sidebar-toggle{margin-left:auto;background:rgba(30,30,60,.4);border:1px solid rgba(139,92,246,.2);color:#94a3b8;cursor:pointer;font-size:.8rem;padding:6px;border-radius:8px;transition:all .2s}.sidebar-toggle:hover{background:rgba(139,92,246,.2);color:#fff;border-color:rgba(139,92,246,.4)}.sidebar-nav{flex:1 1;padding:10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.nav-section{margin-bottom:12px}.nav-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px 6px;background:none;border:none;color:#64748b;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;font-family:inherit}.nav-section-chevron{font-size:.85rem;opacity:.5}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;text-decoration:none;color:var(--nav-fg,#c0cfe0);font-size:1.1rem;font-weight:600;transition:all .2s ease;cursor:pointer}.nav-item:hover{background:var(--nav-hover-bg,rgba(16,185,129,.1));color:var(--nav-hover-fg,#f1f5f9);transform:translateX(3px);box-shadow:0 2px 10px rgba(16,185,129,.08)}.nav-item.active{background:linear-gradient(135deg,rgba(16,185,129,.1),rgba(14,165,233,.1));color:#10b981;font-weight:700;box-shadow:0 4px 12px rgba(16,185,129,.05)}.nav-icon{font-size:1.1rem;flex-shrink:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:7px;margin-top:2px}.nav-item.active .nav-icon{background:rgba(16,185,129,.1)}.nav-label{white-space:normal;overflow-wrap:break-word;line-height:1.3;font-size:1.05rem}.nav-badge{margin-left:auto;font-size:.65rem;font-weight:800;padding:2px 8px;border-radius:8px;background:rgba(16,185,129,.1);color:#10b981}.sidebar-footer{padding:20px;border-top:1px solid var(--sidebar-border,rgba(139,92,246,.1));background:var(--sidebar-footer-bg,rgba(15,23,42,.6))}.role-badge{display:inline-block;font-size:.72rem;font-weight:800;padding:4px 12px;border-radius:10px;background:rgba(16,185,129,.12);color:#10b981;text-transform:uppercase;letter-spacing:.08em}.user-name{font-size:1rem;font-weight:700;color:var(--text-primary,#ffffff);margin-top:6px}.app-main{flex:1 1;padding:28px 36px;width:100%;min-width:0;--app-main-padding-y:28px;--app-content-height:calc(100dvh - var(--app-header-height, 79px) - 2 * var(--app-main-padding-y) - 2px)}.soap-workspace{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.soap-header{margin-bottom:32px}.soap-header h1{font-size:1.8rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}.soap-header p{color:#606070;font-size:.95rem}.template-selector{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.template-btn{padding:8px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);color:#808090;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:inherit}.template-btn:hover{background:rgba(102,126,234,.08);border-color:rgba(102,126,234,.2);color:#c0c0d0}.template-btn.active{background:linear-gradient(135deg,rgba(102,126,234,.15),rgba(118,75,162,.12));border-color:rgba(102,126,234,.3);color:#d0d0e8;font-weight:600}.dictation-area{margin-bottom:24px}.dictation-textarea{width:100%;min-height:180px;padding:20px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:16px;color:#e0e0e0;font-family:inherit;font-size:.95rem;line-height:1.7;resize:vertical;outline:none;transition:border-color .2s}.dictation-textarea:focus{border-color:rgba(102,126,234,.4);box-shadow:0 0 0 3px rgba(102,126,234,.08)}.dictation-textarea::placeholder{color:#404050}.dictation-meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:.8rem;color:#505060}.action-bar{display:flex;gap:10px;margin-bottom:32px;flex-wrap:wrap}.action-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:12px;border:none;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(102,126,234,.3)}.action-btn.primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.action-btn.secondary{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#a0a0b0}.action-btn.secondary:hover{background:rgba(255,255,255,.08);color:#d0d0e0}.soap-output{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:28px;min-height:200px;animation:fadeIn .3s ease}.soap-output h2{font-size:1.1rem;font-weight:700;color:#c0c0d0;margin:20px 0 10px}.soap-output h2:first-child{margin-top:0}.soap-output li,.soap-output p{color:#a0a0b0;font-size:.92rem;line-height:1.7}.soap-output ul{padding-left:20px;margin:8px 0}.soap-output-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.04)}.soap-output-title{font-size:.85rem;font-weight:600;color:#667eea;text-transform:uppercase;letter-spacing:.05em}.soap-output-actions{display:flex;gap:8px}.soap-output-actions button{padding:6px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03);color:#808090;font-size:.8rem;cursor:pointer;transition:all .15s;font-family:inherit}.soap-output-actions button:hover{background:rgba(255,255,255,.06);color:#c0c0d0}.streaming-cursor{display:inline-block;width:2px;height:1em;background:#667eea;margin-left:2px;animation:blink 1s steps(2) infinite;vertical-align:text-bottom}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.soap-skeleton{padding:20px}.skeleton-line{height:14px;border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,.03) 25%,rgba(255,255,255,.06) 50%,rgba(255,255,255,.03) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;margin-bottom:12px}.skeleton-line:first-child{width:40%}.skeleton-line:nth-child(2){width:90%}.skeleton-line:nth-child(3){width:75%}.skeleton-line:nth-child(4){width:60%}.skeleton-line:nth-child(5){width:85%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.chat-workspace{animation:fadeIn .3s ease}.chat-header h1{font-size:1.8rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}.chat-header p{color:#606070;font-size:.95rem;margin-bottom:24px}.chat-messages{min-height:400px;max-height:60vh;overflow-y:auto;padding:20px;background:rgba(255,255,255,.01);border:1px solid rgba(255,255,255,.04);border-radius:16px 16px 0 0;display:flex;flex-direction:column;gap:16px}.chat-message{display:flex;gap:12px;animation:fadeIn .2s ease}.chat-avatar{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.chat-avatar.user{background:linear-gradient(135deg,rgba(102,126,234,.2),rgba(118,75,162,.2))}.chat-avatar.assistant{background:linear-gradient(135deg,rgba(67,233,123,.15),rgba(56,249,215,.15))}.chat-bubble{flex:1 1;padding:12px 16px;border-radius:12px;font-size:.92rem;line-height:1.6}.chat-bubble.user{background:rgba(102,126,234,.08);color:#c0c0d8}.chat-bubble.assistant{background:rgba(255,255,255,.02);color:#a0a0b0}.chat-input-bar{display:flex;gap:10px;padding:12px 16px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);border-top:none;border-radius:0 0 16px 16px}.chat-input{flex:1 1;padding:10px 16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:10px;color:#e0e0e0;font-family:inherit;font-size:.9rem;outline:none}.chat-input:focus{border-color:rgba(102,126,234,.3)}.chat-send-btn{padding:10px 20px;border-radius:10px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-family:inherit;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .15s}.chat-send-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(102,126,234,.25)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.backend-badge{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;padding:4px 12px;border-radius:8px;letter-spacing:.03em}.backend-badge.local{background:rgba(67,233,123,.1);color:#43e97b}.backend-badge.cloud{background:rgba(234,102,102,.1);color:#ea6666}@media (max-width:768px){.app-main{width:100%;min-width:0;padding:16px 12px;--app-main-padding-y:16px;max-width:100%}.chat-header h1,.soap-header h1{font-size:1.3rem}.chat-header p,.soap-header p{font-size:.82rem}.template-selector{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.template-btn{padding:6px 12px;font-size:.78rem;white-space:nowrap;flex-shrink:0}.action-bar{flex-direction:column}.action-btn{padding:8px 14px;font-size:.82rem;justify-content:center}.dictation-textarea{min-height:120px;padding:14px;font-size:.88rem}.soap-output{padding:16px}.chat-messages{min-height:250px;max-height:50vh;padding:12px;gap:10px}.chat-bubble{padding:10px 12px;font-size:.85rem}.chat-input-bar{padding:8px 10px}.chat-input{padding:8px 12px;font-size:.82rem}.chat-send-btn{padding:8px 14px;font-size:.82rem}}@media (max-width:480px){.app-shell{min-height:calc(100vh - 50px);min-height:calc(100dvh - 50px)}.app-sidebar{width:220px;top:50px;height:calc(100vh - 50px);height:calc(100dvh - 50px)}.sidebar-header{padding:12px 10px}.sidebar-logo{font-size:1.1rem}.sidebar-title{font-size:.82rem}.nav-item{padding:7px 10px;font-size:.78rem;gap:8px}.nav-icon{font-size:.95rem;width:20px}.nav-badge{font-size:.55rem;padding:1px 6px}.nav-section-header{font-size:.58rem;padding:6px 10px 2px}.sidebar-footer{padding:10px}.role-badge{font-size:.6rem;padding:2px 8px}.user-name{font-size:.7rem}.app-main{padding:10px 8px;--app-main-padding-y:10px}.portal-inventory-header{height:auto!important;min-height:80px;padding:12px!important;flex-wrap:wrap;gap:10px}.portal-inventory-heading{min-width:0;gap:8px!important}.portal-inventory-heading>div:first-child{width:36px!important;height:36px!important;flex:0 0 36px}.portal-inventory-actions{width:100%;justify-content:flex-end;gap:8px!important}.portal-inventory-actions button{min-height:44px;padding:8px 10px!important;font-size:.78rem}.portal-inventory-table-heading{align-items:stretch!important;flex-direction:column;gap:12px;padding:16px!important}.portal-inventory-table-heading input,.portal-inventory-table-heading>div{width:100%!important}.portal-inventory-swipe-cue{display:block!important}.portal-inventory-table{min-width:720px}.portal-inventory-row-actions{opacity:1!important}.synalux-floating-ai{right:auto!important;left:4px!important;bottom:8px!important}.synalux-floating-ai .ai-assistant-toggle{width:44px!important;height:44px!important;border-radius:22px!important;font-size:20px!important}.soap-header{margin-bottom:16px}.chat-header h1,.soap-header h1{font-size:1.1rem}.chat-header p,.soap-header p{font-size:.75rem;margin-bottom:12px}.template-btn{padding:5px 10px;font-size:.72rem;border-radius:8px}.template-selector{margin-bottom:14px;gap:5px}.action-btn{padding:7px 12px;font-size:.78rem;border-radius:8px;gap:5px}.action-bar{margin-bottom:16px;gap:6px}.dictation-textarea{min-height:100px;padding:10px;font-size:.82rem;border-radius:10px;line-height:1.5}.dictation-meta{font-size:.68rem}.soap-output{padding:12px;border-radius:10px}.soap-output h2{font-size:.92rem;margin:12px 0 6px}.soap-output li,.soap-output p{font-size:.8rem;line-height:1.5}.soap-output-actions button{padding:4px 10px;font-size:.7rem}.chat-messages{min-height:200px;max-height:45vh;padding:8px;gap:8px}.chat-avatar{width:26px;height:26px;font-size:.72rem;border-radius:8px}.chat-bubble{padding:8px 10px;font-size:.8rem;line-height:1.45;border-radius:10px}.chat-input{padding:7px 10px;font-size:.8rem}.chat-send-btn{padding:7px 12px;font-size:.78rem}.backend-badge{font-size:.65rem;padding:2px 8px}}@media (max-width:768px){.app-main div[style*="grid-template-columns: repeat(3"],.app-main div[style*="grid-template-columns: repeat(4"]{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.app-main table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.app-main table tbody,.app-main table thead,.app-main table tr{display:table;width:100%;table-layout:auto}.app-main table td,.app-main table th{padding:8px 10px!important;font-size:.78rem!important}.app-main div[style*="position: fixed"][style*="translate(-50%"]{width:95vw!important;max-height:90vh!important}.app-main div[style*="grid-template-columns: 1fr 1fr 1fr"],.app-main div[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important}.app-main h1{font-size:1.3rem!important}.app-main h3{font-size:.85rem!important}.app-main div[style*="flex-wrap: wrap"]{gap:6px!important}}@media (max-width:480px){.app-main div[style*="grid-template-columns: repeat(2"],.app-main div[style*="grid-template-columns: repeat(3"],.app-main div[style*="grid-template-columns: repeat(4"]{grid-template-columns:1fr 1fr!important;gap:6px!important}.app-main div[style*="padding: 20px"]>span[style*="font-size: 1.5rem"]{font-size:1.1rem!important}.app-main div[style*="font-size: 1.8rem"]{font-size:1.3rem!important}.app-main div[style*="font-size: 0.8rem"]{font-size:.7rem!important}.app-main table td,.app-main table th{padding:6px 8px!important;font-size:.72rem!important}div[style*="position: fixed"][style*="translate(-50%"]{width:98vw!important;max-width:98vw!important;max-height:92vh!important;border-radius:10px!important}div[style*="position: fixed"] div[style*="padding: 20px 24px"]{padding:14px 16px!important}div[style*="position: fixed"] h2[style*="font-size: 1.1rem"]{font-size:.92rem!important}div[style*="position: fixed"] div[style*="padding: 24px"]{padding:14px 12px!important}div[style*="position: fixed"] div[style*="padding: 16px 24px"]{padding:10px 12px!important}div[style*="position: fixed"] button[style*="padding: 10px 20px"],div[style*="position: fixed"] button[style*="padding: 10px 24px"]{padding:8px 14px!important;font-size:.78rem!important}.app-main input,.app-main select,.app-main textarea,div[style*="position: fixed"] input,div[style*="position: fixed"] select,div[style*="position: fixed"] textarea{padding:8px 10px!important;font-size:.82rem!important}.app-main label{font-size:.7rem!important}.app-main button[style*="padding: 10px 18px"],.app-main button[style*="padding: 6px 12px"]{padding:5px 10px!important;font-size:.7rem!important;gap:3px!important}.app-main input[style*="padding: 12px"]{padding:9px 12px 9px 34px!important;font-size:.82rem!important}.app-main section div[style*="padding: 16px 20px"]{padding:10px 12px!important}.app-main section h3{font-size:.82rem!important}.app-main div[style*="padding: 12px 16px"][style*="border-radius: 8px"]{padding:8px 10px!important;font-size:.78rem!important}.app-main div[style*="grid-template-columns: 1fr 300px"],.app-main div[style*="grid-template-columns: 1fr 320px"],.app-main div[style*="grid-template-columns: 1fr 350px"]{grid-template-columns:1fr!important}.app-main h1{font-size:1.1rem!important}.app-main p[style*="font-size: 0.85rem"],.app-main p[style*="font-size: 0.9rem"]{font-size:.75rem!important}.app-shell{padding-bottom:env(safe-area-inset-bottom)}}