*{box-sizing:border-box}body{margin:0;background:#eef2f7;color:#1f2937}.app-shell{min-height:100vh;background:#eef2f7}.login-shell{background:#b8e5f8}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fff;border-bottom:1px solid #d9e2ec}.topbar h3{margin:0;color:#111827}.topbar-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.topbar-brand:hover h3{color:#1677ff}.liukanshan-logo{width:72px;height:72px;display:grid;place-items:center;margin:0 auto;line-height:1;filter:drop-shadow(0 12px 18px rgba(0,102,255,.16))}.liukanshan-logo img{width:100%;height:100%;object-fit:contain;border-radius:50%}.liukanshan-logo.compact{width:32px;height:32px;margin:0;filter:none}.content{width:min(1080px,calc(100vw - 32px));margin:0 auto;padding:24px 0 40px}.login-content{width:min(420px,calc(100vw - 32px));min-height:100vh;display:flex;align-items:center;padding:40px 0}.login-section{width:100%;min-height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0}.login-logo-stack{margin-bottom:24px;text-align:center}.login-logo-stack h1{margin:14px 0 0;color:#1677ff;font-size:34px;line-height:1.15}.login-panel{width:100%;border:0;border-radius:2px;box-shadow:0 1px 3px #1212121a}.login-panel .ant-card-body{padding:34px 28px 30px}.login-panel h3{margin:8px 0 0;color:#121212;font-size:24px;line-height:1.35;text-align:center}.login-eyebrow{display:block;color:#8590a6;font-size:14px;text-align:center}.login-desc{margin:14px 0 28px;color:#8590a6;line-height:1.8;text-align:center}.login-method-tabs{margin:6px 0 22px}.login-method-tabs .ant-tabs-content-holder,.login-method-tabs .ant-tabs-content,.login-method-tabs .ant-tabs-tabpane{height:306px;min-height:306px}.login-method-tabs .ant-tabs-nav:before{border-bottom:1px solid #e9edf2}.login-method-tabs .ant-tabs-nav-list{width:100%}.login-method-tabs .ant-tabs-tab{flex:1;justify-content:center}.login-method-tabs .ant-tabs-tab-btn{width:100%;text-align:center}.login-method-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{font-weight:700}.login-method-content{height:306px;min-height:306px;display:flex;align-items:flex-start;justify-content:center;padding-top:4px}.password-login-form{margin-top:8px;width:100%}.login-form-links{display:flex;justify-content:space-between;margin:-10px 0 14px}.login-form-links.single{justify-content:flex-start}.login-form-links .ant-btn{height:auto;padding:0}.password-login-actions{width:100%}.auth-entry-button{height:44px;border-radius:3px;font-size:16px;font-weight:700}.dashboard{width:100%}.top-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.account-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.account-card h4{margin:0}.profile-summary{display:flex;align-items:center;gap:14px;margin:18px 0 20px}.profile-summary img{width:54px;height:54px;flex:none;object-fit:cover;border-radius:50%}.profile-lines{display:flex;flex-direction:column;gap:12px}.profile-line{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;align-items:start}.profile-line span{color:#6b7280;font-size:14px}.profile-line strong{color:#111827;font-size:16px;line-height:1.3;overflow-wrap:anywhere}.auth-link{margin-left:10px;font-size:14px;font-weight:500}.overview-card{height:100%;border-radius:8px}.overview-card .ant-card-head{min-height:46px}.overview-card-title{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}.overview-card-actions{flex:none;display:flex;align-items:center;gap:10px}.overview-title-button{height:auto;padding:0;font-size:13px;font-weight:400}.overview-card-title a{flex:none;color:#1677ff;font-size:13px;font-weight:400}.overview-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mini-item{min-height:84px;display:flex;flex-direction:column;justify-content:space-between;gap:6px;padding:10px;background:#f7f9fc;border:1px solid #e5edf7;border-radius:8px}.mini-item span,.mini-item small{color:#6b7280;font-size:13px}.mini-item strong{color:#111827;font-size:20px;line-height:1.15;overflow-wrap:anywhere}.mini-link{display:block;color:inherit}.mini-link:hover .clickable{border-color:#1677ff;box-shadow:0 8px 20px #1677ff1f}.dashboard-section-card{min-width:0;border-radius:8px}.tab-stack{width:100%}.data-board-page{display:flex}.data-board-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.data-board-page-head h3{margin:0}.data-board-section{min-width:0}.data-board-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:10px}.data-board-section-head h5{margin:0}.device-add-card{border-radius:8px}.device-add-panel{min-height:72px;display:flex;align-items:center;padding:16px;background:#f7f9fc;border:1px solid #e5edf7;border-radius:8px}.invite-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.invite-quota{flex:none}.device-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.device-inline-action{min-height:32px;align-items:center}.device-action-label{color:#111827;font-weight:600;white-space:nowrap}.kanshan-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kanshan-summary-tile{min-height:96px;display:block;padding:18px;color:inherit;background:#f7f9fc;border:1px solid #e5edf7;border-radius:8px}.kanshan-summary-tile:hover{border-color:#1677ff;box-shadow:0 8px 20px #1677ff1f}.kanshan-summary-tile .ant-statistic-title{color:#4b5563}.kanshan-summary-tile .ant-statistic-content{color:#111827}.kanshan-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:8px 4px}.kanshan-empty{padding:34px 0 26px;background:#fff}.conversation-title{color:#111827;font-weight:600}.conversation-empty{padding:20px 0 4px;background:#fff}.conversation-detail{padding:16px;background:#f7f9fc;border:1px solid #e5edf7;border-radius:8px}.conversation-detail-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}.conversation-detail-head h5{margin:0}.conversation-messages{display:grid;gap:10px}.conversation-message{max-width:82%;padding:10px 12px;background:#fff;border:1px solid #e5edf7;border-radius:8px}.conversation-message.user{justify-self:end;background:#e8f3ff;border-color:#bad7ff}.conversation-message.assistant{justify-self:start}.conversation-message span{display:block;margin-bottom:6px;color:#6b7280;font-size:12px}.conversation-message p{margin:0;color:#111827;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.conversation-message a{display:inline-block;margin-top:8px}.list-icon{color:#16a34a}.wifi-provision-shell{background:#eef2f7}.wifi-provision-content{width:min(920px,calc(100vw - 32px))}.wifi-provision-page{display:grid;gap:16px}.wifi-provision-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.wifi-provision-heading h3{margin:0 0 4px}.wifi-provision-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.wifi-provision-card{border-radius:8px}.wifi-provision-actions{display:flex;flex-wrap:wrap;gap:10px}.wifi-status-panel{display:grid;gap:10px;margin-top:16px;padding:14px;background:#f7f9fc;border:1px solid #e5edf7;border-radius:8px}.wifi-status-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.wifi-status-line span{color:#6b7280;font-size:13px}.wifi-status-line strong{color:#111827}.wifi-device-name{min-width:0;text-align:right;overflow-wrap:anywhere}@media(max-width:760px){.topbar{height:auto;min-height:64px;flex-wrap:wrap;gap:12px;padding:14px 16px}.content{width:min(100vw - 20px,1080px);padding-top:16px}.login-section{padding:0}.login-logo-stack h1{font-size:30px}.top-card-grid{grid-template-columns:1fr}.device-add-card .ant-form-inline,.device-add-panel .ant-form-inline{display:grid;gap:12px}.device-add-card .ant-form-item,.device-add-panel .ant-form-item{margin-inline-end:0}.invite-toolbar{align-items:stretch;flex-direction:column}.invite-quota{align-self:flex-end}.device-action-grid{grid-template-columns:1fr}.wifi-provision-heading{align-items:flex-start;flex-direction:column}.wifi-provision-grid{grid-template-columns:1fr}.kanshan-summary-grid,.kanshan-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-inline-action{width:100%;display:grid;gap:12px}.device-inline-action .ant-btn{width:100%}.conversation-detail-head{display:grid}.data-board-page-head{align-items:stretch;flex-direction:column}.overview-card-title,.overview-card-actions,.device-inline-action{flex-wrap:wrap}.conversation-message{max-width:100%}}
