:root{--bg:#f9fafb;--panel:#ffffff;--panel-soft:#f8f9fa;--line:#eaecf0;--line-strong:#d0d5dd;--text:#191c1d;--text-secondary:#404752;--muted:#717783;--blue:#0060ab;--blue-deep:#004f91;--blue-soft:#eff6fc;--danger:#ba1a1a;--danger-soft:#fff3f3;--shadow:none;--transition-fast:0.15s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}button,input,select{font:inherit}button{cursor:pointer}.auth-shell{align-items:center;background:var(--bg);display:flex;justify-content:center;min-height:100vh;padding:24px}.auth-card{background:#ffffff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);display:grid;grid-gap:24px;gap:24px;max-width:440px;padding:48px 40px;width:100%}.auth-brand{border-bottom:1px solid var(--line);padding-bottom:20px}.auth-copy{display:grid;grid-gap:10px;gap:10px}.auth-copy h1{font-size:34px;font-weight:600;line-height:1.12}.auth-copy p{color:var(--muted);font-size:17px;line-height:1.47;margin:0}.auth-login-button{width:100%}.auth-meta{align-items:center;color:var(--muted);display:flex;font-size:13px;gap:8px}.portal-shell{background:var(--bg);display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.portal-sidebar{background:#ffffff;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:24px;min-width:0;padding:18px 16px}.brand{align-items:center;display:flex;gap:12px;min-height:44px;padding:4px 8px 10px}.avatar,.brand-mark,.library-icon,.site-icon{align-items:center;background:var(--blue-soft);border:1px solid #d3e3ff;border-radius:8px;color:var(--blue);display:inline-flex;flex:0 0 auto;height:38px;justify-content:center;width:38px}.avatar.small{height:32px;width:32px}.brand-mark.solid{background:var(--blue);border-color:var(--blue);color:#ffffff}.audit-item strong,.brand strong,.library-row strong,.principal-cell strong,.site-button strong{display:block;font-size:14px;line-height:1.2}.portal-sidebar .brand strong{color:var(--blue);font-size:20px;font-weight:700}.audit-item small,.brand span,.library-row small,.muted,.principal-cell small,.site-button small{color:var(--muted);font-size:12px}.section-label{color:#496a8d;font-size:11px;font-weight:700;letter-spacing:0;margin:0 0 10px;text-transform:uppercase}.audit-list,.library-list,.site-list{display:grid;grid-gap:8px;gap:8px}.library-row,.site-button{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--text);display:grid;grid-gap:10px;gap:10px;min-height:56px;padding:8px;position:relative;text-align:left;transition:background .16s ease,border-color .16s ease,transform .16s ease;width:100%}.site-button{grid-template-columns:38px 1fr 16px}.library-row:hover,.site-button:hover,.table-row:hover{background:#f2f4f7}.library-row.active,.site-button.active{background:var(--blue-soft);border-color:#d3e3ff}.site-button.active:before{background:var(--blue);border-radius:999px;content:"";height:32px;left:-8px;position:absolute;width:3px}.icon-button:active,.library-row:active,.login-button:active,.mini-button:active,.primary-button:active,.site-button:active{transform:scale(.98)}.sidebar-nav{display:grid;grid-gap:4px;gap:4px}.sidebar-nav-item{align-items:center;background:transparent;border:0;border-left:4px solid transparent;border-radius:0 8px 8px 0;color:#404752;display:flex;font-size:14px;font-weight:700;gap:12px;min-height:44px;padding:0 14px;text-align:left;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.sidebar-nav-item.active,.sidebar-nav-item:hover:not(:disabled){background:var(--blue-soft);border-left-color:var(--blue);color:var(--blue)}.sidebar-nav-item:disabled{cursor:default;opacity:.55}.sidebar-account-card,.workspace-card{background:#f8f9fa;border:1px solid var(--line);border-radius:12px;display:grid;grid-gap:6px;gap:6px;margin-top:auto;padding:14px}.workspace-card strong{font-size:14px}.workspace-card span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.sidebar-account-card{gap:12px;padding:14px}.sidebar-account-actions,.sidebar-account-status{align-items:center;display:flex;gap:8px}.sidebar-account-status{color:var(--muted);font-size:12px}.sidebar-account-main{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:34px minmax(0,1fr)}.sidebar-account-main strong{font-size:14px;line-height:1.25}.sidebar-account-main span,.sidebar-account-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-main span{color:var(--muted);font-size:12px}.sidebar-account-actions{justify-content:space-between}.portal-main{display:flex;flex-direction:column;min-height:100vh;min-width:0}.role-pill{align-items:center;background:#eef7f1;border:1px solid #bfdfc8;border-radius:999px;color:#1d7440;display:inline-flex;font-size:12px;font-weight:800;min-height:28px;padding:0 10px;white-space:nowrap}.role-pill.readonly{background:var(--blue-soft);border-color:#d3e3ff;color:var(--blue)}.avatar-button{align-items:center;background:var(--blue);border:0;border-radius:999px;color:#ffffff;display:inline-flex;font-weight:800;height:34px;justify-content:center;width:34px}.portal-content{display:flex;flex-direction:column;flex:1 1;gap:14px;min-height:0;padding:32px}h1,h2{letter-spacing:0;margin:0}h1{font-size:26px;line-height:1.2}h2{font-size:17px}.icon-button,.login-button,.mini-button,.primary-button{align-items:center;border:1px solid transparent;border-radius:999px;display:inline-flex;gap:8px;justify-content:center;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.login-button,.primary-button{background:var(--blue);color:#ffffff;font-size:16px;font-weight:500;min-height:44px;padding:0 22px;white-space:nowrap}.login-button:hover,.primary-button:hover{background:var(--blue-deep)}.primary-button.danger-primary{background:var(--danger)}.primary-button.danger-primary:hover{background:#8f1111}.avatar-button:active,.login-button:active,.primary-button:active{transform:scale(.95)}.login-button.connected{background:#eef7f1;border-color:#bfdfc8;color:#1d7440}.auth-error{background:var(--danger-soft);border:1px solid #f0c6c6;border-radius:8px;color:var(--danger);font-size:13px;margin:-4px 0 14px;padding:12px 14px}.action-error{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.action-error>span{flex:1 1 280px}.modal-backdrop{align-items:center;background:rgba(25,28,29,.42);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:40}.confirm-dialog{background:#ffffff;border:1px solid var(--line);border-radius:12px;display:grid;grid-gap:16px;gap:16px;max-height:calc(100vh - 48px);max-width:520px;overflow:auto;padding:22px;width:min(100%,520px)}.confirm-icon{align-items:center;background:var(--blue-soft);border:1px solid #d3e3ff;border-radius:10px;color:var(--blue);display:inline-flex;height:44px;justify-content:center;width:44px}.confirm-icon.danger{background:var(--danger-soft);border-color:#f0c6c6;color:var(--danger)}.permission-confirm-dialog{max-width:560px}.confirm-copy{display:grid;grid-gap:8px;gap:8px}.confirm-copy p:not(.section-label){color:var(--muted);font-size:14px;line-height:1.5;margin:0}.confirm-summary{border:1px solid var(--line);border-radius:10px;display:grid;margin:0;overflow:hidden}.confirm-summary div{align-items:center;border-bottom:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;grid-template-columns:130px minmax(0,1fr);min-height:54px;padding:10px 12px}.confirm-summary div:last-child{border-bottom:0}.confirm-summary dt{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.confirm-summary dd{display:grid;grid-gap:3px;gap:3px;margin:0;min-width:0}.confirm-summary dd,.confirm-summary span,.confirm-summary strong{overflow-wrap:anywhere}.confirm-summary span{color:var(--muted);font-size:12px}.approval-field{display:grid;grid-gap:7px;gap:7px}.approval-field span{color:var(--text-secondary);font-size:12px;font-weight:800}.approval-field input{border:1px solid var(--line);border-radius:8px;min-height:42px;padding:0 12px;width:100%}.approval-field input:focus{border-color:var(--blue);outline:3px solid rgba(0,96,171,.12)}.approval-field input:disabled{background:#f8f9fa;color:var(--muted)}.permission-link-result{align-items:flex-start;background:#eef7f1;border:1px solid #bfdfc8;border-radius:8px;color:#1d7440;display:flex;gap:10px;margin-bottom:14px;padding:12px 14px}.permission-link-result svg{flex:0 0 auto;margin-top:2px}.permission-link-result div{display:grid;grid-gap:8px;gap:8px;min-width:0}.permission-link-result span,.permission-link-result strong{overflow-wrap:anywhere}.permission-link-result span{color:#2f7048;font-size:13px;line-height:1.45}.permission-link-result .secondary-button{justify-self:flex-start}.copy-link-button{min-width:112px}.copy-link-button.copied{background:#ffffff;border-color:#98cda7;color:#1d7440}.copy-link-feedback{color:#6b5b20;font-size:12px;line-height:1.35}.copy-link-feedback.success{color:#1d7440}.confirm-error{margin:0}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.status-strip{align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:8px;color:var(--muted);display:inline-flex;font-size:13px;gap:8px;margin:-4px 0 14px;min-height:36px;padding:0 12px;width:-moz-fit-content;width:fit-content}.status-strip strong{color:var(--text)}.status-dot{background:#98a2b3;border-radius:999px;height:8px;width:8px}.status-dot.live{background:#12b76a}.page-section,.pane{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-width:0;padding:24px}.page-section{width:100%}.page-header{display:grid;grid-gap:8px;gap:8px;margin-bottom:22px}.site-picker-hero{align-items:flex-end;display:flex;justify-content:space-between;gap:24px;margin-bottom:28px}.site-picker-hero h1{color:var(--text);font-size:36px;font-weight:600;line-height:44px;margin-bottom:6px}.site-picker-hero p:not(.section-label){color:var(--text-secondary);font-size:15px;margin:0;max-width:620px}.page-header.with-actions{align-items:flex-start;display:flex;justify-content:space-between}.page-header p:not(.section-label){color:var(--muted);font-size:14px;margin:0}.header-actions{display:flex;flex-wrap:wrap;gap:8px}.site-card-grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.site-card{background:#ffffff;border:1px solid var(--line);border-radius:12px;color:var(--text);cursor:pointer;min-height:176px;overflow:hidden;padding:0;text-align:left;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.site-card:hover{border-color:rgba(0,102,204,.24);box-shadow:0 10px 24px rgba(15,23,42,.07);transform:translateY(-2px)}.secondary-button:active,.site-card:active{transform:scale(.98)}.site-card-band{background:var(--blue);height:46px;position:relative}.site-card-1 .site-card-avatar,.site-card-1 .site-card-band{background:#008272}.site-card-2 .site-card-avatar,.site-card-2 .site-card-band{background:#498205}.site-card-3 .site-card-avatar,.site-card-3 .site-card-band{background:#5c2d91}.site-card-star{color:#ffffff;position:absolute;right:16px;top:14px}.site-card-body{padding:0 18px 18px;position:relative}.site-card-avatar{align-items:center;background:var(--blue);border:1px solid rgba(255,255,255,.7);color:#ffffff;display:flex;font-size:20px;font-weight:600;height:58px;justify-content:center;margin-bottom:18px;margin-top:-29px;width:58px}.site-card-copy{min-width:0}.site-card-copy h2{color:var(--text);font-size:20px;font-weight:600;margin:0 0 4px}.site-card-copy p{color:var(--text-secondary);font-size:13px;margin:0;word-break:break-all}.site-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.site-card-meta span{background:#f3f4f5;border:1px solid var(--line);border-radius:999px;color:var(--text-secondary);font-size:12px;gap:5px;padding:5px 9px}.site-card-action,.site-card-meta span{align-items:center;display:inline-flex;font-weight:600}.site-card-action{color:var(--blue);font-size:14px;gap:7px;margin-top:18px}.loading-note{color:var(--muted);font-size:13px;margin-top:16px}.spin-icon{animation:spin .8s linear infinite}.skeleton-block,.skeleton-line,.skeleton-pill,.skeleton-table-row{background:linear-gradient(90deg,#f2f4f7,#e4e7ec 48%,#f2f4f7);background-size:220% 100%;animation:shimmer 1.15s ease-in-out infinite}.skeleton-card{cursor:default;pointer-events:none}.skeleton-card .site-card-band{border:0}.skeleton-card .site-card-avatar{color:transparent}.skeleton-stack{display:grid;grid-gap:16px;gap:16px}.skeleton-line{border-radius:999px;display:block;height:12px;width:100%}.skeleton-line.short{max-width:80px}.skeleton-line.medium{max-width:150px}.skeleton-line.wide{max-width:240px}.skeleton-pill-row{display:flex;gap:8px;margin-top:16px}.skeleton-pill{border-radius:999px;display:inline-block;height:28px;width:116px}.skeleton-meta{width:-moz-fit-content;width:fit-content}.skeleton-metric{min-height:90px}.skeleton-table-row{align-items:center;border-bottom:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(var(--skeleton-columns,4),minmax(80px,1fr));min-height:72px;padding:12px}.items-table .skeleton-table-row{grid-template-columns:minmax(260px,1fr) 90px 120px 110px;min-width:680px}.audit-table .skeleton-table-row,.permission-table .skeleton-table-row,.report-permission-table .skeleton-table-row{grid-template-columns:minmax(280px,1fr) 140px 120px 180px 120px;min-width:760px}.report-table .skeleton-table-row{grid-template-columns:minmax(240px,1fr) repeat(5,100px)}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes spin{to{transform:rotate(1turn)}}.explorer-bar{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);background:rgba(248,249,250,.8);border:1px solid var(--line);border-radius:12px;gap:12px;justify-content:space-between;margin-bottom:14px;min-height:44px;padding:0 12px}.breadcrumbs,.explorer-bar{align-items:center;display:flex}.breadcrumbs{color:var(--muted);flex-wrap:wrap;font-size:13px;gap:7px;min-width:0}.breadcrumbs button,.breadcrumbs span{align-items:center;background:transparent;border:0;color:var(--muted);display:inline-flex;gap:6px}.breadcrumbs button{border-radius:999px;cursor:pointer;min-height:28px;padding:0 6px}.breadcrumbs button:hover{background:var(--blue-soft);color:var(--blue)}.breadcrumb-step{min-width:0}.breadcrumb-node{max-width:220px}.breadcrumbs strong{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.secondary-button{align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:999px;color:#315b84;display:inline-flex;font-size:13px;font-weight:600;gap:8px;min-height:36px;padding:0 12px;transition:background .16s ease,border-color .16s ease,transform .16s ease;white-space:nowrap}.secondary-button:hover{background:var(--blue-soft);border-color:#d3e3ff}.explorer-layout{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) 320px}.items-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;overflow-x:auto}.items-head,.items-row{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(260px,1fr) 90px 120px 110px;min-width:680px;padding:12px}.items-head{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.items-head,.items-row{background:#ffffff;border-bottom:1px solid var(--line)}.items-row{border-top:0;cursor:default;min-height:72px;transition:background var(--transition-fast)}.items-row:last-child{border-bottom:0}.items-row:hover{background:#f3f4f5}.items-row.selected{background:var(--blue-soft);box-shadow:inset 3px 0 0 var(--blue)}.items-row.selected .item-name-button strong,.items-row:hover .item-name-button strong{color:var(--blue)}.item-name-button{align-items:center;background:transparent;border:0;color:var(--text);cursor:pointer;display:flex;gap:10px;justify-self:start;max-width:100%;min-width:0;text-align:left;width:-moz-fit-content;width:fit-content}.item-name-button:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.item-name-button .item-icon-stack,.item-name-button .library-icon,.item-name-button>svg{color:var(--blue);flex:0 0 auto}.item-icon-stack{align-items:center;display:inline-flex;height:20px;justify-content:center;position:relative;width:20px}.item-icon-lock{background:#ffffff;border-radius:999px;bottom:-4px;color:var(--blue);padding:1px;position:absolute;right:-4px}.item-name-button span{min-width:0}.item-name-button small,.item-name-button strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-name-button small{color:var(--muted);font-size:12px;margin-top:2px}.activity-pane.compact,.details-pane{background:#ffffff;border:1px solid var(--line);border-radius:12px;padding:16px}.details-pane{align-self:start;display:grid;grid-gap:16px;gap:16px;position:-webkit-sticky;position:sticky;top:88px}.details-icon{align-items:center;background:rgba(0,96,171,.1);border:1px solid #d3e3ff;border-radius:12px;color:var(--blue);display:inline-flex;height:54px;justify-content:center;width:54px}.details-copy{min-width:0}.details-copy h2{font-size:20px;line-height:1.25;overflow-wrap:anywhere}.details-copy>span{color:var(--muted);display:block;font-size:13px;margin-top:4px;text-transform:capitalize}.details-meta{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr 1fr}.details-meta div{background:#f8f9fa;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:3px;gap:3px;padding:10px}.details-meta span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.details-meta strong{color:var(--text);font-size:13px;overflow-wrap:anywhere}.details-actions{display:grid;grid-gap:8px;gap:8px}.details-actions .primary-button,.details-actions .secondary-button{width:100%}.empty-selection{align-items:center;color:var(--muted);display:grid;grid-gap:8px;gap:8px;justify-items:center;min-height:180px;text-align:center}.empty-selection strong{color:var(--text)}.recent-compact{border-top:1px solid var(--line);padding-top:14px}.access-summary{align-items:center;background:#f3f4f5;border:1px solid var(--line);border-radius:12px;display:flex;gap:12px;margin-bottom:14px;padding:12px}.access-metrics{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.access-metrics div{background:#ffffff;border:1px solid var(--line);border-radius:12px;display:grid;grid-gap:4px;gap:4px;padding:14px}.access-metrics strong{color:var(--blue);font-size:24px;line-height:1}.access-metrics span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.access-summary div{display:grid;grid-gap:3px;gap:3px}.access-summary span:last-child{color:var(--muted);font-size:13px}.info-message{align-items:flex-start;background:rgba(0,96,171,.08);border:1px solid rgba(0,96,171,.16);border-radius:8px;color:var(--blue);display:flex;font-size:13px;gap:10px;line-height:1.45;margin-bottom:14px;padding:12px 14px}.info-message svg{flex:0 0 auto;margin-top:1px}.readonly-message{background:#f8f9fa;border-color:var(--line);color:var(--text-secondary)}.approval-message{background:#fff8ed;border-color:#f2d8ad;color:#805400}.approval-reference-panel{background:#ffffff;border:1px solid var(--line);border-radius:10px;margin-bottom:14px;padding:14px}.approval-reference-panel label{display:grid;grid-gap:7px;gap:7px}.approval-reference-panel span{color:var(--text-secondary);font-size:12px;font-weight:800}.approval-reference-panel input{border:1px solid var(--line);border-radius:8px;min-height:42px;padding:0 12px;width:100%}.approval-reference-panel input:focus{border-color:var(--blue);outline:3px solid rgba(0,96,171,.12)}.pane-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px;gap:12px}.count-badge,.policy-badge,.protected-status{align-items:center;border-radius:8px;display:inline-flex;font-size:12px;font-weight:700;min-height:28px;padding:0 10px;white-space:nowrap}.count-badge{background:var(--blue-soft);color:var(--blue)}.library-row{grid-template-columns:40px minmax(0,1fr) auto}.library-copy{min-width:0}.library-copy small,.library-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.policy-badge{background:#f2f5f8;color:var(--muted);max-width:118px;overflow:hidden;text-overflow:ellipsis}.policy-badge.protected,.protected-status{background:var(--blue-soft);color:var(--blue)}.protected-status{gap:6px}.insight-strip{background:#f1f7fd;border:1px solid #d3e3ff;border-radius:8px;color:#174d83;font-size:13px;margin-bottom:14px;padding:12px}.insight-strip,.toolbar{align-items:center;display:flex;gap:10px}.toolbar{flex-wrap:wrap;margin-bottom:12px}.search-box{align-items:center;background:#f8fbff;border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;flex:1 1;gap:8px;min-height:40px;padding:0 12px}.grant-panel input,.grant-panel select,.role-select,.search-box input{background:transparent;border:0;color:var(--text);outline:0}.search-box input{width:100%}.icon-button,.mini-button{background:#ffffff;border-color:var(--line);color:#315b84;height:40px;width:40px}.icon-button:hover,.mini-button:hover{background:var(--blue-soft);border-color:#bad6f3}.item-link-menu{position:relative}.item-link-menu summary{cursor:pointer;list-style:none}.item-link-menu summary::-webkit-details-marker{display:none}.item-link-menu-popover{background:#ffffff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px rgba(22,50,78,.16);display:grid;grid-gap:6px;gap:6px;min-width:168px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:3}.item-link-menu-popover button{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--text);cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:8px;min-height:34px;padding:0 9px;text-align:left;white-space:nowrap}.item-link-menu-popover button:hover:not(:disabled){background:var(--blue-soft);color:var(--blue)}.item-link-menu-popover small{color:var(--muted);font-size:11px;line-height:1.35;padding:0 9px 5px}.grant-panel{align-items:end;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(220px,1fr) 140px auto;margin-bottom:14px;padding:12px 12px 34px}.grant-title{grid-column:1/-1}.grant-title strong,.permission-section-title h2{display:block;font-size:16px;line-height:1.3}.grant-title span{color:var(--muted);display:block;font-size:13px;margin-top:2px}.permission-section-title{align-items:center;display:flex;justify-content:space-between;margin:22px 0 10px}.section-title-actions{align-items:center;display:flex;gap:8px}.permission-section-title span{align-items:center;background:var(--blue-soft);border-radius:999px;color:var(--blue);display:inline-flex;font-size:12px;font-weight:800;min-height:28px;padding:0 10px}.permission-section-title.muted-title span{background:#f3f4f5;color:var(--muted)}.text-button{background:transparent;border:0;border-radius:999px;color:var(--blue);font-size:13px;font-weight:700;min-height:30px;padding:0 8px}.text-button:hover{background:var(--blue-soft)}.table-footnote{color:var(--muted);font-size:13px;margin:10px 2px 0}.grant-panel label{display:grid;grid-gap:6px;gap:6px}.people-picker-field{position:relative}.grant-panel label span{color:var(--muted);font-size:12px;font-weight:700}.field-hint{color:var(--muted);font-size:12px;left:0;line-height:1.35;position:absolute;right:0;top:calc(100% + 8px)}.grant-panel input,.grant-panel select{background:#ffffff;border:1px solid var(--line);border-radius:8px;min-height:40px;padding:0 12px}.people-suggestions{background:#ffffff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px rgba(15,23,42,.12);display:grid;left:0;max-height:280px;overflow:auto;padding:6px;position:absolute;right:0;top:calc(100% + 32px);z-index:30}.people-suggestion{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--text);display:grid;grid-gap:10px;gap:10px;grid-template-columns:32px minmax(0,1fr);min-height:54px;padding:8px;text-align:left}.people-suggestion:hover{background:var(--blue-soft)}.people-suggestion span:last-child{min-width:0}.people-suggestion small,.people-suggestion strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.people-suggestion strong{font-size:13px}.people-suggestion small,.people-suggestion-status{color:var(--muted);font-size:12px}.people-suggestion-status{padding:10px}.people-suggestion-status.error{color:var(--danger)}.permission-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;overflow-x:auto}.table-head,.table-row{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(240px,1.6fr) 120px 170px minmax(250px,1.2fr);min-width:780px;padding:12px}.table-head{background:#ffffff;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.table-head,.table-row{border-bottom:1px solid var(--line)}.table-row{border-top:0;min-height:72px;transition:background var(--transition-fast)}.table-row:last-child{border-bottom:0}.principal-cell{align-items:center;display:flex;gap:10px;min-width:0}.principal-cell span:last-child{min-width:0}.principal-cell small,.principal-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-select{border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:700;min-height:34px;padding:0 12px}.role-select.viewer{background:#f4f9ff;color:#0b5da8}.role-select.editor{background:#eef7f1;color:#1d7440}.role-select.owner{background:#fff7e8;color:#8a5b00}.row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.permission-action-button{align-items:center;border:1px solid var(--line);border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;gap:6px;justify-content:center;min-height:32px;padding:0 10px;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);white-space:nowrap}.permission-action-button.viewer{background:#f4f9ff;color:#0b5da8}.permission-action-button.editor{background:#eef7f1;color:#1d7440}.permission-action-button.danger{background:#ffffff;border-color:#f0c6c6;color:var(--danger)}.permission-action-button:hover:not(:disabled){border-color:#bad6f3;transform:translateY(-1px)}.permission-action-button.danger:hover:not(:disabled){background:var(--danger-soft);border-color:#e89b9b}.remove-access-button{align-items:center;background:#ffffff;border:1px solid #f0c6c6;border-radius:999px;color:var(--danger);display:inline-flex;font-size:13px;font-weight:700;gap:7px;justify-content:center;min-height:34px;padding:0 12px;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);white-space:nowrap}.remove-access-button:hover{background:var(--danger-soft);border-color:#e89b9b}.remove-access-button:active{transform:scale(.98)}.locked-badge{align-items:center;background:#f3f4f5;border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;font-size:12px;font-weight:700;min-height:28px;padding:0 10px}.mini-button{height:34px;width:34px}.icon-button,.mini-button{border-radius:50%}.mini-button.danger{color:var(--danger)}.mini-button.danger:hover{background:var(--danger-soft);border-color:#f0c6c6}.mini-button:disabled,.permission-action-button:disabled,.primary-button:disabled,.role-select:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.45}.empty-row{color:var(--muted);font-size:14px;padding:22px;text-align:center}.site-empty-state{background:#ffffff;border:1px dashed var(--line-strong);border-radius:10px;margin-top:14px}.action-empty-state{display:grid;grid-gap:10px;gap:10px;justify-items:center}.action-empty-state strong{color:var(--text)}.action-empty-state span{max-width:640px}.report-meta{align-items:center;background:#f8f9fa;border:1px solid var(--line);border-radius:10px;display:inline-flex;gap:8px;margin-bottom:14px;min-height:36px;padding:0 12px}.report-meta span,.report-table-row small{color:var(--muted);font-size:12px}.report-meta strong{color:var(--text);font-size:13px}.review-scope-bar{align-items:center;background:#f8f9fa;border:1px solid var(--line);border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px;padding:12px}.review-scope-identity{display:grid;flex:0 1 320px;grid-gap:3px;gap:3px;min-width:220px}.review-scope-identity span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.review-scope-identity strong{color:var(--text);font-size:15px;overflow-wrap:anywhere}.review-scope-identity small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.review-scope-note{color:var(--muted);flex:1 1 360px;font-size:12px;line-height:1.45}.risk-text{color:var(--danger)}.report-permission-table,.report-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;overflow-x:auto}.report-permission-table{margin-bottom:20px}.report-permission-table-scroll{max-height:min(520px,56vh);overflow:auto}.report-permission-table-scroll .report-permission-head{position:-webkit-sticky;position:sticky;top:0;z-index:1}.report-permission-head,.report-permission-row,.report-table-head,.report-table-row{align-items:center;display:grid;grid-gap:12px;gap:12px;padding:12px}.report-table-head,.report-table-row{grid-template-columns:minmax(220px,1.4fr) repeat(5,minmax(82px,1fr));min-width:760px}.report-permission-head,.report-permission-row{grid-template-columns:minmax(240px,1.3fr) 110px minmax(260px,1.4fr) 90px;min-width:760px}.report-permission-head,.report-table-head{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.report-permission-head,.report-permission-row,.report-table-head,.report-table-row{background:#ffffff;border-bottom:1px solid var(--line)}.report-permission-row:last-child,.report-table-row:last-child{border-bottom:0}.report-permission-row div,.report-table-row div{display:grid;grid-gap:3px;gap:3px;min-width:0}.report-permission-row small,.report-permission-row strong,.report-table-row small,.report-table-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-permission-row small{color:var(--muted);font-size:12px}.role-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;justify-content:center;min-height:28px;padding:0 10px;width:-moz-fit-content;width:fit-content}.role-chip.viewer{background:#f4f9ff;color:#0b5da8}.role-chip.editor{background:#eef7f1;color:#1d7440}.role-chip.owner{background:#fff7e8;color:#8a5b00}.audit-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;overflow-x:auto}.audit-page-section{display:flex;flex-direction:column;max-height:calc(100vh - 64px);min-height:0;overflow:hidden}.audit-page-section .audit-search-bar,.audit-page-section .auth-error,.audit-page-section .page-header{flex:0 0 auto}.audit-table-scroll{flex:1 1 auto;min-height:280px;overflow:auto}.audit-table-scroll .audit-table-head{position:-webkit-sticky;position:sticky;top:0;z-index:1}.audit-search-bar{align-items:center;background:#f8f9fa;border:1px solid var(--line);border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:8px}.audit-search-box{background:#ffffff;flex:1 1 360px;margin-bottom:0;min-height:34px}.audit-search-box input{font-size:12px}.audit-filter-select{border:1px solid var(--line);border-radius:8px;color:var(--text-secondary);font-weight:700;min-height:34px}.audit-filter-select,.audit-result-count{background:#ffffff;font-size:12px;padding:0 10px}.audit-result-count{align-items:center;border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;font-weight:800;min-height:30px;white-space:nowrap}.audit-table-head,.audit-table-row{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:132px 126px minmax(160px,1.1fr) minmax(160px,1.1fr) minmax(160px,1fr) 118px 76px;min-width:1080px;padding:8px 10px}.audit-table-head{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.audit-table-head,.audit-table-row{background:#ffffff;border-bottom:1px solid var(--line)}.audit-table-row{font-size:12px;min-height:48px}.audit-table-row:last-child{border-bottom:0}.audit-table-row div,.audit-table-row>span,.audit-table-row>strong{min-width:0}.audit-table-row div{display:grid;grid-gap:1px;gap:1px}.audit-table-row small,.audit-table-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-table-row small{color:var(--muted);font-size:11px}.audit-role-label{color:var(--blue);font-weight:800}.request-ref,.status-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:800;justify-content:center;min-height:24px;padding:0 8px;width:-moz-fit-content;width:fit-content}.request-ref{background:#fff8ed;color:#805400}.status-chip.success{background:#eef7f1;color:#1d7440}.status-chip.failed{background:var(--danger-soft);color:var(--danger)}.audit-list{gap:0}.recent-heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.recent-heading .section-label{margin-bottom:0}.recent-heading span{color:var(--muted);font-size:12px;font-weight:700}.audit-item{display:grid;grid-gap:10px;gap:10px;grid-template-columns:10px 1fr;padding:12px 0}.audit-item+.audit-item{border-top:1px solid var(--line)}.audit-dot{background:var(--blue);border-radius:999px;height:8px;margin-top:5px;width:8px}.audit-item.failed .audit-dot{background:#dc2626}.audit-item.failed strong{color:#b91c1c}.audit-item p{color:var(--muted);font-size:13px;margin:4px 0;overflow-wrap:anywhere}@media (max-width:1440px) and (min-width:1181px){.audit-list{grid-template-columns:repeat(3,minmax(0,1fr))}.audit-item{padding:8px 0}.audit-item,.audit-item+.audit-item{border-top:0}}@media (max-width:1180px){.portal-shell{grid-template-columns:1fr}.portal-sidebar{align-items:center;border-bottom:1px solid var(--line);border-right:0;display:grid;grid-gap:14px;gap:14px;grid-template-columns:auto minmax(260px,1fr) minmax(220px,320px);padding:14px 18px}.portal-main{min-height:calc(100vh - 96px)}.portal-sidebar .brand{padding:0}.sidebar-nav{display:flex;min-width:0}.sidebar-nav-item{border-left:0;border-bottom:3px solid transparent;border-radius:8px;min-width:0;padding:0 12px}.sidebar-nav-item.active,.sidebar-nav-item:hover:not(:disabled){border-bottom-color:var(--blue);border-left-color:transparent}.sidebar-account-card,.workspace-card{margin-top:0}.explorer-layout{grid-template-columns:1fr}.details-pane{position:static}.audit-page-section{max-height:calc(100vh - 132px)}}@media (max-width:980px) and (min-width:861px){.portal-sidebar{align-items:center;gap:12px;grid-template-columns:minmax(220px,1fr) minmax(260px,360px);padding:12px 18px}.portal-sidebar .brand{min-width:0}.sidebar-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.sidebar-nav-item{flex:0 0 auto;min-height:40px}.sidebar-account-card{grid-column:2;grid-row:1;padding:12px}.portal-main{min-height:calc(100vh - 156px)}.portal-content{padding:24px}.page-section{border-radius:10px;padding:22px}.audit-page-section{max-height:calc(100vh - 204px)}.audit-table-head,.audit-table-row{grid-template-columns:124px 118px minmax(150px,1fr) minmax(150px,1fr) 126px 96px 78px;min-width:880px}}@media (max-width:860px){.portal-content{padding:18px}.audit-page-section{max-height:none;min-height:calc(100vh - 180px)}.audit-table-scroll{max-height:60vh}.portal-sidebar{align-items:stretch;grid-template-columns:1fr}.sidebar-nav{overflow-x:auto;padding-bottom:2px}.sidebar-nav-item{flex:1 0 auto}.page-header.with-actions,.site-picker-hero{align-items:stretch;flex-direction:column}.header-actions{justify-content:flex-start}.access-metrics,.details-meta,.grant-panel{grid-template-columns:1fr}.grant-panel .primary-button{width:100%}.explorer-bar{align-items:stretch;flex-direction:column;padding:10px}.breadcrumbs{width:100%}.breadcrumb-node{max-width:min(52vw,260px)}.explorer-bar>.secondary-button{justify-content:center;width:100%}}@media (max-width:720px){.auth-shell,.portal-sidebar{padding:14px}.auth-card,.page-section,.pane{padding:18px}.site-card-grid{grid-template-columns:1fr}h1{font-size:22px}.site-picker-hero h1{font-size:28px;line-height:1.2}}@media (max-width:640px){.auth-shell{align-items:stretch;min-height:100dvh}.auth-card{align-content:center;border-radius:10px;min-height:calc(100dvh - 28px);padding:28px 22px}.auth-copy h1{font-size:28px}.auth-copy p{font-size:15px}.page-section,.pane{border-left:0;border-radius:0;border-right:0;margin-left:-18px;margin-right:-18px}.page-header.with-actions{gap:14px}.header-actions,.header-actions .secondary-button{width:100%}.header-actions .secondary-button{justify-content:center}.site-card{min-height:0}.site-card-meta span{flex:1 1 120px;justify-content:center}.items-table,.permission-table,.report-permission-table,.report-table{border-radius:10px;display:grid;grid-gap:10px;gap:10px;overflow:visible}.items-head,.report-permission-head,.report-table-head,.table-head{display:none}.items-row,.report-permission-row,.report-table-row,.table-row{align-items:stretch;border:1px solid var(--line);border-radius:10px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr;min-height:0;min-width:0;padding:12px}.items-row.selected{box-shadow:inset 4px 0 0 var(--blue)}.items-row>.muted,.items-row>.policy-badge{align-items:center;display:flex;justify-content:space-between;max-width:none;width:100%}.items-row>.muted:before,.items-row>.policy-badge:before{color:var(--muted);content:attr(data-label);font-size:11px;font-weight:800;text-transform:uppercase}.items-row>.policy-badge:before{margin-right:auto}.permission-table{border:0}.table-row{background:#ffffff}.report-permission-table,.report-table{border:0}.report-permission-table-scroll{max-height:60vh;overflow:auto}.report-permission-row,.report-table-row{background:#ffffff}.report-permission-row div:first-child,.report-table-row div{border-bottom:1px solid var(--line);padding-bottom:8px}.report-permission-row>div:not(:first-child),.report-permission-row>span,.report-table-row>span{align-items:center;display:flex;justify-content:space-between}.report-permission-row>div:not(:first-child):before,.report-permission-row>span:before,.report-table-row>span:before{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.report-table-row>span:first-of-type:before{content:"Libraries"}.report-table-row>span:nth-of-type(2):before{content:"Protected"}.report-table-row>span:nth-of-type(3):before{content:"Can edit here"}.report-table-row>span:nth-of-type(4):before{content:"External"}.report-table-row>span:nth-of-type(5):before{content:"From parent"}.report-permission-row>span:first-of-type:before{content:"Role"}.report-permission-row>div:not(:first-child):before{content:"Item scope"}.report-permission-row>span:nth-of-type(2):before{content:"Tenant"}.principal-cell{align-items:flex-start}.principal-cell small,.principal-cell strong{white-space:normal;overflow-wrap:anywhere}.role-display,.row-actions,.table-row>.muted{align-items:center;display:flex;justify-content:space-between;max-width:none;width:100%}.role-display:before,.row-actions:before,.table-row>.muted:before{color:var(--muted);content:attr(data-label);font-size:11px;font-weight:800;text-transform:uppercase}.row-actions{flex-wrap:wrap;gap:8px}.permission-action-button{flex:1 1 92px;min-width:0}.access-summary{align-items:flex-start}.access-metrics strong{font-size:22px}}@media (max-width:420px){.auth-shell,.portal-content,.portal-sidebar{padding-left:12px;padding-right:12px}.page-section,.pane{margin-left:-12px;margin-right:-12px;padding:14px 12px}.brand{gap:10px}.portal-sidebar .brand strong{font-size:18px}.search-box{padding-left:10px;padding-right:10px}.login-button,.primary-button{padding-left:16px;padding-right:16px;white-space:normal}.secondary-button{white-space:normal}.site-card-body{padding-left:14px;padding-right:14px}.breadcrumb-node{max-width:68vw}.details-actions .primary-button,.details-actions .secondary-button{min-height:42px}.modal-backdrop{align-items:flex-end;padding:12px}.confirm-dialog{max-height:calc(100vh - 24px);padding:18px}.confirm-summary div{align-items:flex-start;grid-template-columns:1fr;gap:5px}.confirm-actions{display:grid}.confirm-actions .primary-button,.confirm-actions .secondary-button{width:100%}}