/* Shared Ecospheare identity for the ERP, client briefs and partner portal. */
/* Decorative legacy artwork follows the blue palette without affecting logos or uploads. */
:root{--ecospheare-art-filter:grayscale(1) sepia(1) saturate(2.4) hue-rotate(175deg)}
.partner-hero-art,.brain-art,.offer-card summary img,.service-family>summary img,.brief-hero,.brief-visual img,.brief-admin-hero img,.brief-service img{filter:var(--ecospheare-art-filter)}
.brand img,.brief-brand img,.doc-logo img,.orbit img{object-fit:contain;flex-shrink:0}
.brand{gap:10px;font-size:20px;letter-spacing:-.03em}
.brand img{width:34px;height:42px}
.brand strong{font-size:12px;font-weight:700;letter-spacing:.06em;color:#263cff}
.brief-brand img{width:34px;height:42px}
.brief-brand strong{color:#17244d}
.login-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0 28px}
.login-switch a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-width:0;padding:16px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-decoration:none}
.login-switch a strong{font-size:15px;font-weight:700}
.login-switch a small{font-size:12px;line-height:1.4;color:var(--muted)}
.login-switch a:hover{background:#eef3ff;border-color:#9db6ef;color:#17244d}
.login-switch a[aria-current=page]{background:#eaf1ff;border:2px solid #2949a3;padding:15px 13px;color:#17244d}
.login-switch a[aria-current=page] small{color:#405477}
.login-switch a:focus-visible{outline:3px solid #2949a3;outline-offset:3px}
.auth .login-title{font-size:22px;margin-bottom:10px}
body.dark .login-switch a[aria-current=page],body.dark .login-switch a:hover{background:#22345c;border-color:#92b6ff;color:#f4f7ff}
body.dark .login-switch a[aria-current=page] small,body.dark .login-switch a:hover small{color:#c3d4f4}
@media(max-width:480px){.brand{font-size:19px}.brand img{width:29px;height:35px}}
@media(max-width:380px){.login-switch a{padding:14px 10px}.login-switch a[aria-current=page]{padding:13px 9px}.login-switch a strong{font-size:14px}}
.commercial-documents{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.commercial-documents .button{color:#17244d;background:#eaf1ff;border-color:#bdcbea}.service-prices{margin:16px 0;display:grid;gap:6px}.service-prices>div{padding:10px 12px;background:#f0f4fc;border-radius:10px}.service-prices dt{font-size:12px;color:#405477}.service-prices dd{margin:2px 0 0;font-weight:700;color:#17244d;font-size:15px}.service-price{font-weight:700;color:#2949a3;margin:16px 0}.offer-body .service-price small{font-weight:400}.service-hint{padding:12px 16px;background:#eef3ff;border-radius:12px;color:#17244d}.service-hint:empty{display:none}.prospect-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:20px}.prospect-filters label{margin:0}.lead-list{display:block;color:var(--muted);font-size:12px;margin-top:5px}.lead-actions{display:flex;flex-wrap:wrap;gap:8px}.lead-actions button{font-size:12px;padding:8px 12px;white-space:nowrap}.sales-commissions .metric-grid,.admin-messages .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.message-thread{max-height:480px;overflow-y:auto;padding:4px;margin:20px 0}.message{border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0;background:var(--surface)}.message small{display:block;color:var(--muted);margin:4px 0 10px}.message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.message.from-admin{border-left:4px solid #2949a3}.partner-nav{flex-wrap:wrap}.partner-nav button{flex:1}.offer-body aside{display:block}.service-hint .service-prices{margin:8px 0}body.dark .service-hint,body.dark .service-prices>div{background:#22345c;color:#f4f7ff}body.dark .service-prices dt,body.dark .service-prices dd{color:#e7eeff}body.dark .service-price{color:#a5c3ff}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll .data-table{min-width:600px}
@media(max-width:680px){.sales-commissions .metric-grid{grid-template-columns:1fr}.prospect-filters{grid-template-columns:1fr 1fr}.prospect-filters label:first-child{grid-column:1/-1}.commercial-documents{flex-direction:column}.commercial-documents .button{width:100%}.call-grid{grid-template-columns:1fr}.call-grid .full{grid-column:auto}.partner-nav{display:grid;grid-template-columns:1fr 1fr}.partner-nav button{min-width:0}.metric-grid{grid-template-columns:1fr 1fr}.message-thread{max-height:360px}}

/* Editable prospect sheet: one record per row, with drafts kept until saved. */
.partner-app .portal-shell{max-width:1600px}
.hero-contact-actions{display:flex;gap:10px;flex-wrap:wrap;z-index:1}
.sheet-tools,.sheet-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0}
.sheet-more{display:flex;align-items:center;gap:8px;margin:0;font-weight:500}
.sheet-more input{width:20px;min-height:20px;height:20px}
.sheet-tools [role=status]{margin-left:auto}
.sheet-scroll{max-width:100%;max-height:65vh;overflow:auto;border:1px solid #bdcbea;border-radius:12px;overscroll-behavior:contain;background:var(--surface)}
.prospect-sheet{table-layout:fixed;border-collapse:separate;border-spacing:0;width:max-content;font-size:13px;line-height:1.4}
.prospect-sheet th,.prospect-sheet td{padding:0;border-right:1px solid #dce5f3;border-bottom:1px solid #dce5f3;vertical-align:middle;font-weight:400}
.prospect-sheet thead th{position:sticky;top:0;z-index:3;background:#e6edf8;color:#17244d;padding:12px 10px;font-size:12px;font-weight:700;height:44px;white-space:nowrap;text-align:left}
.prospect-sheet .sheet-number{background:#f0f4fc;color:#405477;text-align:center;font-size:12px;min-width:44px}
.prospect-sheet .sheet-name{position:sticky;left:0;background:#fff;z-index:1;box-shadow:2px 0 0 #dce5f3}
.prospect-sheet thead .sheet-name{z-index:4;background:#e6edf8}
.prospect-sheet input,.prospect-sheet select{border:1px solid transparent;border-radius:0;background:transparent;color:#17244d;padding:11px 9px;min-height:46px;font-size:13px;width:100%;height:100%;margin:0}
.prospect-sheet input:hover,.prospect-sheet select:hover{background:#f0f5ff}
.prospect-sheet input:focus,.prospect-sheet select:focus{outline:2px solid #2949a3;outline-offset:-2px;background:#fff;box-shadow:none}
.prospect-sheet input::placeholder{color:#91a0ba}
.prospect-sheet .sheet-dirty td{background:#f2f7ff}
.prospect-sheet .sheet-dirty .sheet-name{background:#eaf1ff}
.prospect-sheet .sheet-won [data-cell=status]{color:#216443;font-weight:650}
.prospect-sheet .sheet-actions{padding:6px 10px;min-width:330px}
.sheet-actions>div{display:flex;gap:5px;align-items:center}
.sheet-actions button{font-size:11px;padding:6px 9px;min-height:34px;white-space:nowrap}
.sheet-actions [data-sheet-action=save]:not(:disabled){background:#2949a3;color:#fff;border-color:#2949a3}
.sheet-actions [role=alert]{color:#9b233d;font-size:12px;margin:6px 0;max-width:310px}
.sheet-empty{padding:24px;margin:0;color:var(--muted)}
.sheet-pagination{font-size:12px;justify-content:flex-end}
.sheet-pagination>span{margin-right:auto}
.sheet-pagination label{display:flex;align-items:center;gap:8px;margin:0;font-size:12px}
.sheet-pagination select{width:auto;min-height:36px;padding:6px 10px;font-size:12px}
.sheet-pagination button{min-height:36px;font-size:12px;padding:6px 12px}
.call-history article{border-left:3px solid #9db6ef;border-bottom:1px solid var(--line);padding:16px 18px;margin:14px 0;background:var(--bg);border-radius:0 12px 12px 0}
.call-history time{font-size:12px;color:var(--muted)}
.service-families{display:grid;gap:12px;margin:24px 0}
.service-family{border:1px solid var(--line);border-radius:16px;overflow:hidden}
.service-family>summary{display:flex;align-items:center;gap:16px;padding:14px 18px;list-style:none;background:#f5f8ff}
.service-family>summary::-webkit-details-marker,.service-line>summary::-webkit-details-marker{display:none}
.service-family>summary img{width:76px;height:54px;object-fit:cover;border-radius:10px}
.service-family>summary strong{font-size:17px;color:#17244d}
.service-family>summary small{display:block;font-size:12px;color:#405477;font-weight:400;margin-top:3px}
.family-chevron{margin-left:auto;color:#2949a3;font-size:23px}
.service-family[open] .family-chevron{transform:rotate(45deg)}
.service-lines{padding:0 18px}
.service-line+ .service-line{border-top:1px solid var(--line)}
.service-line>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:20px;align-items:center;padding:18px 0;list-style:none;font-size:14px;font-weight:400}
.service-line>summary strong{font-weight:600}
.service-line>summary span{color:#2949a3;font-variant-numeric:tabular-nums}
.service-line>summary small{color:var(--muted);font-size:11px}
.service-detail{padding:0 0 18px;font-size:14px;max-width:1000px}
.service-detail .service-prices{grid-template-columns:repeat(3,minmax(0,1fr))}
body.dark .service-family>summary{background:#22345c}
body.dark .service-family>summary strong,body.dark .service-family>summary small,body.dark .service-line>summary span{color:#e7eeff}
@media(max-width:700px){.sheet-tools [role=status]{flex-basis:100%;margin-left:0}.sheet-scroll{max-height:60vh}.prospect-workspace{padding:16px!important}.service-family>summary{padding:12px;gap:12px}.service-family>summary img{width:54px;height:44px}.service-family>summary strong{font-size:15px}.service-lines{padding:0 14px}.service-line>summary{grid-template-columns:1fr;gap:6px;padding:16px 0}.service-detail .service-prices{grid-template-columns:1fr}.hero-contact-actions{max-width:100%!important}.hero-contact-actions button{font-size:13px}.sheet-pagination{justify-content:flex-start}.sheet-pagination>span{flex-basis:100%}}
