:root{--blue:#3564e6;--ink:#202b42;--muted:#7b8496;--line:#e8ecf2;--bg:#f5f7fb;--green:#168468;--red:#c44747}*{box-sizing:border-box}body{margin:0;font:14px/1.6 Inter,"Segoe UI","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--blue);text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:2px solid var(--blue)}.app-shell{display:flex;min-height:100vh}.sidebar{width:224px;position:fixed;inset:0 auto 0 0;padding:32px 18px 20px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:11px;align-items:center;color:var(--ink);font-size:17px;font-weight:700;letter-spacing:.3px}.brand-icon{background:var(--blue);color:white;font-size:28px;width:38px;height:40px;border-radius:10px;text-align:center;line-height:37px}.brand small{display:block;font-size:9px;font-weight:500;letter-spacing:1.5px;color:#929bad;margin-top:2px}.nav-label{font-size:11px;color:#9ba4b4;margin:45px 12px 12px}.nav-item{display:flex;align-items:center;gap:12px;color:#6c7587;padding:12px 15px;border-radius:8px;margin:4px 0;font-weight:500}.nav-item span{font-size:21px;line-height:1;width:20px;text-align:center}.nav-item:hover{background:#f5f7fc}.nav-item.active{color:var(--blue);background:#edf2ff}.sidebar-note{margin-top:auto;background:#f7f9fd;padding:15px;border:1px solid #edf0f5;border-radius:9px;font-size:12px}.sidebar-note p{color:var(--muted);font-size:11px;margin:7px 0 0}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:7px}.account{border-top:1px solid var(--line);margin-top:22px;padding-top:20px;display:flex;gap:9px;align-items:center;font-size:12px}.avatar{background:#eaf0fc;border-radius:50%;width:32px;height:32px;text-align:center;line-height:32px;color:var(--blue);font-weight:600}.account small{display:block;font-size:10px;color:var(--muted)}.account a{margin-left:auto;color:var(--muted);font-size:11px}.workspace{margin-left:224px;width:calc(100% - 224px);min-width:0}.topbar{height:70px;border-bottom:1px solid var(--line);background:#ffffffc9;display:flex;align-items:center;justify-content:space-between;padding:0 36px;font-size:12px;color:#98a0b1}.breadcrumb{color:#536078;margin-left:12px}.top-label{font-size:11px}main{max-width:1540px;margin:0 auto;padding:30px 36px 45px}h1{font-size:26px;line-height:1.4;font-weight:650;margin:0 0 8px;letter-spacing:-.5px}h2{font-size:16px;font-weight:650;margin:0}h3{font-size:14px;margin:0}p{margin:0}.muted{color:var(--muted)}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:27px}.page-heading p{font-size:13px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 17px;border-radius:7px;border:1px solid transparent;background:var(--blue);color:white;font-weight:500;white-space:nowrap;min-height:38px}.button:hover{filter:brightness(.97)}.button.secondary{background:white;border-color:#dce2ed;color:#536078}.button.soft{background:#edf2ff;color:var(--blue)}.button.small{min-height:30px;padding:4px 11px;font-size:12px}.button.text{color:var(--blue);background:transparent;padding:4px 8px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.metric{background:white;border:1px solid var(--line);border-radius:11px;padding:19px 22px;position:relative}.metric-label{font-size:12px;color:#7d8799}.metric strong{font-size:29px;line-height:1.6;display:block;font-weight:600;font-variant-numeric:tabular-nums}.metric small{font-size:11px;color:#9aa3b2}.metric-icon{position:absolute;right:20px;top:22px;background:#f0f4ff;color:var(--blue);border-radius:8px;width:32px;height:32px;display:grid;place-items:center;font-size:18px}.metric.success .metric-icon{background:#eaf7f2;color:var(--green)}.metric.failure .metric-icon{background:#fff0ee;color:var(--red)}.card{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:22px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid #eef1f6}.card-head p{margin-top:4px;font-size:12px;color:var(--muted)}.card-body{padding:23px 24px}.tag{display:inline-block;font-size:11px;border-radius:5px;background:#f1f4f9;color:#7c879b;padding:3px 8px;white-space:nowrap}.tag.blue{background:#eff3ff;color:var(--blue)}.new-task{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:25px}.form-label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}textarea{display:block;width:100%;min-height:132px;padding:13px 15px;color:var(--ink);border:1px solid #dfe5ef;background:#fcfdff;border-radius:8px;resize:vertical;line-height:1.8}textarea:focus,input:focus,select:focus{outline:2px solid #dce6ff;border-color:#7999ed}::placeholder{color:#a4adbd}.form-tools{display:flex;gap:9px;justify-content:space-between;align-items:center;margin-top:14px;flex-wrap:wrap}.form-tools small{color:var(--muted);font-size:11px}.guide{border-left:1px solid var(--line);padding-left:25px}.guide h3{font-size:12px;margin-bottom:15px}.guide-item{display:flex;gap:10px;margin:15px 0}.step{border:1px solid #e3e9f4;border-radius:50%;width:21px;height:21px;flex-shrink:0;display:grid;place-items:center;font-size:10px;color:#8e9ab1}.guide-item p{font-size:12px}.guide-item small{font-size:11px;color:var(--muted)}.preview-box{background:#f8faff;border:1px solid #e7edfa;border-radius:8px;margin-top:17px;padding:12px 15px}.preview-box summary{font-size:12px;cursor:pointer;color:#53688e}.preview-list{max-height:220px;overflow:auto;margin-top:10px}.preview-item{padding:8px 0;border-top:1px solid #e7edfa;display:flex;justify-content:space-between;gap:10px;font-size:12px}.preview-item span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice{font-size:12px;margin:12px 0;color:var(--green)}.notice:empty{display:none}.notice.error{color:var(--red);background:#fff4f2;padding:12px;border-radius:6px}.task-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 24px;border-bottom:1px solid var(--line);flex-wrap:wrap}.tabs{display:flex;gap:23px;min-height:57px}.tab{border:0;background:none;color:#8891a2;padding:15px 0;font-size:12px;border-bottom:2px solid transparent;white-space:nowrap}.tab.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.tab span{font-size:10px;margin-left:4px;background:#f2f4f9;padding:2px 5px;border-radius:4px}.search{position:relative}.search input{width:245px;padding:8px 12px;background:#fafbfd;border:1px solid #e5eaf2;border-radius:7px;font-size:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;font-weight:500;background:#fafbfd;color:#8993a4;white-space:nowrap}th,td{padding:14px 22px;border-bottom:1px solid #edf0f5}th:first-child,td:first-child{padding-left:24px}td{vertical-align:middle}tbody tr:hover{background:#fcfdff}.title-cell{max-width:390px;min-width:240px}.file-info{display:flex;align-items:center;gap:13px}.file-icon{flex-shrink:0;width:35px;height:39px;background:#f0f4ff;border:1px solid #e3eafe;border-radius:7px;color:#6f8de0;display:grid;place-items:center;font-size:10px;font-weight:700}.file-text{min-width:0}.file-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px;font-weight:500;font-size:13px}.file-sub{font-size:11px;color:#9ca5b4;margin-top:4px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:5px;white-space:nowrap;font-size:11px}.status-badge:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.status-badge.completed{background:#edf8f3;color:var(--green)}.status-badge.running{background:#edf2ff;color:var(--blue)}.status-badge.queued{background:#f1f3f7;color:#8a95a6}.status-badge.failed{background:#fff1ef;color:var(--red)}.row-error{max-width:340px;color:var(--red);font-size:11px;margin-top:5px;overflow-wrap:anywhere}.date-cell{white-space:nowrap;color:#8e98aa;font-size:11px}.actions{white-space:nowrap}.actions a,.actions button{font-size:12px;margin-right:8px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 24px;color:#939dae;font-size:11px}.pager-controls{display:flex;gap:10px;align-items:center}.empty{padding:50px 20px;text-align:center;color:#a1aabb}.empty strong{display:block;color:#7e8a9f;font-weight:500;font-size:14px;margin:10px 0}.activity{padding:14px 24px;display:flex;align-items:center;gap:12px;background:#f8faff;font-size:12px;border-bottom:1px solid #e8edf7}.activity-label{color:var(--blue);flex-shrink:0}.activity-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#63728b;flex:1}.progress-track{height:4px;background:#eaf0fb;overflow:hidden;border-radius:4px;width:100px;flex-shrink:0}.progress-fill{height:100%;background:var(--blue);transition:width .4s}.split{display:grid;grid-template-columns:1fr 1fr;gap:22px}.entry-card{padding:25px;display:flex;flex-direction:column;align-items:flex-start;gap:13px}.entry-card p{color:var(--muted);font-size:12px;margin-bottom:7px}.entry-icon{font-size:24px;width:45px;height:45px;background:#edf2ff;display:grid;place-items:center;border-radius:10px;color:var(--blue)}.entry-icon.green{background:#eaf6f1;color:var(--green)}.wide-input{border:1px solid #dfe5ef;padding:12px 14px;width:100%;border-radius:8px;margin-bottom:15px;background:#fcfdff}.article-content{max-width:850px}.history-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 24px;border-bottom:1px solid var(--line)}.history-item:last-child{border:0}.history-item .file-title{max-width:660px}footer{padding:0 36px 24px;font-size:10px;color:#a8b0bd;display:flex;justify-content:space-between}.login-page{min-height:100vh;display:grid;place-items:center;background:#f4f7fc;padding:24px}.login-card{width:390px;max-width:100%;background:white;border:1px solid var(--line);border-radius:15px;padding:35px}.login-card .brand{margin-bottom:32px}.login-card h1{font-size:22px}.login-card p{font-size:12px;color:var(--muted);margin-bottom:25px}.login-card .button{width:100%;margin-top:5px}.login-footer{text-align:center;font-size:10px;color:#a4adbb;margin-top:25px}details.row-detail{margin-top:5px;font-size:11px;color:#9aa5b7}details.row-detail summary{cursor:pointer}details.row-detail div{white-space:normal;overflow-wrap:anywhere;margin:5px 0}.hidden,[hidden]{display:none!important}@media(min-width:1600px){.title-cell{max-width:600px}.file-title{max-width:550px}}@media(max-width:1150px){.sidebar{width:190px;padding-left:14px;padding-right:14px}.workspace{margin-left:190px;width:calc(100% - 190px)}main{padding:25px 24px}.topbar{padding:0 24px}.brand{font-size:15px}.new-task{grid-template-columns:minmax(0,1fr)}.guide{display:none}.metric{padding:16px}.metric-icon{right:14px}.tabs{gap:16px}.task-toolbar{padding-bottom:10px}.search input{width:230px}}@media(max-width:1024px){.topbar{height:45px;padding:0 18px}.top-label{display:none}main{padding:22px 16px}h1{font-size:23px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric strong{font-size:25px}.metric small{font-size:10px}.metric-icon{width:25px;height:25px;top:15px;font-size:15px}.card-head,.card-body{padding:18px}.card-head h2{font-size:14px}.page-heading{align-items:flex-start;gap:12px}.page-heading p{font-size:11px}.page-heading .button{font-size:12px;padding:8px 12px}.split{grid-template-columns:1fr;gap:0}.task-toolbar{padding:0 16px 12px}.tabs{gap:17px;width:100%;overflow:auto}.tab{font-size:11px}.search,.search input{width:100%}.file-title{max-width:230px}.pagination{padding:15px;font-size:10px}.activity{padding:12px 16px}.progress-track{display:none}.history-item{padding:15px;align-items:flex-start}.history-item .file-title{max-width:200px}.history-item .button{font-size:11px}.topbar,footer{font-size:10px}footer{padding:0 16px 20px}.form-tools{gap:12px}.form-tools small{width:100%}}
@media(max-width:1024px){.table-wrap table,.table-wrap tbody{display:block}.table-wrap thead{display:none}.table-wrap tr{display:grid;grid-template-columns:1fr 1fr;padding:15px 16px;border-bottom:1px solid var(--line);gap:7px}.table-wrap td{display:block;border:0;padding:0;min-width:0}.table-wrap td:first-child{grid-column:1/-1;padding:0;max-width:none}.table-wrap td:nth-child(3){text-align:right;align-self:center}.table-wrap td:nth-child(4){grid-column:1/-1}.table-wrap td:last-child{grid-column:1/-1;padding-top:5px}.table-wrap .file-title{max-width:255px}.table-wrap .row-detail{margin:8px 0}.table-wrap .actions a{display:inline-flex;border:1px solid #dce2ed;border-radius:5px;padding:6px 12px}.card-head{flex-wrap:wrap}.history-item .file-title{max-width:190px}}
@media(max-width:1024px){.transcription-heading{flex-direction:column;align-items:flex-start}.transcription-heading .button{white-space:normal}}


/* Persistent navigation: full sidebar on inner screens, compact rail on phones. */
.sidebar{overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(20px,env(safe-area-inset-bottom))}
.sidebar nav,.sidebar .brand,.sidebar .account{flex-shrink:0}
.sidebar-note{margin-top:auto}
.kb-metrics{margin-bottom:0;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1024px){
  .sidebar{width:160px;padding:24px 12px 16px;padding-top:max(24px,env(safe-area-inset-top))}
  .sidebar .brand{font-size:13px;gap:8px;letter-spacing:0}
  .sidebar .brand-icon{width:30px;height:34px;line-height:32px;font-size:24px;flex-shrink:0}
  .sidebar .brand small{font-size:7px;letter-spacing:.5px}
  .sidebar .nav-label{margin:30px 10px 12px}
  .sidebar .nav-item{gap:8px;padding:12px 8px;font-size:13px;min-height:48px}
  .sidebar .sidebar-note{margin-top:24px;padding:10px}
  .sidebar .account{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:16px}
  .sidebar .account a{min-height:44px;display:flex;align-items:center}
  .workspace{margin-left:160px;width:calc(100% - 160px)}
  .topbar{height:52px;padding:0 20px;font-size:11px}
  main{padding:22px 20px 32px}
  h1{font-size:24px}
  .page-heading{flex-wrap:wrap;margin-bottom:20px}
  .page-heading>div{min-width:0}
  .page-heading p{font-size:12px;overflow-wrap:anywhere}
  .button,.button.small{min-height:44px}
  .metrics{gap:12px}
  .metric{padding:16px}
  .metric-label{padding-right:28px}
  .metric small{display:block;font-size:11px;line-height:1.6}
  .metric strong{font-size:28px;line-height:1.5}
  .card{margin-bottom:18px}
  .card-head,.card-body{padding:18px}
  .card-head>div,.new-task>div,.file-info,.guide-item>div{min-width:0}
  .card-head p,.file-sub{overflow-wrap:anywhere}
  .search{min-width:0;max-width:100%}
  .search input,.wide-input,textarea{font-size:16px;min-height:44px}
  .form-tools>div{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}
  .tabs{max-width:100%;min-width:0;gap:20px}
  .tab{min-height:48px;font-size:12px;flex-shrink:0}
  .activity{flex-wrap:wrap;gap:8px}
  .activity-title{flex-basis:50%;min-width:0}
  .table-wrap tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:18px}
  .table-wrap td,.table-wrap .title-cell{min-width:0;overflow-wrap:anywhere}
  .table-wrap .file-title,.history-item .file-title{max-width:100%;white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .table-wrap td.actions{display:flex;flex-wrap:wrap;gap:8px;white-space:normal}
  .table-wrap .actions a,.table-wrap .actions button{margin:0;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:7px}
  .date-cell{white-space:normal}
  .pagination{flex-wrap:wrap;gap:12px;font-size:12px}
  .pager-controls{flex-wrap:wrap}
  .history-item{gap:12px;flex-wrap:wrap}
  .history-item .file-info{flex:1 1 220px}
  .history-item .file-text{flex:1}
  footer{flex-wrap:wrap;gap:4px;padding:0 20px 20px}
  .workspace .account-body{grid-template-columns:1fr}
  .workspace .account-col{border-right:0;border-bottom:1px solid var(--line)}
  .workspace .account-col:last-child{border-bottom:0}
  .workspace .account-top{flex-wrap:wrap;padding:16px}
  .workspace .account-col,.workspace .account-foot{padding:16px}
  .workspace .account-state{width:100%;justify-items:start;text-align:left}
  .workspace .account-actions{flex-wrap:wrap}
  .workspace .field input,.workspace .field select{font-size:16px;min-height:44px}
}
@media(max-width:600px){
  .sidebar{width:76px;padding:16px 6px;padding-top:max(16px,env(safe-area-inset-top))}
  .sidebar .brand{justify-content:center;margin-bottom:18px}
  .sidebar .brand-icon{width:38px;height:40px;line-height:38px;font-size:28px}
  .sidebar .brand>span:last-child,.sidebar .nav-label,.sidebar .sidebar-note,.sidebar .account>.avatar,.sidebar .account>div{display:none}
  .sidebar .nav-item{flex-direction:column;justify-content:center;gap:6px;padding:10px 2px;font-size:11px;line-height:1.4;min-height:64px;margin:4px 0;white-space:nowrap}
  .sidebar .nav-item span{font-size:22px}
  .sidebar .account{justify-content:center;padding-top:12px;margin-top:20px}
  .sidebar .account a{margin:0;justify-content:center;width:100%;font-size:12px}
  .workspace{margin-left:76px;width:calc(100% - 76px)}
  .topbar{padding:0 12px;height:46px}
  .breadcrumb{margin-left:6px}
  main{padding:18px 12px 24px}
  h1{font-size:22px}
  .page-heading{flex-direction:column;gap:12px;margin-bottom:18px}
  .page-heading>.button{align-self:stretch;font-size:13px}
  .page-heading p{line-height:1.7}
  .metrics{gap:8px;margin-bottom:16px}
  .metric{padding:12px 10px}
  .metric-label{padding-right:0;font-size:11px}
  .metric-icon{display:none}
  .metric strong{font-size:26px;margin:3px 0}
  .metric small{font-size:10px}
  .kb-metrics{grid-template-columns:1fr;margin-bottom:0;gap:8px}
  .kb-metrics .metric{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center}
  .kb-metrics .metric strong{grid-column:2;grid-row:1/3;margin:0}
  .kb-metrics .metric small{grid-column:1;grid-row:2}
  .card-head,.card-body,.table-wrap tr{padding:14px 12px}
  .card-head{gap:10px}
  .entry-card{padding:18px 14px;gap:10px}
  .entry-card .button{width:100%}
  .task-toolbar{padding:0 12px 12px;gap:10px}
  .form-tools>div{width:100%}
  .form-tools>div .button{flex:1;padding:9px 10px;font-size:12px}
  .activity{padding:12px;font-size:11px}
  .activity-title{flex-basis:100%;white-space:normal}
  .table-wrap .file-info{gap:8px}
  .file-icon{width:28px;height:34px;font-size:9px}
  .file-sub{font-size:10px}
  .history-item{padding:14px 12px}
  .history-item>.button{width:100%}
  .pagination{padding:12px;flex-direction:column;align-items:flex-start}
  .pager-controls{width:100%;justify-content:space-between;gap:6px}
  footer{padding:0 12px 20px}
  .workspace .account-top,.workspace .account-col,.workspace .account-foot{padding:14px 12px}
  .workspace .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workspace .account-actions{justify-content:stretch}
  .workspace .account-actions .button{flex:1}
}

@media(min-width:761px) and (max-width:1024px){
  .split{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .entry-card{padding:20px;gap:12px}
}
@media(max-width:1024px){.workspace .account-col:last-child{border-top-color:var(--line)}}
