body,html{height:100%;width:100%}input::-ms-clear,input::-ms-reveal{display:none}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0);font-family:sans-serif;line-height:1.15}[tabindex="-1"]:focus{outline:none}hr{box-sizing:initial;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{font-weight:500;margin-bottom:.5em;margin-top:0}p{margin-bottom:1em;margin-top:0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-bottom:1em;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}code,kbd,pre,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-bottom:1em;margin-top:0;overflow:auto}figure{margin:0 0 1em}img{border-style:none;vertical-align:middle}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{caption-side:bottom;padding-bottom:.3em;padding-top:.75em;text-align:left}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:block;font-size:1.5em;line-height:inherit;margin-bottom:.5em;max-width:100%;padding:0;white-space:normal;width:100%}progress{vertical-align:initial}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{background-color:#feffe6;padding:.2em}html{height:100%}body,html{overflow-y:auto}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:auto;margin:0;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.ant-form-item{margin-bottom:16px}.ant-upload-list-picture-card .ant-upload-list-item{float:left;height:150px;margin:0 8px 8px 0;width:150px}@media (max-width:576px){.ant-form-item-label{padding:0 0 4px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f2f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.App{display:flex;flex-direction:column;height:auto;text-align:center}.container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;width:100%}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.form-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:24px}.btn-primary{background-color:#1677ff;color:#fff}.btn-primary:hover{background-color:#0958d9}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.page-container{background:#f0f2f5;height:auto;min-height:calc(100vh - 56px);padding:16px}.ant-menu-horizontal{line-height:64px}.ant-menu-horizontal,.header-menu.ant-menu-horizontal{border-bottom:none!important}.header-menu.ant-menu-horizontal>.ant-menu-item:after,.header-menu.ant-menu-horizontal>.ant-menu-submenu:after{display:none!important}.header-menu.ant-menu-horizontal>.ant-menu-item,.header-menu.ant-menu-horizontal>.ant-menu-submenu{border-bottom:2px solid #0000!important}.header-menu.ant-menu-horizontal>.ant-menu-item-active,.header-menu.ant-menu-horizontal>.ant-menu-item-selected,.header-menu.ant-menu-horizontal>.ant-menu-item:hover{border-bottom:2px solid #1677ff!important;color:#1677ff!important}.ant-menu-horizontal>.ant-menu-item:after,.ant-menu-horizontal>.ant-menu-submenu:after{display:none!important}.ant-menu-horizontal>.ant-menu-item,.ant-menu-horizontal>.ant-menu-submenu{border-bottom:2px solid #0000!important}.ant-menu-horizontal>.ant-menu-item-active,.ant-menu-horizontal>.ant-menu-item-selected,.ant-menu-horizontal>.ant-menu-item:hover{border-bottom:2px solid #1677ff!important;color:#1677ff!important}.app-logo{height:40px;margin-right:16px}.app-title{color:#333;font-size:18px;font-weight:700;white-space:nowrap}.ant-layout-content{overflow-y:visible}@media screen and (max-height:600px){.ant-layout-content{overflow-y:auto}}.app-header{background:#fff;box-shadow:0 1px 4px #0000001a;flex-wrap:nowrap;height:56px;justify-content:space-between;line-height:56px;padding:0 16px}.app-header,.app-header-left{align-items:center;display:flex;overflow:hidden}.app-header-left{flex:1 1;flex-wrap:nowrap;gap:4px;min-width:0}.app-header-right{flex-shrink:0;margin-left:12px}.app-header-brand{flex-shrink:0;text-decoration:none}.app-header-brand,.app-nav-desktop{align-items:center;display:flex;min-width:0}.app-nav-desktop{flex-wrap:nowrap;height:56px;margin-left:24px;overflow:hidden}.app-nav-item{align-items:center;display:flex;flex-shrink:0;height:56px;margin-right:16px;position:relative}.app-nav-item:last-child{margin-right:0}.app-nav-link{align-items:center;color:#666;display:inline-flex;font-size:13px;padding:0 2px;text-decoration:none;transition:color .2s ease;white-space:nowrap}.app-nav-link:hover{color:#1677ff}.app-nav-item--active .app-nav-link{color:#1677ff;font-weight:500}.app-nav-icon{display:inline-flex;margin-right:4px}.app-nav-indicator{background-color:#1677ff;bottom:0;height:2px;left:0;position:absolute;width:100%}.app-nav-mobile-trigger{display:none}.app-nav-mobile-drawer .ant-drawer-body{padding:0}@media (max-width:992px){.app-header{padding:0 12px!important}.app-nav-mobile-trigger{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;margin-right:4px}.app-nav-desktop{display:none!important}.app-title{font-size:14px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width:768px){.app-header{height:52px!important;line-height:52px!important;padding:0 12px!important}.app-logo{height:28px;margin-right:8px}.app-title{font-size:13px;max-width:120px}.user-name-text{display:none}.page-container{min-height:calc(100vh - 52px);padding:12px}.device-form-container,.devices-container,.project-form-container,.projects-container,.protocol-project-form-container,.protocol-projects-container{padding:0!important}.page-container .ant-card-body>div:first-child,.page-header,.projects-container .ant-card-body>div:first-child,.projects-header,.protocol-projects-container .ant-card-body>div:first-child,.protocol-projects-header{align-items:flex-start!important;flex-direction:column!important;gap:8px}.page-container .ant-card-body .ant-space,.protocol-projects-header .ant-space{flex-wrap:wrap}.page-container .ant-typography h2,.page-container .ant-typography h4{font-size:16px!important;margin-bottom:0!important}.page-container .ant-table-wrapper{overflow-x:auto}.page-container .ant-table{min-width:600px}.page-container .ant-form-item{margin-bottom:12px}.page-container .ant-row{row-gap:0}}.login-container{align-items:center;background:linear-gradient(135deg,#0f2027,#203a43 50%,#2c5364);display:flex;justify-content:center;min-height:100vh;overflow:auto;padding:20px}.login-wrapper{animation:fadeInUp .6s ease-out;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;max-width:100%;min-height:500px;overflow:hidden;width:900px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-branding{align-items:center;background:linear-gradient(135deg,#1a73e8,#0d47a1);display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow:hidden;padding:36px 40px;position:relative}.login-branding:before{animation:rotateGlow 20s linear infinite;background:radial-gradient(circle,#ffffff14 0,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes rotateGlow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.branding-content{position:relative;text-align:center;z-index:1}.brand-title{color:#fff!important;font-size:22px!important;font-weight:600;margin:0 0 8px;text-align:center}.brand-subtitle{color:#ffffffbf!important;display:block;font-size:13px;letter-spacing:1px}.brand-features{display:flex;flex-direction:column;gap:16px;margin-top:32px}.feature-item{align-items:center;color:#ffffffe6;display:flex;font-size:14px;gap:12px}.feature-dot{animation:pulse 2s ease-in-out infinite;background:#fff9;border-radius:50%;flex-shrink:0;height:8px;width:8px}.feature-item:nth-child(2) .feature-dot{animation-delay:.3s}.feature-item:nth-child(3) .feature-dot{animation-delay:.6s}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.branding-decoration{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;height:4px;left:0;position:absolute;right:0}.login-form-panel{align-items:center;background:#fff;display:flex;flex:1 1;justify-content:center;padding:48px 40px}.form-inner{max-width:360px;width:100%}.login-header{margin-bottom:32px;text-align:center}.form-title{color:#1a1a1a!important;font-size:24px!important;font-weight:600;margin:0 0 8px}.login-form-options{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.login-form-forgot{color:#1a73e8;cursor:pointer;font-size:14px}.login-form-forgot:hover{color:#1557b0;text-decoration:none}.login-button{background:linear-gradient(135deg,#1a73e8,#1557b0);border:none;border-radius:8px;font-size:16px;font-weight:500;height:46px;margin-top:8px;transition:all .3s ease}.login-button:hover{background:linear-gradient(135deg,#1557b0,#0d47a1);box-shadow:0 4px 16px #1a73e84d;transform:translateY(-1px)}.login-button:active{transform:translateY(0)}.login-container .ant-input-affix-wrapper{border-radius:8px;height:44px}.login-container .ant-input-affix-wrapper-focused,.login-container .ant-input-affix-wrapper:focus{border-color:#1a73e8!important;box-shadow:0 0 0 2px #1a73e826!important}.login-container .ant-input-prefix{color:#1a73e8;margin-right:8px}.login-container .ant-input-password{border-radius:8px}.login-footer{font-size:12px;margin-top:24px;text-align:center}.login-footer a{color:#999;font-size:12px}.login-footer a:hover{color:#1a73e8}@media (max-width:768px){.login-container{background:#fff;padding:0}.login-wrapper{border-radius:0;box-shadow:none;flex-direction:column;min-height:100vh;min-height:100dvh;width:100%}.login-branding{display:none}.login-form-panel{flex:none;justify-content:flex-start;min-height:100vh;min-height:100dvh;padding:60px 24px 32px}.form-inner{max-width:100%}.form-title{font-size:22px!important}}@media (min-width:769px) and (max-width:1024px){.login-wrapper{min-height:460px;width:800px}.login-branding{padding:28px 32px}.brand-title{font-size:20px!important}.login-form-panel{padding:36px 32px}}.submission-container{background-color:#f0f2f5;display:flex;justify-content:center;min-height:100vh;padding:24px}.submission-card{border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:800px;width:100%}.submission-title{color:#1890ff;margin-bottom:24px;text-align:center}.submission-buttons{display:flex;justify-content:center;margin-top:24px}.preview-image{border:1px solid #d9d9d9;border-radius:4px;margin-top:8px;max-width:300px;padding:8px}.preview-image img{height:auto;object-fit:contain;width:100%}@media (max-width:768px){.preview-image,.submission-card{max-width:100%}}.projects-container{background-color:#f5f5f5;min-height:100vh;padding:16px}.projects-card{border:none;border-radius:8px;box-shadow:0 2px 8px #00000014}.projects-card .ant-card-body{padding:16px}.projects-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.projects-header h2{color:#262626;font-size:20px;font-weight:600;margin:0}.projects-card .ant-table{background:#fff;border-radius:8px;overflow:hidden}.projects-card .ant-table-thead>tr>th{background-color:#fafafa;color:#262626;font-size:13px;font-weight:600;padding:12px}.projects-card .ant-table-tbody>tr>td{font-size:13px;padding:12px;transition:background-color .2s ease}.projects-card .ant-table-tbody>tr:hover>td{background-color:#f0f7ff}.projects-card .ant-table-tbody>tr>td a{color:#1890ff;text-decoration:none;transition:color .2s ease}.projects-card .ant-table-tbody>tr>td a:hover{color:#40a9ff;text-decoration:underline}.projects-card .ant-btn{border-radius:4px;font-size:13px;font-weight:500;height:32px;padding:4px 12px;transition:all .3s ease}.projects-card .ant-btn:hover{box-shadow:0 2px 8px #1890ff33;transform:translateY(-1px)}.projects-card .ant-input-search,.projects-card .ant-picker,.projects-card .ant-select{border-radius:6px}.projects-card .ant-input-search:hover .ant-input,.projects-card .ant-picker:hover,.projects-card .ant-select:hover .ant-select-selector{border-color:#1890ff}.projects-card .ant-tag{border-radius:4px;font-weight:500}.projects-platform-footer{border-top:1px solid #f0f0f0;margin-top:24px;padding-top:16px;text-align:center}.projects-stats-section{margin-bottom:24px}.stats-card{background:#fff;border:1px solid #e8e8e8;border-radius:16px;overflow:hidden;padding:24px 32px}.stat-item,.stats-card{align-items:center;display:flex;position:relative}.stat-item{flex:1 1;gap:16px;z-index:1}.stat-icon-wrapper{align-items:center;background:#f0f7ff;border-radius:50%;display:flex;height:56px;justify-content:center;width:56px}.stat-icon{color:#1677ff;font-size:24px}.stat-content{flex:1 1}.stat-value{color:#262626;font-size:32px;font-weight:700;line-height:1.2;margin-bottom:4px}.stat-title{color:#8c8c8c;font-size:14px;font-weight:500}.stat-divider{background:#e8e8e8;height:48px;margin:0 24px;width:1px}@media (max-width:768px){.projects-header{align-items:flex-start;flex-direction:column;gap:12px}.projects-header .ant-space{width:100%}.projects-card .ant-card-body,.projects-container{padding:12px}.projects-card .ant-table-tbody>tr>td,.projects-card .ant-table-thead>tr>th{font-size:12px;padding:8px}.stats-card{flex-direction:column;gap:20px;padding:20px}.stat-item{width:100%}.stat-divider{height:1px;margin:0;width:100%}.projects-filter-actions{width:100%}.projects-filter-actions .ant-btn{flex:1 1 auto}}@media (max-width:480px){.stat-icon-wrapper{height:44px;width:44px}.stat-icon{font-size:20px}.stat-value{font-size:24px}}.protocol-projects-container{padding:24px}.protocol-projects-card{box-shadow:0 1px 2px #0000000d;width:100%}.protocol-projects-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.protocol-projects-header h4{margin-bottom:0}@media (max-width:768px){.protocol-projects-card .ant-card-body,.protocol-projects-container{padding:12px}.protocol-projects-header{align-items:flex-start;flex-direction:column;gap:12px}.protocol-projects-header .ant-space{width:100%}.protocol-projects-header .ant-btn{flex:1 1 auto}}@media (max-width:576px){.protocol-projects-card .ant-table-tbody>tr>td,.protocol-projects-card .ant-table-thead>tr>th{font-size:12px;padding:8px}}.project-form-container{margin:0 auto;max-width:1200px;padding:24px}.project-form-card{border-radius:8px;box-shadow:0 1px 2px #0000000d}.project-form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.project-form{max-width:800px}.protocol-project-form-container{background-color:#f5f7fa;min-height:100vh;padding:24px}.protocol-project-form-card{border:none;border-radius:16px;box-shadow:0 2px 8px #0000000f;overflow:hidden;position:relative}.protocol-project-form-card:before{background:linear-gradient(90deg,#1890ff,#36cfc9);content:"";height:4px;left:0;position:absolute;right:0;top:0}.protocol-project-form-header{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.protocol-project-form-header>div:first-child{padding-left:0;text-align:left}.protocol-project-form{margin:0 auto;max-width:920px}.protocol-project-form .ant-input,.protocol-project-form .ant-input-affix-wrapper{border:1px solid #d9d9d9;border-radius:8px;padding:10px 16px;transition:all .3s}.protocol-project-form .ant-input-affix-wrapper:hover,.protocol-project-form .ant-input:hover{border-color:#40a9ff}.protocol-project-form .ant-input-affix-wrapper-focused,.protocol-project-form .ant-input:focus{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.protocol-project-form .ant-switch{box-shadow:0 2px 4px #0000001a}.form-actions{margin-top:8px;padding-top:20px}.form-actions .ant-btn{align-items:center;border-radius:8px;display:flex;font-weight:500;gap:8px;height:40px;justify-content:center;padding:0 20px}.form-actions .ant-btn-primary{background:linear-gradient(135deg,#1890ff,#096dd9);border:none;box-shadow:0 2px 6px #1890ff40;transition:all .3s ease}.form-actions .ant-btn-primary:hover{background:linear-gradient(135deg,#40a9ff,#1890ff);box-shadow:0 4px 12px #1890ff59;transform:translateY(-1px)}.ant-breadcrumb{margin-left:0;padding-left:0}.ant-breadcrumb a{color:#1890ff;transition:color .3s}.ant-breadcrumb a:hover{color:#40a9ff}.protocol-project-form .ant-form-item{margin-bottom:24px}.protocol-project-form-card .ant-card-body{padding:28px 32px 24px}.form-columns{display:flex;flex-wrap:wrap;gap:0}.form-column{flex:1 1;min-width:300px;padding:0 24px}.form-column:first-child{padding-left:0}.form-column:last-child{border-left:1px solid #f0f0f0;padding-right:0}.form-section{margin-bottom:28px}.form-section:last-child{margin-bottom:0}.section-title{align-items:center;color:#1f2937;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:16px}.section-title .section-title-icon{align-items:center;background:#1890ff1a;border-radius:6px;color:#1890ff;display:inline-flex;font-size:12px;height:22px;justify-content:center;width:22px}.form-icon{color:#bfbfbf;margin-right:8px}.form-copy-icon{color:#bfbfbf;cursor:pointer;transition:color .3s}.form-copy-icon:hover{color:#1890ff}.protocol-project-form .ant-form-item-extra{color:#8c8c8c;font-size:13px;margin-top:8px}.protocol-project-form .ant-form-item-label>label{color:#262626;font-weight:500}.protocol-project-form .ant-form-item-label>label .ant-form-item-tooltip{color:#8c8c8c}.back-button{align-items:center;border-radius:8px;display:flex;gap:8px;transition:all .3s}.back-button:hover{background-color:#f5f5f5;color:#1890ff}@media (max-width:768px){.protocol-project-form-header{flex-direction:column;gap:16px}.protocol-project-form-card .ant-card-body{padding:16px}.form-column{padding:0}.form-column:last-child{border-left:none;padding-top:8px}}.region-select.ant-select .ant-select-selector{border:1px solid #d9d9d9;border-radius:8px;height:42px;padding:0 16px;transition:all .3s}.region-select.ant-select .ant-select-selection-item{line-height:42px}.region-select.ant-select:hover .ant-select-selector{border-color:#40a9ff}.region-select.ant-select-focused .ant-select-selector,.region-select.ant-select-open .ant-select-selector{border-color:#1890ff!important;box-shadow:0 0 0 2px #1890ff33!important}.region-select.ant-select .ant-select-arrow{color:#bfbfbf;right:16px}.region-select.ant-select .ant-select-selection-placeholder{line-height:42px;padding-left:0}.ant-select-dropdown{border-radius:8px;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px 0 #00000014,0 9px 28px 8px #0000000d}.ant-select-item{padding:10px 16px;transition:all .2s}.ant-select-item-option-selected{background-color:#e6f7ff;font-weight:500}.ant-select-item-option-active{background-color:#f5f5f5}.video-player-wrapper{background-color:#000;display:flex;flex-direction:column;height:400px;overflow:hidden;position:relative;width:100%}.video-player-controls{align-items:center;background-color:#000000b3;color:#fff;display:flex;justify-content:space-between;padding:8px 16px;z-index:10}.video-player-container{align-items:center;background-color:#000;display:flex;height:calc(100% - 40px);justify-content:center;overflow:hidden;position:relative;width:100%}.video-player{height:100%;object-fit:contain;width:100%}.video-error-message{align-items:center;color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;padding:20px;text-align:center}.video-error-message p{margin-bottom:16px}.devices-container{background:linear-gradient(135deg,#f0f4f8,#e8eef5);min-height:100vh;padding:16px}.devices-card{border:none;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 4px 16px #0000000a;overflow:hidden}.devices-card .ant-card-body{padding:20px 24px}.devices-hero{background:linear-gradient(135deg,#f8faff,#f0f5ff 50%,#fafbfc);border:1px solid #e6edff;border-radius:12px;margin-bottom:16px;padding:18px 20px}.devices-hero-nav{align-items:center;border-bottom:1px solid #1677ff14;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px;padding-bottom:14px}.devices-hero-nav .ant-breadcrumb{font-size:13px;line-height:1.5}.devices-hero-nav .ant-breadcrumb a{color:#666;transition:color .2s ease}.devices-hero-nav .ant-breadcrumb a:hover{color:#1677ff}.devices-hero-nav .ant-breadcrumb li:last-child{color:#1a1a2e;font-weight:500}.devices-hero-actions .ant-btn{border-radius:6px}.devices-hero-body{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.devices-hero-info{flex:1 1;min-width:200px}.devices-hero-title{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.devices-hero-project{color:#1a1a2e;font-size:22px;font-weight:700;letter-spacing:-.3px;line-height:1.3}.devices-hero-badge{align-items:center;background:#1677ff14;border:1px solid #1677ff26;border-radius:20px;color:#1677ff;display:inline-flex;font-size:12px;font-weight:500;line-height:20px;padding:2px 10px}.devices-hero-meta{color:#8c8c8c;font-size:13px;margin:6px 0 0}.devices-hero-stats{align-items:center;background:#fff;border:1px solid #eef0f4;border-radius:10px;box-shadow:0 1px 4px #00000008;display:flex;gap:0;padding:10px 16px}.hero-stat-item{align-items:center;display:flex;gap:10px;min-width:100px;padding:0 20px}.hero-stat-item:first-child{padding-left:0}.hero-stat-item:last-child{padding-right:0}.hero-stat-icon{flex-shrink:0;font-size:20px}.hero-stat-total .hero-stat-icon{color:#1677ff}.hero-stat-paid .hero-stat-icon{color:#52c41a}.hero-stat-unpaid .hero-stat-icon{color:#fa8c16}.hero-stat-video .hero-stat-icon{color:#722ed1}.hero-stat-text{display:flex;flex-direction:column;gap:1px}.hero-stat-value{color:#1a1a2e;font-size:20px;font-weight:700;line-height:1.2}.hero-stat-label{color:#8c8c8c;font-size:12px;white-space:nowrap}.hero-stat-divider{background:#eef0f4;flex-shrink:0;height:32px;width:1px}.devices-filter-section{background:#fff;border:1px solid #eef0f4;border-radius:10px;margin-bottom:16px;padding:16px 20px;transition:box-shadow .3s ease}.devices-filter-section:hover{box-shadow:0 2px 12px #1677ff0f}.devices-filter-section .ant-input-search{width:100%}.devices-filter-section .ant-btn{border-radius:8px;font-weight:500;transition:all .25s ease}.devices-filter-section .ant-btn:hover{box-shadow:0 2px 8px #1677ff26;transform:translateY(-1px)}.filter-tabs-wrapper{border-top:1px solid #f0f0f0;margin-top:12px;padding-top:12px}.device-tabs-inline,.device-tabs-inline .ant-tabs-nav{margin-bottom:0}.device-tabs-inline .ant-tabs-tab{color:#666;font-size:13px;padding:8px 16px;transition:all .25s}.device-tabs-inline .ant-tabs-tab:hover{color:#1677ff}.device-tabs-inline .ant-tabs-tab-active{font-weight:600}.device-tabs-inline .ant-tabs-ink-bar{background:linear-gradient(90deg,#1677ff,#4096ff);border-radius:2px;height:3px}.device-tabs-inline .ant-tabs-nav:before{display:none}.device-tabs-inline .ant-tabs-tab .ant-tag{background:#0000000a;border:none;border-radius:10px;color:#0000008c;font-size:11px;font-weight:500;height:20px;line-height:18px;margin-left:6px;margin-right:0;padding:0 7px}.device-tabs-inline .ant-tabs-tab-active .ant-tag{background:#1677ff1a;color:#1677ff}.device-tabs{background:#fff;border-bottom:1px solid #eef0f4;padding:0 12px}.device-tabs,.device-tabs .ant-tabs-nav{margin-bottom:0}.device-tabs .ant-tabs-tab{color:#666;font-size:13px;padding:10px 18px;transition:all .25s}.device-tabs .ant-tabs-tab:hover{color:#1677ff}.device-tabs .ant-tabs-tab-active{font-weight:600}.device-tabs .ant-tabs-ink-bar{background:linear-gradient(90deg,#1677ff,#4096ff);border-radius:2px;height:3px}.device-tabs .ant-tabs-nav:before{display:none}.device-tabs .ant-tabs-tab .ant-tag{background:#0000000a;border:none;border-radius:10px;color:#0000008c;font-size:11px;font-weight:500;height:20px;line-height:18px;margin-left:6px;margin-right:0;padding:0 7px}.device-tabs .ant-tabs-tab-active .ant-tag{background:#1677ff1a;color:#1677ff}.table-container{background:#fff;border:1px solid #eef0f4;border-radius:10px;box-shadow:0 2px 8px #00000008;margin-bottom:24px;overflow:hidden}.table-container .ant-table-wrapper{margin:0}.table-container .ant-table-container{border:none}.table-container .ant-table{border-radius:0}.table-container .ant-table-thead>tr>th{background:#fafbfc;border-bottom:1px solid #eef0f4;color:#1a1a2e;font-size:13px;font-weight:600;padding:10px 14px}.table-container .ant-table-tbody>tr>td{border-bottom:1px solid #f5f5f7;font-size:13px;padding:10px 14px;transition:all .2s}.table-container .ant-table-tbody>tr:hover>td{background:#f0f7ff}.table-container .ant-table-tbody>tr>td a{color:#1677ff;text-decoration:none;transition:color .2s ease}.table-container .ant-table-tbody>tr>td a:hover{color:#4096ff}.table-container .ant-table-row:last-child td{border-bottom:none}.table-container .ant-table-pagination{background:#fafbfc;border-radius:0 0 10px 10px;border-top:1px solid #eef0f4;flex-wrap:wrap;justify-content:flex-end;margin:0!important;padding:12px 20px 16px;row-gap:8px}.table-container .ant-table-pagination .ant-pagination-total-text{color:#8c8c8c;font-size:13px;margin-right:auto}.table-container .ant-empty{padding:48px 0}.device-type-tag{border-radius:6px;font-size:12px;font-weight:500;padding:2px 8px}.devices-table table{table-layout:fixed;width:100%}.devices-table .devices-id-col{max-width:50px;min-width:50px;padding-left:10px!important;padding-right:6px!important;width:50px!important}.devices-table .ant-table-tbody>tr>td:last-child,.devices-table .ant-table-thead>tr>th:last-child{min-width:100px;text-align:right;width:100px}.devices-action-cell{display:flex;justify-content:flex-end;width:100%}.table-container .ant-btn-text{color:#555;font-size:13px;height:auto;padding:2px 8px;transition:all .2s}.table-container .ant-btn-text:hover{background:#1677ff0f;color:#1677ff}.table-container .ant-btn-text.ant-btn-dangerous:hover{background:#ff4d4f0f;color:#ff4d4f}.operations-dropdown .ant-dropdown-menu{border-radius:10px;box-shadow:0 4px 16px #0000001a;min-width:140px;padding:4px}.operations-dropdown .ant-dropdown-menu-item{border-radius:6px;font-size:13px;padding:8px 14px;transition:all .2s}.operations-dropdown .ant-dropdown-menu-item:hover{background:#f0f7ff}.operations-dropdown .ant-dropdown-menu-item .ant-tag{border-radius:4px;height:18px;line-height:14px;margin-right:0;padding:0 4px}.operations-button{align-items:center;display:flex;justify-content:center}.form-section{padding:0}.form-section-header{margin-bottom:8px}.ant-divider-with-text-left{color:#1677ff;font-size:14px;font-weight:600;margin:4px 0 12px}.ant-form-item{margin-bottom:14px}.ant-form-item-label{padding-bottom:4px}.ant-form-item-label>label{color:#333;font-size:13px;height:20px}.form-actions{border-top:1px solid #f0f0f0;gap:10px;margin-top:20px;padding-top:16px}.live-data-container{display:flex;flex-direction:column;gap:12px}.live-data-container .ant-table{border-radius:8px;overflow:hidden}.live-data-container .ant-table-thead>tr>th{background:#f5f7fa;font-size:13px;font-weight:600}.live-data-container .ant-table-tbody>tr>td{font-size:13px}.live-data-item{background:#f5f7fa;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:12px}.live-data-item strong{color:#1677ff;margin-right:8px}.no-data-message{color:#999;font-size:15px;padding:48px 0;text-align:center}.device-logs-container .ant-table{border-radius:8px;overflow:hidden}@media (max-width:768px){.devices-hero{padding:14px 16px}.devices-hero-nav{align-items:flex-start;flex-direction:column;margin-bottom:12px;padding-bottom:12px}.devices-hero-actions{justify-content:flex-end;width:100%}.devices-hero-body{align-items:stretch;flex-direction:column;gap:14px}.devices-hero-project{font-size:18px}.devices-hero-stats{flex-wrap:wrap;gap:8px;padding:12px}.hero-stat-item{flex-basis:calc(50% - 8px);flex-grow:1;flex-shrink:1;min-width:0;padding:4px 8px}.hero-stat-divider{display:none}.hero-stat-value{font-size:18px}.devices-container{padding:12px}.device-tabs .ant-tabs-tab{font-size:12px;padding:8px 12px}.table-container .ant-table-tbody>tr>td,.table-container .ant-table-thead>tr>th{font-size:12px;padding:8px 10px}.table-container .ant-table-pagination{justify-content:center;padding:10px 14px 12px}.table-container .ant-table-pagination .ant-pagination-total-text{margin-bottom:4px;margin-right:0;text-align:center;width:100%}.form-actions{flex-direction:column;width:100%}.form-actions button{width:100%}.devices-filter-actions{justify-content:flex-start!important}.devices-filter-actions .ant-btn{width:100%}}@media (max-width:576px){.device-tabs{padding:0 4px}.device-tabs .ant-tabs-tab{font-size:11px;padding:6px 8px}}.yingshi-integration{margin-top:16px}.yingshi-section{margin-bottom:24px}.yingshi-account-info{background:#f5f7fa;border:1px solid #eef0f4;border-radius:8px;padding:16px}.yingshi-account-empty{padding:16px;text-align:center}.yingshi-camera-list,.yingshi-device-list{border:1px solid #eef0f4;border-radius:8px;max-height:400px;overflow-y:auto;padding:8px}.yingshi-device-item:hover{background:#f5f7fa}.yingshi-device-item.selected{background:#e6f4ff;border-left:3px solid #1677ff}.yingshi-camera-item{transition:all .25s}.yingshi-camera-item:hover{background:#f5f7fa}.device-form-container{background-color:#f0f2f5;min-height:100vh;padding:24px}.device-form-card{border-radius:8px;box-shadow:0 1px 2px #0000000d;margin:0 auto;max-width:800px}.device-form-header{margin-bottom:24px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.form-section-title{border-bottom:1px solid #f0f0f0;color:#1890ff;font-size:16px;font-weight:500;margin:16px 0 8px;padding-bottom:8px}@media (max-width:768px){.device-form-container{padding:16px}.form-actions{flex-direction:column;width:100%}.form-actions button{width:100%}}.settlement-center-container{margin:24px}.page-header{align-items:center;display:flex;justify-content:space-between}.filter-section,.page-header{margin-bottom:24px}.filter-label{color:#000000d9;margin-right:8px}.date-filter{align-items:center;display:flex}.payment-modal-content{padding:0 8px}.qr-code-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:16px 0}.device-query-container{background:#f5f5f5;min-height:100vh;padding:16px}.filter-section{background:#fff;border-radius:8px;box-shadow:0 1px 2px #00000008;margin-bottom:16px;padding:12px}.device-table{border-radius:8px;margin-top:12px;overflow:hidden}.device-table .ant-table{background:#fff;border-radius:8px}.device-table .ant-table-thead>tr>th{background:#fafafa;color:#262626;font-size:13px;font-weight:600;padding:10px 12px}.device-table .ant-table-tbody>tr>td{font-size:13px;padding:10px 12px;transition:background-color .2s ease}.device-table .ant-table-tbody>tr:hover>td{background:#f0f7ff;cursor:pointer}.pagination-container{background:#fff;border-radius:8px;box-shadow:0 1px 2px #00000008;display:flex;justify-content:flex-end;margin-top:12px;padding:12px}@media (max-width:768px){.device-query-container,.filter-section{padding:12px}.filter-section .ant-space{align-items:flex-start;display:flex;flex-direction:column}.filter-section .ant-space .ant-btn{margin-top:8px;width:100%}.pagination-container{justify-content:center;padding:12px}}.agent-chat-panel{--agent-primary:#1677ff;--agent-primary-light:#e6f4ff;--agent-primary-dark:#0958d9;--agent-surface:#fff;--agent-surface-muted:#f7f8fa;--agent-border:#e8eaed;--agent-text:#1f2329;--agent-text-secondary:#646a73;--agent-shadow-sm:0 1px 3px oklch(0.3 0.02 250/0.06);--agent-shadow-md:0 4px 16px oklch(0.3 0.02 250/0.08);--agent-radius:16px;--agent-radius-sm:10px;--agent-avatar-size:36px;background:var(--agent-surface);border:1px solid var(--agent-border);border-radius:var(--agent-radius);box-shadow:var(--agent-shadow-md);display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.agent-chat-panel.compact{flex:none;height:500px}.agent-chat-header{align-items:center;background:linear-gradient(180deg,#fafbfc 0,var(--agent-surface) 100%);border-bottom:1px solid var(--agent-border);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.agent-chat-header-left{align-items:center;display:flex;gap:12px;min-width:0}.agent-chat-logo{align-items:center;background:linear-gradient(135deg,var(--agent-primary) 0,#4096ff 100%);border-radius:12px;box-shadow:0 2px 8px oklch(.55 .18 250/.25);color:#fff;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.agent-chat-header-text{min-width:0}.agent-chat-title{color:var(--agent-text)!important;font-size:15px!important;font-weight:600!important;line-height:1.3!important;margin:0!important}.agent-chat-subtitle{display:block;font-size:12px;line-height:1.4}.agent-session-tag{align-items:center;background:var(--agent-primary-light)!important;border-radius:20px!important;color:var(--agent-primary)!important;display:inline-flex!important;font-size:12px!important;gap:6px;margin:0!important;padding:2px 10px!important}.agent-session-dot{animation:agent-pulse 2s ease-in-out infinite;background:#52c41a;border-radius:50%;height:6px;width:6px}@keyframes agent-pulse{0%,to{opacity:1}50%{opacity:.4}}.agent-clear-btn{color:var(--agent-text-secondary)!important;font-size:13px}.agent-clear-btn:not(:disabled):hover{background:#fff2f0!important;color:#ff4d4f!important}.agent-quick-commands{background:var(--agent-surface-muted);border-bottom:1px solid var(--agent-border);display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;padding:12px 20px}.agent-quick-chip{align-items:center;background:var(--agent-surface);border:1px solid var(--agent-border);border-radius:20px;color:var(--agent-text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;gap:6px;line-height:1.4;padding:6px 12px;transition:border-color .2s,color .2s,box-shadow .2s,transform .15s}.agent-quick-chip-icon{color:var(--agent-primary);display:flex;font-size:13px}.agent-quick-chip:hover:not(:disabled){border-color:var(--agent-primary);box-shadow:var(--agent-shadow-sm);color:var(--agent-primary)}.agent-quick-chip:active:not(:disabled){transform:scale(.98)}.agent-quick-chip:disabled{cursor:not-allowed;opacity:.5}.agent-messages{background:var(--agent-surface-muted);flex:1 1;overflow-y:auto;padding:24px 20px;scroll-behavior:smooth}.agent-messages::-webkit-scrollbar{width:6px}.agent-messages::-webkit-scrollbar-thumb{background:oklch(.75 .01 250/.4);border-radius:3px}.agent-messages::-webkit-scrollbar-thumb:hover{background:oklch(.65 .02 250/.5)}.agent-empty{animation:agent-fade-in .4s ease-out;flex-direction:column;height:100%;min-height:280px;padding:24px 16px;text-align:center}.agent-empty,.agent-empty-icon{align-items:center;display:flex;justify-content:center}.agent-empty-icon{background:linear-gradient(135deg,var(--agent-primary-light) 0,#f0f5ff 100%);border-radius:20px;color:var(--agent-primary);font-size:36px;height:72px;margin-bottom:20px;width:72px}.agent-empty-title{color:var(--agent-text)!important;font-weight:600!important;margin:0 0 8px!important}.agent-empty-desc{font-size:14px;line-height:1.6;margin-bottom:28px;max-width:380px}.agent-empty-suggestions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);max-width:420px;width:100%}.agent-suggestion-card{align-items:center;background:var(--agent-surface);border:1px solid var(--agent-border);border-radius:var(--agent-radius-sm);color:var(--agent-text);cursor:pointer;display:flex;font-family:inherit;font-size:13px;gap:10px;line-height:1.4;padding:12px 14px;text-align:left;transition:border-color .2s,box-shadow .2s,transform .15s}.agent-suggestion-icon{align-items:center;background:var(--agent-primary-light);border-radius:8px;color:var(--agent-primary);display:flex;flex-shrink:0;font-size:15px;height:32px;justify-content:center;width:32px}.agent-suggestion-label{flex:1 1;min-width:0}.agent-suggestion-card:hover:not(:disabled){border-color:var(--agent-primary);box-shadow:var(--agent-shadow-sm)}.agent-suggestion-card:active:not(:disabled){transform:scale(.98)}.agent-suggestion-card:disabled{cursor:not-allowed;opacity:.5}.agent-message{animation:agent-message-in .3s ease-out;display:flex;gap:10px;margin-bottom:20px}@keyframes agent-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes agent-message-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.agent-message-user{flex-direction:row-reverse}.agent-message-avatar{align-items:center;background:var(--agent-primary-light);border-radius:50%;color:var(--agent-primary);display:flex;flex-shrink:0;font-size:16px;height:var(--agent-avatar-size);justify-content:center;width:var(--agent-avatar-size)}.agent-message-user .agent-message-avatar{background:linear-gradient(135deg,#d9f7be,#f6ffed);color:#389e0d}.agent-message-body{max-width:min(75%,640px);min-width:0}.agent-message-user .agent-message-body{align-items:flex-end;display:flex;flex-direction:column}.agent-message-content{background:var(--agent-surface);border:1px solid var(--agent-border);border-radius:4px 16px 16px 16px;box-shadow:var(--agent-shadow-sm);color:var(--agent-text);display:inline-block;font-size:14px;line-height:1.65;padding:10px 14px;text-align:left;word-break:break-word}.agent-message-user .agent-message-content{background:linear-gradient(135deg,var(--agent-primary) 0,#4096ff 100%);border-color:#0000;border-radius:16px 4px 16px 16px;box-shadow:0 2px 8px oklch(.55 .18 250/.2);color:#fff}.agent-message.error .agent-message-content{background:#fff2f0;border-color:#ffccc7;color:#cf1322}.agent-message-typing{align-items:center;display:inline-flex!important;gap:5px;min-width:56px;padding:14px 18px!important}.agent-typing-dot{animation:agent-typing 1.4s ease-in-out infinite;background:var(--agent-text-secondary);border-radius:50%;height:7px;width:7px}.agent-typing-dot:nth-child(2){animation-delay:.2s}.agent-typing-dot:nth-child(3){animation-delay:.4s}@keyframes agent-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.agent-message-cards{margin-top:10px;text-align:left;width:100%}.agent-card{border-color:var(--agent-border)!important;border-radius:var(--agent-radius-sm)!important;box-shadow:var(--agent-shadow-sm)!important;overflow:hidden}.agent-card .ant-card-head{background:var(--agent-surface-muted);border-bottom-color:var(--agent-border);min-height:40px;padding:0 14px}.agent-card .ant-card-head-title{font-size:13px;font-weight:600;padding:10px 0}.agent-card .ant-card-body{padding:12px 14px}.agent-json-block{background:#f5f6f8;border-radius:8px;color:#434343;line-height:1.5;margin:0;max-height:300px;overflow:auto;padding:12px 14px}.agent-json-block,.agent-tool-status{border:1px solid var(--agent-border);font-size:12px}.agent-tool-status{align-items:center;animation:agent-fade-in .3s ease-out;background:var(--agent-surface);border-radius:20px;box-shadow:var(--agent-shadow-sm);display:inline-flex;gap:8px;margin-bottom:12px;padding:8px 14px}.agent-input-area{background:var(--agent-surface);border-top:1px solid var(--agent-border);flex-shrink:0;padding:14px 20px 16px}.agent-input-wrapper{align-items:flex-end;background:var(--agent-surface-muted);border:1px solid var(--agent-border);border-radius:24px;display:flex;gap:10px;padding:6px 6px 6px 16px;transition:border-color .2s,box-shadow .2s}.agent-input-wrapper:focus-within{border-color:var(--agent-primary);box-shadow:0 0 0 2px oklch(.55 .18 250/.12)}.agent-input-field{background:#0000!important;flex:1 1;font-size:14px;padding:6px 0!important;resize:none}.agent-input-field::placeholder{color:#8f959e}.agent-send-btn{box-shadow:0 2px 6px oklch(.55 .18 250/.25);flex-shrink:0;height:40px!important;width:40px!important}.agent-send-btn:not(:disabled):hover{transform:scale(1.05)}.agent-input-hint{color:#8f959e;display:block;font-size:11px;margin-top:8px;text-align:center}@media (max-width:768px){.agent-chat-header{padding:12px 14px}.agent-chat-subtitle{display:none}.agent-quick-commands{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;padding:10px 14px;scrollbar-width:none}.agent-quick-commands::-webkit-scrollbar{display:none}.agent-quick-chip{flex-shrink:0}.agent-messages{padding:16px 14px}.agent-message-body{max-width:85%}.agent-empty-suggestions{grid-template-columns:1fr}.agent-input-area{padding:10px 12px 12px}.agent-clear-btn span:not(.anticon){display:none}}@media (prefers-reduced-motion:reduce){.agent-empty,.agent-message,.agent-session-dot,.agent-tool-status,.agent-typing-dot{animation:none}.agent-messages{scroll-behavior:auto}.agent-send-btn:not(:disabled):hover{transform:none}}.agent-page{align-items:stretch;display:flex;height:calc(100vh - 64px);justify-content:center;overflow:hidden;padding:16px 20px 20px;position:relative}.agent-page-bg{background:radial-gradient(ellipse 80% 60% at 10% 0,oklch(.92 .04 250/.5),#0000 55%),radial-gradient(ellipse 70% 50% at 90% 100%,oklch(.94 .03 220/.4),#0000 50%),linear-gradient(180deg,#f5f7fa,#eef1f6);inset:0;pointer-events:none;position:absolute}.agent-page-bg:after{background-image:radial-gradient(oklch(.7 .02 250/.12) 1px,#0000 0);background-size:24px 24px;content:"";inset:0;-webkit-mask-image:linear-gradient(180deg,#0000,#000 15%,#000 85%,#0000);mask-image:linear-gradient(180deg,#0000,#000 15%,#000 85%,#0000);position:absolute}.agent-page-inner{display:flex;flex-direction:column;max-width:960px;min-height:0;position:relative;width:100%;z-index:1}@media (max-width:768px){.agent-page{padding:8px 8px 12px}}
/*# sourceMappingURL=main.e67bd04d.css.map*/