:root{--background:#121214;--surface:#1a1a1c;--surface-variant:#222225;--primary:#4dd0c4;--primary-dark:#26a69a;--primary-glow:#4dd0c426;--on-primary:#000;--on-background:#fff;--on-surface:#e0e0e0;--on-surface-subtle:#9ba0a6;--error:#cf6679;--error-glow:#cf667926;--divider:#3a3b3f;--accent-teal:#26c6da;--success:#4caf50;--font-family:"Roboto", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 24px #0000004d;--shadow-lg:0 16px 40px #00000080;--app-max-width:440px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-family);color:var(--on-background);background-color:#121214;justify-content:center;align-items:center;height:100vh;display:flex;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--divider);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--on-surface-subtle)}#root{width:100%;height:100%;max-width:var(--app-max-width);background-color:var(--background);flex-direction:column;display:flex;position:relative;overflow:hidden;transform:translate(0);box-shadow:0 0 40px #000c}@media (width<=480px){#root{max-width:100%;box-shadow:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.anim-fade-in{animation:fadeIn var(--transition-normal) forwards}.anim-slide-up{animation:slideUp var(--transition-normal) forwards}.anim-scale-in{animation:scaleIn var(--transition-normal) forwards}.spinner{border:3px solid #4dd0c433;border-top-color:var(--primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}h1{color:var(--on-background);font-size:24px;font-weight:700}h2{color:var(--on-background);font-size:20px;font-weight:600}h3{color:var(--on-background);font-size:16px;font-weight:500}p{color:var(--on-surface-subtle);font-size:14px;line-height:1.4}.text-xs{font-size:12px}.text-sm{font-size:13px}.text-bold{font-weight:600}.text-teal{color:var(--primary)}button{font-family:var(--font-family);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);border:none;outline:none;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;display:inline-flex}button:active{transform:scale(.96)}.btn-primary{background-color:var(--primary);color:var(--on-primary)}.btn-primary:hover{background-color:var(--primary-dark)}.btn-primary:disabled{background-color:var(--surface-variant);color:var(--on-surface-subtle);cursor:not-allowed;transform:none}.btn-secondary{background-color:var(--surface-variant);color:var(--on-surface);border:1px solid var(--divider)}.btn-secondary:hover{background-color:var(--surface)}.btn-danger{color:var(--error);background-color:#cf667926;border:1px solid #cf66794d}.btn-danger:hover{background-color:#cf667940}.btn-icon{background-color:var(--surface-variant);width:44px;height:44px;color:var(--on-surface);border-radius:50%;padding:0}.btn-icon:hover{background-color:var(--surface)}.btn-icon.active{background-color:var(--primary-glow);color:var(--primary);border:1px solid #4dd0c44d}.form-group{flex-direction:column;gap:6px;width:100%;margin-bottom:18px;display:flex}.form-label{color:var(--on-surface);padding-left:4px;font-size:13px;font-weight:500}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--on-surface-subtle);justify-content:center;align-items:center;display:flex;position:absolute;left:14px}.form-input{background-color:var(--surface-variant);border:1px solid var(--divider);border-radius:var(--radius-md);width:100%;color:var(--on-background);transition:var(--transition-fast);outline:none;padding:14px 16px;font-size:14px}.form-input-with-icon{padding-left:44px}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background-color:var(--surface)}.form-input.input-error{border-color:var(--error)}.form-input.input-error:focus{box-shadow:0 0 0 3px var(--error-glow)}.glass-panel{-webkit-backdrop-filter:blur(20px);background:#2a2b30bf;border:1px solid #ffffff0d}.flex-row{align-items:center;gap:12px;display:flex}.flex-column{flex-direction:column;gap:12px;display:flex}.space-between{justify-content:space-between}.center-content{justify-content:center;align-items:center;display:flex}.app-header{background-color:var(--background);border-bottom:1px solid var(--divider);z-index:10;justify-content:space-between;align-items:center;height:64px;padding:16px;display:flex;position:relative}.app-navbar{z-index:10;background-color:#121214;border-top:none;grid-template-columns:repeat(4,1fr);height:64px;display:grid;position:absolute;bottom:0;left:0;right:0}.sidebar-logo-container{display:none}.nav-item{color:var(--on-surface-subtle);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:100%;font-size:11px;font-weight:500;display:flex}.nav-item:active{transform:scale(.95)}.nav-item.active{color:var(--primary)}.nav-item svg{width:22px;height:22px}.app-main{flex-direction:column;flex:1;padding:16px 16px 80px;display:flex;position:relative;overflow-y:auto}.bottom-sheet-overlay{z-index:100;opacity:0;animation:fadeIn var(--transition-fast) forwards;background-color:#0009;align-items:flex-end;display:flex;position:fixed;inset:0}.bottom-sheet{background-color:var(--surface);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-lg);border:1px solid #ffffff0d;flex-direction:column;gap:16px;max-height:90%;padding:24px 24px 34px;animation:.3s cubic-bezier(.1,.76,.55,.94) forwards slideUp;display:flex;overflow-y:auto;transform:translateY(100%)}.bottom-sheet-handle{background-color:var(--divider);border-radius:2px;width:40px;height:4px;margin:0 auto 8px}.viewer-info-drawer-overlay{z-index:1000;opacity:0;animation:fadeIn var(--transition-fast) forwards;background-color:#0009;align-items:flex-end;display:flex;position:fixed;inset:0}.viewer-info-drawer{background-color:var(--surface);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-lg);border:1px solid #ffffff0d;flex-direction:column;gap:16px;max-height:90%;padding:24px 24px 34px;animation:.3s cubic-bezier(.1,.76,.55,.94) forwards slideUp;display:flex;overflow-y:auto;transform:translateY(100%)}.patient-list-container.view-list{background-color:var(--surface)!important;border:1px solid var(--divider)!important;border-radius:var(--radius-md)!important;flex-direction:column!important;gap:0!important;display:flex!important;overflow:hidden!important}.patient-list-row-item{border-bottom:1px solid var(--divider)!important;background-color:#0000!important;border-radius:0!important}.patient-list-row-item:last-child{border-bottom:none!important}.patient-list-row-item:hover,.patient-list-row-item:active{background-color:#ffffff08!important}.hide-scrollbar::-webkit-scrollbar{display:none!important}.hide-scrollbar{-ms-overflow-style:none!important;scrollbar-width:none!important}.recent-patients-sidebar{display:none!important}.recent-patients-scroller{display:block!important}.session-photo-grid{grid-template-columns:repeat(3,1fr)!important;gap:6px!important;padding:12px!important;display:grid!important}@media (width>=769px){body{background-color:#121214;justify-content:stretch;align-items:stretch;height:100vh;display:flex;overflow:hidden}#root{width:100vw!important;max-width:100%!important;height:100vh!important;box-shadow:none!important;border-radius:0!important}.app-header{background-color:var(--background);border-bottom:1px solid var(--divider);height:64px;margin-left:200px;padding:0 32px}.app-main{height:calc(100vh - 64px);margin-left:200px;padding:32px;overflow-y:auto}.app-navbar{background-color:#121214!important;border-top:none!important;border-right:none!important;grid-template-rows:auto!important;grid-template-columns:1fr!important;align-content:start!important;gap:8px!important;width:200px!important;height:100vh!important;padding:32px 16px!important;position:fixed!important;inset:0 auto 0 0!important}.sidebar-logo-container{margin-bottom:24px;padding:0 16px 16px;border-bottom:none!important;display:block!important}.nav-item{border-radius:var(--radius-md)!important;width:100%!important;height:48px!important;transition:var(--transition-fast)!important;flex-direction:row!important;justify-content:flex-start!important;gap:16px!important;margin:0!important;padding:12px 16px!important}.nav-item:hover{background-color:#ffffff08}.nav-item.active{background-color:var(--primary-glow)!important;color:var(--primary)!important}.nav-item svg{width:20px!important;height:20px!important}.nav-item span{font-size:14px!important;font-weight:600!important}.patient-list-container{flex:1!important;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important;grid-auto-rows:max-content!important;gap:16px!important;display:grid!important;overflow-y:auto!important}.patient-list-container.view-list{flex-direction:column!important;gap:0!important;display:flex!important}.patients-tab-layout{grid-template-columns:1fr 260px!important;align-items:start!important;gap:32px!important;width:100%!important;height:100%!important;display:grid!important}.recent-patients-sidebar{background-color:var(--surface)!important;border:1px solid var(--divider)!important;border-radius:var(--radius-lg)!important;flex-direction:column!important;height:calc(100vh - 128px)!important;padding:20px 16px!important;display:flex!important;overflow-y:auto!important}.recent-patients-scroller{display:none!important}.recent-sidebar-card{transition:var(--transition-fast)!important}.recent-sidebar-card:hover{border-color:var(--primary)!important;background-color:#ffffff0d!important}.session-photo-grid{grid-template-columns:repeat(6,1fr)!important;gap:12px!important}.casos-grid{flex:1!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;grid-auto-rows:max-content!important;gap:16px!important;display:grid!important;overflow-y:auto!important}.patient-detail-content{grid-template-columns:320px 1fr!important;align-items:start!important;gap:32px!important;padding:32px!important;display:grid!important}.patient-info-sidebar{background-color:var(--background);z-index:10;flex-direction:column;gap:16px;display:flex;position:sticky;top:0}.patient-sessions-list{flex-direction:column;gap:16px;display:flex}.photo-viewer-container{z-index:500!important;background-color:#000!important;flex-direction:row!important;width:100vw!important;height:100vh!important;display:flex!important;position:fixed!important;inset:0!important}.photo-viewer-main{flex-direction:column!important;flex:1!important;height:100%!important;display:flex!important;position:relative!important}.viewer-info-drawer-overlay{background-color:var(--surface)!important;border-left:1px solid var(--divider)!important;opacity:1!important;width:380px!important;height:100vh!important;animation:none!important;display:block!important;position:static!important}.viewer-info-drawer{background-color:#0000!important;border:none!important;border-radius:0!important;width:100%!important;height:100%!important;max-height:100%!important;padding:32px 24px!important;animation:none!important;overflow-y:auto!important;transform:none!important}.bottom-sheet-handle{display:none!important}.camera-view-container,.face-analysis-container,.collage-maker-container,.filters-panel-container{z-index:1000!important;width:100vw!important;max-width:100%!important;height:100vh!important;box-shadow:none!important;border:none!important;top:0!important;left:0!important;transform:none!important}.login-screen{background-color:var(--surface)!important;border:1px solid var(--divider)!important;border-radius:var(--radius-lg)!important;width:100%!important;max-width:440px!important;height:auto!important;box-shadow:var(--shadow-lg)!important;margin:auto!important;padding:40px 32px!important}.collage-maker-body{flex-direction:row!important;height:100vh!important}.collage-preview-area{border-right:1px solid var(--divider)!important;flex:1.5!important;padding:32px!important}.collage-controls-sidebar{border-top:none!important;border-left:1px solid var(--divider)!important;width:380px!important;height:100%!important;box-shadow:none!important;background:var(--surface)!important;border-radius:0!important;padding:24px!important;overflow-y:auto!important}.collage-layouts-container{flex-direction:column!important;gap:8px!important;overflow-x:visible!important}.collage-layout-btn{justify-content:flex-start!important;width:100%!important;height:42px!important;padding:10px 16px!important}}.viewer-left-sidebar::-webkit-scrollbar{display:none}.viewer-left-sidebar{scrollbar-width:none}.viewer-thumb-card{transition:all .2s cubic-bezier(.25,.46,.45,.94)}.viewer-thumb-card:hover{filter:brightness(1.15);transform:scale(1.05)}.viewer-thumb-card.active{transform:scale(1.02)}@media (width<=768px){.viewer-left-sidebar{gap:8px!important;width:68px!important;padding:8px 4px!important}.viewer-right-sidebar{z-index:100!important;-webkit-backdrop-filter:blur(10px)!important;border-left:1px solid var(--divider)!important;background-color:#0c0e10f2!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:12px!important;width:280px!important;height:100%!important;padding:16px!important;position:absolute!important;top:0!important;bottom:0!important;right:0!important}}.viewer-suggestion-item:hover{transform:translateY(-1px);background-color:#4dd0c440!important;border-color:#4dd0c466!important}.interactive-tag-pill{color:var(--primary)!important;cursor:default!important;-webkit-user-select:none!important;user-select:none!important;background-color:#4dd0c41a!important;border:1px solid #4dd0c433!important;border-radius:12px!important;align-items:center!important;gap:6px!important;padding:4px 10px!important;font-size:11px!important;font-weight:600!important;transition:all .2s!important;display:inline-flex!important;position:relative!important}.interactive-tag-pill .delete-tag-btn{color:var(--error)!important;cursor:pointer!important;background:0 0!important;border:none!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:14px!important;height:14px!important;padding:0!important;font-size:14px!important;line-height:1!important;transition:background-color .15s!important;display:none!important}.interactive-tag-pill:hover{color:var(--error)!important;background-color:#ef535014!important;border-color:#ef535040!important}.interactive-tag-pill:hover .delete-tag-btn{display:inline-flex!important}.interactive-tag-pill .delete-tag-btn:hover{background-color:#ef535026!important}.patient-tag-badge{transition:all .2s!important}.patient-tag-badge:hover{transform:translateY(-1.5px);background-color:var(--primary)!important;color:var(--on-primary)!important;box-shadow:0 4px 10px #4dd0c44d!important}.viewer-tag-badge{transition:all .2s!important}.viewer-tag-badge:hover{transform:translateY(-1.5px);background-color:var(--primary)!important;color:var(--on-primary)!important;box-shadow:0 4px 10px #4dd0c44d!important}.patient-list-row-item{transition:background-color .25s!important;position:relative!important;overflow:hidden!important}.patient-list-row-item:hover{background-color:#ffffff08!important}.patient-list-avatar{transform-origin:0!important;z-index:2!important;transition:transform .4s cubic-bezier(.34,1.56,.64,1)!important;position:relative!important}.patient-list-info{transform-origin:0!important;z-index:1!important;transition:transform .4s cubic-bezier(.34,1.56,.64,1)!important;position:relative!important}.patient-list-row-item:hover .patient-list-avatar{transform:scale(3)!important;box-shadow:0 4px 12px #0006,0 0 8px #4dd0c44d!important}.patient-list-row-item:hover .patient-list-info{transform:translate(68px)!important}.collage-maker-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.collage-preview-area{background-color:#0d0e10;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:16px;display:flex;overflow-y:auto}.collage-controls-sidebar{border-top:1px solid var(--divider);flex-direction:column;gap:14px;padding:16px;display:flex}.collage-layouts-container{scrollbar-width:thin;gap:8px;width:100%;padding-bottom:8px;display:flex;overflow-x:auto}.collage-layout-btn{cursor:pointer;transition:var(--transition-fast);border:1px solid;border-radius:10px;flex:none;align-items:center;gap:6px;padding:8px 12px;font-size:12px;display:flex}
