body.modal-open{overflow:hidden}html body.modal-open .modern-shell>.workspace-panel{overflow-y:hidden}.cc-tabs.cc-tabs--modal{display:flex;gap:.25rem;padding:.25rem;background:hsl(var(--muted) / .4);border-radius:var(--radius);border:1px solid hsl(var(--border))}.cc-tabs.cc-tabs--modal .cc-tab-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .75rem;background:transparent;border:1px solid transparent;border-radius:calc(var(--radius) - 2px);color:hsl(var(--muted-foreground));font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.cc-tabs.cc-tabs--modal .cc-tab-btn:hover{color:hsl(var(--foreground));background:hsl(var(--accent) / .5)}.cc-tabs.cc-tabs--modal .cc-tab-btn.cc-tab-btn--active{background:hsl(var(--card));color:hsl(var(--primary));border-color:hsl(var(--border));box-shadow:0 1px 2px #0000000a}.cc-tabs.cc-tabs--modal .cc-tab-btn i{font-size:.85rem}@media(max-width:640px){.cc-tabs.cc-tabs--modal .cc-tab-btn{min-width:0;padding:.45rem .4rem;font-size:.8rem;gap:.3rem}.cc-tabs.cc-tabs--modal .cc-tab-btn span{min-width:0}}.cc-tab-pane[data-cc-pane]{min-height:480px}.visual-preview-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;margin-bottom:1rem;background:hsl(var(--muted) / .4);border:1px solid hsl(var(--border));border-radius:var(--radius)}.visual-preview-card__label{font-size:.8rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em}.visual-preview-card__chip{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) * 1.5);font-weight:600;min-width:100px;justify-content:center}.visual-preview-card__icon i{font-size:1.1rem}.visual-preview-card__code{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.85rem;color:hsl(var(--foreground))}.visual-section-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.visual-section-card__title{font-size:.85rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em;margin-bottom:.75rem}.visual-section-card__row{display:flex;gap:1rem;align-items:flex-start}.visual-section-card__row>.form-group{margin-bottom:0}.visual-image-card{display:flex;gap:1rem;align-items:flex-start}.visual-image-card__preview{flex:0 0 auto;width:160px;height:120px;border:1px dashed hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted) / .3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;color:hsl(var(--muted-foreground));font-size:.85rem;overflow:hidden;position:relative}.visual-image-card__preview i{font-size:1.5rem}.visual-image-card__preview img{width:100%;height:100%;object-fit:contain;background:#fff}.visual-image-card__preview.has-image{border-style:solid;background:#fff}.visual-image-card__actions{flex:1;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.tag-settings-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1rem;margin-top:1rem}.tag-settings-card__title{font-size:.85rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em;margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem}.tag-settings-card__row{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.tag-settings-card__field{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem}.tag-settings-card__field label{font-weight:500}.tag-settings-card__toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;cursor:pointer}.modal-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.modal-content{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) * 2);width:90%;max-width:500px;max-height:90vh;max-height:90dvh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease;position:relative;z-index:10001;isolation:isolate;will-change:transform}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-header{padding:1.5rem;border-bottom:1px solid hsl(var(--border));display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));display:flex;align-items:center;gap:.75rem;margin:0}.modal-header h3 i{color:hsl(var(--primary))}.modal-section h4{margin-bottom:.8rem}.modal-close{background:transparent;border:none;width:2.5rem;height:2.5rem;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));transition:all .2s;font-size:1.5rem}.modal-close:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.modal-body{padding:1.5rem;overflow-y:auto;flex:1;color:hsl(var(--foreground));line-height:1.6}.modal-body strong{font-weight:600;color:hsl(var(--foreground))}.modal-body br{display:block;content:"";margin-top:.5rem}.modal-body .user-detail-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:hsl(var(--muted) / .3);border-radius:var(--radius);margin-bottom:.75rem}.modal-body .user-detail-item:last-child{margin-bottom:0}.modal-body .user-detail-item .detail-label{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.5px}.modal-body .user-detail-item .detail-label i{font-size:.875rem}.modal-body .user-detail-item .detail-value{font-size:.9375rem;font-weight:500;color:hsl(var(--foreground))}#userInfoModal .user-sign-row{display:inline-flex;align-items:center;gap:.25rem;min-height:28px}#userInfoModal .user-sign-row [hidden]{display:none}#userInfoModal .user-sign-display{font-weight:500;letter-spacing:.02em}#userInfoModal .user-sign-edit-btn,#userInfoModal .user-sign-save-btn,#userInfoModal .user-sign-cancel-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;background:transparent;color:hsl(var(--muted-foreground));border-radius:var(--radius);cursor:pointer;font-size:.75rem;transition:background .12s,color .12s,border-color .12s}#userInfoModal .user-sign-edit-btn:hover,#userInfoModal .user-sign-cancel-btn:hover{background:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}#userInfoModal .user-sign-save-btn{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}#userInfoModal .user-sign-save-btn:hover{background:hsl(var(--primary) / .9)}#userInfoModal .user-sign-edit-btn:focus-visible,#userInfoModal .user-sign-save-btn:focus-visible,#userInfoModal .user-sign-cancel-btn:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--ring) / .4)}#userInfoModal .user-sign-edit{display:inline-flex;align-items:center;gap:.25rem}#userInfoModal .user-sign-input{width:5rem;height:28px;box-sizing:border-box;padding:0 .5rem;font:inherit;font-size:.875rem;font-weight:500;border:1px solid hsl(var(--input));background:hsl(var(--background));color:hsl(var(--foreground));border-radius:var(--radius)}#userInfoModal .user-sign-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.modal-body .user-detail-item .detail-value.code{font-family:JetBrains Mono,Courier New,monospace;font-size:.8125rem;background:hsl(var(--muted) / .5);padding:.75rem;border-radius:calc(var(--radius) * .75);border-left:3px solid hsl(var(--primary));white-space:pre-wrap;line-height:1.5}.modal-section{margin-bottom:1.5rem}.modal-section:last-child{margin-bottom:0}.modal-section h4{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.8rem}.modal-form{padding:1.5rem;overflow-y:auto;flex:1}.modal-form .form-group{margin-bottom:1.25rem}.modal-form .form-group:last-child{margin-bottom:0}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem;border-top:1px solid hsl(var(--border));margin-top:1.5rem}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid hsl(var(--border));background:hsl(var(--card));flex-shrink:0}.modal-footer .btn:first-child{margin-right:auto}@media(max-width:640px){.modal-content{width:95%;max-height:95vh;max-height:95dvh}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) * 2);padding:0;max-width:640px;width:90%;max-height:90vh;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:dialogFadeIn .2s ease;color:hsl(var(--foreground));z-index:10001}@keyframes dialogFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}dialog::backdrop{background:#00000080;backdrop-filter:blur(4px);animation:fadeIn .2s ease}dialog[open]{display:flex;flex-direction:column}dialog .dialog-content{display:flex;flex-direction:column;max-height:90vh;overflow:hidden}dialog .dialog-header{padding:1.5rem;border-bottom:1px solid hsl(var(--border));display:flex;justify-content:space-between;align-items:center;flex-shrink:0}dialog .dialog-header h2,dialog .dialog-header h3{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));display:flex;align-items:center;gap:.75rem;margin:0}dialog .dialog-header h2 i,dialog .dialog-header h3 i{color:hsl(var(--primary))}dialog .dialog-close{background:transparent;border:none;width:2.5rem;height:2.5rem;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));transition:all .2s;font-size:1.25rem}dialog .dialog-close:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}dialog .dialog-body{padding:1.5rem;overflow-y:auto;flex:1;color:hsl(var(--foreground));line-height:1.6}dialog .dialog-form{padding:1.5rem;overflow-y:auto;flex:1}dialog .dialog-form .form-group{margin-bottom:1.25rem}dialog .dialog-form .form-group:last-of-type{margin-bottom:0}dialog .dialog-form label{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.5rem}dialog .dialog-form label .required{color:hsl(var(--destructive))}dialog .dialog-form input,dialog .dialog-form select,dialog .dialog-form textarea{width:100%;padding:.625rem .875rem;font-size:.9375rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .2s,box-shadow .2s}dialog .dialog-form input:focus,dialog .dialog-form select:focus,dialog .dialog-form textarea:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}dialog .dialog-form input::placeholder,dialog .dialog-form textarea::placeholder{color:hsl(var(--muted-foreground))}dialog .dialog-form .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(max-width:480px){dialog .dialog-form .form-row{grid-template-columns:1fr}}dialog .dialog-actions{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid hsl(var(--border));background:hsl(var(--card));flex-shrink:0}@media(max-width:640px){dialog{width:95%;max-height:95vh;margin:auto}dialog .dialog-actions{flex-direction:column-reverse}dialog .dialog-actions button{width:100%}}
*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);line-height:1.6;color:hsl(var(--foreground))}.login-page{background:hsl(var(--background));min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;position:relative}.login-title{position:absolute;top:2rem;left:2rem;font-size:2.5rem;font-weight:700;color:hsl(var(--foreground));font-family:Courier New,monospace;margin:0}.login-container{background:hsl(var(--card));border-radius:16px;box-shadow:0 4px 20px hsl(var(--border) / .3);max-width:1200px;width:100%;overflow:hidden;border:1px solid hsl(var(--border))}.login-header{padding:2rem;background:hsl(var(--background));border-bottom:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:flex-start}.login-header h1{font-size:2rem;font-weight:700;color:hsl(var(--foreground));font-family:Courier New,monospace}.login-header .login-logo{height:3rem;width:auto}.login-content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:2rem;padding:3rem;background:hsl(var(--card))}.welcome-section{grid-column:1 / -1}.welcome-section h2{font-size:2rem;margin-bottom:1rem;color:hsl(var(--foreground))}.welcome-section p{font-size:1.1rem;color:hsl(var(--muted-foreground));line-height:1.8}.login-visual{display:flex;justify-content:center;align-items:center;padding:1rem;background:hsl(var(--muted) / .3);border-radius:var(--radius)}.visual-placeholder{width:100%;max-width:500px}.plant-visual{width:100%;height:auto}.plant-visual-image{width:100%;height:auto;border-radius:var(--radius);box-shadow:0 4px 12px hsl(var(--border) / .5);object-fit:cover}.login-actions{padding:1rem;display:flex;flex-direction:column;gap:1.5rem;justify-content:center}.login-actions h3{margin-bottom:.5rem;font-size:1.5rem;color:hsl(var(--foreground));text-align:center}.login-actions .btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.5rem;font-size:1rem;font-weight:500;border-radius:var(--radius);transition:all .2s ease;cursor:pointer;border:none}.login-actions .btn i,.login-actions .btn svg{width:20px;height:20px}.microsoft-icon{flex-shrink:0}.request-access-form{background:hsl(var(--muted) / .3);border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.25rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.request-access-form .form-group{margin-bottom:1rem}.request-access-form label{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.375rem}.request-access-form input,.request-access-form textarea{width:100%;padding:.625rem .875rem;font-size:.9rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .2s,box-shadow .2s}.request-access-form input:focus,.request-access-form textarea:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.request-access-form input::placeholder,.request-access-form textarea::placeholder{color:hsl(var(--muted-foreground))}.request-access-form textarea{resize:vertical;min-height:80px}.request-access-form .form-note{font-size:.8rem;color:hsl(var(--muted-foreground));text-align:center;margin-top:.75rem;margin-bottom:0}.request-access-form .btn{margin-top:.5rem}.login-info-note{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:hsl(var(--muted) / .5);border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.8rem;color:hsl(var(--muted-foreground));line-height:1.4}.login-info-note i{color:hsl(var(--primary));flex-shrink:0;margin-top:.1rem}.login-info-note a{color:hsl(var(--primary));text-decoration:none;font-weight:500}.login-info-note a:hover{text-decoration:underline}.portal-page{background:hsl(var(--background));min-height:100vh}#app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:hsl(var(--card));color:hsl(var(--foreground));padding:.5rem 1.5rem;height:var(--header-height, 56px);box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid hsl(var(--border));position:sticky;top:0;z-index:400}.logo-section{display:flex;align-items:center;gap:.75rem}.logo-section i{font-size:1.5rem;color:hsl(var(--primary))}.logo-section h1{font-size:1.5rem;font-weight:600;color:hsl(var(--foreground))}.logo-section .app-logo{height:2.5rem;width:auto}.light-logo{display:block}.dark-logo,body.dark .light-logo{display:none}body.dark .dark-logo{display:block}.user-info{display:flex;align-items:center;gap:1rem}.user-info-text{display:flex;align-items:center;gap:.5rem;color:hsl(var(--foreground))}.user-info-text i{font-size:1rem;color:hsl(var(--foreground))}.user-info-text #userName{cursor:pointer;padding:.25rem .5rem;border-radius:var(--radius);transition:all .2s}.user-info-text #userName:hover{background:hsl(var(--primary) / .1);color:hsl(var(--primary));box-shadow:0 0 0 1px hsl(var(--primary) / .2);transform:translateY(-1px)}.header-icon-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:var(--radius);background:transparent;color:hsl(var(--muted-foreground));font-size:1rem;cursor:pointer;transition:all .2s}.header-icon-btn:hover{background:hsl(var(--primary) / .1);color:hsl(var(--primary));transform:translateY(-1px)}.header-icon-btn:active{transform:translateY(0)}.app-nav{display:flex;align-items:flex-end;padding:0;width:100%;background:transparent;max-width:720px;margin:1.5rem auto 0}.portal-watermark{--wm-w: min(440px, 72%);max-width:720px;margin:3.5rem auto 0;padding:0 0 1rem;display:flex;justify-content:center;pointer-events:none;user-select:none}.portal-watermark img{width:var(--wm-w);height:auto;opacity:.14;display:none}.portal-watermark .light-logo{display:block}body.dark .portal-watermark .light-logo{display:none}body.dark .portal-watermark .dark-logo{display:block}.portal-watermark{position:relative}.wm-fx,.wm-wifi{position:absolute;top:0;left:50%;transform:translate(-50%);width:var(--wm-w);aspect-ratio:3870.2364 / 1445.3023;pointer-events:none}.wm-fx{overflow:hidden;-webkit-mask-image:url(/assets/images/Industri_logg_svart_1024.svg);mask-image:url(/assets/images/Industri_logg_svart_1024.svg);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.wm-band{position:absolute;top:-10%;bottom:-10%;width:26%;background:linear-gradient(90deg,transparent 0%,hsl(var(--primary) / .55) 35%,hsl(var(--primary)) 50%,hsl(var(--primary) / .55) 65%,transparent 100%);filter:blur(.5px);animation:wm-band-sweep 9s cubic-bezier(.45,0,.55,1) infinite}body.dark .wm-band{filter:blur(.5px) brightness(1.35)}body.dark .wm-fx{-webkit-mask-image:url(/assets/images/Industri_logg_vit_1024.svg);mask-image:url(/assets/images/Industri_logg_vit_1024.svg)}@keyframes wm-band-sweep{0%{transform:translate(-130%)}50%{transform:translate(400%)}to{transform:translate(400%)}}.wm-wifi{overflow:visible}.wm-wifi .wm-arc{stroke:hsl(var(--primary));fill:none;stroke-width:60;opacity:0;animation:wm-wifi-pulse 9s ease-out infinite}.wm-wifi .wm-arc-0{fill:hsl(var(--primary));stroke:none;animation-delay:4.45s}.wm-wifi .wm-arc-1{animation-delay:4.65s}.wm-wifi .wm-arc-2{animation-delay:4.9s}@keyframes wm-wifi-pulse{0%{opacity:0}4%{opacity:1}22%{opacity:0}to{opacity:0}}@media(prefers-reduced-motion:reduce){.wm-fx,.wm-wifi{display:none}}.nav-container{display:flex;gap:2rem;border-bottom:1px solid hsl(var(--border));width:100%;background:transparent;padding:0;border-radius:0}.nav-btn{background:none;border:none;border-bottom:2px solid transparent;padding:.5rem 0;cursor:pointer;color:hsl(var(--muted-foreground));font-size:.875rem;transition:all .2s;border-radius:0;font-weight:500;gap:.375rem;display:inline-flex;align-items:center;justify-content:center}.nav-btn:hover{color:hsl(var(--foreground))}.nav-btn.active{color:hsl(var(--foreground));border-bottom-color:hsl(var(--primary));font-weight:600;background:transparent;box-shadow:none}.tab-content{padding:1.5rem 0}.tab-pane{display:none;animation:fadeIn .3s;max-width:720px;margin:0 auto}.tab-pane.active{display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-content{flex:1;max-width:1400px;margin:0 auto;width:100%;padding:2rem}.portal-section{margin-bottom:3rem}.portal-section h2{font-size:1.8rem;margin-bottom:2rem;color:hsl(var(--foreground))}.apps-list{display:flex;flex-direction:column}.apps-list-empty{text-align:center;color:hsl(var(--muted-foreground));padding:3rem 1rem;font-size:.9rem}.portal-account-error{max-width:34rem;margin:4rem auto;padding:2rem;text-align:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius)}.portal-account-error h2{margin:0 0 .75rem;font-size:1.15rem;font-weight:600;color:hsl(var(--foreground))}.portal-account-error p{margin:0 0 1.5rem;color:hsl(var(--muted-foreground));line-height:1.5}.portal-account-error-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.apps-list-heading{margin:2rem 0 .25rem;padding-bottom:.5rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground));border-bottom:1px solid hsl(var(--border))}.app-row{display:flex;align-items:center;gap:1rem;padding:1.1rem 0;border-bottom:1px solid hsl(var(--border));text-decoration:none;color:hsl(var(--foreground));cursor:pointer;position:relative;transition:padding-left .3s cubic-bezier(.22,.61,.36,1)}.app-row:first-child{border-top:none}.app-row:hover{padding-left:.5rem}.app-row:hover .app-row-name{color:hsl(var(--primary))}.app-row-number{flex-shrink:0;font-family:JetBrains Mono,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.8rem;font-weight:500;color:hsl(var(--muted-foreground));letter-spacing:.05em;text-align:left;user-select:none;margin-right:-.65rem;min-width:1.6rem;transition:color .2s ease}.app-row:hover .app-row-number{color:hsl(var(--primary))}.app-row-name{font-size:1.5rem;font-weight:600;letter-spacing:-.025em;line-height:1.2;transition:color .2s ease;white-space:nowrap}.app-row-desc{font-size:.8rem;color:hsl(var(--muted-foreground));flex:1;min-width:0;opacity:0;transform:translate(-8px);transition:opacity .3s ease,transform .3s ease;line-height:1.4}.app-row:hover .app-row-desc{opacity:1;transform:translate(0)}.app-row-arrow{flex-shrink:0;width:20px;height:20px;color:hsl(var(--muted-foreground));opacity:0;transform:translate(-8px);transition:opacity .25s ease,transform .25s ease,color .2s ease}.app-row:hover .app-row-arrow{opacity:1;transform:translate(0);color:hsl(var(--primary))}@keyframes rowSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app-row{animation:rowSlideIn .4s cubic-bezier(.22,.61,.36,1) both}.app-row:nth-child(1){animation-delay:.03s}.app-row:nth-child(2){animation-delay:.06s}.app-row:nth-child(3){animation-delay:.09s}.app-row:nth-child(4){animation-delay:.12s}.app-row:nth-child(5){animation-delay:.15s}.app-row:nth-child(6){animation-delay:.18s}.app-row:nth-child(7){animation-delay:.21s}.app-row:nth-child(8){animation-delay:.24s}.app-row:nth-child(9){animation-delay:.27s}.app-row:nth-child(10){animation-delay:.3s}.app-row:nth-child(11){animation-delay:.33s}.app-row:nth-child(12){animation-delay:.36s}.plugin-row{cursor:default}.plugin-badge{flex-shrink:0;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .6rem;border-radius:9999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border))}.plugin-download-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .6rem;border-radius:9999px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:1px solid hsl(var(--primary));text-decoration:none;cursor:pointer;transition:opacity .15s ease}.plugin-download-btn:hover{opacity:.85}button.plugin-download-btn{font-family:inherit;line-height:1.4}.plugin-capability-note{display:inline-flex;align-items:center;gap:.3rem;margin-left:.5rem;font-size:.8125rem;font-weight:500}.plugin-capability-note--ok{color:hsl(var(--success, 142 71% 45%))}.plugin-capability-note--warn{color:hsl(var(--destructive))}.section-description{color:hsl(var(--muted-foreground));margin-bottom:1.5rem;font-size:.875rem;max-width:720px;margin-left:auto;margin-right:auto}.tab-pane.has-app-preview{position:relative}.app-preview-pane{position:absolute;top:calc(100% + 1.5rem);left:50%;width:100%;max-width:640px;pointer-events:none;opacity:0;transform:translate(-50%) translateY(-12px);transition:opacity .32s cubic-bezier(.22,.61,.36,1),transform .32s cubic-bezier(.22,.61,.36,1);z-index:5}.app-preview-pane.is-visible{opacity:1;transform:translate(-50%) translateY(0)}.app-preview-card{position:relative;border-radius:var(--radius);overflow:hidden;background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:0 18px 50px -12px hsl(var(--foreground) / .28),0 4px 14px -6px hsl(var(--foreground) / .18);aspect-ratio:16 / 10}.app-preview-card.pop{animation:appPreviewPop .34s cubic-bezier(.22,.61,.36,1) both}@keyframes appPreviewPop{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.app-preview-img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:top left;opacity:0;transition:opacity .6s ease}.app-preview-img.is-active{opacity:1}.app-preview-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;background:radial-gradient(120% 120% at 0% 0%,hsl(var(--primary) / .16),transparent 60%),linear-gradient(135deg,hsl(var(--muted)),hsl(var(--card)));color:hsl(var(--muted-foreground))}.app-preview-placeholder i{font-size:2.6rem;color:hsl(var(--primary));opacity:.85}.app-preview-placeholder span{font-size:.9rem;font-weight:600;letter-spacing:-.01em;color:hsl(var(--foreground))}@media(max-width:640px){.app-preview-pane{display:none}}@media(max-width:640px){.app-row-name{font-size:1.15rem}.app-row-desc{display:none}.app-row-arrow{opacity:1;transform:translate(0)}}.btn{padding:12px 24px;border:none;border-radius:var(--radius);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:1px solid hsl(var(--primary))}.btn-primary:hover{background:hsl(var(--primary) / .9);transform:translateY(-2px);box-shadow:0 4px 12px hsl(var(--primary) / .3)}.btn-dark{background:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.btn-dark:hover{background:hsl(var(--accent));border-color:hsl(var(--primary));transform:translateY(-2px)}.btn-small{padding:8px 16px;font-size:.875rem}.icon{font-size:1.2rem}.microsoft-icon{width:1.25rem;height:1.25rem}.user-detail-item{display:flex;flex-direction:column;gap:.375rem;padding:1rem;background:hsl(var(--muted));border-radius:var(--radius);margin-bottom:1rem}.user-detail-item:last-child{margin-bottom:0}.user-detail-label{font-size:.75rem;color:hsl(var(--muted-foreground));text-transform:uppercase;font-weight:600;letter-spacing:.05em;display:flex;align-items:center;gap:.5rem}.user-detail-label i{font-size:.875rem}.user-detail-value{font-size:1rem;color:hsl(var(--foreground));font-weight:500}.user-roles-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.role-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:hsl(var(--primary) / .1);color:hsl(var(--primary));border-radius:calc(var(--radius) * 2);font-size:.8125rem;font-weight:500;border:1px solid hsl(var(--primary) / .2)}.btn-sm{padding:.625rem 1rem;font-size:.875rem}@media(max-width:1200px){.app-content{max-width:100%;padding:0}.app-nav{padding:0 1rem}.tab-content{padding:1.5rem 0}}@media(max-width:768px){.login-title{display:none}.login-page{padding:1rem}.login-container{border-radius:12px}.login-header{padding:1rem}.login-header .login-logo{height:2.5rem}.login-content{grid-template-columns:1fr;padding:1.5rem;gap:1.5rem}.welcome-section h2{font-size:1.5rem}.welcome-section p{font-size:1rem}.login-actions h3{font-size:1.25rem}.apps-grid{grid-template-columns:1fr}.app-header{flex-direction:row;padding:.5rem .75rem;gap:.5rem;align-items:center}.logo-section .app-logo{height:1.75rem}.user-info{gap:.5rem}.app-nav{margin:.5rem 0 0;padding:0 .75rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%}.app-nav::-webkit-scrollbar{display:none}.portal-watermark{margin-top:2.5rem}.portal-watermark{--wm-w: 78%}.nav-container{gap:1.25rem;width:max-content;min-width:100%;border-bottom:1px solid hsl(var(--border))}.nav-btn{white-space:nowrap;flex-shrink:0;font-size:.8125rem}.app-content{padding:0 .75rem}.tab-content{padding:1rem 0}.portal-section h2,.internal-section h2{font-size:1.5rem}}@media(max-width:480px){.login-page{padding:.5rem}.login-container{border-radius:8px}.login-header{padding:.75rem}.login-header .login-logo{height:2rem}.login-content{padding:1rem;gap:1rem}.welcome-section h2{font-size:1.25rem;margin-bottom:.75rem}.welcome-section p{font-size:.9rem;line-height:1.6}.login-visual{padding:.5rem}.login-actions{padding:.5rem;gap:1rem}.login-actions h3{font-size:1.1rem;margin-bottom:.25rem}.login-actions .btn{padding:.875rem 1rem;font-size:.9rem}.logo-section h1,.logo-section i{font-size:1.25rem}.btn-sm{width:100%}}@media(max-width:374px){.app-user-trigger-name{display:none}}@media(max-width:899px){#openWhiteboardBtn{display:none!important}}.portal-footer{padding:16px 24px calc(16px + var(--safe-bottom, 0px));display:flex;align-items:center;justify-content:center;gap:12px;font-size:11px;color:hsl(var(--muted-foreground))}.portal-footer-version{font-family:Menlo,Monaco,monospace}.portal-footer-sep,.portal-footer-product{opacity:.85}
/*# sourceMappingURL=index-css1.css.map */
