body{background:#f6f7fb}.online-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #e4e8f0;padding:18px max(20px,calc((100vw - 1150px)/2));display:flex;justify-content:space-between;gap:20px;align-items:center}.online-brand{font-size:28px;font-weight:800;color:#3159e6;text-decoration:none;white-space:nowrap}.online-brand span{font-size:18px;color:#14213d}#nav{display:flex;gap:8px;flex-wrap:wrap}.online-main{max-width:1150px;margin:36px auto;padding:0 20px}.online-main>.card{margin-bottom:20px}.online-main h1{font-size:32px;margin:0 0 15px}.online-main h2{font-size:22px;margin-bottom:15px}.online-main p{line-height:1.8}.online-main .field{margin-bottom:18px}.online-main input,.online-main textarea,.online-main select{max-width:100%;width:100%;box-sizing:border-box}.online-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.online-login{max-width:480px;margin:50px auto}.online-row{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #edf0f7}.online-row>div{min-width:0}.online-reader{white-space:normal;overflow-wrap:anywhere;line-height:1.9}.online-reader p{margin:8px 0}.online-reader h3{margin:20px 0 8px}.online-chat{display:flex;flex-direction:column;gap:12px;max-height:550px;overflow:auto;padding:12px 0}.online-bubble{background:#edf1ff;padding:16px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-width:90%}.online-bubble.user{align-self:flex-end;background:#fff;border:1px solid #d9dff0}.online-kpi{font-size:28px;font-weight:800;color:#3159e6}.online-note{color:#60708b;font-size:14px}.online-table{width:100%;border-collapse:collapse;font-size:14px}.online-table td,.online-table th{text-align:left;border-bottom:1px solid #e4e8f0;padding:9px;vertical-align:top}.table-scroll{overflow:auto}.online-main button:disabled{opacity:.5;cursor:wait}.online-main audio{max-width:100%;width:320px}.danger-text{color:#bd3030}.offline-marker{background:#fff4de;padding:14px;border-radius:8px}.online-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.online-pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#eef2fa;padding:15px;border-radius:8px}.online-compact{max-width:780px}@media(max-width:650px){.online-header{position:static;align-items:flex-start;flex-direction:column;padding:16px}.online-main{margin:22px auto;padding:0 14px}.online-grid{grid-template-columns:1fr}.online-main h1{font-size:26px}.online-row{align-items:flex-start;flex-direction:column}.online-header .button{padding:8px 11px}.card{padding:20px}.online-bubble{max-width:100%}}

#nav{flex-direction:row;align-items:center}

.account-menu{position:relative}.account-menu summary{cursor:pointer;padding:10px;list-style:none}.account-menu>div{position:absolute;right:0;top:100%;background:white;border:1px solid #e4e8f0;border-radius:10px;padding:10px;min-width:170px;display:flex;flex-direction:column;gap:8px;z-index:20}.account-menu a{text-align:center}

.practice-confirm{margin-top:24px;padding-top:22px;border-top:1px solid #e4e8f0}.online-main .consent-line{display:flex;align-items:flex-start;gap:10px;line-height:1.65;cursor:pointer;margin:0}.online-main input[type="checkbox"]{width:18px;height:18px;flex:0 0 18px;margin:4px 0 0;accent-color:#3159e6}.consent-line span{flex:1;min-width:0}.online-main .consent-detail{margin:8px 0 18px 28px;font-size:13px;color:#60708b;line-height:1.65}.practice-confirm .button-row{margin-top:16px}.online-main .field>span{display:block;margin-bottom:8px}

.model-wait{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;display:flex;align-items:center;gap:14px;background:#14213d;color:white;padding:18px 22px;border-radius:12px;box-shadow:0 8px 30px #14213d30;width:min(520px,calc(100vw - 32px));box-sizing:border-box;pointer-events:none}.model-wait strong{font-size:16px}.model-wait p{margin:6px 0 0;font-size:13px;line-height:1.6;color:#d8e1f5}.wait-spinner{width:22px;height:22px;flex:0 0 22px;border:3px solid #ffffff40;border-top-color:white;border-radius:50%;animation:wait-spin 1s linear infinite}@keyframes wait-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.wait-spinner{animation:none}}

.online-reader{max-width:880px;line-height:1.95}#import-results{margin-top:24px;padding:20px;background:#f6f7fb;border-radius:12px}#import-results progress{width:100%;accent-color:#3159ed}
