:root{--navy:#071c36;--navy2:#0c2b50;--blue:#1072e8;--cyan:#16b9d4;--bg:#f3f6fa;--line:#dfe6ef;--text:#13233a;--muted:#708096;--green:#19a77a;--orange:#f59e0b;--red:#e34c67}*{box-sizing:border-box}body{margin:0;font:14px/1.5 Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--text);background:var(--bg)}button,input,textarea,select{font:inherit}#app-shell{display:grid;grid-template-columns:228px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--navy),#061629);color:#fff;padding:22px 14px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;padding:0 10px 28px}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:linear-gradient(135deg,#21c4dc,#1378e8);font-weight:800;font-size:20px;box-shadow:0 8px 24px #0a77d555}.brand strong,.brand small{display:block}.brand strong{font-size:16px;letter-spacing:1px}.brand small{font-size:8px;letter-spacing:1.5px;opacity:.55}nav{display:grid;gap:5px}nav a{color:#a9bad0;text-decoration:none;padding:11px 14px;border-radius:9px;display:flex;gap:13px;align-items:center;font-weight:600}nav a:hover,nav a.active{background:linear-gradient(90deg,#1266c8,#127ca9);color:#fff;box-shadow:inset 3px 0 #4ddff0}nav .nav-group{display:grid;gap:4px}nav .nav-group summary{color:#a9bad0;padding:11px 14px;border-radius:9px;display:flex;gap:13px;align-items:center;font-weight:600;cursor:pointer;list-style:none}nav .nav-group summary::-webkit-details-marker{display:none}nav .nav-group summary:after{content:"›";margin-left:auto;transition:transform .18s ease}nav .nav-group[open] summary{background:#ffffff0d;color:#fff}nav .nav-group[open] summary:after{transform:rotate(90deg)}nav .nav-group summary:hover{background:#ffffff0d;color:#fff}nav .nav-children{display:grid;gap:4px;margin:2px 0 4px 20px;padding-left:10px;border-left:1px solid #ffffff20}nav .nav-children a{padding:9px 12px;font-size:13px}.sidebar-foot{margin-top:auto;padding:14px;color:#8ba1ba;font-size:12px;border-top:1px solid #ffffff18}.status-dot{display:inline-block;width:8px;height:8px;background:#27d49b;border-radius:50%;margin-right:8px;box-shadow:0 0 10px #27d49b}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.topbar .crumb{display:block;color:var(--muted);font-size:11px}.topbar strong{font-size:18px}.top-actions{display:flex;align-items:center;gap:16px;color:var(--muted)}.avatar{display:grid;place-items:center;width:34px;height:34px;background:#e8f1ff;color:#176ed1;border-radius:50%;font-weight:700}.view{padding:26px;max-width:1440px;margin:auto}.hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:20px}.hero h1{font-size:28px;margin:0 0 5px}.hero p{margin:0;color:var(--muted)}.btn{border:0;border-radius:8px;padding:10px 16px;background:#fff;border:1px solid var(--line);cursor:pointer;font-weight:600}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 6px 18px #1072e833}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 3px 14px #17345b08}.stat{position:relative;overflow:hidden}.stat small{color:var(--muted)}.stat b{display:block;font-size:28px;margin:7px 0}.stat em{font-style:normal;color:var(--green);font-size:12px}.stat:after{content:"";position:absolute;right:-20px;bottom:-28px;width:90px;height:90px;border-radius:50%;background:#e8f3ff}.two-col{grid-template-columns:1.55fr 1fr;margin-top:16px}.card h3{margin:0 0 14px;font-size:16px}.table{width:100%;border-collapse:collapse}.table th{text-align:left;color:var(--muted);font-size:12px;background:#f7f9fc}.table th,.table td{padding:12px;border-bottom:1px solid #edf0f5}.pill{padding:4px 9px;border-radius:999px;background:#e9f8f3;color:#12845f;font-size:12px}.pill.warn{background:#fff4dc;color:#a36300}.pill.info{background:#e9f2ff;color:#1769c3}.empty{text-align:center;padding:50px 20px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700;color:#405069}.field input,.field textarea,.field select{width:100%;padding:10px 12px;border:1px solid #ccd6e3;border-radius:8px;background:#fff}.field textarea{min-height:110px;resize:vertical}.steps{display:flex;margin:0 0 20px}.step{flex:1;border-bottom:3px solid var(--line);padding:10px;color:var(--muted)}.step.active{color:var(--blue);border-color:var(--blue);font-weight:700}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.progress{height:7px;background:#e8edf4;border-radius:9px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan))}.runner-card{display:flex;justify-content:space-between;align-items:center}.platform{font-weight:700}.platform.dy{color:#151515}.platform.xhs{color:#e7334d}#toast{position:fixed;right:24px;bottom:24px;background:var(--navy);color:#fff;border-radius:8px;padding:12px 16px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:none}@media(max-width:900px){#app-shell{grid-template-columns:72px 1fr}.sidebar{padding:18px 8px}.brand div,nav span,.sidebar-foot span:last-child{display:none}.brand{padding:0 8px 26px}nav .nav-children{margin-left:6px;padding-left:4px}nav .nav-children a{gap:4px;padding:8px 10px}.stats,.two-col,.form-grid{grid-template-columns:1fr}.view{padding:18px}}
.jobs-card{padding:0;overflow:hidden}.jobs-table-wrap{overflow-x:auto}.jobs-table{min-width:1100px}.jobs-table td{vertical-align:top}.job-project,.job-subject{display:grid;gap:3px}.job-project small,.job-subject small,.job-stage,.job-progress-label+small,.job-detail-head small,.job-item-grid small{display:block;color:var(--muted);font-size:12px}.job-subject{min-width:220px}.job-detail-toggle,.job-detail-close{width:max-content;border:0;background:transparent;color:var(--blue);padding:4px 0;cursor:pointer}.job-stage{margin-top:4px}.job-progress-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px}.job-progress-label span{color:var(--muted);font-size:12px}.job-actions{display:flex;gap:6px;flex-wrap:wrap}.btn.small{padding:6px 10px;font-size:12px}.btn.danger{border-color:#efb9c3;color:#b4233b;background:#fff5f7}.pill.danger{background:#ffe8ed;color:#b4233b}.job-detail-row>td{padding:0;background:#f8fbff}.job-detail-panel{padding:16px 22px;border-bottom:1px solid var(--line)}.job-detail-panel[hidden]{display:none}.job-detail-head,.job-detail-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px}.job-detail-head{margin-bottom:10px}.job-item-grid{display:grid;grid-template-columns:minmax(260px,2fr) 90px 90px 150px 90px;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #e6edf6}.job-item-grid a{color:var(--blue)}.job-detail-pagination{justify-content:flex-end;margin-top:12px}.muted-action{color:var(--muted);font-size:12px}
@media(max-width:800px){.jobs-table{min-width:960px}.job-item-grid{grid-template-columns:minmax(220px,1fr) 90px}.job-item-grid>span:nth-of-type(n+2),.job-item-grid>a{display:none}}
[hidden]{display:none!important}
.user-menu{position:relative}.user-menu summary{list-style:none;cursor:pointer}.user-menu summary::-webkit-details-marker{display:none}.user-menu-popover{position:absolute;right:0;top:43px;z-index:20;display:grid;min-width:150px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #17345b24}.user-menu-popover a,.user-menu-popover button{border:0;background:transparent;color:var(--text);padding:9px 11px;text-align:left;text-decoration:none;border-radius:7px;cursor:pointer}.user-menu-popover a:hover,.user-menu-popover button:hover{background:#f1f5fa}.account-card{max-width:760px}.account-card .btn.primary{margin-top:16px}.account-notice{max-width:760px;margin-bottom:16px;border-color:#f0c76a;background:#fffaf0}.account-notice p{margin-bottom:0;color:var(--muted)}
.customer-context{display:flex;align-items:center;gap:8px;padding:5px 7px 5px 11px;border:1px solid #cbd9e9;border-radius:10px;background:#f7faff;color:#53657b}.customer-context span{font-size:12px;white-space:nowrap}.customer-context select{max-width:220px;border:0;background:transparent;color:var(--text);font-weight:700;outline:none;cursor:pointer}.customer-context:focus-within{border-color:#75a9e5;box-shadow:0 0 0 3px #1072e814}@media(max-width:700px){.customer-context span{display:none}.customer-context select{max-width:130px}.topbar{padding:0 16px}.top-actions{gap:8px}}
.settings-admin-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;color:var(--text);text-decoration:none;border-color:#bdd7f7}.settings-admin-entry span{display:grid;gap:3px}.settings-admin-entry small,.settings-admin-entry em{color:var(--muted);font-style:normal}.settings-admin-entry b{font-size:18px}.settings-admin-entry>strong{color:var(--blue);white-space:nowrap}.managed-user-filters{display:grid;grid-template-columns:minmax(220px,1fr) 180px 180px auto;align-items:end;gap:12px;margin-bottom:16px}.managed-user-filters label{display:grid;gap:6px;color:#405069;font-size:12px;font-weight:700}.managed-user-filters input,.managed-user-filters select{width:100%;padding:10px 12px;border:1px solid #ccd6e3;border-radius:8px;background:#fff}.managed-users-card{padding:0;overflow:hidden}.managed-users-table-wrap{overflow-x:auto}.managed-users-table{min-width:980px}.managed-users-table td{vertical-align:middle}.managed-users-table td:first-child b,.managed-users-table td:first-child small{display:block}.managed-users-table td:first-child small{color:var(--muted);margin-top:3px}.managed-user-actions{display:flex;gap:6px}.permission-dialog{width:min(1180px,calc(100vw - 40px));max-height:calc(100vh - 40px);padding:0;border:0;border-radius:14px;box-shadow:0 24px 70px #071c3655;overflow:auto}.permission-dialog::backdrop{background:#071c3677;backdrop-filter:blur(2px)}.permission-dialog>form,.permission-dialog>.permission-access-section{padding:20px}.permission-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.permission-dialog header h2{margin:2px 0 0}.permission-dialog header small,.permission-access-section>p,.permission-role-fieldset>small{color:var(--muted)}.permission-role-fieldset{margin:18px 0 0;padding:14px;border:1px solid var(--line);border-radius:10px}.permission-role-list{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:7px}.permission-role{display:flex;align-items:center;gap:6px}.permission-access-section{margin-top:18px;border-top:1px solid var(--line)}.permission-access-section h3{margin:0 0 4px}.permission-matrix-wrap{margin-top:14px;overflow-x:auto;border:1px solid var(--line);border-radius:10px}.permission-matrix{min-width:1040px}.permission-matrix th:not(:first-child),.permission-matrix td:not(:first-child){text-align:center}.permission-matrix th:first-child{min-width:220px}.permission-customer-toggle{display:flex;align-items:center;gap:9px}.permission-customer-toggle span{display:grid;text-align:left}.permission-customer-toggle small{color:var(--muted)}.permission-capability{display:inline-grid;place-items:center;gap:4px;cursor:pointer}.permission-capability span{display:none;font-size:11px;color:var(--muted)}.permission-capability input{width:17px;height:17px}.permission-capability input:disabled{cursor:not-allowed;opacity:.45}.permission-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.temporary-password-dialog{width:min(560px,calc(100vw - 40px));padding:24px}.temporary-password-dialog code{display:block;padding:18px;border:1px dashed #7aaeea;border-radius:10px;background:#f1f7ff;color:#0b477f;font-size:18px;overflow-wrap:anywhere;user-select:all}.permission-warning{padding:12px;border-radius:9px;background:#fff7e7;color:#885b08}.pill.danger{background:#ffe8ed;color:#b4233b}
@media(max-width:700px){.managed-user-filters{grid-template-columns:1fr}.permission-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.permission-dialog>form,.permission-dialog>.permission-access-section{padding:15px}.permission-capability span{display:block}.settings-admin-entry{align-items:flex-start;flex-direction:column}.settings-admin-entry>strong{align-self:flex-end}.permission-dialog-actions{flex-wrap:wrap}.permission-dialog-actions .btn{flex:1}}
.login-card{max-width:420px;margin:9vh auto}.login-card .login-submit{width:100%;margin-top:16px}.settings-form,.settings-storage,.project-detail-section,.report-list-card{margin-top:16px}.settings-storage-save{margin-top:16px}.report-section{margin:20px 0}progress.progress{display:block;width:100%;height:7px;border:0;border-radius:9px;overflow:hidden;appearance:none;background:#e8edf4}progress.progress::-webkit-progress-bar{background:#e8edf4;border-radius:9px}progress.progress::-webkit-progress-value{background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:9px}progress.progress::-moz-progress-bar{background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:9px}
.feishu-rewrite-hero>div:last-child,.feishu-rewrite-row-actions{display:flex;gap:10px;flex-wrap:wrap}.feishu-rewrite-layout{display:grid;gap:18px}.feishu-rewrite-group-section>header,.feishu-rewrite-bots>header,.feishu-rewrite-bot-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.feishu-rewrite-group-section h2,.feishu-rewrite-bots h2,.feishu-rewrite-bot-card h3{margin:0}.feishu-rewrite-group-section header p,.feishu-rewrite-bots header p,.feishu-rewrite-bot-card header p{margin:4px 0 0;color:var(--muted)}.feishu-rewrite-group-list,.feishu-rewrite-bot-list{display:grid;gap:12px;margin-top:16px}.feishu-rewrite-group-row{display:grid;grid-template-columns:minmax(280px,1.5fr) minmax(300px,1fr);gap:22px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.feishu-rewrite-group-copy{display:grid;gap:6px;align-content:start}.feishu-rewrite-group-copy h3,.feishu-rewrite-group-copy p,.feishu-rewrite-group-copy small{margin:0}.feishu-rewrite-group-copy p,.feishu-rewrite-group-copy small{color:var(--muted);overflow-wrap:anywhere}.feishu-rewrite-group-copy .pill{width:max-content}.feishu-rewrite-binding-form,.feishu-rewrite-bot-create,.feishu-rewrite-bot-edit-form{display:grid;gap:13px}.feishu-rewrite-binding-form label,.feishu-rewrite-form-grid label,.feishu-rewrite-callback label{display:grid;gap:6px;color:#405069;font-size:12px;font-weight:700}.feishu-rewrite-binding-form select,.feishu-rewrite-form-grid input,.feishu-rewrite-callback input{width:100%;min-width:0;padding:10px 12px;border:1px solid #ccd6e3;border-radius:8px;background:#fff;color:var(--text)}.feishu-rewrite-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.feishu-rewrite-bot-create{margin-top:18px;padding:16px;border:1px dashed #a9c8eb;border-radius:10px;background:#f7fbff}.feishu-rewrite-bot-card{padding:16px;border:1px solid var(--line);border-radius:10px}.feishu-rewrite-check{display:flex!important;align-items:center;align-self:end;min-height:42px;grid-auto-flow:column;justify-content:start}.feishu-rewrite-check input{width:auto}.feishu-rewrite-callback{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.feishu-rewrite-inline-status{min-height:21px;margin:0;color:var(--muted)}.feishu-rewrite-bot-edit-form>.muted{margin:0}.feishu-rewrite-bot-card code,.feishu-rewrite-group-row code{overflow-wrap:anywhere}
@media(max-width:800px){.feishu-rewrite-hero{align-items:flex-start;flex-direction:column}.feishu-rewrite-group-row,.feishu-rewrite-form-grid,.feishu-rewrite-callback{grid-template-columns:1fr}.feishu-rewrite-group-section>header,.feishu-rewrite-bots>header,.feishu-rewrite-bot-card header{align-items:flex-start;flex-direction:column}.feishu-rewrite-binding-form .btn,.feishu-rewrite-bot-create>.btn,.feishu-rewrite-callback .btn{width:100%}}

.search-action-card,.policy-form { margin-bottom:18px; }
.search-frequency-grid { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.policy-form > button { margin-top:10px; }
.search-action-table { overflow:auto; }
[data-link-field][hidden] { display:none; }
