:root{
  --graphite-950:#020303;--graphite-900:#050606;--graphite-800:#0B0D0E;--graphite-700:#121516;--graphite-600:#1A1F20;
  --titanium-100:#F1F2F0;--titanium-200:#D8DCDB;--titanium-300:#B8BFC0;--titanium-400:#8F989A;--titanium-500:#626B6D;
  --warm-accent:#B99A70;--soft-white:#E8E8E4;--muted-text:#8E9495;--danger:#BB3A32;--success:#81A978;
  --line-soft:rgba(196,202,204,.26);--line-strong:rgba(225,231,233,.62);--panel:rgba(18,20,21,.76);--panel-deep:rgba(8,9,10,.88);
  --shadow-soft:0 0 38px rgba(210,218,222,.10);--ease:cubic-bezier(.22,.61,.36,1);--max-width:1860px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.portal-body{margin:0;min-height:100vh;font-family:Inter,Arial,sans-serif;font-weight:300;letter-spacing:.01em;color:var(--soft-white);background:radial-gradient(circle at 50% 18%,rgba(216,220,219,.10),transparent 24rem),radial-gradient(circle at 76% 12%,rgba(185,154,112,.05),transparent 26rem),linear-gradient(180deg,var(--graphite-950),var(--graphite-900) 42%,#030404 100%);overflow-x:hidden}body.portal-body:before,body.portal-body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1}body.portal-body:before{background-image:url("../../images/graphite-network-overlay.png"),linear-gradient(rgba(241,242,240,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(241,242,240,.018) 1px,transparent 1px);background-size:cover,84px 84px,84px 84px;background-position:center top,0 0,0 0;background-repeat:no-repeat,repeat,repeat;opacity:.68;mask-image:radial-gradient(circle at 50% 20%,#000 0%,rgba(0,0,0,.70) 38%,transparent 74%)}body.portal-body:after{opacity:.065;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.55'/%3E%3C/svg%3E");mix-blend-mode:screen}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}.portal-shell{width:min(var(--max-width),calc(100% - 42px));margin:0 auto}.portal-header{position:sticky;top:0;z-index:20;backdrop-filter:blur(16px);background:linear-gradient(180deg,rgba(5,6,6,.88),rgba(5,6,6,.56));border-bottom:1px solid rgba(196,202,204,.12)}.portal-nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.portal-brand{display:inline-flex;align-items:center;gap:13px;min-width:220px}.portal-brand img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(216,220,219,.08))}.portal-brand span{font-family:Manrope,Arial,sans-serif;font-size:.83rem;line-height:1;letter-spacing:.12em;color:var(--titanium-200)}.portal-top-actions{display:flex;align-items:center;gap:12px}.portal-button,.portal-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;border:1px solid rgba(216,220,219,.30);border-radius:10px;background:rgba(10,12,12,.46);color:var(--titanium-200);font-family:Manrope,Arial,sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;transition:border-color .25s var(--ease),box-shadow .25s var(--ease),transform .25s var(--ease),color .25s var(--ease),background .25s var(--ease);cursor:pointer}.portal-button{padding:0 19px}.portal-icon-button{width:40px;padding:0}.portal-button:hover,.portal-icon-button:hover{transform:translateY(-1px);border-color:var(--line-strong);color:var(--titanium-100);box-shadow:var(--shadow-soft)}.portal-button.primary{background:linear-gradient(135deg,rgba(185,154,112,.22),rgba(216,220,219,.06));border-color:rgba(185,154,112,.48);color:var(--titanium-100)}.portal-button.danger{border-color:rgba(187,58,50,.48);color:#ffc9c4;background:rgba(187,58,50,.08)}.portal-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.auth-page{display:grid;min-height:100vh;grid-template-columns:minmax(360px,.74fr) minmax(420px,1.1fr)}.auth-aside{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:42px min(5vw,76px);border-right:1px solid rgba(196,202,204,.14);overflow:hidden}.auth-aside:before{content:"";position:absolute;inset:auto -20% -16% -20%;height:60%;background:url("../../images/network-planet.png") center/cover no-repeat;opacity:.34;filter:saturate(.4) contrast(1.1);mask-image:linear-gradient(transparent,#000 30%,#000)}.auth-logo{position:relative;display:inline-flex;align-items:center;gap:14px}.auth-logo img{width:42px;height:42px;object-fit:contain}.auth-logo span{font-family:Manrope,Arial,sans-serif;letter-spacing:.16em;color:var(--titanium-200)}.auth-aside-copy{position:relative;max-width:420px}.auth-aside-copy .eyebrow,.portal-eyebrow{margin:0 0 24px;font-family:Manrope,Arial,sans-serif;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--titanium-400)}.auth-aside-copy h1,.portal-hero h1{margin:0;font-family:Manrope,Arial,sans-serif;font-weight:300;letter-spacing:-.055em;line-height:1.05;color:var(--titanium-100)}.auth-aside-copy h1{font-size:clamp(2.6rem,5vw,4.6rem)}.auth-aside-copy p,.portal-hero p{color:var(--titanium-400);line-height:1.8}.auth-footer-note{position:relative;color:rgba(216,220,219,.42);font-size:.82rem}.auth-main{display:grid;place-items:center;padding:42px}.auth-card,.titanium-panel{position:relative;border:1px solid var(--line-soft);border-radius:24px;background:linear-gradient(180deg,rgba(18,20,21,.82),rgba(8,9,10,.76));box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 34px 80px rgba(0,0,0,.32);overflow:hidden}.auth-card:before,.titanium-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent,rgba(241,242,240,.06),transparent 42%);opacity:.42;pointer-events:none}.auth-card{width:min(480px,100%);padding:42px}.auth-card h2{margin:0 0 10px;font-family:Manrope,Arial,sans-serif;font-weight:300;letter-spacing:.12em;text-transform:uppercase;font-size:1.1rem}.auth-card p{margin:0 0 30px;color:var(--muted-text);line-height:1.7}.field{display:grid;gap:9px;margin-bottom:18px}.field label{font-family:Manrope,Arial,sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--titanium-400)}.field input,.field select,.field textarea,.table-input{width:100%;min-height:42px;border:1px solid rgba(196,202,204,.20);border-radius:10px;background:rgba(4,5,5,.54);color:var(--soft-white);padding:0 13px;outline:none;transition:border-color .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease)}.field textarea{padding:12px 13px;min-height:88px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.table-input:focus{border-color:var(--line-strong);box-shadow:0 0 0 3px rgba(216,220,219,.06);background:rgba(4,5,5,.70)}.auth-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}.request-link{color:var(--titanium-300);font-size:.86rem;border-bottom:1px solid rgba(216,220,219,.20);transition:color .25s var(--ease),border-color .25s var(--ease)}.request-link:hover{color:var(--titanium-100);border-color:rgba(216,220,219,.58)}.auth-error,.portal-alert{display:none;margin:16px 0 0;padding:12px 14px;border:1px solid rgba(187,58,50,.36);border-radius:12px;background:rgba(187,58,50,.08);color:#ffc9c4;line-height:1.5}.auth-error.is-visible,.portal-alert.is-visible{display:block}.demo-box{margin-top:24px;border-top:1px solid rgba(196,202,204,.14);padding-top:20px;color:var(--muted-text);font-size:.84rem;line-height:1.7}.demo-box code{color:var(--warm-accent)}.portal-main{padding:40px 0 64px}.portal-hero{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:end;margin-bottom:26px}.portal-hero h1{font-size:clamp(2.3rem,5vw,4.7rem)}.portal-hero p{max-width:620px;margin:22px 0 0}.user-card{min-width:min(360px,100%);padding:22px}.user-line{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(196,202,204,.10)}.user-line:last-child{border-bottom:0}.user-line span:first-child{color:var(--muted-text)}.role-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(185,154,112,.42);background:rgba(185,154,112,.08);color:var(--titanium-100);font-family:Manrope,Arial,sans-serif;font-size:.70rem;letter-spacing:.13em;text-transform:uppercase}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.tab-button{border:1px solid rgba(196,202,204,.20);border-radius:12px;background:rgba(10,12,12,.46);color:var(--titanium-300);padding:12px 16px;font-family:Manrope,Arial,sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:.25s var(--ease)}.tab-button.is-active{border-color:rgba(185,154,112,.54);color:var(--titanium-100);background:rgba(185,154,112,.10);box-shadow:0 0 24px rgba(185,154,112,.07)}.portal-panel{display:none;padding:24px}.portal-panel.is-active{display:block}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}.panel-title{margin:0;font-family:Manrope,Arial,sans-serif;font-weight:300;letter-spacing:.18em;text-transform:uppercase;font-size:1.04rem}.panel-desc{margin:8px 0 0;color:var(--muted-text);line-height:1.7;max-width:700px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar .field{min-width:220px;margin:0}.upload-zone{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 22px;padding:18px;border:1px solid rgba(196,202,204,.12);border-radius:18px;background:rgba(4,5,5,.24)}.upload-zone .field.full{grid-column:1/-1}.file-input-wrap{position:relative;overflow:hidden}.file-input-wrap input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.file-input-label{display:flex;align-items:center;justify-content:center;min-height:42px;border:1px dashed rgba(216,220,219,.28);border-radius:10px;color:var(--titanium-300);background:rgba(4,5,5,.30)}.table-wrap{overflow:auto;border:1px solid rgba(196,202,204,.12);border-radius:18px}.portal-table{width:100%;border-collapse:collapse;min-width:820px}.portal-table th,.portal-table td{padding:14px 14px;text-align:left;border-bottom:1px solid rgba(196,202,204,.10);vertical-align:middle}.portal-table th{font-family:Manrope,Arial,sans-serif;font-size:.70rem;letter-spacing:.14em;text-transform:uppercase;color:var(--titanium-400);font-weight:400;background:rgba(216,220,219,.035)}.portal-table tr:last-child td{border-bottom:0}.file-name{font-weight:400;color:var(--titanium-100)}.file-meta{display:block;margin-top:5px;color:var(--muted-text);font-size:.82rem}.table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mini-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;border-radius:9px;border:1px solid rgba(196,202,204,.22);background:rgba(4,5,5,.36);color:var(--titanium-300);cursor:pointer;transition:.2s var(--ease);font-size:.82rem}.mini-button:hover{border-color:rgba(216,220,219,.58);color:var(--titanium-100)}.mini-button.danger{border-color:rgba(187,58,50,.34);color:#ffc9c4}.empty-state{padding:34px;text-align:center;color:var(--muted-text)}.management-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.split-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:18px}.management-card{padding:18px;border:1px solid rgba(196,202,204,.12);border-radius:18px;background:rgba(4,5,5,.22)}.management-card h3{margin:0 0 14px;font-family:Manrope,Arial,sans-serif;font-weight:400;letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;color:var(--titanium-200)}.management-table{width:100%;border-collapse:collapse}.management-table th,.management-table td{padding:8px 6px;text-align:left}.management-table th{font-family:Manrope,Arial,sans-serif;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-text);font-weight:400}.management-table .table-input{min-height:38px}.management-table select.table-input{padding-right:24px}.check-cell{display:flex;align-items:center;justify-content:center}.check-cell input{width:18px;height:18px;accent-color:var(--warm-accent)}.row-remove{width:36px;min-width:36px;height:36px;border:1px solid rgba(187,58,50,.45);border-radius:10px;background:rgba(187,58,50,.12);color:#ffd0cc;cursor:pointer}.save-note{margin:14px 0 0;color:var(--muted-text);font-size:.86rem;line-height:1.6}.success-note{display:none;margin:14px 0 0;color:#cae4c4}.success-note.is-visible{display:block}.hidden{display:none!important}@media(max-width:980px){.auth-page{grid-template-columns:1fr}.auth-aside{min-height:420px;border-right:0;border-bottom:1px solid rgba(196,202,204,.14)}.portal-hero{grid-template-columns:1fr}.user-card{min-width:0}.split-grid{grid-template-columns:1fr}.upload-zone{grid-template-columns:1fr}}@media(max-width:640px){.portal-shell{width:min(100% - 24px,var(--max-width))}.portal-nav{height:auto;min-height:72px;align-items:flex-start;flex-direction:column;padding:16px 0}.portal-brand{min-width:0}.portal-top-actions{width:100%;justify-content:space-between}.portal-button{padding:0 13px;font-size:.66rem}.auth-main{padding:22px}.auth-card{padding:28px}.auth-row{align-items:flex-start;flex-direction:column}.panel-head{flex-direction:column}.portal-panel{padding:16px}.portal-main{padding-top:26px}.portal-table{min-width:760px}.management-table{min-width:660px}.management-card{overflow:auto}}

/* Stage 4: Drive-style file manager */
.drive-panel{padding:0;overflow:hidden}.drive-layout{display:grid;grid-template-columns:220px minmax(0,1fr)280px;min-height:640px}.drive-sidebar{border-right:1px solid rgba(196,202,204,.12);padding:22px 12px;background:linear-gradient(180deg,rgba(216,220,219,.035),rgba(4,5,5,.10));display:flex;flex-direction:column;gap:12px}.drive-sidebar-title{font-family:Manrope,Arial,sans-serif;font-size:1.03rem;letter-spacing:.05em;color:var(--titanium-100);padding:0 8px 8px}.drive-primary,.drive-secondary{width:100%;min-height:42px;border:1px solid rgba(196,202,204,.24);border-radius:12px;background:rgba(216,220,219,.08);color:var(--titanium-100);font-family:Manrope,Arial,sans-serif;font-size:.76rem;font-weight:500;letter-spacing:.07em;cursor:pointer;transition:.22s var(--ease)}.drive-primary{background:linear-gradient(135deg,rgba(185,154,112,.90),rgba(216,220,219,.28));border-color:rgba(185,154,112,.66);color:#080909}.drive-secondary:hover,.drive-primary:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(0,0,0,.24);border-color:rgba(241,242,240,.48)}.drive-primary:disabled,.drive-secondary:disabled{opacity:.42;cursor:not-allowed;transform:none}.drive-nav{display:grid;gap:3px;margin:12px 0}.drive-nav button{min-height:38px;border:0;border-radius:10px;background:transparent;color:var(--titanium-300);text-align:left;padding:0 10px;font-family:Inter,Arial,sans-serif;cursor:pointer;transition:.2s var(--ease)}.drive-nav button:hover,.drive-nav button.is-active{background:rgba(216,220,219,.075);color:var(--titanium-100)}.drive-nav button:disabled{opacity:.46;cursor:not-allowed}.drive-sidebar-note{margin-top:auto;padding:14px 10px;border:1px solid rgba(196,202,204,.12);border-radius:14px;background:rgba(4,5,5,.22);display:grid;gap:7px;color:var(--muted-text);font-size:.78rem;line-height:1.45}.drive-sidebar-note strong{font-family:Manrope,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--titanium-300);font-size:.68rem}.drive-main{min-width:0;padding:24px}.drive-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:12px}.drive-tools{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;justify-content:flex-end}.drive-tools .field{margin:0}.drive-search-field{min-width:240px}.drive-company-field{min-width:185px}.drive-sort-field{min-width:160px}.drive-view-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(196,202,204,.16);border-radius:12px;background:rgba(4,5,5,.25);height:44px;align-items:center}.drive-view-switch button{width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--titanium-400);cursor:pointer}.drive-view-switch button.is-active{background:rgba(216,220,219,.12);color:var(--titanium-100)}.drive-breadcrumbs{display:flex;align-items:center;gap:8px;margin-top:11px;min-height:30px;color:var(--muted-text);flex-wrap:wrap}.drive-breadcrumbs button{border:0;background:transparent;color:var(--titanium-300);padding:0;cursor:pointer;font:inherit}.drive-breadcrumbs button:hover{color:var(--titanium-100)}.drive-breadcrumbs strong{color:var(--titanium-100);font-weight:400}.drive-subbar{display:flex;justify-content:space-between;gap:14px;margin:0 0 14px;color:var(--muted-text);font-size:.82rem}.drive-subbar span:first-child{color:var(--titanium-300)}.drive-drop-zone{position:relative;min-height:450px;border:1px solid rgba(196,202,204,.10);border-radius:20px;background:radial-gradient(circle at 55% 0%,rgba(216,220,219,.05),transparent 34%),rgba(4,5,5,.18);padding:18px;transition:border-color .2s var(--ease),background .2s var(--ease)}.drive-drop-zone.is-dragover{border-color:rgba(185,154,112,.68);background:rgba(185,154,112,.06)}.drive-content.view-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:14px}.drive-content.view-list{display:grid;gap:8px}.drive-item{position:relative;border:1px solid rgba(196,202,204,.12);border-radius:16px;background:linear-gradient(180deg,rgba(18,20,21,.76),rgba(7,8,8,.68));padding:12px;display:grid;gap:10px;cursor:pointer;transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease);outline:none}.drive-item:hover,.drive-item.is-selected{transform:translateY(-2px);border-color:rgba(216,220,219,.44);box-shadow:0 0 34px rgba(216,220,219,.07),0 18px 44px rgba(0,0,0,.22)}.drive-item.is-selected{background:linear-gradient(180deg,rgba(185,154,112,.10),rgba(8,9,10,.72))}.item-preview{height:88px;border-radius:12px;background:radial-gradient(circle at 50% 20%,rgba(241,242,240,.10),rgba(216,220,219,.03) 44%,rgba(4,5,5,.34)),linear-gradient(145deg,rgba(216,220,219,.08),rgba(4,5,5,.16));border:1px solid rgba(216,220,219,.10);display:grid;place-items:center;overflow:hidden}.item-preview img{width:100%;height:100%;object-fit:cover}.folder-glyph{position:relative;width:78px;height:52px;border-radius:8px 10px 10px 10px;background:linear-gradient(135deg,rgba(216,220,219,.78),rgba(143,152,154,.24));box-shadow:inset 0 0 0 1px rgba(241,242,240,.20),0 0 22px rgba(216,220,219,.06)}.folder-glyph:before{content:"";position:absolute;left:8px;top:-9px;width:30px;height:14px;border-radius:7px 7px 0 0;background:linear-gradient(135deg,rgba(216,220,219,.82),rgba(143,152,154,.34))}.file-glyph{display:grid;place-items:center;width:58px;height:70px;border:1px solid rgba(216,220,219,.24);border-radius:10px;background:linear-gradient(180deg,rgba(216,220,219,.12),rgba(4,5,5,.32));font-family:Manrope,Arial,sans-serif;font-size:.78rem;letter-spacing:.12em;color:var(--titanium-200)}.item-body{display:grid;gap:4px;min-width:0}.item-body strong{font-weight:400;color:var(--titanium-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-body span,.item-body em{font-style:normal;color:var(--muted-text);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-actions{display:none;position:absolute;z-index:3;right:10px;top:10px;padding:6px;border:1px solid rgba(196,202,204,.14);border-radius:12px;background:rgba(5,6,6,.88);box-shadow:0 14px 40px rgba(0,0,0,.34);gap:4px;min-width:150px}.drive-item:hover .item-actions,.drive-item:focus-within .item-actions{display:grid}.item-action{border:0;border-radius:8px;background:transparent;color:var(--titanium-300);min-height:30px;text-align:left;padding:0 9px;cursor:pointer}.item-action:hover{background:rgba(216,220,219,.10);color:var(--titanium-100)}.item-action.danger{color:#ffc9c4}.view-list .drive-item{grid-template-columns:46px minmax(0,1fr) auto;align-items:center;min-height:64px}.view-list .item-preview{height:42px;width:46px;border-radius:10px}.view-list .folder-glyph{width:34px;height:23px;border-radius:5px}.view-list .folder-glyph:before{left:4px;top:-5px;width:14px;height:7px;border-radius:4px 4px 0 0}.view-list .file-glyph{width:34px;height:40px;border-radius:7px;font-size:.55rem}.view-list .item-actions{position:static;display:flex;background:transparent;border:0;box-shadow:none;min-width:0;padding:0}.view-list .item-action{border:1px solid rgba(196,202,204,.14);min-height:30px}.drive-empty{grid-column:1/-1;min-height:220px;display:grid;place-items:center;text-align:center;color:var(--muted-text);border:1px dashed rgba(196,202,204,.16);border-radius:18px}.drive-details{border-left:1px solid rgba(196,202,204,.12);padding:24px 18px;background:linear-gradient(180deg,rgba(216,220,219,.025),rgba(4,5,5,.12));min-width:0}.drive-details h3{margin:0 0 10px;font-family:Manrope,Arial,sans-serif;font-weight:400;letter-spacing:.09em;color:var(--titanium-100);word-break:break-word}.drive-details p{margin:0 0 18px;color:var(--muted-text);line-height:1.6}.detail-row{display:flex;justify-content:space-between;gap:16px;border-top:1px solid rgba(196,202,204,.10);padding:12px 0;color:var(--muted-text);font-size:.84rem}.detail-row strong{color:var(--titanium-200);font-weight:400;text-align:right}.drive-storage{height:7px;border-radius:999px;background:rgba(216,220,219,.10);overflow:hidden;margin:18px 0}.drive-storage span{display:block;width:34%;height:100%;background:linear-gradient(90deg,var(--warm-accent),rgba(216,220,219,.78))}.drive-details small{color:rgba(216,220,219,.42);line-height:1.6;display:block}@media(max-width:1180px){.drive-layout{grid-template-columns:190px minmax(0,1fr)}.drive-details{display:none}.drive-topbar{flex-direction:column}.drive-tools{justify-content:flex-start;width:100%}.drive-search-field{min-width:min(100%,260px)}}@media(max-width:760px){.drive-layout{grid-template-columns:1fr}.drive-sidebar{border-right:0;border-bottom:1px solid rgba(196,202,204,.12)}.drive-main{padding:16px}.drive-tools{display:grid;grid-template-columns:1fr;width:100%}.drive-search-field,.drive-company-field,.drive-sort-field{min-width:0}.drive-subbar{flex-direction:column}.drive-content.view-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.view-list .drive-item{grid-template-columns:42px minmax(0,1fr)}}


/* Stage 5: drive-style context menu, folder colors, responsive full-screen workspace */
.portal-shell{width:min(var(--max-width),calc(100% - 32px));}
.drive-panel{min-height:calc(100vh - 230px);}
.drive-layout{grid-template-columns:240px minmax(0,1fr)320px;min-height:calc(100vh - 260px);}
.drive-main{padding:26px;}
.drive-drop-zone{min-height:calc(100vh - 420px);}
.drive-content.view-grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:16px;}
.item-actions,.drive-item:hover .item-actions,.drive-item:focus-within .item-actions,.view-list .item-actions{display:none!important;}
.drive-item{user-select:none;}
.drive-folder .item-preview{background:radial-gradient(circle at 50% 20%,color-mix(in srgb,var(--folder-color,#D8DCDB) 18%,transparent),rgba(216,220,219,.03) 48%,rgba(4,5,5,.34)),linear-gradient(145deg,rgba(216,220,219,.07),rgba(4,5,5,.18));}
.folder-glyph{background:linear-gradient(135deg,var(--folder-color,#D8DCDB),var(--folder-color-soft,#8F989A));box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 0 24px color-mix(in srgb,var(--folder-color,#D8DCDB) 18%,transparent);}
.folder-glyph:before{background:linear-gradient(135deg,color-mix(in srgb,var(--folder-color,#D8DCDB) 96%,#fff),var(--folder-color-soft,#8F989A));}
.drive-context-menu{position:fixed;z-index:1000;min-width:270px;padding:10px;border:1px solid rgba(216,220,219,.18);border-radius:18px;background:linear-gradient(180deg,rgba(244,245,242,.96),rgba(224,227,226,.94));box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.18) inset;color:#34383a;backdrop-filter:blur(18px);}
.context-row{width:100%;min-height:42px;border:0;border-radius:11px;background:transparent;color:#34383a;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:4px;padding:0 10px;text-align:left;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease),opacity .18s var(--ease);}
.context-row span{font-family:Manrope,Arial,sans-serif;font-size:1.05rem;color:#3e4446;text-align:center;}
.context-row strong{font-weight:400;font-size:.96rem;letter-spacing:.01em;}
.context-row:hover{background:rgba(0,0,0,.06);}
.context-row:disabled{opacity:.38;cursor:not-allowed;}
.context-row:disabled:hover{background:transparent;}
.context-separator{height:1px;background:rgba(52,56,58,.12);margin:7px 4px;}
.context-color-title{padding:4px 10px 8px;font-family:Manrope,Arial,sans-serif;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#697174;}
.folder-color-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;padding:0 8px 6px;}
.folder-color-dot{width:26px;height:26px;border-radius:999px;border:1px solid rgba(0,0,0,.18);background:linear-gradient(135deg,var(--dot),var(--dot-soft));box-shadow:0 2px 9px rgba(0,0,0,.20);cursor:pointer;position:relative;}
.folder-color-dot.is-active:after{content:"";position:absolute;inset:6px;border:2px solid rgba(255,255,255,.92);border-radius:999px;box-shadow:0 0 0 1px rgba(0,0,0,.22);}
@media(min-width:1600px){.drive-layout{grid-template-columns:260px minmax(0,1fr)350px;}.drive-content.view-grid{grid-template-columns:repeat(auto-fill,minmax(172px,1fr));}.drive-drop-zone{min-height:calc(100vh - 390px);}}
@media(max-width:1180px){.drive-layout{grid-template-columns:190px minmax(0,1fr)!important;}.drive-drop-zone{min-height:450px;}}
@media(max-width:760px){.portal-shell{width:min(100% - 18px,var(--max-width));}.drive-layout{grid-template-columns:1fr!important;}.drive-context-menu{min-width:min(290px,calc(100vw - 24px));}.drive-drop-zone{min-height:420px;}.drive-content.view-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));}}


/* Stage 6: sorting order, ZIP folder downloads, PDF preview and glass context menu */
.drive-order-field{min-width:170px;}
.drive-context-menu{
  min-width:292px;
  padding:12px;
  border:1px solid rgba(216,220,219,.22);
  border-radius:22px;
  background:
    radial-gradient(circle at 18% 0%,rgba(255,255,255,.14),transparent 28%),
    linear-gradient(145deg,rgba(28,31,32,.78),rgba(9,10,11,.68));
  color:var(--titanium-100);
  box-shadow:0 28px 80px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.08) inset,0 0 42px rgba(216,220,219,.08);
  backdrop-filter:blur(26px) saturate(130%);
  -webkit-backdrop-filter:blur(26px) saturate(130%);
  transform-origin:top left;
  animation:contextGlassIn .16s var(--ease) both;
  overflow:hidden;
}
.drive-context-menu:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,rgba(255,255,255,.11),transparent 32%,rgba(185,154,112,.06) 68%,transparent);pointer-events:none;}
@keyframes contextGlassIn{from{opacity:0;transform:translateY(8px) scale(.97);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
.context-row{position:relative;color:var(--titanium-100);border-radius:14px;min-height:44px;grid-template-columns:38px 1fr;padding:0 12px;}
.context-row span{color:var(--titanium-300);font-size:1rem;}
.context-row strong{font-size:.95rem;color:var(--titanium-100);font-weight:400;}
.context-row:hover{background:rgba(216,220,219,.10);box-shadow:0 0 0 1px rgba(216,220,219,.08) inset;}
.context-row:hover span{color:var(--warm-accent);}
.context-row:disabled{opacity:.36;}
.context-separator{background:linear-gradient(90deg,transparent,rgba(216,220,219,.18),transparent);margin:8px 4px;}
.context-color-title{color:var(--titanium-400);padding:4px 12px 9px;}
.folder-color-dot{width:28px;height:28px;border:1px solid rgba(255,255,255,.20);box-shadow:0 8px 20px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.08) inset;transition:transform .16s var(--ease),box-shadow .16s var(--ease);}
.folder-color-dot:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.38),0 0 24px color-mix(in srgb,var(--dot) 24%,transparent);}
.file-preview-modal[hidden]{display:none!important;}
.file-preview-modal{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:28px;}
.file-preview-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.file-preview-shell{position:relative;width:min(1180px,calc(100vw - 42px));height:min(820px,calc(100vh - 42px));border:1px solid rgba(216,220,219,.22);border-radius:24px;background:linear-gradient(180deg,rgba(18,20,21,.88),rgba(6,7,8,.92));box-shadow:0 35px 90px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.06) inset;overflow:hidden;display:grid;grid-template-rows:auto 1fr;animation:previewIn .18s var(--ease) both;}
@keyframes previewIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.file-preview-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid rgba(216,220,219,.12);background:rgba(216,220,219,.04);}
.file-preview-header div:first-child{min-width:0;display:grid;gap:4px;}
.file-preview-header span{font-family:Manrope,Arial,sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--titanium-400);}
.file-preview-header strong{font-family:Manrope,Arial,sans-serif;font-weight:400;color:var(--titanium-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.file-preview-actions{display:flex;gap:8px;flex:0 0 auto;}
.file-preview-actions button{min-height:38px;border:1px solid rgba(216,220,219,.22);border-radius:12px;background:rgba(216,220,219,.07);color:var(--titanium-100);font-family:Manrope,Arial,sans-serif;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;padding:0 14px;cursor:pointer;}
.file-preview-actions button:hover{border-color:rgba(241,242,240,.42);background:rgba(216,220,219,.12);}
.file-preview-body{min-height:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 0%,rgba(216,220,219,.05),transparent 35%),#050606;}
.file-preview-frame{width:100%;height:100%;border:0;background:#111;}
.file-preview-image{max-width:100%;max-height:100%;object-fit:contain;}
.file-preview-video{max-width:100%;max-height:100%;}
.file-preview-empty{max-width:620px;text-align:center;padding:34px;color:var(--muted-text);line-height:1.65;}
.file-preview-empty strong{display:block;color:var(--titanium-100);font-family:Manrope,Arial,sans-serif;font-weight:400;font-size:1.2rem;margin-bottom:10px;}
body.preview-open{overflow:hidden;}
@media(min-width:1600px){.drive-panel{min-height:calc(100vh - 170px);}.drive-layout{min-height:calc(100vh - 200px);}.drive-drop-zone{min-height:calc(100vh - 330px);}}
@media(max-width:760px){.drive-order-field{min-width:0}.file-preview-modal{padding:10px}.file-preview-shell{width:calc(100vw - 20px);height:calc(100vh - 20px);border-radius:18px}.file-preview-header{align-items:flex-start;flex-direction:column}.file-preview-actions{width:100%;}.file-preview-actions button{flex:1}.drive-context-menu{min-width:min(310px,calc(100vw - 24px));}}

/* Stage 7: active drive sections, reliable preview opening and move-by-drag */
.drive-nav button:not(:disabled){cursor:pointer;}
.drive-nav button.is-active{background:linear-gradient(135deg,rgba(185,154,112,.14),rgba(216,220,219,.06));box-shadow:0 0 0 1px rgba(185,154,112,.18) inset;}
.drive-item[draggable="true"]{cursor:grab;}
.drive-item[draggable="true"]:active{cursor:grabbing;}
.drive-item.is-dragging{opacity:.46;transform:scale(.985);}
.drive-item.is-drop-target{border-color:rgba(185,154,112,.86)!important;box-shadow:0 0 0 1px rgba(185,154,112,.38) inset,0 0 42px rgba(185,154,112,.16),0 18px 50px rgba(0,0,0,.34)!important;background:linear-gradient(180deg,rgba(185,154,112,.16),rgba(7,8,8,.72))!important;}
.drive-drop-zone.is-internal-dragover{border-color:rgba(216,220,219,.54);background:rgba(216,220,219,.045);}
.file-preview-modal{display:grid;}
.file-preview-modal[hidden]{display:none!important;}
.context-row[data-menu-action="restore"] span{color:var(--success);}
.context-row[data-menu-action="delete"] span{color:#ffc9c4;}

/* Stage 8: super-admin site management */
.hidden{display:none!important;}
.site-management-card{overflow:hidden;}
.site-management-hint{display:grid;gap:8px;margin:0 0 16px;padding:16px 18px;border:1px solid rgba(196,202,204,.12);border-radius:16px;background:linear-gradient(135deg,rgba(216,220,219,.055),rgba(4,5,5,.20));}
.site-management-hint strong{font-family:Manrope,Arial,sans-serif;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--titanium-200);font-size:.78rem;}
.site-management-hint span{color:var(--muted-text);line-height:1.65;font-size:.9rem;max-width:960px;}
.site-table-wrap{max-height:min(62vh,680px);}
.site-blocks-table{min-width:1540px;}
.site-blocks-table th,.site-blocks-table td{vertical-align:middle;}
.site-blocks-table .table-input{min-height:38px;font-size:.86rem;}
.site-blocks-table .table-input.compact{min-width:82px;}
.color-cell{display:grid!important;grid-template-columns:minmax(98px,1fr)44px;gap:8px;align-items:center;}
.color-picker{width:44px;height:38px;border:1px solid rgba(196,202,204,.22);border-radius:10px;background:rgba(4,5,5,.54);padding:4px;cursor:pointer;}
.color-picker::-webkit-color-swatch-wrapper{padding:0;}
.color-picker::-webkit-color-swatch{border:0;border-radius:7px;}
.color-value{text-transform:uppercase;letter-spacing:.08em;}
@media(max-width:760px){.site-table-wrap{max-height:70vh}.site-blocks-table{min-width:1320px}.color-cell{grid-template-columns:1fr 38px}.color-picker{width:38px}}

/* Stage 9: 8-slot site block placement grid for super-admin */
.site-blocks-table{min-width:1380px;}
.site-blocks-table th:nth-child(1),.site-blocks-table td:nth-child(1){width:48px;min-width:48px;text-align:center;}
.site-blocks-table th:nth-child(2),.site-blocks-table td:nth-child(2){width:132px;min-width:132px;}
.site-blocks-table th:nth-child(3),.site-blocks-table td:nth-child(3){width:138px;min-width:138px;}
.position-cell{padding-top:10px!important;padding-bottom:10px!important;}
.site-position-picker{width:94px;display:grid;grid-template-columns:repeat(3,28px);gap:5px;align-items:center;justify-content:center;}
.site-position-cell{width:28px;height:28px;border:1px solid rgba(216,220,219,.18);border-radius:8px;background:rgba(216,220,219,.045);color:var(--titanium-300);display:grid;place-items:center;font-family:Manrope,Arial,sans-serif;font-size:.78rem;line-height:1;cursor:pointer;transition:border-color .18s var(--ease),background .18s var(--ease),box-shadow .18s var(--ease),color .18s var(--ease),transform .18s var(--ease);}
.site-position-cell:hover{border-color:rgba(216,220,219,.42);background:rgba(216,220,219,.10);transform:translateY(-1px);}
.site-position-cell.is-selected{border-color:rgba(185,154,112,.78);background:linear-gradient(135deg,rgba(185,154,112,.28),rgba(216,220,219,.08));color:var(--titanium-100);box-shadow:0 0 20px rgba(185,154,112,.14),0 0 0 1px rgba(185,154,112,.12) inset;}
.site-position-cell.is-center{cursor:not-allowed;opacity:.46;border-style:dashed;background:rgba(0,0,0,.18);font-size:.56rem;letter-spacing:.05em;color:var(--muted-text);}
#addSiteBlock:disabled{opacity:.48;cursor:not-allowed;}
@media(max-width:760px){.site-blocks-table{min-width:1220px}.site-position-picker{grid-template-columns:repeat(3,26px);gap:4px;width:86px}.site-position-cell{width:26px;height:26px;border-radius:7px}}


/* Stage 11: site editor table alignment fixes */
.site-blocks-table{min-width:1660px;table-layout:fixed;}
.site-blocks-table th,.site-blocks-table td{vertical-align:middle;}
.site-blocks-table th:nth-child(1),.site-blocks-table td:nth-child(1){width:46px;min-width:46px;text-align:center;}
.site-blocks-table th:nth-child(2),.site-blocks-table td:nth-child(2){width:120px;min-width:120px;}
.site-blocks-table th:nth-child(3),.site-blocks-table td:nth-child(3){width:140px;min-width:140px;}
.site-blocks-table th:nth-child(4),.site-blocks-table td:nth-child(4),
.site-blocks-table th:nth-child(6),.site-blocks-table td:nth-child(6){width:210px;min-width:210px;}
.site-blocks-table th:nth-child(5),.site-blocks-table td:nth-child(5),
.site-blocks-table th:nth-child(7),.site-blocks-table td:nth-child(7){width:240px;min-width:240px;}
.site-blocks-table th:nth-child(8),.site-blocks-table td:nth-child(8){width:190px;min-width:190px;}
.site-blocks-table th:nth-child(9),.site-blocks-table td:nth-child(9){width:230px;min-width:230px;}
.site-blocks-table th:nth-child(10),.site-blocks-table td:nth-child(10){width:86px;min-width:86px;text-align:center;}
.site-blocks-table .check-cell{display:table-cell!important;text-align:center!important;white-space:nowrap;}
.site-blocks-table .check-cell input{margin:0 auto;display:block;}
.site-position-picker{width:86px;grid-template-columns:repeat(3,26px);gap:4px;}
.site-position-cell{width:26px;height:26px;border-radius:7px;font-size:.72rem;}
@media(max-width:760px){.site-blocks-table{min-width:1580px}.site-blocks-table th:nth-child(10),.site-blocks-table td:nth-child(10){width:76px;min-width:76px}}

/* Stage 12: 16-position site grid + aligned color controls */
.site-blocks-table{min-width:1740px;table-layout:fixed;}
.site-blocks-table th:nth-child(2),.site-blocks-table td:nth-child(2){width:148px;min-width:148px;}
.site-blocks-table th:nth-child(9),.site-blocks-table td:nth-child(9){width:250px;min-width:250px;}
.site-blocks-table th:nth-child(10),.site-blocks-table td:nth-child(10){width:86px;min-width:86px;text-align:center;}
.site-blocks-table td{height:74px;}
.site-blocks-table .color-cell{display:flex!important;align-items:center!important;gap:10px!important;padding-top:8px!important;padding-bottom:8px!important;}
.site-blocks-table .color-cell .color-value{flex:1 1 auto;min-width:0;min-height:42px;}
.site-blocks-table .color-cell .color-picker{flex:0 0 46px;width:46px;height:42px;margin:0;align-self:center;}
.site-blocks-table .check-cell{display:table-cell!important;text-align:center!important;vertical-align:middle!important;}
.site-position-picker--16{width:128px;display:grid;grid-template-columns:repeat(5,22px);gap:4px;align-items:center;justify-content:center;}
.site-position-picker--16 .site-position-cell{width:22px;height:22px;border-radius:6px;font-size:.62rem;}
.site-position-picker--16 .site-position-cell.is-empty{border-color:transparent;background:transparent;pointer-events:none;opacity:0;box-shadow:none;}
.site-position-picker--16 .site-position-cell.is-center{font-size:.49rem;letter-spacing:.02em;}
@media(max-width:760px){.site-blocks-table{min-width:1660px}.site-position-picker--16{width:118px;grid-template-columns:repeat(5,20px);gap:3px}.site-position-picker--16 .site-position-cell{width:20px;height:20px;border-radius:5px;font-size:.56rem}.site-blocks-table th:nth-child(2),.site-blocks-table td:nth-child(2){width:136px;min-width:136px}}

/* Stage 13: position rules — restored spacing and blocked neighbor cells */
.site-position-cell.is-blocked,
.site-position-cell:disabled {
  cursor: not-allowed;
  opacity: .22;
  filter: grayscale(.65);
  background: rgba(216,220,219,.025);
  border-color: rgba(216,220,219,.10);
  box-shadow: none;
  transform: none;
}
.site-position-cell.is-blocked:hover,
.site-position-cell:disabled:hover {
  background: rgba(216,220,219,.025);
  border-color: rgba(216,220,219,.10);
  color: var(--titanium-300);
  transform: none;
}
.site-position-cell.is-selected:disabled,
.site-position-cell.is-selected.is-blocked {
  opacity: 1;
  filter: none;
  cursor: default;
}
.site-blocks-table td { height: auto; min-height: 74px; }
.site-blocks-table .color-cell {
  display: grid !important;
  grid-template-columns: minmax(126px, 1fr) 46px !important;
  align-items: center !important;
  gap: 10px !important;
}
.site-blocks-table .color-cell .color-value,
.site-blocks-table .color-cell .color-picker {
  align-self: center !important;
}


/* Stage 14: login intro moved up + site editor color alignment */
@media (min-width: 901px) {
  .auth-aside {
    justify-content: flex-start;
    gap: 0;
  }
  .auth-aside-copy {
    margin-top: clamp(68px, 9vh, 112px);
  }
  .auth-footer-note {
    margin-top: auto;
  }
}

.site-blocks-table th,
.site-blocks-table td {
  vertical-align: middle !important;
}
.site-blocks-table td.color-cell {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  min-height: 74px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}
.site-blocks-table td.color-cell .color-value,
.site-blocks-table td.color-cell .color-picker {
  align-self: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  transform: none !important;
}
.site-blocks-table td.color-cell .color-value {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.site-blocks-table td.color-cell .color-picker {
  flex: 0 0 46px !important;
  width: 46px !important;
  height: 42px !important;
}


/* Stage 15: warn-only position conflicts + fixed color alignment */
.site-position-picker-wrap{display:grid;gap:7px;justify-items:center;}
.site-position-cell.has-warning{border-color:rgba(235,82,74,.72)!important;background:rgba(235,82,74,.10)!important;color:#ffb5af!important;box-shadow:0 0 16px rgba(235,82,74,.10),0 0 0 1px rgba(235,82,74,.10) inset!important;opacity:1!important;filter:none!important;cursor:pointer!important;}
.site-position-cell.has-warning:hover{border-color:rgba(255,120,112,.92)!important;background:rgba(235,82,74,.16)!important;transform:translateY(-1px)!important;}
.site-position-cell.is-selected.has-warning{border-color:rgba(255,120,112,.98)!important;background:linear-gradient(135deg,rgba(235,82,74,.28),rgba(216,220,219,.07))!important;box-shadow:0 0 22px rgba(235,82,74,.18),0 0 0 1px rgba(235,82,74,.18) inset!important;}
.site-position-warning{font-family:Manrope,Arial,sans-serif;font-size:.56rem;letter-spacing:.10em;text-transform:uppercase;color:#ffaaa4;text-align:center;line-height:1.25;max-width:130px;}
.site-blocks-table td.color-cell{display:table-cell!important;vertical-align:middle!important;padding-top:12px!important;padding-bottom:12px!important;height:74px!important;min-height:0!important;}
.site-blocks-table td.color-cell .color-controls{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:100%!important;height:42px!important;margin:0!important;}
.site-blocks-table td.color-cell .color-controls .color-value{flex:1 1 auto!important;min-width:0!important;height:42px!important;min-height:42px!important;margin:0!important;align-self:center!important;}
.site-blocks-table td.color-cell .color-controls .color-picker{flex:0 0 46px!important;width:46px!important;height:42px!important;margin:0!important;align-self:center!important;display:block!important;}

/* Stage 16 page-data editor */
.page-data-card {
  margin-top: 22px;
}
.page-data-card h3 {
  margin: 0 0 14px;
  font-size: 0.98rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text);
}
.page-data-card .section-note {
  margin-bottom: 18px;
}
.inline-actions {
  justify-content: flex-start;
  margin: 16px 0 0;
}
.table-wrap {
  overflow-x: auto;
}
.page-data-table {
  min-width: 1320px;
}
.portfolio-company-table {
  min-width: 980px;
}
.portfolio-work-table {
  min-width: 1720px;
}
.page-data-table .table-input,
.portfolio-company-table .table-input,
.portfolio-work-table .table-input {
  min-height: 38px;
  width: 100%;
  font-size: .84rem;
  padding: 8px 10px;
}
.page-data-table td,
.portfolio-company-table td,
.portfolio-work-table td {
  vertical-align: top;
}
.page-data-table .mini-btn,
.portfolio-company-table .mini-btn,
.portfolio-work-table .mini-btn {
  white-space: nowrap;
}

/* Stage 20: split super-admin website management by page */
.page-management-selector{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:18px 0;
  padding:16px 18px;
  border:1px solid rgba(196,202,204,.14);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(216,220,219,.045),rgba(5,6,7,.22));
}
.page-management-selector label{
  font-family:Manrope,Arial,sans-serif;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted-text);
}
.page-management-selector select{
  max-width:420px;
  min-height:44px;
}
.site-editor-section-hidden{display:none!important;}
.client-logo-table{min-width:920px;}
.client-logo-table th:nth-child(1),.client-logo-table td:nth-child(1){width:52px;text-align:center;}
.client-logo-table th:nth-child(2),.client-logo-table td:nth-child(2){min-width:320px;}
.client-logo-table th:nth-child(3),.client-logo-table td:nth-child(3){min-width:320px;}
.client-logo-table th:nth-child(4),.client-logo-table td:nth-child(4){width:110px;}
.client-logo-table th:nth-child(5),.client-logo-table td:nth-child(5){width:86px;text-align:center;}
@media(max-width:720px){.page-management-selector{align-items:stretch;flex-direction:column}.page-management-selector select{max-width:none;width:100%}}

.portal-button.mini {
  min-height: 32px;
  padding: 7px 10px;
  font-size: 10px;
  letter-spacing: .12em;
  white-space: nowrap;
}
.row-action-cell {
  white-space: nowrap;
}

/* Stage: file manager refinements */
.portal-button.mini{min-height:34px;padding:0 12px;font-size:.72rem;border-radius:11px;}
.portal-button.mini.danger{border-color:rgba(255,201,196,.26);color:#ffd5d0;background:rgba(255,120,110,.06);}
.drive-selection-box{position:fixed;z-index:1400;border:1px solid rgba(216,220,219,.44);background:rgba(216,220,219,.08);box-shadow:0 0 30px rgba(216,220,219,.07);border-radius:10px;pointer-events:none;}
body.is-drive-selecting{user-select:none;}
.drive-item.is-system-item::after{content:"SITE";position:absolute;top:10px;right:10px;font-family:Manrope,Arial,sans-serif;font-size:.54rem;letter-spacing:.12em;color:rgba(216,220,219,.48);border:1px solid rgba(216,220,219,.12);border-radius:999px;padding:3px 6px;background:rgba(0,0,0,.28);}
.drive-item.is-system-item .item-preview{border-color:rgba(185,154,112,.18);background:radial-gradient(circle at 50% 20%,rgba(185,154,112,.12),rgba(216,220,219,.03) 44%,rgba(4,5,5,.34)),linear-gradient(145deg,rgba(216,220,219,.08),rgba(4,5,5,.16));}
.site-management-hint span,.panel-desc{display:none!important;}

/* Stage 21: hosted folders, duplicate dialog and access settings */
#deleteSelectedItems{display:none!important;}
.context-selection-title{position:relative;padding:8px 12px 12px;font-family:Manrope,Arial,sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--titanium-300);}
.item-preview img{width:100%;height:100%;object-fit:contain;background:rgba(4,5,5,.30);padding:5px;}
.view-list .item-preview img{padding:2px;}
.file-preview-body{padding:16px;}
.file-preview-image{display:block;width:auto!important;height:auto!important;max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;box-shadow:0 20px 70px rgba(0,0,0,.28);background:rgba(4,5,5,.36);}
.file-preview-video{width:auto!important;height:auto!important;max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;background:#000;}
.drive-drop-zone.is-internal-dragover{border-color:rgba(185,154,112,.58);box-shadow:0 0 0 1px rgba(185,154,112,.10) inset,0 0 36px rgba(185,154,112,.08);}
.drive-item.is-drop-target{border-color:rgba(185,154,112,.72)!important;box-shadow:0 0 0 1px rgba(185,154,112,.18) inset,0 20px 48px rgba(185,154,112,.10)!important;}
.drive-modal[hidden]{display:none!important;}
.drive-modal{position:fixed;inset:0;z-index:1800;display:grid;place-items:center;padding:26px;}
.drive-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.66);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.drive-modal-shell{position:relative;width:min(560px,calc(100vw - 42px));max-height:calc(100vh - 42px);overflow:auto;border:1px solid rgba(216,220,219,.22);border-radius:26px;background:radial-gradient(circle at 18% 0%,rgba(255,255,255,.13),transparent 28%),linear-gradient(145deg,rgba(24,27,28,.86),rgba(6,7,8,.78));box-shadow:0 35px 90px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.08) inset,0 0 48px rgba(216,220,219,.08);backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%);padding:28px;animation:previewIn .18s var(--ease) both;}
.drive-modal-shell:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,rgba(255,255,255,.10),transparent 34%,rgba(185,154,112,.07) 68%,transparent);pointer-events:none;}
.drive-modal-close{position:absolute;right:16px;top:16px;width:38px;height:38px;border:1px solid rgba(216,220,219,.18);border-radius:999px;background:rgba(4,5,5,.34);color:var(--titanium-200);font-size:1.3rem;line-height:1;cursor:pointer;z-index:1;}
.drive-modal-close:hover{border-color:rgba(216,220,219,.48);color:var(--titanium-100);}
.drive-modal-head{position:relative;display:grid;gap:8px;margin:0 46px 22px 0;}
.drive-modal-head span{font-family:Manrope,Arial,sans-serif;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--warm-accent);}
.drive-modal-head h3{margin:0;font-family:Manrope,Arial,sans-serif;font-size:1.36rem;font-weight:300;letter-spacing:-.02em;color:var(--titanium-100);}
.drive-modal-head p{margin:0;color:var(--muted-text);line-height:1.55;}
.access-form{position:relative;display:grid;gap:16px;}
.access-check{display:flex;align-items:center;gap:11px;min-height:46px;padding:0 14px;border:1px solid rgba(216,220,219,.14);border-radius:14px;background:rgba(216,220,219,.055);color:var(--titanium-200);cursor:pointer;}
.access-check input{width:18px;height:18px;accent-color:var(--warm-accent);}
.access-link-row{display:grid;grid-template-columns:minmax(0,1fr)auto;gap:10px;align-items:center;}
.access-link-row .table-input{min-width:0;color:var(--titanium-300);}
.drive-modal-actions{position:relative;display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap;}
.duplicate-list{position:relative;display:grid;gap:8px;margin:16px 0;padding:12px;border:1px solid rgba(216,220,219,.12);border-radius:16px;background:rgba(4,5,5,.30);max-height:178px;overflow:auto;}
.duplicate-list div{padding:9px 10px;border:1px solid rgba(216,220,219,.08);border-radius:11px;background:rgba(216,220,219,.045);color:var(--titanium-200);font-size:.88rem;word-break:break-word;}
@media(max-width:720px){.drive-modal{padding:12px}.drive-modal-shell{width:calc(100vw - 24px);padding:22px;border-radius:20px}.access-link-row{grid-template-columns:1fr}.drive-modal-actions{display:grid;grid-template-columns:1fr}.drive-modal-actions .portal-button{width:100%;}}

/* Stage 22: full-height image viewer — no cropping in file manager */
.file-preview-shell{
  min-height:0!important;
}
.file-preview-body{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.file-preview-body > img.file-preview-image,
.file-preview-body > .file-preview-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.file-preview-body > video.file-preview-video,
.file-preview-body > .file-preview-video{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
