:root{--accent: #2e7d32;--accent-2: #7cb342;--bg: #f6f8f7;--card: #fff;--line: #e6ebe7;--ink: #152018;--muted: #6b7a70;--soft: #f0f3f1;--danger: #c0392b;--danger-bg: #fdecec;--warn: #b26a00;--warn-bg: #fff4e5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font-family:inherit}a{color:var(--accent)}.wrap{max-width:1144px;margin:0 auto;padding:24px 20px 72px}.page-head{display:flex;gap:20px;align-items:flex-start;margin-bottom:20px}.page-head>div:first-child{flex:1;min-width:0}h1{margin:0;font-size:24px;line-height:1.2;letter-spacing:-.4px}.subtitle{margin:6px 0 0;color:var(--muted);font-size:12px}.btn{border:0;border-radius:10px;height:38px;padding:0 18px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:#276b2b}.btn.ghost{background:#fff;color:var(--accent);border:1px solid var(--line)}.btn.ghost:hover{background:#f2faf3;border-color:#c9dfcd}.btn.danger{background:var(--danger-bg);color:var(--danger)}.btn.danger:hover{background:#f9dede}.btn.small{height:32px;padding:0 12px;font-size:11px}.btn:disabled{opacity:.5;cursor:not-allowed}.toolbar{display:flex;align-items:center;gap:16px;margin-bottom:16px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:0;background:var(--soft);color:var(--muted);border-radius:999px;padding:5px 12px;font-size:11px;cursor:pointer}.chip.active{background:#e8f3e9;color:var(--accent)}.chip:hover{color:var(--ink)}.search{margin-left:auto;width:260px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:11px;color:var(--ink);outline:none}.search:focus{border-color:#b9d8bd}.models-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.model-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;min-height:190px;display:flex;flex-direction:column;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;text-align:left}.model-card:hover{border-color:#c9dfcd;box-shadow:0 6px 22px #14361a0f}.model-card-head{display:flex;align-items:flex-start;gap:12px}.model-icon{width:40px;height:40px;border-radius:10px;background:#e8f3e9;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;flex:0 0 auto}.model-name{font-size:15px;font-weight:600;flex:1;min-width:0;padding-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;height:20px;padding:0 8px;margin-top:6px;border-radius:999px;font-size:9px;font-weight:500;white-space:nowrap}.pill.public{background:#e8f3e9;color:var(--accent)}.pill.private{background:var(--soft);color:var(--muted)}.pill.score{background:#e8f3e9;color:var(--accent);margin:0}.model-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}.model-metrics>div{display:flex;flex-direction:column;gap:2px}.model-metrics b{font-size:20px;letter-spacing:-.4px;line-height:1.1}.model-metrics small{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.model-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted);gap:8px}.open-link{color:var(--accent);font-weight:500}.create-card{border:1px dashed #c9d6cc;background:transparent;align-items:center;justify-content:center;gap:6px;color:var(--ink)}.create-plus{font-size:28px;color:var(--accent);line-height:1}.create-title{font-size:14px;font-weight:600}.create-hint{font-size:10px;color:var(--muted)}.info-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 24px;margin-top:40px}.info-strip>div{display:flex;flex-direction:column;gap:4px;padding:0 24px;border-left:1px solid var(--line)}.info-strip>div:first-child{padding-left:0;border-left:0}.info-strip b{font-size:11px;font-weight:600}.info-strip span{font-size:9px;color:var(--muted)}.footnote{margin:22px 0 0;font-size:10px;color:var(--muted)}.empty-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:64px 40px 40px;text-align:center}.empty-icon{width:72px;height:72px;margin:0 auto 24px;border-radius:50%;background:#e8f3e9;color:var(--accent);font-size:30px;display:flex;align-items:center;justify-content:center}.empty-card h2{margin:0 0 8px;font-size:18px}.empty-card p{margin:0 auto 22px;max-width:420px;color:var(--muted);font-size:11px;line-height:1.6}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);text-align:left}.steps b{display:block;font-size:12px;margin-bottom:4px}.steps span{font-size:10px;color:var(--muted)}.empty-filter{text-align:center;color:var(--muted);font-size:12px;padding:40px 0}.kebab{position:relative;flex:0 0 auto}.kebab-btn{border:0;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:2px 4px;border-radius:6px}.kebab-btn:hover{background:var(--soft);color:var(--ink)}.menu{position:absolute;right:0;top:26px;min-width:190px;z-index:20;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px #0f1a121f;padding:6px}.menu-item{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:7px;font-size:12px;color:var(--ink);cursor:pointer}.menu-item:hover{background:#f4f8f5}.menu-item.danger{color:var(--danger)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1a1259;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:120px 16px 40px;overflow-y:auto}.modal-box{background:#fff;border-radius:16px;width:100%;padding:24px;box-shadow:0 24px 70px #0a281438}.modal-head{display:flex;align-items:flex-start;gap:12px}.modal-head>div:first-child{flex:1;min-width:0}.modal-head h2{margin:0;font-size:18px;letter-spacing:-.3px}.modal-sub{margin:4px 0 0;font-size:11px;color:var(--muted)}.modal-close,.icon-btn{border:0;background:var(--soft);color:#33443a;width:32px;height:32px;border-radius:9px;font-size:20px;line-height:1;cursor:pointer;flex:0 0 auto}.icon-btn:hover{background:#e8f3e9}.modal-body{margin-top:18px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.modal-body label,.modal-body .label{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}.modal-body label:first-child{margin-top:0}.modal-body input,.modal-body textarea{width:100%;border:1px solid var(--line);background:var(--bg);border-radius:9px;padding:11px 12px;font-size:12px;color:var(--ink);outline:none}.modal-body textarea{resize:vertical;line-height:1.5}.modal-body input:focus,.modal-body textarea:focus{border-color:#b9d8bd;background:#fff}.hint{margin:10px 0 0;font-size:10px;color:var(--muted)}.error-note{background:var(--danger-bg);color:#a32020;border:1px solid #f5c6c2;border-radius:10px;padding:10px 12px;font-size:12px;margin-bottom:16px}.toast{position:fixed;right:24px;bottom:24px;z-index:200;background:#12251a;color:#d9f2de;border-radius:10px;padding:12px 16px;font-size:12px;box-shadow:0 12px 30px #0a1e1240}.toast.error{background:#3b1717;color:#ffd6d3}.skeleton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.skeleton-card{height:190px;border-radius:12px;border:1px solid var(--line);background:linear-gradient(90deg,#fff 25%,#f3f6f4 37%,#fff 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}.detail-skeleton{height:420px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.back-link{border:0;background:transparent;color:var(--muted);font-size:10px;padding:0;cursor:pointer;margin-bottom:10px}.back-link:hover{color:var(--accent)}.detail-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.detail-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.detail-title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-title .pill{margin-top:0}.detail-actions{display:flex;align-items:center;gap:8px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.metric{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:3px}.metric span{font-size:9px;letter-spacing:.08em;color:var(--muted)}.metric b{font-size:20px;letter-spacing:-.4px;line-height:1.15}.metric small{font-size:10px;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}.detail-left,.detail-right{display:flex;flex-direction:column;gap:20px;min-width:0}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 24px}.card h2{margin:0;font-size:14px;font-weight:600}.card-title-row{display:flex;align-items:flex-start;gap:12px}.card-title-row>div:first-child{flex:1;min-width:0}.card-sub{margin:5px 0 0;font-size:10px;color:var(--muted)}.dropzone{display:flex;align-items:center;gap:16px;height:88px;margin-top:18px;border:1px dashed #c9d6cc;border-radius:10px;background:#fbfcfb;padding:0 24px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.dropzone:hover,.dropzone.dragging{background:#f4faf5;border-color:#9cc5a2}.upload-icon{width:32px;height:32px;border-radius:50%;background:#e8f3e9;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:17px;flex:0 0 auto}.dropzone-text{flex:1;display:flex;flex-direction:column;gap:3px}.dropzone-text b{font-size:12px;font-weight:600}.dropzone-text span{font-size:10px;color:var(--muted)}.upload-links{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:11px}.link-btn{border:0;background:transparent;color:var(--accent);font-size:11px;font-weight:500;cursor:pointer;padding:0}.link-btn:hover{text-decoration:underline}.dot{color:var(--muted)}.limit-hint{margin-left:auto;font-size:9px;color:var(--muted)}.documents-card{padding-bottom:12px}.doc-toolbar{display:flex;align-items:center;gap:12px;margin-top:18px}.doc-toolbar .search{margin-left:0;width:220px}.doc-header,.doc-row{display:grid;grid-template-columns:minmax(0,1.7fr) 1fr 76px 64px 118px 52px;gap:8px;align-items:center}.doc-header{margin-top:18px;padding:10px 0;border-top:1px solid var(--line);font-size:9px;letter-spacing:.06em;color:var(--muted)}.doc-row{padding:13px 0;border-top:1px solid var(--line);font-size:10px;color:var(--muted);cursor:pointer;transition:background .1s ease}.doc-row:hover{background:#fbfdfb}.doc-name{min-width:0;display:flex;flex-direction:column;gap:3px}.doc-name b{font-size:12px;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-name small{font-size:9px}.doc-source{display:flex;flex-direction:column;gap:2px;font-size:10px}.doc-source small{font-size:9px;color:#9aa8a0}.doc-row>span{font-size:10px}.status{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:9px;font-weight:500}.status.ready{background:#e8f3e9;color:var(--accent)}.status.indexing{background:var(--warn-bg);color:var(--warn)}.status.failed{background:var(--danger-bg);color:var(--danger)}.status.muted{background:var(--soft);color:var(--muted)}.row-actions{display:flex;gap:4px;justify-content:flex-end}.icon-action{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;padding:3px 5px;border-radius:6px}.icon-action:hover{background:var(--soft);color:var(--ink)}.icon-action.danger:hover{background:var(--danger-bg);color:var(--danger)}.empty-inline{color:var(--muted);font-size:11px;padding:22px 0;text-align:center;margin:0}.err-text{color:var(--danger)}.toggle{width:36px;height:20px;border-radius:10px;border:0;background:#d5ddd7;padding:2px;cursor:pointer;flex:0 0 auto;transition:background .15s ease}.toggle span{display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s ease}.toggle.on{background:var(--accent)}.toggle.on span{transform:translate(16px)}.publish-state{margin:12px 0 0;font-size:11px;font-weight:500;color:var(--accent)}.card .card-sub+.url-field{margin-top:14px}.url-field{display:flex;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;background:var(--bg);border-radius:8px;margin-top:14px}.url-field .mono{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-btn{border:0;background:transparent;color:var(--muted);font-size:14px;cursor:pointer;padding:2px 4px}.copy-btn:hover{color:var(--accent)}.rotate-row{display:flex;align-items:center;gap:8px;margin-top:12px}.rotate-row span{font-size:9px;color:var(--muted)}.code-block{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.code-label{display:block;font-size:8px;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.code-block pre{margin:0;background:#0f1a12;color:#d6e9da;border-radius:8px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:8px;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.publish-empty{margin-top:14px;padding:14px;border:1px dashed var(--line);border-radius:9px;font-size:10px;color:var(--muted);line-height:1.5}.sandbox-form{display:flex;gap:8px;margin-top:16px}.sandbox-form input{flex:1;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:0 11px;font-size:11px;outline:none}.sandbox-form input:focus{border-color:#b9d8bd;background:#fff}.sandbox-results{margin-top:16px}.hit{padding:12px 0;border-top:1px solid var(--line)}.hit-head{display:flex;align-items:center;gap:8px}.hit-head b{font-size:11px;font-weight:600}.hit p{margin:8px 0 4px;font-size:10px;line-height:1.5;color:var(--muted)}.hit small{font-size:9px;color:#9aa8a0}.document-text{max-height:56vh;overflow:auto;margin:0;padding:14px;background:var(--bg);border-radius:10px;font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word}@media (max-width: 1000px){.models-grid,.metrics{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.info-strip{grid-template-columns:1fr;gap:14px}.info-strip>div{padding:0;border-left:0}}@media (max-width: 640px){.wrap{padding:18px 16px 56px}.page-head,.detail-head{flex-direction:column}.page-head .btn{width:100%}.models-grid{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch}.search,.doc-toolbar .search{width:100%;margin-left:0}.metrics{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr;gap:14px}.dropzone{height:auto;padding:16px;flex-wrap:wrap}.doc-header{display:none}.doc-row{grid-template-columns:1fr auto;gap:6px;padding:14px 0}.doc-row>span:nth-child(3),.doc-row>span:nth-child(4),.doc-row>span:nth-child(5){display:none}.doc-row>.doc-source{grid-column:1}.row-actions{grid-column:2;grid-row:1}.modal-backdrop{padding:20px 12px}.modal-box{padding:20px}.code-block pre{font-size:9px}}.ip-block{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.ip-block label{display:block;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.ip-block input{width:100%;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-size:10px;color:var(--ink);outline:none}.ip-block input:focus{border-color:#b9d8bd;background:#fff}.ip-actions{display:flex;align-items:center;gap:8px;margin-top:7px}.ip-actions span{font-size:9px;color:var(--muted)}.ip-actions .btn{margin-left:auto}.versions-block{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.versions-head{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.versions-head b{font-size:12px}.versions-head span{font-size:10px;color:var(--muted)}.version-row{display:grid;grid-template-columns:40px minmax(0,1fr) 170px 90px;gap:8px;align-items:center;padding:7px 0;border-top:1px solid #F0F4F1}.version-row:first-of-type{border-top:0}.version-number{font-size:10px;font-weight:600;color:var(--accent)}.version-title{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-meta{font-size:9px;color:var(--muted);text-align:right}.page-actions{display:flex;gap:8px;align-items:center}.catalog-card{cursor:default}.catalog-owner{margin:8px 0 0;font-size:10px;color:var(--muted)}.catalog-card .model-metrics{margin-top:14px}.catalog-card .page-actions .search{margin-left:0}
