@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--primary:#3b82f6;--primary-dark:#2563eb;--primary-light:#60a5fa;--primary-glow:#3b82f626;--accent:#f59e0b;--accent-dark:#d97706;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#6366f1;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-card:#1e293bb3;--bg-card-hover:#334155b3;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--border:#94a3b81a;--border-hover:#94a3b833;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0000004d;--shadow-lg:0 10px 25px #0006;--shadow-glow:0 0 20px #3b82f626;--sidebar-width:260px;--header-height:64px;--radius:12px;--radius-sm:8px;--radius-lg:16px}[data-theme=light]{--bg-primary:#f1f5f9;--bg-secondary:#fff;--bg-tertiary:#e2e8f0;--bg-card:#ffffffd9;--bg-card-hover:#f1f5f9e6;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--border:#0f172a1a;--border-hover:#0f172a33;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000014;--shadow-lg:0 10px 25px #0000001a;--shadow-glow:0 0 20px #3b82f61a}[data-theme=light] .sidebar{box-shadow:2px 0 10px #0000000d}[data-theme=light] .header{box-shadow:0 1px 4px #0000000a}[data-theme=light] .form-input,[data-theme=light] .chat-input input{background:#fff}[data-theme=light] .photo-item .overlay{background:linear-gradient(#0000,#00000080)}*{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;width:100%!important;height:100%!important;margin:0!important;padding:0!important;position:fixed!important;overflow:hidden!important}body{background:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,sans-serif}input,select,textarea,button{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}#root,.app-container{display:flex;position:absolute!important;inset:0!important;overflow:hidden!important}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);z-index:100;flex-direction:column;height:100vh;transition:transform .3s;display:flex;position:fixed;top:0;left:0}.sidebar-logo{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:20px 24px;display:flex}.sidebar-logo .logo-icon{background:linear-gradient(135deg, var(--primary), var(--info));color:#fff;width:40px;height:40px;box-shadow:var(--shadow-glow);border-radius:10px;justify-content:center;align-items:center;font-size:20px;font-weight:800;display:flex}.sidebar-logo h1{color:var(--text-primary);font-size:16px;font-weight:700;line-height:1.2}.sidebar-logo h1 span{color:var(--text-muted);letter-spacing:.5px;font-size:11px;font-weight:400;display:block}.sidebar-nav{flex:1;padding:12px;overflow-y:auto}.nav-section{margin-bottom:2px}.nav-section-title{cursor:pointer;border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:9px 12px;transition:all .2s;display:flex}.nav-section-title:hover{background:#ffffff0a}.nav-section-title.has-active{background:#6366f10f}.nav-section-title-left{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.nav-section-icon{opacity:.7;font-size:13px}.nav-section-title-right{align-items:center;gap:6px;display:flex}.nav-section-dot{background:var(--primary-light);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}.nav-section-badge{background:var(--danger);color:#fff;text-align:center;border-radius:8px;min-width:16px;padding:1px 5px;font-size:9px;font-weight:700}.nav-section-chevron{color:var(--text-muted);align-items:center;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex}.nav-section-chevron.open{transform:rotate(180deg)}.nav-section-items{opacity:0;max-height:0;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s;overflow:hidden}.nav-section-items.open{opacity:1;max-height:1200px}.nav-section-items-inner{padding:2px 0 6px}.nav-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);align-items:center;gap:12px;padding:10px 12px;font-size:13px;font-weight:500;transition:all .2s;display:flex;position:relative}.nav-item:hover{background:var(--bg-card-hover);color:var(--text-primary)}.nav-item.active{background:var(--primary-glow);color:var(--primary-light)}.nav-item.active:before{content:"";background:var(--primary);border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-item .icon{text-align:center;width:24px;font-size:18px}.nav-item .badge{background:var(--danger);color:#fff;text-align:center;border-radius:10px;min-width:18px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:700}.main-content{margin-left:var(--sidebar-width);flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.page-content{flex:1;min-height:0;overflow-y:auto}.header{height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.header-left{flex-shrink:1;align-items:center;gap:12px;min-width:0;display:flex;overflow:hidden}.header-left h2{white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;overflow:hidden}.header-left .breadcrumb{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.header-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.header-btn{border-radius:var(--radius-sm);border:1px solid var(--border);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex;position:relative}.header-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.header-btn .notif-dot{background:var(--danger);border:2px solid var(--bg-secondary);border-radius:50%;width:10px;height:10px;animation:1.5s ease-in-out infinite notif-glow;position:absolute;top:4px;right:4px}@keyframes notif-glow{0%,to{box-shadow:0 0 #ef444480}50%{box-shadow:0 0 0 6px #ef444400}}.header-btn.bell-pulse{animation:2s ease-in-out infinite bell-ring}@keyframes bell-ring{0%,to{transform:rotate(0)}5%{transform:rotate(14deg)}10%{transform:rotate(-12deg)}15%{transform:rotate(10deg)}20%{transform:rotate(-8deg)}25%{transform:rotate(4deg)}30%,to{transform:rotate(0)}}.user-avatar{background:linear-gradient(135deg, var(--primary), var(--info));color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.page-content{flex:1;padding:24px;overflow-y:auto}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:0;padding:20px;transition:all .3s}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-title{color:var(--text-primary);font-size:14px;font-weight:600}.card-subtitle{color:var(--text-muted);font-size:11px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:0;padding:20px;transition:all .3s;position:relative;overflow:visible}.kpi-card:before{content:"";border-radius:var(--radius) var(--radius) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.kpi-card.blue:before{background:linear-gradient(90deg, var(--primary), var(--info))}.kpi-card.green:before{background:linear-gradient(90deg, var(--success), #34d399)}.kpi-card.orange:before{background:linear-gradient(90deg, var(--warning), #fbbf24)}.kpi-card.red:before{background:linear-gradient(90deg, var(--danger), #f87171)}.kpi-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.kpi-icon{margin-bottom:12px;font-size:24px}.kpi-value{color:var(--text-primary);overflow-wrap:break-word;word-break:break-word;margin-bottom:4px;font-size:clamp(16px,2.2vw,28px);font-weight:800;line-height:1.1}.kpi-label{color:var(--text-muted);font-size:12px;font-weight:500}.kpi-change{border-radius:20px;align-items:center;gap:4px;margin-top:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.kpi-change.up{color:var(--success);background:#10b9811a}.kpi-change.down{color:var(--danger);background:#ef44441a}.grid-2{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.grid-2-1{grid-template-columns:2fr 1fr;gap:16px;margin-bottom:24px;display:grid}.grid-1-2{grid-template-columns:1fr 2fr;gap:16px;margin-bottom:24px;display:grid}.grid-list-side{grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:16px;margin-bottom:24px;display:grid}.table-sticky-actions th:last-child,.table-sticky-actions td:last-child{background:var(--bg-secondary);border-left:1px solid var(--border);position:sticky;right:0}.table-container{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:12px 16px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:12px 16px;font-size:13px}tr:hover td{background:#3b82f608}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}.status{border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.status-dot{border-radius:50%;width:6px;height:6px}.status.active{color:var(--success);background:#10b9811a}.status.active .status-dot{background:var(--success)}.status.warning{color:var(--warning);background:#f59e0b1a}.status.warning .status-dot{background:var(--warning)}.status.danger{color:var(--danger);background:#ef44441a}.status.danger .status-dot{background:var(--danger)}.status.info{color:var(--info);background:#6366f11a}.status.info .status-dot{background:var(--info)}.progress-bar{background:var(--bg-tertiary);border-radius:3px;height:6px;overflow:hidden}.progress-fill{border-radius:3px;height:100%;transition:width 1s}.progress-fill.blue{background:linear-gradient(90deg, var(--primary), var(--info))}.progress-fill.green{background:linear-gradient(90deg, var(--success), #34d399)}.progress-fill.orange{background:linear-gradient(90deg, var(--warning), #fbbf24)}.progress-fill.red{background:linear-gradient(90deg, var(--danger), #f87171)}.chart-area{border-radius:var(--radius-sm);background:linear-gradient(#3b82f60d 0%,#0000 100%);align-items:flex-end;gap:8px;width:100%;height:200px;padding:16px;display:flex;position:relative}.chart-bar{border-radius:4px 4px 0 0;flex:1;transition:height 1s;position:relative}.chart-bar.blue{background:linear-gradient(180deg, var(--primary), #3b82f64d)}.chart-bar.green{background:linear-gradient(180deg, var(--success), #10b9814d)}.chart-bar:hover{filter:brightness(1.2)}.chart-label{color:var(--text-muted);white-space:nowrap;font-size:10px;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}.map-container{background:var(--bg-tertiary);border-radius:var(--radius);background-image:radial-gradient(circle at 30% 40%,#3b82f614 0%,#0000 50%),radial-gradient(circle at 70% 60%,#6366f10f 0%,#0000 50%);width:100%;height:400px;position:relative;overflow:hidden}.map-pin{cursor:pointer;width:32px;height:32px;box-shadow:var(--shadow-md);border-radius:50% 50% 50% 0;justify-content:center;align-items:center;transition:all .3s;animation:2s infinite pulse-pin;display:flex;position:absolute;transform:rotate(-45deg)}.map-pin:hover{z-index:10;transform:rotate(-45deg)scale(1.2)}.map-pin.green{background:var(--success)}.map-pin.red{background:var(--danger)}.map-pin.orange{background:var(--warning)}.map-pin.blue{background:var(--primary)}.map-pin span{font-size:14px;transform:rotate(45deg)}.map-label{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:4px 8px;font-size:10px;position:absolute}@keyframes pulse-pin{0%,to{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 8px #3b82f600}}.list-item{border-radius:var(--radius-sm);align-items:center;gap:12px;padding:12px;transition:background .2s;display:flex}.list-item:hover{background:var(--bg-card-hover)}.list-item .avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.list-item .info{flex:1;min-width:0}.list-item .info .name{color:var(--text-primary);font-size:13px;font-weight:600}.list-item .info .detail{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;box-shadow:0 2px 8px #3b82f64d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-success{background:linear-gradient(135deg, var(--success), #059669);color:#fff}.btn-danger{background:linear-gradient(135deg, var(--danger), #dc2626);color:#fff}.photo-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.photo-item{aspect-ratio:4/3;background:var(--bg-tertiary);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;font-size:28px;transition:all .3s;display:flex;position:relative;overflow:hidden}.photo-item:hover{box-shadow:var(--shadow-lg);transform:scale(1.03)}.photo-item .overlay{color:#fff;background:linear-gradient(#0000,#000000b3);padding:8px;font-size:10px;position:absolute;bottom:0;left:0;right:0}.timeline{padding-left:24px;position:relative}.timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:0;bottom:0;left:8px}.timeline-item{padding-bottom:20px;position:relative}.timeline-item:before{content:"";background:var(--primary);border:2px solid var(--bg-secondary);border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-20px}.timeline-item .time{color:var(--text-muted);margin-bottom:4px;font-size:11px}.timeline-item .event{color:var(--text-secondary);font-size:13px}.gantt-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;display:flex}.gantt-label{width:140px;color:var(--text-secondary);flex-shrink:0;font-size:12px}.gantt-bar-container{flex:1;height:24px;position:relative}.gantt-bar{color:#fff;white-space:nowrap;border-radius:4px;align-items:center;height:100%;padding:0 8px;font-size:10px;font-weight:600;display:flex;position:absolute}.chat-page-root{flex-direction:column;height:100%;display:flex}.chat-layout{flex:1;gap:16px;min-height:0;display:flex}.chat-contact-list{flex-direction:column;flex-shrink:0;width:340px;min-width:280px;padding:0;display:flex}.chat-area{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.chat-area-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.chat-back-btn{border-radius:8px;padding:4px 8px;font-size:16px}.chat-header-actions{gap:6px;display:flex}@media (width<=1200px) and (width>=769px){.chat-contact-list{width:260px;min-width:200px}.chat-layout{gap:8px}.chat-area-header .btn{padding:4px 6px;font-size:10px}}@media (width<=768px){.chat-page-root{height:100%}.chat-layout{gap:0;position:relative}.chat-contact-list{width:100%;min-width:unset;z-index:2;background:var(--bg-card);border-radius:0;position:absolute;inset:0}.chat-area{z-index:2;background:var(--bg-card);border-radius:0;width:100%;position:absolute;inset:0}.chat-hidden-mobile{display:none!important}.chat-area-header{padding:8px 12px}.chat-area-header .btn{padding:4px 6px;font-size:10px}.chat-back-btn{padding:6px 10px;font-size:18px}}.chat-container{flex-direction:column;flex:1;min-height:0;display:flex}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-bubble{border-radius:16px;max-width:75%;padding:10px 14px;font-size:13px;line-height:1.5}.chat-bubble.sent{background:var(--primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble.received{background:var(--bg-tertiary);color:var(--text-primary);border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble .sender{opacity:.8;margin-bottom:4px;font-size:11px;font-weight:600}.chat-bubble .msg-time{opacity:.6;text-align:right;margin-top:4px;font-size:10px}.chat-input{border-top:1px solid var(--border);gap:8px;padding:12px 16px;display:flex}.chat-input input{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:20px;outline:none;flex:1;padding:8px 16px;font-family:inherit;font-size:13px}.chat-input input::placeholder{color:var(--text-muted)}.inspection-photo{aspect-ratio:16/10;background:var(--bg-tertiary);border-radius:var(--radius);justify-content:center;align-items:center;width:100%;font-size:48px;display:flex;position:relative;overflow:hidden}.inspection-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-sm);color:#fff;background:#000000bf;padding:8px 12px;font-size:11px;line-height:1.6;position:absolute;top:12px;left:12px}.inspection-overlay .field{gap:8px;display:flex}.inspection-overlay .label{color:var(--primary-light);font-weight:600}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:10px 14px;font-family:inherit;font-size:13px;transition:border-color .2s}.form-input:focus{border-color:var(--primary)}table input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}table input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}table input[type=number]{-moz-appearance:textfield}.num-input-lg{font-variant-numeric:tabular-nums;letter-spacing:.3px;font-weight:600;padding:5px 8px!important;font-size:12px!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-in{animation:.5s forwards fadeIn}.animate-in-delay-1{opacity:0;animation-delay:.1s}.animate-in-delay-2{opacity:0;animation-delay:.2s}.animate-in-delay-3{opacity:0;animation-delay:.3s}.animate-in-delay-4{opacity:0;animation-delay:.4s}.drawing-viewer{background:var(--bg-tertiary);border-radius:var(--radius);justify-content:center;align-items:center;width:100%;height:350px;display:flex;position:relative;overflow:hidden}.drawing-viewer .grid-lines{background-image:linear-gradient(#94a3b80d 1px,#0000 1px),linear-gradient(90deg,#94a3b80d 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.drawing-viewer .blueprint{z-index:1;opacity:.5;font-size:64px}.drawing-toolbar{gap:8px;margin-bottom:12px;display:flex}.drawing-toolbar .tool-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:4px;padding:6px 12px;font-size:12px;transition:all .2s;display:flex}.drawing-toolbar .tool-btn:hover,.drawing-toolbar .tool-btn.active{background:var(--primary-glow);color:var(--primary-light);border-color:var(--primary)}.annotation-pin{background:var(--danger);color:#fff;cursor:pointer;z-index:2;width:24px;height:24px;box-shadow:var(--shadow-md);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex;position:absolute}.weather-widget{background:var(--bg-tertiary);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:12px;display:flex}.weather-icon{font-size:32px}.weather-temp{font-size:24px;font-weight:700}.weather-detail{color:var(--text-muted);font-size:11px}.popup-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-lg);z-index:20;width:280px;padding:16px;animation:.3s fadeIn;position:absolute}.hamburger-btn{border-radius:var(--radius-sm);border:1px solid var(--border);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:20px;transition:all .2s;display:flex}.hamburger-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.lang-selector{border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;overflow:hidden}.lang-selector button{color:var(--text-muted);cursor:pointer;border:none;border-right:1px solid var(--border);background:0 0;padding:4px 8px;font-family:inherit;font-size:11px;font-weight:600;transition:all .2s}.lang-selector button:last-child{border-right:none}.lang-selector button.active{background:var(--primary);color:#fff}.lang-selector button:hover:not(.active){background:var(--bg-card-hover);color:var(--text-primary)}.theme-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:18px;transition:all .3s;display:flex}.theme-toggle:hover{background:var(--bg-card-hover);color:var(--text-primary);transform:rotate(20deg)}.sidebar-overlay{z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:none;position:fixed;inset:0}@media (width<=1200px){.hamburger-btn{display:flex}.sidebar{width:280px;transform:translate(-100%);box-shadow:4px 0 24px #0000004d}.sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}.main-content{margin-left:0!important}:root{--sidebar-width:0px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3,.grid-2-1,.grid-1-2,.grid-list-side{grid-template-columns:1fr}[style*="grid-template-columns: 1fr 1fr"],[style*="grid-template-columns: 1fr 1fr 1fr"],[style*="grid-template-columns: repeat(3"]{grid-template-columns:1fr!important}[style*="grid-template-columns: repeat(4"]{grid-template-columns:repeat(2,1fr)!important}.header{padding:0 12px}.header-left h2{font-size:16px}.header-left .breadcrumb{font-size:11px}.header-right{gap:8px}.lang-selector button{padding:3px 6px;font-size:10px}.header-btn,.theme-toggle{width:34px;height:34px;font-size:16px}.user-avatar{width:32px;height:32px;font-size:12px}.page-content{padding:16px}.gantt-label{width:110px;font-size:11px}.drawing-toolbar{flex-wrap:wrap}.map-container{height:300px}.photo-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1201px){.app-container.sidebar-collapsed{--sidebar-width:0px}.app-container.sidebar-collapsed .sidebar{overflow:hidden;transform:translate(-300px)}.hamburger-btn{display:none!important}.app-container.sidebar-collapsed .hamburger-btn,.sidebar-collapse-btn{display:flex!important}}@media (width<=768px){.page-content{padding:12px}.kpi-grid{grid-template-columns:1fr;gap:8px}.kpi-card{padding:12px}.kpi-value{font-size:clamp(14px,5vw,22px)}.kpi-icon{margin-bottom:6px;font-size:20px}.kpi-label{font-size:10px}.card{padding:12px}.card-header{flex-direction:column;align-items:flex-start;gap:8px}.card-title{font-size:13px}table{font-size:11px}th,td{white-space:nowrap;padding:8px 6px}.card{-webkit-overflow-scrolling:touch;overflow-x:auto}.header-left h2{font-size:15px}.header-left .breadcrumb{display:none}.header-right{gap:6px}.lang-label{display:none}.lang-selector button{padding:4px 6px;font-size:12px}.header-btn,.theme-toggle{display:none}.user-avatar{width:28px;height:28px;font-size:11px}.map-container{height:250px}.drawing-viewer{height:200px}.chart-area{height:150px}.chat-container{flex:1;min-height:200px}.btn{padding:6px 10px;font-size:11px}.form-input{padding:8px 10px;font-size:12px}.gantt-label{width:80px;font-size:10px}.gantt-bar-container{height:18px}.drawing-toolbar .tool-btn{padding:4px 8px;font-size:10px}[style*="grid-template-columns: repeat(4"]{grid-template-columns:1fr!important}}.login-page{background:var(--bg-primary);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.login-bg-pattern{background:radial-gradient(circle at 20% 30%,#3b82f61f 0%,#0000 50%),radial-gradient(circle at 80% 70%,#6366f114 0%,#0000 50%),radial-gradient(circle,#10b9810f 0%,#0000 60%);animation:8s ease-in-out infinite alternate loginBgPulse;position:absolute;inset:0}@keyframes loginBgPulse{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}.login-container{z-index:1;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:420px;padding:24px;display:flex;position:relative}.login-brand{text-align:center}.login-logo{align-items:center;gap:14px;display:flex}.login-logo-icon{filter:drop-shadow(0 4px 12px #3b82f64d);font-size:42px}.login-logo-title{color:var(--text-primary);letter-spacing:-.5px;font-size:26px;font-weight:800}.login-logo-subtitle{color:var(--text-muted);letter-spacing:1px;font-size:12px;font-weight:500}.login-lang-switcher{gap:8px;display:flex}.login-lang-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:20px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s}.login-lang-btn:hover{border-color:var(--primary);color:var(--primary-light)}.login-lang-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px #3b82f64d}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:100%;box-shadow:var(--shadow-lg);padding:32px}.login-card-title{color:var(--text-primary);text-align:center;margin-bottom:24px;font-size:20px;font-weight:700}.login-alert{border-radius:var(--radius-sm);margin-bottom:16px;padding:10px 14px;font-size:13px;font-weight:500;animation:.3s slideDown}.login-alert.error{color:var(--danger);background:#ef44441a;border:1px solid #ef444433}.login-alert.success{color:var(--success);background:#10b9811a;border:1px solid #10b98133}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.login-form{flex-direction:column;gap:16px;display:flex}.login-form .form-group{flex-direction:column;gap:6px;display:flex}.login-form .form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.login-form .form-input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:12px 14px;font-family:inherit;font-size:14px;transition:all .2s}.login-form .form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.login-form .form-input::placeholder{color:var(--text-muted)}.login-submit-btn{justify-content:center;width:100%;margin-top:4px;padding:12px!important;font-size:15px!important;font-weight:700!important}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.login-forgot{text-align:center;margin-top:12px}.login-forgot a{color:var(--text-muted);font-size:12px;text-decoration:none;transition:color .2s}.login-forgot a:hover{color:var(--primary-light)}.login-switch{text-align:center;border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.login-switch-btn{color:var(--primary-light);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:13px;font-weight:600;transition:color .2s}.login-switch-btn:hover{color:var(--primary);text-decoration:underline}.login-logo-img{object-fit:contain;filter:drop-shadow(0 4px 12px #d4af3766);width:56px;height:56px}.login-admin-notice{color:var(--text-muted);text-align:center;opacity:.7;font-size:12px}.login-footer{color:var(--text-muted);font-size:11px}.auth-loading{background:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100vw;height:100vh;display:flex}.auth-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-loading-text{color:var(--text-muted);font-size:14px;font-weight:500}.user-avatar{cursor:pointer;transition:all .2s;overflow:hidden}.user-avatar:hover{box-shadow:0 0 0 3px var(--primary-glow);transform:scale(1.08)}.user-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.user-menu-container{position:relative}.user-dropdown{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);width:280px;box-shadow:var(--shadow-lg);z-index:200;animation:.2s dropdownSlide;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{align-items:center;gap:12px;padding:16px;display:flex}.user-dropdown-avatar{background:linear-gradient(135deg, var(--primary), var(--info));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;font-weight:700;display:flex;overflow:hidden}.user-dropdown-avatar img{object-fit:cover;width:100%;height:100%}.user-dropdown-info{flex:1;min-width:0}.user-dropdown-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.user-dropdown-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.user-dropdown-role{color:var(--primary-light);background:var(--primary-glow);border-radius:10px;margin-top:4px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.user-dropdown-divider{background:var(--border);height:1px}.user-dropdown-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:flex}.user-dropdown-item:hover{background:var(--bg-card-hover);color:var(--text-primary)}.user-dropdown-item.danger{color:var(--danger)}.user-dropdown-item.danger:hover{background:#ef444414}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;background:#0009;animation:.2s fadeIn;position:fixed;inset:0}.profile-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:600;flex-direction:column;width:440px;max-width:95vw;max-height:90vh;animation:.25s modalSlide;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 60px #00000080}@keyframes modalSlide{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.profile-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.profile-modal-header h3{font-size:18px;font-weight:700}.profile-modal-close{background:var(--bg-tertiary);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex}.profile-modal-close:hover{background:var(--danger);color:#fff}.profile-avatar-section{flex-direction:column;align-items:center;gap:12px;padding:24px;display:flex}.profile-avatar-large{background:linear-gradient(135deg, var(--primary), var(--info));color:#fff;cursor:pointer;border:3px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;font-size:36px;font-weight:800;transition:all .3s;display:flex;position:relative;overflow:hidden}.profile-avatar-large:hover{border-color:var(--primary)}.profile-avatar-large img{object-fit:cover;width:100%;height:100%}.profile-avatar-overlay{opacity:0;background:#00000080;justify-content:center;align-items:center;font-size:24px;transition:opacity .2s;display:flex;position:absolute;inset:0}.profile-avatar-large:hover .profile-avatar-overlay{opacity:1}.profile-avatar-actions{gap:8px;display:flex}.profile-role-badge{color:var(--primary-light);background:var(--primary-glow);border-radius:20px;padding:4px 14px;font-size:12px;font-weight:600}.profile-form{padding:0 24px 16px}.profile-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.calendar-layout{grid-template-columns:1fr 320px;gap:16px;display:grid}.calendar-day-cell{cursor:pointer;border-radius:6px;min-height:96px;padding:6px 7px;transition:all .15s}.modal-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.calendar-tabs{flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}@media (width<=900px){.calendar-layout{grid-template-columns:1fr}.calendar-day-cell{min-height:80px;padding:5px}}@media (width<=600px){.calendar-layout{grid-template-columns:1fr;gap:12px}.calendar-day-cell{min-height:64px;padding:4px}.calendar-tabs{gap:4px}.calendar-tabs .btn{text-align:center;flex:1;padding:6px 12px!important;font-size:12px!important}.calendar-header{flex-direction:column;align-items:flex-start}.calendar-header .btn-primary{width:100%}.modal-form-grid{grid-template-columns:1fr}.modal-form-container{margin:8px;border-radius:8px!important;max-width:100%!important;padding:16px!important}.calendar-sidebar .card{padding:12px!important}.calendar-month-nav{font-size:15px!important}}@media (width<=380px){.calendar-day-cell{min-height:56px;padding:3px}.calendar-tabs .btn{padding:5px 8px!important;font-size:11px!important}}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.responsive-table-wrap{-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px;overflow-x:auto}.form-row{flex-wrap:wrap;gap:12px;display:flex}.page-content-with-sidebar{grid-template-columns:1fr 320px;align-items:flex-start;gap:20px;display:grid}.card-section{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);padding:20px}@media (width<=1200px){.stat-grid{grid-template-columns:repeat(2,1fr);gap:12px}.page-content-with-sidebar{grid-template-columns:1fr}.page-header{gap:8px}.calendar-layout{grid-template-columns:1fr}}@media (width<=768px){.stat-grid{grid-template-columns:1fr;gap:10px}.page-header{flex-direction:column;align-items:stretch}.page-header .btn{justify-content:center;width:100%}.form-row{flex-direction:column;gap:8px}.form-group{flex-basis:100%!important;min-width:100%!important}.btn{min-height:44px;font-size:14px}.responsive-table-wrap table{min-width:600px}.modal-overlay>div,.modal-content{border-radius:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important}.card-section{border-radius:var(--radius-sm);padding:12px}.page-content-with-sidebar{gap:12px}.hide-mobile{display:none!important}table td,table th{padding:8px 6px!important;font-size:12px!important}}@media (width>=1025px){.show-mobile-only,.show-tablet-only,.hide-desktop{display:none!important}}@media (width<=480px){.header-left h2{font-size:14px}.header-right{gap:4px}.lang-label{display:none}.lang-selector button{padding:4px 5px;font-size:12px}.header-btn,.theme-toggle{width:30px;height:30px;font-size:14px}.user-avatar{width:28px;height:28px;font-size:11px}.hamburger-btn{width:34px;height:34px;font-size:18px}.stat-grid{gap:8px}.card-section{padding:10px}.form-label{font-size:11px}.form-input{padding:8px 10px;font-size:14px}.btn{padding:8px 12px;font-size:13px}}.sd-modal{background:var(--bg-secondary);border-radius:var(--radius-lg);z-index:10001;border:1px solid var(--border);flex-direction:column;width:min(92vw,720px);max-height:85vh;animation:.3s cubic-bezier(.4,0,.2,1) sd-slide-in;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 25px 60px #0006}@keyframes sd-slide-in{0%{opacity:0;transform:translate(-50%,-48%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.sd-modal-header{border-bottom:1px solid var(--border);background:linear-gradient(135deg,#3b82f60f,#6366f10a);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.sd-modal-header h3{color:var(--text-primary);font-size:18px;font-weight:700}.sd-tabs{border-bottom:1px solid var(--border);background:var(--bg-secondary);gap:2px;padding:8px 16px;display:flex;overflow-x:auto}.sd-tab{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:flex}.sd-tab:hover{background:var(--bg-card-hover);color:var(--text-primary)}.sd-tab.active{background:var(--primary-glow);color:var(--primary-light)}.sd-tab-count{background:var(--bg-tertiary);color:var(--text-muted);text-align:center;border-radius:8px;min-width:18px;padding:1px 6px;font-size:10px;font-weight:700}.sd-tab.active .sd-tab-count{color:var(--primary-light);background:#3b82f633}.sd-content{flex:1;min-height:200px;padding:16px;overflow-y:auto}.sd-empty{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:48px 20px;font-size:14px;display:flex}.sd-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;margin-bottom:12px;animation:.8s linear infinite spin}.sd-grid{flex-direction:column;gap:10px;display:flex}.sd-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:stretch;gap:14px;padding:14px 16px;transition:all .2s;display:flex;position:relative}.sd-card:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 16px #3b82f61f}.sd-card-icon{border-radius:var(--radius-sm);color:#22c55e;background:#22c55e1a;flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.sd-card-body{flex:1;min-width:0}.sd-card-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:14px;font-weight:700;overflow:hidden}.sd-card-subtitle{color:var(--text-secondary);margin-bottom:6px;font-size:12px}.sd-card-meta{color:var(--text-muted);gap:12px;margin-bottom:6px;font-size:11px;display:flex}.sd-card-footer{align-items:center;gap:8px;display:flex}.sd-status-badge{border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.sd-signed-tag{color:#22c55e;font-size:10px;font-weight:600}.sd-card-actions{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:6px;display:flex}.sd-view-btn,.sd-share-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-secondary);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;font-size:14px;transition:all .2s;display:flex}.sd-view-btn:hover{background:var(--primary-glow);color:var(--primary);border-color:var(--primary)}.sd-share-btn:hover{color:#22c55e;background:#22c55e1a;border-color:#22c55e}.sd-share-menu{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:100;min-width:150px;margin-top:4px;padding:4px;animation:.15s sd-fade-in;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0000004d}@keyframes sd-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sd-share-menu button{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:flex}.sd-share-menu button:hover{background:var(--bg-card-hover);color:var(--text-primary)}.sd-footer{border-top:1px solid var(--border);color:var(--text-muted);text-align:center;background:var(--bg-secondary);padding:10px 24px;font-size:12px}@media screen and (width<=768px){.sd-modal{width:96vw;max-height:90vh}.sd-card{flex-wrap:wrap}.sd-card-actions{border-top:1px solid var(--border);flex-direction:row;justify-content:flex-end;width:100%;padding-top:8px}}.bp-toolbar{background:var(--bg-tertiary);border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 12px;display:flex}.bp-tool{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-family:inherit;font-size:12px;transition:all .15s;display:flex}.bp-tool:hover{background:var(--bg-card-hover);color:var(--text-primary)}.bp-tool.active{background:var(--primary);color:#fff;border-color:var(--primary)}.bp-tool.ai{color:#fff;background:linear-gradient(135deg,#8b5cf6,#6366f1);font-weight:600}.bp-tool.ai:hover{filter:brightness(1.1)}.bp-viewer-wrap{background:var(--bg-tertiary);cursor:default;touch-action:none;border:1px solid var(--border);border-radius:12px;width:100%;height:500px;position:relative;overflow:hidden}.bp-viewer-wrap:active{cursor:default}.bp-viewer-wrap.tool-pan{cursor:grab}.bp-viewer-wrap.tool-pan:active{cursor:grabbing}.bp-viewer-wrap.tool-annotate,.bp-viewer-wrap.tool-defect,.bp-viewer-wrap.tool-measure,.bp-viewer-wrap.tool-photo{cursor:crosshair}.bp-canvas-layer{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.bp-empty{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.bp-empty-icon{opacity:.4;font-size:60px}.bp-empty-text{font-size:14px}.bp-empty-hint{opacity:.6;font-size:11px}.bp-pin{color:#fff;cursor:pointer;z-index:10;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;transition:transform .15s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0000004d}.bp-pin:hover{z-index:20;transform:translate(-50%,-50%)scale(1.3)}.bp-pin:after{content:"";opacity:.4;border:2px solid;border-radius:50%;animation:2s ease-in-out infinite bp-pin-pulse;position:absolute;inset:-4px}@keyframes bp-pin-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:0;transform:scale(1.4)}}.bp-pin.resolved{opacity:.5}.bp-pin.resolved:after{animation:none}.bp-zoom-controls{z-index:50;pointer-events:auto;flex-direction:column;gap:4px;display:flex;position:absolute;bottom:12px;right:12px}.bp-zoom-btn{border:1px solid var(--border);background:var(--bg-secondary);width:36px;height:36px;color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex;box-shadow:0 2px 8px #0003}.bp-zoom-btn:hover{background:var(--primary);color:#fff}.bp-zoom-label{text-align:center;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:2px 6px;font-size:10px}.bp-sidebar{flex-direction:column;gap:12px;display:flex}.bp-disc-chips{flex-wrap:wrap;gap:6px;padding:4px 0;display:flex}.bp-disc-chip{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;padding:4px 10px;font-family:inherit;font-size:11px;transition:all .15s}.bp-disc-chip:hover{background:var(--bg-card-hover)}.bp-disc-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.bp-upload-area{border:2px dashed var(--border);text-align:center;cursor:pointer;color:var(--text-muted);border-radius:12px;padding:24px;transition:all .2s}.bp-upload-area:hover{border-color:var(--primary);color:var(--primary-light);background:#3b82f60d}.bp-ai-panel{background:linear-gradient(135deg,#8b5cf614,#6366f10d);border:1px solid #8b5cf633;border-radius:12px;overflow:hidden}.bp-ai-header{background:#8b5cf61a;align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.bp-ai-body{padding:12px 16px}.bp-ai-tabs{border-bottom:1px solid var(--border);gap:0;display:flex}.bp-ai-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 12px;font-family:inherit;font-size:12px;transition:all .15s}.bp-ai-tab:hover{color:var(--text-primary)}.bp-ai-tab.active{color:var(--primary-light);border-bottom-color:var(--primary-light);font-weight:600}.bp-calc-result{grid-template-columns:1fr 1fr;gap:8px;padding:8px 0;display:grid}.bp-calc-item{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.bp-calc-item .label{color:var(--text-muted);margin-bottom:2px;font-size:10px}.bp-calc-item .value{color:var(--text-primary);font-size:16px;font-weight:700}.bp-calc-item .unit{color:var(--text-secondary);margin-left:4px;font-size:11px}.bp-list-item{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.bp-list-item:hover{background:var(--bg-card-hover)}.bp-list-item.active{border-left:3px solid var(--primary);background:#3b82f61a}.bp-list-item .bp-badge{color:#fff;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:700}.bp-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bp-modal{background:var(--bg-secondary);border-radius:16px;flex-direction:column;width:90%;max-width:520px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0006}.bp-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.bp-modal-body{flex:1;min-height:0;padding:16px 20px;overflow-y:auto}.bp-modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.bp-fullscreen-btn{border:1px solid var(--border);background:var(--bg-tertiary);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex}.bp-fullscreen-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.1)}.bp-fullscreen{flex-direction:column;animation:.25s cubic-bezier(.4,0,.2,1) bp-fs-enter;display:flex;z-index:10000!important;background:var(--bg-primary)!important;border-radius:0!important;width:100vw!important;max-width:none!important;height:100vh!important;margin:0!important;position:fixed!important;inset:0!important}@keyframes bp-fs-enter{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.bp-fullscreen .card-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);border-radius:0;flex-shrink:0;padding:10px 20px}.bp-fullscreen .bp-toolbar{background:var(--bg-secondary);border-bottom:1px solid var(--border);border-radius:0;flex-wrap:nowrap;flex-shrink:0;padding:8px 20px;overflow-x:auto}.bp-fullscreen .bp-viewer-wrap{border:none!important;border-radius:0!important;flex:1!important;height:auto!important}.bp-fullscreen .bp-modal-overlay{z-index:100;position:absolute}.bp-fullscreen .bp-fullscreen-btn{background:var(--danger);color:#fff;border-color:var(--danger)}.bp-fullscreen .bp-fullscreen-btn:hover{background:#dc2626;border-color:#dc2626}body.bp-fullscreen-active .sidebar,body.bp-fullscreen-active .sidebar-overlay,body.bp-fullscreen-active .header{display:none!important}body.bp-fullscreen-active .main-content{margin-left:0!important}.bp-photo-upload-area{border:2px dashed var(--border);cursor:pointer;background:var(--bg-tertiary);text-align:center;color:var(--text-muted);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;transition:all .2s;display:flex}.bp-photo-upload-area:hover{border-color:var(--primary);color:var(--primary);background:#6366f10d}.bp-photo-preview{border:1px solid var(--border);background:var(--bg-tertiary);border-radius:10px;position:relative;overflow:hidden}.bp-photo-preview img{object-fit:cover;border-radius:10px;width:100%;max-height:200px;display:block}.bp-photo-preview-actions{background:var(--bg-secondary);border-top:1px solid var(--border);justify-content:center;gap:6px;padding:8px;display:flex}@media (width<=768px){.bp-toolbar{gap:2px;padding:6px 8px}.bp-tool{padding:5px 8px;font-size:11px}.bp-viewer-wrap{height:350px}.bp-pin{width:24px;height:24px;font-size:10px}.bp-calc-result{grid-template-columns:1fr}}@media (width<=480px){.bp-viewer-wrap{height:280px}.bp-tool span.tool-label{display:none}}.bp-project-group-header{border-bottom:1px solid var(--border);color:var(--primary-light);-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#3b82f614 0%,#3b82f603 100%);justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;font-weight:600;display:flex}.bp-project-group-header .project-name{white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:6px;display:flex;overflow:hidden}.bp-project-group-header .filter-btn{background:var(--bg-tertiary);border:1px solid var(--border);height:18px;color:var(--text-secondary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:2px 8px;font-size:9px;transition:all .2s;display:flex}.bp-project-group-header .filter-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.bp-search-container{border-bottom:1px solid var(--border);background:#1e293b33;align-items:center;gap:8px;padding:8px 12px;display:flex}.bp-search-input-wrap{flex:1;align-items:center;display:flex;position:relative}.bp-search-icon{color:var(--text-muted);pointer-events:none;font-size:12px;position:absolute;left:10px}.bp-search-input{border:1px solid var(--border);width:100%;height:30px;color:var(--text-primary);border-radius:6px;outline:none;padding:4px 10px 4px 28px;font-size:12px;transition:all .2s;background:var(--bg-tertiary)!important}.bp-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow)}.bp-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:2px;font-size:11px;display:flex;position:absolute;right:8px}.bp-search-clear:hover{color:var(--text-primary);background:#ffffff1a}.loading-spinner-container{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:300px;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.loading-spinner-text{color:var(--text-muted);font-size:13px;font-weight:500}.error-boundary{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.error-boundary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:500px;box-shadow:var(--shadow-lg);padding:40px}.error-boundary-title{color:var(--text-primary);margin-bottom:12px;font-size:24px;font-weight:700}.error-boundary-message{color:var(--text-secondary);margin-bottom:24px;font-size:14px;line-height:1.6}.error-boundary-reload{padding:12px 32px;font-size:15px;font-weight:600}.error-boundary-details{text-align:left;margin-top:24px}.error-boundary-details summary{cursor:pointer;color:var(--text-muted);margin-bottom:8px;font-size:12px}.error-boundary-details pre{color:var(--danger);background:var(--bg-tertiary);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;max-height:200px;padding:12px;font-size:11px;overflow-x:auto}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toastProgress{0%{width:100%}to{width:0%}}.skeleton{background:var(--bg-tertiary);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff0f 40%,#ffffff1a 50%,#ffffff0f 60%,#0000 100%);animation:1.8s ease-in-out infinite shimmer;position:absolute;inset:0}[data-theme=light] .skeleton:after{background:linear-gradient(90deg,#0000 0%,#0000000a 40%,#00000012 50%,#0000000a 60%,#0000 100%)}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-text{height:14px;margin-bottom:8px}.skeleton-text.short{width:40%}.skeleton-text.medium{width:65%}.skeleton-text.long{width:90%}.skeleton-circle{border-radius:50%}.skeleton-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 0;display:flex}.skeleton-table{flex-direction:column;display:flex}.skeleton-card{border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);padding:20px}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}.skip-to-content{z-index:100001;background:var(--primary);color:#fff;border-radius:var(--radius-sm);padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-100%;left:16px}.skip-to-content:focus{top:8px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=768px){input,select,textarea{font-size:16px!important}.btn,button,.nav-item,.lang-selector button{min-height:44px}.header-btn.notif-btn{display:flex!important}}[data-lk-theme=default]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--lk-bg:#111;--lk-bg2:#1e1e1e;--lk-bg3:#2b2b2b;--lk-bg4:#373737;--lk-bg5:#444;--lk-fg:#fff;--lk-fg2:#f5f5f5;--lk-fg3:#ebebeb;--lk-fg4:#e0e0e0;--lk-fg5:#d6d6d6;--lk-border-color:#ffffff1a;--lk-accent-fg:#fff;--lk-accent-bg:#1f8cf9;--lk-accent2:#3396fa;--lk-accent3:#47a0fa;--lk-accent4:#5babfb;--lk-danger-fg:#fff;--lk-danger:#f91f31;--lk-danger2:#fa3343;--lk-danger3:#fa4756;--lk-danger4:#fb5b68;--lk-success-fg:#fff;--lk-success:#1ff968;--lk-success2:#33fa75;--lk-success3:#47fa83;--lk-success4:#5bfb90;--lk-control-fg:var(--lk-fg);--lk-control-bg:var(--lk-bg2);--lk-control-hover-bg:var(--lk-bg3);--lk-control-active-bg:var(--lk-bg4);--lk-control-active-hover-bg:var(--lk-bg5);--lk-connection-excellent:#06db4d;--lk-connection-good:#f9b11f;--lk-connection-poor:#f91f31;--lk-font-family:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--lk-font-size:16px;--lk-line-height:1.5;--lk-border-radius:.5rem;--lk-box-shadow:0 .5rem 1.5rem #00000026;--lk-drop-shadow:#fff3 0px 0px 24px;--lk-grid-gap:.5rem;--lk-control-bar-height:69px;--lk-chat-header-height:69px}.lk-button,.lk-start-audio-button,.lk-chat-toggle,.lk-disconnect-button{color:var(--lk-control-fg);background-image:none;background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);cursor:pointer;white-space:nowrap;font-size:inherit;line-height:inherit;-webkit-user-select:none;user-select:none;border:0;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;display:inline-flex;position:relative}.lk-button:not(:disabled):hover,.lk-start-audio-button:not(:disabled):hover,.lk-chat-toggle:not(:disabled):hover,.lk-disconnect-button:not(:disabled):hover{background-color:var(--lk-control-hover-bg)}.lk-button>svg,.lk-start-audio-button>svg,.lk-chat-toggle>svg,.lk-disconnect-button>svg{overflow:visible}.lk-button[aria-pressed=true],[aria-pressed=true].lk-start-audio-button,[aria-pressed=true].lk-chat-toggle,[aria-pressed=true].lk-disconnect-button{background-color:var(--lk-control-active-bg)}.lk-button[aria-pressed=true]:hover,[aria-pressed=true].lk-start-audio-button:hover,[aria-pressed=true].lk-chat-toggle:hover,[aria-pressed=true].lk-disconnect-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true],[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button{background-color:var(--lk-accent-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true]:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button:hover{background-color:var(--lk-accent2)}.lk-button:disabled,.lk-start-audio-button:disabled,.lk-chat-toggle:disabled,.lk-disconnect-button:disabled{opacity:.5}.lk-button-group{align-items:stretch;height:100%;display:inline-flex}.lk-button-group>.lk-button:first-child,.lk-button-group>.lk-start-audio-button:first-child,.lk-button-group>.lk-chat-toggle:first-child,.lk-button-group>.lk-disconnect-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-button-group-menu{flex-shrink:0;position:relative}.lk-button-group-menu>.lk-button,.lk-button-group-menu>.lk-start-audio-button,.lk-button-group-menu>.lk-chat-toggle,.lk-button-group-menu>.lk-disconnect-button{border-top-left-radius:0;border-bottom-left-radius:0;height:100%}.lk-button-group-menu>.lk-button:after,.lk-button-group-menu>.lk-start-audio-button:after,.lk-button-group-menu>.lk-chat-toggle:after,.lk-button-group-menu>.lk-disconnect-button:after{margin-left:0}.lk-button-menu:after{content:"";transform-origin:50%;border-bottom:.125em solid;border-left:.125em solid;width:.5em;height:.5em;margin-top:-.25rem;margin-left:.5rem;display:inline-block;transform:rotate(-45deg)}.lk-disconnect-button{color:var(--lk-danger);border:1px solid var(--lk-danger);font-weight:600}.lk-disconnect-button:not(:disabled):hover{--lk-control-hover-bg:var(--lk-danger2);color:var(--lk-danger-fg)}.lk-disconnect-button:not(:disabled):active{--lk-control-hover-bg:var(--lk-danger3);color:var(--lk-danger-fg)}.lk-chat-toggle{position:relative}.lk-chat-toggle[data-lk-unread-msgs]:not([data-lk-unread-msgs="0"]):after{content:attr(data-lk-unread-msgs);background:var(--lk-accent-bg);border-radius:50%;margin-top:.25rem;margin-left:.25rem;padding:.25rem;font-size:.5rem;line-height:.75;position:absolute;top:0;left:0}.lk-media-device-select:not(:last-child){border-bottom:1px solid var(--lk-border-color);margin-bottom:.75rem;padding-bottom:.5rem}.lk-media-device-select li:not(:last-child){margin-bottom:.25rem}.lk-media-device-select li>.lk-button{justify-content:start;width:100%;padding-block:.5rem}.lk-media-device-select li:not([data-lk-active=true])>.lk-button:not(:disabled):hover{background-color:var(--lk-bg3)}.lk-media-device-select [data-lk-active=false]>.lk-button:hover{cursor:pointer;background-color:#0000000d}.lk-media-device-select [data-lk-active=true]>.lk-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}.lk-device-menu{z-index:5;white-space:nowrap;background-color:var(--lk-bg2);border:1px solid var(--lk-border-color);width:max-content;min-width:10rem;box-shadow:var(--lk-box-shadow);border-radius:.75rem;margin-bottom:.25rem;padding:.5rem;position:absolute;top:0;left:0}.lk-device-menu-heading{opacity:.65;padding:.25rem .5rem;font-weight:700}.lk-start-audio-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}@media screen and (width<=600px){.lk-start-audio-button{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.lk-pagination-control{background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);opacity:0;align-items:stretch;transition:opacity .15s ease-in-out;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.lk-pagination-control:hover{opacity:1}.lk-pagination-control>.lk-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-pagination-control>.lk-button:first-child>svg{transform:rotate(180deg)}.lk-pagination-control>.lk-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.lk-pagination-count{border-inline:1px solid var(--lk-bg);padding:.5rem .875rem}[data-lk-user-interaction=true].lk-pagination-control{opacity:1}.lk-pagination-indicator{height:var(--lk-grid-gap);background-color:var(--lk-bg2);width:fit-content;bottom:calc(var(--lk-grid-gap)/2);opacity:1;border-radius:2rem;align-items:center;gap:.2rem;padding:.2rem .5rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.lk-pagination-indicator span{background-color:var(--lk-fg);opacity:.35;border-radius:10000000px;width:.4rem;height:.4rem;transition:opacity .2s linear;display:inline-block}.lk-pagination-indicator span[data-lk-active]{opacity:.9}.lk-grid-layout{--lk-col-count:1;--lk-row-count:1;grid-template-columns:repeat(var(--lk-col-count), minmax(0, 1fr));grid-gap:var(--lk-grid-gap);width:100%;max-width:100%;height:100%;max-height:100%;padding:var(--lk-grid-gap);grid-auto-rows:minmax(0,1fr);display:grid}.lk-grid-layout[data-lk-pagination=true]{padding-bottom:calc(var(--lk-grid-gap)*2)}.lk-focus-layout{gap:var(--lk-grid-gap);width:100%;max-height:100%;padding:var(--lk-grid-gap);grid-template-columns:1fr 5fr;display:grid}.lk-focused-participant{position:relative}.lk-focused-participant .lk-pip-track{width:20%;height:auto;position:absolute;top:10px;right:10px}@media (width<=600px){.lk-focus-layout{grid-template-rows:5fr 1fr;grid-template-columns:1fr}.lk-carousel{order:1}}.lk-carousel{gap:var(--lk-grid-gap);max-height:100%;display:flex}.lk-carousel>*{aspect-ratio:16/10;scroll-snap-align:start;flex-shrink:0}.lk-carousel[data-lk-orientation=vertical]{scroll-snap-type:y mandatory;flex-direction:column;overflow:hidden auto}.lk-carousel[data-lk-orientation=vertical]>*{--lk-height-minus-gaps:calc(100% - calc(var(--lk-grid-gap) * calc(var(--lk-max-visible-tiles) - 1)));height:calc(var(--lk-height-minus-gaps)/var(--lk-max-visible-tiles))}.lk-carousel[data-lk-orientation=horizontal]{scroll-snap-type:x mandatory;overflow:auto hidden}.lk-carousel[data-lk-orientation=horizontal]>*{--lk-width-minus-gaps:calc(100% - var(--lk-grid-gap) * (var(--lk-max-visible-tiles) - 1));width:calc(var(--lk-width-minus-gaps)/var(--lk-max-visible-tiles))}.lk-connection-quality{width:1.5rem;height:1.5rem}.lk-track-muted-indicator-camera,.lk-track-muted-indicator-microphone{width:var(--lk-indicator-size,1rem);height:var(--lk-indicator-size,1rem);margin-inline-end:.25rem;transition:opacity .25s ease-in-out;position:relative}.lk-track-muted-indicator-camera[data-lk-muted=true]{opacity:.5}.lk-track-muted-indicator-microphone{--lk-bg:var(--lk-icon-mic)}.lk-track-muted-indicator-microphone[data-lk-muted=true]{opacity:.5}.lk-participant-name{font-size:.875rem}.lk-participant-media-video{object-fit:cover;object-position:center;background-color:#000;width:100%;height:100%}.lk-participant-media-video[data-lk-orientation=landscape]{object-fit:cover}.lk-participant-media-video[data-lk-orientation=portrait],.lk-participant-media-video[data-lk-source=screen_share]{object-fit:contain;background-color:var(--lk-bg2)}.lk-participant-media-audio{width:auto}[data-lk-facing-mode=user] .lk-participant-media-video[data-lk-local-participant=true][data-lk-source=camera]{transform:rotateY(180deg)}.lk-audio-visualizer{background:var(--lk-bg-control);aspect-ratio:16/9;border-radius:.5rem;justify-content:space-around;align-items:center;width:100%;height:100%;min-height:160px;display:flex}.lk-audio-visualizer>rect{fill:var(--lk-accent-bg);transition:transform .1s cubic-bezier(.19,.02,.09,1)}.lk-audio-visualizer>path{stroke:var(--lk-accent-bg);transition:all .1s cubic-bezier(.19,.02,.09,1)}.lk-audio-bar-visualizer{background:var(--lk-bg);justify-content:center;align-items:center;gap:var(--lk-va-bar-gap,24px);width:100%;height:100%;display:flex}.lk-audio-bar-visualizer>.lk-audio-bar{transform-origin:"center";height:100%;width:var(--lk-va-bar-width,12px);border-radius:var(--lk-va-bar-border-radius,32px);background-color:var(--lk-va-bar-bg,#8883);transition:background-color .25s ease-out}.lk-audio-bar-visualizer[data-lk-va-state=speaking]>.lk-audio-bar,.lk-audio-bar-visualizer>.lk-audio-bar.lk-highlighted,.lk-audio-bar-visualizer>[data-lk-highlighted=true]{background-color:var(--lk-fg,#888);transition:none}.lk-audio-bar-visualizer[data-lk-va-state=thinking]{transition:background-color .15s ease-out}.lk-participant-tile{--lk-speaking-indicator-width:2.5px;border-radius:var(--lk-border-radius);flex-direction:column;gap:.375rem;display:flex;position:relative;overflow:hidden}.lk-participant-tile:after{content:"";border-radius:var(--lk-border-radius);border:0px solid var(--lk-accent-bg);transition-property:border opacity;pointer-events:none;transition-duration:.4s;transition-delay:.5s;position:absolute;inset:0}.lk-participant-tile[data-lk-speaking=true]:not([data-lk-source=screen_share]):after{border-width:var(--lk-speaking-indicator-width);transition-duration:.2s;transition-delay:0s}.lk-participant-tile .lk-focus-toggle-button{border-radius:calc(var(--lk-border-radius)/2);opacity:0;background-color:#00000080;padding:.25rem;transition:opacity .2s ease-in-out .2s;position:absolute;top:.25rem;right:.25rem}.lk-participant-tile:hover .lk-focus-toggle-button,.lk-participant-tile:focus .lk-focus-toggle-button{opacity:1;transition-delay:0}.lk-participant-tile .lk-connection-quality{opacity:0;transition:opacity .2s ease-in-out .2s}.lk-participant-tile .lk-connection-quality[data-lk-quality=poor],.lk-participant-tile:hover .lk-connection-quality,.lk-participant-tile:focus .lk-connection-quality{opacity:1;transition-delay:0}.lk-participant-tile .lk-participant-placeholder{background-color:var(--lk-bg2);opacity:0;pointer-events:none;border-radius:var(--lk-border-radius);justify-content:center;align-items:center;transition:opacity .2s ease-in-out;display:flex;position:absolute;inset:0}.lk-participant-tile .lk-participant-placeholder svg{width:auto;height:100%;padding:10%}.lk-participant-tile[data-lk-video-muted=true][data-lk-source=camera] .lk-participant-placeholder{opacity:1}.lk-participant-metadata{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;line-height:1;display:flex;position:absolute;bottom:.25rem;left:.25rem;right:.25rem}.lk-participant-metadata-item{border-radius:calc(var(--lk-border-radius)/2);background-color:#00000080;align-items:center;padding:.25rem;display:flex}.lk-toast{background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);align-items:center;gap:.5rem;padding:.75rem 1.25rem;display:flex;position:fixed;top:.75rem;left:50%;transform:translate(-50%)}.lk-spinner{animation:2s linear infinite lk-rotate}@keyframes lk-rotate{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.lk-room-container{background-color:var(--lk-bg);line-height:var(--lk-line-height)}.lk-room-container{--lk-has-imported-styles:"true";width:100%;height:100%;position:relative}.lk-room-container [class^=lk-],.lk-room-container [class*=\ lk-]{box-sizing:border-box}.lk-audio-conference{width:100%;height:100%;position:relative}.lk-audio-conference-stage{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;height:100%;display:grid}.lk-chat{grid-template-rows:var(--lk-chat-header-height) 1fr var(--lk-control-bar-height);background-color:var(--lk-bg2);border-left:1px solid var(--lk-border-color);align-items:end;width:max(200px,55ch);display:grid}.lk-chat-header{height:var(--lk-chat-header-height);justify-content:center;align-items:center;padding:.75rem;display:flex;position:relative}.lk-chat-header .lk-close-button{background-color:#0000;position:absolute;right:0;transform:translate(-50%)}.lk-chat-header .lk-close-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-chat-messages{flex-direction:column;gap:.25rem;width:100%;max-height:100%;display:flex;overflow:auto}.lk-chat-entry{flex-direction:column;gap:.25rem;margin:0 .25rem;display:flex}.lk-chat-entry .lk-meta-data{color:var(--lk-fg5);white-space:nowrap;padding:0 .3rem;font-size:.75rem;display:flex}.lk-chat-entry .lk-meta-data .lk-participant-name{margin-top:1rem}.lk-chat-entry .lk-meta-data .lk-timestamp{align-self:flex-end;margin-left:auto}.lk-chat-entry .lk-edit-button{float:right;background:0 0;border-radius:0;margin:0;padding:0 .25rem;font-size:12px}.lk-chat-entry .lk-message-body{word-break:break-word;border-radius:15px;width:fit-content;max-width:calc(100% - 32px);padding:.25rem .75rem;display:inline-block}.lk-chat-entry[data-lk-message-origin=local] .lk-message-body{background-color:var(--lk-bg5)}.lk-chat-entry[data-lk-message-origin=remote] .lk-message-body{background-color:var(--lk-accent4)}.lk-chat-entry a{color:inherit;text-decoration:underline}.lk-chat-entry *{margin-block:.25em}.lk-chat-entry:last-child{margin-bottom:.25rem}.lk-chat-form{border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height);gap:.75rem;padding:.75rem;display:flex}.lk-chat-form-input{font-size:inherit;line-height:inherit;width:100%}@media (width<=600px){.lk-chat{max-width:100%;top:0;right:0;bottom:var(--lk-control-bar-height);position:fixed}}.lk-control-bar,.lk-agent-control-bar{border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height);justify-content:center;align-items:center;gap:.5rem;padding:.75rem;display:flex}.lk-agent-control-bar{height:var(--lk-control-bar-height);--lk-bg:transparent;--lk-va-bar-width:2px;--lk-va-bar-gap:4px;--lk-va-bar-border-radius:1px}.lk-agent-control-bar .lk-audio-bar-visualizer .lk-audio-bar.lk-highlighted{filter:none}.lk-prejoin{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] .lk-list{margin:0;padding:0;list-style:none}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);padding:.625rem 1rem}.lk-prejoin{box-sizing:border-box;background-color:var(--lk-bg);flex-direction:column;align-items:stretch;gap:1rem;width:min(100%,480px);margin-inline:auto;padding:1rem;display:flex}.lk-prejoin .lk-video-container{aspect-ratio:16/10;border-radius:var(--lk-border-radius);background-color:#000;width:100%;height:auto;position:relative;overflow:hidden}.lk-prejoin .lk-video-container video,.lk-prejoin .lk-video-container .lk-camera-off-note{object-fit:cover;width:100%;height:100%;display:block}.lk-prejoin .lk-video-container video[data-lk-facing-mode=user]{transform:rotateY(180deg)}.lk-prejoin .lk-video-container .lk-camera-off-note{aspect-ratio:16/10;background-color:#000;place-items:center;width:100%;display:grid;position:absolute;top:0;left:0}.lk-prejoin .lk-video-container .lk-camera-off-note>*{max-width:100%;height:70%}.lk-prejoin .lk-audio-container{display:none}.lk-prejoin .lk-audio-container audio{width:100%;height:auto}.lk-prejoin .lk-button-group-container{flex-wrap:nowrap;gap:1rem;display:flex}.lk-prejoin .lk-button-group-container>.lk-button-group{width:50%}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button{justify-content:left}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button:first-child{width:100%}@media (width<=400px){.lk-prejoin .lk-button-group-container{flex-wrap:wrap}.lk-prejoin .lk-button-group-container>.lk-button-group{width:100%}}.lk-prejoin .lk-username-container{flex-direction:column;gap:1rem;width:100%;max-width:100%;display:flex}.lk-prejoin .lk-join-button{--lk-control-fg:var(--lk-accent-fg);--lk-control-bg:var(--lk-accent-bg);--lk-control-hover-bg:var(--lk-accent2);--lk-control-active-bg:var(--lk-accent3);--lk-control-active-hover-bg:var(--lk-accent4);background-color:var(--lk-control-bg)}.lk-prejoin .lk-join-button:hover{background-color:var(--lk-control-hover-bg)}.lk-focus-layout-wrapper,.lk-grid-layout-wrapper{width:100%;height:calc(100% - var(--lk-control-bar-height));justify-content:center;display:flex;position:relative}.lk-grid-layout-wrapper{flex-direction:column;align-items:center}.lk-focus-layout-wrapper{align-items:stretch}.lk-video-conference{align-items:stretch;height:100%;display:flex;position:relative}.lk-video-conference-inner{flex-direction:column;align-items:stretch;width:100%;display:flex}.lk-settings-menu-modal{background:var(--lk-bg);border-radius:var(--lk-border-radius);padding:1rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);flex-direction:column;align-items:center;gap:.5rem;min-width:50vw;max-width:100%;min-height:50vh;max-height:100%;padding:.75rem 1.25rem;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}
