.data-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(120deg,#172033,#27364f);color:#fff;padding:24px;border-radius:18px}.data-hero .sub{color:#c7d0df}.data-kpis{display:grid;grid-template-columns:auto auto;gap:2px 10px;align-items:end}.data-kpis b{font-size:32px;color:#fbbf24;text-align:right}.data-kpis span{font-size:13px;color:#c7d0df;padding-bottom:7px}.data-summary{grid-template-columns:repeat(6,1fr)}.module-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:13px;text-align:left;color:var(--text);cursor:pointer}.module-card:hover{border-color:var(--blue);transform:translateY(-1px)}.module-card b{display:block;font-size:22px;color:var(--blue)}.module-card span{display:block;font-size:12px;margin-top:3px}.sheet-panel{margin:16px 0}.sheet-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.sheet-title h3{margin:0}.sheet-title p{margin:4px 0}.sheet-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f8fafc;border:1px solid var(--line);border-radius:9px;padding:12px}.data-toolbar select,.data-toolbar input{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.data-toolbar input{flex:1}.global-table{min-width:980px}.global-table th:first-child{width:190px}.global-table th:nth-child(2){width:120px}.global-table th:last-child{width:100px}.data-detail{white-space:normal;min-width:540px;line-height:1.55}.view-btn{background:#0f766e}.sheets-btn{background:#188038}.detail-modal{width:min(900px,96vw)}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:14px}.detail-head h2{margin:4px 0}.detail-head p{margin:0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.detail-item{background:#f8fafc;border:1px solid var(--line);border-radius:9px;padding:12px}.detail-item span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.detail-item b{display:block;white-space:pre-wrap;overflow-wrap:anywhere}.detail-actions{border-top:1px solid var(--line);padding-top:16px}@media(max-width:1000px){.data-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.data-hero,.sheet-title,.detail-head{align-items:flex-start;flex-direction:column}.data-summary,.detail-grid{grid-template-columns:1fr}.sheet-steps{grid-template-columns:1fr}.data-kpis{align-self:stretch}.data-toolbar>*{width:100%}}
.detail-modal.wide{width:min(1050px,94vw);max-height:92vh;overflow:auto}.detail-section{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.linked-doc{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--line);border-radius:10px;margin:8px 0;background:var(--surface)}.linked-doc span{display:block;color:var(--muted);font-size:.86rem;margin-top:4px}.related-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:10px 0 20px}.related-card{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:12px;text-align:left;cursor:pointer;color:inherit}.related-card:hover{border-color:var(--blue)}.related-card span{display:block;color:var(--muted);margin-top:4px}.preview-modal{width:min(1000px,94vw);max-height:94vh;overflow:auto}.preview-frame{width:100%;height:68vh;border:1px solid var(--line);border-radius:10px}.preview-media{display:block;max-width:100%;max-height:68vh;margin:auto;border-radius:10px}.text-preview{max-height:65vh;overflow:auto;white-space:pre-wrap;background:#111827;color:#f8fafc;padding:16px;border-radius:10px}.empty.compact{padding:14px}.google-panel{margin-top:18px}@media(max-width:700px){.linked-doc{align-items:flex-start;flex-direction:column}.linked-doc>div:last-child{display:flex;gap:6px}.preview-frame{height:60vh}}
.preview-overlay{z-index:10000}.preview-modal{position:relative;padding-top:0}.preview-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface);border-bottom:1px solid var(--line);padding:16px 0 12px;margin-bottom:14px}.preview-head h2{margin:0 0 4px}.preview-head p{margin:0}.preview-close{flex:0 0 auto;background:#b91c1c;color:#fff;border-color:#b91c1c}.preview-close:hover{background:#991b1b}.preview-footer{position:sticky;bottom:0;z-index:5;background:var(--surface);border-top:1px solid var(--line);padding:12px 0;margin-top:14px}@media(max-width:700px){.preview-head{align-items:flex-start}.preview-close{min-height:44px}.preview-footer .btn{flex:1}}
.preview-floating-close{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:10002;border:2px solid #fff;border-radius:999px;background:#dc2626;color:#fff;font-weight:800;font-size:14px;padding:12px 18px;box-shadow:0 6px 24px rgba(0,0,0,.38);cursor:pointer;pointer-events:auto}.preview-floating-close:hover{background:#991b1b}.preview-floating-close:focus{outline:3px solid #fbbf24;outline-offset:2px}.preview-media{pointer-events:none;user-select:none}@media(max-width:700px){.preview-floating-close{top:8px;right:8px;padding:10px 13px;font-size:12px}}
.image-viewer-fixed{position:fixed;inset:0;z-index:2147483647;background:rgba(2,6,23,.94);display:flex;align-items:center;justify-content:center;padding:12px}.image-viewer-panel{width:min(1100px,100%);height:min(94vh,900px);display:flex;flex-direction:column;background:#111827;border:1px solid #475569;border-radius:14px;overflow:hidden}.image-viewer-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:10px 12px 10px 18px;background:#fff;border-bottom:1px solid #dbe3ef}.image-viewer-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#172033;font-weight:800}.image-viewer-close{flex:0 0 auto;min-width:120px;min-height:44px;border:0;border-radius:9px;background:#dc2626;color:#fff;font-weight:900;cursor:pointer}.image-viewer-close:hover{background:#991b1b}.image-viewer-close:focus{outline:4px solid #fbbf24;outline-offset:-4px}.image-viewer-image{display:block;flex:1 1 auto;width:100%;min-height:0;object-fit:contain;background:#020617;pointer-events:none;user-select:none}@media(max-width:600px){.image-viewer-fixed{padding:0}.image-viewer-panel{width:100%;height:100vh;border:0;border-radius:0}.image-viewer-title{font-size:12px}.image-viewer-close{min-width:105px}}
.linked-doc-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.linked-doc-actions .danger{background:#dc2626}@media(max-width:700px){.linked-doc-actions{width:100%;justify-content:flex-start}.linked-doc-actions .btn{flex:1;min-width:90px}}
.owner-security{display:flex;flex-direction:column;gap:3px;margin:16px 0;padding:14px 16px;border:1px solid #86efac;border-radius:12px;background:#f0fdf4;color:#166534}.team-grid{display:grid;gap:10px}.team-card{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.team-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:#172033;color:#fbbf24;font-weight:900}.team-info span,.team-info small{display:block;color:var(--muted);margin-top:2px}.team-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.owner-chip{padding:7px 10px;border-radius:99px;background:#dcfce7;color:#166534;font-size:11px;font-weight:900}.access-btn{background:#7c3aed}.access-modal{width:min(1050px,96vw)}.access-toolbar{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:58vh;overflow:auto}.permission-item{display:flex;gap:9px;align-items:flex-start;padding:11px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;cursor:pointer}.permission-item input{width:18px;height:18px;margin-top:2px}.permission-item span{min-width:0}.permission-item b,.permission-item small{display:block}.permission-item small{color:var(--muted);margin-top:2px}@media(max-width:900px){.permission-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.team-card{grid-template-columns:44px 1fr}.team-actions{grid-column:1/-1;justify-content:flex-start}.team-actions .btn{flex:1}.permission-grid{grid-template-columns:1fr}}
.image-viewer-close,.preview-floating-close,.preview-close,.preview-footer .btn,.detail-head>.btn{position:relative;pointer-events:auto;touch-action:manipulation;z-index:20}
