.share-settings { overflow: hidden; }
.account-profile-sharing { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-top: .65rem; padding: .8rem .9rem; border: 1px solid #dce5f1; border-radius: .75rem; background: #f6f9fe; color: #1757ad; font-size: .82rem; font-weight: 730; cursor: pointer; }
.account-profile-sharing:hover { background: #edf5ff; }
.share-heading { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1.4rem; }
.share-heading-icon { width: 3rem; height: 3rem; flex: none; display: grid; place-items: center; border-radius: 1rem; color: #1766db; background: linear-gradient(145deg, #eef5ff, #dceaff); box-shadow: inset 0 1px 0 #fff; }
.share-eyebrow { color: #1766db; font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.share-heading h2 { margin: .15rem 0 .3rem; font-size: clamp(1.35rem, 2.5vw, 1.8rem); font-weight: 780; color: var(--text-primary, #172034); }
.share-heading p { max-width: 60ch; margin: 0; color: var(--text-secondary, #64748b); line-height: 1.55; }
.share-verification { padding: 1rem 1.1rem; border: 1px solid #f5d49b; border-radius: 1rem; background: #fff9ee; margin-bottom: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.share-verification[hidden] { display: none; }
.share-verification strong { color: #8b4d08; }
.share-verification p { margin: .2rem 0 0; color: #8b5d25; font-size: .85rem; }
.share-verify-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.share-form { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(220px, 1.6fr) auto; align-items: end; gap: .8rem; }
.share-form label { display: grid; gap: .4rem; min-width: 0; color: var(--text-primary, #334155); font-size: .82rem; font-weight: 700; }
.share-form input, .share-form select { width: 100%; min-width: 0; min-height: 44px; }
.share-form button { min-height: 44px; white-space: nowrap; }
.share-permissions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin: 0; padding: 0; border: 0; }
.share-permissions legend { margin-bottom: .45rem; color: var(--text-primary, #334155); font-size: .82rem; font-weight: 700; }
.share-permission-choice { display: flex !important; flex-direction: row; align-items: flex-start; gap: .65rem !important; padding: .8rem; border: 1px solid #dce5f1; border-radius: .85rem; background: var(--surface, #fff); cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.share-permission-choice:has(input:checked) { border-color: #3675e6; box-shadow: 0 0 0 3px rgba(54,117,230,.1); }
.share-permission-choice:hover { transform: translateY(-2px); }
.share-permission-choice input { width: 17px; min-height: 17px; margin: .15rem 0 0; accent-color: #2563eb; }
.share-permission-choice span { display: grid; gap: .2rem; }
.share-permission-choice strong { font-size: .83rem; }
.share-permission-choice small, .share-permission-help { color: var(--text-secondary, #64748b); font-size: .75rem; line-height: 1.4; }
.share-permission-help { grid-column: 1 / -1; margin: 0; }
.share-permission-choice.is-unavailable { opacity: .55; cursor: not-allowed; }
.share-access-actions { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; justify-content: flex-end; }
.share-access-level { min-height: 36px; padding: .35rem .55rem; border: 1px solid #dce5f1; border-radius: .65rem; background: var(--surface, #fff); color: var(--text-primary, #172034); font-size: .76rem; }
.share-permission-badge { display: inline-flex; width: fit-content; align-items: center; gap: .3rem; padding: .2rem .5rem; border-radius: 999px; color: #0b6d59; background: #e7f6f1; font-size: .72rem; font-weight: 750; }
.share-permission-badge.is-view { color: #3e5b7a; background: #edf3fa; }
.share-edit-actions { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .65rem; }
.share-edit-button.is-primary { background:#1769d4; color:#fff; border-color:#1769d4; }
.freev-shared-workspace { padding-top:calc(3.4rem + env(safe-area-inset-top)); }
.freev-shared-workspace-banner { position:fixed; top:0; left:0; right:0; z-index:10000; min-height:calc(3.4rem + env(safe-area-inset-top)); display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:calc(.55rem + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) .55rem max(1rem, env(safe-area-inset-left)); background:#112c49; color:#fff; box-shadow:0 6px 24px #122c4930; font-size:.86rem; font-weight:700; }
.freev-shared-workspace-banner button { border:1px solid #ffffff7a; border-radius:999px; background:#fff; color:#112c49; padding:.45rem .8rem; font:inherit; cursor:pointer; }
@media (max-width:650px) { .freev-shared-workspace-banner { font-size:.75rem; } .freev-shared-workspace-banner button { flex:0 0 auto; font-size:.72rem; } }
.share-edit-button { padding: .4rem .65rem; border: 1px solid #dce5f1; border-radius: .6rem; background: var(--surface, #fff); color: #1757ad; font-size: .75rem; font-weight: 700; cursor: pointer; }
.share-edit-button:hover { border-color: #8eb5f3; background: #f5f9ff; }
.share-edit-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin-top: .7rem; padding: .8rem; border: 1px solid #dce5f1; border-radius: .8rem; background: #f8fbff; }
.share-edit-form label { display: grid; gap: .25rem; min-width: 0; color: #334155; font-size: .75rem; font-weight: 700; }
.share-edit-form input, .share-edit-form select { width: 100%; min-width: 0; min-height: 40px; padding: .4rem .55rem; border: 1px solid #cbd8e9; border-radius: .6rem; background: #fff; color: #172034; }
.share-edit-form .share-edit-wide { grid-column: 1 / -1; }
.share-edit-form .share-edit-actions { grid-column: 1 / -1; margin-top: 0; }
.share-status { min-height: 1.4rem; margin: .65rem 0 1.1rem; color: #087a5c; font-size: .84rem; }
.share-status.is-error { color: #b42318; }
.share-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.share-columns > div { min-width: 0; }
.share-columns h3 { font-size: .95rem; font-weight: 760; margin: 0 0 .6rem; color: var(--text-primary, #172034); }
.share-list { display: grid; align-content: start; gap: .65rem; }
.share-empty { color: var(--text-secondary, #64748b); font-size: .86rem; margin: 0; padding: .85rem 1rem; border: 1px dashed #d6e1ef; border-radius: .8rem; }
.share-access-card, .share-received-card { min-width: 0; border: 1px solid #dce5f1; border-radius: .95rem; background: var(--surface, #fff); box-shadow: 0 6px 22px rgba(22, 44, 78, .045); }
.share-access-card { display: flex; justify-content: space-between; align-items: center; gap: .8rem; padding: .8rem .9rem; }
.share-access-copy { display: grid; gap: .16rem; min-width: 0; }
.share-access-copy strong { color: var(--text-primary, #172034); font-size: .88rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.share-access-copy span { color: var(--text-secondary, #64748b); font-size: .76rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.share-revoke { flex: none; min-height: 36px; padding: .35rem .7rem; border: 1px solid #dce5f1; border-radius: .65rem; background: var(--surface, #fff); color: #9c3434; font-size: .76rem; font-weight: 730; cursor: pointer; transition: background .18s ease, transform .18s ease, border-color .18s ease; }
.share-revoke:hover { background: #fff3f1; border-color: #f3bcb7; transform: translateY(-1px); }
.share-revoke:focus-visible { outline: 3px solid #80b4ff; outline-offset: 2px; }
.share-received-card { padding: .9rem; }
.share-received-top { display: flex; justify-content: space-between; align-items: flex-start; gap: .8rem; }
.share-balance { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; margin: .9rem 0 .45rem; padding: .8rem .9rem; border-radius: .75rem; background: linear-gradient(120deg, #eff6ff, #f3faf7); }
.share-balance span { color: #4f6480; font-size: .77rem; }
.share-balance strong { color: #123b62; font-size: 1.15rem; white-space: nowrap; }
.share-operations summary { color: #1766db; font-size: .78rem; font-weight: 700; cursor: pointer; }
.share-operations ul { list-style: none; margin: .55rem 0 0; padding: 0; }
.share-operations li { display: flex; justify-content: space-between; gap: .7rem; padding: .48rem 0; border-top: 1px solid #e8edf4; font-size: .75rem; }
.share-operations li span { min-width: 0; color: var(--text-secondary, #64748b); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.share-operations li strong { flex: none; color: var(--text-primary, #172034); white-space: nowrap; }
.share-operations li strong.is-income { color: #087a5c; }
.share-operations li strong.is-expense { color: #bc4343; }
@media (max-width: 900px) { .share-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .share-form button { grid-column: 1 / -1; } }
@media (max-width: 650px) { .share-heading { gap: .7rem; } .share-heading-icon { width: 2.5rem; height: 2.5rem; } .share-verification { align-items: stretch; flex-direction: column; } .share-form, .share-columns, .share-permissions { grid-template-columns: minmax(0, 1fr); } .share-form button { grid-column: auto; } .share-access-card { align-items: flex-start; flex-direction: column; } .share-access-actions { justify-content: flex-start; } }
@media (prefers-reduced-motion: reduce) { .share-revoke, .share-permission-choice { transition: none; } .share-revoke:hover, .share-permission-choice:hover { transform: none; } }
